" + text, "Central Command", "Station Announcements", null)
- announcement += " [html_encode(text)] "
+ ///If the announcer overrides alert messages, use that message.
+ // if(SSstation.announcer.custom_alert_message && !has_important_message)
+ // announcement += SSstation.announcer.custom_alert_message
+ // else
+ announcement += " [span_alert("[html_encode(text)]")] "
announcement += " "
var/s = sound(get_announcer_sound(sound))
@@ -127,12 +133,44 @@
if("welcome")
. = 'sound/announcer/medibot/welcome.ogg'
+/**
+ * Summon the crew for an emergency meeting
+ *
+ * Teleports the crew to a specified area, and tells everyone (via an announcement) who called the meeting. Should only be used during april fools!
+ * Arguments:
+ * * user - Mob who called the meeting
+ * * button_zone - Area where the meeting was called and where everyone will get teleported to
+ */
+/proc/call_emergency_meeting(mob/living/user, area/button_zone)
+ var/meeting_sound = sound('sound/misc/emergency_meeting.ogg')
+ var/announcement
+ announcement += "
Captain Alert
"
+ announcement += " [span_alert("[user] has called an Emergency Meeting!")]
"
+
+ for(var/mob/mob_to_teleport in GLOB.player_list) //gotta make sure the whole crew's here!
+ if(isnewplayer(mob_to_teleport) || iscameramob(mob_to_teleport))
+ continue
+ to_chat(mob_to_teleport, announcement)
+ SEND_SOUND(mob_to_teleport, meeting_sound) //no preferences here, you must hear the funny sound
+ mob_to_teleport.overlay_fullscreen("emergency_meeting", /atom/movable/screen/fullscreen/scaled/emergency_meeting, 1)
+ addtimer(CALLBACK(mob_to_teleport, /mob/.proc/clear_fullscreen, "emergency_meeting"), 3 SECONDS)
+
+ if (is_station_level(mob_to_teleport.z)) //teleport the mob to the crew meeting
+ var/turf/target
+ var/list/turf_list = get_area_turfs(button_zone)
+ while (!target && turf_list.len)
+ target = pick_n_take(turf_list)
+ if (isclosedturf(target))
+ target = null
+ continue
+ mob_to_teleport.forceMove(target)
+
/proc/print_command_report(text = "", title = null, announce=TRUE)
if(!title)
title = "Classified [command_name()] Update"
if(announce)
- priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", "commandreport")
+ priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", "commandreport", has_important_message = TRUE)
var/datum/comm_message/M = new
M.title = title
@@ -140,13 +178,17 @@
SScommunications.send_message(M)
-/proc/minor_announce(message, title = "Attention:", alert)
+/proc/minor_announce(message, title = "Attention:", alert, html_encode = TRUE)
if(!message)
return
+ if (html_encode)
+ title = html_encode(title)
+ message = html_encode(message)
+
for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M) && M.can_hear())
- to_chat(M, "[html_encode(title)] [html_encode(message)] ")
+ to_chat(M, "[span_minorannounce("[title] [message]")] ")
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
if(alert)
SEND_SOUND(M, sound('sound/misc/notice1.ogg'))
diff --git a/code/__HELPERS/radio.dm b/code/__HELPERS/radio.dm
index dc52299025..e761a3a23c 100644
--- a/code/__HELPERS/radio.dm
+++ b/code/__HELPERS/radio.dm
@@ -1,4 +1,4 @@
-// Ensure the frequency is within bounds of what it should be sending/receiving at
+/// Ensure the frequency is within bounds of what it should be sending/receiving at
/proc/sanitize_frequency(frequency, free = FALSE)
frequency = round(frequency)
if(free)
@@ -8,12 +8,26 @@
if(!(. % 2)) // Ensure the last digit is an odd number
. += 1
-// Format frequency by moving the decimal.
+/// Format frequency by moving the decimal.
/proc/format_frequency(frequency)
frequency = text2num(frequency)
return "[round(frequency / 10)].[frequency % 10]"
-//Opposite of format, returns as a number
+///Opposite of format, returns as a number
/proc/unformat_frequency(frequency)
frequency = text2num(frequency)
return frequency * 10
+
+///returns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
+/proc/return_unused_frequency(free = FALSE)
+ var/start = free ? MIN_FREE_FREQ : MIN_FREQ
+ var/end = free ? MAX_FREE_FREQ : MAX_FREQ
+
+ var/freq_to_check = 0
+ do
+ freq_to_check = rand(start, end)
+ if(!(freq_to_check % 2)) // Ensure the last digit is an odd number
+ freq_to_check++
+ while((freq_to_check == 0) || ("[freq_to_check]" in GLOB.reverseradiochannels))
+
+ return freq_to_check
diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 21e41584a2..2f7dd7a64f 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -590,8 +590,8 @@
var/list/all_teams = list()
var/list/all_antagonists = list()
- // for(var/datum/team/A in GLOB.antagonist_teams)
- // all_teams |= A
+ for(var/datum/team/A in GLOB.antagonist_teams)
+ all_teams |= A
for(var/datum/antagonist/A in GLOB.antagonists)
if(!A.owner)
diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm
index 87187a4c3d..36de9d281b 100644
--- a/code/__HELPERS/type2type.dm
+++ b/code/__HELPERS/type2type.dm
@@ -591,9 +591,9 @@
switch(child)
if(/datum)
return null
- if(/obj || /mob)
+ if(/obj, /mob)
return /atom/movable
- if(/area || /turf)
+ if(/area, /turf)
return /atom
else
return /datum
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 9fee97bbb1..1a8852a721 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -663,10 +663,10 @@ Turf and target are separate in case you want to teleport some distance from a t
return locate(final_x, final_y, T.z)
//Finds the distance between two atoms, in pixels
-//centered = 0 counts from turf edge to edge
-//centered = 1 counts from turf center to turf center
+//centered = FALSE counts from turf edge to edge
+//centered = TRUE counts from turf center to turf center
//of course mathematically this is just adding world.icon_size on again
-/proc/getPixelDistance(atom/A, atom/B, centered = 1)
+/proc/getPixelDistance(atom/A, atom/B, centered = TRUE)
if(!istype(A)||!istype(B))
return 0
. = bounds_dist(A, B) + sqrt((((A.pixel_x+B.pixel_x)**2) + ((A.pixel_y+B.pixel_y)**2)))
diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm
index 0110d43e04..599f90b0af 100644
--- a/code/_globalvars/lists/flavor_misc.dm
+++ b/code/_globalvars/lists/flavor_misc.dm
@@ -216,7 +216,13 @@ GLOBAL_LIST_INIT(jumpsuitlist, list(PREF_SUIT, PREF_SKIRT))
#define UPLINK_PDA "PDA"
#define UPLINK_RADIO "Radio"
#define UPLINK_PEN "Pen" //like a real spy!
-GLOBAL_LIST_INIT(uplink_spawn_loc_list, list(UPLINK_PDA, UPLINK_RADIO, UPLINK_PEN))
+#define UPLINK_IMPLANT "Implant"
+#define UPLINK_IMPLANT_WITH_PRICE "[UPLINK_IMPLANT] (-[UPLINK_IMPLANT_TELECRYSTAL_COST] TC)"
+// What we show to the user
+GLOBAL_LIST_INIT(uplink_spawn_loc_list, list(UPLINK_PDA, UPLINK_RADIO, UPLINK_PEN, UPLINK_IMPLANT_WITH_PRICE))
+// What is actually saved; if the uplink implant price changes, it won't affect save files then
+GLOBAL_LIST_INIT(uplink_spawn_loc_list_save, list(UPLINK_PDA, UPLINK_RADIO, UPLINK_PEN, UPLINK_IMPLANT))
+
//List of cached alpha masked icons.
GLOBAL_LIST_EMPTY(alpha_masked_worn_icons)
diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm
index 53448a284a..5cbfd9f212 100644
--- a/code/_globalvars/lists/mobs.dm
+++ b/code/_globalvars/lists/mobs.dm
@@ -52,6 +52,8 @@ GLOBAL_LIST_EMPTY(current_observers_list)
//Dynamic Port
GLOBAL_LIST_EMPTY(new_player_list) //all /mob/dead/new_player, in theory all should have clients and those that don't are in the process of spawning and get deleted when done.
+//Family Port
+GLOBAL_LIST_EMPTY(pre_setup_antags) //minds that have been picked as antag by the gamemode. removed as antag datums are set.
/proc/update_config_movespeed_type_lookup(update_mobs = TRUE)
// NOTE: This is entirely based on the fact that byond typesof/subtypesof gets longer/deeper paths before shallower ones.
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index 9abc37c7e4..14969e6c92 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -19,7 +19,6 @@ GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction d
GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id.
GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path.
-GLOBAL_LIST_EMPTY(uplink_items) //list of all uplink item typepaths, ascendingly sorted by their initial name.
GLOBAL_LIST_EMPTY(uplink_categories) //list of all uplink categories, listed by the order they are loaded in code. Be careful.
GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes
GLOBAL_LIST_EMPTY(rcd_list) //list of Rapid Construction Devices.
diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm
index 78d802dbbf..843eab6fb0 100644
--- a/code/_globalvars/logging.dm
+++ b/code/_globalvars/logging.dm
@@ -2,6 +2,9 @@ GLOBAL_VAR(log_directory)
GLOBAL_PROTECT(log_directory)
GLOBAL_VAR(world_game_log)
GLOBAL_PROTECT(world_game_log)
+/// Log associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.
+GLOBAL_VAR(world_suspicious_login_log)
+GLOBAL_PROTECT(world_suspicious_login_log)
GLOBAL_VAR(world_runtime_log)
GLOBAL_PROTECT(world_runtime_log)
GLOBAL_VAR(world_qdel_log)
diff --git a/code/_globalvars/tgui.dm b/code/_globalvars/tgui.dm
new file mode 100644
index 0000000000..1a2c46c10d
--- /dev/null
+++ b/code/_globalvars/tgui.dm
@@ -0,0 +1 @@
+GLOBAL_DATUM(changelog_tgui, /datum/changelog)
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index bbe801cfc2..4a8156d268 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -38,6 +38,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD,
"TRAIT_RESISTHIGHPRESSURE" = TRAIT_RESISTHIGHPRESSURE,
"TRAIT_RESISTLOWPRESSURE" = TRAIT_RESISTLOWPRESSURE,
+ "TRAIT_LOWPRESSURECOOLING" = TRAIT_LOWPRESSURECOOLING,
"TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE,
"TRAIT_RADIMMUNE" = TRAIT_RADIMMUNE,
"TRAIT_GENELESS" = TRAIT_GENELESS,
@@ -55,6 +56,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_ROBOTIC_ORGANISM" = TRAIT_ROBOTIC_ORGANISM,
"TRAIT_ROBOT_RADSHIELDING" = TRAIT_ROBOT_RADSHIELDING,
"TRAIT_NOBREATH" = TRAIT_NOBREATH,
+ "TRAIT_AUXILIARY_LUNGS" = TRAIT_AUXILIARY_LUNGS,
"TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC,
"TRAIT_HOLY" = TRAIT_HOLY,
"TRAIT_DEPRESSION" = TRAIT_DEPRESSION,
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 1b72cc71b1..773adc061f 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -470,51 +470,6 @@
else
setDir(WEST, ismousemovement)
-//debug
-/atom/movable/screen/proc/scale_to(x1,y1)
- if(!y1)
- y1 = x1
- var/matrix/M = new
- M.Scale(x1,y1)
- transform = M
-
-/atom/movable/screen/click_catcher
- icon = 'icons/mob/screen_gen.dmi'
- icon_state = "catcher"
- plane = CLICKCATCHER_PLANE
- mouse_opacity = MOUSE_OPACITY_OPAQUE
- screen_loc = "CENTER"
-
-#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size)
-#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose.
-
-/atom/movable/screen/click_catcher/proc/UpdateGreed(view_size_x = 15, view_size_y = 15)
- var/icon/newicon = icon('icons/mob/screen_gen.dmi', "catcher")
- var/ox = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_x)
- var/oy = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_y)
- var/px = view_size_x * world.icon_size
- var/py = view_size_y * world.icon_size
- var/sx = min(MAX_SAFE_BYOND_ICON_SCALE_PX, px)
- var/sy = min(MAX_SAFE_BYOND_ICON_SCALE_PX, py)
- newicon.Scale(sx, sy)
- icon = newicon
- screen_loc = "CENTER-[(ox-1)*0.5],CENTER-[(oy-1)*0.5]"
- var/matrix/M = new
- M.Scale(px/sx, py/sy)
- transform = M
-
-/atom/movable/screen/click_catcher/Click(location, control, params)
- var/list/modifiers = params2list(params)
- if(modifiers["middle"] && iscarbon(usr))
- var/mob/living/carbon/C = usr
- C.swap_hand()
- else
- var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr.client ? usr.client.eye : usr), usr.client)
- params += "&catcher=1"
- if(T)
- T.Click(location, control, params)
- . = 1
-
/* MouseWheelOn */
/mob/proc/MouseWheelOn(atom/A, delta_x, delta_y, params)
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index d1fff25dae..f8dfc703f0 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -176,9 +176,6 @@
#define ui_ghost_mafia "SOUTH: 6, CENTER+2:24"
#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24" // LEGACY. SAME LOC AS PAI
-// #define ui_wanted_lvl "NORTH,11"
-
-
//UI position overrides for 1:1 screen layout. (default is 7:5)
#define ui_stamina "EAST-1:28,CENTER:17" // replacing internals button
#define ui_overridden_resist "EAST-3:24,SOUTH+1:7"
@@ -190,3 +187,5 @@
#define ui_boxarea "EAST-4:6,SOUTH+1:6"
#define ui_boxlang "EAST-5:22,SOUTH+1:6"
#define ui_boxvore "EAST-5:22,SOUTH+1:6"
+
+#define ui_wanted_lvl "NORTH,11"
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index ed4c91dd9b..f74d380b8a 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -2,9 +2,6 @@
//PUBLIC - call these wherever you want
-
-/mob/proc/throw_alert(category, type, severity, obj/new_master, override = FALSE)
-
/* Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already
category is a text string. Each mob may only have one alert per category; the previous one will be replaced
path is a type path of the actual alert type to throw
@@ -14,6 +11,7 @@
Clicks are forwarded to master
Override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.
*/
+/mob/proc/throw_alert(category, type, severity, obj/new_master, override = FALSE)
if(!category || QDELETED(src))
return
@@ -42,7 +40,7 @@
thealert.override_alerts = override
if(override)
thealert.timeout = null
- thealert.mob_viewer = src
+ thealert.owner = src
if(new_master)
var/old_layer = new_master.layer
@@ -97,8 +95,10 @@
var/severity = 0
var/alerttooltipstyle = ""
var/override_alerts = FALSE //If it is overriding other alerts of the same type
- var/mob/mob_viewer //the mob viewing this alert
+ var/mob/owner //Alert owner
+ /// Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
+ var/click_master = TRUE
/atom/movable/screen/alert/MouseEntered(location,control,params)
if(!QDELETED(src))
@@ -251,6 +251,8 @@ or something covering your eyes."
/atom/movable/screen/alert/mind_control/Click()
var/mob/living/L = usr
+ if(L != owner)
+ return
to_chat(L, "[command]")
/atom/movable/screen/alert/hypnosis
@@ -271,7 +273,7 @@ If you're feeling frisky, examine yourself and click the underlined item to pull
icon_state = "embeddedobject"
/atom/movable/screen/alert/embeddedobject/Click()
- if(isliving(usr))
+ if(isliving(usr) && usr == owner)
var/mob/living/carbon/M = usr
return M.help_shake_act(M)
@@ -300,7 +302,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
/atom/movable/screen/alert/fire/Click()
var/mob/living/L = usr
- if(!istype(L) || !L.can_resist())
+ if(!istype(L) || !L.can_resist() || L != owner)
return
L.MarkResistTime()
if(CHECK_MOBILITY(L, MOBILITY_MOVE))
@@ -308,37 +310,110 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
/atom/movable/screen/alert/give // information set when the give alert is made
icon_state = "default"
- var/mob/living/carbon/giver
+ var/mob/living/carbon/offerer
var/obj/item/receiving
/**
- * Handles assigning most of the variables for the alert that pops up when an item is offered
- *
- * Handles setting the name, description and icon of the alert and tracking the person giving
- * and the item being offered, also registers a signal that removes the alert from anyone who moves away from the giver
- * Arguments:
- * * taker - The person receiving the alert
- * * giver - The person giving the alert and item
- * * receiving - The item being given by the giver
- */
-/atom/movable/screen/alert/give/proc/setup(mob/living/carbon/taker, mob/living/carbon/giver, obj/item/receiving)
- name = "[giver] is offering [receiving]"
- desc = "[giver] is offering [receiving]. Click this alert to take it."
+ * Handles assigning most of the variables for the alert that pops up when an item is offered
+ *
+ * Handles setting the name, description and icon of the alert and tracking the person giving
+ * and the item being offered, also registers a signal that removes the alert from anyone who moves away from the offerer
+ * Arguments:
+ * * taker - The person receiving the alert
+ * * offerer - The person giving the alert and item
+ * * receiving - The item being given by the offerer
+ */
+/atom/movable/screen/alert/give/proc/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
+ name = "[offerer] is offering [receiving]"
+ desc = "[offerer] is offering [receiving]. Click this alert to take it."
icon_state = "template"
cut_overlays()
add_overlay(receiving)
src.receiving = receiving
- src.giver = giver
- RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/removeAlert)
-
-/atom/movable/screen/alert/give/proc/removeAlert()
- to_chat(usr, "You moved out of range of [giver]!")
- usr.clear_alert("[giver]")
+ src.offerer = offerer
+ RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/check_in_range, override = TRUE) //Override to prevent runtimes when people offer a item multiple times
/atom/movable/screen/alert/give/Click(location, control, params)
. = ..()
- var/mob/living/carbon/C = usr
- C.take(giver, receiving)
+ if(!.)
+ return
+ if(!iscarbon(usr))
+ CRASH("User for [src] is of type \[[usr.type]\]. This should never happen.")
+ handle_transfer()
+
+/// An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
+/atom/movable/screen/alert/give/proc/handle_transfer()
+ var/mob/living/carbon/taker = owner
+ taker.take(offerer, receiving)
+
+/// Simply checks if the other person is still in range
+/atom/movable/screen/alert/give/proc/check_in_range(atom/taker)
+ SIGNAL_HANDLER
+
+ if(!offerer.CanReach(taker))
+ to_chat(owner, span_warning("You moved out of range of [offerer]!"))
+ owner.clear_alert("[offerer]")
+
+/atom/movable/screen/alert/give/highfive/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
+ . = ..()
+ name = "[offerer] is offering a high-five!"
+ desc = "[offerer] is offering a high-five! Click this alert to slap it."
+ RegisterSignal(offerer, COMSIG_PARENT_EXAMINE_MORE, .proc/check_fake_out)
+
+/atom/movable/screen/alert/give/highfive/handle_transfer()
+ var/mob/living/carbon/taker = owner
+ if(receiving && (receiving in offerer.held_items))
+ receiving.on_offer_taken(offerer, taker)
+ return
+ too_slow_p1()
+
+/// If the person who offered the high five no longer has it when we try to accept it, we get pranked hard
+/atom/movable/screen/alert/give/highfive/proc/too_slow_p1()
+ var/mob/living/carbon/rube = owner
+ if(!rube || !offerer)
+ qdel(src)
+ return
+
+ offerer.visible_message(span_notice("[rube] rushes in to high-five [offerer], but-"), span_nicegreen("[rube] falls for your trick just as planned, lunging for a high-five that no longer exists! Classic!"), ignored_mobs=rube)
+ to_chat(rube, span_nicegreen("You go in for [offerer]'s high-five, but-"))
+ addtimer(CALLBACK(src, .proc/too_slow_p2, offerer, rube), 0.5 SECONDS)
+
+/// Part two of the ultimate prank
+/atom/movable/screen/alert/give/highfive/proc/too_slow_p2()
+ var/mob/living/carbon/rube = owner
+ if(!rube || !offerer)
+ qdel(src)
+ return
+
+ offerer.visible_message(span_danger("[offerer] pulls away from [rube]'s slap at the last second, dodging the high-five entirely!"), span_nicegreen("[rube] fails to make contact with your hand, making an utter fool of [rube.p_them()]self!"), span_hear("You hear a disappointing sound of flesh not hitting flesh!"), ignored_mobs=rube)
+ var/all_caps_for_emphasis = uppertext("NO! [offerer] PULLS [offerer.p_their()] HAND AWAY FROM YOURS! YOU'RE TOO SLOW!")
+ to_chat(rube, span_userdanger("[all_caps_for_emphasis]"))
+ playsound(offerer, 'sound/weapons/thudswoosh.ogg', 100, TRUE, 1)
+ rube.Knockdown(1 SECONDS)
+ SEND_SIGNAL(offerer, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/down_low)
+ SEND_SIGNAL(rube, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/too_slow)
+ qdel(src)
+
+/// If someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways
+/atom/movable/screen/alert/give/highfive/proc/check_fake_out(datum/source, mob/user, list/examine_list)
+ SIGNAL_HANDLER
+
+ if(!receiving)
+ examine_list += "[span_warning("[offerer]'s arm appears tensed up, as if [offerer.p_they()] plan on pulling it back suddenly...")]\n"
+
+/// Families handshakes
+/atom/movable/screen/alert/give/secret_handshake
+ icon_state = "default"
+
+/atom/movable/screen/alert/give/secret_handshake/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
+ name = "[offerer] is offering a Handshake"
+ desc = "[offerer] wants to teach you the Secret Handshake for their Family and induct you! Click on this alert to accept."
+ icon_state = "template"
+ cut_overlays()
+ add_overlay(receiving)
+ src.receiving = receiving
+ src.offerer = offerer
+ RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/check_in_range, override = TRUE) //Override to prevent runtimes when people offer a item multiple times
//ALIENS
@@ -393,10 +468,10 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
/atom/movable/screen/alert/bloodsense/process()
var/atom/blood_target
- if(!mob_viewer.mind)
+ if(!owner.mind)
return
- var/datum/antagonist/cult/antag = mob_viewer.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
+ var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
if(!antag?.cult_team)
return
var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives
@@ -433,7 +508,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
add_overlay(narnar)
return
var/turf/P = get_turf(blood_target)
- var/turf/Q = get_turf(mob_viewer)
+ var/turf/Q = get_turf(owner)
if(!P || !Q || (P.z != Q.z)) //The target is on a different Z level, we cannot sense that far.
icon_state = "runed_sense2"
desc = "You can no longer sense your target's presence."
@@ -497,7 +572,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
for(var/mob/living/L in GLOB.alive_mob_list)
if(is_servant_of_ratvar(L))
servants++
- var/datum/antagonist/clockcult/C = mob_viewer.mind.has_antag_datum(/datum/antagonist/clockcult,TRUE)
+ var/datum/antagonist/clockcult/C = owner.mind.has_antag_datum(/datum/antagonist/clockcult,TRUE)
if(C && C.clock_team)
textlist += "[C.clock_team.eminence ? "There is an Eminence." : "There is no Eminence! Get one ASAP!"] "
textlist += "There are currently [servants] servant[servants > 1 ? "s" : ""] of Ratvar. "
@@ -595,7 +670,7 @@ so as to remain in compliance with the most up-to-date laws."
var/atom/target = null
/atom/movable/screen/alert/hackingapc/Click()
- if(!usr || !usr.client)
+ if(!usr || !usr.client || usr != owner)
return
if(!target)
return
@@ -621,7 +696,7 @@ so as to remain in compliance with the most up-to-date laws."
timeout = 300
/atom/movable/screen/alert/notify_cloning/Click()
- if(!usr || !usr.client)
+ if(!usr || !usr.client || usr != owner)
return
var/mob/dead/observer/G = usr
G.reenter_corpse()
@@ -635,7 +710,7 @@ so as to remain in compliance with the most up-to-date laws."
var/action = NOTIFY_JUMP
/atom/movable/screen/alert/notify_action/Click()
- if(!usr || !usr.client)
+ if(!usr || !usr.client || usr != owner)
return
if(!target)
return
@@ -669,14 +744,14 @@ so as to remain in compliance with the most up-to-date laws."
/atom/movable/screen/alert/restrained/Click()
var/mob/living/L = usr
- if(!istype(L) || !L.can_resist())
+ if(!istype(L) || !L.can_resist() || L != owner)
return
L.MarkResistTime()
return L.resist_restraints()
/atom/movable/screen/alert/restrained/buckled/Click()
var/mob/living/L = usr
- if(!istype(L) || !L.can_resist())
+ if(!istype(L) || !L.can_resist() || L != owner)
return
L.MarkResistTime()
return L.resist_buckle()
@@ -693,7 +768,7 @@ so as to remain in compliance with the most up-to-date laws."
/atom/movable/screen/alert/shoes/Click()
var/mob/living/carbon/C = usr
- if(!istype(C) || !C.can_resist() || C != mob_viewer || !C.shoes)
+ if(!istype(C) || !C.can_resist() || C != owner || !C.shoes)
return
C.MarkResistTime()
C.shoes.handle_tying(C)
@@ -701,11 +776,14 @@ so as to remain in compliance with the most up-to-date laws."
// PRIVATE = only edit, use, or override these if you're editing the system as a whole
// Re-render all alerts - also called in /datum/hud/show_hud() because it's needed there
-/datum/hud/proc/reorganize_alerts()
+/datum/hud/proc/reorganize_alerts(mob/viewmob)
+ var/mob/screenmob = viewmob || mymob
+ if(!screenmob.client)
+ return
var/list/alerts = mymob.alerts
if(!hud_shown)
for(var/i = 1, i <= alerts.len, i++)
- mymob.client.screen -= alerts[alerts[i]]
+ screenmob.client.screen -= alerts[alerts[i]]
return 1
for(var/i = 1, i <= alerts.len, i++)
var/atom/movable/screen/alert/alert = alerts[alerts[i]]
@@ -725,22 +803,29 @@ so as to remain in compliance with the most up-to-date laws."
else
. = ""
alert.screen_loc = .
- mymob.client.screen |= alert
+ screenmob.client.screen |= alert
+ if(!viewmob)
+ for(var/M in mymob.observers)
+ reorganize_alerts(M)
return 1
/atom/movable/screen/alert/Click(location, control, params)
if(!usr || !usr.client)
- return
+ return FALSE
+ if(usr != owner)
+ return FALSE
var/paramslist = params2list(params)
if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat
to_chat(usr, "[name] - [desc]")
- return
- if(master)
+ return FALSE
+ if(master && click_master)
return usr.client.Click(master, location, control, params)
+
+ return TRUE
/atom/movable/screen/alert/Destroy()
. = ..()
severity = 0
master = null
- mob_viewer = null
+ owner = null
screen_loc = ""
diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm
index 974f158323..aaf423ecbc 100644
--- a/code/_onclick/hud/credits.dm
+++ b/code/_onclick/hud/credits.dm
@@ -44,7 +44,7 @@
icon = I
parent = P
icon_state = credited
- maptext = credited
+ maptext = MAPTEXT(credited)
maptext_x = world.icon_size + 8
maptext_y = (world.icon_size / 2) - 4
maptext_width = world.icon_size * 3
diff --git a/code/_onclick/hud/families.dm b/code/_onclick/hud/families.dm
new file mode 100644
index 0000000000..eb09d53bc1
--- /dev/null
+++ b/code/_onclick/hud/families.dm
@@ -0,0 +1,27 @@
+/atom/movable/screen/wanted
+ name = "Space Police Alertness"
+ desc = "Shows the current level of hostility the space police is planning to rain down on you. Better be careful."
+ icon = 'icons/obj/gang/wanted_160x32.dmi'
+ icon_state = "wanted_0"
+ screen_loc = ui_wanted_lvl
+ /// Wanted level, affects the hud icon. Level 0 is default, and the level 0 icon is blank, so in case of no families gamemode (and thus no wanted level), this HUD element will never appear.
+ level = 2
+ /// Boolean, have the cops arrived? If so, the icon stops changing and remains the same.
+ var/cops_arrived = 0
+
+/atom/movable/screen/wanted/New()
+ return ..()
+
+/atom/movable/screen/wanted/Initialize()
+ . = ..()
+ update_icon()
+
+/atom/movable/screen/wanted/MouseEntered(location,control,params)
+ openToolTip(usr,src,params,title = name,content = desc, theme = "alerttooltipstyle")
+
+/atom/movable/screen/wanted/MouseExited()
+ closeToolTip(usr)
+
+/atom/movable/screen/wanted/update_icon_state()
+ . = ..()
+ icon_state = "wanted_[level][cops_arrived ? "_active" : ""]"
diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
deleted file mode 100644
index a7247ccf09..0000000000
--- a/code/_onclick/hud/fullscreen.dm
+++ /dev/null
@@ -1,186 +0,0 @@
-/mob/proc/overlay_fullscreen(category, type, severity)
- var/atom/movable/screen/fullscreen/screen = screens[category]
- if (!screen || screen.type != type)
- // needs to be recreated
- clear_fullscreen(category, FALSE)
- screens[category] = screen = new type()
- else if ((!severity || severity == screen.severity) && (!client || screen.screen_loc != "CENTER-7,CENTER-7" || screen.view == client.view))
- // doesn't need to be updated
- return screen
-
- screen.icon_state = "[initial(screen.icon_state)][severity]"
- screen.severity = severity
- if (client && screen.should_show_to(src))
- screen.update_for_view(client.view)
- client.screen += screen
-
- return screen
-
-/mob/proc/clear_fullscreen(category, animated = 10)
- var/atom/movable/screen/fullscreen/screen = screens[category]
- if(!screen)
- return
-
- screens -= category
-
- if(animated)
- animate(screen, alpha = 0, time = animated)
- addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME)
- else
- if(client)
- client.screen -= screen
- qdel(screen)
-
-/mob/proc/clear_fullscreen_after_animate(atom/movable/screen/fullscreen/screen)
- if(client)
- client.screen -= screen
- qdel(screen)
-
-/mob/proc/clear_fullscreens()
- for(var/category in screens)
- clear_fullscreen(category)
-
-/mob/proc/hide_fullscreens()
- if(client)
- for(var/category in screens)
- client.screen -= screens[category]
-
-/mob/proc/reload_fullscreen()
- if(client)
- var/atom/movable/screen/fullscreen/screen
- for(var/category in screens)
- screen = screens[category]
- if(screen.should_show_to(src))
- screen.update_for_view(client.view)
- client.screen |= screen
- else
- client.screen -= screen
-
-/atom/movable/screen/fullscreen
- icon = 'icons/mob/screen_full.dmi'
- icon_state = "default"
- screen_loc = "CENTER-7,CENTER-7"
- layer = FULLSCREEN_LAYER
- plane = FULLSCREEN_PLANE
- mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- var/view = 7
- var/severity = 0
- var/show_when_dead = FALSE
-
-/atom/movable/screen/fullscreen/proc/update_for_view(client_view)
- if (screen_loc == "CENTER-7,CENTER-7" && view != client_view)
- var/list/actualview = getviewsize(client_view)
- view = client_view
- transform = matrix(actualview[1]/FULLSCREEN_OVERLAY_RESOLUTION_X, 0, 0, 0, actualview[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y, 0)
-
-/atom/movable/screen/fullscreen/proc/should_show_to(mob/mymob)
- if(!show_when_dead && mymob.stat == DEAD)
- return FALSE
- return TRUE
-
-/atom/movable/screen/fullscreen/Destroy()
- severity = 0
- . = ..()
-
-/atom/movable/screen/fullscreen/brute
- icon_state = "brutedamageoverlay"
- layer = UI_DAMAGE_LAYER
- plane = FULLSCREEN_PLANE
-
-/atom/movable/screen/fullscreen/oxy
- icon_state = "oxydamageoverlay"
- layer = UI_DAMAGE_LAYER
- plane = FULLSCREEN_PLANE
-
-/atom/movable/screen/fullscreen/crit
- icon_state = "passage"
- layer = CRIT_LAYER
- plane = FULLSCREEN_PLANE
-
-/atom/movable/screen/fullscreen/crit/vision
- icon_state = "oxydamageoverlay"
- layer = BLIND_LAYER
-
-/atom/movable/screen/fullscreen/blind
- icon_state = "blackimageoverlay"
- layer = BLIND_LAYER
- plane = FULLSCREEN_PLANE
-
-/atom/movable/screen/fullscreen/curse
- icon_state = "curse"
- layer = CURSE_LAYER
- plane = FULLSCREEN_PLANE
-
-/atom/movable/screen/fullscreen/impaired
- icon_state = "impairedoverlay"
-
-/atom/movable/screen/fullscreen/blurry
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "blurry"
-
-/atom/movable/screen/fullscreen/flash
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "flash"
-
-/atom/movable/screen/fullscreen/flash/static
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "noise"
-
-/atom/movable/screen/fullscreen/high
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "druggy"
-
-/atom/movable/screen/fullscreen/color_vision
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "flash"
- alpha = 80
-
-/atom/movable/screen/fullscreen/color_vision/green
- color = "#00ff00"
-
-/atom/movable/screen/fullscreen/color_vision/red
- color = "#ff0000"
-
-/atom/movable/screen/fullscreen/color_vision/blue
- color = "#0000ff"
-
-/atom/movable/screen/fullscreen/cinematic_backdrop
- icon = 'icons/mob/screen_gen.dmi'
- screen_loc = "WEST,SOUTH to EAST,NORTH"
- icon_state = "flash"
- plane = SPLASHSCREEN_PLANE
- layer = SPLASHSCREEN_LAYER - 1
- color = "#000000"
- show_when_dead = TRUE
-
-/atom/movable/screen/fullscreen/lighting_backdrop
- icon = 'icons/mob/screen_gen.dmi'
- icon_state = "flash"
- transform = matrix(200, 0, 0, 0, 200, 0)
- plane = LIGHTING_PLANE
- blend_mode = BLEND_OVERLAY
- show_when_dead = TRUE
-
-//Provides darkness to the back of the lighting plane
-/atom/movable/screen/fullscreen/lighting_backdrop/lit
- invisibility = INVISIBILITY_LIGHTING
- layer = BACKGROUND_LAYER+21
- color = "#000"
- show_when_dead = TRUE
-
-//Provides whiteness in case you don't see lights so everything is still visible
-/atom/movable/screen/fullscreen/lighting_backdrop/unlit
- layer = BACKGROUND_LAYER+20
- show_when_dead = TRUE
-
-/atom/movable/screen/fullscreen/see_through_darkness
- icon_state = "nightvision"
- plane = LIGHTING_PLANE
- layer = LIGHTING_LAYER
- blend_mode = BLEND_ADD
- show_when_dead = TRUE
diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm
index b9514bff46..bb637ed445 100644
--- a/code/_onclick/hud/ghost.dm
+++ b/code/_onclick/hud/ghost.dm
@@ -93,3 +93,10 @@
screenmob.client.screen -= static_inventory
else
screenmob.client.screen += static_inventory
+
+//We should only see observed mob alerts.
+/datum/hud/ghost/reorganize_alerts(mob/viewmob)
+ var/mob/dead/observer/O = mymob
+ if (istype(O) && O.observetarget)
+ return
+ . = ..()
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 36a3cd1f1a..a5fe8f4ba8 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -35,6 +35,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
var/atom/movable/screen/devil/soul_counter/devilsouldisplay
+ var/atom/movable/screen/synth/coolant_counter/coolant_display
+
var/atom/movable/screen/action_intent
var/atom/movable/screen/zone_select
var/atom/movable/screen/pull_icon
@@ -58,6 +60,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
var/atom/movable/screen/healthdoll
var/atom/movable/screen/internals
+ var/atom/movable/screen/wanted/wanted_lvl
// subtypes can override this to force a specific UI style
var/ui_style
@@ -80,6 +83,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
plane_masters["[instance.plane]"] = instance
instance.backdrop(mymob)
+
/datum/hud/Destroy()
if(mymob.hud_used == src)
mymob.hud_used = null
@@ -100,6 +104,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
healths = null
healthdoll = null
+ wanted_lvl = null
internals = null
lingchemdisplay = null
devilsouldisplay = null
@@ -131,7 +136,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
return FALSE
screenmob.client.screen = list()
- screenmob.client.apply_clickcatcher()
+ screenmob.client.update_clickcatcher()
var/display_hud_version = version
if(!display_hud_version) //If 0 or blank, display the next hud version
@@ -191,8 +196,6 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
persistent_inventory_update(screenmob)
screenmob.update_action_buttons(1)
reorganize_alerts()
- screenmob.reload_fullscreen()
- update_parallax_pref(screenmob)
// ensure observers get an accurate and up-to-date view
if (!viewmob)
@@ -202,6 +205,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
else if (viewmob.hud_used)
viewmob.hud_used.plane_masters_update()
+ screenmob.reload_rendering()
+
return TRUE
/datum/hud/proc/plane_masters_update()
diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index e4a9dc24e8..4fa2dd538a 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -80,9 +80,101 @@
icon_state = "power_display"
screen_loc = ui_lingchemdisplay
+#define ui_coolant_display "EAST,SOUTH+3:15"
+
+/atom/movable/screen/synth
+ invisibility = INVISIBILITY_ABSTRACT
+
+
+/atom/movable/screen/synth/proc/clear()
+ invisibility = INVISIBILITY_ABSTRACT
+
+/atom/movable/screen/synth/proc/update_counter(mob/living/carbon/human/owner)
+ invisibility = 0
+
+/atom/movable/screen/synth/coolant_counter
+ icon = 'icons/mob/screen_synth.dmi'
+ name = "Coolant System Readout"
+ icon_state = "coolant-3-1"
+ screen_loc = ui_coolant_display
+ var/jammed = 0
+
+/atom/movable/screen/synth/coolant_counter/update_counter(mob/living/carbon/owner)
+ ..()
+ var/valuecolor = "#ff2525"
+ if(owner.stat == DEAD)
+ maptext = "
"
+
+ var/efficiency_suffix
+ var/state_suffix
+ switch(coolant_efficiency)
+ if(-INFINITY to 0.4)
+ efficiency_suffix = "1"
+ if(0.4 to 0.75)
+ efficiency_suffix = "2"
+ if(0.75 to 0.95)
+ efficiency_suffix = "3"
+ if(0.95 to 1.3)
+ efficiency_suffix = "4"
+ else
+ efficiency_suffix = "5"
+ var/obj/item/organ/lungs/ipc/L = owner.getorganslot(ORGAN_SLOT_LUNGS)
+ if(istype(L) && L.is_cooling)
+ state_suffix = "2"
+ else
+ state_suffix = "1"
+ icon_state = "coolant-[efficiency_suffix]-[state_suffix]"
+
+/atom/movable/screen/synth/coolant_counter/examine(mob/user)
+ . = ..()
+ var/mob/living/carbon/human/owner = hud.mymob
+ if(owner.stat == DEAD)
+ return
+ var/coolant
+ var/total_efficiency
+ var/environ_efficiency
+ var/suitlink_efficiency
+ if(!jammed)
+ coolant = owner.blood_volume
+ total_efficiency = owner.get_cooling_efficiency()
+ environ_efficiency = owner.get_environment_cooling_efficiency()
+ suitlink_efficiency = owner.check_suitlinking()
+ else
+ coolant = rand(1, 600)
+ total_efficiency = rand(1, 15) / 10
+ environ_efficiency = rand(1, 20) / 10
+ . += "Performing internal cooling system diagnostics:"
+ . += "Coolant level: [coolant] units, [round((coolant / (BLOOD_VOLUME_NORMAL * owner.blood_ratio)) * 100, 0.1)] percent"
+ . += "Current Cooling Efficiency: [round(total_efficiency * 100, 0.1)] percent, [suitlink_efficiency ? "active suitlink detected, guaranteeing [suitlink_efficiency * 100]% environmental cooling efficiency." : "environment viability: [round(environ_efficiency * 100, 0.1)] percent."]"
+
+/atom/movable/screen/synth/coolant_counter/proc/jam(amount, cap = 20)
+ if(jammed > cap) //Preserve previous more impactful event.
+ return
+ jammed = min(jammed + amount, cap)
+
/datum/hud/human/New(mob/living/carbon/human/owner)
..()
- owner.overlay_fullscreen("see_through_darkness", /atom/movable/screen/fullscreen/see_through_darkness)
+ owner.overlay_fullscreen("see_through_darkness", /atom/movable/screen/fullscreen/special/see_through_darkness)
var/widescreenlayout = FALSE //CIT CHANGE - adds support for different hud layouts depending on widescreen pref
if(owner.client && owner.client.prefs && owner.client.prefs.widescreenpref) //CIT CHANGE - ditto
@@ -359,6 +451,10 @@
sunlight_display.hud = src
infodisplay += sunlight_display
+ coolant_display = new /atom/movable/screen/synth/coolant_counter //Coolant & cooling efficiency readouts for Synths.
+ coolant_display.hud = src
+ infodisplay += coolant_display
+
zone_select = new /atom/movable/screen/zone_sel()
zone_select.icon = ui_style
zone_select.hud = src
diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
deleted file mode 100755
index a98fec03c4..0000000000
--- a/code/_onclick/hud/parallax.dm
+++ /dev/null
@@ -1,322 +0,0 @@
-
-/datum/hud/proc/create_parallax(mob/viewmob)
- var/mob/screenmob = viewmob || mymob
- var/client/C = screenmob.client
- if (!apply_parallax_pref(viewmob)) //don't want shit computers to crash when specing someone with insane parallax, so use the viewer's pref
- return
-
- if(!length(C.parallax_layers_cached))
- C.parallax_layers_cached = list()
- C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_1(null, C.view)
- C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_2(null, C.view)
- C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/planet(null, C.view)
- if(SSparallax.random_layer)
- C.parallax_layers_cached += new SSparallax.random_layer
- C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_3(null, C.view)
-
- C.parallax_layers = C.parallax_layers_cached.Copy()
-
- if (length(C.parallax_layers) > C.parallax_layers_max)
- C.parallax_layers.len = C.parallax_layers_max
-
- C.screen |= (C.parallax_layers)
- var/atom/movable/screen/plane_master/PM = screenmob.hud_used.plane_masters["[PLANE_SPACE]"]
- if(screenmob != mymob)
- C.screen -= locate(/atom/movable/screen/plane_master/parallax_white) in C.screen
- C.screen += PM
- PM.color = list(
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 1, 1, 1, 1,
- 0, 0, 0, 0
- )
-
-
-/datum/hud/proc/remove_parallax(mob/viewmob)
- var/mob/screenmob = viewmob || mymob
- var/client/C = screenmob.client
- C.screen -= (C.parallax_layers_cached)
- var/atom/movable/screen/plane_master/PM = screenmob.hud_used.plane_masters["[PLANE_SPACE]"]
- if(screenmob != mymob)
- C.screen -= locate(/atom/movable/screen/plane_master/parallax_white) in C.screen
- C.screen += PM
- PM.color = initial(PM.color)
- C.parallax_layers = null
-
-/datum/hud/proc/apply_parallax_pref(mob/viewmob)
- var/mob/screenmob = viewmob || mymob
- var/client/C = screenmob.client
- if(C.prefs)
- var/pref = C.prefs.parallax
- if (isnull(pref))
- pref = PARALLAX_HIGH
- switch(C.prefs.parallax)
- if (PARALLAX_INSANE)
- C.parallax_throttle = FALSE
- C.parallax_layers_max = 5
- return TRUE
-
- if (PARALLAX_MED)
- C.parallax_throttle = PARALLAX_DELAY_MED
- C.parallax_layers_max = 3
- return TRUE
-
- if (PARALLAX_LOW)
- C.parallax_throttle = PARALLAX_DELAY_LOW
- C.parallax_layers_max = 1
- return TRUE
-
- if (PARALLAX_DISABLE)
- return FALSE
-
- //This is high parallax.
- C.parallax_throttle = PARALLAX_DELAY_DEFAULT
- C.parallax_layers_max = 4
- return TRUE
-
-/datum/hud/proc/update_parallax_pref(mob/viewmob)
- remove_parallax(viewmob)
- create_parallax(viewmob)
- update_parallax()
-
-// This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation)
-/datum/hud/proc/set_parallax_movedir(new_parallax_movedir, skip_windups)
- . = FALSE
- var/client/C = mymob.client
- if(new_parallax_movedir == C.parallax_movedir)
- return
- var/animatedir = new_parallax_movedir
- if(new_parallax_movedir == FALSE)
- var/animate_time = 0
- for(var/thing in C.parallax_layers)
- var/atom/movable/screen/parallax_layer/L = thing
- L.icon_state = initial(L.icon_state)
- L.update_o(C.view)
- var/T = PARALLAX_LOOP_TIME / L.speed
- if (T > animate_time)
- animate_time = T
- C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME)
- animatedir = C.parallax_movedir
-
- var/matrix/newtransform
- switch(animatedir)
- if(NORTH)
- newtransform = matrix(1, 0, 0, 0, 1, 480)
- if(SOUTH)
- newtransform = matrix(1, 0, 0, 0, 1,-480)
- if(EAST)
- newtransform = matrix(1, 0, 480, 0, 1, 0)
- if(WEST)
- newtransform = matrix(1, 0,-480, 0, 1, 0)
-
- var/shortesttimer
- if(!skip_windups)
- for(var/thing in C.parallax_layers)
- var/atom/movable/screen/parallax_layer/L = thing
-
- var/T = PARALLAX_LOOP_TIME / L.speed
- if (isnull(shortesttimer))
- shortesttimer = T
- if (T < shortesttimer)
- shortesttimer = T
- L.transform = newtransform
- animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW)
- if (new_parallax_movedir)
- L.transform = newtransform
- animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter
-
- C.parallax_movedir = new_parallax_movedir
- if (C.parallax_animate_timer)
- deltimer(C.parallax_animate_timer)
- var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform)
- if(skip_windups)
- CB.InvokeAsync()
- else
- C.parallax_animate_timer = addtimer(CB, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME|TIMER_STOPPABLE)
-
-
-/datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform)
- if(!C)
- return
- C.parallax_animate_timer = FALSE
- for(var/thing in C.parallax_layers)
- var/atom/movable/screen/parallax_layer/L = thing
- if (!new_parallax_movedir)
- animate(L)
- continue
-
- var/newstate = initial(L.icon_state)
- var/T = PARALLAX_LOOP_TIME / L.speed
-
- if (newstate in icon_states(L.icon))
- L.icon_state = newstate
- L.update_o(C.view)
-
- L.transform = newtransform
-
- animate(L, transform = matrix(), time = T, loop = -1, flags = ANIMATION_END_NOW)
-
-/datum/hud/proc/update_parallax()
- var/client/C = mymob.client
- var/turf/posobj = get_turf(C.eye)
- if(!posobj)
- return
- var/area/areaobj = posobj.loc
-
- // Update the movement direction of the parallax if necessary (for shuttles)
- set_parallax_movedir(areaobj.parallax_movedir, FALSE)
-
- var/force
- if(!C.previous_turf || (C.previous_turf.z != posobj.z))
- C.previous_turf = posobj
- force = TRUE
-
- if (!force && world.time < C.last_parallax_shift+C.parallax_throttle)
- return
-
- //Doing it this way prevents parallax layers from "jumping" when you change Z-Levels.
- var/offset_x = posobj.x - C.previous_turf.x
- var/offset_y = posobj.y - C.previous_turf.y
-
- if(!offset_x && !offset_y && !force)
- return
-
- var/last_delay = world.time - C.last_parallax_shift
- last_delay = min(last_delay, C.parallax_throttle)
- C.previous_turf = posobj
- C.last_parallax_shift = world.time
-
- for(var/thing in C.parallax_layers)
- var/atom/movable/screen/parallax_layer/L = thing
- L.update_status(mymob)
- if (L.view_sized != C.view)
- L.update_o(C.view)
-
- var/change_x
- var/change_y
-
- if(L.absolute)
- L.offset_x = -(posobj.x - SSparallax.planet_x_offset) * L.speed
- L.offset_y = -(posobj.y - SSparallax.planet_y_offset) * L.speed
- else
- change_x = offset_x * L.speed
- L.offset_x -= change_x
- change_y = offset_y * L.speed
- L.offset_y -= change_y
-
- if(L.offset_x > 240)
- L.offset_x -= 480
- if(L.offset_x < -240)
- L.offset_x += 480
- if(L.offset_y > 240)
- L.offset_y -= 480
- if(L.offset_y < -240)
- L.offset_y += 480
-
-
- if(!areaobj.parallax_movedir && C.dont_animate_parallax <= world.time && (offset_x || offset_y) && abs(offset_x) <= max(C.parallax_throttle/world.tick_lag+1,1) && abs(offset_y) <= max(C.parallax_throttle/world.tick_lag+1,1) && (round(abs(change_x)) > 1 || round(abs(change_y)) > 1))
- L.transform = matrix(1, 0, offset_x*L.speed, 0, 1, offset_y*L.speed)
- animate(L, transform=matrix(), time = last_delay)
-
- L.screen_loc = "CENTER-7:[round(L.offset_x,1)],CENTER-7:[round(L.offset_y,1)]"
-
-/atom/movable/proc/update_parallax_contents()
- if(length(client_mobs_in_contents))
- for(var/thing in client_mobs_in_contents)
- var/mob/M = thing
- if(M?.client && M.hud_used && length(M.client.parallax_layers))
- M.hud_used.update_parallax()
-
-/mob/proc/update_parallax_teleport() //used for arrivals shuttle
- if(client?.eye && hud_used && length(client.parallax_layers))
- var/area/areaobj = get_area(client.eye)
- hud_used.set_parallax_movedir(areaobj.parallax_movedir, TRUE)
-
-/atom/movable/screen/parallax_layer
- icon = 'icons/effects/parallax.dmi'
- var/speed = 1
- var/offset_x = 0
- var/offset_y = 0
- var/view_sized
- var/absolute = FALSE
- blend_mode = BLEND_ADD
- plane = PLANE_SPACE_PARALLAX
- screen_loc = "CENTER-7,CENTER-7"
- mouse_opacity = MOUSE_OPACITY_TRANSPARENT
-
-
-/atom/movable/screen/parallax_layer/Initialize(mapload, view)
- . = ..()
- if (!view)
- view = world.view
- update_o(view)
-
-/atom/movable/screen/parallax_layer/proc/update_o(view)
- if (!view)
- view = world.view
-
- var/list/viewscales = getviewsize(view)
- var/countx = CEILING((viewscales[1]/2)/(480/world.icon_size), 1)+1
- var/county = CEILING((viewscales[2]/2)/(480/world.icon_size), 1)+1
- var/list/new_overlays = new
- for(var/x in -countx to countx)
- for(var/y in -county to county)
- if(x == 0 && y == 0)
- continue
- var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state)
- texture_overlay.transform = matrix(1, 0, x*480, 0, 1, y*480)
- new_overlays += texture_overlay
- cut_overlays()
- add_overlay(new_overlays)
- view_sized = view
-
-/atom/movable/screen/parallax_layer/proc/update_status(mob/M)
- return
-
-/atom/movable/screen/parallax_layer/layer_1
- icon_state = "layer1"
- speed = 0.6
- layer = 1
-
-/atom/movable/screen/parallax_layer/layer_2
- icon_state = "layer2"
- speed = 1
- layer = 2
-
-/atom/movable/screen/parallax_layer/layer_3
- icon_state = "layer3"
- speed = 1.4
- layer = 3
-
-/atom/movable/screen/parallax_layer/random
- blend_mode = BLEND_OVERLAY
- speed = 3
- layer = 3
-
-/atom/movable/screen/parallax_layer/random/space_gas
- icon_state = "space_gas"
-
-/atom/movable/screen/parallax_layer/random/space_gas/Initialize(mapload, view)
- . = ..()
- src.add_atom_colour(SSparallax.random_parallax_color, ADMIN_COLOUR_PRIORITY)
-
-/atom/movable/screen/parallax_layer/random/asteroids
- icon_state = "asteroids"
-
-/atom/movable/screen/parallax_layer/planet
- icon_state = "planet"
- blend_mode = BLEND_OVERLAY
- absolute = TRUE //Status of seperation
- speed = 3
- layer = 30
-
-/atom/movable/screen/parallax_layer/planet/update_status(mob/M)
- var/client/C = M.client
- var/turf/posobj = get_turf(C.eye)
- if(!posobj)
- return
- invisibility = is_station_level(posobj.z) ? 0 : INVISIBILITY_ABSTRACT
-
-/atom/movable/screen/parallax_layer/planet/update_o()
- return //Shit won't move
diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm
index bb6a9cd925..d83a81fa45 100644
--- a/code/_onclick/hud/plane_master.dm
+++ b/code/_onclick/hud/plane_master.dm
@@ -124,8 +124,8 @@
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
/atom/movable/screen/plane_master/lighting/backdrop(mob/mymob)
- mymob.overlay_fullscreen("lighting_backdrop_lit", /atom/movable/screen/fullscreen/lighting_backdrop/lit)
- mymob.overlay_fullscreen("lighting_backdrop_unlit", /atom/movable/screen/fullscreen/lighting_backdrop/unlit)
+ mymob.overlay_fullscreen("lighting_backdrop_lit", /atom/movable/screen/fullscreen/special/lighting_backdrop/lit)
+ mymob.overlay_fullscreen("lighting_backdrop_unlit", /atom/movable/screen/fullscreen/special/lighting_backdrop/unlit)
/*!
* This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers.
@@ -143,7 +143,6 @@
add_filter("emissives", 1, alpha_mask_filter(render_source = EMISSIVE_RENDER_TARGET, flags = MASK_INVERSE))
add_filter("object_lighting", 2, alpha_mask_filter(render_source = O_LIGHTING_VISUAL_RENDER_TARGET, flags = MASK_INVERSE))
-
/**
* Handles emissive overlays and emissive blockers.
*/
@@ -163,9 +162,10 @@
plane = PLANE_SPACE_PARALLAX
blend_mode = BLEND_MULTIPLY
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ render_target = PLANE_SPACE_PARALLAX_RENDER_TARGET
/atom/movable/screen/plane_master/parallax_white
- name = "parallax whitifier plane master"
+ name = "parallax backdrop/space turf plane master"
plane = PLANE_SPACE
/atom/movable/screen/plane_master/camera_static
@@ -174,7 +174,6 @@
appearance_flags = PLANE_MASTER
blend_mode = BLEND_OVERLAY
-
//Reserved to chat messages, so they are still displayed above the field of vision masking.
/atom/movable/screen/plane_master/chat_messages
name = "runechat plane master"
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 87d888e457..6ca0416dfd 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -9,7 +9,6 @@
/atom/movable/screen
name = ""
icon = 'icons/mob/screen_gen.dmi'
- layer = HUD_LAYER
plane = HUD_PLANE
animate_movement = SLIDE_STEPS
speech_span = SPAN_ROBOT
@@ -56,16 +55,12 @@
maptext_width = 480
/atom/movable/screen/swap_hand
- layer = HUD_LAYER
plane = HUD_PLANE
name = "swap hand"
/atom/movable/screen/swap_hand/Click()
// At this point in client Click() code we have passed the 1/10 sec check and little else
// We don't even know if it's a middle click
- // if(world.time <= usr.next_move)
- // return 1
-
if(usr.incapacitated())
return 1
@@ -74,6 +69,17 @@
M.swap_hand()
return 1
+// /atom/movable/screen/skills
+// name = "skills"
+// icon = 'icons/mob/screen_midnight.dmi'
+// icon_state = "skills"
+// screen_loc = ui_skill_menu
+
+// /atom/movable/screen/skills/Click()
+// if(ishuman(usr))
+// var/mob/living/carbon/human/H = usr
+// H.mind.print_levels(H)
+
/atom/movable/screen/craft
name = "crafting menu"
icon = 'icons/mob/screen_midnight.dmi'
@@ -91,7 +97,7 @@
return TRUE
var/area/A = get_area(usr)
if(!A.outdoors)
- to_chat(usr, "There is already a defined structure here.")
+ to_chat(usr, span_warning("There is already a defined structure here."))
return TRUE
create_area(usr)
@@ -114,15 +120,12 @@
/// Icon when contains an item. For now used only by humans.
var/icon_full
/// The overlay when hovering over with an item in your hand
- var/list/object_overlays = list()
- layer = HUD_LAYER
+ var/image/object_overlay
plane = HUD_PLANE
/atom/movable/screen/inventory/Click(location, control, params)
// At this point in client Click() code we have passed the 1/10 sec check and little else
// We don't even know if it's a middle click
- // if(world.time <= usr.next_move)
- // return TRUE
if(usr.incapacitated()) // ignore_stasis = TRUE
return TRUE
@@ -138,42 +141,23 @@
usr.update_inv_hands()
return TRUE
-/atom/movable/screen/inventory/MouseEntered()
- ..()
+/atom/movable/screen/inventory/MouseEntered(location, control, params)
+ . = ..()
add_overlays()
- //Apply the outline affect
- add_stored_outline()
/atom/movable/screen/inventory/MouseExited()
..()
- cut_overlay(object_overlays)
- object_overlays.Cut()
- remove_stored_outline()
-
-/atom/movable/screen/inventory/proc/add_stored_outline()
- if(hud?.mymob && slot_id)
- var/obj/item/inv_item = hud.mymob.get_item_by_slot(slot_id)
- if(inv_item)
- if(hud?.mymob.incapacitated() || (slot_id in hud?.mymob.check_obscured_slots()) || !hud?.mymob.canUnEquip(inv_item))
- inv_item.apply_outline(_size = 3)
- else
- inv_item.apply_outline()
-
-/atom/movable/screen/inventory/proc/remove_stored_outline()
- if(hud?.mymob && slot_id)
- var/obj/item/inv_item = hud.mymob.get_item_by_slot(slot_id)
- if(inv_item)
- inv_item.remove_outline()
+ cut_overlay(object_overlay)
+ QDEL_NULL(object_overlay)
/atom/movable/screen/inventory/update_icon_state()
if(!icon_empty)
icon_empty = icon_state
- if(hud?.mymob && slot_id && icon_full)
- if(hud.mymob.get_item_by_slot(slot_id))
- icon_state = icon_full
- else
- icon_state = icon_empty
+ if(!hud?.mymob || !slot_id || !icon_full)
+ return ..()
+ icon_state = hud.mymob.get_item_by_slot(slot_id) ? icon_full : icon_empty
+ return ..()
/atom/movable/screen/inventory/proc/add_overlays()
var/mob/user = hud?.mymob
@@ -189,14 +173,14 @@
var/image/item_overlay = image(holding)
item_overlay.alpha = 92
- if(!user.can_equip(holding, slot_id, TRUE, TRUE))
+ if(!user.can_equip(holding, slot_id, disable_warning = TRUE, bypass_equip_delay_self = TRUE))
item_overlay.color = "#FF0000"
else
item_overlay.color = "#00ff00"
- cut_overlay(object_overlays)
- // object_overlay = item_overlay
- add_overlay(object_overlays)
+ cut_overlay(object_overlay)
+ object_overlay = item_overlay
+ add_overlay(object_overlay)
/atom/movable/screen/inventory/hand
var/mutable_appearance/handcuff_overlay
@@ -232,8 +216,6 @@
var/mob/user = hud?.mymob
if(usr != user)
return TRUE
- // if(world.time <= user.next_move)
- // return TRUE
if(user.incapacitated())
return TRUE
if (ismecha(user.loc)) // stops inventory actions in a mech
@@ -247,12 +229,24 @@
user.swap_hand(held_index)
return TRUE
+// /atom/movable/screen/close
+// name = "close"
+// plane = ABOVE_HUD_PLANE
+// icon_state = "backpack_close"
+
+// /atom/movable/screen/close/Initialize(mapload, new_master)
+// . = ..()
+// master = new_master
+
+// /atom/movable/screen/close/Click()
+// var/datum/component/storage/S = master
+// S.hide_from(usr)
+// return TRUE
/atom/movable/screen/drop
name = "drop"
icon = 'icons/mob/screen_midnight.dmi'
icon_state = "act_drop"
- layer = HUD_LAYER
plane = HUD_PLANE
/atom/movable/screen/drop/Click()
@@ -308,12 +302,12 @@
if(C.internal)
C.internal = null
- to_chat(C, "You are no longer running on internals.")
+ to_chat(C, span_notice("You are no longer running on internals."))
icon_state = "internal0"
else
if(!C.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
if(HAS_TRAIT(C, TRAIT_NO_INTERNALS))
- to_chat(C, "Due to cumbersome equipment or anatomy, you are currently unable to use internals!")
+ to_chat(C, span_warning("Due to cumbersome equipment or anatomy, you are currently unable to use internals!"))
return
var/obj/item/clothing/check
var/internals = FALSE
@@ -326,37 +320,37 @@
if((check.clothing_flags & ALLOWINTERNALS))
internals = TRUE
if(!internals)
- to_chat(C, "You are not wearing an internals mask!")
+ to_chat(C, span_warning("You are not wearing an internals mask!"))
return
var/obj/item/I = C.is_holding_item_of_type(/obj/item/tank)
if(I)
- to_chat(C, "You are now running on internals from [I] in your [C.get_held_index_name(C.get_held_index_of_item(I))].")
+ to_chat(C, span_notice("You are now running on internals from [I] in your [C.get_held_index_name(C.get_held_index_of_item(I))]."))
C.internal = I
else if(ishuman(C))
var/mob/living/carbon/human/H = C
if(istype(H.s_store, /obj/item/tank))
- to_chat(H, "You are now running on internals from [H.s_store] on your [H.wear_suit.name].")
+ to_chat(H, span_notice("You are now running on internals from [H.s_store] on your [H.wear_suit.name]."))
H.internal = H.s_store
else if(istype(H.belt, /obj/item/tank))
- to_chat(H, "You are now running on internals from [H.belt] on your belt.")
+ to_chat(H, span_notice("You are now running on internals from [H.belt] on your belt."))
H.internal = H.belt
else if(istype(H.l_store, /obj/item/tank))
- to_chat(H, "You are now running on internals from [H.l_store] in your left pocket.")
+ to_chat(H, span_notice("You are now running on internals from [H.l_store] in your left pocket."))
H.internal = H.l_store
else if(istype(H.r_store, /obj/item/tank))
- to_chat(H, "You are now running on internals from [H.r_store] in your right pocket.")
+ to_chat(H, span_notice("You are now running on internals from [H.r_store] in your right pocket."))
H.internal = H.r_store
//Separate so CO2 jetpacks are a little less cumbersome.
if(!C.internal && istype(C.back, /obj/item/tank))
- to_chat(C, "You are now running on internals from [C.back] on your back.")
+ to_chat(C, span_notice("You are now running on internals from [C.back] on your back."))
C.internal = C.back
if(C.internal)
icon_state = "internal1"
else
- to_chat(C, "You don't have an oxygen tank!")
+ to_chat(C, span_warning("You don't have an oxygen tank!"))
return
C.update_action_buttons_icon()
@@ -378,6 +372,7 @@
icon_state = CONFIG_GET(flag/sprint_enabled)? "walking" : "walking_nosprint"
if(MOVE_INTENT_RUN)
icon_state = CONFIG_GET(flag/sprint_enabled)? "running" : "running_nosprint"
+ return ..()
/atom/movable/screen/mov_intent/proc/toggle(mob/user)
if(isobserver(user))
@@ -399,12 +394,12 @@
icon_state = "pull"
else
icon_state = "pull0"
+ return ..()
/atom/movable/screen/resist
name = "resist"
icon = 'icons/mob/screen_midnight.dmi'
icon_state = "act_resist"
- layer = HUD_LAYER
plane = HUD_PLANE
/atom/movable/screen/resist/Click()
@@ -416,7 +411,6 @@
name = "rest"
icon = 'icons/mob/screen_midnight.dmi'
icon_state = "act_rest"
- layer = HUD_LAYER
plane = HUD_PLANE
/atom/movable/screen/rest/Click()
@@ -427,11 +421,12 @@
/atom/movable/screen/rest/update_icon_state()
var/mob/living/user = hud?.mymob
if(!istype(user))
- return
+ return ..()
if(!user.resting)
icon_state = "act_rest"
else
icon_state = "act_rest0"
+ return ..()
/atom/movable/screen/throw_catch
name = "throw/catch"
@@ -455,9 +450,9 @@
if(isobserver(usr))
return
- var/list/PL = params2list(params)
- var/icon_x = text2num(PL["icon-x"])
- var/icon_y = text2num(PL["icon-y"])
+ var/list/modifiers = params2list(params)
+ var/icon_x = text2num(LAZYACCESS(modifiers, "icon-x"))
+ var/icon_y = text2num(LAZYACCESS(modifiers, "icon-y"))
var/choice = get_zone_at(icon_x, icon_y)
if (!choice)
return 1
@@ -465,15 +460,16 @@
return set_selected_zone(choice, usr)
/atom/movable/screen/zone_sel/MouseEntered(location, control, params)
+ . = ..()
MouseMove(location, control, params)
/atom/movable/screen/zone_sel/MouseMove(location, control, params)
if(isobserver(usr))
return
- var/list/PL = params2list(params)
- var/icon_x = text2num(PL["icon-x"])
- var/icon_y = text2num(PL["icon-y"])
+ var/list/modifiers = params2list(params)
+ var/icon_x = text2num(LAZYACCESS(modifiers, "icon-x"))
+ var/icon_y = text2num(LAZYACCESS(modifiers, "icon-y"))
var/choice = get_zone_at(icon_x, icon_y)
if(hovering == choice)
@@ -493,7 +489,6 @@
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
alpha = 128
anchored = TRUE
- layer = ABOVE_HUD_LAYER
plane = ABOVE_HUD_PLANE
/atom/movable/screen/zone_sel/MouseExited(location, control, params)
@@ -545,7 +540,7 @@
if(choice != hud.mymob.zone_selected)
hud.mymob.zone_selected = choice
- update_icon()
+ update_appearance()
return TRUE
@@ -562,7 +557,6 @@
/atom/movable/screen/zone_sel/robot
icon = 'icons/mob/screen_cyborg.dmi'
-
/atom/movable/screen/flash
name = "flash"
icon_state = "blank"
@@ -651,6 +645,11 @@
name = "health doll"
screen_loc = ui_healthdoll
+/atom/movable/screen/healthdoll/Click()
+ if (iscarbon(usr))
+ var/mob/living/carbon/C = usr
+ C.check_self_for_injuries()
+
/atom/movable/screen/healthdoll/living
icon_state = "fullhealth0"
screen_loc = ui_living_healthdoll
@@ -661,6 +660,9 @@
icon_state = "mood5"
screen_loc = ui_mood
+/atom/movable/screen/mood/attack_tk()
+ return
+
/atom/movable/screen/splash
icon = 'icons/blank_title.png'
icon_state = ""
@@ -671,6 +673,8 @@
/atom/movable/screen/splash/New(client/C, visible, use_previous_title) //TODO: Make this use INITIALIZE_IMMEDIATE, except its not easy
. = ..()
+ if(!istype(C))
+ return
holder = C
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index d431e6d3cd..78fc32480f 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -11,7 +11,6 @@
// Otherwise jump
else if(A.loc)
forceMove(get_turf(A))
- update_parallax_contents()
/mob/dead/observer/ClickOn(var/atom/A, var/params)
if(check_click_intercept(params,A))
diff --git a/code/game/alternate_appearance.dm b/code/_rendering/atom_huds/alternate_appearance.dm
similarity index 100%
rename from code/game/alternate_appearance.dm
rename to code/_rendering/atom_huds/alternate_appearance.dm
diff --git a/code/datums/hud.dm b/code/_rendering/atom_huds/atom_hud.dm
similarity index 97%
rename from code/datums/hud.dm
rename to code/_rendering/atom_huds/atom_hud.dm
index 1c23d5f2a0..07b403284b 100644
--- a/code/datums/hud.dm
+++ b/code/_rendering/atom_huds/atom_hud.dm
@@ -124,9 +124,3 @@ GLOBAL_LIST_INIT(huds, list(
/mob/dead/new_player/reload_huds()
return
-
-/mob/proc/add_click_catcher()
- client.screen += client.void
-
-/mob/dead/new_player/add_click_catcher()
- return
diff --git a/code/game/data_huds.dm b/code/_rendering/atom_huds/data_huds.dm
similarity index 100%
rename from code/game/data_huds.dm
rename to code/_rendering/atom_huds/data_huds.dm
diff --git a/code/_rendering/clickcatcher/clickcatcher.dm b/code/_rendering/clickcatcher/clickcatcher.dm
new file mode 100644
index 0000000000..524f753e98
--- /dev/null
+++ b/code/_rendering/clickcatcher/clickcatcher.dm
@@ -0,0 +1,74 @@
+/atom/movable/screen/click_catcher
+ icon = 'icons/screen/clickcatcher.dmi'
+ icon_state = "catcher"
+ appearance_flags = TILE_BOUND | NO_CLIENT_COLOR | RESET_TRANSFORM | RESET_COLOR | RESET_ALPHA
+ plane = CLICKCATCHER_PLANE
+ plane = CLICKCATCHER_PLANE
+ mouse_opacity = MOUSE_OPACITY_OPAQUE
+ screen_loc = "CENTER"
+
+/*
+#define MAX_SAFE_BYOND_ICON_SCALE_TILES (MAX_SAFE_BYOND_ICON_SCALE_PX / world.icon_size)
+#define MAX_SAFE_BYOND_ICON_SCALE_PX (33 * 32) //Not using world.icon_size on purpose.
+
+/atom/movable/screen/click_catcher/proc/UpdateFill(view_size_x = 15, view_size_y = 15)
+ var/icon/newicon = icon('icons/mob/screen_gen.dmi', "catcher")
+ var/ox = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_x)
+ var/oy = min(MAX_SAFE_BYOND_ICON_SCALE_TILES, view_size_y)
+ var/px = view_size_x * world.icon_size
+ var/py = view_size_y * world.icon_size
+ var/sx = min(MAX_SAFE_BYOND_ICON_SCALE_PX, px)
+ var/sy = min(MAX_SAFE_BYOND_ICON_SCALE_PX, py)
+ newicon.Scale(sx, sy)
+ icon = newicon
+ screen_loc = "CENTER-[(ox-1)*0.5],CENTER-[(oy-1)*0.5]"
+ var/matrix/M = new
+ M.Scale(px/sx, py/sy)
+ transform = M
+
+#undef MAX_SAFE_BYOND_ICON_SCALE_TILES
+#undef MAX_SAFE_BYOND_ICON_SCALE_PX
+*/
+
+/atom/movable/screen/click_catcher/proc/UpdateFill(view_size_x, view_size_y)
+ screen_loc = "1,1 to [view_size_x],[view_size_y]"
+
+/atom/movable/screen/click_catcher/Click(location, control, params)
+ var/list/modifiers = params2list(params)
+ if(modifiers["middle"] && iscarbon(usr))
+ var/mob/living/carbon/C = usr
+ C.swap_hand()
+ else
+ var/turf/T = Parse(modifiers["screen-loc"], get_turf(usr.client?.eye || usr), usr.client)
+ params += "&catcher=1"
+ if(T)
+ T.Click(location, control, params)
+ return TRUE
+
+/atom/movable/screen/click_catcher/proc/Parse(scr_loc, turf/origin, client/C)
+ // screen-loc: Pixel coordinates in screen_loc format ("[tile_x]:[pixel_x],[tile_y]:[pixel_y]")
+ if(!scr_loc)
+ return null
+ var/tX = splittext(scr_loc, ",")
+ var/tY = splittext(tX[2], ":")
+ var/tZ = origin.z
+ tY = tY[1]
+ tX = splittext(tX[1], ":")
+ tX = tX[1]
+ var/list/actual_view = getviewsize(C ? C.view : world.view)
+ tX = clamp(origin.x + text2num(tX) - round(actual_view[1] / 2) - 1, 1, world.maxx)
+ tY = clamp(origin.y + text2num(tY) - round(actual_view[2] / 2) - 1, 1, world.maxy)
+ return locate(tX, tY, tZ)
+
+/**
+ * Makes a clickcatcher if necessary, and ensures it's fit to our size.
+ */
+/client/proc/update_clickcatcher(list/view_override)
+ if(!click_catcher)
+ click_catcher = new
+ screen |= click_catcher
+ if(view_override)
+ click_catcher.UpdateFill(view_override[1], view_override[2])
+ else
+ var/list/view_list = getviewsize(view)
+ click_catcher.UpdateFill(view_list[1], view_list[2])
diff --git a/code/_rendering/fullscreen/fullscreen.dm b/code/_rendering/fullscreen/fullscreen.dm
new file mode 100644
index 0000000000..dd8f697891
--- /dev/null
+++ b/code/_rendering/fullscreen/fullscreen.dm
@@ -0,0 +1,234 @@
+/**
+ * Adds a fullscreen overlay
+ *
+ * @params
+ * - category - string - must exist. will overwrite any other screen in this category. defaults to type.
+ * - type - the typepath of the screen
+ * - severity - severity - different screen objects have differing severities
+ */
+/mob/proc/overlay_fullscreen(category, type, severity)
+ ASSERT(type)
+ if(!category)
+ category = type
+ var/atom/movable/screen/fullscreen/screen = fullscreens[category]
+ if (!screen || screen.type != type)
+ // needs to be recreated
+ clear_fullscreen(category, 0)
+ fullscreens[category] = screen = new type
+ screen.SetSeverity(severity)
+ if(client && screen.ShouldShow(src))
+ screen.SetView(client.view)
+ client.screen += screen
+ return screen
+
+/**
+ * Wipes a fullscreen of a certain category
+ *
+ * Second argument is for animation delay.
+ */
+/mob/proc/clear_fullscreen(category, animated = 10)
+ if(!fullscreens)
+ return
+ var/atom/movable/screen/fullscreen/screen = fullscreens[category]
+ fullscreens -= category
+ if(!screen)
+ return
+ if(animated > 0)
+ animate(screen, alpha = 0, time = animated)
+ addtimer(CALLBACK(src, .proc/_remove_fullscreen_direct, screen), animated, TIMER_CLIENT_TIME)
+ else
+ if(client)
+ client.screen -= screen
+ qdel(screen)
+
+/mob/proc/_remove_fullscreen_direct(atom/movable/screen/fullscreen/screen)
+ if(client)
+ client.screen -= screen
+ qdel(screen)
+
+/**
+ * Wipes all fullscreens
+ */
+/mob/proc/wipe_fullscreens()
+ for(var/category in fullscreens)
+ clear_fullscreen(category)
+
+/**
+ * Removes fullscreens from client but not the mob
+ */
+/mob/proc/hide_fullscreens()
+ if(client)
+ for(var/category in fullscreens)
+ client.screen -= fullscreens[category]
+
+/**
+ * Ensures all fullscreens are on client.
+ */
+/mob/proc/reload_fullscreen()
+ if(client)
+ var/atom/movable/screen/fullscreen/screen
+ for(var/category in fullscreens)
+ screen = fullscreens[category]
+ if(screen.ShouldShow(src))
+ screen.SetView(client.view)
+ client.screen |= screen
+ else
+ client.screen -= screen
+
+/atom/movable/screen/fullscreen
+ icon = 'icons/screen/fullscreen_15x15.dmi'
+ icon_state = "default"
+ screen_loc = "CENTER-7,CENTER-7"
+ layer = FULLSCREEN_LAYER
+ plane = FULLSCREEN_PLANE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ /// current view we're adapted to
+ var/view_current
+ /// min severity
+ var/severity_min = 0
+ /// max severity
+ var/severity_max = INFINITY
+ /// current severity
+ var/severity = 0
+ /// show this while dead
+ var/show_when_dead = FALSE
+
+/atom/movable/screen/fullscreen/proc/SetSeverity(severity)
+ src.severity = clamp(severity, severity_min, severity_max)
+ icon_state = "[initial(icon_state)][severity]"
+
+/atom/movable/screen/fullscreen/proc/SetView(client_view)
+ view_current = client_view
+
+/atom/movable/screen/fullscreen/proc/ShouldShow(mob/M)
+ if(!show_when_dead && M.stat == DEAD)
+ return FALSE
+ return TRUE
+
+/atom/movable/screen/fullscreen/Destroy()
+ SetSeverity(0)
+ return ..()
+
+/atom/movable/screen/fullscreen/scaled
+ icon = 'icons/screen/fullscreen_15x15.dmi'
+ screen_loc = "CENTER-7,CENTER-7"
+ /// size of sprite in tiles
+ var/size_x = 15
+ /// size of sprite in tiles
+ var/size_y = 15
+
+/atom/movable/screen/fullscreen/scaled/SetView(client_view)
+ if(view_current != client_view)
+ var/list/actualview = getviewsize(client_view)
+ view_current = client_view
+ transform = matrix(actualview[1] / size_x, 0, 0, 0, actualview[2] / size_y, 0)
+ return ..()
+
+/atom/movable/screen/fullscreen/scaled/brute
+ icon_state = "brutedamageoverlay"
+ layer = UI_DAMAGE_LAYER
+ plane = FULLSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/scaled/oxy
+ icon_state = "oxydamageoverlay"
+ layer = UI_DAMAGE_LAYER
+ plane = FULLSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/scaled/crit
+ icon_state = "passage"
+ layer = CRIT_LAYER
+ plane = FULLSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/scaled/crit/vision
+ icon_state = "oxydamageoverlay"
+ layer = BLIND_LAYER
+
+/atom/movable/screen/fullscreen/scaled/blind
+ icon_state = "blackimageoverlay"
+ layer = BLIND_LAYER
+ plane = FULLSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/scaled/curse
+ icon_state = "curse"
+ layer = CURSE_LAYER
+ plane = FULLSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/scaled/impaired
+ icon_state = "impairedoverlay"
+
+/atom/movable/screen/fullscreen/scaled/emergency_meeting
+ icon_state = "emergency_meeting"
+ show_when_dead = TRUE
+ layer = CURSE_LAYER
+ plane = SPLASHSCREEN_PLANE
+
+/atom/movable/screen/fullscreen/tiled/blurry
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "cloudy"
+
+/atom/movable/screen/fullscreen/tiled/flash
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "flash"
+
+/atom/movable/screen/fullscreen/tiled/flash/static
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "noise"
+
+/atom/movable/screen/fullscreen/tiled/high
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "druggy"
+
+/atom/movable/screen/fullscreen/tiled/color_vision
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "flash"
+ alpha = 80
+
+/atom/movable/screen/fullscreen/tiled/color_vision/green
+ color = "#00ff00"
+
+/atom/movable/screen/fullscreen/tiled/color_vision/red
+ color = "#ff0000"
+
+/atom/movable/screen/fullscreen/tiled/color_vision/blue
+ color = "#0000ff"
+
+/atom/movable/screen/fullscreen/tiled/cinematic_backdrop
+ icon = 'icons/mob/screen_gen.dmi'
+ screen_loc = "WEST,SOUTH to EAST,NORTH"
+ icon_state = "flash"
+ plane = SPLASHSCREEN_PLANE
+ layer = SPLASHSCREEN_LAYER - 1
+ color = "#000000"
+ show_when_dead = TRUE
+
+/atom/movable/screen/fullscreen/special/lighting_backdrop
+ icon = 'icons/mob/screen_gen.dmi'
+ icon_state = "flash"
+ transform = matrix(200, 0, 0, 0, 200, 0)
+ plane = LIGHTING_PLANE
+ blend_mode = BLEND_OVERLAY
+ show_when_dead = TRUE
+
+//Provides darkness to the back of the lighting plane
+/atom/movable/screen/fullscreen/special/lighting_backdrop/lit
+ invisibility = INVISIBILITY_LIGHTING
+ layer = BACKGROUND_LAYER+21
+ color = "#000"
+ show_when_dead = TRUE
+
+//Provides whiteness in case you don't see lights so everything is still visible
+/atom/movable/screen/fullscreen/special/lighting_backdrop/unlit
+ layer = BACKGROUND_LAYER+20
+ show_when_dead = TRUE
+
+/atom/movable/screen/fullscreen/special/see_through_darkness
+ icon_state = "nightvision"
+ plane = LIGHTING_PLANE
+ layer = LIGHTING_LAYER
+ blend_mode = BLEND_ADD
+ show_when_dead = TRUE
diff --git a/code/_rendering/mob.dm b/code/_rendering/mob.dm
new file mode 100644
index 0000000000..49095d0910
--- /dev/null
+++ b/code/_rendering/mob.dm
@@ -0,0 +1,21 @@
+/**
+ * initializes screen rendering. call on mob new
+ */
+/mob/proc/init_rendering()
+
+/**
+ * loads screen rendering. call on mob login
+ */
+/mob/proc/reload_rendering()
+ if(!client.parallax_holder)
+ client.CreateParallax()
+ else
+ client.parallax_holder.Reset(force = TRUE)
+ client.update_clickcatcher()
+ reload_fullscreen()
+
+/**
+ * destroys screen rendering. call on mob del
+ */
+/mob/proc/dispose_rendering()
+ wipe_fullscreens()
diff --git a/code/_rendering/parallax/parallax.dm b/code/_rendering/parallax/parallax.dm
new file mode 100644
index 0000000000..dbd27ae762
--- /dev/null
+++ b/code/_rendering/parallax/parallax.dm
@@ -0,0 +1,28 @@
+/**
+ * Holds parallax information.
+ */
+/datum/parallax
+ /// List of parallax objects - these are cloned to a parallax holder using Clone on each.
+ var/list/atom/movable/screen/parallax_layer/objects
+ /// Parallax layers
+ var/layers = 0
+
+/datum/parallax/New(create_objects = TRUE)
+ if(create_objects)
+ objects = CreateObjects()
+ layers = objects.len
+
+/datum/parallax/Destroy()
+ QDEL_LIST(objects)
+ return ..()
+
+/**
+ * Gets a new version of the objects inside - used when applying to a holder.
+ */
+/datum/parallax/proc/GetObjects()
+ . = list()
+ for(var/atom/movable/screen/parallax_layer/layer in objects)
+ . += layer.Clone()
+
+/datum/parallax/proc/CreateObjects()
+ . = objects = list()
diff --git a/code/_rendering/parallax/parallax_holder.dm b/code/_rendering/parallax/parallax_holder.dm
new file mode 100644
index 0000000000..cbe095c02b
--- /dev/null
+++ b/code/_rendering/parallax/parallax_holder.dm
@@ -0,0 +1,311 @@
+/**
+ * # Parallax holders
+ *
+ * Holds all the information about a client's parallax
+ *
+ * Not on mob because parallax is area based, not mob based.
+ *
+ * How parallax works:
+ * - Layers - normal layers, scroll with movement to relative position, can scroll
+ * - Absolute - absolute layers, scroll with movement to absolute position, cannot scroll
+ * - Vis - vis_contents-like model - things in this are directly applied and get no processing whatsoever. Things like overmap ships can use this.
+ */
+/datum/parallax_holder
+ /// Client that owns us
+ var/client/owner
+ /// The parallax object we're currently rendering
+ var/datum/parallax/parallax
+ /// Eye we were last anchored to - used to detect eye changes
+ var/atom/cached_eye
+ /// force this eye as the "real" eye - useful for secondary maps
+ var/atom/forced_eye
+ /// last turf loc
+ var/turf/last
+ /// last area - for parallax scrolling/loop animations
+ var/area/last_area
+ /// Holder object for vis
+ var/atom/movable/screen/parallax_vis/vis_holder
+ /// are we not on the main map? if so, put map id here
+ var/secondary_map
+ /// all layers
+ var/list/atom/movable/screen/parallax_layer/layers
+ /// vis contents
+ var/list/atom/movable/vis
+ /// currently scrolling?
+ var/scrolling = FALSE
+ /// current scroll speed in DS per scroll
+ var/scroll_speed
+ /// current scroll turn - applied after angle. if angle is 0 (picture moving north) and turn is 90, it would be like if you turned your viewport 90 deg clockwise.
+ var/scroll_turn
+ /// override planemaster we manipulate for turning and other effects
+ var/atom/movable/screen/plane_master/parallax/planemaster_override
+
+/datum/parallax_holder/New(client/C, secondary_map, forced_eye, planemaster_override)
+ owner = C
+ if(!owner)
+ CRASH("No client")
+ src.secondary_map = secondary_map
+ src.forced_eye = forced_eye
+ src.planemaster_override = planemaster_override
+ Reset()
+
+/datum/parallax_holder/Destroy()
+ if(owner)
+ if(owner.parallax_holder == src)
+ owner.parallax_holder = null
+ Remove()
+ HardResetAnimations()
+ QDEL_NULL(vis_holder)
+ QDEL_NULL(parallax)
+ layers = null
+ vis = null
+ last = null
+ forced_eye = cached_eye = null
+ owner = null
+ return ..()
+
+/datum/parallax_holder/proc/Reset(auto_z_change, force)
+ if(!(cached_eye = Eye()))
+ // if no eye, tear down
+ last = cached_eye = last_area = null
+ SetParallax(null, null, auto_z_change)
+ return
+ // first, check loc
+ var/turf/T = get_turf(cached_eye)
+ if(!T)
+ // if in nullspace, tear down
+ last = cached_eye = last_area = null
+ SetParallax(null, null, auto_z_change)
+ return
+ // set last loc and eye
+ last = T
+ last_area = T.loc
+ // rebuild parallax
+ SetParallax(SSparallax.get_parallax_datum(T.z), null, auto_z_change, force)
+ // hard reset positions to correct positions
+ for(var/atom/movable/screen/parallax_layer/L in layers)
+ L.ResetPosition(T.x, T.y)
+
+// better updates via client_mobs_in_contents can be created again when important recursive contents is ported!
+/datum/parallax_holder/proc/Update(full)
+ if(!full && !cached_eye || (get_turf(cached_eye) == last))
+ return
+ if(!owner) // why are we here
+ if(!QDELETED(src))
+ qdel(src)
+ return
+ if(cached_eye != Eye())
+ // eye mismatch, reset
+ Reset()
+ return
+ var/turf/T = get_turf(cached_eye)
+ if(!last || T.z != last.z)
+ // z mismatch, reset
+ Reset()
+ return
+ // get rel offsets
+ var/rel_x = T.x - last.x
+ var/rel_y = T.y - last.y
+ // set last
+ last = T
+ // move
+ for(var/atom/movable/screen/parallax_layer/L in layers)
+ L.RelativePosition(T.x, T.y, rel_x, rel_y)
+ // process scrolling/movedir
+ if(last_area != T.loc)
+ last_area = T.loc
+ UpdateMotion()
+
+/**
+ * Gets the eye we should be centered on
+ */
+/datum/parallax_holder/proc/Eye()
+ return forced_eye || owner?.eye
+
+/**
+ * Gets the base parallax planemaster for things like turning
+ */
+/datum/parallax_holder/proc/GetPlaneMaster()
+ return planemaster_override || (owner && (locate(/atom/movable/screen/plane_master/parallax) in owner?.screen))
+
+/**
+ * Syncs us to our parallax objects. Does NOT check if we should have those objects, that's Reset()'s job.
+ *
+ * Doesn't move/update positions/screen locs either.
+ *
+ * Also ensures movedirs are correct for the eye's pos.
+ */
+/datum/parallax_holder/proc/Sync(auto_z_change, force)
+ layers = list()
+ for(var/atom/movable/screen/parallax_layer/L in parallax.objects)
+ layers += L
+ L.map_id = secondary_map
+ if(!istype(vis_holder))
+ vis_holder = new /atom/movable/screen/parallax_vis
+ var/turf/T = get_turf(cached_eye)
+ vis_holder.vis_contents = vis = T? SSparallax.get_parallax_vis_contents(T.z) : list()
+ UpdateMotion(auto_z_change, force)
+
+/**
+ * Updates motion if needed
+ */
+/datum/parallax_holder/proc/UpdateMotion(auto_z_change, force)
+ var/turf/T = get_turf(cached_eye)
+ if(!T)
+ if(scroll_speed || scroll_turn)
+ HardResetAnimations()
+ return
+ var/list/ret = SSparallax.get_parallax_motion(T.z)
+ if(ret)
+ Animation(ret[1], ret[2], auto_z_change? 0 : ret[3], auto_z_change? 0 : ret[4], force)
+ else
+ var/area/A = T.loc
+ Animation(A.parallax_move_speed, A.parallax_move_angle, auto_z_change? 0 : null, auto_z_change? 0 : null, force)
+
+/datum/parallax_holder/proc/Apply(client/C = owner)
+ if(QDELETED(C))
+ return
+ . = list()
+ for(var/atom/movable/screen/parallax_layer/L in layers)
+ if(L.parallax_intensity > owner.prefs.parallax)
+ continue
+ if(!L.ShouldSee(C, last))
+ continue
+ L.SetView(C.view, TRUE)
+ . |= L
+ C.screen |= .
+ if(!secondary_map && (owner.prefs.parallax != PARALLAX_DISABLE))
+ var/atom/movable/screen/plane_master/parallax_white/PM = locate() in C.screen
+ if(PM)
+ PM.color = list(
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 1, 1, 1, 1,
+ 0, 0, 0, 0
+ )
+
+/datum/parallax_holder/proc/Remove(client/C = owner)
+ if(QDELETED(C))
+ return
+ C.screen -= layers
+ if(!secondary_map)
+ var/atom/movable/screen/plane_master/parallax_white/PM = locate() in C.screen
+ if(PM)
+ PM.color = initial(PM.color)
+
+/datum/parallax_holder/proc/SetParallaxType(path)
+ if(!ispath(path, /datum/parallax))
+ CRASH("Invalid path")
+ SetParallax(new path)
+
+/datum/parallax_holder/proc/SetParallax(datum/parallax/P, delete_old = TRUE, auto_z_change, force)
+ if(P == parallax)
+ return
+ Remove()
+ if(delete_old && istype(parallax) && !QDELETED(parallax))
+ qdel(parallax)
+ HardResetAnimations()
+ parallax = P
+ if(!parallax)
+ return
+ Sync(auto_z_change, force)
+ Apply()
+
+/**
+ * Runs a modifier to parallax as an animation.
+ *
+ * @params
+ * speed - ds per loop
+ * turn - angle clockwise from north to turn the motion to
+ * windup - ds to spend on windups. 0 for immediate.
+ * turn_speed - ds to spend on turning. 0 for immediate.
+ */
+/datum/parallax_holder/proc/Animation(speed = 25, turn = 0, windup = speed, turn_speed = speed, force)
+ // Parallax doesn't currently use this method of rotating.
+
+ // #if !PARALLAX_ROTATION_ANIMATIONS
+ // turn_speed = 0
+ // #endif
+
+ if(speed == 0)
+ StopScrolling(turn = turn, time = windup)
+ return
+ // if(turn != scroll_turn && GetPlaneMaster())
+ // // first handle turn. we turn the planemaster
+ // var/matrix/turn_transform = matrix()
+ // turn_transform.Turn(turn)
+ // scroll_turn = turn
+ // animate(GetPlaneMaster(), transform = turn_transform, time = turn_speed, easing = QUAD_EASING | EASE_IN, flags = ANIMATION_END_NOW | ANIMATION_LINEAR_TRANSFORM)
+ if(scroll_speed == speed && !force)
+ // we're done
+ return
+ // speed diff?
+ scroll_speed = speed
+ scrolling = TRUE
+ // always scroll from north; turn handles everything
+ for(var/atom/movable/screen/parallax_layer/P in layers)
+ if(P.absolute)
+ continue
+ var/matrix/translate_matrix = matrix()
+ translate_matrix.Translate(cos(turn) * 480, sin(turn) * 480)
+ var/matrix/target_matrix = matrix()
+ var/move_speed = speed * P.speed
+ // do the first segment by shifting down one screen
+ P.transform = translate_matrix
+ animate(P, transform = target_matrix, time = move_speed, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_END_NOW)
+ // queue up another incase lag makes QueueLoop not fire on time, this time by shifting up
+ animate(transform = translate_matrix, time = 0)
+ animate(transform = target_matrix, time = move_speed)
+ P.QueueLoop(move_speed, speed * P.speed, translate_matrix, target_matrix)
+
+/**
+ * Smoothly stops the animation, turning to a certain angle as needed.
+ */
+/datum/parallax_holder/proc/StopScrolling(turn = 0, time = 30)
+ // reset turn
+ if(turn != scroll_turn && GetPlaneMaster())
+ var/matrix/turn_transform = matrix()
+ turn_transform.Turn(turn)
+ scroll_turn = turn
+ animate(GetPlaneMaster(), transform = turn_transform, time = time, easing = QUAD_EASING | EASE_OUT, flags = ANIMATION_END_NOW | ANIMATION_LINEAR_TRANSFORM)
+ if(scroll_speed == 0)
+ // we're done
+ scrolling = FALSE
+ scroll_speed = 0
+ return
+ scrolling = FALSE
+ scroll_speed = 0
+ // someone can do the math for "stop after a smooth iteration" later.
+ for(var/atom/movable/screen/parallax_layer/P in layers)
+ if(P.absolute)
+ continue
+ P.CancelAnimation()
+ var/matrix/translate_matrix = matrix()
+ translate_matrix.Translate(cos(turn) * 480, sin(turn) * 480)
+ P.transform = translate_matrix
+ animate(P, transform = matrix(), time = time, easing = QUAD_EASING | EASE_OUT)
+
+/**
+ * fully resets animation state
+ */
+/datum/parallax_holder/proc/HardResetAnimations()
+ // reset vars
+ scroll_turn = 0
+ scroll_speed = 0
+ scrolling = FALSE
+ // reset turn
+ if(GetPlaneMaster())
+ animate(GetPlaneMaster(), transform = matrix(), time = 0, flags = ANIMATION_END_NOW)
+ // reset objects
+ for(var/atom/movable/screen/parallax_layer/P in layers)
+ if(P.absolute)
+ continue
+ P.CancelAnimation()
+ animate(P, transform = matrix(), time = 0, flags = ANIMATION_END_NOW)
+
+/client/proc/CreateParallax()
+ if(!parallax_holder)
+ parallax_holder = new(src)
+/atom/movable/screen/parallax_vis
+ screen_loc = "CENTER,CENTER"
diff --git a/code/_rendering/parallax/parallax_object.dm b/code/_rendering/parallax/parallax_object.dm
new file mode 100644
index 0000000000..8307fc5f08
--- /dev/null
+++ b/code/_rendering/parallax/parallax_object.dm
@@ -0,0 +1,137 @@
+
+/atom/movable/screen/parallax_layer
+ icon = 'icons/screen/parallax.dmi'
+ blend_mode = BLEND_ADD
+ plane = PLANE_SPACE_PARALLAX
+ screen_loc = "CENTER-7,CENTER-7"
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance_flags = PIXEL_SCALE | KEEP_TOGETHER
+
+ // notice - all parallax layers are 15x15 tiles. They roll over every 240 pixels.
+ /// pixel x/y shift per real x/y
+ var/speed = 1
+ /// current cached offset x
+ var/offset_x = 0
+ /// current cached offset y
+ var/offset_y = 0
+ /// normal centered x
+ var/center_x = 0
+ /// normal centered y
+ var/center_y = 0
+ /// absolute - always determine shift x/y as a function of real x/y instead of allowing for relative scroll.
+ var/absolute = FALSE
+ /// parallax level required to see this
+ var/parallax_intensity = PARALLAX_INSANE
+ /// current view we're adapted to
+ var/view_current
+ /// dynamic self tile - tile to our view size. set this to false for static parallax layers.
+ var/dynamic_self_tile = TRUE
+ /// map id
+ var/map_id
+ /// queued animation timerid
+ var/queued_animation
+
+/atom/movable/screen/parallax_layer/proc/ResetPosition(x, y)
+ // remember that our offsets/directiosn are relative to the player's viewport
+ // this means we need to scroll reverse to them.
+ offset_x = -(center_x + speed * x)
+ offset_y = -(center_y + speed * y)
+ if(!absolute)
+ if(offset_x > 240)
+ offset_x -= 480
+ if(offset_x < -240)
+ offset_x += 480
+ if(offset_y > 240)
+ offset_y -= 480
+ if(offset_y < -240)
+ offset_y += 480
+ screen_loc = "[map_id && "[map_id]:"]CENTER-7:[round(offset_x,1)],CENTER-7:[round(offset_y,1)]"
+
+/atom/movable/screen/parallax_layer/proc/RelativePosition(x, y, rel_x, rel_y)
+ if(absolute)
+ return ResetPosition(x, y)
+ offset_x -= rel_x * speed
+ offset_y -= rel_y * speed
+ if(offset_x > 240)
+ offset_x -= 480
+ if(offset_x < -240)
+ offset_x += 480
+ if(offset_y > 240)
+ offset_y -= 480
+ if(offset_y < -240)
+ offset_y += 480
+ screen_loc = "[map_id && "[map_id]:"]CENTER-7:[round(offset_x,1)],CENTER-7:[round(offset_y,1)]"
+
+/atom/movable/screen/parallax_layer/proc/SetView(client_view = world.view, force_update = FALSE)
+ if(view_current == client_view && !force_update)
+ return
+ view_current = client_view
+ if(!dynamic_self_tile)
+ return
+ var/list/real_view = getviewsize(client_view)
+ var/count_x = CEILING((real_view[1] / 2) / 15, 1) + 1
+ var/count_y = CEILING((real_view[2] / 2) / 15, 1) + 1
+ var/list/new_overlays = GetOverlays()
+ for(var/x in -count_x to count_x)
+ for(var/y in -count_y to count_y)
+ if(!x && !y)
+ continue
+ var/mutable_appearance/clone = new
+ // appearance clone
+ clone.icon = icon
+ clone.icon_state = icon_state
+ clone.overlays = GetOverlays()
+ // do NOT inherit our overlays! parallax layers should never have overlays,
+ // because if it inherited us it'll result in exponentially increasing overlays
+ // due to cut_overlays() above over there being a queue operation and not instant!
+ // clone.overlays = list()
+ // currently instantly using overlays =.
+ // clone.blend_mode = blend_mode
+ // clone.mouse_opacity = mouse_opacity
+ // clone.plane = plane
+ // clone.layer = layer
+ // shift to position
+ clone.transform = matrix(1, 0, x * 480, 0, 1, y * 480)
+ new_overlays += clone
+ overlays = new_overlays
+
+/atom/movable/screen/parallax_layer/proc/ShouldSee(client/C, atom/location)
+ return TRUE
+
+/**
+ * Return "natural" overlays, as we're goin to do some fuckery to overlays above.
+ */
+/atom/movable/screen/parallax_layer/proc/GetOverlays()
+ return list()
+
+/atom/movable/screen/parallax_layer/proc/Clone()
+ var/atom/movable/screen/parallax_layer/layer = new type
+ layer.speed = speed
+ layer.offset_x = offset_x
+ layer.offset_y = offset_y
+ layer.absolute = absolute
+ layer.parallax_intensity = parallax_intensity
+ layer.view_current = view_current
+ layer.appearance = appearance
+
+/atom/movable/screen/parallax_layer/proc/default_x()
+ return center_x
+
+/atom/movable/screen/parallax_layer/proc/default_y()
+ return center_y
+
+/atom/movable/screen/parallax_layer/proc/QueueLoop(delay, speed, matrix/translate_matrix, matrix/target_matrix)
+ if(queued_animation)
+ CancelAnimation()
+ queued_animation = addtimer(CALLBACK(src, .proc/_loop, speed, translate_matrix, target_matrix), delay, TIMER_STOPPABLE)
+
+/atom/movable/screen/parallax_layer/proc/_loop(speed, matrix/translate_matrix = matrix(1, 0, 0, 0, 1, 480), matrix/target_matrix = matrix())
+ transform = translate_matrix
+ animate(src, transform = target_matrix, time = speed, loop = -1)
+ animate(transform = translate_matrix, time = 0)
+ queued_animation = null
+
+/atom/movable/screen/parallax_layer/proc/CancelAnimation()
+ if(queued_animation)
+ deltimer(queued_animation)
+ queued_animation = null
diff --git a/code/_rendering/parallax/types/space.dm b/code/_rendering/parallax/types/space.dm
new file mode 100644
index 0000000000..38ad62aede
--- /dev/null
+++ b/code/_rendering/parallax/types/space.dm
@@ -0,0 +1,66 @@
+/datum/parallax/space
+ var/static/planet_offset_x = rand(100, 160)
+ var/static/planet_offset_y = rand(100, 160)
+ var/static/random_layer = pickweightAllowZero(list(
+ /atom/movable/screen/parallax_layer/space/random/asteroids = 35,
+ /atom/movable/screen/parallax_layer/space/random/space_gas = 35,
+ null = 30
+ ))
+ var/static/random_gas_color = pick(COLOR_TEAL, COLOR_GREEN, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE, COLOR_PURPLE)
+
+/datum/parallax/space/CreateObjects()
+ . = ..()
+ . += new /atom/movable/screen/parallax_layer/space/layer_1
+ . += new /atom/movable/screen/parallax_layer/space/layer_2
+ . += new /atom/movable/screen/parallax_layer/space/layer_3
+ var/atom/movable/screen/parallax_layer/space/planet/P = new
+ P.pixel_x = planet_offset_x
+ P.pixel_y = planet_offset_y
+ . += P
+ if(random_layer)
+ . += new random_layer
+ if(ispath(random_layer, /atom/movable/screen/parallax_layer/space/random/space_gas))
+ var/atom/movable/screen/parallax_layer/space/random/space_gas/SG = locate(random_layer) in objects
+ SG.add_atom_colour(random_gas_color, ADMIN_COLOUR_PRIORITY)
+
+/atom/movable/screen/parallax_layer/space/layer_1
+ icon_state = "layer1"
+ speed = 0.6
+ layer = 1
+ parallax_intensity = PARALLAX_LOW
+
+/atom/movable/screen/parallax_layer/space/layer_2
+ icon_state = "layer2"
+ speed = 1
+ layer = 2
+ parallax_intensity = PARALLAX_MED
+
+/atom/movable/screen/parallax_layer/space/layer_3
+ icon_state = "layer3"
+ speed = 1.4
+ layer = 3
+ parallax_intensity = PARALLAX_HIGH
+
+/atom/movable/screen/parallax_layer/space/random
+ blend_mode = BLEND_OVERLAY
+ speed = 3
+ layer = 3
+ parallax_intensity = PARALLAX_INSANE
+
+/atom/movable/screen/parallax_layer/space/random/space_gas
+ icon_state = "space_gas"
+
+/atom/movable/screen/parallax_layer/space/random/asteroids
+ icon_state = "asteroids"
+
+/atom/movable/screen/parallax_layer/space/planet
+ icon_state = "planet"
+ blend_mode = BLEND_OVERLAY
+ absolute = TRUE //Status of seperation
+ speed = 3
+ layer = 30
+ dynamic_self_tile = FALSE
+
+/atom/movable/screen/parallax_layer/space/planet/ShouldSee(client/C, atom/location)
+ var/turf/T = get_turf(location)
+ return ..() && T && is_station_level(T.z)
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index fad9879af9..1ffb5089b4 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -348,6 +348,8 @@
/datum/config_entry/flag/dynamic_config_enabled
+/datum/config_entry/flag/station_name_needs_approval
+
//ambition end
config_entry_value = 5
/datum/config_entry/number/max_ambitions // Maximum number of ambitions a mind can store.
diff --git a/code/controllers/configuration/entries/logging.dm b/code/controllers/configuration/entries/logging.dm
index 25ca145939..54bd5cb713 100644
--- a/code/controllers/configuration/entries/logging.dm
+++ b/code/controllers/configuration/entries/logging.dm
@@ -4,6 +4,10 @@
/datum/config_entry/flag/log_access // log login/logout
config_entry_value = TRUE
+/// Config entry which special logging of failed logins under suspicious circumstances.
+/datum/config_entry/flag/log_suspicious_login
+ config_entry_value = TRUE
+
/datum/config_entry/flag/log_say // log client say
config_entry_value = TRUE
diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm
index 6f5d2ebe57..7329dd653f 100644
--- a/code/controllers/subsystem/air.dm
+++ b/code/controllers/subsystem/air.dm
@@ -116,6 +116,11 @@ SUBSYSTEM_DEF(air)
/datum/controller/subsystem/air/proc/auxtools_update_reactions()
+/datum/controller/subsystem/air/proc/add_reaction(datum/gas_reaction/r)
+ gas_reactions += r
+ sortTim(gas_reactions, /proc/cmp_gas_reaction)
+ auxtools_update_reactions()
+
/proc/reset_all_air()
SSair.can_fire = 0
message_admins("Air reset begun.")
diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm
index 02aad6dec3..8a84251341 100644
--- a/code/controllers/subsystem/atoms.dm
+++ b/code/controllers/subsystem/atoms.dm
@@ -14,6 +14,9 @@ SUBSYSTEM_DEF(atoms)
var/list/BadInitializeCalls = list()
+ /// Atoms that will be deleted once the subsystem is initialized
+ var/list/queued_deletions = list()
+
initialized = INITIALIZATION_INSSATOMS
/datum/controller/subsystem/atoms/Initialize(timeofday)
@@ -62,6 +65,12 @@ SUBSYSTEM_DEF(atoms)
testing("Late initialized [late_loaders.len] atoms")
late_loaders.Cut()
+ for (var/queued_deletion in queued_deletions)
+ qdel(queued_deletion)
+
+ testing("[queued_deletions.len] atoms were queued for deletion.")
+ queued_deletions.Cut()
+
/// Init this specific atom
/datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments)
var/the_type = A.type
@@ -151,6 +160,14 @@ SUBSYSTEM_DEF(atoms)
if(fails & BAD_INIT_SLEPT)
. += "- Slept during Initialize()\n"
+/// Prepares an atom to be deleted once the atoms SS is initialized.
+/datum/controller/subsystem/atoms/proc/prepare_deletion(atom/target)
+ if (initialized == INITIALIZATION_INNEW_REGULAR)
+ // Atoms SS has already completed, just kill it now.
+ qdel(target)
+ else
+ queued_deletions += WEAKREF(target)
+
/datum/controller/subsystem/atoms/Shutdown()
var/initlog = InitLog()
if(initlog)
diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm
index 718357b8bb..58a88890dd 100644
--- a/code/controllers/subsystem/communications.dm
+++ b/code/controllers/subsystem/communications.dm
@@ -1,33 +1,67 @@
-#define COMMUNICATION_COOLDOWN 300
-#define COMMUNICATION_COOLDOWN_AI 300
+#define COMMUNICATION_COOLDOWN (30 SECONDS)
+#define COMMUNICATION_COOLDOWN_AI (30 SECONDS)
+#define COMMUNICATION_COOLDOWN_MEETING (5 MINUTES)
SUBSYSTEM_DEF(communications)
name = "Communications"
flags = SS_NO_INIT | SS_NO_FIRE
- var/silicon_message_cooldown
- var/nonsilicon_message_cooldown
+ COOLDOWN_DECLARE(silicon_message_cooldown)
+ COOLDOWN_DECLARE(nonsilicon_message_cooldown)
+ COOLDOWN_DECLARE(emergency_meeting_cooldown)
/datum/controller/subsystem/communications/proc/can_announce(mob/living/user, is_silicon)
- if(is_silicon && silicon_message_cooldown > world.time)
- . = FALSE
- else if(!is_silicon && nonsilicon_message_cooldown > world.time)
- . = FALSE
+ if(is_silicon && COOLDOWN_FINISHED(src, silicon_message_cooldown))
+ return TRUE
+ else if(!is_silicon && COOLDOWN_FINISHED(src, nonsilicon_message_cooldown))
+ return TRUE
else
- . = TRUE
+ return FALSE
/datum/controller/subsystem/communications/proc/make_announcement(mob/living/user, is_silicon, input)
if(!can_announce(user, is_silicon))
return FALSE
if(is_silicon)
minor_announce(html_decode(input),"[user.name] Announces:")
- silicon_message_cooldown = world.time + COMMUNICATION_COOLDOWN_AI
+ COOLDOWN_START(src, silicon_message_cooldown, COMMUNICATION_COOLDOWN_AI)
else
- priority_announce(html_decode(user.treat_message(input)), null, 'sound/misc/announce.ogg', "Captain")
- nonsilicon_message_cooldown = world.time + COMMUNICATION_COOLDOWN
+ priority_announce(html_decode(user.treat_message(input)), null, 'sound/misc/announce.ogg', "Captain", has_important_message = TRUE)
+ COOLDOWN_START(src, nonsilicon_message_cooldown, COMMUNICATION_COOLDOWN)
user.log_talk(input, LOG_SAY, tag="priority announcement")
message_admins("[ADMIN_LOOKUPFLW(user)] has made a priority announcement.")
+/**
+ * Check if a mob can call an emergency meeting
+ *
+ * Should only really happen during april fools.
+ * Checks to see that it's been at least 5 minutes since the last emergency meeting call.
+ * Arguments:
+ * * user - Mob who called the meeting
+ */
+/datum/controller/subsystem/communications/proc/can_make_emergency_meeting(mob/living/user)
+ if(!(SSevents.holidays && SSevents.holidays[APRIL_FOOLS]))
+ return FALSE
+ else if(COOLDOWN_FINISHED(src, emergency_meeting_cooldown))
+ return TRUE
+ else
+ return FALSE
+
+/**
+ * Call an emergency meeting
+ *
+ * Communications subsystem wrapper for the call_emergency_meeting world proc.
+ * Checks to make sure the proc can be called, and handles
+ * relevant logging and timing. See that proc definition for more detail.
+ * Arguments:
+ * * user - Mob who called the meeting
+ */
+/datum/controller/subsystem/communications/proc/emergency_meeting(mob/living/user)
+ if(!can_make_emergency_meeting(user))
+ return FALSE
+ call_emergency_meeting(user, get_area(user))
+ COOLDOWN_START(src, emergency_meeting_cooldown, COMMUNICATION_COOLDOWN_MEETING)
+ message_admins("[ADMIN_LOOKUPFLW(user)] has called an emergency meeting.")
+
/datum/controller/subsystem/communications/proc/send_message(datum/comm_message/sending,print = TRUE,unique = FALSE)
for(var/obj/machinery/computer/communications/C in GLOB.machines)
if(!(C.stat & (BROKEN|NOPOWER)) && is_station_level(C.z))
@@ -40,7 +74,7 @@ SUBSYSTEM_DEF(communications)
var/obj/item/paper/P = new /obj/item/paper(C.loc)
P.name = "paper - '[sending.title]'"
P.info = sending.content
- P.update_icon()
+ P.update_appearance()
#undef COMMUNICATION_COOLDOWN
#undef COMMUNICATION_COOLDOWN_AI
diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm
index 86bd517602..248b33d86d 100644
--- a/code/controllers/subsystem/parallax.dm
+++ b/code/controllers/subsystem/parallax.dm
@@ -5,21 +5,6 @@ SUBSYSTEM_DEF(parallax)
priority = FIRE_PRIORITY_PARALLAX
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
var/list/currentrun
- var/planet_x_offset = 128
- var/planet_y_offset = 128
- var/random_layer
- var/random_parallax_color
-
-
-//These are cached per client so needs to be done asap so people joining at roundstart do not miss these.
-/datum/controller/subsystem/parallax/PreInit()
- . = ..()
- if(prob(70)) //70% chance to pick a special extra layer
- random_layer = pick(/atom/movable/screen/parallax_layer/random/space_gas, /atom/movable/screen/parallax_layer/random/asteroids)
- random_parallax_color = pick(COLOR_TEAL, COLOR_GREEN, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE, COLOR_PURPLE)//Special color for random_layer1. Has to be done here so everyone sees the same color. [COLOR_SILVER]
- planet_y_offset = rand(100, 160)
- planet_x_offset = rand(100, 160)
-
/datum/controller/subsystem/parallax/fire(resumed = FALSE)
if (!resumed)
@@ -28,28 +13,82 @@ SUBSYSTEM_DEF(parallax)
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
- while(length(currentrun))
- var/client/processing_client = currentrun[currentrun.len]
- currentrun.len--
- if (QDELETED(processing_client) || !processing_client.eye)
+ if(times_fired % 5) // lazy tick
+ while(length(currentrun))
+ var/client/processing_client = currentrun[currentrun.len]
+ currentrun.len--
+ if (QDELETED(processing_client) || !processing_client.eye)
+ if (MC_TICK_CHECK)
+ return
+ continue
+ processing_client.parallax_holder?.Update()
if (MC_TICK_CHECK)
return
- continue
-
- var/atom/movable/movable_eye = processing_client.eye
- if(!istype(movable_eye))
- continue
-
- for (movable_eye; isloc(movable_eye.loc) && !isturf(movable_eye.loc); movable_eye = movable_eye.loc);
-
- if(movable_eye == processing_client.movingmob)
+ else // full tick
+ while(length(currentrun))
+ var/client/processing_client = currentrun[currentrun.len]
+ currentrun.len--
+ if (QDELETED(processing_client) || !processing_client.eye)
+ if (MC_TICK_CHECK)
+ return
+ continue
+ processing_client.parallax_holder?.Update(TRUE)
if (MC_TICK_CHECK)
return
- continue
- if(!isnull(processing_client.movingmob))
- LAZYREMOVE(processing_client.movingmob.client_mobs_in_contents, processing_client.mob)
- LAZYADD(movable_eye.client_mobs_in_contents, processing_client.mob)
- processing_client.movingmob = movable_eye
- if (MC_TICK_CHECK)
- return
+
currentrun = null
+
+/**
+ * Gets parallax type for zlevel.
+ */
+/datum/controller/subsystem/parallax/proc/get_parallax_type(z)
+ return /datum/parallax/space
+
+/**
+ * Gets parallax for zlevel.
+ */
+/datum/controller/subsystem/parallax/proc/get_parallax_datum(z)
+ var/datum_type = get_parallax_type(z)
+ return new datum_type
+
+/**
+ * Gets parallax added vis contents for zlevel
+ */
+/datum/controller/subsystem/parallax/proc/get_parallax_vis_contents(z)
+ return list()
+
+/**
+ * Gets parallax motion for a zlevel
+ *
+ * Returns null or list(speed, dir deg clockwise from north, windup, turnrate)
+ * THE RETURNED LIST MUST BE A 4-TUPLE, OR PARALLAX WILL CRASH.
+ * DO NOT SCREW WITH THIS UNLESS YOU KNOW WHAT YOU ARE DOING.
+ *
+ * This will override area motion
+ */
+/datum/controller/subsystem/parallax/proc/get_parallax_motion(z)
+ return null
+
+/**
+ * updates all parallax for clients on a z
+ */
+/datum/controller/subsystem/parallax/proc/update_clients_on_z(z)
+ for(var/client/C in GLOB.clients)
+ if(C.mob.z == z)
+ C.parallax_holder?.Update()
+
+/**
+ * resets all parallax for clients on a z
+ */
+/datum/controller/subsystem/parallax/proc/reset_clients_on_z(z)
+ for(var/client/C in GLOB.clients)
+ if(C.mob.z == z)
+ C.parallax_holder?.Reset()
+
+/**
+ * updates motion of all clients on z
+ */
+/datum/controller/subsystem/parallax/proc/update_z_motion(z)
+ for(var/client/C in GLOB.clients)
+ if(C.mob.z == z)
+ C.parallax_holder?.UpdateMotion()
diff --git a/code/controllers/subsystem/processing/processing.dm b/code/controllers/subsystem/processing/processing.dm
index 661eafc2a5..058645da49 100644
--- a/code/controllers/subsystem/processing/processing.dm
+++ b/code/controllers/subsystem/processing/processing.dm
@@ -17,7 +17,6 @@ SUBSYSTEM_DEF(processing)
/datum/controller/subsystem/processing/fire(resumed = FALSE)
if (!resumed)
currentrun = processing.Copy()
- var/delta_time = (flags & SS_TICKER)? (wait * world.tick_lag * 0.1) : (wait * 0.1)
//cache for sanic speed (lists are references anyways)
var/list/current_run = currentrun
@@ -26,7 +25,7 @@ SUBSYSTEM_DEF(processing)
current_run.len--
if(QDELETED(thing))
processing -= thing
- else if(thing.process(delta_time) == PROCESS_KILL)
+ else if(thing.process(wait * 0.1) == PROCESS_KILL)
// fully stop so that a future START_PROCESSING will work
STOP_PROCESSING(src, thing)
if (MC_TICK_CHECK)
@@ -47,5 +46,5 @@ SUBSYSTEM_DEF(processing)
* If you override this do not call parent, as it will return PROCESS_KILL. This is done to prevent objects that dont override process() from staying in the processing list
*/
/datum/proc/process(delta_time)
- SHOULD_NOT_SLEEP(TRUE)
+ set waitfor = FALSE
return PROCESS_KILL
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index 74cd53b0ae..b3c8a6422f 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -48,6 +48,13 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
cli.prefs.save_character()
if (!silent && LAZYLEN(cut))
to_chat(to_chat_target || user, "Some quirks have been cut from your character because of these quirks conflicting with your job assignment: [english_list(cut)].")
+
+ var/mob/living/carbon/human/H = user
+ if(istype(H) && H.dna?.species)
+ var/datum/species/S = H.dna.species
+ if(S.remove_blacklisted_quirks(H))
+ to_chat(to_chat_target || user, "Some quirks have been cut from your character due to them conflicting with your species: [english_list(S.removed_quirks)]")
+
/datum/controller/subsystem/processing/quirks/proc/quirk_path_by_name(name)
return quirks[name]
diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm
index 6af79d4d14..da295d70e2 100644
--- a/code/controllers/subsystem/shuttle.dm
+++ b/code/controllers/subsystem/shuttle.dm
@@ -513,7 +513,9 @@ SUBSYSTEM_DEF(shuttle)
if(!midpoint)
return FALSE
var/area/shuttle/transit/A = new()
- A.parallax_movedir = travel_dir
+ A.parallax_moving = TRUE
+ A.parallax_move_angle = dir2angle(travel_dir)
+ A.parallax_move_speed = M.parallax_speed
A.contents = proposal.reserved_turfs
var/obj/docking_port/stationary/transit/new_transit_dock = new(midpoint)
new_transit_dock.reserved_area = proposal
diff --git a/code/controllers/subsystem/sound_loops.dm b/code/controllers/subsystem/sound_loops.dm
new file mode 100644
index 0000000000..c1e6d097d6
--- /dev/null
+++ b/code/controllers/subsystem/sound_loops.dm
@@ -0,0 +1,3 @@
+PROCESSING_SUBSYSTEM_DEF(sound_loops)
+ name = "Sound Loops"
+ priority = FIRE_PRIORITY_SOUND_LOOPS
diff --git a/code/controllers/subsystem/sounds.dm b/code/controllers/subsystem/sounds.dm
index fa9ba3c472..7d94a3d21d 100644
--- a/code/controllers/subsystem/sounds.dm
+++ b/code/controllers/subsystem/sounds.dm
@@ -4,7 +4,7 @@ SUBSYSTEM_DEF(sounds)
name = "Sounds"
flags = SS_NO_FIRE
init_order = INIT_ORDER_SOUNDS
- var/static/using_channels_max = CHANNEL_HIGHEST_AVAILABLE //BYOND max channels
+ var/static/using_channels_max = CHANNEL_HIGHEST_AVAILABLE //BYOND max channels
/// Amount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.
var/static/random_channels_min = 50
@@ -42,7 +42,7 @@ SUBSYSTEM_DEF(sounds)
var/text_channel = num2text(channel)
var/using = using_channels[text_channel]
using_channels -= text_channel
- if(using != TRUE) // datum channel
+ if(using != TRUE) // datum channel
using_channels_by_datum[using] -= channel
if(!length(using_channels_by_datum[using]))
using_channels_by_datum -= using
@@ -65,7 +65,7 @@ SUBSYSTEM_DEF(sounds)
/// NO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.
/datum/controller/subsystem/sounds/proc/reserve_sound_channel_datumless()
. = reserve_channel()
- if(!.) //oh no..
+ if(!.) //oh no..
return FALSE
var/text_channel = num2text(.)
using_channels[text_channel] = DATUMLESS
@@ -74,7 +74,7 @@ SUBSYSTEM_DEF(sounds)
/// Reserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.
/datum/controller/subsystem/sounds/proc/reserve_sound_channel(datum/D)
- if(!D) //i don't like typechecks but someone will fuck it up
+ if(!D) //i don't like typechecks but someone will fuck it up
CRASH("Attempted to reserve sound channel without datum using the managed proc.")
.= reserve_channel()
if(!.)
@@ -89,7 +89,7 @@ SUBSYSTEM_DEF(sounds)
*/
/datum/controller/subsystem/sounds/proc/reserve_channel()
PRIVATE_PROC(TRUE)
- if(channel_reserve_high <= random_channels_min) // out of channels
+ if(channel_reserve_high <= random_channels_min) // out of channels
return
var/channel = channel_list[channel_reserve_high]
reserved_channels[num2text(channel)] = channel_reserve_high--
@@ -112,7 +112,7 @@ SUBSYSTEM_DEF(sounds)
// now, an existing reserved channel will likely (exception: unreserving last reserved channel) be at index
// get it, and update position.
var/text_reserved = num2text(channel_list[index])
- if(!reserved_channels[text_reserved]) //if it isn't already reserved make sure we don't accidently mistakenly put it on reserved list!
+ if(!reserved_channels[text_reserved]) //if it isn't already reserved make sure we don't accidently mistakenly put it on reserved list!
return
reserved_channels[text_reserved] = index
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 6f1fe6d8d0..05bef50714 100755
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -603,8 +603,10 @@ SUBSYSTEM_DEF(ticker)
news_message = "The burst of energy released near [station_name()] has been confirmed as merely a test of a new weapon. However, due to an unexpected mechanical error, their communications system has been knocked offline."
if(SHUTTLE_HIJACK)
news_message = "During routine evacuation procedures, the emergency shuttle of [station_name()] had its navigation protocols corrupted and went off course, but was recovered shortly after."
- if(GANG_VICTORY)
- news_message = "Company officials reaffirmed that sudden deployments of special forces are not in any way connected to rumors of [station_name()] being covered in graffiti."
+ if(GANG_OPERATING)
+ news_message = "The company would like to state that any rumors of criminal organizing on board stations such as [station_name()] are falsehoods, and not to be emulated."
+ if(GANG_DESTROYED)
+ news_message = "The crew of [station_name()] would like to thank the Spinward Stellar Coalition Police Department for quickly resolving a minor terror threat to the station."
if(SSblackbox.first_death)
var/list/ded = SSblackbox.first_death
diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm
index ed0a9fbab8..88008920b9 100644
--- a/code/datums/brain_damage/severe.dm
+++ b/code/datums/brain_damage/severe.dm
@@ -224,6 +224,7 @@
else
to_chat(owner, "You feel your heart lurching in your chest...")
owner.adjustOxyLoss(8)
+ else
/datum/brain_trauma/severe/discoordination
name = "Discoordination"
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 2057cbb21a..e8c7615ecb 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -4,7 +4,7 @@
var/window_id // window_id is used as the window name for browse and onclose
var/width = 0
var/height = 0
- var/atom/ref = null
+ var/datum/weakref/ref = null
var/window_options = "can_close=1;can_minimize=1;can_maximize=0;can_resize=1;titlebar=1;" // window option is set using window_id
var/stylesheets[0]
var/scripts[0]
@@ -16,8 +16,8 @@
/datum/browser/New(nuser, nwindow_id, ntitle = 0, nwidth = 0, nheight = 0, atom/nref = null)
-
user = nuser
+ RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/user_deleted)
window_id = nwindow_id
if (ntitle)
title = format_text(ntitle)
@@ -26,7 +26,11 @@
if (nheight)
height = nheight
if (nref)
- ref = nref
+ ref = WEAKREF(nref)
+
+/datum/browser/proc/user_deleted(datum/source)
+ SIGNAL_HANDLER
+ user = null
/datum/browser/proc/add_head_content(nhead_content)
head_content = nhead_content
@@ -35,7 +39,7 @@
window_options = nwindow_options
/datum/browser/proc/add_stylesheet(name, file)
- if(istype(name, /datum/asset/spritesheet))
+ if (istype(name, /datum/asset/spritesheet))
var/datum/asset/spritesheet/sheet = name
stylesheets["spritesheet_[sheet.name].css"] = "data/spritesheets/[sheet.name]"
else
@@ -94,27 +98,32 @@
"}
/datum/browser/proc/open(use_onclose = TRUE)
- if(isnull(window_id)) //null check because this can potentially nuke goonchat
+ if(isnull(window_id)) //null check because this can potentially nuke goonchat
WARNING("Browser [title] tried to open with a null ID")
- to_chat(user, "The [title] browser you tried to open failed a sanity check! Please report this on github!")
+ to_chat(user, span_userdanger("The [title] browser you tried to open failed a sanity check! Please report this on github!"))
return
var/window_size = ""
- if(width && height)
+ if (width && height)
window_size = "size=[width]x[height];"
common_asset.send(user)
- if(stylesheets.len)
+ if (stylesheets.len)
SSassets.transport.send_assets(user, stylesheets)
- if(scripts.len)
+ if (scripts.len)
SSassets.transport.send_assets(user, scripts)
user << browse(get_content(), "window=[window_id];[window_size][window_options]")
- if(use_onclose)
+ if (use_onclose)
setup_onclose()
/datum/browser/proc/setup_onclose()
set waitfor = 0 //winexists sleeps, so we don't need to.
for (var/i in 1 to 10)
- if (user && winexists(user, window_id))
- onclose(user, window_id, ref)
+ if (user?.client && winexists(user, window_id))
+ var/atom/send_ref
+ if(ref)
+ send_ref = ref.resolve()
+ if(!send_ref)
+ ref = null
+ onclose(user, window_id, send_ref)
break
/datum/browser/proc/close()
@@ -153,11 +162,35 @@
opentime = 0
close()
-//designed as a drop in replacement for alert(); functions the same. (outside of needing User specified)
-/proc/tgalert(mob/User, Message, Title, Button1="Ok", Button2, Button3, StealFocus = 1, Timeout = 6000)
+/**
+ * **DEPRECATED: USE tgui_alert(...) INSTEAD**
+ *
+ * Designed as a drop in replacement for alert(); functions the same. (outside of needing User specified)
+ * Arguments:
+ * * User - The user to show the alert to.
+ * * Message - The textual body of the alert.
+ * * Title - The title of the alert's window.
+ * * Button1 - The first button option.
+ * * Button2 - The second button option.
+ * * Button3 - The third button option.
+ * * StealFocus - Boolean operator controlling if the alert will steal the user's window focus.
+ * * Timeout - The timeout of the window, after which no responses will be valid.
+ */
+/proc/tgalert(mob/User, Message, Title, Button1="Ok", Button2, Button3, StealFocus = TRUE, Timeout = 6000)
if (!User)
User = usr
- switch(askuser(User, Message, Title, Button1, Button2, Button3, StealFocus, Timeout))
+ if (!istype(User))
+ if (istype(User, /client))
+ var/client/client = User
+ User = client.mob
+ else
+ return
+
+ // Get user's response using a modal
+ var/datum/browser/modal/alert/A = new(User, Message, Title, Button1, Button2, Button3, StealFocus, Timeout)
+ A.open()
+ A.wait()
+ switch(A.selectedbutton)
if (1)
return Button1
if (2)
@@ -197,8 +230,8 @@
.=..()
opentime = 0
-/datum/browser/modal/open(use_onclose = 1)
- set waitfor = 0
+/datum/browser/modal/open(use_onclose)
+ set waitfor = FALSE
opentime = world.time
if (stealfocus)
@@ -277,7 +310,7 @@
opentime = 0
close()
-/proc/presentpicker(var/mob/User,Message, Title, Button1="Ok", Button2, Button3, StealFocus = 1,Timeout = 6000,list/values, inputtype = "checkbox", width, height, slidecolor)
+/proc/presentpicker(mob/User,Message, Title, Button1="Ok", Button2, Button3, StealFocus = 1,Timeout = 6000,list/values, inputtype = "checkbox", width, height, slidecolor)
if (!istype(User))
if (istype(User, /client/))
var/client/C = User
@@ -290,7 +323,7 @@
if (A.selectedbutton)
return list("button" = A.selectedbutton, "values" = A.valueslist)
-/proc/input_bitfield(var/mob/User, title, bitfield, current_value, nwidth = 350, nheight = 350, nslidecolor, allowed_edit_list = null)
+/proc/input_bitfield(mob/User, title, bitfield, current_value, nwidth = 350, nheight = 350, nslidecolor, allowed_edit_list = null)
if (!User || !(bitfield in GLOB.bitfields))
return
var/list/pickerlist = list()
@@ -401,7 +434,7 @@
opentime = 0
close()
-/proc/presentpreflikepicker(var/mob/User,Message, Title, Button1="Ok", Button2, Button3, StealFocus = 1,Timeout = 6000,list/settings, width, height, slidecolor)
+/proc/presentpreflikepicker(mob/User,Message, Title, Button1="Ok", Button2, Button3, StealFocus = 1,Timeout = 6000,list/settings, width, height, slidecolor)
if (!istype(User))
if (istype(User, /client/))
var/client/C = User
@@ -414,12 +447,6 @@
if (A.selectedbutton)
return list("button" = A.selectedbutton, "settings" = A.settings)
-// This will allow you to show an icon in the browse window
-// This is added to mob so that it can be used without a reference to the browser object
-// There is probably a better place for this...
-/mob/proc/browse_rsc_icon(icon, icon_state, dir = -1)
-
-
// Registers the on-close verb for a browse window (client/verb/.windowclose)
// this will be called when the close-button of a window is pressed.
//
@@ -427,8 +454,8 @@
// e.g. canisters, timers, etc.
//
// windowid should be the specified window name
-// e.g. code is : user << browse(text, "window=fred")
-// then use : onclose(user, "fred")
+// e.g. code is : user << browse(text, "window=fred")
+// then use : onclose(user, "fred")
//
// Optionally, specify the "ref" parameter as the controlled atom (usually src)
// to pass a "close=1" parameter to the atom's Topic() proc for special handling.
@@ -451,18 +478,18 @@
// otherwise, just reset the client mob's machine var.
//
/client/verb/windowclose(atomref as text)
- set hidden = TRUE // hide this verb from the user's panel
- set name = ".windowclose" // no autocomplete on cmd line
+ set hidden = TRUE // hide this verb from the user's panel
+ set name = ".windowclose" // no autocomplete on cmd line
- if(atomref!="null") // if passed a real atomref
- var/hsrc = locate(atomref) // find the reffed atom
+ if(atomref!="null") // if passed a real atomref
+ var/hsrc = locate(atomref) // find the reffed atom
var/href = "close=1"
if(hsrc)
usr = src.mob
- src.Topic(href, params2list(href), hsrc) // this will direct to the atom's
- return // Topic() proc via client.Topic()
+ src.Topic(href, params2list(href), hsrc) // this will direct to the atom's
+ return // Topic() proc via client.Topic()
// no atomref specified (or not found)
// so just reset the user mob's machine var
- if(src && src.mob)
+ if(src?.mob)
src.mob.unset_machine()
diff --git a/code/datums/changelog/changelog.dm b/code/datums/changelog/changelog.dm
new file mode 100644
index 0000000000..3ce51c6034
--- /dev/null
+++ b/code/datums/changelog/changelog.dm
@@ -0,0 +1,32 @@
+/datum/changelog
+ var/static/list/changelog_items = list()
+
+/datum/changelog/ui_state()
+ return GLOB.always_state
+
+/datum/changelog/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if (!ui)
+ ui = new(user, src, "Changelog")
+ ui.open()
+
+/datum/changelog/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if(.)
+ return
+ if(action == "get_month")
+ var/datum/asset/changelog_item/changelog_item = changelog_items[params["date"]]
+ if (!changelog_item)
+ changelog_item = new /datum/asset/changelog_item(params["date"])
+ changelog_items[params["date"]] = changelog_item
+ return ui.send_asset(changelog_item)
+
+/datum/changelog/ui_static_data()
+ var/list/data = list( "dates" = list() )
+ var/regex/ymlRegex = regex(@"\.yml", "g")
+
+ for(var/archive_file in flist("[global.config.directory]/../html/changelogs/archive/"))
+ var/archive_date = ymlRegex.Replace(archive_file, "")
+ data["dates"] = list(archive_date) + data["dates"]
+
+ return data
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index eb49323464..ad71958107 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -18,8 +18,6 @@
#define CHAT_LAYER_Z_STEP 0.0001
/// The number of z-layer 'slices' usable by the chat message layering
#define CHAT_LAYER_MAX_Z (CHAT_LAYER_MAX - CHAT_LAYER) / CHAT_LAYER_Z_STEP
-/// Macro from Lummox used to get height from a MeasureText proc
-#define WXH_TO_HEIGHT(x) text2num(copytext(x, findtextEx(x, "x") + 1))
/**
* # Chat Message Overlay
@@ -125,7 +123,7 @@
// Append radio icon if from a virtual speaker
if (extra_classes.Find("virtual-speaker"))
- var/image/r_icon = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "radio")
+ var/image/r_icon = image('icons/ui_icons/chat/chat_icons.dmi', icon_state = "radio")
text = "\icon[r_icon] " + text
// We dim italicized text to make it more distinguishable from regular text
@@ -165,7 +163,7 @@
message.maptext_width = CHAT_MESSAGE_WIDTH
message.maptext_height = mheight
message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5
- message.maptext = complete_text
+ message.maptext = MAPTEXT(complete_text)
// View the message
LAZYADDASSOC(owned_by.seen_messages, message_loc, src)
diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm
index 2a8a0ea98a..6052b84364 100644
--- a/code/datums/cinematic.dm
+++ b/code/datums/cinematic.dm
@@ -101,7 +101,7 @@
if(!C)
return
watching += C
- M.overlay_fullscreen("cinematic",/atom/movable/screen/fullscreen/cinematic_backdrop)
+ M.overlay_fullscreen("cinematic",/atom/movable/screen/fullscreen/tiled/cinematic_backdrop)
C.screen += screen
//Sound helper
diff --git a/code/datums/components/area_sound_manager.dm b/code/datums/components/area_sound_manager.dm
new file mode 100644
index 0000000000..50bb77772f
--- /dev/null
+++ b/code/datums/components/area_sound_manager.dm
@@ -0,0 +1,77 @@
+///Allows you to set a theme for a set of areas without tying them to looping sounds explicitly
+/datum/component/area_sound_manager
+ ///area -> looping sound type
+ var/list/area_to_looping_type = list()
+ ///Current sound loop
+ var/datum/looping_sound/our_loop
+ ///A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves
+ var/list/accepted_zs
+ ///The timer id of our current start delay, if it exists
+ var/timerid
+
+/datum/component/area_sound_manager/Initialize(area_loop_pairs, change_on, remove_on, acceptable_zs)
+ if(!ismovable(parent))
+ return
+ area_to_looping_type = area_loop_pairs
+ accepted_zs = acceptable_zs
+ change_the_track()
+
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/react_to_move)
+ RegisterSignal(parent, COMSIG_MOVABLE_Z_CHANGED, .proc/react_to_z_move)
+ RegisterSignal(parent, change_on, .proc/handle_change)
+ RegisterSignal(parent, remove_on, .proc/handle_removal)
+
+/datum/component/area_sound_manager/Destroy(force, silent)
+ QDEL_NULL(our_loop)
+ . = ..()
+
+/datum/component/area_sound_manager/proc/react_to_move(datum/source, atom/oldloc, dir, forced)
+ SIGNAL_HANDLER
+ var/list/loop_lookup = area_to_looping_type
+ if(loop_lookup[get_area(oldloc)] == loop_lookup[get_area(parent)])
+ return
+ change_the_track(TRUE)
+
+/datum/component/area_sound_manager/proc/react_to_z_move(datum/source, old_z, new_z)
+ SIGNAL_HANDLER
+ if(!length(accepted_zs) || (new_z in accepted_zs))
+ return
+ qdel(src)
+
+/datum/component/area_sound_manager/proc/handle_removal(datum/source)
+ SIGNAL_HANDLER
+ qdel(src)
+
+/datum/component/area_sound_manager/proc/handle_change(datum/source)
+ SIGNAL_HANDLER
+ change_the_track()
+
+/datum/component/area_sound_manager/proc/change_the_track(skip_start = FALSE)
+ var/time_remaining = 0
+
+ if(our_loop)
+ var/our_id = our_loop.timerid || timerid
+ if(our_id)
+ time_remaining = timeleft(our_id, SSsound_loops) || 0
+ //Time left will sometimes return negative values, just ignore them and start a new sound loop now
+ time_remaining = max(time_remaining, 0)
+ QDEL_NULL(our_loop)
+
+ var/area/our_area = get_area(parent)
+ var/new_loop_type = area_to_looping_type[our_area]
+ if(!new_loop_type)
+ return
+
+ our_loop = new new_loop_type(parent, FALSE, TRUE, skip_start)
+
+ //If we're still playing, wait a bit before changing the sound so we don't double up
+ if(time_remaining)
+ timerid = addtimer(CALLBACK(src, .proc/start_looping_sound), time_remaining, TIMER_UNIQUE | TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_NO_HASH_WAIT | TIMER_DELETE_ME, SSsound_loops)
+ return
+ timerid = null
+ our_loop.start()
+
+/datum/component/area_sound_manager/proc/start_looping_sound()
+ timerid = null
+ if(our_loop)
+ our_loop.start()
diff --git a/code/datums/components/storage/concrete/_concrete.dm b/code/datums/components/storage/concrete/_concrete.dm
index bb226bbfdf..6f08959dd2 100644
--- a/code/datums/components/storage/concrete/_concrete.dm
+++ b/code/datums/components/storage/concrete/_concrete.dm
@@ -66,7 +66,7 @@
/datum/component/storage/concrete/_insert_physical_item(obj/item/I, override = FALSE)
. = TRUE
var/atom/real_location = real_location()
- if(I.loc != real_location && real_location)
+ if(real_location && I.loc != real_location)
I.forceMove(real_location)
refresh_mob_views()
@@ -95,16 +95,19 @@
return FALSE
/datum/component/storage/concrete/proc/on_contents_del(datum/source, atom/A)
+ SIGNAL_HANDLER
var/atom/real_location = parent
if(A in real_location)
usr = null
remove_from_storage(A, null)
/datum/component/storage/concrete/proc/on_deconstruct(datum/source, disassembled)
+ SIGNAL_HANDLER
if(drop_all_on_deconstruct)
do_quick_empty()
/datum/component/storage/concrete/proc/on_break(datum/source, damage_flag)
+ SIGNAL_HANDLER
if(drop_all_on_break)
do_quick_empty()
if(unlock_on_break)
@@ -131,14 +134,16 @@
var/list/seeing_mobs = can_see_contents()
for(var/mob/M in seeing_mobs)
M.client.screen -= AM
- if(ismob(parent.loc) && isitem(AM))
- var/obj/item/I = AM
- var/mob/M = parent.loc
- I.dropped(M)
- I.item_flags &= ~IN_STORAGE
- I.remove_outline()
+ if(isitem(AM))
+ var/obj/item/removed_item = AM
+ removed_item.item_flags &= ~IN_STORAGE
+ if(ismob(parent.loc))
+ var/mob/carrying_mob = parent.loc
+ removed_item.dropped(carrying_mob, TRUE)
if(new_location)
- AM.forceMove(new_location) // exited comsig will handle removal reset.
+ //Reset the items values
+ _removal_reset(AM)
+ AM.forceMove(new_location)
//We don't want to call this if the item is being destroyed
AM.on_exit_storage(src)
else
@@ -147,7 +152,7 @@
refresh_mob_views()
if(isobj(parent))
var/obj/O = parent
- O.update_icon()
+ O.update_appearance()
return TRUE
/datum/component/storage/concrete/proc/slave_can_insert_object(datum/component/storage/slave, obj/item/I, stop_messages = FALSE, mob/M)
@@ -158,7 +163,7 @@
if(. && !prevent_warning)
slave.mob_item_insertion_feedback(usr, M, I)
-/datum/component/storage/concrete/handle_item_insertion(obj/item/I, prevent_warning = FALSE, mob/M, datum/component/storage/remote) //Remote is null or the slave datum
+/datum/component/storage/concrete/handle_item_insertion(obj/item/I, prevent_warning = FALSE, mob/M, datum/component/storage/remote) //Remote is null or the slave datum
var/datum/component/storage/concrete/master = master()
var/atom/parent = src.parent
var/moved = FALSE
@@ -168,7 +173,7 @@
if(!M.temporarilyRemoveItemFromInventory(I))
return FALSE
else
- moved = TRUE //At this point if the proc fails we need to manually move the object back to the turf/mob/whatever.
+ moved = TRUE //At this point if the proc fails we need to manually move the object back to the turf/mob/whatever.
if(I.pulledby)
I.pulledby.stop_pulling()
if(silent)
@@ -203,7 +208,7 @@
/datum/component/storage/concrete/update_icon()
if(isobj(parent))
var/obj/O = parent
- O.update_icon()
+ O.update_appearance()
for(var/i in slaves)
var/datum/component/storage/slave = i
slave.update_icon()
diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm
index 01a8f41c89..c291a416fc 100644
--- a/code/datums/components/storage/storage.dm
+++ b/code/datums/components/storage/storage.dm
@@ -418,38 +418,38 @@
return TRUE
/datum/component/storage/proc/mousedrop_onto(datum/source, atom/over_object, mob/M)
+ SIGNAL_HANDLER
+
set waitfor = FALSE
. = COMPONENT_NO_MOUSEDROP
+ if(!ismob(M))
+ return
+ if(!over_object)
+ return
+ if(ismecha(M.loc)) // stops inventory actions in a mech
+ return
+ if(M.incapacitated() || !M.canUseStorage())
+ return
var/atom/A = parent
- if(ismob(M)) //all the check for item manipulation are in other places, you can safely open any storages as anything and its not buggy, i checked
- A.add_fingerprint(M)
- if(istype(A, /obj/item))
- var/obj/item/I = A
- I.remove_outline() //Removes the outline when we drag
- if(!over_object)
- return FALSE
- if(ismecha(M.loc)) // stops inventory actions in a mech
- return FALSE
- // this must come before the screen objects only block, dunno why it wasn't before
- if(over_object == M)
- user_show_to_mob(M, trigger_on_found = TRUE)
- return
- if(isrevenant(M))
- RevenantThrow(over_object, M, source)
- return
- if(!M.incapacitated())
- if(!istype(over_object, /atom/movable/screen))
- dump_content_at(over_object, M)
- return
- if(A.loc != M)
- return
- playsound(A, "rustle", 50, 1, -5)
- A.do_jiggle()
- if(istype(over_object, /atom/movable/screen/inventory/hand))
- var/atom/movable/screen/inventory/hand/H = over_object
- M.putItemFromInventoryInHandIfPossible(A, H.held_index)
- return
- A.add_fingerprint(M)
+ A.add_fingerprint(M)
+ // this must come before the screen objects only block, dunno why it wasn't before
+ if(over_object == M)
+ user_show_to_mob(M, trigger_on_found = TRUE)
+ if(isrevenant(M))
+ INVOKE_ASYNC(GLOBAL_PROC, .proc/RevenantThrow, over_object, M, source)
+ return
+ if(!istype(over_object, /atom/movable/screen))
+ INVOKE_ASYNC(src, .proc/dump_content_at, over_object, M)
+ return
+ if(A.loc != M)
+ return
+ playsound(A, "rustle", 50, TRUE, -5)
+ A.do_jiggle()
+ if(istype(over_object, /atom/movable/screen/inventory/hand))
+ var/atom/movable/screen/inventory/hand/H = over_object
+ M.putItemFromInventoryInHandIfPossible(A, H.held_index)
+ return
+ A.add_fingerprint(M)
/datum/component/storage/proc/user_show_to_mob(mob/M, force = FALSE, trigger_on_found = FALSE)
var/atom/A = parent
diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm
index 911ca7ecbe..c336213388 100644
--- a/code/datums/components/tackle.dm
+++ b/code/datums/components/tackle.dm
@@ -370,7 +370,7 @@
user.emote("scream")
user.gain_trauma(/datum/brain_trauma/severe/paralysis/spinesnapped) // oopsie indeed!
shake_camera(user, 7, 7)
- user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
+ user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash)
user.clear_fullscreen("flash", 4.5)
if(94 to 98)
@@ -381,7 +381,7 @@
user.gain_trauma_type(BRAIN_TRAUMA_MILD)
user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9)
shake_camera(user, 6, 6)
- user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
+ user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash)
user.clear_fullscreen("flash", 3.5)
if(84 to 93)
@@ -394,7 +394,7 @@
user.playsound_local(get_turf(user), 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9)
user.DefaultCombatKnockdown(40)
shake_camera(user, 5, 5)
- user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
+ user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash)
user.clear_fullscreen("flash", 2.5)
if(64 to 83)
diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm
index 433e57abbe..c0ec25dfc2 100644
--- a/code/datums/components/uplink.dm
+++ b/code/datums/components/uplink.dm
@@ -1,4 +1,5 @@
GLOBAL_LIST_EMPTY(uplinks)
+#define PEN_ROTATIONS 2
/**
* Uplinks
@@ -17,7 +18,7 @@ GLOBAL_LIST_EMPTY(uplinks)
var/telecrystals
var/selected_cat
var/owner = null
- var/datum/game_mode/gamemode
+ var/uplink_flag
var/datum/uplink_purchase_log/purchase_log
var/list/uplink_items
var/hidden_crystals = 0
@@ -26,11 +27,11 @@ GLOBAL_LIST_EMPTY(uplinks)
var/failsafe_code
var/compact_mode = FALSE
var/debug = FALSE
- var/saved_player_population = 0
- var/list/filters = list()
+ ///Instructions on how to access the uplink based on location
+ var/unlock_text
+ var/list/previous_attempts
-
-/datum/component/uplink/Initialize(_owner, _lockable = TRUE, _enabled = FALSE, datum/game_mode/_gamemode, starting_tc = 20, datum/traitor_class/traitor_class)
+/datum/component/uplink/Initialize(_owner, _lockable = TRUE, _enabled = FALSE, uplink_flag = UPLINK_TRAITORS, starting_tc = TELECRYSTALS_DEFAULT)
if(!isitem(parent))
return COMPONENT_INCOMPATIBLE
@@ -44,16 +45,13 @@ GLOBAL_LIST_EMPTY(uplinks)
RegisterSignal(parent, COMSIG_IMPLANT_EXISTING_UPLINK, .proc/new_implant)
else if(istype(parent, /obj/item/pda))
RegisterSignal(parent, COMSIG_PDA_CHANGE_RINGTONE, .proc/new_ringtone)
+ // RegisterSignal(parent, COMSIG_PDA_CHECK_DETONATE, .proc/check_detonate)
else if(istype(parent, /obj/item/radio))
RegisterSignal(parent, COMSIG_RADIO_NEW_FREQUENCY, .proc/new_frequency)
else if(istype(parent, /obj/item/pen))
RegisterSignal(parent, COMSIG_PEN_ROTATED, .proc/pen_rotation)
- GLOB.uplinks += src
- if(istype(traitor_class))
- filters = traitor_class.uplink_filters
- starting_tc = traitor_class.TC
- uplink_items = get_uplink_items(gamemode, TRUE, allow_restricted, filters)
+ GLOB.uplinks |= src
if(_owner)
owner = _owner
@@ -64,44 +62,58 @@ GLOBAL_LIST_EMPTY(uplinks)
purchase_log = new(owner, src)
lockable = _lockable
active = _enabled
- gamemode = _gamemode
+ src.uplink_flag = uplink_flag
+ update_items()
telecrystals = starting_tc
if(!lockable)
active = TRUE
locked = FALSE
- saved_player_population = GLOB.joined_player_list.len
+
+ previous_attempts = list()
/datum/component/uplink/InheritComponent(datum/component/uplink/U)
lockable |= U.lockable
active |= U.active
- if(!gamemode)
- gamemode = U.gamemode
+ uplink_flag |= U.uplink_flag
telecrystals += U.telecrystals
if(purchase_log && U.purchase_log)
purchase_log.MergeWithAndDel(U.purchase_log)
/datum/component/uplink/Destroy()
GLOB.uplinks -= src
- gamemode = null
purchase_log = null
return ..()
+/datum/component/uplink/proc/update_items()
+ var/updated_items
+ updated_items = get_uplink_items(uplink_flag, TRUE, allow_restricted)
+ update_sales(updated_items)
+ uplink_items = updated_items
+
+/datum/component/uplink/proc/update_sales(updated_items)
+ var/discount_categories = list("Discounted Gear", "Discounted Team Gear", "Limited Stock Team Gear")
+ if (uplink_items == null)
+ return
+ for (var/category in discount_categories) // Makes sure discounted items aren't renewed or replaced
+ if (uplink_items[category] != null && updated_items[category] != null)
+ updated_items[category] = uplink_items[category]
+
/datum/component/uplink/proc/LoadTC(mob/user, obj/item/stack/telecrystal/TC, silent = FALSE)
if(!silent)
- to_chat(user, "You slot [TC] into [parent] and charge its internal uplink.")
+ to_chat(user, span_notice("You slot [TC] into [parent] and charge its internal uplink."))
var/amt = TC.amount
telecrystals += amt
TC.use(amt)
-
-/datum/component/uplink/proc/set_gamemode(_gamemode)
- gamemode = _gamemode
- uplink_items = get_uplink_items(gamemode, TRUE, allow_restricted)
+ // log_uplink("[key_name(user)] loaded [amt] telecrystals into [parent]'s uplink")
/datum/component/uplink/proc/OnAttackBy(datum/source, obj/item/I, mob/user)
+ SIGNAL_HANDLER
+
if(!active)
- return //no hitting everyone/everything just to try to slot tcs in!
+ return //no hitting everyone/everything just to try to slot tcs in!
if(istype(I, /obj/item/stack/telecrystal))
LoadTC(user, I)
+ // CIT SPECIFIC: STEALING from unlocked uplink.
if(active)
if(I.GetComponent(/datum/component/uplink))
var/datum/component/uplink/hidden_uplink = I.GetComponent(/datum/component/uplink)
@@ -118,31 +130,26 @@ GLOBAL_LIST_EMPTY(uplinks)
var/cost = UI.refund_amount || UI.cost
if(I.type == path && UI.refundable && I.check_uplink_validity())
telecrystals += cost
- purchase_log.total_spent -= cost
- to_chat(user, "[I] refunded.")
+ // log_uplink("[key_name(user)] refunded [UI] for [cost] telecrystals using [parent]'s uplink")
+ if(purchase_log)
+ purchase_log.total_spent -= cost
+ to_chat(user, span_notice("[I] refunded."))
qdel(I)
return
/datum/component/uplink/proc/interact(datum/source, mob/user)
+ SIGNAL_HANDLER
+
if(locked)
return
active = TRUE
+ update_items()
if(user)
- //update the saved population
- var/previous_player_population = saved_player_population
- saved_player_population = GLOB.joined_player_list.len
- //if population has changed, update uplink items
- if(saved_player_population != previous_player_population)
- //make sure discounts are not rerolled
- var/old_discounts = uplink_items["Discounted Gear"]
- uplink_items = get_uplink_items(gamemode, FALSE, allow_restricted, filters)
- if(old_discounts)
- uplink_items["Discounted Gear"] = old_discounts
- ui_interact(user)
-
+ INVOKE_ASYNC(src, .proc/ui_interact, user)
// an unlocked uplink blocks also opening the PDA or headset menu
return COMPONENT_NO_INTERACT
+
/datum/component/uplink/ui_state(mob/user)
if(istype(parent, /obj/item/implant/uplink))
return GLOB.not_incapacitated_state
@@ -178,15 +185,10 @@ GLOBAL_LIST_EMPTY(uplinks)
var/datum/uplink_item/I = uplink_items[category][item]
if(I.limited_stock == 0)
continue
- if(I.restricted_roles.len)
- var/is_inaccessible = TRUE
- for(var/R in I.restricted_roles)
- if(R == user.mind.assigned_role || debug)
- is_inaccessible = FALSE
- if(is_inaccessible)
+ if(length(I.restricted_roles))
+ if(!debug && !(user.mind.assigned_role in I.restricted_roles))
continue
- /*
- if(I.restricted_species) //catpeople specfic gloves.
+ if(I.restricted_species)
if(ishuman(user))
var/is_inaccessible = TRUE
var/mob/living/carbon/human/H = user
@@ -196,7 +198,6 @@ GLOBAL_LIST_EMPTY(uplinks)
break
if(is_inaccessible)
continue
- */
cat["items"] += list(list(
"name" = I.name,
"cost" = I.cost,
@@ -255,25 +256,41 @@ GLOBAL_LIST_EMPTY(uplinks)
// Implant signal responses
/datum/component/uplink/proc/implant_activation()
+ SIGNAL_HANDLER
+
var/obj/item/implant/implant = parent
locked = FALSE
interact(null, implant.imp_in)
/datum/component/uplink/proc/implanting(datum/source, list/arguments)
+ SIGNAL_HANDLER
+
var/mob/user = arguments[2]
- owner = "[user.key]"
+ owner = user?.key
+ if(owner && !purchase_log)
+ LAZYINITLIST(GLOB.uplink_purchase_logs_by_key)
+ if(GLOB.uplink_purchase_logs_by_key[owner])
+ purchase_log = GLOB.uplink_purchase_logs_by_key[owner]
+ else
+ purchase_log = new(owner, src)
/datum/component/uplink/proc/old_implant(datum/source, list/arguments, obj/item/implant/new_implant)
+ SIGNAL_HANDLER
+
// It kinda has to be weird like this until implants are components
return SEND_SIGNAL(new_implant, COMSIG_IMPLANT_EXISTING_UPLINK, src)
/datum/component/uplink/proc/new_implant(datum/source, datum/component/uplink/uplink)
+ SIGNAL_HANDLER
+
uplink.telecrystals += telecrystals
return COMPONENT_DELETE_NEW_IMPLANT
// PDA signal responses
/datum/component/uplink/proc/new_ringtone(datum/source, mob/living/user, new_ring_text)
+ SIGNAL_HANDLER
+
var/obj/item/pda/master = parent
if(trim(lowertext(new_ring_text)) != trim(lowertext(unlock_code)))
if(trim(lowertext(new_ring_text)) == trim(lowertext(failsafe_code)))
@@ -282,14 +299,21 @@ GLOBAL_LIST_EMPTY(uplinks)
return
locked = FALSE
interact(null, user)
- to_chat(user, "The PDA softly beeps.")
+ to_chat(user, span_hear("The PDA softly beeps."))
user << browse(null, "window=pda")
master.mode = 0
return COMPONENT_STOP_RINGTONE_CHANGE
+/datum/component/uplink/proc/check_detonate()
+ SIGNAL_HANDLER
+
+ // return COMPONENT_PDA_NO_DETONATE
+
// Radio signal responses
/datum/component/uplink/proc/new_frequency(datum/source, list/arguments)
+ SIGNAL_HANDLER
+
var/obj/item/radio/master = parent
var/frequency = arguments[1]
if(frequency != unlock_code)
@@ -303,15 +327,22 @@ GLOBAL_LIST_EMPTY(uplinks)
// Pen signal responses
/datum/component/uplink/proc/pen_rotation(datum/source, degrees, mob/living/carbon/user)
+ SIGNAL_HANDLER
+
var/obj/item/pen/master = parent
- if(degrees != unlock_code)
- if(degrees == failsafe_code) //Getting failsafes on pens is risky business
- failsafe()
- return
- locked = FALSE
- master.degrees = 0
- interact(null, user)
- to_chat(user, "Your pen makes a clicking noise, before quickly rotating back to 0 degrees!")
+ previous_attempts += degrees
+ if(length(previous_attempts) > PEN_ROTATIONS)
+ popleft(previous_attempts)
+
+ if(compare_list(previous_attempts, unlock_code))
+ locked = FALSE
+ previous_attempts.Cut()
+ master.degrees = 0
+ interact(null, user)
+ to_chat(user, span_warning("Your pen makes a clicking noise, before quickly rotating back to 0 degrees!"))
+
+ else if(compare_list(previous_attempts, failsafe_code))
+ failsafe(user)
/datum/component/uplink/proc/setup_unlock_code()
unlock_code = generate_code()
@@ -321,15 +352,18 @@ GLOBAL_LIST_EMPTY(uplinks)
else if(istype(parent,/obj/item/radio))
unlock_note = "Radio Frequency: [format_frequency(unlock_code)] ([P.name])."
else if(istype(parent,/obj/item/pen))
- unlock_note = "Uplink Degrees: [unlock_code] ([P.name])."
+ unlock_note = "Uplink Degrees: [english_list(unlock_code)] ([P.name])."
/datum/component/uplink/proc/generate_code()
if(istype(parent,/obj/item/pda))
return "[rand(100,999)] [pick(GLOB.phonetic_alphabet)]"
else if(istype(parent,/obj/item/radio))
- return sanitize_frequency(rand(MIN_FREQ, MAX_FREQ))
+ return return_unused_frequency()
else if(istype(parent,/obj/item/pen))
- return rand(1, 360)
+ var/list/L = list()
+ for(var/i in 1 to PEN_ROTATIONS)
+ L += rand(1, 360)
+ return L
/datum/component/uplink/proc/failsafe(mob/living/carbon/user)
if(!parent)
@@ -339,5 +373,5 @@ GLOBAL_LIST_EMPTY(uplinks)
return
message_admins("[ADMIN_LOOKUPFLW(user)] has triggered an uplink failsafe explosion at [AREACOORD(T)] The owner of the uplink was [ADMIN_LOOKUPFLW(owner)].")
log_game("[key_name(user)] triggered an uplink failsafe explosion. The owner of the uplink was [key_name(owner)].")
- explosion(T,1,2,3)
+ explosion(parent, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 3)
qdel(parent) //Alternatively could brick the uplink.
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index bfcda0bab8..2cc72f7ca9 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -106,7 +106,7 @@
active_timers = null
for(var/thing in timers)
var/datum/timedevent/timer = thing
- if (timer.spent)
+ if (timer.spent && !(timer.flags & TIMER_DELETE_ME))
continue
qdel(timer)
diff --git a/code/datums/diseases/dna_spread.dm b/code/datums/diseases/dna_spread.dm
index 3a67230d36..07b3d5fe8a 100644
--- a/code/datums/diseases/dna_spread.dm
+++ b/code/datums/diseases/dna_spread.dm
@@ -30,7 +30,7 @@
return
switch(stage)
- if(2 || 3) //Pretend to be a cold and give time to spread.
+ if(2, 3) //Pretend to be a cold and give time to spread.
if(prob(8))
affected_mob.emote("sneeze")
if(prob(8))
diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm
index 6633ee3a47..0a56095437 100644
--- a/code/datums/elements/mob_holder.dm
+++ b/code/datums/elements/mob_holder.dm
@@ -168,7 +168,7 @@
L.visible_message("[held_mob] escapes from [L]!", "[held_mob] escapes your grip!")
release()
-/obj/item/clothing/head/mob_holder/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
+/obj/item/clothing/head/mob_holder/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(M == held_mob || !ishuman(M)) //monkeys holding monkeys holding monkeys...
return FALSE
return ..()
diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm
new file mode 100644
index 0000000000..e67120f254
--- /dev/null
+++ b/code/datums/elements/strippable.dm
@@ -0,0 +1,517 @@
+/// An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
+/datum/element/strippable
+ element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH
+ id_arg_index = 2
+
+ /// An assoc list of keys to /datum/strippable_item
+ var/list/items
+
+ /// A proc path that returns TRUE/FALSE if we should show the strip panel for this entity.
+ /// If it does not exist, the strip menu will always show.
+ /// Will be called with (mob/user).
+ var/should_strip_proc_path
+
+ /// An existing strip menus
+ var/list/strip_menus
+
+/datum/element/strippable/Attach(datum/target, list/items, should_strip_proc_path)
+ . = ..()
+ if (!isatom(target))
+ return ELEMENT_INCOMPATIBLE
+
+ RegisterSignal(target, COMSIG_MOUSEDROP_ONTO, .proc/mouse_drop_onto)
+
+ src.items = items
+ src.should_strip_proc_path = should_strip_proc_path
+
+/datum/element/strippable/Detach(datum/source)
+ . = ..()
+
+ UnregisterSignal(source, COMSIG_MOUSEDROP_ONTO)
+
+ if (!isnull(strip_menus))
+ qdel(strip_menus[source])
+ strip_menus -= source
+
+/datum/element/strippable/proc/mouse_drop_onto(datum/source, atom/over, mob/user)
+ SIGNAL_HANDLER
+
+ if (user == source)
+ return
+
+ if (over != user)
+ return
+
+ // Cyborgs buckle people by dragging them onto them, unless in combat mode.
+ if (iscyborg(user))
+ var/mob/living/silicon/robot/cyborg_user = user
+ if (cyborg_user.a_intent == INTENT_HARM)
+ return
+
+ if (!isnull(should_strip_proc_path) && !call(source, should_strip_proc_path)(user))
+ return
+
+ var/datum/strip_menu/strip_menu
+
+ if (isnull(strip_menu))
+ strip_menu = new(source, src)
+ LAZYSET(strip_menus, source, strip_menu)
+
+ INVOKE_ASYNC(strip_menu, /datum/.proc/ui_interact, user)
+
+/// A representation of an item that can be stripped down
+/datum/strippable_item
+ /// The STRIPPABLE_ITEM_* key
+ var/key
+
+ /// Should we warn about dangerous clothing?
+ var/warn_dangerous_clothing = TRUE
+
+/// Gets the item from the given source.
+/datum/strippable_item/proc/get_item(atom/source)
+
+/// Tries to equip the item onto the given source.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/// This should be used for checking if an item CAN be equipped.
+/// It should not perform the equipping itself.
+/datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user)
+ if (HAS_TRAIT(equipping, TRAIT_NODROP))
+ to_chat(user, span_warning("You can't put [equipping] on [source], it's stuck to your hand!"))
+ return FALSE
+
+ return TRUE
+
+/// Start the equipping process. This is the proc you should yield in.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/datum/strippable_item/proc/start_equip(atom/source, obj/item/equipping, mob/user)
+ if (warn_dangerous_clothing && isclothing(source))
+ source.visible_message(
+ span_notice("[user] tries to put [equipping] on [source]."),
+ span_notice("[user] tries to put [equipping] on you."),
+ ignored_mobs = user,
+ )
+
+ if(ishuman(source))
+ var/mob/living/carbon/human/victim_human = source
+ if(victim_human.key && !victim_human.client) // AKA braindead
+ if(victim_human.stat <= SOFT_CRIT && LAZYLEN(victim_human.afk_thefts) <= AFK_THEFT_MAX_MESSAGES)
+ var/list/new_entry = list(list(user.name, "tried equipping you with [equipping]", world.time))
+ LAZYADD(victim_human.afk_thefts, new_entry)
+
+ to_chat(user, span_notice("You try to put [equipping] on [source]..."))
+
+ var/log = "[key_name(source)] is having [equipping] put on them by [key_name(user)]"
+ user.log_message(log, LOG_ATTACK, color="red")
+ source.log_message(log, LOG_VICTIM, color="red", log_globally=FALSE)
+
+ return TRUE
+
+/// The proc that places the item on the source. This should not yield.
+/datum/strippable_item/proc/finish_equip(atom/source, obj/item/equipping, mob/user)
+ SHOULD_NOT_SLEEP(TRUE)
+ return TRUE
+
+/// Tries to unequip the item from the given source.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/// This should be used for checking if it CAN be unequipped.
+/// It should not perform the unequipping itself.
+/datum/strippable_item/proc/try_unequip(atom/source, mob/user)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ if (ismob(source))
+ var/mob/mob_source = source
+ if (!item.canStrip(user, mob_source))
+ return FALSE
+
+ return TRUE
+
+/// Start the unequipping process. This is the proc you should yield in.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/datum/strippable_item/proc/start_unequip(atom/source, mob/user)
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ source.visible_message(
+ span_warning("[user] tries to remove [source]'s [item.name]."),
+ span_userdanger("[user] tries to remove your [item.name]."),
+ ignored_mobs = user,
+ )
+
+ to_chat(user, span_danger("You try to remove [source]'s [item]..."))
+ user.log_message("[key_name(source)] is being stripped of [item] by [key_name(user)]", LOG_ATTACK, color="red")
+ source.log_message("[key_name(source)] is being stripped of [item] by [key_name(user)]", LOG_VICTIM, color="red", log_globally=FALSE)
+ item.add_fingerprint(source)
+
+ if(ishuman(source))
+ var/mob/living/carbon/human/victim_human = source
+ if(victim_human.key && !victim_human.client) // AKA braindead
+ if(victim_human.stat <= SOFT_CRIT && LAZYLEN(victim_human.afk_thefts) <= AFK_THEFT_MAX_MESSAGES)
+ var/list/new_entry = list(list(user.name, "tried unequipping your [item.name]", world.time))
+ LAZYADD(victim_human.afk_thefts, new_entry)
+
+ return TRUE
+
+/// The proc that unequips the item from the source. This should not yield.
+/datum/strippable_item/proc/finish_unequip(atom/source, mob/user)
+
+/// Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
+/datum/strippable_item/proc/get_obscuring(atom/source)
+ SHOULD_NOT_SLEEP(TRUE)
+ return STRIPPABLE_OBSCURING_NONE
+
+/// Returns the ID of this item's strippable action.
+/// Return `null` if there is no alternate action.
+/// Any return value of this must be in StripMenu.
+/datum/strippable_item/proc/get_alternate_action(atom/source, mob/user)
+ if(get_obscuring(source) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return FALSE
+ return null
+
+/// Performs an alternative action on this strippable_item.
+/// `has_alternate_action` needs to be TRUE.
+/datum/strippable_item/proc/alternate_action(atom/source, mob/user)
+ if(get_obscuring(source) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return null
+ return TRUE
+
+/// Returns whether or not this item should show.
+/datum/strippable_item/proc/should_show(atom/source, mob/user)
+ return TRUE
+
+/// A preset for equipping items onto mob slots
+/datum/strippable_item/mob_item_slot
+ /// The ITEM_SLOT_* to equip to.
+ var/item_slot
+
+/datum/strippable_item/mob_item_slot/get_item(atom/source)
+ if (!ismob(source))
+ return null
+
+ var/mob/mob_source = source
+ return mob_source.get_item_by_slot(item_slot)
+
+/datum/strippable_item/mob_item_slot/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ if (!ismob(source))
+ return FALSE
+
+ if (!equipping.mob_can_equip(
+ source,
+ user,
+ item_slot,
+ disable_warning = TRUE,
+ bypass_equip_delay_self = TRUE,
+ ))
+ to_chat(user, span_warning("\The [equipping] doesn't fit in that place!"))
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/start_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ if (!ismob(source))
+ return FALSE
+
+ if (!do_mob(user, source, get_equip_delay(equipping)))
+ return FALSE
+
+ if(get_obscuring(source) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return FALSE
+
+ if (!equipping.mob_can_equip(
+ source,
+ user,
+ item_slot,
+ disable_warning = TRUE,
+ bypass_equip_delay_self = TRUE,
+ ))
+ return FALSE
+
+ if (!user.temporarilyRemoveItemFromInventory(equipping))
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ if (!ismob(source))
+ return FALSE
+
+ var/mob/mob_source = source
+ mob_source.equip_to_slot(equipping, item_slot)
+
+/datum/strippable_item/mob_item_slot/get_obscuring(atom/source)
+ if (iscarbon(source))
+ var/mob/living/carbon/carbon_source = source
+ return (item_slot in carbon_source.check_obscured_slots()) \
+ ? STRIPPABLE_OBSCURING_COMPLETELY \
+ : STRIPPABLE_OBSCURING_NONE
+
+ return FALSE
+
+/datum/strippable_item/mob_item_slot/start_unequip(atom/source, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ return start_unequip_mob(get_item(source), source, user)
+
+/datum/strippable_item/mob_item_slot/finish_unequip(atom/source, mob/user)
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ if (!ismob(source))
+ return FALSE
+
+ return finish_unequip_mob(item, source, user)
+
+/// Returns the delay of equipping this item to a mob
+/datum/strippable_item/mob_item_slot/proc/get_equip_delay(obj/item/equipping)
+ return equipping.equip_delay_other
+
+/// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob.
+/proc/start_unequip_mob(obj/item/item, mob/source, mob/user, strip_delay)
+ if (!do_mob(user, source, strip_delay || item.strip_delay, ignorehelditem = TRUE))
+ return FALSE
+
+ return TRUE
+
+/// A utility function for `/datum/strippable_item`s to finish unequipping an item from a mob.
+/proc/finish_unequip_mob(obj/item/item, mob/source, mob/user)
+ if (!item.doStrip(user, source))
+ return FALSE
+
+ user.log_message("[key_name(source)] has been stripped of [item] by [key_name(user)]", LOG_ATTACK, color="red")
+ source.log_message("[key_name(source)] has been stripped of [item] by [key_name(user)]", LOG_VICTIM, color="red", log_globally=FALSE)
+
+ // Updates speed in case stripped speed affecting item
+ source.update_equipment_speed_mods()
+
+/// A representation of the stripping UI
+/datum/strip_menu
+ /// The owner who has the element /datum/element/strippable
+ var/atom/movable/owner
+
+ /// The strippable element itself
+ var/datum/element/strippable/strippable
+
+ /// A lazy list of user mobs to a list of strip menu keys that they're interacting with
+ var/list/interactions
+
+/datum/strip_menu/New(atom/movable/owner, datum/element/strippable/strippable)
+ . = ..()
+ src.owner = owner
+ src.strippable = strippable
+
+/datum/strip_menu/Destroy()
+ owner = null
+ strippable = null
+
+ return ..()
+
+/datum/strip_menu/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if (!ui)
+ ui = new(user, src, "StripMenu")
+ ui.open()
+
+/datum/strip_menu/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/simple/inventory),
+ )
+
+/datum/strip_menu/ui_data(mob/user)
+ var/list/data = list()
+
+ var/list/items = list()
+
+ for (var/strippable_key in strippable.items)
+ var/datum/strippable_item/item_data = strippable.items[strippable_key]
+
+ if (!item_data.should_show(owner, user))
+ continue
+
+ var/list/result
+
+ if(strippable_key in LAZYACCESS(interactions, user))
+ LAZYSET(result, "interacting", TRUE)
+
+ var/obscuring = item_data.get_obscuring(owner)
+ if (obscuring != STRIPPABLE_OBSCURING_NONE)
+ LAZYSET(result, "obscured", obscuring)
+ items[strippable_key] = result
+ continue
+
+ var/obj/item/item = item_data.get_item(owner)
+ if (isnull(item))
+ items[strippable_key] = result
+ continue
+
+ LAZYINITLIST(result)
+
+ result["icon"] = icon2base64(icon(item.icon, item.icon_state, SOUTH, 1))
+ result["name"] = item.name
+ result["alternate"] = item_data.get_alternate_action(owner, user)
+
+ items[strippable_key] = result
+
+ data["items"] = items
+
+ // While most `\the`s are implicit, this one is not.
+ // In this case, `\The` would otherwise be used.
+ // This doesn't match with what it's used for, which is to say "Stripping the alien drone",
+ // as opposed to "Stripping The alien drone".
+ // Human names will still show without "the", as they are proper nouns.
+ data["name"] = "\the [owner]"
+
+ /// Customize the strip menu
+ data["long_strip_menu"] = user.client.prefs.long_strip_menu
+
+ return data
+
+/datum/strip_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if (.)
+ return
+
+ . = TRUE
+
+ var/mob/user = usr
+
+ switch (action)
+ if ("use")
+ var/key = params["key"]
+ var/datum/strippable_item/strippable_item = strippable.items[key]
+
+ if (isnull(strippable_item))
+ return
+
+ if (!strippable_item.should_show(owner, user))
+ return
+
+ if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return
+
+ var/item = strippable_item.get_item(owner)
+ if (isnull(item))
+ var/obj/item/held_item = user.get_active_held_item()
+ if (isnull(held_item))
+ return
+
+ if (strippable_item.try_equip(owner, held_item, user))
+ LAZYORASSOCLIST(interactions, user, key)
+
+ // Yielding call
+ var/should_finish = strippable_item.start_equip(owner, held_item, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+ if (!should_finish)
+ return
+
+ if (QDELETED(src) || QDELETED(owner))
+ return
+
+ // They equipped an item in the meantime
+ if (!isnull(strippable_item.get_item(owner)))
+ return
+
+ if (!user.Adjacent(owner))
+ return
+
+ strippable_item.finish_equip(owner, held_item, user)
+ else if (strippable_item.try_unequip(owner, user))
+ LAZYORASSOCLIST(interactions, user, key)
+
+ var/should_unequip = strippable_item.start_unequip(owner, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+ // Yielding call
+ if (!should_unequip)
+ return
+
+ if (QDELETED(src) || QDELETED(owner))
+ return
+
+ // They changed the item in the meantime
+ if (strippable_item.get_item(owner) != item)
+ return
+
+ if (!user.Adjacent(owner))
+ return
+
+ strippable_item.finish_unequip(owner, user)
+ if ("alt")
+ var/key = params["key"]
+ var/datum/strippable_item/strippable_item = strippable.items[key]
+
+ if (isnull(strippable_item))
+ return
+
+ if (!strippable_item.should_show(owner, user))
+ return
+
+ if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return
+
+ var/item = strippable_item.get_item(owner)
+ if (isnull(item))
+ return
+
+ if (isnull(strippable_item.get_alternate_action(owner, user)))
+ return
+
+ LAZYORASSOCLIST(interactions, user, key)
+
+ // Potentially yielding
+ strippable_item.alternate_action(owner, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+/datum/strip_menu/ui_host(mob/user)
+ return owner
+
+/datum/strip_menu/ui_state(mob/user)
+ return GLOB.always_state
+
+/datum/strip_menu/ui_status(mob/user, datum/ui_state/state)
+ . = ..()
+
+ if(isliving(user))
+ var/mob/living/living_user = user
+
+ if (
+ living_user.stat == CONSCIOUS \
+ && living_user.Adjacent(owner)
+ )
+ return UI_INTERACTIVE
+ if(IsAdminGhost(user))
+ return UI_INTERACTIVE
+ if(user.Adjacent(owner))
+ return UI_UPDATE
+ else
+ return UI_DISABLED
+
+/// Creates an assoc list of keys to /datum/strippable_item
+/proc/create_strippable_list(types)
+ var/list/strippable_items = list()
+
+ for (var/strippable_type in types)
+ var/datum/strippable_item/strippable_item = new strippable_type
+ strippable_items[strippable_item.key] = strippable_item
+
+ return strippable_items
diff --git a/code/datums/elements/weather_listener.dm b/code/datums/elements/weather_listener.dm
new file mode 100644
index 0000000000..7cea61b640
--- /dev/null
+++ b/code/datums/elements/weather_listener.dm
@@ -0,0 +1,44 @@
+///This element just handles creating and destroying an area sound manager that's hooked into weather stuff
+/datum/element/weather_listener
+ element_flags = ELEMENT_BESPOKE
+ id_arg_index = 2
+ var/weather_type
+ //What events to change the track on
+ var/list/sound_change_signals
+ //The weather type we're working with
+ var/weather_trait
+ //The playlist of sounds to draw from. Pass by ref
+ var/list/playlist
+
+
+/datum/element/weather_listener/Attach(datum/target, w_type, trait, weather_playlist)
+ . = ..()
+ if(!weather_type)
+ weather_type = w_type
+ sound_change_signals = list(
+ COMSIG_WEATHER_TELEGRAPH(weather_type),
+ COMSIG_WEATHER_START(weather_type),
+ COMSIG_WEATHER_WINDDOWN(weather_type),
+ COMSIG_WEATHER_END(weather_type)
+ )
+ weather_trait = trait
+ playlist = weather_playlist
+
+ RegisterSignal(target, COMSIG_MOVABLE_Z_CHANGED, .proc/handle_z_level_change, override = TRUE)
+ RegisterSignal(target, COMSIG_MOB_CLIENT_LOGOUT, .proc/handle_logout, override = TRUE)
+
+/datum/element/weather_listener/Detach(datum/source)
+ . = ..()
+ UnregisterSignal(source, COMSIG_MOVABLE_Z_CHANGED, COMSIG_MOB_CLIENT_LOGOUT)
+
+/datum/element/weather_listener/proc/handle_z_level_change(datum/source, old_z, new_z)
+ SIGNAL_HANDLER
+ var/list/fitting_z_levels = SSmapping.levels_by_trait(weather_trait)
+ if(!(new_z in fitting_z_levels))
+ return
+ var/datum/component/our_comp = source.AddComponent(/datum/component/area_sound_manager, playlist, list(), COMSIG_MOB_CLIENT_LOGOUT, fitting_z_levels)
+ our_comp.RegisterSignal(SSdcs, sound_change_signals, /datum/component/area_sound_manager/proc/handle_change)
+
+/datum/element/weather_listener/proc/handle_logout(datum/source, client/this_is_a_null_ref)
+ SIGNAL_HANDLER
+ source.RemoveElement(/datum/element/weather_listener, weather_type, weather_trait, playlist)
diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm
index 6af3b3c993..e8c6bc4d22 100644
--- a/code/datums/looping_sounds/_looping_sound.dm
+++ b/code/datums/looping_sounds/_looping_sound.dm
@@ -1,21 +1,21 @@
/*
- output_atoms (list of atoms) The destination(s) for the sounds
+ output_atoms (list of atoms) The destination(s) for the sounds
- mid_sounds (list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.
- mid_length (num) The length to wait between playing mid_sounds
+ mid_sounds (list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.
+ mid_length (num) The length to wait between playing mid_sounds
- start_sound (soundfile) Played before starting the mid_sounds loop
- start_length (num) How long to wait before starting the main loop after playing start_sound
+ start_sound (soundfile) Played before starting the mid_sounds loop
+ start_length (num) How long to wait before starting the main loop after playing start_sound
- end_sound (soundfile) The sound played after the main loop has concluded
+ end_sound (soundfile) The sound played after the main loop has concluded
- chance (num) Chance per loop to play a mid_sound
- volume (num) Sound output volume
- max_loops (num) The max amount of loops to run for.
- direct (bool) If true plays directly to provided atoms instead of from them
+ chance (num) Chance per loop to play a mid_sound
+ volume (num) Sound output volume
+ max_loops (num) The max amount of loops to run for.
+ direct (bool) If true plays directly to provided atoms instead of from them
*/
/datum/looping_sound
- var/list/atom/output_atoms
+ var/atom/parent
var/mid_sounds
var/mid_length
///Override for volume of start sound
@@ -34,38 +34,46 @@
var/falloff_exponent
var/timerid
var/falloff_distance
+ var/skip_starting_sounds = FALSE
+ var/loop_started = FALSE
-/datum/looping_sound/New(list/_output_atoms=list(), start_immediately=FALSE, _direct=FALSE)
+/datum/looping_sound/New(_parent, start_immediately=FALSE, _direct=FALSE, _skip_starting_sounds = FALSE)
if(!mid_sounds)
WARNING("A looping sound datum was created without sounds to play.")
return
- output_atoms = _output_atoms
+ set_parent(_parent)
direct = _direct
+ skip_starting_sounds = _skip_starting_sounds
if(start_immediately)
start()
/datum/looping_sound/Destroy()
- stop()
- output_atoms = null
+ stop(TRUE)
return ..()
-/datum/looping_sound/proc/start(atom/add_thing)
- if(add_thing)
- output_atoms |= add_thing
+/datum/looping_sound/proc/start(on_behalf_of)
+ if(on_behalf_of)
+ set_parent(on_behalf_of)
if(timerid)
return
on_start()
-/datum/looping_sound/proc/stop(atom/remove_thing)
- if(remove_thing)
- output_atoms -= remove_thing
+/datum/looping_sound/proc/stop(null_parent)
+ if(null_parent)
+ set_parent(null)
if(!timerid)
return
on_stop()
- deltimer(timerid)
+ deltimer(timerid, SSsound_loops)
timerid = null
+ loop_started = FALSE
+
+/datum/looping_sound/proc/start_sound_loop()
+ loop_started = TRUE
+ sound_loop()
+ timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP | TIMER_DELETE_ME, SSsound_loops)
/datum/looping_sound/proc/sound_loop(starttime)
if(max_loops && world.time >= starttime + mid_length * max_loops)
@@ -73,21 +81,15 @@
return
if(!chance || prob(chance))
play(get_sound(starttime))
- if(!timerid)
- timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP)
/datum/looping_sound/proc/play(soundfile, volume_override)
- var/list/atoms_cache = output_atoms
var/sound/S = sound(soundfile)
if(direct)
S.channel = SSsounds.random_available_channel()
S.volume = volume_override || volume //Use volume as fallback if theres no override
- for(var/i in 1 to atoms_cache.len)
- var/atom/thing = atoms_cache[i]
- if(direct)
- SEND_SOUND(thing, S)
- else
- playsound(thing, S, volume, vary, extra_range, falloff_exponent = falloff_exponent, falloff_distance = falloff_distance)
+ SEND_SOUND(parent, S)
+ else
+ playsound(parent, S, volume, vary, extra_range, falloff_exponent = falloff_exponent, falloff_distance = falloff_distance)
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
. = _mid_sounds || mid_sounds
@@ -96,11 +98,22 @@
/datum/looping_sound/proc/on_start()
var/start_wait = 0
- if(start_sound)
+ if(start_sound && !skip_starting_sounds)
play(start_sound, start_volume)
start_wait = start_length
- addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME)
+ timerid = addtimer(CALLBACK(src, .proc/start_sound_loop), start_wait, TIMER_CLIENT_TIME | TIMER_DELETE_ME | TIMER_STOPPABLE, SSsound_loops)
/datum/looping_sound/proc/on_stop()
- if(end_sound)
+ if(end_sound && loop_started)
play(end_sound, end_volume)
+
+/datum/looping_sound/proc/set_parent(new_parent)
+ if(parent)
+ UnregisterSignal(parent, COMSIG_PARENT_QDELETING)
+ parent = new_parent
+ if(parent)
+ RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/handle_parent_del)
+
+/datum/looping_sound/proc/handle_parent_del(datum/source)
+ SIGNAL_HANDLER
+ set_parent(null)
diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm
index e729ed22dd..d8b72be76c 100644
--- a/code/datums/looping_sounds/item_sounds.dm
+++ b/code/datums/looping_sounds/item_sounds.dm
@@ -1,4 +1,4 @@
-#define RAD_GEIGER_LOW 100 // Geiger counter sound thresholds
+#define RAD_GEIGER_LOW 100 // Geiger counter sound thresholds
#define RAD_GEIGER_MEDIUM 500
#define RAD_GEIGER_HIGH 1000
diff --git a/code/datums/mapgen/Cavegens/LavalandGenerator.dm b/code/datums/mapgen/Cavegens/LavalandGenerator.dm
index b895ad4414..3ce3821708 100644
--- a/code/datums/mapgen/Cavegens/LavalandGenerator.dm
+++ b/code/datums/mapgen/Cavegens/LavalandGenerator.dm
@@ -7,7 +7,7 @@
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /obj/structure/spawner/lavaland = 2, \
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /obj/structure/spawner/lavaland/legion = 3, \
SPAWN_MEGAFAUNA = 4, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10)
- flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
+ flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/ashtree = 1)
feature_spawn_list = list(/obj/structure/geyser/random = 1)
initial_closed_chance = 45
diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm
index 658f22a107..dbd976b2f7 100644
--- a/code/datums/materials/_material.dm
+++ b/code/datums/materials/_material.dm
@@ -120,7 +120,7 @@ Simple datum which is instanced once per type and is used for every object of sa
return
I.hitsound = item_sound_override
I.usesound = item_sound_override
- I.throwhitsound = item_sound_override
+ I.mob_throw_hit_sound = item_sound_override
// I.mob_throw_hit_sound = item_sound_override
// I.equip_sound = item_sound_override
// I.pickup_sound = item_sound_override
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 13be022a84..91983ead15 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -229,7 +229,6 @@
/datum/mind/proc/has_antag_datum(datum_type, check_subtypes = TRUE)
if(!datum_type)
return
- . = FALSE
for(var/a in antag_datums)
var/datum/antagonist/A = a
if(check_subtypes && istype(A, datum_type))
@@ -296,11 +295,17 @@
remove_rev()
SSticker.mode.update_cult_icons_removed(src)
-/datum/mind/proc/equip_traitor(datum/traitor_class/traitor_class, silent = FALSE, datum/antagonist/uplink_owner)
+/**
+ * ## give_uplink
+ *
+ * A mind proc for giving anyone an uplink.
+ * arguments:
+ * * silent: if this should send a message to the mind getting the uplink. traitors do not use this silence, but the silence var on their antag datum.
+ * * antag_datum: the antag datum of the uplink owner, for storing it in antag memory. optional!
+ */
+/datum/mind/proc/equip_traitor(silent = FALSE, datum/antagonist/antag_datum)
if(!current)
return
- if(!traitor_class)
- traitor_class = GLOB.traitor_classes[TRAITOR_HUMAN]
var/mob/living/carbon/human/traitor_mob = current
if (!istype(traitor_mob))
return
@@ -314,16 +319,9 @@
P = locate() in PDA
if (!P) // If we couldn't find a pen in the PDA, or we didn't even have a PDA, do it the old way
P = locate() in all_contents
- if(!P) // I do not have a pen.
- var/obj/item/pen/inowhaveapen
- if(istype(traitor_mob.back,/obj/item/storage)) //ok buddy you better have a backpack!
- inowhaveapen = new /obj/item/pen(traitor_mob.back)
- else
- inowhaveapen = new /obj/item/pen(traitor_mob.loc)
- traitor_mob.put_in_hands(inowhaveapen) // I hope you don't have arms and your traitor pen gets stolen for all this trouble you've caused.
- P = inowhaveapen
var/obj/item/uplink_loc
+ var/implant = FALSE
if(traitor_mob.client && traitor_mob.client.prefs)
switch(traitor_mob.client.prefs.uplink_spawn_loc)
@@ -341,33 +339,38 @@
uplink_loc = P
if(UPLINK_PEN)
uplink_loc = P
- if(!uplink_loc)
- uplink_loc = PDA
- if(!uplink_loc)
- uplink_loc = R
+ if(UPLINK_IMPLANT)
+ implant = TRUE
- if (!uplink_loc)
- if(!silent)
- to_chat(traitor_mob, "Unfortunately, [traitor_class.employer] wasn't able to get you an Uplink.")
- . = 0
- else
- . = uplink_loc
- var/datum/component/uplink/U = uplink_loc.AddComponent(/datum/component/uplink, traitor_mob.key,traitor_class)
- if(!U)
- CRASH("Uplink creation failed.")
- U.setup_unlock_code()
- if(!silent)
- if(uplink_loc == R)
- to_chat(traitor_mob, "[traitor_class.employer] has cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(U.unlock_code)] to unlock its hidden features.")
- else if(uplink_loc == PDA)
- to_chat(traitor_mob, "[traitor_class.employer] has cunningly disguised a Syndicate Uplink as your [PDA.name]. Simply enter the code \"[U.unlock_code]\" into the ringtone select to unlock its hidden features.")
- else if(uplink_loc == P)
- to_chat(traitor_mob, "[traitor_class.employer] has cunningly disguised a Syndicate Uplink as your [P.name]. Simply twist the top of the pen [U.unlock_code] from its starting position to unlock its hidden features.")
+ if(!uplink_loc) // We've looked everywhere, let's just implant you
+ implant = TRUE
- if(uplink_owner)
- uplink_owner.antag_memory += U.unlock_note + " "
- else
- traitor_mob.mind.store_memory(U.unlock_note)
+ if(implant)
+ var/obj/item/implant/uplink/starting/new_implant = new(traitor_mob)
+ new_implant.implant(traitor_mob, null, silent = TRUE)
+ if(!silent)
+ to_chat(traitor_mob, span_boldnotice("Your Syndicate Uplink has been cunningly implanted in you, for a small TC fee. Simply trigger the uplink to access it."))
+ return new_implant
+
+ . = uplink_loc
+ var/unlock_text
+ var/datum/component/uplink/new_uplink = uplink_loc.AddComponent(/datum/component/uplink, traitor_mob.key)
+ if(!new_uplink)
+ CRASH("Uplink creation failed.")
+ new_uplink.setup_unlock_code()
+ if(uplink_loc == R)
+ unlock_text = "Your Uplink is cunningly disguised as your [R.name]. Simply dial the frequency [format_frequency(new_uplink.unlock_code)] to unlock its hidden features."
+ else if(uplink_loc == PDA)
+ unlock_text = "Your Uplink is cunningly disguised as your [PDA.name]. Simply enter the code \"[new_uplink.unlock_code]\" into the ringtone select to unlock its hidden features."
+ else if(uplink_loc == P)
+ unlock_text = "Your Uplink is cunningly disguised as your [P.name]. Simply twist the top of the pen [english_list(new_uplink.unlock_code)] from its starting position to unlock its hidden features."
+ new_uplink.unlock_text = unlock_text
+ if(!silent)
+ to_chat(traitor_mob, span_boldnotice(unlock_text))
+ if(!antag_datum)
+ traitor_mob.mind.store_memory(new_uplink.unlock_note)
+ return
+ antag_datum.antag_memory += new_uplink.unlock_note + " "
//Link a new mobs mind to the creator of said mob. They will join any team they are currently on, and will only switch teams when their creator does.
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index 90982a00ec..4b2d872aec 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -294,3 +294,39 @@
description = "I hate when my shoes come untied!\n"
mood_change = -3
timeout = 1 MINUTES
+
+/datum/mood_event/high_five_alone
+ description = "I tried getting a high-five with no one around, how embarassing!\n"
+ mood_change = -2
+ timeout = 1 MINUTES
+
+/datum/mood_event/high_five_full_hand
+ description = "Oh God, I don't even know how to high-five correctly...\n"
+ mood_change = -1
+ timeout = 45 SECONDS
+
+/datum/mood_event/left_hanging
+ description = "But everyone loves high fives! Maybe people just... hate me?\n"
+ mood_change = -2
+ timeout = 1.5 MINUTES
+
+/datum/mood_event/too_slow
+ description = "NO! HOW COULD I BE.... TOO SLOW???\n"
+ mood_change = -2 // multiplied by how many people saw it happen, up to 8, so potentially massive. the ULTIMATE prank carries a lot of weight
+ timeout = 2 MINUTES
+
+/datum/mood_event/too_slow/add_effects(param)
+ var/people_laughing_at_you = 1 // start with 1 in case they're on the same tile or something
+ for(var/mob/living/carbon/iter_carbon in oview(owner, 7))
+ if(iter_carbon.stat == CONSCIOUS)
+ people_laughing_at_you++
+ if(people_laughing_at_you > 7)
+ break
+
+ mood_change *= people_laughing_at_you
+ return ..()
+
+/datum/mood_event/sacrifice_bad
+ description = "Those darn savages!\n"
+ mood_change = -5
+ timeout = 2 MINUTES
diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm
index b73756c2b1..b0d73615b9 100644
--- a/code/datums/mood_events/generic_positive_events.dm
+++ b/code/datums/mood_events/generic_positive_events.dm
@@ -205,3 +205,23 @@
/datum/mood_event/cleared_stomach
description = "Feels nice to get that out of the way!\n"
mood_change = 3
+
+/datum/mood_event/high_five
+ description = "I love getting high fives!\n"
+ mood_change = 2
+ timeout = 45 SECONDS
+
+/datum/mood_event/high_ten
+ description = "AMAZING! A HIGH-TEN!\n"
+ mood_change = 3
+ timeout = 45 SECONDS
+
+/datum/mood_event/down_low
+ description = "HA! What a rube, they never stood a chance...\n"
+ mood_change = 4
+ timeout = 1.5 MINUTES
+
+/datum/mood_event/sacrifice_good
+ description = "The gods are pleased with this offering!\n"
+ mood_change = 5
+ timeout = 3 MINUTES
diff --git a/code/datums/mutations/space_adaptation.dm b/code/datums/mutations/space_adaptation.dm
index 4431720375..6defd05ee5 100644
--- a/code/datums/mutations/space_adaptation.dm
+++ b/code/datums/mutations/space_adaptation.dm
@@ -13,6 +13,7 @@
return
ADD_TRAIT(owner, TRAIT_RESISTCOLD, "cold_resistance")
ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance")
+ ADD_TRAIT(owner, TRAIT_LOWPRESSURECOOLING, "cold_resistance")
owner.add_filter("space_glow", 2, list("type" = "outline", "color" = "#ffe46bd8", "size" = 1))
addtimer(CALLBACK(src, .proc/glow_loop, owner), rand(1,19))
@@ -27,5 +28,6 @@
return
REMOVE_TRAIT(owner, TRAIT_RESISTCOLD, "cold_resistance")
REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance")
+ REMOVE_TRAIT(owner, TRAIT_LOWPRESSURECOOLING, "cold_resistance")
owner.remove_filter("space_glow")
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 2e0df8917d..dbec6c6ee2 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -771,7 +771,7 @@
/datum/status_effect/necropolis_curse/proc/apply_curse(set_curse)
curse_flags |= set_curse
if(curse_flags & CURSE_BLINDING)
- owner.overlay_fullscreen("curse", /atom/movable/screen/fullscreen/curse, 1)
+ owner.overlay_fullscreen("curse", /atom/movable/screen/fullscreen/scaled/curse, 1)
/datum/status_effect/necropolis_curse/proc/remove_curse(remove_curse)
if(remove_curse & CURSE_BLINDING)
@@ -929,11 +929,13 @@
/atom/movable/screen/alert/status_effect/strandling/Click(location, control, params)
. = ..()
- to_chat(mob_viewer, "You attempt to remove the durathread strand from around your neck.")
- if(do_after(mob_viewer, 35, null, mob_viewer))
- if(isliving(mob_viewer))
- var/mob/living/L = mob_viewer
- to_chat(mob_viewer, "You successfully remove the durathread strand.")
+ if(usr != owner)
+ return
+ to_chat(owner, "You attempt to remove the durathread strand from around your neck.")
+ if(do_after(owner, 35, null, owner))
+ if(isliving(owner))
+ var/mob/living/L = owner
+ to_chat(owner, "You successfully remove the durathread strand.")
L.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND)
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index 2c274802b4..53ba29622e 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -83,3 +83,89 @@
/datum/status_effect/throat_soothed/on_remove()
REMOVE_TRAIT(owner, TRAIT_SOOTHED_THROAT, "[STATUS_EFFECT_TRAIT]_[id]")
return ..()
+
+// this status effect is used to negotiate the high-fiving capabilities of all concerned parties
+/datum/status_effect/offering
+ id = "offering"
+ duration = -1
+ tick_interval = -1
+ status_type = STATUS_EFFECT_UNIQUE
+ alert_type = null
+ /// The people who were offered this item at the start
+ var/list/possible_takers
+ /// The actual item being offered
+ var/obj/item/offered_item
+ /// The type of alert given to people when offered, in case you need to override some behavior (like for high-fives)
+ var/give_alert_type = /atom/movable/screen/alert/give
+
+/datum/status_effect/offering/on_creation(mob/living/new_owner, obj/item/offer, give_alert_override)
+ . = ..()
+ if(!.)
+ return
+
+ offered_item = offer
+ if(give_alert_override)
+ give_alert_type = give_alert_override
+
+ for(var/mob/living/carbon/possible_taker in orange(1, owner))
+ if(!owner.CanReach(possible_taker) || IS_DEAD_OR_INCAP(possible_taker) || !possible_taker.can_hold_items())
+ continue
+ register_candidate(possible_taker)
+
+ if(!possible_takers) // no one around
+ qdel(src)
+ return
+
+ RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/check_owner_in_range)
+ RegisterSignal(offered_item, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), .proc/dropped_item)
+ //RegisterSignal(owner, COMSIG_PARENT_EXAMINE_MORE, .proc/check_fake_out)
+
+/datum/status_effect/offering/Destroy()
+ for(var/i in possible_takers)
+ var/mob/living/carbon/removed_taker = i
+ remove_candidate(removed_taker)
+ LAZYCLEARLIST(possible_takers)
+ return ..()
+
+/// Hook up the specified carbon mob to be offered the item in question, give them the alert and signals and all
+/datum/status_effect/offering/proc/register_candidate(mob/living/carbon/possible_candidate)
+ var/atom/movable/screen/alert/give/G = possible_candidate.throw_alert("[owner]", give_alert_type)
+ if(!G)
+ return
+ LAZYADD(possible_takers, possible_candidate)
+ RegisterSignal(possible_candidate, COMSIG_MOVABLE_MOVED, .proc/check_taker_in_range)
+ G.setup(possible_candidate, owner, offered_item)
+
+/// Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker
+/datum/status_effect/offering/proc/remove_candidate(mob/living/carbon/removed_candidate)
+ removed_candidate.clear_alert("[owner]")
+ LAZYREMOVE(possible_takers, removed_candidate)
+ UnregisterSignal(removed_candidate, COMSIG_MOVABLE_MOVED)
+ if(!possible_takers && !QDELING(src))
+ qdel(src)
+
+/// One of our possible takers moved, see if they left us hanging
+/datum/status_effect/offering/proc/check_taker_in_range(mob/living/carbon/taker)
+ SIGNAL_HANDLER
+ if(owner.CanReach(taker) && !IS_DEAD_OR_INCAP(taker))
+ return
+
+ remove_candidate(taker)
+
+/// The offerer moved, see if anyone is out of range now
+/datum/status_effect/offering/proc/check_owner_in_range(mob/living/carbon/source)
+ SIGNAL_HANDLER
+
+ for(var/i in possible_takers)
+ var/mob/living/carbon/checking_taker = i
+ if(!istype(checking_taker) || !owner.CanReach(checking_taker) || IS_DEAD_OR_INCAP(checking_taker))
+ remove_candidate(checking_taker)
+
+/// We lost the item, give it up
+/datum/status_effect/offering/proc/dropped_item(obj/item/source)
+ SIGNAL_HANDLER
+ qdel(src)
+
+/datum/status_effect/offering/secret_handshake
+ id = "secret_handshake"
+ give_alert_type = /atom/movable/screen/alert/give/secret_handshake
diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm
index fe605ba4a6..f3171f6197 100644
--- a/code/datums/status_effects/status_effect.dm
+++ b/code/datums/status_effects/status_effect.dm
@@ -25,18 +25,19 @@
/datum/status_effect/proc/on_creation(mob/living/new_owner, ...)
if(new_owner)
owner = new_owner
- if(owner)
- LAZYADD(owner.status_effects, src)
- if(!owner || !on_apply())
+ if(QDELETED(owner) || !on_apply())
qdel(src)
return
+ if(owner)
+ LAZYADD(owner.status_effects, src)
if(duration != -1)
duration = world.time + duration
next_tick = world.time + tick_interval
if(alert_type)
var/atom/movable/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
- A.attached_effect = src //so the alert can reference us, if it needs to
- linked_alert = A //so we can reference the alert, if we need to
+ if(istype(A))
+ A?.attached_effect = src //so the alert can reference us, if it needs to
+ linked_alert = A //so we can reference the alert, if we need to
START_PROCESSING(SSstatus_effects, src)
return TRUE
diff --git a/code/datums/weather/weather_types/ash_storm.dm b/code/datums/weather/weather_types/ash_storm.dm
index 6248be0de5..14b514b30a 100644
--- a/code/datums/weather/weather_types/ash_storm.dm
+++ b/code/datums/weather/weather_types/ash_storm.dm
@@ -1,3 +1,5 @@
+//A reference to this list is passed into area sound managers, and it's modified in a manner that preserves that reference in ash_storm.dm
+GLOBAL_LIST_EMPTY(ash_storm_sounds)
//Ash storms happen frequently on lavaland. They heavily obscure vision, and cause high fire damage to anyone caught outside.
/datum/weather/ash_storm
name = "ash storm"
@@ -25,55 +27,41 @@
probability = 90
barometer_predictable = TRUE
-
- var/datum/looping_sound/active_outside_ashstorm/sound_ao = new(list(), FALSE, TRUE)
- var/datum/looping_sound/active_inside_ashstorm/sound_ai = new(list(), FALSE, TRUE)
- var/datum/looping_sound/weak_outside_ashstorm/sound_wo = new(list(), FALSE, TRUE)
- var/datum/looping_sound/weak_inside_ashstorm/sound_wi = new(list(), FALSE, TRUE)
+ var/list/weak_sounds = list()
+ var/list/strong_sounds = list()
/datum/weather/ash_storm/telegraph()
- . = ..()
- var/list/inside_areas = list()
- var/list/outside_areas = list()
var/list/eligible_areas = list()
for (var/z in impacted_z_levels)
eligible_areas += SSmapping.areas_in_z["[z]"]
for(var/i in 1 to eligible_areas.len)
var/area/place = eligible_areas[i]
if(place.outdoors)
- outside_areas += place
+ weak_sounds[place] = /datum/looping_sound/weak_outside_ashstorm
+ strong_sounds[place] = /datum/looping_sound/active_outside_ashstorm
else
- inside_areas += place
+ weak_sounds[place] = /datum/looping_sound/weak_inside_ashstorm
+ strong_sounds[place] = /datum/looping_sound/active_inside_ashstorm
CHECK_TICK
- sound_ao.output_atoms = outside_areas
- sound_ai.output_atoms = inside_areas
- sound_wo.output_atoms = outside_areas
- sound_wi.output_atoms = inside_areas
-
- sound_wo.start()
- sound_wi.start()
+ //We modify this list instead of setting it to weak/stron sounds in order to preserve things that hold a reference to it
+ //It's essentially a playlist for a bunch of components that chose what sound to loop based on the area a player is in
+ GLOB.ash_storm_sounds += weak_sounds
+ return ..()
/datum/weather/ash_storm/start()
- . = ..()
- sound_wo.stop()
- sound_wi.stop()
-
- sound_ao.start()
- sound_ai.start()
+ GLOB.ash_storm_sounds -= weak_sounds
+ GLOB.ash_storm_sounds += strong_sounds
+ return ..()
/datum/weather/ash_storm/wind_down()
- . = ..()
- sound_ao.stop()
- sound_ai.stop()
-
- sound_wo.start()
- sound_wi.start()
+ GLOB.ash_storm_sounds -= strong_sounds
+ GLOB.ash_storm_sounds += weak_sounds
+ return ..()
/datum/weather/ash_storm/end()
- . = ..()
- sound_wo.stop()
- sound_wi.stop()
+ GLOB.ash_storm_sounds -= weak_sounds
+ return ..()
/datum/weather/ash_storm/proc/is_ash_immune(atom/L)
while (L && !isturf(L))
@@ -88,6 +76,11 @@
var/mob/living/the_mob = L
if("ash" in the_mob.weather_immunities)
return TRUE
+ // if(istype(L, /obj/structure/closet))
+ // var/obj/structure/closet/the_locker = L
+ // if(the_locker.weather_protection)
+ // if("ash" in the_locker.weather_protection)
+ // return TRUE
L = L.loc //Check parent items immunities (recurses up to the turf)
return FALSE //RIP you
diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm
index 128c860a6d..bf5c0f55d2 100644
--- a/code/datums/wounds/bones.dm
+++ b/code/datums/wounds/bones.dm
@@ -119,12 +119,20 @@
victim.bleed(blood_bled, TRUE)
if(14 to 19)
victim.visible_message("[victim] spits out a string of blood from the blow to [victim.p_their()] chest!", "You spit out a string of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.bleed(blood_bled)
if(20 to INFINITY)
victim.visible_message("[victim] chokes up a spray of blood from the blow to [victim.p_their()] chest!", "You choke up on a spray of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE)
victim.bleed(blood_bled)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.add_splatter_floor(get_step(victim.loc, victim.dir))
diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm
index b26728c377..434a711109 100644
--- a/code/datums/wounds/pierce.dm
+++ b/code/datums/wounds/pierce.dm
@@ -39,12 +39,20 @@
victim.bleed(blood_bled, TRUE)
if(14 to 19)
victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.name]!", "You spit out a string of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.bleed(blood_bled)
if(20 to INFINITY)
victim.visible_message("A spray of blood streams from the gash in [victim]'s [limb.name]!", "You choke up on a spray of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE)
victim.bleed(blood_bled)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.add_splatter_floor(get_step(victim.loc, victim.dir))
/datum/wound/pierce/handle_process()
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 6ad95c8b56..b922f52315 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -50,7 +50,12 @@
var/has_gravity = FALSE
- var/parallax_movedir = 0
+ /// Parallax moving?
+ var/parallax_moving = FALSE
+ /// Parallax move speed - 0 to disable
+ var/parallax_move_speed = 0
+ /// Parallax move dir - degrees clockwise from north
+ var/parallax_move_angle = 0
var/list/ambientsounds = GENERIC
flags_1 = CAN_BE_DIRTY_1
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 86654a9fd5..40162a6c9b 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1291,9 +1291,7 @@
/obj/item/update_filters()
. = ..()
- for(var/X in actions)
- var/datum/action/A = X
- A.UpdateButtonIcon()
+ update_action_buttons()
/atom/proc/get_filter(name)
if(filter_data && filter_data[name])
@@ -1404,3 +1402,15 @@
*/
/atom/proc/setClosed()
return
+
+//Update the screentip to reflect what we're hoverin over
+/atom/MouseEntered(location, control, params)
+ . = ..()
+ // Statusbar
+ // status_bar_set_text(usr, name)
+ // Screentips
+ // if(usr?.hud_used)
+ // if(!usr.client?.prefs.screentip_pref || (flags_1 & NO_SCREENTIPS_1))
+ // usr.hud_used.screentip_text.maptext = ""
+ // else
+ // usr.hud_used.screentip_text.maptext = MAPTEXT("[name]")
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 391d3b467d..5da389fbb8 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -28,7 +28,6 @@
var/pass_flags = 0
var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move
var/atom/movable/moving_from_pull //attempt to resume grab after moving instead of before.
- var/list/client_mobs_in_contents // This contains all the client mobs within this container
var/list/acted_explosions //for explosion dodging
var/datum/forced_movement/force_moving = null //handled soley by forced_movement.dm
@@ -108,8 +107,6 @@
for(var/movable_content in contents)
qdel(movable_content)
- LAZYCLEARLIST(client_mobs_in_contents)
-
moveToNullspace()
/atom/movable/proc/update_emissive_block()
diff --git a/code/game/atoms_movement.dm b/code/game/atoms_movement.dm
index 4f07ff6f95..9fd007e9ee 100644
--- a/code/game/atoms_movement.dm
+++ b/code/game/atoms_movement.dm
@@ -48,8 +48,17 @@
continue
var/atom/movable/thing = i
thing.Crossed(src)
-//
-////////////////////////////////////////
+
+/**
+ * meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts)
+ * if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this
+ * most of the time you want forceMove()
+ */
+/atom/movable/proc/abstract_move(atom/new_loc)
+ var/atom/old_loc = loc
+ // move_stacks++
+ loc = new_loc
+ Moved(old_loc)
/atom/movable/Move(atom/newloc, direct, glide_size_override = 0)
var/atom/movable/pullee = pulling
@@ -167,12 +176,8 @@
if (!inertia_moving)
inertia_next_move = world.time + inertia_move_delay
newtonian_move(Dir)
- if (length(client_mobs_in_contents))
- update_parallax_contents()
-
return TRUE
-
// Make sure you know what you're doing if you call this, this is intended to only be called by byond directly.
// You probably want CanPass()
/atom/movable/Cross(atom/movable/AM)
diff --git a/code/game/communications.dm b/code/game/communications.dm
index 696b942434..2b45fc9469 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -193,7 +193,9 @@ GLOBAL_LIST_INIT(reverseradiochannels, list(
var/frequency = 0
var/transmission_method
var/list/data
+ var/logging_data
-/datum/signal/New(data, transmission_method = TRANSMISSION_RADIO)
+/datum/signal/New(data, transmission_method = TRANSMISSION_RADIO, logging_data = null)
src.data = data || list()
src.transmission_method = transmission_method
+ src.logging_data = logging_data
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
index 0052306949..601848c22c 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
@@ -242,6 +242,69 @@
log_game("DYNAMIC: [key_name(M)] was selected by the [name] ruleset and has been made into a midround traitor.")
return TRUE
+//////////////////////////////////////////////
+// //
+// FAMILIES //
+// //
+//////////////////////////////////////////////
+
+/datum/dynamic_ruleset/midround/families
+ name = "Family Head Aspirants"
+ persistent = TRUE
+ antag_datum = /datum/antagonist/gang
+ antag_flag = ROLE_FAMILY_HEAD_ASPIRANT
+ antag_flag_override = ROLE_FAMILIES
+ protected_roles = list("Prisoner", "Head of Personnel")
+ restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director")
+ required_candidates = 9
+ weight = 3
+ cost = 15
+ requirements = list(101,101,101,50,30,20,10,10,10,10)
+ flags = HIGH_IMPACT_RULESET
+ blocking_rules = list(/datum/dynamic_ruleset/roundstart/families)
+ /// A reference to the handler that is used to run pre_execute(), execute(), etc..
+ var/datum/gang_handler/handler
+
+/datum/dynamic_ruleset/midround/families/trim_candidates()
+ ..()
+ candidates = living_players
+ for(var/mob/living/player in candidates)
+ if(issilicon(player))
+ candidates -= player
+ else if(is_centcom_level(player.z))
+ candidates -= player
+ else if(player.mind && (player.mind.special_role || player.mind.antag_datums?.len > 0))
+ candidates -= player
+ else if(HAS_TRAIT(player, TRAIT_MINDSHIELD))
+ candidates -= player
+
+
+/datum/dynamic_ruleset/midround/families/ready(forced = FALSE)
+ if (required_candidates > living_players.len)
+ return FALSE
+ return ..()
+
+/datum/dynamic_ruleset/midround/families/pre_execute()
+ ..()
+ handler = new /datum/gang_handler(candidates,restricted_roles)
+ handler.gang_balance_cap = clamp((indice_pop - 3), 2, 5) // gang_balance_cap by indice_pop: (2,2,2,2,2,3,4,5,5,5)
+ handler.midround_ruleset = TRUE
+ handler.use_dynamic_timing = TRUE
+ return handler.pre_setup_analogue()
+
+/datum/dynamic_ruleset/midround/families/execute()
+ return handler.post_setup_analogue(TRUE)
+
+/datum/dynamic_ruleset/midround/families/clean_up()
+ QDEL_NULL(handler)
+ ..()
+
+/datum/dynamic_ruleset/midround/families/rule_process()
+ return handler.process_analogue()
+
+/datum/dynamic_ruleset/midround/families/round_result()
+ return handler.set_round_result_analogue()
+
//////////////////////////////////////////////
// //
// Malfunctioning AI //
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
index 9e985e9c47..a9d0ec7d3c 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
@@ -485,6 +485,47 @@
SSticker.mode_result = "loss - servants failed their objective (summon ratvar)"
SSticker.news_report = CULT_FAILURE
+//////////////////////////////////////////////
+// //
+// FAMILIES //
+// //
+//////////////////////////////////////////////
+
+/datum/dynamic_ruleset/roundstart/families
+ name = "Families"
+ persistent = TRUE
+ antag_datum = /datum/antagonist/gang
+ antag_flag = ROLE_FAMILIES
+ protected_roles = list("Prisoner", "Head of Personnel")
+ restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director")
+ required_candidates = 9
+ weight = 3
+ cost = 15
+ requirements = list(101,101,101,50,30,20,10,10,10,10)
+ flags = HIGH_IMPACT_RULESET
+ /// A reference to the handler that is used to run pre_execute(), execute(), etc..
+ var/datum/gang_handler/handler
+
+/datum/dynamic_ruleset/roundstart/families/pre_execute()
+ ..()
+ handler = new /datum/gang_handler(candidates,restricted_roles)
+ handler.gangs_to_generate = (antag_cap[indice_pop] / 2)
+ handler.gang_balance_cap = clamp((indice_pop - 3), 2, 5) // gang_balance_cap by indice_pop: (2,2,2,2,2,3,4,5,5,5)
+ return handler.pre_setup_analogue()
+
+/datum/dynamic_ruleset/roundstart/families/execute()
+ return handler.post_setup_analogue(TRUE)
+
+/datum/dynamic_ruleset/roundstart/families/clean_up()
+ QDEL_NULL(handler)
+ ..()
+
+/datum/dynamic_ruleset/roundstart/families/rule_process()
+ return handler.process_analogue()
+
+/datum/dynamic_ruleset/roundstart/families/round_result()
+ return handler.set_round_result_analogue()
+
// Admin only rulesets. The threat requirement is 101 so it is not possible to roll them.
//////////////////////////////////////////////
diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm
new file mode 100644
index 0000000000..47c24a8fcf
--- /dev/null
+++ b/code/game/gamemodes/gang/gang.dm
@@ -0,0 +1,50 @@
+/datum/game_mode/gang
+ name = "Families"
+ config_tag = "families"
+ antag_flag = ROLE_TRAITOR
+ false_report_weight = 5
+ required_players = 0
+ required_enemies = 1
+ recommended_enemies = 4
+ announce_span = "danger"
+ announce_text = "Grove For Lyfe!"
+ reroll_friendly = FALSE
+ restricted_jobs = list("Cyborg", "AI", "Prisoner","Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel")//N O
+ protected_jobs = list()
+
+ /// A reference to the handler that is used to run pre_setup(), post_setup(), etc..
+ var/datum/gang_handler/handler
+
+/datum/game_mode/gang/warriors
+ name = "Warriors"
+ config_tag = "warriors"
+ announce_text = "Can you survive this onslaught?"
+
+/datum/game_mode/gang/warriors/pre_setup()
+ handler = new /datum/gang_handler(antag_candidates,restricted_jobs)
+ var/list/datum/antagonist/gang/gangs_to_generate = subtypesof(/datum/antagonist/gang)
+ handler.gangs_to_generate = gangs_to_generate.len
+ handler.gang_balance_cap = 3
+ return handler.pre_setup_analogue()
+
+/datum/game_mode/gang/pre_setup()
+ handler = new /datum/gang_handler(antag_candidates,restricted_jobs)
+ return handler.pre_setup_analogue()
+
+/datum/game_mode/gang/Destroy()
+ QDEL_NULL(handler)
+ return ..()
+
+/datum/game_mode/gang/post_setup()
+ handler.post_setup_analogue(FALSE)
+ gamemode_ready = TRUE
+ return ..()
+
+/datum/game_mode/gang/process()
+ handler.process_analogue()
+
+/datum/game_mode/gang/set_round_result()
+ return handler.set_round_result_analogue()
+
+/datum/game_mode/gang/generate_report()
+ return "Something something grove street home at least until I fucked everything up idk nobody reads these reports."
diff --git a/code/game/gamemodes/gangs/dominator.dm b/code/game/gamemodes/gangs/dominator.dm
deleted file mode 100644
index a253aa906c..0000000000
--- a/code/game/gamemodes/gangs/dominator.dm
+++ /dev/null
@@ -1,247 +0,0 @@
-#define DOM_BLOCKED_SPAM_CAP 6
-//32 instead of 40 for safety reasons. How many turfs aren't walls around dominator for it to work
-//Update ppl somehow fuckup at 32, now we are down to 25. I hope to god they don't try harder to wall it.
-#define DOM_REQUIRED_TURFS 25
-#define DOM_HULK_HITS_REQUIRED 10
-
-/obj/machinery/dominator
- name = "dominator"
- desc = "A visibly sinister device. Looks like you can break it if you hit it enough."
- icon = 'icons/obj/machines/dominator.dmi'
- icon_state = "dominator"
- density = TRUE
- anchored = TRUE
- layer = HIGH_OBJ_LAYER
- max_integrity = 300
- integrity_failure = 0.33
- armor = list("melee" = 20, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 10, "acid" = 70)
- var/datum/team/gang/gang
- var/operating = FALSE //false=standby or broken, true=takeover
- var/warned = FALSE //if this device has set off the warning at <3 minutes yet
- var/spam_prevention = DOM_BLOCKED_SPAM_CAP //first message is immediate
- var/datum/effect_system/spark_spread/spark_system
- var/obj/effect/countdown/dominator/countdown
-
-/obj/machinery/dominator/Initialize()
- . = ..()
- set_light(l_range = 2, l_power = 0.75)
- GLOB.poi_list |= src
- spark_system = new
- spark_system.set_up(5, TRUE, src)
- countdown = new(src)
- update_icon()
-
-/obj/machinery/dominator/Destroy()
- if(!(stat & BROKEN))
- set_broken()
- GLOB.poi_list.Remove(src)
- gang = null
- QDEL_NULL(spark_system)
- QDEL_NULL(countdown)
- STOP_PROCESSING(SSmachines, src)
- return ..()
-
-/obj/machinery/dominator/emp_act(severity)
- take_damage(75+severity/4, BURN, "energy", 0)
- ..()
-
-/obj/machinery/dominator/hulk_damage()
- return (max_integrity - integrity_failure) / DOM_HULK_HITS_REQUIRED
-
-/obj/machinery/dominator/update_icon()
- cut_overlays()
- if(stat & BROKEN)
- icon_state = "dominator-broken"
- return
- icon_state = "dominator"
- if(operating)
- var/mutable_appearance/dominator_overlay = mutable_appearance('icons/obj/machines/dominator.dmi', "dominator-overlay")
- if(gang)
- dominator_overlay.color = gang.color
- add_overlay(dominator_overlay)
- if(obj_integrity/max_integrity < 0.66)
- add_overlay("damage")
-
-/obj/machinery/dominator/examine(mob/user)
- . = ..()
- if(stat & BROKEN)
- return
-
- if(gang && gang.domination_time != NOT_DOMINATING)
- if(gang.domination_time > world.time)
- . += "Hostile Takeover in progress. Estimated [gang.domination_time_remaining()] seconds remain."
- else
- . += "Hostile Takeover of [station_name()] successful. Have a great day."
- else
- . += "System on standby."
- . += "System Integrity: [round((obj_integrity/max_integrity)*100,1)]%"
-
-/obj/machinery/dominator/process()
- ..()
- if(gang && gang.domination_time != NOT_DOMINATING)
- var/time_remaining = gang.domination_time_remaining()
- if(time_remaining > 0)
- if(!is_station_level(z))
- explosion(src, 5, 10, 20, 30) //you now get a nice explosion if this moves off station.
- qdel(src) //to make sure it doesn't continue to exist.
- if(excessive_walls_check())
- gang.domination_time += 20
- if(spam_prevention < DOM_BLOCKED_SPAM_CAP)
- spam_prevention++
- else
- playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0) // Play sound buzz-two.ogg, not before cause its annoying.
- gang.message_gangtools("Warning: There are too many walls around your gang's dominator, its signal is being blocked!")
- say("Error: Takeover signal is currently blocked! There are too many walls within 3 standard units of this device.")
- spam_prevention = 0
- return
- . = TRUE
- playsound(loc, 'sound/items/timer.ogg', 10, 0)
- if(!warned && (time_remaining < 180))
- warned = TRUE
- var/area/domloc = get_base_area(loc)
- gang.message_gangtools("Less than 3 minutes remains in hostile takeover. Defend your dominator at [domloc.map_name]!")
- for(var/G in GLOB.gangs)
- var/datum/team/gang/tempgang = G
- if(tempgang != gang)
- tempgang.message_gangtools("WARNING: [gang.name] Gang takeover imminent. Their dominator at [domloc.map_name] must be destroyed!",1,1)
- else
- endgame()
-
- if(!.)
- STOP_PROCESSING(SSmachines, src)
-
-/obj/machinery/dominator/proc/endgame()
- set waitfor = FALSE
- Cinematic(CINEMATIC_MALF,world) //Here is the gang victory trigger on the dominator ending.
- gang.winner = TRUE
- SSticker.news_report = GANG_VICTORY
- SSticker.force_ending = TRUE
-
-/obj/machinery/dominator/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
- switch(damage_type)
- if(BRUTE)
- if(damage_amount)
- playsound(src, 'sound/effects/bang.ogg', 50, 1)
- else
- playsound(loc, 'sound/weapons/tap.ogg', 50, 1)
- if(BURN)
- playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
-
-/obj/machinery/dominator/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
- . = ..()
- if(.)
- if(obj_integrity/max_integrity > 0.66)
- if(prob(damage_amount*2))
- spark_system.start()
- else if(!(stat & BROKEN))
- spark_system.start()
- update_icon()
-
-
-/obj/machinery/dominator/obj_break(damage_flag)
- if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1))
- set_broken()
-
-/obj/machinery/dominator/deconstruct(disassembled = TRUE)
- if(!(flags_1 & NODECONSTRUCT_1))
- if(!(stat & BROKEN))
- set_broken()
- new /obj/item/stack/sheet/plasteel(src.loc)
- qdel(src)
-
-/obj/machinery/dominator/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
- add_fingerprint(user)
- return ..()
-
-/obj/machinery/dominator/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
- if(operating || (stat & BROKEN))
- examine(user)
- return
-
- var/datum/team/gang/tempgang
-
- var/datum/antagonist/gang/GA = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(GA)
- tempgang = GA.gang
- if(!tempgang)
- examine(user)
- return
-
- if(tempgang.domination_time != NOT_DOMINATING)
- to_chat(user, "Error: Hostile Takeover is already in progress.")
- return
-
- if(!tempgang.dom_attempts)
- to_chat(user, "Error: Unable to breach station network. Firewall has logged our signature and is blocking all further attempts.")
- return
-
- var/time = round(tempgang.determine_domination_time()/60,0.1)
- if(alert(user,"A takeover will require [time] minutes.\nYour gang will be unable to gain influence while it is active.\nThe entire station will likely be alerted to it once it starts.\nYou have [tempgang.dom_attempts] attempt(s) remaining. Are you ready?","Confirm","Ready","Later") == "Ready")
- if((tempgang.domination_time != NOT_DOMINATING) || !tempgang.dom_attempts || !in_range(src, user) || !isturf(loc))
- return 0
-
- var/area/A = get_base_area(loc)
- var/locname = A.map_name
-
- gang = tempgang
- gang.dom_attempts --
- priority_announce("Network breach detected in [locname]. The [gang.name] Gang is attempting to seize control of the station!","Network Alert")
- gang.domination()
- SSshuttle.registerHostileEnvironment(src)
- name = "[gang.name] Gang [name]"
- operating = TRUE
- update_icon()
-
- countdown.start()
- countdown.color = gang.color
-
- set_light(l_range = 3, l_power = 0.9)
- light_color = gang.color
- START_PROCESSING(SSmachines, src)
-
- gang.message_gangtools("Hostile takeover in progress: Estimated [time] minutes until victory.[gang.dom_attempts ? "" : " This is your final attempt."]")
- for(var/G in GLOB.gangs)
- var/datum/team/gang/vagos = G
- if(vagos != gang)
- vagos.message_gangtools("Enemy takeover attempt detected in [locname]: Estimated [time] minutes until our defeat.",1,1)
-
-/obj/machinery/dominator/proc/excessive_walls_check() // why the fuck was this even a global proc...
- var/open = 0
- for(var/turf/T in view(3, src))
- if(!iswallturf(T)) //Check for /closed/wall, isclosedturf() moves it back to just checking for /closed/ which makes it very finicky.
- open++
- //to_chat(world, "THE DOMINATOR SEES [open] OPEN TURFS") uncomment to see what this shitty fucking wallcheck sees
- if(open < DOM_REQUIRED_TURFS)
- return TRUE
- else
- return FALSE
-/obj/machinery/dominator/proc/set_broken()
- if(gang)
- gang.domination_time = NOT_DOMINATING
-
- var/takeover_in_progress = FALSE
- for(var/G in GLOB.gangs)
- var/datum/team/gang/ballas = G
- if(ballas.domination_time != NOT_DOMINATING)
- takeover_in_progress = TRUE
- break
- if(!takeover_in_progress)
- var/was_stranded = SSshuttle.emergency.mode == SHUTTLE_STRANDED
- if(!was_stranded)
- priority_announce("All hostile activity within station systems has ceased.","Network Alert")
-
- if(NUM2SECLEVEL(GLOB.security_level) == "delta")
- set_security_level("red")
-
- SSshuttle.clearHostileEnvironment(src)
- gang.message_gangtools("Hostile takeover cancelled: Dominator is no longer operational.[gang.dom_attempts ? " You have [gang.dom_attempts] attempt remaining." : " The station network will have likely blocked any more attempts by us."]",1,1)
-
- set_light(0)
- operating = FALSE
- stat |= BROKEN
- update_icon()
- STOP_PROCESSING(SSmachines, src)
-
-#undef DOM_BLOCKED_SPAM_CAP
-#undef DOM_REQUIRED_TURFS
-#undef DOM_HULK_HITS_REQUIRED
diff --git a/code/game/gamemodes/gangs/dominator_countdown.dm b/code/game/gamemodes/gangs/dominator_countdown.dm
deleted file mode 100644
index 3b61a07829..0000000000
--- a/code/game/gamemodes/gangs/dominator_countdown.dm
+++ /dev/null
@@ -1,13 +0,0 @@
-/obj/effect/countdown/dominator
- name = "dominator countdown"
- text_size = 1
- color = "#e5e5e5" // Overwritten when the dominator starts
-
-/obj/effect/countdown/dominator/get_value()
- var/obj/machinery/dominator/D = attached_to
- if(!istype(D))
- return
- else if(D.gang && D.gang.domination_time != NOT_DOMINATING)
- return D.gang.domination_time_remaining()
- else
- return "OFFLINE"
diff --git a/code/game/gamemodes/gangs/gang.dm b/code/game/gamemodes/gangs/gang.dm
deleted file mode 100644
index 6efdf2a4aa..0000000000
--- a/code/game/gamemodes/gangs/gang.dm
+++ /dev/null
@@ -1,479 +0,0 @@
-/datum/antagonist/gang
- name = "Gangster"
- roundend_category = "gangsters"
- can_coexist_with_others = FALSE
- job_rank = ROLE_GANG
- antagpanel_category = "Gang"
- threat = 2
- var/hud_type = "gangster"
- var/message_name = "Gangster"
- var/datum/team/gang/gang
-
-/datum/antagonist/gang/can_be_owned(datum/mind/new_owner)
- . = ..()
- if(.)
- if(new_owner.unconvertable)
- return FALSE
-
-/datum/antagonist/gang/apply_innate_effects(mob/living/mob_override)
- var/mob/living/M = mob_override || owner.current
- update_gang_icons_added(M)
-
-/datum/antagonist/gang/remove_innate_effects(mob/living/mob_override)
- var/mob/living/M = mob_override || owner.current
- update_gang_icons_removed(M)
-
-/datum/antagonist/gang/get_team()
- return gang
-
-/datum/antagonist/gang/greet()
- gang.greet_gangster(owner)
-
-/datum/antagonist/gang/farewell()
- if(ishuman(owner.current))
- owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just remembered [owner.current.p_their()] real allegiance!", null, null, null, owner.current)
- to_chat(owner, "You are no longer a gangster! Your memories from the time you were in a gang are hazy... You don't seem to be able to recall the names of your previous allies, not even your bosses...")
-
-/datum/antagonist/gang/on_gain()
- if(!gang)
- create_team()
- ..()
- var/mob/living/carbon/human/H = owner.current
- if(istype(H))
- if(owner.assigned_role == "Clown")
- to_chat(owner, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
- H.dna.remove_mutation(CLOWNMUT)
- add_to_gang()
-
-/datum/antagonist/gang/on_removal()
- remove_from_gang()
- ..()
-
-/datum/antagonist/gang/create_team(team)
- if(!gang) // add_antag_datum calls create_team, so we need to avoid generating two gangs in that case
- if(team)
- gang = team
- return
- var/datum/team/gang/gangteam = pick_n_take(GLOB.possible_gangs)
- if(gangteam)
- gang = new gangteam
-
-/datum/antagonist/gang/proc/equip_gang() // Bosses get equipped with their tools
- return
-
-/datum/antagonist/gang/proc/update_gang_icons_added(mob/living/M)
- var/datum/atom_hud/antag/gang/ganghud = GLOB.huds[gang.hud_entry_num]
- if(!ganghud)
- ganghud = new/datum/atom_hud/antag/gang()
- gang.hud_entry_num = GLOB.huds.len+1 // this is the index the gang hud will be added at
- GLOB.huds += ganghud
- ganghud.color = gang.color
- ganghud.join_hud(M)
- set_antag_hud(M,hud_type)
-
-/datum/antagonist/gang/proc/update_gang_icons_removed(mob/living/M)
- var/datum/atom_hud/antag/gang/ganghud = GLOB.huds[gang.hud_entry_num]
- if(ganghud)
- ganghud.leave_hud(M)
- set_antag_hud(M, null)
-
-/datum/antagonist/gang/proc/can_be_converted(mob/living/candidate)
- if(!candidate.mind)
- return FALSE
- if(!can_be_owned(candidate.mind))
- return FALSE
- var/mob/living/carbon/human/H = candidate
- if(!istype(H)) //Can't nonhumans
- return FALSE
- return TRUE
-
-/datum/antagonist/gang/proc/promote() // Bump up to boss
- var/datum/team/gang/old_gang = gang
- var/datum/mind/old_owner = owner
- owner.remove_antag_datum(/datum/antagonist/gang)
- var/datum/antagonist/gang/boss/lieutenant/new_boss = new
- new_boss.silent = TRUE
- old_owner.add_antag_datum(new_boss,old_gang)
- new_boss.silent = FALSE
- log_game("[key_name(old_owner)] has been promoted to Lieutenant in the [old_gang.name] Gang")
- to_chat(old_owner, "You have been promoted to Lieutenant!")
-
-
-// Admin commands
-/datum/antagonist/gang/get_admin_commands()
- . = ..()
- .["Promote"] = CALLBACK(src,.proc/admin_promote)
- .["Set Influence"] = CALLBACK(src, .proc/admin_adjust_influence)
- if(gang.domination_time != NOT_DOMINATING)
- .["Set domination time left"] = CALLBACK(src, .proc/set_dom_time_left)
-
-/datum/antagonist/gang/admin_add(datum/mind/new_owner,mob/admin)
- var/new_or_existing = input(admin, "Which gang do you want to be assigned to the user?", "Gangs") as null|anything in list("New","Existing")
- if(isnull(new_or_existing))
- return
- else if(new_or_existing == "New")
- var/newgang = input(admin, "Select a gang, or select random to pick a random one.", "New gang") as null|anything in GLOB.possible_gangs + "Random"
- if(isnull(newgang))
- return
- else if(newgang == "Random")
- var/datum/team/gang/G = pick_n_take(GLOB.possible_gangs)
- gang = new G
- else
- GLOB.possible_gangs -= newgang
- gang = new newgang
- else
- if(!GLOB.gangs.len) // no gangs exist
- to_chat(admin, "No gangs exist, please create a new one instead.")
- return
- var/existinggang = input(admin, "Select a gang, or select random to pick a random one.", "Existing gang") as null|anything in GLOB.gangs + "Random"
- if(isnull(existinggang))
- return
- else if(existinggang == "Random")
- gang = pick(GLOB.gangs)
- else
- gang = existinggang
- ..()
- return TRUE
-
-/datum/antagonist/gang/proc/admin_promote(mob/admin)
- message_admins("[key_name_admin(admin)] has promoted [owner] to gang boss.")
- log_admin("[key_name(admin)] has promoted [owner] to boss.")
- promote()
-
-/datum/antagonist/gang/proc/admin_adjust_influence()
- var/inf = input("Influence for [gang.name]","Gang influence", gang.influence) as null | num
- if(!isnull(inf))
- gang.influence = inf
- message_admins("[key_name_admin(usr)] changed [gang.name]'s influence to [inf].")
- log_admin("[key_name(usr)] changed [gang.name]'s influence to [inf].")
-
-/datum/antagonist/gang/proc/add_to_gang()
- gang.add_member(owner)
- owner.current.log_message("Has been converted to the [gang.name] gang!", INDIVIDUAL_ATTACK_LOG)
-
-/datum/antagonist/gang/proc/remove_from_gang()
- gang.remove_member(owner)
- owner.current.log_message("Has been deconverted from the [gang.name] gang!", INDIVIDUAL_ATTACK_LOG)
-
-/datum/antagonist/gang/proc/set_dom_time_left(mob/admin)
- if(gang.domination_time == NOT_DOMINATING)
- return // an admin shouldn't need this
- var/seconds = input(admin, "Set the time left for the gang to win, in seconds", "Domination time left") as null|num
- if(seconds && seconds > 0)
- gang.domination_time = world.time + seconds*10
- gang.message_gangtools("Takeover shortened to [gang.domination_time_remaining()] seconds by your Syndicate benefactors.")
-
-// Boss type. Those can use gang tools to buy items for their gang, in particular the Dominator, used to win the gamemode, along with more gang tools to promote fellow gangsters to boss status.
-/datum/antagonist/gang/boss
- name = "Gang boss"
- hud_type = "gang_boss"
- message_name = "Leader"
- threat = 10
-
-/datum/antagonist/gang/boss/on_gain()
- ..()
- if(gang)
- gang.leaders += owner
-
-/datum/antagonist/gang/boss/on_removal()
- if(gang)
- gang.leaders -= owner
- ..()
-
-/datum/antagonist/gang/boss/antag_listing_name()
- return ..() + "(Boss)"
-
-/datum/antagonist/gang/boss/equip_gang(gangtool = TRUE, pen = TRUE, spraycan = TRUE, hud = TRUE) // usually has to be called separately
- var/mob/living/carbon/human/H = owner.current
- if(!istype(H))
- return
-
- var/list/slots = list (
- "backpack" = SLOT_IN_BACKPACK,
- "left pocket" = SLOT_L_STORE,
- "right pocket" = SLOT_R_STORE,
- "hands" = SLOT_HANDS
- )
-
- if(gangtool)//Here is where all of the text occurs when a gang boss first spawns in.
- var/obj/item/device/gangtool/G = new()
- var/where = H.equip_in_one_of_slots(G, slots, critical = TRUE)
- if (!where)
- to_chat(H, "Your Syndicate benefactors were unfortunately unable to get you a Gangtool.")
- else
- G.register_device(H)
- to_chat(H, "The Gangtool in your [where] will allow you to purchase weapons and equipment, send messages to your gang, and recall the emergency shuttle from anywhere on the station.")
- to_chat(H, "As the gang boss, you can also promote your gang members to lieutenant. Unlike regular gangsters, Lieutenants cannot be deconverted and are able to use gangtools too.")
-
- if(pen)
- var/obj/item/pen/gang/T = new()
- var/where2 = H.equip_in_one_of_slots(T, slots, critical = TRUE)
- if (!where2)
- to_chat(H, "Your Syndicate benefactors were unfortunately unable to get you a recruitment pen to start.")
- else
- to_chat(H, "The recruitment pen in your [where2] will help you get your gang started. Stab unsuspecting crew members with it to recruit them. All gangsters can use these, distribute them to see your gang grow.")
-
- if(spraycan)
- var/obj/item/toy/crayon/spraycan/gang/SC = new(null,gang)
- var/where3 = H.equip_in_one_of_slots(SC, slots, critical = TRUE)
- if (!where3)
- to_chat(H, "Your Syndicate benefactors were unfortunately unable to get you a territory spraycan to start.")
- else
- to_chat(H, "The territory spraycan in your [where3] can be used to claim areas of the station for your gang. The more territory your gang controls, the more influence you get. All gangsters can use these, so distribute them to grow your influence faster.")
-
- if(hud)
- var/obj/item/clothing/glasses/hud/security/chameleon/C = new(null,gang)
- var/where4 = H.equip_in_one_of_slots(C, slots, critical = TRUE)
- if (!where4)
- to_chat(H, "Your Syndicate benefactors were unfortunately unable to get you a chameleon security HUD.")
- else
- to_chat(H, "The chameleon security HUD in your [where4] will help you keep track of who is mindshield-implanted, and unable to be recruited.")
-
-// Admin commands for bosses
-/datum/antagonist/gang/boss/admin_add(datum/mind/new_owner,mob/admin)
- if(!new_owner.has_antag_datum(parent_type))
- ..()
- to_chat(new_owner.current, "You are a member of the [gang.name] Gang leadership now!")
- return
- promote()
- message_admins("[key_name_admin(admin)] has made [new_owner.current] a boss of the [gang.name] gang.")
- log_admin("[key_name(admin)] has made [new_owner.current] a boss of the [gang.name] gang.")
- to_chat(new_owner.current, "You are a member of the [gang.name] Gang leadership now!")
-
-/datum/antagonist/gang/boss/get_admin_commands()
- . = ..()
- . -= "Promote"
- .["Take gangtool"] = CALLBACK(src,.proc/admin_take_gangtool)
- .["Give gangtool"] = CALLBACK(src,.proc/admin_give_gangtool)
- .["Demote"] = CALLBACK(src,.proc/admin_demote)
-
-/datum/antagonist/gang/boss/proc/demote()
- var/old_gang = gang
- var/datum/mind/old_owner = owner
- silent = TRUE
- owner.remove_antag_datum(/datum/antagonist/gang/boss)
- var/datum/antagonist/gang/new_gangster = new /datum/antagonist/gang()
- new_gangster.silent = TRUE
- old_owner.add_antag_datum(new_gangster,old_gang)
- new_gangster.silent = FALSE
- log_game("[key_name(old_owner)] has been demoted to Gangster in the [gang.name] Gang")
- to_chat(old_owner, "The gang has been disappointed of your leader traits! You are a regular gangster now!")
-
-/datum/antagonist/gang/boss/proc/admin_take_gangtool(mob/admin)
- var/list/L = owner.current.get_contents()
- var/obj/item/device/gangtool/gangtool = locate() in L
- if (!gangtool)
- to_chat(admin, "Deleting gangtool failed!")
- return
- qdel(gangtool)
-
-/datum/antagonist/gang/boss/proc/admin_give_gangtool(mob/admin)
- equip_gang(TRUE, FALSE, FALSE, FALSE)
-
-/datum/antagonist/gang/boss/proc/admin_demote(datum/mind/target,mob/user)
- message_admins("[key_name_admin(user)] has demoted [owner.current] from gang boss.")
- log_admin("[key_name(user)] has demoted [owner.current] from gang boss.")
- admin_take_gangtool(user)
- demote()
-
-/datum/antagonist/gang/boss/lieutenant
- name = "Gang Lieutenant"
- message_name = "Lieutenant"
- hud_type = "gang_lt"
-
-#define MAXIMUM_RECALLS 3
-#define INFLUENCE_INTERVAL 1200 //This handles the interval between each count of influence.
-// Gang team datum. This handles the gang itself.
-/datum/team/gang
- name = "Gang"
- member_name = "gangster"
- var/hud_entry_num // because if you put something other than a number in GLOB.huds, god have mercy on your fucking soul friend
- var/list/leaders = list() // bosses
- var/max_leaders = MAX_LEADERS_GANG
- var/list/territories = list() // territories owned by the gang.
- var/list/lost_territories = list() // territories lost by the gang.
- var/list/new_territories = list() // territories captured by the gang.
- var/list/gangtools = list()
- var/domination_time = NOT_DOMINATING
- var/dom_attempts = INITIAL_DOM_ATTEMPTS
- var/color
- var/influence = 0 // influence of the gang, based on how many territories they own. Can be used to buy weapons and tools from a gang uplink.
- var/winner // Once the gang wins with a dominator, this becomes true. For roundend credits purposes.
- var/list/inner_outfits = list()
- var/list/outer_outfits = list()
- var/next_point_time
- var/recalls = MAXIMUM_RECALLS // Once this reaches 0, this gang cannot force recall the shuttle with their gangtool anymore
-
-/datum/team/gang/New(starting_members)
- . = ..()
- GLOB.gangs += src
- if(starting_members)
- if(islist(starting_members))
- for(var/datum/mind/groveboss in starting_members)
- leaders += groveboss
- var/datum/antagonist/gang/boss/gb = new
- groveboss.add_antag_datum(gb, src)
- gb.equip_gang()
-
- else
- var/datum/mind/CJ = starting_members
- if(istype(CJ))
- leaders += CJ
- var/datum/antagonist/gang/boss/bossdatum = new
- CJ.add_antag_datum(bossdatum, src)
- bossdatum.equip_gang()
- next_point_time = world.time + INFLUENCE_INTERVAL
- addtimer(CALLBACK(src, .proc/handle_territories), INFLUENCE_INTERVAL)
-
-/datum/team/gang/Destroy()
- GLOB.gangs -= src
- ..()
-
-/datum/team/gang/roundend_report() //roundend report.
- var/list/report = list()
- report += "[name]:"
- if(winner)
- report += "The [name] gang successfully activated the mind dominator!"
- else
- report += "The [name] gang has failed!"
-
- report += "The [name] gang bosses were:"
- report += printplayerlist(leaders)
- report += "The [name] [member_name]s were:"
- report += printplayerlist(members-leaders)
-
- return "
[report.Join(" ")]
"
-
-/datum/team/gang/proc/greet_gangster(datum/mind/gangster) //The text a person receives when recruited.
- var/message = "You are now a member of the [name] Gang!"
- message += "Help your bosses take over the station by claiming territory with spraycans. Simply spray on any unclaimed area of the station."
- message += "You can also use recruitment pens to recruit more to your cause, If your boss provides you one."
- message += "Their ultimate objective is to take over the station with a Dominator machine."
- message += "You can identify your mates by their large, \[G\] icon."
- to_chat(gangster, message)
- gangster.store_memory("You are a member of the [name] Gang!")
-
-/datum/team/gang/proc/handle_territories()
- next_point_time = world.time + INFLUENCE_INTERVAL
- if(!leaders.len)
- return
- var/added_names = ""
- var/lost_names = ""
-
- //Re-add territories that were reclaimed, so if they got tagged over, they can still earn income if they tag it back before the next status report
- var/list/reclaimed_territories = new_territories & lost_territories
- territories |= reclaimed_territories
- new_territories -= reclaimed_territories
- lost_territories -= reclaimed_territories
-
- //Process lost territories
- for(var/area in lost_territories)
- if(lost_names != "")
- lost_names += ", "
- lost_names += "[lost_territories[area]]"
- territories -= area
-
- //Calculate and report influence growth
-
- //Process new territories
- for(var/area in new_territories)
- if(added_names != "")
- added_names += ", "
- added_names += "[new_territories[area]]"
- territories += area
-
- //Report territory changes
- var/message = "[src] Gang Status Report:. *---------* "
- message += "[new_territories.len] new territories: [added_names] "
- message += "[lost_territories.len] territories lost: [lost_names] "
- //Clear the lists
- new_territories = list()
- lost_territories = list()
- var/total_territories = total_claimable_territories()
- var/control = round((territories.len/total_territories)*100, 1)
- var/uniformed = check_clothing()
- message += "Your gang now has [control]% control of the station. *---------* "
- if(domination_time != NOT_DOMINATING)
- var/new_time = max(world.time, domination_time - (uniformed * 4) - (territories.len * 2))
- if(new_time < domination_time)
- message += "Takeover shortened by [(domination_time - new_time)*0.1] seconds for defending [territories.len] territories. "
- domination_time = new_time
- message += "[domination_time_remaining()] seconds remain in hostile takeover. "
- else
- var/new_influence = check_territory_income()
- if(new_influence != influence)
- message += "Gang influence has increased by [new_influence - influence] for defending [territories.len] territories and [uniformed] uniformed gangsters. "
- influence = new_influence
- message += "Your gang now has [influence] influence. "
- message_gangtools(message)
- addtimer(CALLBACK(src, .proc/handle_territories), INFLUENCE_INTERVAL)
-
-/datum/team/gang/proc/total_claimable_territories()
- var/list/valid_territories = list()
- for(var/z in SSmapping.levels_by_trait(ZTRAIT_STATION)) //First, collect all area types on the station zlevel
- for(var/ar in SSmapping.areas_in_z["[z]"])
- var/area/A = ar
- if(!(A.type in valid_territories) && (A.area_flags & VALID_TERRITORY))
- valid_territories |= A.type
- return valid_territories.len
-
-/datum/team/gang/proc/check_territory_income()
- var/new_influence = min(999,influence + 15 + (check_clothing() * 2) + territories.len)
- return new_influence
-
-/datum/team/gang/proc/check_clothing()
- //Count uniformed gangsters
- var/uniformed = 0
- for(var/datum/mind/gangmind in members)
- if(ishuman(gangmind.current))
- var/mob/living/carbon/human/gangster = gangmind.current
- //Gangster must be alive and should return 0 not continue if conditions are met.
- if(!istype(gangster) || gangster.stat == DEAD)
- return 0
-
- var/obj/item/clothing/outfit
- var/obj/item/clothing/gang_outfit
- if(gangster.w_uniform)
- outfit = gangster.w_uniform
- if(outfit.type in inner_outfits)
- gang_outfit = outfit
- if(gangster.wear_suit)
- outfit = gangster.wear_suit
- if(outfit.type in outer_outfits)
- gang_outfit = outfit
-
- if(gang_outfit)
- uniformed++
- return uniformed
-
-/datum/team/gang/proc/adjust_influence(value)
- influence = max(0, influence + value)
-
-/datum/team/gang/proc/message_gangtools(message)
- if(!gangtools.len || !message)
- return
- for(var/i in gangtools)
- var/obj/item/device/gangtool/tool = i
- var/mob/living/mob = get(tool.loc, /mob/living)
- if(mob && mob.mind && mob.stat == CONSCIOUS)
- var/datum/antagonist/gang/gangster = mob.mind.has_antag_datum(/datum/antagonist/gang)
- if(gangster.gang == src)
- to_chat(mob, "[icon2html(tool, mob)] [message]")
- playsound(mob.loc, 'sound/machines/twobeep.ogg', 50, 1)
- return
-
-/datum/team/gang/proc/domination()
- domination_time = world.time + determine_domination_time()*10
- set_security_level("delta")
-
-/datum/team/gang/proc/determine_domination_time() // calculates the value in seconds (this is the initial domination time!)
- var/total_territories = total_claimable_territories()
- return max(180,480 - (round((territories.len/total_territories)*100, 1) * 9))
-
-/datum/team/gang/proc/domination_time_remaining() // retrieves the value from world.time based deciseconds to seconds
- var/diff = domination_time - world.time
- return round(diff * 0.1)
-
-
-#undef MAXIMUM_RECALLS
-#undef INFLUENCE_INTERVAL
diff --git a/code/game/gamemodes/gangs/gang_datums.dm b/code/game/gamemodes/gangs/gang_datums.dm
deleted file mode 100644
index c3a9cb0647..0000000000
--- a/code/game/gamemodes/gangs/gang_datums.dm
+++ /dev/null
@@ -1,139 +0,0 @@
-// Gang datums go here. If you want to create a new gang, you must be sure to edit:
-// name
-// color (must be a hex, "blue" isn't acceptable due to how spraycans are handled)
-// inner_outfits (must be a list() with typepaths of the clothes in it. One is fine, but there is support for multiple: one will be picked at random when bought)
-// outer_outfits (same as above)
-// You also need to make a gang graffiti, that will go in crayondecal.dmi inside our icons, with the same name of the gang it's assigned to. Nothing else,just the icon.
-// Those are all required. If one is missed, stuff could break.
-
-/datum/team/gang/clandestine
- name = "Clandestine"
- color = "#FF0000"
- inner_outfits = list(/obj/item/clothing/under/syndicate/combat)
- outer_outfits = list(/obj/item/clothing/suit/jacket)
-
-/datum/team/gang/prima
- name = "Prima"
- color = "#FFFF00"
- inner_outfits = list(/obj/item/clothing/under/color/yellow)
- outer_outfits = list(/obj/item/clothing/suit/hastur)
-
-/datum/team/gang/zerog
- name = "Zero-G"
- color = "#C0C0C0"
- inner_outfits = list(/obj/item/clothing/under/suit/white)
- outer_outfits = list(/obj/item/clothing/suit/hooded/wintercoat)
-
-/datum/team/gang/max
- name = "Max"
- color = "#800000"
- inner_outfits = list(/obj/item/clothing/under/color/maroon)
- outer_outfits = list(/obj/item/clothing/suit/poncho/red)
-
-/datum/team/gang/blasto
- name = "Blasto"
- color = "#000080"
- inner_outfits = list(/obj/item/clothing/under/suit/navy)
- outer_outfits = list(/obj/item/clothing/suit/jacket/miljacket)
-
-/datum/team/gang/waffle
- name = "Waffle"
- color = "#808000" //shared color with cyber, but they can keep brown cause waffles.
- inner_outfits = list(/obj/item/clothing/under/suit/green)
- outer_outfits = list(/obj/item/clothing/suit/poncho)
-
-/datum/team/gang/north
- name = "North"
- color = "#00FF00"
- inner_outfits = list(/obj/item/clothing/under/color/green)
- outer_outfits = list(/obj/item/clothing/suit/poncho/green)
-
-/datum/team/gang/omni
- name = "Omni"
- color = "#008080"
- inner_outfits = list(/obj/item/clothing/under/color/teal)
- outer_outfits = list(/obj/item/clothing/suit/chaplain/studentuni)
-
-/datum/team/gang/newton
- name = "Newton"
- color = "#A52A2A"
- inner_outfits = list(/obj/item/clothing/under/color/brown)
- outer_outfits = list(/obj/item/clothing/suit/toggle/owlwings)
-
-/datum/team/gang/cyber
- name = "Cyber"
- color = "#00f904" //Cyber and waffle shared colors, I made these guys green and made weed darker green.
- inner_outfits = list(/obj/item/clothing/under/color/lightbrown)
- outer_outfits = list(/obj/item/clothing/suit/chaplain/pharaoh)
-
-/datum/team/gang/donk
- name = "Donk"
- color = "#0000FF"
- inner_outfits = list(/obj/item/clothing/under/color/darkblue)
- outer_outfits = list(/obj/item/clothing/suit/apron/overalls)
-
-/datum/team/gang/gene
- name = "Gene"
- color = "#00FFFF"
- inner_outfits = list(/obj/item/clothing/under/color/blue)
- outer_outfits = list(/obj/item/clothing/suit/apron)
-
-/datum/team/gang/gib
- name = "Gib"
- color = "#636060" //Applying black to grayscale... Zero-G is already grey too. oh well.
- inner_outfits = list(/obj/item/clothing/under/color/black)
- outer_outfits = list(/obj/item/clothing/suit/jacket/leather/overcoat)
-
-/datum/team/gang/tunnel
- name = "Tunnel"
- color = "#FF00FF" //Gave the leather jacket to the tunnel gang over diablo.
- inner_outfits = list(/obj/item/clothing/under/costume/villain)
- outer_outfits = list(/obj/item/clothing/suit/jacket/leather)
-
-/datum/team/gang/diablo
- name = "Diablo"
- color = "#FF0000" //literal early 90s skinhead regalia.
- inner_outfits = list(/obj/item/clothing/under/pants/classicjeans)
- outer_outfits = list(/obj/item/clothing/suit/suspenders)
-
-/datum/team/gang/psyke
- name = "Psyke"
- color = "#808080"
- inner_outfits = list(/obj/item/clothing/under/color/grey)
- outer_outfits = list(/obj/item/clothing/suit/toggle/owlwings/griffinwings)
-
-/datum/team/gang/osiron
- name = "Osiron"
- color = "#FFFFFF"
- inner_outfits = list(/obj/item/clothing/under/color/white)
- outer_outfits = list(/obj/item/clothing/suit/toggle/labcoat)
-
-/datum/team/gang/sirius
- name = "Sirius"
- color = "#FFC0CB"
- inner_outfits = list(/obj/item/clothing/under/color/pink)
- outer_outfits = list(/obj/item/clothing/suit/jacket/puffer/vest)
-
-/datum/team/gang/sleepingcarp
- name = "Sleeping Carp"
- color = "#800080"
- inner_outfits = list(/obj/item/clothing/under/color/lightpurple)
- outer_outfits = list(/obj/item/clothing/suit/hooded/carp_costume)
-
-/datum/team/gang/h
- name = "H"
- color = "#993333"
- inner_outfits = list(/obj/item/clothing/under/costume/jabroni) //Why not?
- outer_outfits = list(/obj/item/clothing/suit/toggle/owlwings)
-
-/datum/team/gang/rigatonifamily
- name = "Rigatoni family"
- color = "#cc9900" // p a s t a colored
- inner_outfits = list(/obj/item/clothing/under/rank/civilian/chef)
- outer_outfits = list(/obj/item/clothing/suit/apron/chef)
-
-/datum/team/gang/weed
- name = "Weed"
- color = "#6cd648"
- inner_outfits = list(/obj/item/clothing/under/color/darkgreen)
- outer_outfits = list(/obj/item/clothing/suit/vapeshirt)
diff --git a/code/game/gamemodes/gangs/gang_decals.dm b/code/game/gamemodes/gangs/gang_decals.dm
deleted file mode 100644
index 75d8d459ef..0000000000
--- a/code/game/gamemodes/gangs/gang_decals.dm
+++ /dev/null
@@ -1,38 +0,0 @@
-/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null)
- . = ..()
- if(type == "poseur tag")
- var/datum/team/gang/gang = pick(subtypesof(/datum/team/gang))
- var/gangname = initial(gang.name)
- icon = 'icons/effects/crayondecal.dmi'
- icon_state = "[gangname]"
- type = null
-
-/obj/effect/decal/cleanable/crayon/gang
- icon = 'icons/effects/crayondecal.dmi'
- layer = ABOVE_NORMAL_TURF_LAYER //Harder to hide
- plane = ABOVE_WALL_PLANE
- do_icon_rotate = FALSE //These are designed to always face south, so no rotation please.
- var/datum/team/gang/gang
-
-/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, datum/team/gang/G, e_name = "gang tag", rotation = 0, mob/user)
- if(!G)
- return INITIALIZE_HINT_QDEL
- gang = G
- var/newcolor = G.color
- var/area/territory = get_base_area(src)
- icon_state = G.name
- G.new_territories |= list(territory.type = territory.name)
- //If this isn't tagged by a specific gangster there's no bonus income.
- .=..(mapload, newcolor, icon_state, e_name, rotation)
-
-/obj/effect/decal/cleanable/crayon/gang/Destroy()
- if(gang)
- var/area/territory = get_base_area(src)
- gang.territories -= territory.type
- gang.new_territories -= territory.type
- gang.lost_territories |= list(territory.type = territory.name)
- gang = null
- return ..()
-
-/obj/effect/decal/cleanable/crayon/NeverShouldHaveComeHere(turf/T)
- return isspaceturf(T) || islava(T) || istype(T, /turf/open/water) || ischasm(T)
diff --git a/code/game/gamemodes/gangs/gang_hud.dm b/code/game/gamemodes/gangs/gang_hud.dm
deleted file mode 100644
index 825d361ab0..0000000000
--- a/code/game/gamemodes/gangs/gang_hud.dm
+++ /dev/null
@@ -1,34 +0,0 @@
-/datum/atom_hud/antag/gang
- var/color = null
-
-/datum/atom_hud/antag/gang/add_to_hud(atom/A)
- if(!A)
- return
- var/image/holder = A.hud_list[ANTAG_HUD]
- if(holder)
- holder.color = color
- ..()
-
-/datum/atom_hud/antag/gang/remove_from_hud(atom/A)
- if(!A)
- return
- var/image/holder = A.hud_list[ANTAG_HUD]
- if(holder)
- holder.color = null
- ..()
-
-/datum/atom_hud/antag/gang/join_hud(mob/M)
- if(!istype(M))
- CRASH("join_hud(): [M] ([M.type]) is not a mob!")
- var/image/holder = M.hud_list[ANTAG_HUD]
- if(holder)
- holder.color = color
- ..()
-
-/datum/atom_hud/antag/gang/leave_hud(mob/M)
- if(!istype(M))
- CRASH("leave_hud(): [M] ([M.type]) is not a mob!")
- var/image/holder = M.hud_list[ANTAG_HUD]
- if(holder)
- holder.color = null
- ..()
diff --git a/code/game/gamemodes/gangs/gang_items.dm b/code/game/gamemodes/gangs/gang_items.dm
deleted file mode 100644
index d1cf006600..0000000000
--- a/code/game/gamemodes/gangs/gang_items.dm
+++ /dev/null
@@ -1,411 +0,0 @@
-/datum/gang_item
- var/name
- var/item_path
- var/cost
- var/spawn_msg
- var/category
- var/list/gang_whitelist = list()
- var/list/gang_blacklist = list()
- var/id
-
-/datum/gang_item/proc/purchase(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool, check_canbuy = TRUE)
- if(check_canbuy && !can_buy(user, gang, gangtool))
- return FALSE
- var/real_cost = get_cost(user, gang, gangtool)
- if(!spawn_item(user, gang, gangtool))
- gang.adjust_influence(-real_cost)
- to_chat(user, "You bought \the [name].")
- return TRUE
-
-/datum/gang_item/proc/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool) // If this returns anything other than null, something fucked up and influence won't lower.
- if(item_path)
- var/obj/item/O = new item_path(user.loc)
- user.put_in_hands(O)
- else
- return TRUE
- if(spawn_msg)
- to_chat(user, "[spawn_msg]")
-
-/datum/gang_item/proc/can_buy(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return gang && (gang.influence >= get_cost(user, gang, gangtool)) && can_see(user, gang, gangtool)
-
-/datum/gang_item/proc/can_see(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return TRUE
-
-/datum/gang_item/proc/get_cost(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return cost
-
-/datum/gang_item/proc/get_cost_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return "([get_cost(user, gang, gangtool)] Influence)"
-
-/datum/gang_item/proc/get_name_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return name
-
-/datum/gang_item/proc/get_extra_info(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- return
-
-///////////////////
-//CLOTHING
-///////////////////
-
-/datum/gang_item/clothing
- category = "Purchase Gang Clothes (Only the jumpsuit and suit give you added influence):"
-
-/datum/gang_item/clothing/under
- name = "Gang Uniform"
- id = "under"
- cost = 1
-
-/datum/gang_item/clothing/under/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gang.inner_outfits.len)
- var/outfit = pick(gang.inner_outfits)
- if(outfit)
- var/obj/item/O = new outfit(user.loc)
- user.put_in_hands(O)
- to_chat(user, " This is your gang's official uniform, wearing it will increase your influence")
- return
- return TRUE
-
-/datum/gang_item/clothing/suit
- name = "Gang Armored Outerwear"
- id = "suit"
- cost = 1
-
-/datum/gang_item/clothing/suit/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gang.outer_outfits.len)
- var/outfit = pick(gang.outer_outfits)
- if(outfit)
- var/obj/item/O = new outfit(user.loc)
- O.armor = O.armor.setRating(melee = 25, bullet = 35, laser = 15, energy = 10, bomb = 30, bio = 0, rad = 0, fire = 30, acid = 30)
- O.desc += " Tailored for the [gang.name] Gang to offer the wearer moderate protection against ballistics and physical trauma."
- user.put_in_hands(O)
- to_chat(user, " This is your gang's official outerwear, wearing it will increase your influence")
- return
- return TRUE
-
-/datum/gang_item/clothing/hat
- name = "Pimp Hat"
- id = "hat"
- cost = 16
- item_path = /obj/item/clothing/head/collectable/petehat/gang
-
-/obj/item/clothing/head/collectable/petehat/gang
- name = "pimpin' hat"
- desc = "The undisputed king of style."
-
-/datum/gang_item/clothing/mask
- name = "Golden Death Mask"
- id = "mask"
- cost = 18
- item_path = /obj/item/clothing/mask/gskull
-
-/obj/item/clothing/mask/gskull
- name = "golden death mask"
- icon_state = "gskull"
- desc = "Strike terror, and envy, into the hearts of your enemies."
-
-/datum/gang_item/clothing/shoes
- name = "Bling Boots"
- id = "boots"
- cost = 20
- item_path = /obj/item/clothing/shoes/gang
-
-/obj/item/clothing/shoes/gang
- name = "blinged-out boots"
- desc = "Stand aside peasants."
- icon_state = "bling"
-
-/datum/gang_item/clothing/neck
- name = "Gold Necklace"
- id = "necklace"
- cost = 9
- item_path = /obj/item/clothing/neck/necklace/dope
-
-/datum/gang_item/clothing/hands
- name = "Decorative Brass Knuckles"
- id = "hand"
- cost = 11
- item_path = /obj/item/clothing/gloves/gang
-
-/obj/item/clothing/gloves/gang
- name = "braggadocio's brass knuckles"
- desc = "Purely decorative, don't find out the hard way."
- icon_state = "knuckles"
- w_class = 3
-
-/datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang member anyways?
- name = "Cool Sunglasses"
- id = "glasses"
- cost = 5
- item_path = /obj/item/clothing/glasses/sunglasses
-
-/datum/gang_item/clothing/belt
- name = "Badass Belt"
- id = "belt"
- cost = 13
- item_path = /obj/item/storage/belt/military/gang
-
-/obj/item/storage/belt/military/gang
- name = "badass belt"
- icon_state = "gangbelt"
- item_state = "gang"
- desc = "The belt buckle simply reads 'BAMF'."
-
-///////////////////
-//WEAPONS
-///////////////////
-
-/datum/gang_item/weapon
- category = "Purchase Weapons:"
-
-/datum/gang_item/weapon/ammo
-
-/datum/gang_item/weapon/shuriken
- name = "Shuriken"
- id = "shuriken"
- cost = 2
- item_path = /obj/item/throwing_star
-
-/datum/gang_item/weapon/switchblade
- name = "Switchblade"
- id = "switchblade"
- cost = 5
- item_path = /obj/item/switchblade
-
-/datum/gang_item/weapon/surplus //For when a gang boss is extra broke or cheap.
- name = "Surplus Rifle"
- id = "surplus"
- cost = 6
- item_path = /obj/item/gun/ballistic/automatic/surplus
-
-/datum/gang_item/weapon/ammo/surplus_ammo
- name = "Surplus Rifle Ammo"
- id = "surplus_ammo"
- cost = 3
- item_path = /obj/item/ammo_box/magazine/m10mm/rifle
-
-/datum/gang_item/weapon/improvised
- name = "Sawn-Off Improvised Shotgun"
- id = "sawn"
- cost = 5
- item_path = /obj/item/gun/ballistic/revolver/doublebarrel/improvised/sawn
-
-/datum/gang_item/weapon/ammo/improvised_ammo
- name = "Box of Buckshot"
- id = "buckshot"
- cost = 5
- item_path = /obj/item/storage/box/lethalshot
-
-/datum/gang_item/weapon/pistol
- name = "10mm Pistol"
- id = "pistol"
- cost = 25
- item_path = /obj/item/gun/ballistic/automatic/pistol
-
-/datum/gang_item/weapon/ammo/pistol_ammo
- name = "10mm Ammo"
- id = "pistol_ammo"
- cost = 10
- item_path = /obj/item/ammo_box/magazine/m10mm
-
-/datum/gang_item/weapon/sniper
- name = "Black Market .50cal Sniper Rifle"
- id = "sniper"
- cost = 35
- item_path = /obj/item/gun/ballistic/automatic/sniper_rifle
-
-/datum/gang_item/weapon/ammo/sniper_ammo
- name = "Smuggled .50cal Sniper Rounds"
- id = "sniper_ammo"
- cost = 15
- item_path = /obj/item/ammo_box/magazine/sniper_rounds
-
-/*/datum/gang_item/weapon/ammo/sleeper_ammo //no. absolutely no.
- name = "Illicit Soporific Cartridges"
- id = "sniper_ammo"
- cost = 15 //who the fuck thought a ONE-HIT K.O. for 15 gbp IN AN ENVIRONMENT WHERE WE'RE GETTING RID OF HARDSTUNS is a GOOD IDEA
- item_path = /obj/item/ammo_box/magazine/sniper_rounds/soporific*/
-
-/datum/gang_item/weapon/machinegun
- name = "Mounted Machine Gun"
- id = "MG"
- cost = 45
- item_path = /obj/machinery/manned_turret
- spawn_msg = "The mounted machine gun features enhanced responsiveness. Hold down on the trigger while firing to control where you're shooting."
-
-/datum/gang_item/weapon/machinegun/spawn_item(mob/living/carbon/user, obj/item/device/gangtool/gangtool)
- new item_path(user.loc)
- to_chat(user, spawn_msg)
-
-/datum/gang_item/weapon/uzi
- name = "Uzi SMG"
- id = "uzi"
- cost = 50
- item_path = /obj/item/gun/ballistic/automatic/mini_uzi
-
-/datum/gang_item/weapon/ammo/uzi_ammo
- name = "Uzi Ammo"
- id = "uzi_ammo"
- cost = 20
- item_path = /obj/item/ammo_box/magazine/uzim9mm
-
-///////////////////
-//EQUIPMENT
-///////////////////
-
-/datum/gang_item/equipment
- category = "Purchase Equipment:"
-
-/datum/gang_item/equipment/spraycan
- name = "Territory Spraycan"
- id = "spraycan"
- cost = 1
- item_path = /obj/item/toy/crayon/spraycan/gang
-
-/datum/gang_item/equipment/spraycan/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- var/obj/item/O = new item_path(user.loc, gang)
- user.put_in_hands(O)
-
-/datum/gang_item/equipment/sharpener
- name = "Sharpener"
- id = "whetstone"
- cost = 3
- item_path = /obj/item/sharpener
-
-/datum/gang_item/equipment/emp
- name = "EMP Grenade"
- id = "EMP"
- cost = 7
- item_path = /obj/item/grenade/empgrenade
-
-/datum/gang_item/equipment/c4
- name = "C4 Explosive"
- id = "c4"
- cost = 7
- item_path = /obj/item/grenade/plastic/c4
-
-/datum/gang_item/equipment/frag
- name = "Fragmentation Grenade"
- id = "frag nade"
- cost = 5
- item_path = /obj/item/grenade/frag
-
-/datum/gang_item/equipment/implant_breaker
- name = "Implant Breaker"
- id = "implant_breaker"
- cost = 10
- item_path = /obj/item/implanter/gang
-
-/datum/gang_item/equipment/implant_breaker/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- var/obj/item/O = new item_path(user.loc, gang)
- user.put_in_hands(O)
- to_chat(user, "The implant breaker is a single-use device that destroys all implants within the target before trying to recruit them to your gang. Also works on enemy gangsters.")
-
-/datum/gang_item/equipment/wetwork_boots
- name = "Wetwork boots"
- id = "wetwork"
- cost = 8
- item_path = /obj/item/clothing/shoes/combat/gang
-
-/obj/item/clothing/shoes/combat/gang
- name = "Wetwork boots"
- desc = "A gang's best hitmen are prepared for anything."
- permeability_coefficient = 0.01
- clothing_flags = NOSLIP
-
-/datum/gang_item/equipment/shield
- name = "Riot Shield"
- id = "riot_shield"
- cost = 25
- item_path = /obj/item/shield/riot
-
-/datum/gang_item/equipment/gangsheild
- name = "Tower Shield"
- id = "metal"
- cost = 45 //High block of melee and even higher for bullets
- item_path = /obj/item/shield/riot/tower
-
-/datum/gang_item/equipment/pen
- name = "Recruitment Pen"
- id = "pen"
- cost = 20
- item_path = /obj/item/pen/gang
- spawn_msg = "More recruitment pens will allow you to recruit gangsters faster. Only gang leaders can recruit with pens."
-
-/datum/gang_item/equipment/pen/purchase(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(..())
- gangtool.free_pen = FALSE
- return TRUE
- return FALSE
-
-/datum/gang_item/equipment/pen/get_cost(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gangtool && gangtool.free_pen)
- return 0
- return ..()
-
-/datum/gang_item/equipment/pen/get_cost_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gangtool && gangtool.free_pen)
- return "(GET ONE FREE)"
- return ..()
-
-/datum/gang_item/equipment/gangtool
- id = "gangtool"
- cost = 5
-
-/datum/gang_item/equipment/gangtool/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- var/item_type
- if(gang)
- item_type = /obj/item/device/gangtool/spare/lt
- if(gang.leaders.len < MAX_LEADERS_GANG)
- to_chat(user, "Gangtools allow you to promote a gangster to be your Lieutenant, enabling them to recruit and purchase items like you. Simply have them register the gangtool. You may promote up to [MAX_LEADERS_GANG-gang.leaders.len] more Lieutenants")
- else
- item_type = /obj/item/device/gangtool/spare
- var/obj/item/device/gangtool/spare/tool = new item_type(user.loc)
- user.put_in_hands(tool)
-
-/datum/gang_item/equipment/gangtool/get_name_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gang && (gang.leaders.len < gang.max_leaders))
- return "Promote a Gangster"
- return "Spare Gangtool"
-
-/datum/gang_item/equipment/dominator
- name = "Station Dominator"
- id = "dominator"
- cost = 30
- item_path = /obj/machinery/dominator
- spawn_msg = "The dominator will secure your gang's dominance over the station. Turn it on when you are ready to defend it."
-
-/datum/gang_item/equipment/dominator/can_buy(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(!gang || !gang.dom_attempts)
- return FALSE
- return ..()
-
-/datum/gang_item/equipment/dominator/get_name_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(!gang || !gang.dom_attempts)
- return ..()
- return "[..()]"
-
-/datum/gang_item/equipment/dominator/get_cost_display(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(!gang || !gang.dom_attempts)
- return "(Out of stock)"
- return ..()
-
-/datum/gang_item/equipment/dominator/get_extra_info(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- if(gang)
- return "This device requires a 5x5 area clear of walls to FUNCTION. (Estimated Takeover Time: [round(gang.determine_domination_time()/60,0.1)] minutes)"
-
-/datum/gang_item/equipment/dominator/purchase(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- var/area/userarea = get_base_area(user)
- if(!(userarea.type in gang.territories|gang.new_territories))
- to_chat(user,"The dominator can be spawned only on territory controlled by your gang!")
- return FALSE
- for(var/obj/obj in get_turf(user))
- if(obj.density)
- to_chat(user, "There's not enough room here!")
- return FALSE
-
- return ..()
-
-/datum/gang_item/equipment/dominator/spawn_item(mob/living/carbon/user, datum/team/gang/gang, obj/item/device/gangtool/gangtool)
- new item_path(user.loc)
- to_chat(user, spawn_msg)
diff --git a/code/game/gamemodes/gangs/gang_pen.dm b/code/game/gamemodes/gangs/gang_pen.dm
deleted file mode 100644
index 09cea5cecb..0000000000
--- a/code/game/gamemodes/gangs/gang_pen.dm
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Gang Boss Pens
- */
-/obj/item/pen/gang
- var/cooldown
- var/last_used
-
-/obj/item/pen/gang/Initialize()
- . = ..()
- last_used = world.time
-
-/obj/item/pen/gang/attack(mob/living/M, mob/user, stealth = TRUE) //ha
- if(!istype(M))
- return
- if(!ishuman(M) || !ishuman(user) || M.stat == DEAD)
- return ..()
- //var/datum/antagonist/gang/boss/L = user.mind.has_antag_datum(/datum/antagonist/gang/boss) //Pen works with bosses only.
- var/datum/antagonist/gang/L = user.mind.has_antag_datum(/datum/antagonist/gang) //Pen works with anyone in gang.
- if(!L)
- return ..()
- if(!..())
- return
- if(cooldown)
- to_chat(user, "[src] needs more time to recharge before it can be used.")
- return
- if(!M.client || !M.mind)
- to_chat(user, "A braindead gangster is an useless gangster!")
- return
- var/datum/team/gang/gang = L.gang
- if(!add_gangster(user, gang, M.mind))
- return
- cooldown = TRUE
- icon_state = "pen_blink"
- var/cooldown_time = 600/gang.leaders.len
- addtimer(CALLBACK(src, .proc/cooldown), cooldown_time)
-
-/obj/item/pen/gang/proc/cooldown()
- cooldown = FALSE
- icon_state = "pen"
- var/mob/M = loc
- if(istype(M))
- to_chat(M, "[icon2html(src, M)] [src][(loc == M)?(""):(" in your [loc]")] vibrates softly. It is ready to be used again.")
-
-/obj/item/pen/gang/proc/add_gangster(mob/user, datum/team/gang/gang, datum/mind/gangster_mind, check = TRUE) // Basically a wrapper to add_antag_datum.
- var/datum/antagonist/dudegang = gangster_mind.has_antag_datum(/datum/antagonist/gang)
- if(dudegang)
- if(dudegang == gang)
- to_chat(user, "This mind is already controlled by your gang!")
- return
- to_chat(user, "This mind is already controlled by someone else!")
- return
- if(check && HAS_TRAIT(gangster_mind.current, TRAIT_MINDSHIELD)) //Check to see if the potential gangster is implanted
- to_chat(user, "This mind is too strong to control!")
- return
- var/mob/living/carbon/human/H = gangster_mind.current // we are sure the dude's human cause it's checked in attack()
- H.silent = max(H.silent, 5)
- H.DefaultCombatKnockdown(100)
- gangster_mind.add_antag_datum(/datum/antagonist/gang, gang)
- return TRUE
diff --git a/code/game/gamemodes/gangs/gangs.dm b/code/game/gamemodes/gangs/gangs.dm
deleted file mode 100644
index 1352e9340d..0000000000
--- a/code/game/gamemodes/gangs/gangs.dm
+++ /dev/null
@@ -1,67 +0,0 @@
-//gang.dm
-//Gang War Game Mode
-GLOBAL_LIST_INIT(possible_gangs, subtypesof(/datum/team/gang))
-GLOBAL_LIST_EMPTY(gangs)
-/datum/game_mode/gang
- name = "gang war"
- config_tag = "gang"
- antag_flag = ROLE_GANG
- chaos = 9
- restricted_jobs = list("Prisoner", "AI", "Cyborg")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster")
- required_players = 15
- required_enemies = 0
- recommended_enemies = 2
- enemy_minimum_age = 14
-
- announce_span = "danger"
- announce_text = "A violent turf war has erupted on the station!\n\
- Gangsters: Take over the station with a dominator.\n\
- Crew: Prevent the gangs from expanding and initiating takeover."
-
- var/list/datum/mind/gangboss_candidates = list()
-
-/datum/game_mode/gang/generate_report()
- return "Cybersun Industries representatives claimed that they, in joint research with the Tiger Cooperative, have made a major breakthrough in brainwashing technology, and have \
- made the nanobots that apply the \"conversion\" very small and capable of fitting into usually innocent objects - namely, pens. While they refused to outsource this technology for \
- months to come due to its flaws, they reported some as missing but passed it off to carelessness. At Central Command, we don't like mysteries, and we have reason to believe that this \
- technology was stolen for anti-Nanotrasen use. Be on the lookout for territory claims and unusually violent crew behavior, applying mindshield implants as necessary."
-
-/datum/game_mode/gang/pre_setup()
- if(CONFIG_GET(flag/protect_roles_from_antagonist))
- restricted_jobs += protected_jobs
-
- if(CONFIG_GET(flag/protect_assistant_from_antagonist))
- restricted_jobs += "Assistant"
-
- //Spawn more bosses depending on server population
- var/gangs_to_create = 2
- if(prob(num_players()) && num_players() > 1.5*required_players)
- gangs_to_create++
- if(prob(num_players()) && num_players() > 2*required_players)
- gangs_to_create++
- gangs_to_create = min(gangs_to_create, GLOB.possible_gangs.len)
-
- for(var/i in 1 to gangs_to_create)
- if(!antag_candidates.len)
- break
-
- //Now assign a boss for the gang
- var/datum/mind/boss = pick_n_take(antag_candidates)
- antag_candidates -= boss
- gangboss_candidates += boss
- boss.restricted_roles = restricted_jobs
-
- if(gangboss_candidates.len < 1) //Need at least one gangs
- return
-
- return TRUE
-
-/datum/game_mode/gang/post_setup()
- set waitfor = FALSE
- ..()
- for(var/i in gangboss_candidates)
- var/datum/mind/M = i
- var/datum/antagonist/gang/boss/B = new()
- M.add_antag_datum(B)
- B.equip_gang()
diff --git a/code/game/gamemodes/gangs/gangtool.dm b/code/game/gamemodes/gangs/gangtool.dm
deleted file mode 100644
index 32272ae51a..0000000000
--- a/code/game/gamemodes/gangs/gangtool.dm
+++ /dev/null
@@ -1,259 +0,0 @@
-//gangtool device
-/obj/item/device/gangtool
- name = "suspicious device"
- desc = "A strange device of sorts. Hard to really make out what it actually does if you don't know how to operate it."
- icon = 'icons/obj/device.dmi'
- icon_state = "gangtool"
- item_state = "radio"
- lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
- throwforce = 0
- w_class = WEIGHT_CLASS_TINY
- throw_speed = 3
- throw_range = 7
- flags_1 = CONDUCT_1
- var/datum/team/gang/gang //Which gang uses this?
- var/recalling = 0
- var/outfits = 2
- var/free_pen = 0
- var/promotable = FALSE
- var/static/list/buyable_items = list()
- var/list/tags = list()
-
-/obj/item/device/gangtool/Initialize()
- . = ..()
- update_icon()
- for(var/i in subtypesof(/datum/gang_item))
- var/datum/gang_item/G = i
- var/id = initial(G.id)
- var/cat = initial(G.category)
- if(id)
- if(!islist(buyable_items[cat]))
- buyable_items[cat] = list()
- buyable_items[cat][id] = new G
-/obj/item/device/gangtool/Destroy()
- if(gang)
- gang.gangtools -= src
- return ..()
-
-/obj/item/device/gangtool/attack_self(mob/user)
- ..()
- if (!can_use(user))
- return
- var/datum/antagonist/gang/boss/L = user.mind.has_antag_datum(/datum/antagonist/gang/boss)
- var/dat
- if(!gang)
- dat += "This device is not registered.
"
- if(L)
- if(promotable && L.gang.leaders.len < L.gang.max_leaders)
- dat += "Give this device to another member of your organization to use to promote them to Lieutenant.
"
- dat += "If this is meant as a spare device for yourself: "
- dat += "Register Device as Spare "
- else if(promotable)
- var/datum/antagonist/gang/sweet = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(sweet.gang.leaders.len < sweet.gang.max_leaders)
- dat += "You have been selected for a promotion! "
- dat += "Accept Promotion "
- else
- dat += "No promotions available: All positions filled. "
- else
- dat += "This device is not authorized to promote. "
- else
- if(gang.domination_time != NOT_DOMINATING)
- dat += "
Takeover In Progress: [DisplayTimeText(gang.domination_time_remaining() * 10)] remain
"
-
- dat += "Registration: [gang.name] Gang Boss "
- dat += "Organization Size: [gang.members.len] | Station Control: [gang.territories.len] territories under control. | Influence: [gang.influence] "
- dat += "Time until Influence grows: [time2text(gang.next_point_time - world.time, "mm:ss")] "
- dat += "Send message to Gang "
- dat += "Recall shuttle "
- dat += ""
- for(var/cat in buyable_items)
- dat += "[cat] "
- for(var/id in buyable_items[cat])
- var/datum/gang_item/G = buyable_items[cat][id]
- if(!G.can_see(user, gang, src))
- continue
-
- var/cost = G.get_cost_display(user, gang, src)
- if(cost)
- dat += cost + " "
-
- var/toAdd = G.get_name_display(user, gang, src)
- if(G.can_buy(user, gang, src))
- toAdd = "[toAdd]"
- dat += toAdd
- var/extra = G.get_extra_info(user, gang, src)
- if(extra)
- dat += " [extra]"
- dat += " "
- dat += " "
-
- dat += "Refresh "
-
- var/datum/browser/popup = new(user, "gangtool", "Welcome to GangTool v4.0", 340, 625)
- popup.set_content(dat)
- popup.open()
-
-/obj/item/device/gangtool/Topic(href, href_list)
- if(!can_use(usr))
- return
-
- add_fingerprint(usr)
-
- if(href_list["register"])
- register_device(usr)
-
- else if(!gang) //Gangtool must be registered before you can use the functions below
- return
-
- if(href_list["purchase"])
- if(islist(buyable_items[href_list["cat"]]))
- var/list/L = buyable_items[href_list["cat"]]
- var/datum/gang_item/G = L[href_list["id"]]
- if(G && G.can_buy(usr, gang, src))
- G.purchase(usr, gang, src, FALSE)
-
- if(href_list["commute"])
- ping_gang(usr)
- if(href_list["recall"])
- recall(usr)
- attack_self(usr)
-
-/obj/item/device/gangtool/update_icon()
- overlays.Cut()
- var/image/I = new(icon, "[icon_state]-overlay")
- if(gang)
- I.color = gang.color
- overlays.Add(I)
-
-/obj/item/device/gangtool/proc/ping_gang(mob/user)
- if(!can_use(user))
- return
- var/message = stripped_input(user,"Discreetly send a gang-wide message.","Send Message")
- if(!message || !can_use(user))
- return
- if(!is_station_level(user.z))
- to_chat(user, "[icon2html(src, user)]Error: Station out of range.")
- return
- if(gang.members.len)
- var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(!G)
- return
- var/ping = "[gang.name] [G.message_name] [user.real_name]: [message]"
- for(var/datum/mind/ganger in gang.members)
- if(ganger.current && is_station_level(ganger.current.z) && (ganger.current.stat == CONSCIOUS))
- to_chat(ganger.current, ping)
- for(var/mob/M in GLOB.dead_mob_list)
- var/link = FOLLOW_LINK(M, user)
- to_chat(M, "[link] [ping]")
- user.log_talk(message,LOG_SAY, tag="[gang.name] gangster")
-
-/obj/item/device/gangtool/proc/register_device(mob/user)
- if(gang) //It's already been registered!
- return
- var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(G)
- gang = G.gang
- gang.gangtools += src
- update_icon()
- if(!(user.mind in gang.leaders) && promotable)
- G.promote()
- free_pen = TRUE
- gang.message_gangtools("[user] has been promoted to Lieutenant.")
- to_chat(user, "The Gangtool you registered will allow you to purchase weapons and equipment, and send messages to your gang.")
- to_chat(user, "Unlike regular gangsters, you may use recruitment pens to add recruits to your gang. Use them on unsuspecting crew members to recruit them. Don't forget to get your one free pen from the gangtool.")
- else
- to_chat(user, "ACCESS DENIED: Unauthorized user.")
-
-/obj/item/device/gangtool/proc/recall(mob/user)
- if(!recallchecks(user))
- return
- if(recalling)
- to_chat(user, "Error: Recall already in progress.")
- return
- gang.message_gangtools("[user] is attempting to recall the emergency shuttle.")
- recalling = TRUE
- to_chat(user, "[icon2html(src, loc)]Generating shuttle recall order with codes retrieved from last call signal...")
- addtimer(CALLBACK(src, .proc/recall2, user), rand(100,300))
-
-/obj/item/device/gangtool/proc/recall2(mob/user)
- if(!recallchecks(user))
- return
- to_chat(user, "[icon2html(src, loc)]Shuttle recall order generated. Accessing station long-range communication arrays...")
- addtimer(CALLBACK(src, .proc/recall3, user), rand(100,300))
-
-/obj/item/device/gangtool/proc/recall3(mob/user)
- if(!recallchecks(user))
- return
- var/list/living_crew = list()//shamelessly copied from mulligan code, there should be a helper for this
- for(var/mob/Player in GLOB.mob_list)
- if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) && !isbrain(Player) && Player.client)
- living_crew += Player
- var/malc = CONFIG_GET(number/midround_antag_life_check)
- if(living_crew.len / GLOB.joined_player_list.len <= malc) //Shuttle cannot be recalled if too many people died
- to_chat(user, "[icon2html(src, user)]Error: Station communication systems compromised. Unable to establish connection.")
- recalling = FALSE
- return
- to_chat(user, "[icon2html(src, loc)]Comm arrays accessed. Broadcasting recall signal...")
- addtimer(CALLBACK(src, .proc/recallfinal, user), rand(100,300))
-
-/obj/item/device/gangtool/proc/recallfinal(mob/user)
- if(!recallchecks(user))
- return
- recalling = FALSE
- log_game("[key_name(user)] has tried to recall the shuttle with a gangtool.")
- message_admins("[key_name_admin(user)] has tried to recall the shuttle with a gangtool.", 1)
- if(SSshuttle.cancelEvac(user))
- gang.recalls--
- return TRUE
-
- to_chat(user, "[icon2html(src, loc)]No response recieved. Emergency shuttle cannot be recalled at this time.")
- return
-
-/obj/item/device/gangtool/proc/recallchecks(mob/user)
- if(!can_use(user))
- return
- if(SSshuttle.emergencyNoRecall)
- return
- if(!gang.recalls)
- to_chat(user, "Error: Unable to access communication arrays. Firewall has logged our signature and is blocking all further attempts.")
- return
- if(SSshuttle.emergency.mode != SHUTTLE_CALL) //Shuttle can only be recalled when it's moving to the station
- to_chat(user, "[icon2html(src, user)]Emergency shuttle cannot be recalled at this time.")
- recalling = FALSE
- return
- if(!gang.dom_attempts)
- to_chat(user, "[icon2html(src, user)]Error: Unable to access communication arrays. Firewall has logged our signature and is blocking all further attempts.")
- recalling = FALSE
- return
- if(!is_station_level(user.z)) //Shuttle can only be recalled while on station
- to_chat(user, "[icon2html(src, user)]Error: Device out of range of station communication arrays.")
- recalling = FALSE
- return
- return TRUE
-
-/obj/item/device/gangtool/proc/can_use(mob/living/carbon/human/user)
- if(!istype(user))
- return
- if(user.incapacitated())
- return
- if(!(src in user.contents))
- return
- if(!user.mind)
- return
- var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(!G)
- to_chat(user, "Huh, what's this?")
- return
- if(!isnull(gang) && G.gang != gang)
- to_chat(user, "You cannot use gang tools owned by enemy gangs!")
- return
- return TRUE
-
-
-/obj/item/device/gangtool/spare
- outfits = TRUE
-
-/obj/item/device/gangtool/spare/lt
- promotable = TRUE
diff --git a/code/game/gamemodes/gangs/implant_gang.dm b/code/game/gamemodes/gangs/implant_gang.dm
deleted file mode 100644
index cad54d4fc1..0000000000
--- a/code/game/gamemodes/gangs/implant_gang.dm
+++ /dev/null
@@ -1,61 +0,0 @@
-/obj/item/implant/gang
- name = "gang implant"
- desc = "Makes you a gangster or such."
- activated = 0
- var/datum/team/gang/gang
-
-/obj/item/implant/gang/Initialize(loc, setgang)
- .=..()
- gang = setgang
-
-/obj/item/implant/gang/Destroy()
- gang = null
- return ..()
-
-/obj/item/implant/gang/get_data()
- var/dat = {"Implant Specifications:
- Name: Criminal brainwash implant
- Life: A few seconds after injection.
- Important Notes: Illegal
-
- Implant Details:
- Function: Contains a small pod of nanobots that change the host's brain to be loyal to a certain organization.
- Special Features: This device will also emit a small EMP pulse, destroying any other implants within the host's brain.
- Integrity: Implant's EMP function will destroy itself in the process."}
- return dat
-
-/obj/item/implant/gang/implant(mob/living/target, mob/user, silent = 0)
- if(!target || !target.mind || target.stat == DEAD)
- return 0
- var/datum/antagonist/gang/G = target.mind.has_antag_datum(/datum/antagonist/gang)
- if(G && G.gang == G)
- return 0 // it's pointless
- if(..())
- for(var/obj/item/implant/I in target.implants)
- if(I != src)
- qdel(I)
-
- if(ishuman(target))
- var/success
- if(G)
- if(!istype(G, /datum/antagonist/gang/boss))
- success = TRUE //Was not a gang boss, convert as usual
- target.mind.remove_antag_datum(/datum/antagonist/gang)
- else
- success = TRUE
- if(!success)
- target.visible_message("[target] seems to resist the implant!", "You feel the influence of your enemies try to invade your mind!")
- return FALSE
- target.mind.add_antag_datum(/datum/antagonist/gang, gang)
- qdel(src)
- return TRUE
-
-/obj/item/implanter/gang
- name = "implanter (gang)"
-
-/obj/item/implanter/gang/Initialize(loc, gang)
- if(!gang)
- qdel(src)
- return
- imp = new /obj/item/implant/gang(src,gang)
- .=..()
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 1c6c444fb4..0358c3af2c 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -13,6 +13,7 @@ GLOBAL_LIST_EMPTY(objectives)
var/completed = FALSE //currently only used for custom objectives.
var/completable = TRUE //Whether this objective shows greentext when completed
var/martyr_compatible = FALSE //If the objective is compatible with martyr objective, i.e. if you can still do it while dead.
+ var/objective_name = "Objective" //name used in printing this objective (Objective #1)
/datum/objective/New(var/text)
GLOB.objectives += src // CITADEL EDIT FOR CRYOPODS
@@ -778,6 +779,24 @@ GLOBAL_LIST_EMPTY(possible_items_special)
target_amount = count
update_explanation_text()
*/
+/datum/objective/protect_object
+ name = "protect object"
+ var/obj/protect_target
+
+/datum/objective/protect_object/proc/set_target(obj/O)
+ protect_target = O
+ update_explanation_text()
+
+/datum/objective/protect_object/update_explanation_text()
+ . = ..()
+ if(protect_target)
+ explanation_text = "Protect \the [protect_target] at all costs."
+ else
+ explanation_text = "Free objective."
+
+/datum/objective/protect_object/check_completion()
+ return !QDELETED(protect_target)
+
//Changeling Objectives
/datum/objective/absorb
diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index d2785a1a76..f40adcd00b 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -247,61 +247,94 @@ Class Procs:
/obj/machinery/proc/auto_use_power()
if(!powered(power_channel))
- return 0
+ return FALSE
if(use_power == 1)
use_power(idle_power_usage,power_channel)
else if(use_power >= 2)
use_power(active_power_usage,power_channel)
- return 1
+ return TRUE
/obj/machinery/proc/is_operational()
return !(stat & (NOPOWER|BROKEN|MAINT))
/obj/machinery/can_interact(mob/user)
- var/silicon = hasSiliconAccessInArea(user) || IsAdminGhost(user)
- if((stat & (NOPOWER|BROKEN)) && !(interaction_flags_machine & INTERACT_MACHINE_OFFLINE))
+ if((stat & (NOPOWER|BROKEN)) && !(interaction_flags_machine & INTERACT_MACHINE_OFFLINE)) // Check if the machine is broken, and if we can still interact with it if so
return FALSE
- if(panel_open && !(interaction_flags_machine & INTERACT_MACHINE_OPEN))
- if(!silicon || !(interaction_flags_machine & INTERACT_MACHINE_OPEN_SILICON))
- return FALSE
- if(silicon)
+ if(IsAdminGhost(user))
+ return TRUE //if you're an admin, you probably know what you're doing (or at least have permission to do what you're doing)
+
+ if(!isliving(user))
+ return FALSE //no ghosts in the machine allowed, sorry
+
+ // if(SEND_SIGNAL(user, COMSIG_TRY_USE_MACHINE, src) & COMPONENT_CANT_USE_MACHINE_INTERACT)
+ // return FALSE
+
+ var/mob/living/living_user = user
+
+ var/is_dextrous = FALSE
+ if(isanimal(user))
+ var/mob/living/simple_animal/user_as_animal = user
+ if (user_as_animal.dextrous)
+ is_dextrous = TRUE
+
+ if(!issilicon(user) && !is_dextrous && !user.can_hold_items())
+ return FALSE //spiders gtfo
+
+ if(issilicon(user)) // If we are a silicon, make sure the machine allows silicons to interact with it
if(!(interaction_flags_machine & INTERACT_MACHINE_ALLOW_SILICON))
return FALSE
- else
- if(interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SILICON)
+
+ if(panel_open && !(interaction_flags_machine & INTERACT_MACHINE_OPEN) && !(interaction_flags_machine & INTERACT_MACHINE_OPEN_SILICON))
return FALSE
- if(!Adjacent(user))
- var/mob/living/carbon/H = user
- if(!(istype(H) && H.has_dna() && H.dna.check_mutation(TK)))
- return FALSE
- return TRUE
+
+ return TRUE //silicons don't care about petty mortal concerns like needing to be next to a machine to use it
+
+ if(living_user.incapacitated()) //idk why silicons aren't supposed to care about incapacitation when interacting with machines, but it was apparently like this before
+ return FALSE
+
+ // TODO: nerf blind people
+ // if((interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SIGHT) && user.is_blind())
+ // to_chat(user, span_warning("This machine requires sight to use."))
+ // return FALSE
+
+ if(panel_open && !(interaction_flags_machine & INTERACT_MACHINE_OPEN))
+ return FALSE
+
+ if(interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SILICON) //if the user was a silicon, we'd have returned out earlier, so the user must not be a silicon
+ return FALSE
+
+ if(!Adjacent(user)) // Next make sure we are next to the machine unless we have telekinesis
+ var/mob/living/carbon/carbon_user = living_user
+ if(!istype(carbon_user) || !carbon_user.has_dna() || !carbon_user.dna.check_mutation(TK))
+ return FALSE
+
+ return TRUE // If we passed all of those checks, woohoo! We can interact with this machine.
/obj/machinery/proc/check_nap_violations()
if(!SSeconomy.full_ancap)
return TRUE
if(occupant && !state_open)
- if(ishuman(occupant))
- var/mob/living/carbon/human/H = occupant
- var/obj/item/card/id/I = H.get_idcard()
- if(I)
- var/datum/bank_account/insurance = I.registered_account
- if(!insurance)
- say("[market_verb] NAP Violation: No bank account found.")
- nap_violation()
- return FALSE
- else
- if(!insurance.adjust_money(-fair_market_price))
- say("[market_verb] NAP Violation: Unable to pay.")
- nap_violation()
- return FALSE
- var/datum/bank_account/D = SSeconomy.get_dep_account(payment_department)
- if(D)
- D.adjust_money(fair_market_price)
- else
- say("[market_verb] NAP Violation: No ID card found.")
- nap_violation()
+ var/mob/living/L = occupant
+ var/obj/item/card/id/I = L.get_idcard(TRUE)
+ if(I)
+ var/datum/bank_account/insurance = I.registered_account
+ if(!insurance)
+ say("[market_verb] NAP Violation: No bank account found.")
+ nap_violation(L)
return FALSE
+ else
+ if(!insurance.adjust_money(-fair_market_price))
+ say("[market_verb] NAP Violation: Unable to pay.")
+ nap_violation(L)
+ return FALSE
+ var/datum/bank_account/D = SSeconomy.get_dep_account(payment_department)
+ if(D)
+ D.adjust_money(fair_market_price)
+ else
+ say("[market_verb] NAP Violation: No ID card found.")
+ nap_violation(L)
+ return FALSE
return TRUE
/obj/machinery/proc/nap_violation(mob/violator)
@@ -322,11 +355,11 @@ Class Procs:
/obj/machinery/Topic(href, href_list)
..()
if(!can_interact(usr))
- return 1
+ return TRUE
if(!usr.canUseTopic(src))
- return 1
+ return TRUE
add_fingerprint(usr)
- return 0
+ return FALSE
////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 0e7b4aa0fa..4db565aec1 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -1,7 +1,3 @@
-#define AUTOLATHE_MAIN_MENU 1
-#define AUTOLATHE_CATEGORY_MENU 2
-#define AUTOLATHE_SEARCH_MENU 3
-
/obj/machinery/autolathe
name = "autolathe"
desc = "It produces items using metal and glass."
@@ -24,13 +20,14 @@
var/shock_wire
var/busy = FALSE
- var/prod_coeff = 1
+
+ ///the multiplier for how much materials the created object takes from this machines stored materials
+ var/creation_efficiency = 1.6
var/datum/design/being_built
var/datum/techweb/stored_research
var/list/datum/design/matching_designs
- var/selected_category
- var/screen = 1
+ var/selected_category = "None"
var/base_price = 25
var/hacked_price = 50
@@ -60,7 +57,7 @@
QDEL_NULL(wires)
return ..()
-/obj/machinery/autolathe/ui_interact(mob/user)
+/obj/machinery/autolathe/ui_interact(mob/user, datum/tgui/ui)
. = ..()
if(!is_operational())
return
@@ -68,101 +65,129 @@
if(shocked && !(stat & NOPOWER))
shock(user,50)
- var/dat
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "Autolathe", capitalize(src.name))
+ ui.open()
- switch(screen)
- if(AUTOLATHE_MAIN_MENU)
- dat = main_win(user)
- if(AUTOLATHE_CATEGORY_MENU)
- dat = category_win(user,selected_category)
- if(AUTOLATHE_SEARCH_MENU)
- dat = search_win(user)
-
- var/datum/browser/popup = new(user, "autolathe", name, 400, 500)
- popup.set_content(dat)
- popup.open()
-
-/obj/machinery/autolathe/on_deconstruction()
+/obj/machinery/autolathe/ui_data(mob/user)
+ var/list/data = list()
+ data["materials"] = list()
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
- materials.retrieve_all()
+ data["materialtotal"] = materials.total_amount
+ data["materialsmax"] = materials.max_amount
+ data["categories"] = categories
+ data["designs"] = list()
+ data["active"] = busy
-/obj/machinery/autolathe/attackby(obj/item/O, mob/user, params)
- if (busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
- return TRUE
-
- if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O))
- updateUsrDialog()
- return TRUE
-
- if(default_deconstruction_crowbar(O))
- return TRUE
-
- if(panel_open && is_wire_tool(O))
- wires.interact(user)
- return TRUE
-
- if(user.a_intent == INTENT_HARM) //so we can hit the machine
- return ..()
-
- if(stat)
- return TRUE
-
- if(istype(O, /obj/item/disk/design_disk))
- user.visible_message("[user] begins to load \the [O] in \the [src]...",
- "You begin to load a design from \the [O]...",
- "You hear the chatter of a floppy drive.")
- busy = TRUE
- var/obj/item/disk/design_disk/D = O
- if(do_after(user, 14.4, target = src))
- for(var/B in D.blueprints)
- if(B)
- stored_research.add_design(B)
- busy = FALSE
- return TRUE
-
- return ..()
-
-
-/obj/machinery/autolathe/proc/AfterMaterialInsert(item_inserted, id_inserted, amount_inserted)
- if(istype(item_inserted, /obj/item/stack/ore/bluespace_crystal))
- use_power(MINERAL_MATERIAL_AMOUNT / 10)
- else if(custom_materials && custom_materials.len && custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)])
- flick("autolathe_r",src)//plays glass insertion animation by default otherwise
+ for(var/mat_id in materials.materials)
+ var/datum/material/M = mat_id
+ var/mineral_count = materials.materials[mat_id]
+ var/list/material_data = list(
+ name = M.name,
+ mineral_amount = mineral_count,
+ matcolour = M.color,
+ )
+ data["materials"] += list(material_data)
+ if(selected_category != "None" && !length(matching_designs))
+ data["designs"] = handle_designs(stored_research.researched_designs, TRUE)
else
- flick("autolathe_o",src)//plays metal insertion animation
+ data["designs"] = handle_designs(matching_designs, FALSE)
+ return data
+/obj/machinery/autolathe/proc/handle_designs(list/designs, categorycheck)
+ var/list/output = list()
+ for(var/v in designs)
+ var/datum/design/D = categorycheck ? SSresearch.techweb_design_by_id(v) : v
+ if(categorycheck)
+ if(!(selected_category in D.category))
+ continue
+ var/unbuildable = FALSE // we can't build the design currently
+ var/m10 = FALSE // 10x mult
+ var/m25 = FALSE // 25x mult
+ var/m50 = FALSE // 50x mult
+ var/m5 = FALSE // 5x mult
+ var/sheets = FALSE // sheets or no?
+ if(disabled || !can_build(D))
+ unbuildable = TRUE
+ var/max_multiplier = unbuildable ? 0 : 1
+ if(ispath(D.build_path, /obj/item/stack))
+ sheets = TRUE
+ if(!unbuildable)
+ var/datum/component/material_container/mats = GetComponent(/datum/component/material_container)
+ for(var/datum/material/mat in D.materials)
+ max_multiplier = min(D.maxstack, round(mats.get_material_amount(mat)/D.materials[mat]))
+ if (max_multiplier>10 && !disabled)
+ m10 = TRUE
+ if (max_multiplier>25 && !disabled)
+ m25 = TRUE
+ else
+ if(!unbuildable)
+ if(!disabled && can_build(D, 5))
+ m5 = TRUE
+ if(!disabled && can_build(D, 10))
+ m10 = TRUE
+ var/datum/component/material_container/mats = GetComponent(/datum/component/material_container)
+ for(var/datum/material/mat in D.materials)
+ max_multiplier = min(50, round(mats.get_material_amount(mat)/(D.materials[mat] * creation_efficiency)))
- use_power(min(1000, amount_inserted / 100))
- updateUsrDialog()
+ var/list/design = list(
+ name = D.name,
+ id = D.id,
+ ref = REF(src),
+ cost = get_design_cost(D),
+ buildable = unbuildable,
+ mult5 = m5,
+ mult10 = m10,
+ mult25 = m25,
+ mult50 = m50,
+ sheet = sheets,
+ maxmult = max_multiplier,
+ )
+ output += list(design)
+ return output
-/obj/machinery/autolathe/Topic(href, href_list)
- if(..())
+/obj/machinery/autolathe/ui_act(action, params)
+ . = ..()
+ if(.)
return
- if (!busy)
- if(href_list["menu"])
- screen = text2num(href_list["menu"])
- updateUsrDialog()
+ if(action == "menu")
+ selected_category = null
+ matching_designs.Cut()
+ . = TRUE
- if(href_list["category"])
- selected_category = href_list["category"]
- updateUsrDialog()
+ if(action == "category")
+ selected_category = params["selectedCategory"]
+ matching_designs.Cut()
+ . = TRUE
- if(href_list["make"])
+ if(action == "search")
+ matching_designs.Cut()
+ for(var/v in stored_research.researched_designs)
+ var/datum/design/D = SSresearch.techweb_design_by_id(v)
+ if(findtext(D.name,params["to_search"]))
+ matching_designs.Add(D)
+ . = TRUE
+
+ if(action == "make")
+ if (!busy)
/////////////////
//href protection
- being_built = stored_research.isDesignResearchedID(href_list["make"])
+ being_built = stored_research.isDesignResearchedID(params["id"])
if(!being_built)
return
- var/multiplier = text2num(href_list["multiplier"])
+ var/multiplier = text2num(params["multiplier"])
+ if(!multiplier)
+ to_chat(usr, span_alert("[src] only accepts a numerical multiplier!"))
+ return
var/is_stack = ispath(being_built.build_path, /obj/item/stack)
- multiplier = clamp(multiplier,1,50)
+ multiplier = clamp(round(multiplier),1,50)
/////////////////
- var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient
+ var/coeff = (is_stack ? 1 : creation_efficiency) //stacks are unaffected by production coefficient
var/total_amount = 0
for(var/MAT in being_built.materials)
@@ -184,8 +209,8 @@
if(materials.materials[i] > 0)
list_to_show += i
- used_material = input("Choose [used_material]", "Custom Material") as null|anything in sortList(list_to_show, /proc/cmp_typepaths_asc)
- if(!used_material)
+ used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, /proc/cmp_typepaths_asc))
+ if(isnull(used_material))
return //Didn't pick any material, so you can't build shit either.
custom_materials[used_material] += amount_needed
@@ -193,27 +218,95 @@
if(materials.has_materials(materials_used))
busy = TRUE
+ to_chat(usr, span_notice("You print [multiplier] item(s) from the [src]"))
use_power(power)
icon_state = "autolathe_n"
var/time = is_stack ? 32 : (32 * coeff * multiplier) ** 0.8
addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack, usr), time)
+ . = TRUE
else
- to_chat(usr, "Not enough materials for this operation.")
+ to_chat(usr, span_alert("Not enough materials for this operation."))
+ else
+ to_chat(usr, span_alert("The autolathe is busy. Please wait for completion of previous operation."))
- if(href_list["search"])
- matching_designs.Cut()
+/obj/machinery/autolathe/on_deconstruction()
+ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
+ materials.retrieve_all()
- for(var/v in stored_research.researched_designs)
- var/datum/design/D = SSresearch.techweb_design_by_id(v)
- if(findtext(D.name,href_list["to_search"]))
- matching_designs.Add(D)
- updateUsrDialog()
+/obj/machinery/autolathe/attackby(obj/item/O, mob/living/user, params)
+ if(busy)
+ balloon_alert(user, "it's busy!")
+ return TRUE
+
+ if(user.a_intent == INTENT_HARM) //so we can hit the machine
+ return ..()
+
+ if(stat)
+ return TRUE
+
+ if(istype(O, /obj/item/disk/design_disk))
+ user.visible_message(span_notice("[user] begins to load \the [O] in \the [src]..."),
+ balloon_alert(user, "uploading design..."),
+ span_hear("You hear the chatter of a floppy drive."))
+ busy = TRUE
+ if(do_after(user, 14.4, target = src))
+ var/obj/item/disk/design_disk/disky = O
+ var/list/not_imported
+ for(var/datum/design/blueprint as anything in disky.blueprints)
+ if(!blueprint)
+ continue
+ if(blueprint.build_type & AUTOLATHE)
+ stored_research.add_design(blueprint)
+ else
+ LAZYADD(not_imported, blueprint.name)
+ if(not_imported)
+ to_chat(user, span_warning("The following design[length(not_imported) > 1 ? "s" : ""] couldn't be imported: [english_list(not_imported)]"))
+ busy = FALSE
+ return TRUE
+
+ if(panel_open)
+ balloon_alert(user, "close the panel first!")
+ return FALSE
+
+ return ..()
+
+/obj/machinery/autolathe/screwdriver_act(mob/living/user, obj/item/I)
+ . = ..()
+ if(busy)
+ balloon_alert(user, "it's busy!")
+ return STOP_ATTACK_PROC_CHAIN
+
+ if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", I))
+ return STOP_ATTACK_PROC_CHAIN
+
+/obj/machinery/autolathe/crowbar_act(mob/living/user, obj/item/I)
+ . = ..()
+ if(busy)
+ balloon_alert(user, "it's busy!")
+ return STOP_ATTACK_PROC_CHAIN
+
+ if(default_deconstruction_crowbar(I))
+ return STOP_ATTACK_PROC_CHAIN
+
+/obj/machinery/autolathe/multitool_act(mob/living/user, obj/item/I)
+ . = ..()
+ if(busy)
+ balloon_alert(user, "it's busy!")
+ return STOP_ATTACK_PROC_CHAIN
+
+ if(panel_open)
+ wires.interact(user)
+ return STOP_ATTACK_PROC_CHAIN
+
+/obj/machinery/autolathe/proc/AfterMaterialInsert(obj/item/item_inserted, id_inserted, amount_inserted)
+ if(istype(item_inserted, /obj/item/stack/ore/bluespace_crystal))
+ use_power(MINERAL_MATERIAL_AMOUNT / 10)
+ else if(custom_materials && custom_materials.len && custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)])
+ flick("autolathe_r", src)//plays glass insertion animation by default otherwise
else
- to_chat(usr, "The autolathe is busy. Please wait for completion of previous operation.")
+ flick("autolathe_o", src)//plays metal insertion animation
- updateUsrDialog()
-
- return
+ use_power(min(1000, amount_inserted / 100))
/obj/machinery/autolathe/proc/make_item(power, list/materials_used, list/picked_materials, multiplier, coeff, is_stack, mob/user)
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
@@ -223,11 +316,11 @@
materials.use_materials(materials_used)
if(is_stack)
- var/obj/item/stack/N = new being_built.build_path(A, multiplier)
- N.update_icon()
+ var/obj/item/stack/N = new being_built.build_path(A, multiplier, FALSE)
+ N.update_appearance()
N.autolathe_crafted(src)
else
- for(var/i=1, i<=multiplier, i++)
+ for(var/i in 1 to multiplier)
var/obj/item/new_item = new being_built.build_path(A)
new_item.autolathe_crafted(src)
@@ -241,132 +334,30 @@
icon_state = "autolathe"
busy = FALSE
- updateDialog()
/obj/machinery/autolathe/RefreshParts()
- var/T = 0
- for(var/obj/item/stock_parts/matter_bin/MB in component_parts)
- T += MB.rating*75000
+ var/mat_capacity = 0
+ for(var/obj/item/stock_parts/matter_bin/new_matter_bin in component_parts)
+ mat_capacity += new_matter_bin.rating*75000
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
- materials.max_amount = T
- T=1.2
- for(var/obj/item/stock_parts/manipulator/M in component_parts)
- T -= M.rating*0.2
- prod_coeff = min(1,max(0,T)) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4
+ materials.max_amount = mat_capacity
+
+ var/efficiency=1.2
+ for(var/obj/item/stock_parts/manipulator/new_manipulator in component_parts)
+ efficiency -= new_manipulator.rating*0.2
+ creation_efficiency = max(1,efficiency) // creation_efficiency goes 1 -> 0,8 -> 0,6 -> 0,4 per level of manipulator efficiency
/obj/machinery/autolathe/examine(mob/user)
. += ..()
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Storing up to [materials.max_amount] material units. Material consumption at [prod_coeff*100]%."
-
-/obj/machinery/autolathe/proc/main_win(mob/user)
- var/dat = "
Autolathe Menu:
"
- dat += materials_printout()
-
- dat += ""
-
- var/line_length = 1
- dat += "
"
-
- for(var/C in categories)
- if(line_length > 2)
- dat += "
"
- if(!frozen_crew.len)
- dat += "There has been no storage usage at this terminal. "
- else
- for(var/person in frozen_crew)
- dat += "[person] "
- dat += ""
- if(3)
- dat += "<< Back
"
- dat += "
Recently stored objects
"
- if(!stored_packages.len)
- dat += "There has been no storage usage at this terminal. "
- else
- for(var/obj/O in stored_packages)
- dat += "[O.name] "
- dat += ""
+ for(var/obj/item/storage/box/blue/cryostorage_items/O as anything in stored_packages)
+ item_meta += list(list("name" = O.real_name, "ref" = REF(O))) // i am truely livid about byond lists
+ data["item_meta"] = item_meta
- var/datum/browser/popup = new(user, "cryopod_console", "Cryogenic System Control")
- popup.set_content(dat)
- popup.open()
+ var/obj/item/card/id/id_card
+ var/datum/bank_account/current_user
+ if(isliving(user))
+ var/mob/living/person = user
+ id_card = person.get_idcard()
+ if(id_card?.registered_account)
+ current_user = id_card.registered_account
+ if(current_user)
+ data["account_name"] = current_user.account_holder // i do not know why but this uses budget?
-/obj/machinery/computer/cryopod/Topic(href, href_list)
+ return data
+
+/obj/machinery/computer/cryopod/ui_act(action, params)
if(..())
- return TRUE
+ return
- var/mob/user = usr
-
- add_fingerprint(user)
-
- if(href_list["item"])
- if(!allowed(user) && !(obj_flags & EMAGGED))
- to_chat(user, "Access Denied.")
+ if(action == "item")
+ if(!allowed(usr) && !(obj_flags & EMAGGED))
+ to_chat(usr, "Access Denied.")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
- updateUsrDialog()
return
if(!allow_items)
return
if(stored_packages.len == 0)
- to_chat(user, "There is nothing to recover from storage.")
+ to_chat(usr, "There is nothing to recover from storage.")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
- updateUsrDialog()
return
- var/obj/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in stored_packages
+ var/obj/I = locate(params["item"])
playsound(src, "terminal_type", 25, 0)
+
if(!I)
return
if(!(I in stored_packages))
- to_chat(user, "\The [I] is no longer in storage.")
+ to_chat(usr, "\The [I] is no longer in storage.")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
- updateUsrDialog()
return
visible_message("The console beeps happily as it disgorges \the [I].")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
I.forceMove(drop_location())
- if(user && Adjacent(user) && user.can_hold_items())
- user.put_in_hands(I)
+ if(usr && Adjacent(usr) && usr.can_hold_items())
+ usr.put_in_hands(I)
stored_packages -= I
- updateUsrDialog()
- else if(href_list["allitems"])
- playsound(src, "terminal_type", 25, 0)
- if(!allowed(user) && !(obj_flags & EMAGGED))
- to_chat(user, "Access Denied.")
- playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
- updateUsrDialog()
- return
-
- if(!allow_items)
- return
-
- if(stored_packages.len == 0)
- to_chat(user, "There is nothing to recover from storage.")
- playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
- return
-
- visible_message("The console beeps happily as it disgorges the desired objects.")
- playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
-
- for(var/obj/O in stored_packages)
- O.forceMove(get_turf(src))
- stored_packages.Cut()
- updateUsrDialog()
-
- else if (href_list["menu"])
- src.menu = text2num(href_list["menu"])
- playsound(src, "terminal_type", 25, 0)
- updateUsrDialog()
-
- ui_interact(usr)
- updateUsrDialog()
- return
-
-/obj/item/circuitboard/cryopodcontrol
- name = "Circuit board (Cryogenic Oversight Console)"
- build_path = "/obj/machinery/computer/cryopod"
-
-/obj/machinery/computer/cryopod/contents_explosion(severity, target, origin)
- return
-
-/// The box
-/obj/item/storage/box/blue/cryostorage_items
- w_class = WEIGHT_CLASS_HUGE
-
-//Cryopods themselves.
+// Cryopods themselves.
/obj/machinery/cryopod
name = "cryogenic freezer"
desc = "Suited for Cyborgs and Humanoids, the pod is a safe place for personnel affected by the Space Sleep Disorder to get some rest."
@@ -178,47 +135,55 @@
var/on_store_message = "has entered long-term storage."
var/on_store_name = "Cryogenic Oversight"
- // 15 minutes-ish safe period before being despawned.
- var/time_till_despawn = 15 * 600 // This is reduced by 90% if a player manually enters cryo
- var/despawn_world_time = null // Used to keep track of the safe period.
+ /// Time until despawn when a mob enters a cryopod. You can cryo other people in pods.
+ var/time_till_despawn = 30 SECONDS
+ /// Cooldown for when it's now safe to try an despawn the player.
+ COOLDOWN_DECLARE(despawn_world_time)
- var/obj/machinery/computer/cryopod/control_computer
- var/item_storage_type = /obj/item/storage/box/blue/cryostorage_items //with how storage components work this can be anything the player can open or anything with a storage component.
- var/last_no_computer_message = 0
+ ///Weakref to our controller
+ var/datum/weakref/control_computer_weakref
+ COOLDOWN_DECLARE(last_no_computer_message)
-/obj/machinery/cryopod/Initialize(mapload)
- . = ..()
+/obj/machinery/cryopod/Initialize()
+ ..()
+ return INITIALIZE_HINT_LATELOAD //Gotta populate the cryopod computer GLOB first
+
+/obj/machinery/cryopod/LateInitialize()
update_icon()
- find_control_computer(mapload)
+ find_control_computer()
+
+// This is not a good situation
+/obj/machinery/cryopod/Destroy()
+ control_computer_weakref = null
+ return ..()
/obj/machinery/cryopod/proc/find_control_computer(urgent = FALSE)
- for(var/obj/machinery/computer/cryopod/C in get_area(src))
- control_computer = C
- if(C)
- return C
- break
+ for(var/cryo_console as anything in GLOB.cryopod_computers)
+ var/obj/machinery/computer/cryopod/console = cryo_console
+ if(get_area(console) == get_area(src))
+ control_computer_weakref = WEAKREF(console)
+ break
// Don't send messages unless we *need* the computer, and less than five minutes have passed since last time we messaged
- if(!control_computer && urgent && last_no_computer_message + 5*60*10 < world.time)
+ if(!control_computer_weakref && urgent && COOLDOWN_FINISHED(src, last_no_computer_message))
+ COOLDOWN_START(src, last_no_computer_message, 5 MINUTES)
log_admin("Cryopod in [get_area(src)] could not find control computer!")
message_admins("Cryopod in [get_area(src)] could not find control computer!")
last_no_computer_message = world.time
- return control_computer != null
+ return control_computer_weakref != null
-/obj/machinery/cryopod/close_machine(mob/user)
- if(!control_computer)
+/obj/machinery/cryopod/close_machine(atom/movable/target)
+ if(!control_computer_weakref)
find_control_computer(TRUE)
- if((isnull(user) || istype(user)) && state_open && !panel_open)
- ..(user)
+ if((isnull(target) || isliving(target)) && state_open && !panel_open)
+ ..(target)
var/mob/living/mob_occupant = occupant
- investigate_log("Cryogenics machine closed with occupant [key_name(occupant)] by user [key_name(user)].", INVESTIGATE_CRYOGENICS)
+ investigate_log("Cryogenics machine closed with occupant [key_name(occupant)] by user [key_name(target)].", INVESTIGATE_CRYOGENICS)
if(mob_occupant && mob_occupant.stat != DEAD)
- to_chat(occupant, "You feel cool air surround you. You go numb as your senses turn inward.")
- if(mob_occupant.client)//if they're logged in
- despawn_world_time = world.time + (time_till_despawn * 0.1)
- else
- despawn_world_time = world.time + time_till_despawn
+ to_chat(occupant, span_notice("You feel cool air surround you. You go numb as your senses turn inward."))
+
+ COOLDOWN_START(src, despawn_world_time, time_till_despawn)
icon_state = "cryopod"
/obj/machinery/cryopod/open_machine()
@@ -231,8 +196,8 @@
/obj/machinery/cryopod/container_resist(mob/living/user)
investigate_log("Cryogenics machine container resisted by [key_name(user)] with occupant [key_name(occupant)].", INVESTIGATE_CRYOGENICS)
- visible_message("[occupant] emerges from [src]!",
- "You climb out of [src]!")
+ visible_message(span_notice("[occupant] emerges from [src]!"),
+ span_notice("You climb out of [src]!"))
open_machine()
/obj/machinery/cryopod/relaymove(mob/user)
@@ -243,36 +208,122 @@
return
var/mob/living/mob_occupant = occupant
- if(mob_occupant)
- // Eject dead people
- if(mob_occupant.stat == DEAD)
- open_machine()
+ if(mob_occupant.stat == DEAD)
+ open_machine()
- if(!(world.time > despawn_world_time + 100))//+ 10 seconds
- return
+ if(!mob_occupant.client && COOLDOWN_FINISHED(src, despawn_world_time))
+ if(!control_computer_weakref)
+ find_control_computer(urgent = TRUE)
- if(!mob_occupant.client && mob_occupant.stat < 2) //Occupant is living and has no client.
- if(!control_computer)
- find_control_computer(urgent = TRUE)//better hope you found it this time
+ despawn_occupant()
- despawn_occupant()
+/obj/machinery/cryopod/proc/handle_objectives()
+ var/mob/living/mob_occupant = occupant
+ // Update any existing objectives involving this mob.
+ for(var/datum/objective/objective in GLOB.objectives)
+ // We don't want revs to get objectives that aren't for heads of staff. Letting
+ // them win or lose based on cryo is silly so we remove the objective.
+ if(istype(objective,/datum/objective/mutiny) && objective.target == mob_occupant.mind)
+ objective.team.objectives -= objective
+ qdel(objective)
+ for(var/datum/mind/mind in objective.team.members)
+ to_chat(mind.current, " [span_userdanger("Your target is no longer within reach. Objective removed!")]")
+ mind.announce_objectives()
+ else if(istype(objective.target) && objective.target == mob_occupant.mind)
+ if(istype(objective, /datum/objective/contract))
+ var/datum/antagonist/traitor/affected_traitor = objective.owner.has_antag_datum(/datum/antagonist/traitor)
+ var/datum/contractor_hub/affected_contractor_hub = affected_traitor.contractor_hub
+ for(var/datum/syndicate_contract/affected_contract as anything in affected_contractor_hub.assigned_contracts)
+ if(affected_contract.contract == objective)
+ affected_contract.generate(affected_contractor_hub.assigned_targets)
+ affected_contractor_hub.assigned_targets.Add(affected_contract.contract.target)
+ to_chat(objective.owner.current, " [span_userdanger("Contract target out of reach. Contract rerolled.")]")
+ break
+ else
+ var/old_target = objective.target
+ objective.target = null
+ if(!objective)
+ return
+ objective.find_target()
+ if(!objective.target && objective.owner)
+ to_chat(objective.owner.current, " [span_userdanger("Your target is no longer within reach. Objective removed!")]")
+ for(var/datum/antagonist/antag in objective.owner.antag_datums)
+ antag.objectives -= objective
+ if (!objective.team)
+ objective.update_explanation_text()
+ objective.owner.announce_objectives()
+ to_chat(objective.owner.current, " [span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]")
+ else
+ var/list/objectivestoupdate
+ for(var/datum/mind/objective_owner in objective.get_owners())
+ to_chat(objective_owner.current, " [span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]")
+ for(var/datum/objective/update_target_objective in objective_owner.get_all_objectives())
+ LAZYADD(objectivestoupdate, update_target_objective)
+ objectivestoupdate += objective.team.objectives
+ for(var/datum/objective/update_objective in objectivestoupdate)
+ if(update_objective.target != old_target || !istype(update_objective,objective.type))
+ continue
+ update_objective.target = objective.target
+ update_objective.update_explanation_text()
+ to_chat(objective.owner.current, " [span_userdanger("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]")
+ update_objective.owner.announce_objectives()
+ qdel(objective)
+
+/obj/machinery/cryopod/proc/should_preserve_item(obj/item/item)
+ for(var/datum/objective_item/steal/possible_item in GLOB.possible_items)
+ if(istype(item, possible_item.targetitem))
+ return TRUE
+ return FALSE
// This function can not be undone; do not call this unless you are sure
/obj/machinery/cryopod/proc/despawn_occupant()
- if(!control_computer)
- find_control_computer()
-
var/mob/living/mob_occupant = occupant
+ var/list/crew_member = list()
+ crew_member["name"] = mob_occupant.real_name
+
+ if(mob_occupant.mind)
+ // Handle job slot/tater cleanup.
+ var/job = mob_occupant.mind.assigned_role
+ crew_member["job"] = job
+ SSjob.FreeRole(job)
+ // if(LAZYLEN(mob_occupant.mind.objectives))
+ // mob_occupant.mind.objectives.Cut()
+ mob_occupant.mind.special_role = null
+ else
+ crew_member["job"] = "N/A"
+
+ // Delete them from datacore.
+ var/announce_rank = null
+ for(var/datum/data/record/medical_record as anything in GLOB.data_core.medical)
+ if(medical_record.fields["name"] == mob_occupant.real_name)
+ qdel(medical_record)
+ for(var/datum/data/record/security_record as anything in GLOB.data_core.security)
+ if(security_record.fields["name"] == mob_occupant.real_name)
+ qdel(security_record)
+ for(var/datum/data/record/general_record as anything in GLOB.data_core.general)
+ if(general_record.fields["name"] == mob_occupant.real_name)
+ announce_rank = general_record.fields["rank"]
+ qdel(general_record)
+
+ var/obj/machinery/computer/cryopod/control_computer = control_computer_weakref?.resolve()
+ if(!control_computer)
+ control_computer_weakref = null
+ else
+ control_computer.frozen_crew += list(crew_member)
+
+ // Make an announcement and log the person entering storage.
+ if(GLOB.announcement_systems.len)
+ var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
+ announcer.announce("CRYOSTORAGE", mob_occupant.real_name, announce_rank, list())
+
+ visible_message(span_notice("[src] hums and hisses as it moves [mob_occupant.real_name] into storage."))
+
+ /* ============================= */
var/list/obj/item/storing = list()
var/list/obj/item/destroying = list()
var/list/obj/item/destroy_later = list()
-
- investigate_log("Despawning [key_name(mob_occupant)].", INVESTIGATE_CRYOGENICS)
-
- var/atom/target_store = (control_computer?.allow_items && control_computer) || src //the double control computer check makes it return the control computer.
- var/drop_to_ground = !istype(target_store, /obj/machinery/computer/cryopod)
-
+ var/drop_to_ground = !istype(control_computer, /obj/machinery/computer/cryopod) || !control_computer.allow_items
var/mind_identity = mob_occupant.mind?.name
var/occupant_identity = mob_occupant.real_name
@@ -293,7 +344,6 @@
AM.forceMove(src)
R.module.remove_module(I, TRUE)
else
-
if(ishuman(mob_occupant))
var/mob/living/carbon/human/H = mob_occupant
if(H.mind && H.client && H.client.prefs && H == H.mind.original_character)
@@ -303,145 +353,89 @@
if(iscarbon(mob_occupant)) // sorry simp-le-mobs deserve no mercy
var/mob/living/carbon/C = mob_occupant
gear = C.get_all_gear()
- for(var/i in gear)
- var/obj/item/I = i
- I.forceMove(src)
- if(!istype(I))
- destroying += I
+
+ for(var/obj/item/item_content as anything in gear)
+ if(!istype(item_content) || HAS_TRAIT(item_content, TRAIT_NODROP))
+ destroying += item_content
continue
- if(I.item_flags & (DROPDEL | ABSTRACT))
- destroying += I
- continue
- if(HAS_TRAIT(I, TRAIT_NODROP))
- destroying += I
+ if(item_content.item_flags & (DROPDEL | ABSTRACT))
+ destroying += item_content
continue
+
+ // destroying stays in mob for a bit
+ item_content.forceMove(src)
+
// WEE WOO SNOWFLAKE TIME
- if(istype(I, /obj/item/pda))
- var/obj/item/pda/P = I
+ if(istype(item_content, /obj/item/pda))
+ var/obj/item/pda/P = item_content
if((P.owner == mind_identity) || (P.owner == occupant_identity))
destroying += P
else
storing += P
- else if(istype(I, /obj/item/card/id))
- var/obj/item/card/id/idcard = I
+ else if(istype(item_content, /obj/item/card/id))
+ var/obj/item/card/id/idcard = item_content
if((idcard.registered_name == mind_identity) || (idcard.registered_name == occupant_identity))
destroying += idcard
else
storing += idcard
else
- storing += I
+ storing += item_content
// get rid of mobs
for(var/mob/living/L in mob_occupant.GetAllContents() - mob_occupant)
L.forceMove(drop_location())
if(storing.len)
- var/obj/O = new item_storage_type
+ var/obj/item/storage/box/blue/cryostorage_items/O = new /obj/item/storage/box/blue/cryostorage_items
O.name = "cryogenic retrieval package: [mob_occupant.real_name]"
+ O.real_name = mob_occupant.real_name
for(var/i in storing)
var/obj/item/I = i
I.forceMove(O)
- O.forceMove(drop_to_ground? target_store.drop_location() : target_store)
- if((target_store == control_computer) && !drop_to_ground)
+ O.forceMove(drop_to_ground ? control_computer.drop_location() : control_computer)
+ if((control_computer == control_computer) && !drop_to_ground)
control_computer.stored_packages += O
-
- QDEL_LIST(destroying)
-
- //Update any existing objectives involving this mob.
- for(var/i in GLOB.objectives)
- var/datum/objective/O = i
- // We don't want revs to get objectives that aren't for heads of staff. Letting
- // them win or lose based on cryo is silly so we remove the objective.
- if(istype(O,/datum/objective/mutiny) && O.target == mob_occupant.mind)
- qdel(O)
- else if(O.target && istype(O.target, /datum/mind))
- if(O.target != mob_occupant.mind)
- continue
- if(O.check_midround_completion())
- continue
- if(O.owner && O.owner.current)
- to_chat(O.owner.current, " You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")
- O.target = null
- spawn(10) //This should ideally fire after the occupant is deleted.
- if(!O)
- return
- O.find_target()
- O.update_explanation_text()
- if(!(O.target))
- qdel(O)
-
- if(mob_occupant.mind)
- //Handle job slot/tater cleanup.
- if(mob_occupant.mind.assigned_role)
- var/job = mob_occupant.mind.assigned_role
- SSjob.FreeRole(job)
- mob_occupant.mind.special_role = null
-
- // Delete them from datacore.
-
- var/announce_rank = null
- for(var/datum/data/record/R in GLOB.data_core.medical)
- if((R.fields["name"] == mob_occupant.real_name))
- qdel(R)
- for(var/datum/data/record/T in GLOB.data_core.security)
- if((T.fields["name"] == mob_occupant.real_name))
- qdel(T)
- for(var/datum/data/record/G in GLOB.data_core.general)
- if((G.fields["name"] == mob_occupant.real_name))
- announce_rank = G.fields["rank"]
- qdel(G)
-
- for(var/obj/machinery/computer/cloning/cloner in world)
- for(var/datum/data/record/R in cloner.records)
- if(R.fields["name"] == mob_occupant.real_name)
- cloner.records.Remove(R)
-
- //Make an announcement and log the person entering storage.
- if(control_computer)
- control_computer.frozen_crew += "[mob_occupant.real_name]"
-
- if(GLOB.announcement_systems.len)
- var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
- announcer.announce("CRYOSTORAGE", mob_occupant.real_name, announce_rank, list())
- visible_message("\The [src] hums and hisses as it moves [mob_occupant.real_name] into storage.")
+ /* ============================= */
// Ghost and delete the mob.
+ // they already did ghost verb
var/mob/dead/observer/G = mob_occupant.get_ghost(TRUE)
if(G)
G.voluntary_ghosted = TRUE
+ // they did not ghost verb
else
mob_occupant.ghostize(FALSE, penalize = TRUE, voluntary = TRUE, cryo = TRUE)
+ QDEL_LIST(destroying)
+ handle_objectives()
QDEL_NULL(occupant)
QDEL_LIST(destroy_later)
open_machine()
name = initial(name)
/obj/machinery/cryopod/MouseDrop_T(mob/living/target, mob/user)
- if(!istype(target) || user.incapacitated() || !target.Adjacent(user) || !Adjacent(user) || !ismob(target) || (!ishuman(user) && !iscyborg(user)) || !istype(user.loc, /turf) || target.buckled)
+ if(!istype(target) || !can_interact(user) || !target.Adjacent(user) || !ismob(target) || isanimal(target) || !istype(user.loc, /turf) || target.buckled)
return
if(occupant)
- to_chat(user, "The cryo pod is already occupied!")
+ to_chat(user, span_notice("[src] is already occupied!"))
return
if(target.stat == DEAD)
- to_chat(user, "Dead people can not be put into cryo.")
+ to_chat(user, span_notice("Dead people can not be put into cryo."))
return
- if(target.client && user != target)
+ if(user != target && target.client)
if(iscyborg(target))
- to_chat(user, "You can't put [target] into [src]. They're online.")
+ to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] online."))
else
- to_chat(user, "You can't put [target] into [src]. They're conscious.")
+ to_chat(user, span_danger("You can't put [target] into [src]. [target.p_theyre(capitalized = TRUE)] conscious."))
return
- else if(target.client)
- if(alert(target,"Would you like to enter cryosleep?",,"Yes","No") == "No")
+ else if(target.client) // mob has client
+ if(tgalert(target, "Would you like to enter cryosleep?", "Enter Cryopod?", "Yes", "No") != "Yes")
return
- var/generic_plsnoleave_message = " Please adminhelp before leaving the round, even if there are no administrators online!"
-
- if(target == user && world.time - target.client.cryo_warned > 5 MINUTES)//if we haven't warned them in the last 5 minutes
+ if(target == user && world.time - target.client.cryo_warned > 5 MINUTES)
var/list/caught_string
var/addendum = ""
if(target.mind.assigned_role in GLOB.command_positions)
@@ -459,30 +453,48 @@
LAZYADD(caught_string, "Revolutionary")
if(caught_string)
- alert(target, "You're a [english_list(caught_string)]![generic_plsnoleave_message][addendum]")
+ tgui_alert(target, "You're a [english_list(caught_string)]! [AHELP_FIRST_MESSAGE][addendum]")
target.client.cryo_warned = world.time
- return
- if(!target || user.incapacitated() || !target.Adjacent(user) || !Adjacent(user) || (!ishuman(user) && !iscyborg(user)) || !istype(user.loc, /turf) || target.buckled)
+ if(!istype(target) || !can_interact(user) || !target.Adjacent(user) || !ismob(target) || isanimal(target) || !istype(user.loc, /turf) || target.buckled)
return
- //rerun the checks in case of shenanigans
-
- if(target == user)
- visible_message("[user] starts climbing into the cryo pod.")
- else
- visible_message("[user] starts putting [target] into the cryo pod.")
+ // rerun the checks in case of shenanigans
if(occupant)
- to_chat(user, "\The [src] is in use.")
+ to_chat(user, span_notice("[src] is already occupied!"))
return
- close_machine(target)
- to_chat(target, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")
- name = "[name] ([occupant.name])"
- log_admin("[key_name(target)] entered a stasis pod.")
- message_admins("[key_name_admin(target)] entered a stasis pod. (JMP)")
+ if(target == user)
+ visible_message("[user] starts climbing into the cryo pod.")
+ else
+ visible_message("[user] starts putting [target] into the cryo pod.")
+
+ to_chat(target, span_warning("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."))
+
+ log_admin("[key_name(target)] entered a stasis pod.")
+ message_admins("[key_name_admin(target)] entered a stasis pod. [ADMIN_JMP(src)]")
add_fingerprint(target)
-//Attacks/effects.
+ close_machine(target)
+ name = "[name] ([target.name])"
+
+// Attacks/effects.
/obj/machinery/cryopod/blob_act()
- return //Sorta gamey, but we don't really want these to be destroyed.
+ return // Sorta gamey, but we don't really want these to be destroyed.
+
+#undef AHELP_FIRST_MESSAGE
+
+/obj/item/circuitboard/cryopodcontrol
+ name = "Circuit board (Cryogenic Oversight Console)"
+ build_path = /obj/machinery/computer/cryopod
+
+/obj/machinery/computer/cryopod/contents_explosion()
+ return
+
+/obj/machinery/computer/cryopod/contents_explosion()
+ return //don't blow everyone's shit up.
+
+/// The box
+/obj/item/storage/box/blue/cryostorage_items
+ w_class = WEIGHT_CLASS_HUGE
+ var/real_name = "fire coderbus"
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 3ff75495e6..27b591d374 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -194,22 +194,19 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
/*****The Point Calculator*****/
- if(orig_light < 10)
+ if(orig_light < 5)
say("Explosion not large enough for research calculations.")
return
- else
- point_gain = (100000 * orig_light) / (orig_light + 5000)
+ else if(orig_light < BOMB_TARGET_SIZE) // we want to give fewer points if below the target; this curve does that
+ point_gain = (BOMB_TARGET_POINTS * orig_light ** BOMB_SUB_TARGET_EXPONENT) / (BOMB_TARGET_SIZE**BOMB_SUB_TARGET_EXPONENT)
+ else // once we're at the target, switch to a hyperbolic function so we can't go too far above it, but bigger bombs always get more points
+ point_gain = (BOMB_TARGET_POINTS * 2 * orig_light) / (orig_light + BOMB_TARGET_SIZE)
/*****The Point Capper*****/
if(point_gain > linked_techweb.largest_bomb_value)
- if(point_gain <= TECHWEB_BOMB_POINTCAP || linked_techweb.largest_bomb_value < TECHWEB_BOMB_POINTCAP)
- var/old_tech_largest_bomb_value = linked_techweb.largest_bomb_value //held so we can pull old before we do math
- linked_techweb.largest_bomb_value = point_gain
- point_gain -= old_tech_largest_bomb_value
- point_gain = min(point_gain,TECHWEB_BOMB_POINTCAP)
- else
- linked_techweb.largest_bomb_value = TECHWEB_BOMB_POINTCAP
- point_gain = 1000
+ var/old_tech_largest_bomb_value = linked_techweb.largest_bomb_value //held so we can pull old before we do math
+ linked_techweb.largest_bomb_value = point_gain
+ point_gain -= old_tech_largest_bomb_value
var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_SCI)
if(D)
D.adjust_money(point_gain)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 853bd73eac..d83819a1b3 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -1,8 +1,8 @@
/* Holograms!
* Contains:
- * Holopad
- * Hologram
- * Other stuff
+ * Holopad
+ * Hologram
+ * Other stuff
*/
/*
@@ -24,7 +24,6 @@ Possible to do for anyone motivated enough:
* Holopad
*/
-GLOBAL_LIST_EMPTY(network_holopads)
#define HOLOPAD_PASSIVE_POWER_USAGE 1
#define HOLOGRAM_POWER_USAGE 2
@@ -32,6 +31,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
name = "holopad"
desc = "It's a floor-mounted device for projecting holographic images."
icon_state = "holopad0"
+ base_icon_state = "holopad"
layer = LOW_OBJ_LAYER
plane = FLOOR_PLANE
flags_1 = HEAR_1
@@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
var/obj/effect/overlay/holo_pad_hologram/replay_holo
/// Calls will be automatically answered after a couple rings, here for debugging
var/static/force_answer_call = FALSE
- // var/static/list/holopads = list()
+ var/static/list/holopads = list()
var/obj/effect/overlay/holoray/ray
var/ringing = FALSE
var/offset = FALSE
@@ -107,26 +107,47 @@ GLOBAL_LIST_EMPTY(network_holopads)
new_disk.forceMove(src)
disk = new_disk
-/obj/machinery/holopad/tutorial/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
+/obj/machinery/holopad/Moved(atom/OldLoc, Dir)
+ . = ..()
+ if(!loc)
+ return
+ // move any relevant holograms, basically non-AI, and rays with the pad
+ if(replay_holo)
+ replay_holo.abstract_move(loc)
+ for(var/i in holorays)
+ var/obj/effect/overlay/holoray/ray = holorays[i]
+ ray.abstract_move(loc)
+ var/list/non_call_masters = masters?.Copy()
+ for(var/datum/holocall/holocall as anything in holo_calls)
+ if(!holocall.user || !LAZYACCESS(masters, holocall.user))
+ continue
+ non_call_masters -= holocall.user
+ // moving the eye moves the holo which updates the ray too
+ holocall.eye.setLoc(locate(clamp(x + (holocall.hologram.x - OldLoc.x), 1, world.maxx), clamp(y + (holocall.hologram.y - OldLoc.y), 1, world.maxy), z))
+ for(var/mob/living/holo_master as anything in non_call_masters)
+ var/obj/effect/holo = masters[holo_master]
+ update_holoray(holo_master, holo.loc)
+
+/obj/machinery/holopad/tutorial/attack_hand(mob/user, list/modifiers)
if(!istype(user))
return
if(user.incapacitated() || !is_operational())
return
if(replay_mode)
replay_stop()
- else if(disk && disk.record)
+ else if(disk?.record)
replay_start()
/obj/machinery/holopad/tutorial/HasProximity(atom/movable/AM)
if (!isliving(AM))
return
- if(!replay_mode && (disk && disk.record))
+ if(!replay_mode && (disk?.record))
replay_start()
/obj/machinery/holopad/Initialize()
. = ..()
if(on_network)
- GLOB.network_holopads += src
+ holopads += src
/obj/machinery/holopad/Destroy()
if(outgoing_call)
@@ -146,7 +167,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
QDEL_NULL(disk)
- GLOB.network_holopads -= src
+ holopads -= src
return ..()
/obj/machinery/holopad/power_change()
@@ -172,8 +193,10 @@ GLOBAL_LIST_EMPTY(network_holopads)
/obj/machinery/holopad/examine(mob/user)
. = ..()
- if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Current projection range: [holo_range] units."
+ if(isAI(user))
+ . += span_notice("The status display reads: Current projection range: [holo_range] units. Use :h to speak through the projection. Right-click to project or cancel a projection. Alt-click to hangup all active and incomming calls. Ctrl-click to end projection without jumping to your last location.")
+ else if(in_range(user, src) || isobserver(user))
+ . += span_notice("The status display reads: Current projection range: [holo_range] units.")
/obj/machinery/holopad/attackby(obj/item/P, mob/user, params)
if(default_deconstruction_screwdriver(user, "holopad_open", "holopad0", P))
@@ -190,11 +213,11 @@ GLOBAL_LIST_EMPTY(network_holopads)
if(istype(P,/obj/item/disk/holodisk))
if(disk)
- to_chat(user,"There's already a disk inside [src]!")
+ to_chat(user,span_warning("There's already a disk inside [src]!"))
return
if (!user.transferItemToLoc(P,src))
return
- to_chat(user,"You insert [P] into [src].")
+ to_chat(user,span_notice("You insert [P] into [src]."))
disk = P
return
@@ -242,24 +265,29 @@ GLOBAL_LIST_EMPTY(network_holopads)
switch(action)
if("AIrequest")
+ if(isAI(usr))
+ var/mob/living/silicon/ai/ai_user = usr
+ ai_user.eyeobj.setLoc(get_turf(src))
+ to_chat(usr, span_info("AIs can not request AI presence. Jumping instead."))
+ return
if(last_request + 200 < world.time)
last_request = world.time
- to_chat(usr, "You requested an AI's presence.")
+ to_chat(usr, span_info("You requested an AI's presence."))
var/area/area = get_area(src)
for(var/mob/living/silicon/ai/AI in GLOB.silicon_mobs)
if(!AI.client)
continue
- to_chat(AI, "Your presence is requested at \the [area].")
+ to_chat(AI, span_info("Your presence is requested at \the [area].")) // Project Hologram?"))
return TRUE
else
- to_chat(usr, "A request for AI presence was already sent recently.")
+ to_chat(usr, span_info("A request for AI presence was already sent recently."))
return
if("holocall")
if(outgoing_call)
return
if(usr.loc == loc)
var/list/callnames = list()
- for(var/I in GLOB.network_holopads)
+ for(var/I in holopads)
var/area/A = get_area(I)
if(A)
LAZYADD(callnames[A], I)
@@ -274,7 +302,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
calling = TRUE
return TRUE
else
- to_chat(usr, "You must stand on the holopad to make a call!")
+ to_chat(usr, span_warning("You must stand on the holopad to make a call!"))
if("connectcall")
var/datum/holocall/call_to_connect = locate(params["holopad"]) in holo_calls
if(!QDELETED(call_to_connect))
@@ -285,6 +313,12 @@ GLOBAL_LIST_EMPTY(network_holopads)
if(!QDELETED(call_to_disconnect))
call_to_disconnect.Disconnect(src)
return TRUE
+ if("rejectall")
+ for(var/datum/holocall/call_to_reject as anything in holo_calls)
+ if(call_to_reject.connected_holopad == src) // do not kill the current connection
+ continue
+ call_to_reject.Disconnect(src)
+ return TRUE
if("disk_eject")
if(disk && !replay_mode)
disk.forceMove(drop_location())
@@ -327,14 +361,13 @@ GLOBAL_LIST_EMPTY(network_holopads)
return TRUE
/**
- * hangup_all_calls: Disconnects all current holocalls from the holopad
- */
+ * hangup_all_calls: Disconnects all current holocalls from the holopad
+ */
/obj/machinery/holopad/proc/hangup_all_calls()
for(var/I in holo_calls)
var/datum/holocall/HC = I
HC.Disconnect(src)
-//do not allow AIs to answer calls or people will use it to meta the AI sattelite
/obj/machinery/holopad/attack_ai(mob/living/silicon/ai/user)
if (!istype(user))
return
@@ -343,12 +376,25 @@ GLOBAL_LIST_EMPTY(network_holopads)
/*There are pretty much only three ways to interact here.
I don't need to check for client since they're clicking on an object.
This may change in the future but for now will suffice.*/
- if(user.eyeobj.loc != src.loc)//Set client eye on the object if it's not already.
- user.eyeobj.setLoc(get_turf(src))
- else if(!LAZYLEN(masters) || !masters[user])//If there is no hologram, possibly make one.
+ if(!LAZYLEN(masters) || !masters[user])//If there is no hologram, possibly make one.
activate_holo(user)
- else//If there is a hologram, remove it.
+ else//If there is a hologram, remove it, and jump to your last location.
clear_holo(user)
+ // if(user.lastloc)//only jump to your last location if your lastloc is set, which only sets if you projected from a request message.
+ // user.eyeobj.setLoc(user.lastloc)
+ // user.lastloc = null
+
+/obj/machinery/holopad/AICtrlClick(mob/living/silicon/ai/user)
+ if (!istype(user))
+ return
+ if (!on_network)
+ return
+ if(!LAZYLEN(masters) || !masters[user])//If there is no hologram, then this button does nothing.
+ return
+ else//If there is a hologram, remove it, but dont jump to your last location.
+ // user.lastloc = null
+ clear_holo(user)
+ return
/obj/machinery/holopad/process()
if(LAZYLEN(masters))
@@ -378,25 +424,26 @@ GLOBAL_LIST_EMPTY(network_holopads)
if(outgoing_call)
HC.Disconnect(src)//can't answer calls while calling
else
- playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring!
+ playsound(src, 'sound/machines/twobeep.ogg', 100) //bring, bring!
ringing = TRUE
- update_icon()
+ update_appearance()
/obj/machinery/holopad/proc/activate_holo(mob/living/user)
var/mob/living/silicon/ai/AI = user
if(!istype(AI))
AI = null
- if(is_operational() && (!AI || AI.eyeobj.loc == loc))//If the projector has power and client eye is on it
- if (AI && istype(AI.current, /obj/machinery/holopad))
- to_chat(user, "ERROR: \black Image feed in progress.")
+ if(is_operational())//If the projector has power
+ if(AI && istype(AI.current, /obj/machinery/holopad))
+ to_chat(user, "[span_danger("ERROR:")] \black Image feed in progress.")
return
var/obj/effect/overlay/holo_pad_hologram/Hologram = new(loc)//Spawn a blank effect at the location.
if(AI)
Hologram.icon = AI.holo_icon
- else //make it like real life
+ AI.eyeobj.setLoc(get_turf(src)) //ensure the AI camera moves to the holopad
+ else //make it like real life
Hologram.icon = user.icon
Hologram.icon_state = user.icon_state
Hologram.copy_overlays(user, TRUE)
@@ -407,17 +454,17 @@ GLOBAL_LIST_EMPTY(network_holopads)
Hologram.mouse_opacity = MOUSE_OPACITY_TRANSPARENT//So you can't click on it.
Hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them.
- Hologram.setAnchored(TRUE)//So space wind cannot drag it.
+ Hologram.set_anchored(TRUE)//So space wind cannot drag it.
Hologram.name = "[user.name] (Hologram)"//If someone decides to right click.
- Hologram.set_light(2) //hologram lighting
+ Hologram.set_light(2) //hologram lighting
move_hologram()
set_holo(user, Hologram)
- visible_message("A holographic image of [user] flickers to life before your eyes!")
+ visible_message(span_notice("A holographic image of [user] flickers to life before your eyes!"))
return Hologram
else
- to_chat(user, "ERROR: Unable to project hologram.")
+ to_chat(user, "[span_danger("ERROR:")] Unable to project hologram.")
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
For the other part of the code, check silicon say.dm. Particularly robot talk.*/
@@ -430,10 +477,13 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
for(var/I in holo_calls)
var/datum/holocall/HC = I
- if(HC.connected_holopad == src && speaker != HC.hologram)
- HC.user.Hear(message, speaker, message_language, raw_message, radio_freq, spans, message_mods)
+ if(HC.connected_holopad == src)
+ if(speaker == HC.hologram && HC.user.client?.prefs.chat_on_map)
+ HC.user.create_chat_message(speaker, message_language, raw_message, spans)
+ else
+ HC.user.Hear(message, speaker, message_language, raw_message, radio_freq, spans, message_mods)
- if(outgoing_call && speaker == outgoing_call.user)
+ if(outgoing_call?.hologram && speaker == outgoing_call.user)
outgoing_call.hologram.say(raw_message)
if(record_mode && speaker == record_user)
@@ -447,16 +497,15 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
set_light(2)
else
set_light(0)
- update_icon()
+ update_appearance()
/obj/machinery/holopad/update_icon_state()
var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls)
if(ringing)
- icon_state = "holopad_ringing"
- else if(total_users || replay_mode)
- icon_state = "holopad1"
- else
- icon_state = "holopad0"
+ icon_state = "[base_icon_state]_ringing"
+ return ..()
+ icon_state = "[base_icon_state][(total_users || replay_mode) ? 1 : 0]"
+ return ..()
/obj/machinery/holopad/proc/set_holo(mob/living/user, obj/effect/overlay/holo_pad_hologram/h)
LAZYSET(masters, user, h)
@@ -488,7 +537,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
var/obj/effect/overlay/holo_pad_hologram/h = masters[holo_owner]
if(!h || h.HC) //Holocalls can't change source.
return FALSE
- for(var/pad in GLOB.network_holopads)
+ for(var/pad in holopads)
var/obj/machinery/holopad/another = pad
if(another == src)
continue
@@ -524,7 +573,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
else
transfered = TRUE
//All is good.
- holo.forceMove(new_turf)
+ holo.abstract_move(new_turf)
if(!transfered)
update_holoray(user,new_turf)
return TRUE
@@ -565,10 +614,10 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
holder.selected_language = record.language
Hologram.mouse_opacity = MOUSE_OPACITY_TRANSPARENT//So you can't click on it.
Hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them.
- Hologram.setAnchored(TRUE)//So space wind cannot drag it.
+ Hologram.set_anchored(TRUE)//So space wind cannot drag it.
Hologram.name = "[record.caller_name] (Hologram)"//If someone decides to right click.
- Hologram.set_light(2) //hologram lighting
- visible_message("A holographic image of [record.caller_name] flickers to life before your eyes!")
+ Hologram.set_light(2) //hologram lighting
+ visible_message(span_notice("A holographic image of [record.caller_name] flickers to life before your eyes!"))
return Hologram
/obj/machinery/holopad/proc/replay_start()
@@ -661,7 +710,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
record_user = null
/obj/machinery/holopad/proc/record_clear()
- if(disk && disk.record)
+ if(disk?.record)
QDEL_NULL(disk.record)
/obj/effect/overlay/holo_pad_hologram
@@ -673,6 +722,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
Impersonation = null
if(!QDELETED(HC))
HC.Disconnect(HC.calling_holopad)
+ HC = null
return ..()
/obj/effect/overlay/holo_pad_hologram/Process_Spacemove(movement_dir = 0)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 5b30105409..8a084353e4 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -45,7 +45,8 @@ Buildable meters
if(make_from)
make_from_existing(make_from)
else
- pipe_type = _pipe_type
+ if(!initial(src.pipe_type))
+ pipe_type = _pipe_type
setDir(_dir)
update()
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index d4807e377c..a273aad0dd 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -374,7 +374,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
radio_freq = FREQ_ENGINEERING
if("security")
radio_freq = FREQ_SECURITY
- if("cargobay" || "mining")
+ if("cargobay", "mining")
radio_freq = FREQ_SUPPLY
Radio.set_frequency(radio_freq)
diff --git a/code/game/mecha/combat/five_stars.dm b/code/game/mecha/combat/five_stars.dm
new file mode 100644
index 0000000000..250ec7f3f6
--- /dev/null
+++ b/code/game/mecha/combat/five_stars.dm
@@ -0,0 +1,21 @@
+/obj/mecha/combat/five_stars
+ desc = "A state of the art tank deployed by the Spinward Stellar Coalition National Guard."
+ name = "\improper Tank"
+ icon = 'icons/mecha/mecha_96x96.dmi'
+ icon_state = "five_stars"
+ armor = list("melee" = 100, "bullet" = 50, "laser" = 35, "energy" = 35, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
+ step_in = 4
+ dir_in = 1 //Facing North.
+ max_integrity = 800
+ pixel_x = -32
+ pixel_y = -32
+
+/obj/mecha/combat/five_stars/Initialize()
+ . = ..()
+ var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/spacecops(src)
+ ME.attach(src)
+ ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src)
+ ME.attach(src)
+ ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src)
+ ME.attach(src)
+ max_ammo()
diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm
index 06e4208d71..47820d1e27 100644
--- a/code/game/mecha/equipment/tools/mining_tools.dm
+++ b/code/game/mecha/equipment/tools/mining_tools.dm
@@ -130,7 +130,11 @@
if(isalien(target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir)
else
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir)
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir)
//organs go everywhere
if(target_part && prob(10 * drill_level))
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 30bf06b475..a9d7853187 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -342,6 +342,9 @@
harmful = TRUE
ammo_type = "missiles_he"
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/spacecops
+ projectiles = 420
+
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching
name = "\improper BRM-6 missile rack"
desc = "A weapon for combat exosuits. Launches low-explosive breaching missiles designed to explode only when striking a sturdy target."
diff --git a/code/game/objects/effects/decals/cleanable/gibs.dm b/code/game/objects/effects/decals/cleanable/gibs.dm
index 09fbdb6528..2762416949 100644
--- a/code/game/objects/effects/decals/cleanable/gibs.dm
+++ b/code/game/objects/effects/decals/cleanable/gibs.dm
@@ -11,12 +11,12 @@
var/gibs_reagent_id = /datum/reagent/liquidgibs
var/gibs_bloodtype = "A+"
-/obj/effect/decal/cleanable/blood/gibs/Initialize(mapload, list/datum/disease/diseases)
+/obj/effect/decal/cleanable/blood/gibs/Initialize(mapload, list/datum/disease/diseases, list/blood_data)
. = ..()
if(random_icon_states && (icon_state == initial(icon_state)) && length(random_icon_states) > 0)
icon_state = pick(random_icon_states)
if(gibs_reagent_id)
- reagents.add_reagent(gibs_reagent_id, 5)
+ reagents.add_reagent(gibs_reagent_id, 5, blood_data)
if(gibs_bloodtype)
add_blood_DNA(list("Non-human DNA" = gibs_bloodtype), diseases)
update_icon()
diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm
index 387b8c167d..d84b3f15ed 100644
--- a/code/game/objects/effects/decals/crayon.dm
+++ b/code/game/objects/effects/decals/crayon.dm
@@ -1,3 +1,5 @@
+GLOBAL_LIST(gang_tags)
+
/obj/effect/decal/cleanable/crayon
name = "rune"
desc = "Graffiti. Damn kids."
@@ -45,6 +47,8 @@
data["pixel_x"] = pixel_x
if(pixel_y != initial(pixel_y))
data["pixel_y"] = pixel_y
+/obj/effect/decal/cleanable/crayon/NeverShouldHaveComeHere(turf/T)
+ return isgroundlessturf(T)
/obj/effect/decal/cleanable/crayon/PersistenceLoad(list/data)
. = ..()
@@ -63,3 +67,18 @@
pixel_x = data["pixel_x"]
if(data["pixel_y"])
pixel_y = data["pixel_y"]
+
+/obj/effect/decal/cleanable/crayon/gang
+ name = "Leet Like Jeff K gang tag"
+ desc = "Looks like someone's claimed this area for Leet Like Jeff K."
+ icon = 'icons/obj/gang/tags.dmi'
+ layer = BELOW_MOB_LAYER
+ var/datum/team/gang/my_gang
+
+/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null)
+ . = ..()
+ LAZYADD(GLOB.gang_tags, src)
+
+/obj/effect/decal/cleanable/crayon/gang/Destroy()
+ LAZYREMOVE(GLOB.gang_tags, src)
+ ..()
diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm
index 231c1465cd..00ddf0e9ef 100644
--- a/code/game/objects/effects/spawners/gibspawner.dm
+++ b/code/game/objects/effects/spawners/gibspawner.dm
@@ -31,7 +31,10 @@
var/list/dna_to_add //find the dna to pass to the spawned gibs. do note this can be null if the mob doesn't have blood. add_blood_DNA() has built in null handling.
var/body_coloring = ""
+
+ var/list/blood_data_to_add
if(source_mob)
+ blood_data_to_add = source_mob.get_blood_data()
if(!issilicon(source_mob))
dna_to_add = blood_dna || source_mob.get_blood_dna_list() //ez pz
if(ishuman(source_mob))
@@ -65,7 +68,7 @@
if(gibamounts[i])
for(var/j = 1, j<= gibamounts[i], j++)
var/gibType = gibtypes[i]
- gib = new gibType(loc, diseases)
+ gib = new gibType(loc, diseases, blood_data_to_add)
if(iscarbon(loc))
var/mob/living/carbon/digester = loc
digester.stomach_contents += gib
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index d7eeb2789b..543bad1fb8 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -4,6 +4,7 @@
duration = 5
randomdir = FALSE
layer = BELOW_MOB_LAYER
+ color = BLOOD_COLOR_HUMAN // set it to red by default because the actual icons are white
var/splatter_type = "splatter"
/obj/effect/temp_visual/dir_setting/bloodsplatter/Initialize(mapload, set_dir, new_color)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index b320db0a20..953d21d318 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -46,11 +46,23 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
max_integrity = 200
obj_flags = NONE
+ ///Item flags for the item
var/item_flags = NONE
- var/hitsound = null
- var/usesound = null
- var/throwhitsound = null
+ ///Sound played when you hit something with the item
+ var/hitsound
+ ///Played when the item is used, for example tools
+ var/usesound
+ ///Used when yate into a mob
+ var/mob_throw_hit_sound
+ ///Sound used when equipping the item into a valid slot
+ var/equip_sound
+ ///Sound uses when picking the item up (into your hands)
+ var/pickup_sound
+ ///Sound uses when dropping the item, or when its thrown.
+ var/drop_sound
+ ///Whether or not we use stealthy audio levels for this item's attack sounds
+ var/stealthy_audio = FALSE
/// Weight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.
var/w_class = WEIGHT_CLASS_NORMAL
@@ -129,7 +141,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
var/datum/dog_fashion/dog_fashion = null
//Tooltip vars
- var/force_string //string form of an item's force. Edit this var only to set a custom force string
+ ///string form of an item's force. Edit this var only to set a custom force string
+ var/force_string
var/last_force_string_check = 0
var/trigger_guard = TRIGGER_GUARD_NONE
@@ -388,7 +401,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
if(!allow_attack_hand_drop(user) || !user.temporarilyRemoveItemFromInventory(src))
return
- remove_outline()
+ . = FALSE
pickup(user)
add_fingerprint(user)
if(!user.put_in_active_hand(src, FALSE, FALSE))
@@ -461,9 +474,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
item_flags &= ~(IN_INVENTORY)
item_flags &= ~(IN_STORAGE)
SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user)
- remove_outline()
- // if(!silent)
- // playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE)
+ if(!silent)
+ playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE)
user?.update_equipment_speed_mods()
// called just as an item is picked up (loc is not yet changed)
@@ -710,8 +722,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
if(isliving(hit_atom)) //Living mobs handle hit sounds differently.
var/volume = get_volume_by_throwforce_and_or_w_class()
if (throwforce > 0)
- if (throwhitsound)
- playsound(hit_atom, throwhitsound, volume, TRUE, -1)
+ if (mob_throw_hit_sound)
+ playsound(hit_atom, mob_throw_hit_sound, volume, TRUE, -1)
else if(hitsound)
playsound(hit_atom, hitsound, volume, TRUE, -1)
else
@@ -719,8 +731,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
else
playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1)
- // else
- // playsound(src, drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE)
+ else if (drop_sound)
+ playsound(src, drop_sound, YEET_SOUND_VOLUME, ignore_walls = FALSE)
return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum)
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE)
@@ -894,47 +906,55 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
openToolTip(user,src,params,title = name,content = "[desc] Force: [force_string]",theme = "")
/obj/item/MouseEntered(location, control, params)
+ . = ..()
SEND_SIGNAL(src, COMSIG_ITEM_MOUSE_ENTER, location, control, params)
- if((item_flags & IN_INVENTORY || item_flags & IN_STORAGE) && usr?.client.prefs.enable_tips && !QDELETED(src))
- var/timedelay = max(usr.client.prefs.tip_delay * 0.01, 0.01) // I heard multiplying is faster, also runtimes from very low/negative numbers
- usr.client.tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, usr), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it.
- var/mob/living/L = usr
- if(istype(L) && (L.incapacitated() || (current_equipped_slot in L.check_obscured_slots()) || !L.canUnEquip(src)))
- apply_outline(_size = 3)
- else
- apply_outline()
+ if(get(src, /mob) == usr && !QDELETED(src))
+ var/mob/living/L = usr
+ if(usr.client.prefs.enable_tips)
+ var/timedelay = usr.client.prefs.tip_delay/100
+ usr.client.tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, usr), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it.
+ if(usr.client.prefs.outline_enabled)
+ if(istype(L) && L.incapacitated())
+ apply_outline(COLOR_RED_GRAY) //if they're dead or handcuffed, let's show the outline as red to indicate that they can't interact with that right now
+ else
+ apply_outline(usr.client.prefs.outline_color) //if the player's alive and well we send the command with no color set, so it uses the theme's color
/obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params)
. = ..()
- remove_outline()
+ remove_filter("hover_outline") //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong
-/obj/item/MouseExited(location,control,params)
+/obj/item/MouseExited(location, control, params)
SEND_SIGNAL(src, COMSIG_ITEM_MOUSE_EXIT, location, control, params)
+ deltimer(usr.client.tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
closeToolTip(usr)
- remove_outline()
+ remove_filter("hover_outline")
-/obj/item/proc/apply_outline(colour = null, _size=1)
- if(!(item_flags & IN_INVENTORY || item_flags & IN_STORAGE) || QDELETED(src) || isobserver(usr))
+/obj/item/proc/apply_outline(outline_color = null)
+ if(get(src, /mob) != usr || QDELETED(src) || isobserver(usr)) //cancel if the item isn't in an inventory, is being deleted, or if the person hovering is a ghost (so that people spectating you don't randomly make your items glow)
return
- if(usr.client)
- if(!usr.client.prefs.outline_enabled)
- return
- if(!colour)
- if(usr.client)
- colour = usr.client.prefs.outline_color
- if(!colour)
- colour = COLOR_BLUE_GRAY
- else
- colour = COLOR_BLUE_GRAY
- if(outline_filter)
- filters -= outline_filter
- outline_filter = filter(type="outline", size=_size, color=colour)
- filters += outline_filter
+ var/theme = lowertext(usr.client.prefs.UI_style)
+ if(!outline_color) //if we weren't provided with a color, take the theme's color
+ switch(theme) //yeah it kinda has to be this way
+ if("midnight")
+ outline_color = COLOR_THEME_MIDNIGHT
+ if("plasmafire")
+ outline_color = COLOR_THEME_PLASMAFIRE
+ if("retro")
+ outline_color = COLOR_THEME_RETRO //just as garish as the rest of this theme
+ if("slimecore")
+ outline_color = COLOR_THEME_SLIMECORE
+ if("operative")
+ outline_color = COLOR_THEME_OPERATIVE
+ if("clockwork")
+ outline_color = COLOR_THEME_CLOCKWORK //if you want free gbp go fix the fact that clockwork's tooltip css is glass'
+ if("glass")
+ outline_color = COLOR_THEME_GLASS
+ else //this should never happen, hopefully
+ outline_color = COLOR_WHITE
+ if(color)
+ outline_color = COLOR_WHITE //if the item is recolored then the outline will be too, let's make the outline white so it becomes the same color instead of some ugly mix of the theme and the tint
-/obj/item/proc/remove_outline()
- if(outline_filter)
- filters -= outline_filter
- outline_filter = null
+ add_filter("hover_outline", 1, list("type" = "outline", "size" = 1, "color" = outline_color))
// Called when a mob tries to use the item as a tool.
// Handles most checks.
@@ -1071,6 +1091,19 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
. = ..()
if(var_name == NAMEOF(src, slowdown))
set_slowdown(var_value) //don't care if it's a duplicate edit as slowdown'll be set, do it anyways to force normal behavior.
+
+/obj/item/proc/canStrip(mob/stripper, mob/owner)
+ SHOULD_BE_PURE(TRUE)
+ return !HAS_TRAIT(src, TRAIT_NODROP) && !(item_flags & ABSTRACT)
+
+/obj/item/proc/doStrip(mob/stripper, mob/owner)
+ if(owner.dropItemToGround(src))
+ if(stripper.can_hold_items())
+ stripper.put_in_hands(src)
+ return TRUE
+ else
+ return FALSE
+
/**
* Does the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.
*
@@ -1203,3 +1236,40 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
pain_stam_pct = (!isnull(embedding["pain_stam_pct"]) ? embedding["pain_stam_pct"] : EMBEDDED_PAIN_STAM_PCT),\
embed_chance_turf_mod = (!isnull(embedding["embed_chance_turf_mod"]) ? embedding["embed_chance_turf_mod"] : EMBED_CHANCE_TURF_MOD))
return TRUE
+
+
+/**
+ * * An interrupt for offering an item to other people, called mainly from [/mob/living/carbon/proc/give], in case you want to run your own offer behavior instead.
+ *
+ * * Return TRUE if you want to interrupt the offer.
+ *
+ * * Arguments:
+ * * offerer - the person offering the item
+ */
+/obj/item/proc/on_offered(mob/living/carbon/offerer)
+ if(SEND_SIGNAL(src, COMSIG_ITEM_OFFERING, offerer) & COMPONENT_OFFER_INTERRUPT)
+ return TRUE
+
+/**
+ * * An interrupt for someone trying to accept an offered item, called mainly from [/mob/living/carbon/proc/take], in case you want to run your own take behavior instead.
+ *
+ * * Return TRUE if you want to interrupt the taking.
+ *
+ * * Arguments:
+ * * offerer - the person offering the item
+ * * taker - the person trying to accept the offer
+ */
+/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)
+ if(SEND_SIGNAL(src, COMSIG_ITEM_OFFER_TAKEN, offerer, taker) & COMPONENT_OFFER_INTERRUPT)
+ return TRUE
+
+/**
+ * Updates all action buttons associated with this item
+ *
+ * Arguments:
+ * * status_only - Update only current availability status of the buttons to show if they are ready or not to use
+ * * force - Force buttons update even if the given button icon state has not changed
+ */
+/obj/item/proc/update_action_buttons(status_only = FALSE, force = FALSE)
+ for(var/datum/action/current_action as anything in actions)
+ current_action.UpdateButtonIcon(status_only, force)
diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm
index 3f5296a1ef..e9c3842619 100644
--- a/code/game/objects/items/charter.dm
+++ b/code/game/objects/items/charter.dm
@@ -14,6 +14,7 @@
var/response_timer_id = null
var/approval_time = 600
var/allow_unicode = FALSE
+ var/admin_approved = FALSE
var/static/regex/standard_station_regex
@@ -62,8 +63,32 @@
to_chat(user, "Your name has been sent to your employers for approval.")
// Autoapproves after a certain time
- response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
- to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [html_encode(new_name)] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]")
+ var/requires_approval = CONFIG_GET(flag/station_name_needs_approval)
+ response_timer_id = addtimer(CALLBACK(src, .proc/check_state, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
+ to_chat(GLOB.admins, "CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [html_encode(new_name)] ([requires_approval ? "REQUIRES ADMIN APPROVAL and will autodeny" : "will autoapprove"] in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT)[requires_approval ? " (APPROVE)" : ""] [ADMIN_CENTCOM_REPLY(user)]")
+
+/obj/item/station_charter/proc/check_state(designation, uname, ureal_name, ukey)
+ var/requires_approval = CONFIG_GET(flag/station_name_needs_approval)
+ if(requires_approval && !admin_approved)
+ var/turf/T = get_turf(src)
+ T.visible_message("A note appears on [src], stating this sector requires central command approval for its station names, which was not performed in time for this request. Looks like the change has been auto-rejected.")
+ var/m = "Station rename has been autorejected due to config requiring admin approval."
+ message_admins(m)
+ log_admin(m)
+ else
+ rename_station(designation, uname, ureal_name, ukey)
+ response_timer_id = null
+ admin_approved = FALSE
+
+/obj/item/station_charter/proc/allow_pass(user)
+ if(!user)
+ return
+ if(!response_timer_id)
+ return
+ admin_approved = TRUE
+ var/m = "[key_name(user)] has approved the proposed station name. It can still be denied prior to the timer expiring."
+ message_admins(m)
+ log_admin(m)
/obj/item/station_charter/proc/reject_proposed(user)
if(!user)
@@ -80,6 +105,7 @@
deltimer(response_timer_id)
response_timer_id = null
+ admin_approved = FALSE
/obj/item/station_charter/proc/rename_station(designation, uname, ureal_name, ukey)
set_station_name(designation)
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 42626c4a3b..bf1fdb1716 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -298,7 +298,7 @@
/obj/item/toy/crayon/proc/draw_on(atom/target, mob/user, proximity, params)
var/static/list/punctuation = list("!","?",".",",","/","+","-","=","%","#","&")
-
+ var/istagger = HAS_TRAIT(user, TRAIT_TAGGER)
var/cost = 1
if(paint_mode == PAINT_LARGE_HORIZONTAL)
cost = 5
@@ -355,14 +355,14 @@
else if(drawing in graffiti|oriented)
temp = "graffiti"
- // If a gang member is using a gang spraycan, it'll behave differently
- var/gang_mode = FALSE
- if(gang && user.mind && user.mind.has_antag_datum(/datum/antagonist/gang)) //Heres a check.
- gang_mode = TRUE // No more runtimes if a non-gang member sprays a gang can, it just works like normal cans.
- // discontinue if the area isn't valid for tagging because gang "honour"
+ var/gang_mode
+ if(user.mind)
+ gang_mode = user.mind.has_antag_datum(/datum/antagonist/gang)
+
if(gang_mode && (!can_claim_for_gang(user, target)))
return
+
var/graf_rot
if(drawing in oriented)
switch(user.dir)
@@ -390,16 +390,12 @@
audible_message("You hear spraying.")
playsound(user.loc, 'sound/effects/spray.ogg', 5, 1, 5)
- var/takes_time = !instant //For order purposes, since I'm maximum bad.
- if(gang_mode)
- takes_time = TRUE
-
var/wait_time = 50
if(paint_mode == PAINT_LARGE_HORIZONTAL)
wait_time *= 3
- if(takes_time) //This is what deteremines the time it takes to spray a tag in gang mode. 50 is Default.
- if(!do_after(user, gang_tag_delay, target = target)) //25 is a good number, but we have gang_tag_delay var now.
+ if(gang_mode || !instant)
+ if(!do_after(user, 50, target = target))
return
if(length(text_buffer))
@@ -410,16 +406,15 @@
if(actually_paints)
+ var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot)
if(gang_mode)
- // Double check it wasn't tagged in the meanwhile.
if(!can_claim_for_gang(user, target))
return
- tag_for_gang(user, target)
+ tag_for_gang(user, target, gang_mode)
affected_turfs += target
else
switch(paint_mode)
if(PAINT_NORMAL)
- var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot)
C.add_hiddenprint(user)
if(precision_mode)
C.pixel_x = clamp(precision_x, -(world.icon_size/2), world.icon_size/2)
@@ -432,14 +427,18 @@
var/turf/left = locate(target.x-1,target.y,target.z)
var/turf/right = locate(target.x+1,target.y,target.z)
if(isValidSurface(left) && isValidSurface(right))
- var/obj/effect/decal/cleanable/crayon/C = new(left, paint_color, drawing, temp, graf_rot, PAINT_LARGE_HORIZONTAL_ICON)
- C.add_hiddenprint(user)
+ C = new(left, paint_color, drawing, temp, graf_rot, PAINT_LARGE_HORIZONTAL_ICON)
affected_turfs += left
affected_turfs += right
affected_turfs += target
else
to_chat(user, "There isn't enough space to paint!")
return
+ C.add_hiddenprint(user)
+ if(istagger)
+ C.AddComponent(/datum/element/art, GOOD_ART)
+ else
+ C.AddComponent(/datum/element/art, BAD_ART)
if(!instant)
to_chat(user, "You finish drawing \the [temp].")
@@ -462,52 +461,6 @@
reagents.trans_to(t, ., volume_multiplier)
check_empty(user)
-
-//////////////Gang mode stuff/////////////////
-/obj/item/toy/crayon/proc/can_claim_for_gang(mob/user, atom/target)
- // Check area validity.
- // Reject space, player-created areas, and non-station z-levels.
- var/area/A = get_base_area(target)
- if(!A || (!is_station_level(A.z)) || !(A.area_flags & VALID_TERRITORY))
- to_chat(user, "[A] is unsuitable for tagging.")
- return FALSE
-
- var/spraying_over = FALSE
- for(var/G in target)
- var/obj/effect/decal/cleanable/crayon/gang/gangtag = G
- if(istype(gangtag))
- var/datum/antagonist/gang/GA = user.mind.has_antag_datum(/datum/antagonist/gang)
- if(gangtag.gang != GA.gang)
- spraying_over = TRUE
- break
-
- var/occupying_gang = territory_claimed(A, user)
- if(occupying_gang && !spraying_over)
- to_chat(user, "[A] has already been tagged by the [occupying_gang] gang! You must get rid of or spray over the old tag first!")
- return FALSE
-
- // If you pass the gauntlet of checks, you're good to proceed
- return TRUE
-
-/obj/item/toy/crayon/proc/territory_claimed(area/territory, mob/user)
- for(var/datum/team/gang/G in GLOB.gangs)
- if(territory.type in (G.territories|G.new_territories))
- . = G.name
- break
-
-/obj/item/toy/crayon/proc/tag_for_gang(mob/user, atom/target)
- //Delete any old markings on this tile, including other gang tags
- for(var/obj/effect/decal/cleanable/crayon/old_marking in target)
- qdel(old_marking)
-
- var/datum/antagonist/gang/G = user.mind.has_antag_datum(/datum/antagonist/gang)
- var/area/territory = get_base_area(target)
-
- new /obj/effect/decal/cleanable/crayon/gang(target,G.gang,"graffiti",0,user) // Heres the gang tag.
- to_chat(user, "You tagged [territory] for your gang!")
-/////////////////Gang end////////////////////
-
-
/obj/item/toy/crayon/attack(mob/M, mob/user)
if(edible && (M == user))
to_chat(user, "You take a bite of the [src.name]. Delicious!")
@@ -521,6 +474,49 @@
else
..()
+//////////////Gang mode stuff/////////////////
+/obj/item/toy/crayon/proc/can_claim_for_gang(mob/user, atom/target)
+ var/area/A = get_area(target)
+ if(!A || (!is_station_level(A.z)))
+ to_chat(user, "[A] is unsuitable for tagging.")
+ return FALSE
+
+ var/spraying_over = FALSE
+ for(var/obj/effect/decal/cleanable/crayon/gang/G in target)
+ spraying_over = TRUE
+
+ for(var/obj/machinery/power/apc in target)
+ to_chat(user, "You can't tag an APC.")
+ return FALSE
+
+ var/occupying_gang = territory_claimed(A, user)
+ if(occupying_gang && !spraying_over)
+ to_chat(user, "[A] has already been tagged by a gang! You must find and spray over the old tag first!")
+ return FALSE
+
+ // stolen from oldgang lmao
+ return TRUE
+
+/obj/item/toy/crayon/proc/tag_for_gang(mob/user, atom/target, datum/antagonist/gang/user_gang)
+ for(var/obj/effect/decal/cleanable/crayon/old_marking in target)
+ qdel(old_marking)
+
+ var/area/territory = get_area(target)
+
+ var/obj/effect/decal/cleanable/crayon/gang/tag = new /obj/effect/decal/cleanable/crayon/gang(target)
+ tag.my_gang = user_gang.my_gang
+ tag.icon_state = "[user_gang.gang_id]_tag"
+ tag.name = "[tag.my_gang.name] gang tag"
+ tag.desc = "Looks like someone's claimed this area for [tag.my_gang.name]."
+ to_chat(user, "You tagged [territory] for [tag.my_gang.name]!")
+
+/obj/item/toy/crayon/proc/territory_claimed(area/territory, mob/user)
+ for(var/obj/effect/decal/cleanable/crayon/gang/G in GLOB.gang_tags)
+ if(get_area(G) == territory)
+ return G
+
+/////////////////Gang end////////////////////
+
/obj/item/toy/crayon/red
icon_state = "crayonred"
paint_color = "#DA0000"
@@ -761,7 +757,7 @@
return
- if(isobj(target))
+ if(isobj(target) && !istype(target, /obj/effect/decal/cleanable/crayon/gang))
if(actually_paints)
if(istype(target, /obj/item/canvas)) //dont color our canvas neon green when im trying to paint please
return
@@ -866,26 +862,6 @@
post_noise = FALSE
reagent_contents = list(/datum/reagent/consumable/nothing = 1, /datum/reagent/toxin/mutetoxin = 1)
-/obj/item/toy/crayon/spraycan/gang
- charges = 20 // Charges back to 20, which is the default value for them.
- gang = TRUE
- gang_tag_delay = 15 //Its 50% faster than a regular spraycan, for tagging. After-all they did spend points/meet the boss.
-
- pre_noise = FALSE
- post_noise = TRUE // Its even more stealthy just a tad.
-
-/obj/item/toy/crayon/spraycan/gang/Initialize(loc, datum/team/gang/G)
- ..()
- if(G)
- gang = G
- paint_color = G.color
- update_icon()
-
-/obj/item/toy/crayon/spraycan/gang/examine(mob/user)
- . = ..()
- if(user.mind && user.mind.has_antag_datum(/datum/antagonist/gang) || isobserver(user))
- . += "This spraycan has been specially modified with a stage 2 nozzle kit, making it faster."
-
/obj/item/toy/crayon/spraycan/infinite
name = "infinite spraycan"
charges = -1
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index 2413a3fb9a..aa54ee6219 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -19,6 +19,7 @@
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
rad_flags = RAD_NO_CONTAMINATE
+ item_flags = NOBLUDGEON
custom_materials = list(/datum/material/iron = 150, /datum/material/glass = 150)
var/grace = RAD_GRACE_PERIOD
@@ -35,17 +36,15 @@
. = ..()
START_PROCESSING(SSobj, src)
- soundloop = new(list(src), FALSE)
+ soundloop = new(src, FALSE)
/obj/item/geiger_counter/Destroy()
STOP_PROCESSING(SSobj, src)
QDEL_NULL(soundloop)
+
return ..()
-/obj/item/geiger_counter/process()
- update_icon()
- update_sound()
-
+/obj/item/geiger_counter/process(delta_time)
if(!scanning)
current_tick_amount = 0
return
@@ -64,49 +63,55 @@
current_tick_amount = 0
+ update_appearance()
+ update_sound()
+
/obj/item/geiger_counter/examine(mob/user)
. = ..()
if(!scanning)
return
- . += "Alt-click it to clear stored radiation levels."
+ . += span_info("Alt-click it to clear stored radiation levels.")
if(obj_flags & EMAGGED)
- . += "The display seems to be incomprehensible."
+ . += span_warning("The display seems to be incomprehensible.")
return
switch(radiation_count)
if(-INFINITY to RAD_LEVEL_NORMAL)
- . += "Ambient radiation level count reports that all is well."
+ . += span_notice("Ambient radiation level count reports that all is well.")
if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE)
- . += "Ambient radiation levels slightly above average."
+ . += span_alert("Ambient radiation levels slightly above average.")
if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH)
- . += "Ambient radiation levels above average."
+ . += span_warning("Ambient radiation levels above average.")
if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
- . += "Ambient radiation levels highly above average."
+ . += span_danger("Ambient radiation levels highly above average.")
if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL)
- . += "Ambient radiation levels nearing critical level."
+ . += span_suicide("Ambient radiation levels nearing critical level.")
if(RAD_LEVEL_CRITICAL + 1 to INFINITY)
- . += "Ambient radiation levels above critical level!"
+ . += span_boldannounce("Ambient radiation levels above critical level!")
- . += "The last radiation amount detected was [last_tick_amount]"
+ . += span_notice("The last radiation amount detected was [last_tick_amount]")
/obj/item/geiger_counter/update_icon_state()
if(!scanning)
icon_state = "geiger_off"
- else if(obj_flags & EMAGGED)
+ return ..()
+ if(obj_flags & EMAGGED)
icon_state = "geiger_on_emag"
- else
- switch(radiation_count)
- if(-INFINITY to RAD_LEVEL_NORMAL)
- icon_state = "geiger_on_1"
- if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE)
- icon_state = "geiger_on_2"
- if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH)
- icon_state = "geiger_on_3"
- if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
- icon_state = "geiger_on_4"
- if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL)
- icon_state = "geiger_on_4"
- if(RAD_LEVEL_CRITICAL + 1 to INFINITY)
- icon_state = "geiger_on_5"
+ return ..()
+
+ switch(radiation_count)
+ if(-INFINITY to RAD_LEVEL_NORMAL)
+ icon_state = "geiger_on_1"
+ if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE)
+ icon_state = "geiger_on_2"
+ if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH)
+ icon_state = "geiger_on_3"
+ if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
+ icon_state = "geiger_on_4"
+ if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL)
+ icon_state = "geiger_on_4"
+ if(RAD_LEVEL_CRITICAL + 1 to INFINITY)
+ icon_state = "geiger_on_5"
+ return ..()
/obj/item/geiger_counter/proc/update_sound()
var/datum/looping_sound/geiger/loop = soundloop
@@ -124,21 +129,21 @@
if(amount <= RAD_BACKGROUND_RADIATION || !scanning)
return
current_tick_amount += amount
- update_icon()
+ update_appearance()
/obj/item/geiger_counter/attack_self(mob/user)
scanning = !scanning
- update_icon()
- to_chat(user, "[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].")
+ update_appearance()
+ to_chat(user, span_notice("[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src]."))
-/obj/item/geiger_counter/afterattack(atom/target, mob/user)
+/obj/item/geiger_counter/afterattack(atom/target, mob/living/user)
. = ..()
if(user.a_intent == INTENT_HELP)
if(!(obj_flags & EMAGGED))
- user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...")
+ user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]..."))
addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
else
- user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!")
+ user.visible_message(span_notice("[user] scans [target] with [src]."), span_danger("You project [src]'s stored radiation into [target]!"))
target.rad_act(radiation_count)
radiation_count = 0
return TRUE
@@ -156,57 +161,61 @@
if(isliving(A))
var/mob/living/M = A
if(!M.radiation)
- to_chat(user, "[icon2html(src, user)] Radiation levels within normal boundaries.")
+ to_chat(user, span_notice("[icon2html(src, user)] Radiation levels within normal boundaries."))
else
- to_chat(user, "[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation] rad.")
+ to_chat(user, span_boldannounce("[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation]."))
if(rad_strength)
- to_chat(user, "[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]")
+ to_chat(user, span_boldannounce("[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]"))
else
- to_chat(user, "[icon2html(src, user)] Target is free of radioactive contamination.")
+ to_chat(user, span_notice("[icon2html(src, user)] Target is free of radioactive contamination."))
/obj/item/geiger_counter/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED))
if(scanning)
- to_chat(user, "Turn off [src] before you perform this action!")
- return 0
- user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...")
+ to_chat(user, span_warning("Turn off [src] before you perform this action!"))
+ return FALSE
+ user.visible_message(span_notice("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards..."), span_notice("You begin resetting [src]..."))
if(!I.use_tool(src, user, 40, volume=50))
- return 0
- user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!")
+ return FALSE
+ user.visible_message(span_notice("[user] refastens [src]'s maintenance panel!"), span_notice("You reset [src] to its factory settings!"))
obj_flags &= ~EMAGGED
radiation_count = 0
- update_icon()
- return 1
+ update_appearance()
+ return TRUE
else
return ..()
/obj/item/geiger_counter/AltClick(mob/living/user)
- . = ..()
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE))
- return
+ return ..()
if(!scanning)
- to_chat(usr, "[src] must be on to reset its radiation level!")
- return TRUE
+ to_chat(usr, span_warning("[src] must be on to reset its radiation level!"))
+ return
radiation_count = 0
- to_chat(usr, "You flush [src]'s radiation counts, resetting it to normal.")
- update_icon()
- return TRUE
+ to_chat(usr, span_notice("You flush [src]'s radiation counts, resetting it to normal."))
+ update_appearance()
/obj/item/geiger_counter/emag_act(mob/user)
. = ..()
if(obj_flags & EMAGGED)
return
if(scanning)
- to_chat(user, "Turn off [src] before you perform this action!")
+ to_chat(user, span_warning("Turn off [src] before you perform this action!"))
return
- to_chat(user, "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")
+ to_chat(user, span_warning("You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan."))
obj_flags |= EMAGGED
return TRUE
/obj/item/geiger_counter/cyborg
var/mob/listeningTo
+/obj/item/geiger_counter/cyborg/cyborg_unequip(mob/user)
+ if(!scanning)
+ return
+ scanning = FALSE
+ update_appearance()
+
/obj/item/geiger_counter/cyborg/equipped(mob/user)
. = ..()
if(listeningTo == user)
@@ -217,6 +226,7 @@
listeningTo = user
/obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount)
+ SIGNAL_HANDLER
rad_act(amount)
/obj/item/geiger_counter/cyborg/dropped(mob/user)
diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm
index f2a0ea5450..de7e3d2812 100644
--- a/code/game/objects/items/devices/reverse_bear_trap.dm
+++ b/code/game/objects/items/devices/reverse_bear_trap.dm
@@ -24,8 +24,8 @@
/obj/item/reverse_bear_trap/Initialize()
. = ..()
- soundloop = new(list(src))
- soundloop2 = new(list(src))
+ soundloop = new(src)
+ soundloop2 = new(src)
/obj/item/reverse_bear_trap/Destroy()
QDEL_NULL(soundloop)
@@ -33,16 +33,16 @@
STOP_PROCESSING(SSprocessing, src)
return ..()
-/obj/item/reverse_bear_trap/process()
+/obj/item/reverse_bear_trap/process(delta_time)
if(!ticking)
return
- time_left--
+ time_left -= delta_time
soundloop2.mid_length = max(0.5, time_left - 5) //beepbeepbeepbeepbeep
- if(!time_left || !isliving(loc))
+ if(time_left <= 0 || !isliving(loc))
playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE)
soundloop.stop()
soundloop2.stop()
- to_chat(loc, "*ding*")
+ to_chat(loc, span_userdanger("*ding*"))
addtimer(CALLBACK(src, .proc/snap), 2)
/obj/item/reverse_bear_trap/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
@@ -116,13 +116,22 @@
/obj/item/reverse_bear_trap/proc/reset()
ticking = FALSE
+ update_appearance(UPDATE_OVERLAYS)
REMOVE_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT)
soundloop.stop()
soundloop2.stop()
STOP_PROCESSING(SSprocessing, src)
+/obj/item/reverse_bear_trap/update_overlays()
+ . = ..()
+ if(ticking != TRUE)
+ return
+ /// note: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.
+ // . += "rbt_ticking"
+
/obj/item/reverse_bear_trap/proc/arm() //hulen
ticking = TRUE
+ update_appearance(UPDATE_OVERLAYS)
escape_chance = initial(escape_chance) //we keep these vars until re-arm, for tracking purposes
time_left = initial(time_left)
ADD_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 3ded0310dd..a353a2b76b 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -325,7 +325,7 @@ GENETICS SCANNER
var/breathes = TRUE
var/blooded = TRUE
if(C.dna && C.dna.species)
- if(HAS_TRAIT_FROM(C, TRAIT_NOBREATH, SPECIES_TRAIT))
+ if(!HAS_TRAIT_FROM(C, TRAIT_AUXILIARY_LUNGS, SPECIES_TRAIT) && HAS_TRAIT_FROM(C, TRAIT_NOBREATH, SPECIES_TRAIT))
breathes = FALSE
if(NOBLOOD in C.dna.species.species_traits)
blooded = FALSE
@@ -380,6 +380,8 @@ GENETICS SCANNER
mutant = TRUE
else if (S.mutantstomach != initial(S.mutantstomach))
mutant = TRUE
+ else if (S.flying_species != initial(S.flying_species))
+ mutant = TRUE
msg += "\tReported Species: [H.spec_trait_examine_font()][H.dna.custom_species ? H.dna.custom_species : S.name]\n"
msg += "\tBase Species: [H.spec_trait_examine_font()][S.name]\n"
@@ -434,12 +436,13 @@ GENETICS SCANNER
if(R)
blood_type = R.name
+
if((C.scan_blood_volume() + C.integrating_blood) <= (BLOOD_VOLUME_SAFE * C.blood_ratio) && (C.scan_blood_volume() + C.integrating_blood) > (BLOOD_VOLUME_OKAY*C.blood_ratio))
- msg += "LOW blood level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""].type: [blood_type]\n"
+ msg += "LOW [HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM) ? "coolant" : "blood"] level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""].type: [blood_type]\n"
else if((C.scan_blood_volume() + C.integrating_blood) <= (BLOOD_VOLUME_OKAY * C.blood_ratio))
- msg += "CRITICAL blood level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""].type: [blood_type]\n"
+ msg += "CRITICAL [HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM) ? "coolant" : "blood"] level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""].type: [blood_type]\n"
else
- msg += "Blood level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""]. type: [blood_type]\n"
+ msg += "[HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM) ? "Coolant" : "Blood"] level [blood_percent] %, [C.scan_blood_volume()] cl[C.integrating_blood? ", with [integrated_blood_percent] % of it integrating, [C.integrating_blood] cl " : ""]. type: [blood_type]\n"
var/cyberimp_detect
diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm
index 52f9f3b9a4..395c0c4ce0 100644
--- a/code/game/objects/items/implants/implant_mindshield.dm
+++ b/code/game/objects/items/implants/implant_mindshield.dm
@@ -29,7 +29,7 @@
if(target.mind.has_antag_datum(ANTAG_DATUM_VASSAL))
SSticker.mode.remove_vassal(target.mind)
- if(target.mind.has_antag_datum(/datum/antagonist/rev/head) || target.mind.unconvertable || target.mind.has_antag_datum(/datum/antagonist/gang/boss))
+ if(target.mind.has_antag_datum(/datum/antagonist/rev/head) || (target.mind.unconvertable))
if(!silent)
target.visible_message("[target] seems to resist the implant!", "You feel something interfering with your mental conditioning, but you resist it!")
var/obj/item/implanter/I = loc
diff --git a/code/game/objects/items/implants/implant_uplink.dm b/code/game/objects/items/implants/implant_uplink.dm
index 0cac8f838a..bd861013dd 100644
--- a/code/game/objects/items/implants/implant_uplink.dm
+++ b/code/game/objects/items/implants/implant_uplink.dm
@@ -20,4 +20,7 @@
imp_type = /obj/item/implant/uplink/precharged
/obj/item/implant/uplink/precharged
- starting_tc = 10
+ starting_tc = TELECRYSTALS_PRELOADED_IMPLANT
+
+/obj/item/implant/uplink/starting
+ starting_tc = TELECRYSTALS_DEFAULT - UPLINK_IMPLANT_TELECRYSTAL_COST
diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm
index 275536d370..dd176f6d54 100644
--- a/code/game/objects/items/melee/energy.dm
+++ b/code/game/objects/items/melee/energy.dm
@@ -193,7 +193,7 @@
/obj/item/melee/transforming/energy/sword/saber
possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER)
- unique_reskin = list("Sword" = "sword0", "saber" = "esaber0")
+ unique_reskin = list("Sword" = "sword0", "Saber" = "esaber0")
var/hacked = FALSE
var/saber = FALSE
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index f888927411..0bd3083a59 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -488,6 +488,9 @@
icon_state = "nanogel"
var/being_applied = FALSE //No doafter stacking.
+/obj/item/stack/medical/nanogel/one
+ amount = 1
+
/obj/item/stack/medical/nanogel/try_heal(mob/living/M, mob/user, silent = FALSE)
if(being_applied)
to_chat(user, "You are already applying [src]!")
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 8a3eedca4b..b6520f6bb5 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -53,7 +53,6 @@
desc = "A satchel that opens into a localized pocket of Blue Space."
icon_state = "holdingsat"
item_state = "holdingsat"
- species_exception = list(/datum/species/angel)
/obj/item/storage/backpack/holding/duffel
name = "duffel bag of holding"
@@ -190,7 +189,6 @@
name = "satchel"
desc = "A trendy looking satchel."
icon_state = "satchel-norm"
- species_exception = list(/datum/species/angel) //satchels can be equipped since they are on the side, not back
/obj/item/storage/backpack/satchel/leather
name = "leather satchel"
@@ -657,3 +655,9 @@
desc = "Worn by snails as armor and storage compartment."
icon_state = "snailshell"
item_state = "snailshell"
+
+/obj/item/storage/backpack/henchmen
+ name = "wings"
+ desc = "Granted to the henchmen who deserve it. This probably doesn't include you."
+ icon_state = "henchmen"
+ item_state = "henchmen"
diff --git a/code/game/objects/items/summon.dm b/code/game/objects/items/summon.dm
new file mode 100644
index 0000000000..93846d10ab
--- /dev/null
+++ b/code/game/objects/items/summon.dm
@@ -0,0 +1,539 @@
+/// doing nothing/orbiting idly
+#define STATE_IDLE 0
+/// performing reset animation
+#define STATE_RESET 1
+/// performing attack animation
+#define STATE_ATTACK 2
+/// performing animation between attacks
+#define STATE_RECOVER 3
+
+/**
+ * Simple summon weapon code in this file
+ *
+ * tl;dr latch onto target, repeatedly proc attacks, animate using transforms,
+ * no real hitboxes/collisions, think of /datum/component/orbit-adjacent
+ */
+/obj/item/summon
+ name = "a horrifying mistake"
+ desc = "Why does this exist?"
+ /// datum type
+ var/host_type
+ /// number of summons
+ var/summon_count = 6
+ /// how long it takes for a "stack" to fall off by itself
+ var/stack_duration = 5 SECONDS
+ /// our summon weapon host
+ var/datum/summon_weapon_host/host
+ /// range summons will chase to
+ var/range = 7
+ /// are we a ranged weapon?
+ var/melee_only = TRUE
+
+/obj/item/summon/Initialize()
+ . = ..()
+ if(host_type)
+ host = new host_type(src, summon_count, range)
+
+/obj/item/summon/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
+ . = ..()
+ if(!host)
+ return
+ if(!proximity_flag && melee_only)
+ return
+ Target(target)
+
+/obj/item/summon/dropped(mob/user, silent)
+ . = ..()
+ addtimer(CALLBACK(src, .proc/check_activation), 0, TIMER_UNIQUE)
+
+/obj/item/summon/equipped(mob/user, slot)
+ . = ..()
+ addtimer(CALLBACK(src, .proc/check_activation), 0, TIMER_UNIQUE)
+
+/obj/item/summon/proc/check_activation()
+ if(!host)
+ return
+ if(!isliving(loc))
+ host.SetMaster(null)
+ var/mob/living/L = loc
+ if(!istype(L))
+ return
+ if(!L.is_holding(src))
+ host.SetMaster(src)
+ host.Suppress()
+ host.SetMaster(L)
+ host.Wake()
+
+/obj/item/summon/proc/Target(atom/victim)
+ if(!host?.CheckTarget(victim))
+ return
+ host.AutoTarget(victim, stack_duration)
+
+/obj/item/summon/sword
+ name = "spectral blade"
+ desc = "An eldritch blade that summons phantasms to attack one's enemies."
+ icon = 'icons/obj/items_and_weapons.dmi'
+ icon_state = "spectral"
+ item_state = "spectral"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ host_type = /datum/summon_weapon_host/sword
+ force = 15
+ sharpness = SHARP_EDGED
+
+/**
+ * Serves as the master datum for summon weapons
+ */
+/datum/summon_weapon_host
+ /// master atom
+ var/atom/master
+ /// suppressed?
+ var/active = TRUE
+ /// actual projectiles
+ var/list/datum/summon_weapon/controlled
+ /// active projectiles - refreshing a projectile reorders the list, so if they all have the same stack durations, you can trust the list to have last-refreshed at [1]
+ var/list/datum/summon_weapon/attacking
+ /// idle projectiles
+ var/list/datum/summon_weapon/idle
+ /// projectile type
+ var/weapon_type
+ /// default stack time
+ var/stack_time = 5 SECONDS
+ /// range
+ var/range = 7
+
+/datum/summon_weapon_host/New(atom/master, count, range)
+ src.master = master
+ src.range = range
+ controlled = list()
+ attacking = list()
+ idle = list()
+ Create(count)
+
+/datum/summon_weapon_host/Destroy()
+ QDEL_LIST(controlled)
+ master = null
+ return ..()
+
+/datum/summon_weapon_host/proc/SetMaster(atom/master, reset_on_failure = TRUE)
+ var/changed = src.master != master
+ src.master = master
+ if(changed)
+ for(var/datum/summon_weapon/weapon as anything in idle)
+ weapon.Reset()
+ if(!master && reset_on_failure)
+ for(var/datum/summon_weapon/weapon as anything in attacking)
+ weapon.Reset()
+
+/datum/summon_weapon_host/proc/Create(count)
+ if(!weapon_type)
+ return
+ for(var/i in 1 to min(count, clamp(20 - controlled.len - count, 0, 20)))
+ var/datum/summon_weapon/weapon = new weapon_type
+ Associate(weapon)
+
+/datum/summon_weapon_host/proc/Associate(datum/summon_weapon/linking)
+ if(linking.host && linking.host != src)
+ linking.host.Disassociate(linking)
+ linking.host = src
+ controlled |= linking
+ linking.Reset()
+
+/datum/summon_weapon_host/proc/Disassociate(datum/summon_weapon/unlinking, reset = TRUE, autodel)
+ if(unlinking.host == src)
+ unlinking.host = null
+ controlled -= unlinking
+ if(reset)
+ unlinking.Reset(del_no_host = autodel)
+ idle -= unlinking
+ attacking -= unlinking
+
+/datum/summon_weapon_host/proc/AutoTarget(atom/victim, duration = stack_time)
+ if(!active)
+ return
+ var/datum/summon_weapon/weapon = (idle.len && idle[1]) || (attacking.len && attacking[1])
+ if(!weapon)
+ return
+ if(!CheckTarget(victim))
+ return
+ weapon.Target(victim)
+ if(duration)
+ weapon.ResetIn(duration)
+
+/datum/summon_weapon_host/proc/OnTarget(datum/summon_weapon/weapon, atom/victim)
+ attacking -= weapon
+ idle -= weapon
+ attacking |= weapon
+
+/datum/summon_weapon_host/proc/OnReset(datum/summon_weapon/weapon, atom/victim)
+ attacking -= weapon
+ idle |= weapon
+
+/datum/summon_weapon_host/proc/CheckTarget(atom/victim)
+ if(isitem(victim))
+ return FALSE
+ if(QDELETED(victim))
+ return FALSE
+ if(victim == master)
+ return FALSE
+ if(isliving(victim))
+ var/mob/living/L = victim
+ if(L.stat == DEAD)
+ return FALSE
+ return TRUE
+ if(isobj(victim))
+ var/obj/O = victim
+ return (O.obj_flags & CAN_BE_HIT)
+ return FALSE
+
+/datum/summon_weapon_host/proc/Suppress()
+ active = FALSE
+ for(var/datum/summon_weapon/weapon as anything in controlled)
+ weapon.Reset()
+
+/datum/summon_weapon_host/proc/Wake()
+ active = TRUE
+ for(var/datum/summon_weapon/weapon as anything in controlled)
+ weapon.Reset()
+
+/datum/summon_weapon_host/sword
+ weapon_type = /datum/summon_weapon/sword
+
+/**
+ * A singular summoned object
+ *
+ * How summon weapons work:
+ *
+ * Reset() - makes it go back to its master.
+ * Target() - locks onto a target for a duration
+ *
+ * The biggest challenge is synchronizing animations.
+ * Variables keep track of when things tick, but,
+ * animations are client-timed, and not server-timed
+ *
+ * Animations:
+ * The weapon can only track its "intended" angle and dist
+ * "Current" pixel x/y are always calculated relative to a target from the current orbiting atom the physical effect is on
+ * There's 3 animations,
+ * MoveTo(location, angle, dist, rotation)
+ * Orbit(location)
+ * Rotate(degrees)
+ *
+ * And an non-animation that just snaps it to a location,
+ * HardReset(location)
+ */
+/datum/summon_weapon
+ /// name
+ var/name = "summoned weapon"
+ /// host
+ var/datum/summon_weapon_host/host
+ /// icon file
+ var/icon = 'icons/effects/summon.dmi'
+ /// icon state
+ var/icon_state
+ /// mutable_appearance to use, will skip making from icon/icon state if so
+ var/mutable_appearance/appearance
+ /// the actual effect
+ var/atom/movable/summon_weapon_effect/atom
+ /// currently locked attack target
+ var/atom/victim
+ /// current angle from victim - clockwise from 0. null if not attacking.
+ var/angle
+ /// current distance from victim - pixels
+ var/dist
+ /// current rotation - angles clockwise from north
+ var/rotation
+ /// rand dist to rotate during reattack phase
+ var/angle_vary = 45
+ /// orbit distance from victim - pixels
+ var/orbit_dist = 72
+ /// orbit distance variation from victim
+ var/orbit_dist_vary = 24
+ /// attack delay in deciseconds - this is time spent between attacks
+ var/attack_speed = 1.5
+ /// attack length in deciseconds - this is the attack animation speed in total
+ var/attack_length = 1.5
+ /// attack damage
+ var/attack_damage = 5
+ /// reset animation duration
+ var/reset_speed = 2
+ /// attack damtype
+ var/attack_type = BRUTE
+ /// attack sound
+ var/attack_sound = list(
+ 'sound/weapons/bladeslice.ogg',
+ 'sound/weapons/bladesliceb.ogg'
+ )
+ /// attack verb
+ var/attack_verb = list(
+ "rended",
+ "pierced",
+ "penetrated",
+ "sliced"
+ )
+ /// current state
+ var/state = STATE_IDLE
+ /// animation locked until
+ var/animation_lock
+ /// animation lock timer
+ var/animation_timerid
+ /// reset timerid
+ var/reset_timerid
+
+/datum/summon_weapon/New(mutable_appearance/appearance_override)
+ if(appearance_override)
+ appearance = appearance_override
+ Setup()
+ attack_verb = typelist(NAMEOF(src, attack_verb), attack_verb)
+ attack_sound = typelist(NAMEOF(src, attack_sound), attack_sound)
+
+/datum/summon_weapon/Destroy()
+ host.Disassociate(src, autodel = FALSE)
+ QDEL_NULL(atom)
+ QDEL_NULL(appearance)
+ return ..()
+
+/datum/summon_weapon/proc/Setup()
+ atom = new
+ if(!appearance)
+ GenerateAppearance()
+ atom.appearance = appearance
+ atom.moveToNullspace()
+ if(host)
+ Reset()
+
+/datum/summon_weapon/proc/GenerateAppearance()
+ if(!appearance)
+ appearance = new
+ appearance.icon = icon
+ appearance.icon_state = icon_state
+ appearance.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance.opacity = FALSE
+ appearance.plane = GAME_PLANE
+ appearance.layer = ABOVE_MOB_LAYER
+ appearance.appearance_flags = KEEP_TOGETHER
+ appearance.overlays = list(
+ emissive_appearance(icon, icon_state)
+ )
+
+/datum/summon_weapon/proc/Reset(immediate = FALSE, del_no_host = TRUE)
+ angle = null
+ victim = null
+ if(reset_timerid)
+ deltimer(reset_timerid)
+ reset_timerid = null
+ host?.OnReset(src)
+ atom.Release()
+ state = STATE_RESET
+ if(!host)
+ if(del_no_host)
+ qdel(src)
+ return
+ HardReset(null)
+ atom.moveToNullspace()
+ return
+ if(immediate)
+ if(animation_timerid)
+ deltimer(animation_timerid)
+ Act()
+ else
+ Wake()
+
+/datum/summon_weapon/proc/ResetIn(ds)
+ reset_timerid = addtimer(CALLBACK(src, .proc/Reset), ds, TIMER_STOPPABLE)
+
+/datum/summon_weapon/proc/Target(atom/victim)
+ if(!istype(victim) || !isturf(victim.loc) || (host && !host.CheckTarget(victim)))
+ Reset()
+ return
+ src.victim = victim
+ host.OnTarget(src, victim)
+ state = STATE_ATTACK
+ Wake()
+
+/datum/summon_weapon/proc/Wake()
+ if(!animation_timerid)
+ Act()
+
+/datum/summon_weapon/proc/AnimationLock(duration)
+ if(animation_timerid)
+ deltimer(animation_timerid)
+ animation_timerid = addtimer(CALLBACK(src, .proc/Act), duration, TIMER_CLIENT_TIME | TIMER_STOPPABLE)
+
+/datum/summon_weapon/proc/Act()
+ animation_timerid = null
+ switch(state)
+ if(STATE_IDLE)
+ return
+ if(STATE_ATTACK)
+ if(!isturf(victim.loc) || (host && !host.CheckTarget(victim)))
+ Reset(TRUE)
+ return
+ state = STATE_RECOVER
+ // register hit at the halfway mark
+ // we can do better math to approximate when the attack will hit but i'm too tired to bother
+ addtimer(CALLBACK(src, .proc/Hit, victim), attack_length / 2, TIMER_CLIENT_TIME)
+ // we need to approximate our incoming angle - again, better math exists but why bother
+ var/incoming_angle = angle
+ if(isturf(atom.loc) && (atom.loc != victim.loc))
+ incoming_angle = Get_Angle(atom.loc, victim.loc)
+ // pierce through target
+ // we do not want to turn while doing this so we pierce through them visually
+ incoming_angle += 180
+ var/outgoing_angle = SIMPLIFY_DEGREES(incoming_angle)
+ AnimationLock(MoveTo(victim, null, outgoing_angle, orbit_dist + rand(-orbit_dist_vary, orbit_dist_vary), outgoing_angle, attack_length))
+ if(STATE_RESET)
+ state = STATE_IDLE
+ if(!host || !host.active || !get_turf(host.master))
+ atom.moveToNullspace()
+ src.angle = null
+ src.dist = null
+ src.rotation = null
+ return
+ var/reset_angle = rand(0, 360)
+ AnimationLock(MoveTo(host.master, null, reset_angle, 30, 90, reset_speed))
+ addtimer(CALLBACK(src, .proc/Orbit, host.master, reset_angle, 30, 3 SECONDS), reset_speed, TIMER_CLIENT_TIME)
+ if(STATE_RECOVER)
+ state = STATE_ATTACK
+ AnimationLock(Rotate(rand(-angle_vary, angle_vary), attack_speed, null))
+
+/datum/summon_weapon/proc/Hit(atom/victim)
+ if(!isobj(victim) && !isliving(victim))
+ return FALSE
+ if(isliving(victim))
+ var/mob/living/L = victim
+ L.apply_damage(attack_damage, attack_type)
+ playsound(victim, pick(attack_sound), 75)
+ else if(isobj(victim))
+ var/obj/O = victim
+ O.take_damage(attack_damage, attack_type)
+ return TRUE
+
+/**
+ * relative to defaults to current location
+ */
+/datum/summon_weapon/proc/MoveTo(atom/destination, atom/relative_to, angle = 0, dist = 64, rotation = 180, time)
+ . = time
+ // construct final transform
+ var/matrix/dest = ConstructMatrix(angle, dist, rotation)
+
+ // move to
+ atom.Lock(destination)
+
+ // get relative first positions
+ relative_to = get_turf(relative_to || atom.locked)
+ destination = get_turf(destination)
+ // if none, move to immediately and end
+ if(!relative_to)
+ atom.transform = dest
+ src.angle = angle
+ src.dist = dist
+ src.rotation = rotation
+ // end animations
+ animate(atom, time = 0, flags = ANIMATION_END_NOW)
+ return 0
+
+ // grab source
+ var/rel_x = (destination.x - relative_to.x) * world.icon_size + src.dist * sin(src.angle)
+ var/rel_y = (destination.y - relative_to.y) * world.icon_size + src.dist * cos(src.angle)
+
+ // construct source matrix
+ var/matrix/source = new
+
+ source.Turn((relative_to == get_turf(atom.locked))? src.rotation : Get_Angle(relative_to, destination))
+ source.Translate(rel_x, rel_y)
+
+ // set vars
+ src.angle = angle
+ src.dist = dist
+ src.rotation = rotation
+
+ // animate
+ atom.transform = source
+ animate(atom, transform = dest, time, FALSE, LINEAR_EASING, ANIMATION_LINEAR_TRANSFORM | ANIMATION_END_NOW)
+
+/**
+ * rotation defaults to facing towards locked atom
+ */
+/datum/summon_weapon/proc/Rotate(degrees, time, rotation)
+ . = time
+ if(!dist)
+ return 0
+ var/matrix/M = ConstructMatrix(angle + degrees, dist, rotation || src.rotation)
+ if(rotation)
+ src.rotation = rotation
+ angle += degrees
+ animate(atom, transform = M, time, FALSE, LINEAR_EASING, ANIMATION_END_NOW | ANIMATION_LINEAR_TRANSFORM)
+
+/datum/summon_weapon/proc/Orbit(atom/destination, initial_degrees = rand(0, 360), dist, speed)
+ . = 0
+ atom.Lock(destination)
+ animate(atom, 0, FALSE, flags = ANIMATION_END_NOW)
+ atom.transform = ConstructMatrix(initial_degrees, dist, 90)
+ atom.SpinAnimation(speed, parallel = FALSE, segments = 10)
+ // we can't predict dist/angle anymre because clienttime vs servertime.
+ // well, we can, but, let's not be bothered with timeofday math eh.
+ dist = 0
+ angle = 0
+
+/datum/summon_weapon/proc/ConstructMatrix(angle = 0, dist = 64, rotation = 0)
+ var/matrix/M = new
+ M.Turn(rotation)
+ M.Translate(0, dist)
+ M.Turn(angle)
+ return M
+
+/datum/summon_weapon/proc/HardReset(atom/snap_to)
+ if(animation_timerid)
+ deltimer(animation_timerid)
+ atom.Release()
+ atom.forceMove(snap_to)
+ atom.transform = null
+
+/datum/summon_weapon/sword
+ name = "spectral blade"
+ icon_state = "sword"
+ attack_damage = 5
+ attack_speed = 1.5
+ attack_length = 1.5
+
+/atom/movable/summon_weapon_effect
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ plane = GAME_PLANE
+ layer = ABOVE_MOB_LAYER
+ opacity = FALSE
+ density = FALSE
+ /// locked atom
+ var/atom/locked
+
+/atom/movable/summon_weapon_effect/Destroy()
+ Release()
+ return ..()
+
+/atom/movable/summon_weapon_effect/proc/Lock(atom/target)
+ if(locked == target)
+ return
+ if(locked)
+ Release()
+ if(!target)
+ return
+ locked = target
+ forceMove(locked.loc)
+ if(ismovable(locked))
+ RegisterSignal(locked, COMSIG_MOVABLE_MOVED, .proc/Update)
+
+/atom/movable/summon_weapon_effect/proc/Release()
+ if(ismovable(locked))
+ UnregisterSignal(locked, COMSIG_MOVABLE_MOVED)
+ locked = null
+
+/atom/movable/summon_weapon_effect/proc/Update()
+ if(!locked)
+ return
+ if(loc != locked.loc)
+ forceMove(locked.loc)
+
+#undef STATE_IDLE
+#undef STATE_ATTACK
+#undef STATE_RECOVER
+#undef STATE_RESET
diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm
index b77e4a8ba0..ef798ae631 100644
--- a/code/game/objects/items/tanks/tanks.dm
+++ b/code/game/objects/items/tanks/tanks.dm
@@ -291,8 +291,8 @@
message_admins("Explosive tank rupture! Last key to touch the tank was [src.fingerprintslast].")
log_game("Explosive tank rupture! Last key to touch the tank was [src.fingerprintslast].")
//Give the gas a chance to build up more pressure through reacting
- air_contents.react(src)
- air_contents.react(src)
+ for(var/i in 1 to TANK_POST_FRAGMENT_REACTIONS)
+ air_contents.react(src)
pressure = air_contents.return_pressure()
var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index 902b1eaa13..3fd31941f3 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -1105,7 +1105,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
icon_state = "madeyoulook"
force = 0
throwforce = 0
- item_flags = DROPDEL | ABSTRACT // | HAND_ITEM
+ item_flags = DROPDEL | ABSTRACT | HAND_ITEM
attack_verb = list("bopped")
/obj/item/circlegame/Initialize()
@@ -1207,7 +1207,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
item_state = "nothing"
force = 0
throwforce = 0
- item_flags = DROPDEL | ABSTRACT // | HAND_ITEM
+ item_flags = DROPDEL | ABSTRACT | HAND_ITEM
attack_verb = list("slapped")
hitsound = 'sound/effects/snap.ogg'
@@ -1227,6 +1227,120 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
return FALSE
return TRUE
+/obj/item/slapper/on_offered(mob/living/carbon/offerer)
+ . = TRUE
+
+ if(!(locate(/mob/living/carbon) in orange(1, offerer)))
+ visible_message(span_danger("[offerer] raises [offerer.p_their()] arm, looking around for a high-five, but there's no one around!"), \
+ span_warning("You post up, looking for a high-five, but finding no one within range!"), null, 2)
+ return
+
+ offerer.visible_message(span_notice("[offerer] raises [offerer.p_their()] arm, looking for a high-five!"), \
+ span_notice("You post up, looking for a high-five!"), null, 2)
+ offerer.apply_status_effect(STATUS_EFFECT_OFFERING, src, /atom/movable/screen/alert/give/highfive)
+
+/// Yeah broh! This is where we do the high-fiving (or high-tenning :o)
+/obj/item/slapper/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)
+ . = TRUE
+
+ var/open_hands_taker
+ var/slappers_giver
+ for(var/i in taker.held_items) // see how many hands the taker has open for high'ing
+ if(isnull(i))
+ open_hands_taker++
+
+ if(!open_hands_taker)
+ to_chat(taker, span_warning("You can't high-five [offerer] with no open hands!"))
+ SEND_SIGNAL(taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_full_hand) // not so successful now!
+ return
+
+ for(var/i in offerer.held_items)
+ var/obj/item/slapper/slap_check = i
+ if(istype(slap_check))
+ slappers_giver++
+
+ if(slappers_giver >= 2) // we only check this if it's already established the taker has 2+ hands free
+ offerer.visible_message(span_notice("[taker] enthusiastically high-tens [offerer]!"), span_nicegreen("Wow! You're high-tenned [taker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), ignored_mobs=taker)
+ to_chat(taker, span_nicegreen("You give high-tenning [offerer] your all!"))
+ playsound(offerer, 'sound/weapons/slap.ogg', 100, TRUE, 1)
+ SEND_SIGNAL(offerer, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_ten)
+ SEND_SIGNAL(taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_ten)
+ else
+ offerer.visible_message(span_notice("[taker] high-fives [offerer]!"), span_nicegreen("All right! You're high-fived by [taker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), ignored_mobs=taker)
+ to_chat(taker, span_nicegreen("You high-five [offerer]!"))
+ playsound(offerer, 'sound/weapons/slap.ogg', 50, TRUE, -1)
+ SEND_SIGNAL(offerer, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five)
+ SEND_SIGNAL(taker, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five)
+ qdel(src)
+
+/// Gangster secret handshakes.
+/obj/item/slapper/secret_handshake
+ name = "Secret Handshake"
+ icon_state = "recruit"
+ icon = 'icons/obj/gang/actions.dmi'
+ /// References the active families gamemode handler (if one exists), for adding new family members to.
+ var/datum/gang_handler/handler
+ /// The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
+ var/gang_to_use
+ /// The team datum that the person who uses this package should be added to.
+ var/datum/team/gang/team_to_use
+
+
+/// Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
+/obj/item/slapper/secret_handshake/proc/add_to_gang(mob/living/user, original_name)
+ var/datum/antagonist/gang/swappin_sides = new gang_to_use()
+ swappin_sides.original_name = original_name
+ swappin_sides.handler = handler
+ user.mind.add_antag_datum(swappin_sides, team_to_use)
+ var/policy = get_policy(ROLE_FAMILIES)
+ if(policy)
+ to_chat(user, policy)
+ team_to_use.add_member(user.mind)
+ swappin_sides.equip_gangster_in_inventory()
+ if (!isnull(handler) && !handler.gangbangers.Find(user.mind)) // if we have a handler and they're not tracked by it
+ handler.gangbangers += user.mind
+
+/// Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+/obj/item/slapper/secret_handshake/proc/attempt_join_gang(mob/living/user)
+ if(!user?.mind)
+ return
+ var/datum/antagonist/gang/is_gangster = user.mind.has_antag_datum(/datum/antagonist/gang)
+ var/real_name_backup = user.real_name
+ if(is_gangster)
+ if(is_gangster.my_gang == team_to_use)
+ return
+ real_name_backup = is_gangster.original_name
+ is_gangster.my_gang.remove_member(user.mind)
+ user.mind.remove_antag_datum(/datum/antagonist/gang)
+ add_to_gang(user, real_name_backup)
+
+/obj/item/slapper/secret_handshake/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)
+ . = TRUE
+ if (!(null in taker.held_items))
+ to_chat(taker, span_warning("You can't get taught the secret handshake if [offerer] has no free hands!"))
+ return
+
+ if(HAS_TRAIT(taker, TRAIT_MINDSHIELD))
+ to_chat(taker, "You attended a seminar on not signing up for a gang and are not interested.")
+ return
+
+ var/datum/antagonist/gang/is_gangster = taker.mind.has_antag_datum(/datum/antagonist/gang)
+ if(is_gangster?.starter_gangster)
+ if(is_gangster.my_gang == team_to_use)
+ to_chat(taker, "You started your family. You don't need to join it.")
+ return
+ to_chat(taker, "You started your family. You can't turn your back on it now.")
+ return
+
+ offerer.visible_message(span_notice("[taker] is taught the secret handshake by [offerer]!"), span_nicegreen("All right! You've taught the secret handshake to [taker]!"), span_hear("You hear a bunch of weird shuffling and flesh slapping sounds!"), ignored_mobs=taker)
+ to_chat(taker, span_nicegreen("You get taught the secret handshake by [offerer]!"))
+ var/datum/antagonist/gang/owner_gang_datum = offerer.mind.has_antag_datum(/datum/antagonist/gang)
+ handler = owner_gang_datum.handler
+ gang_to_use = owner_gang_datum.type
+ team_to_use = owner_gang_datum.my_gang
+ attempt_join_gang(taker)
+ qdel(src)
+
/obj/item/extendohand
name = "extendo-hand"
desc = "Futuristic tech has allowed these classic spring-boxing toys to essentially act as a fully functional hand-operated hand prosthetic."
@@ -1261,7 +1375,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
// attack_verb_simple = list("whack", "thwack", "wallop", "sock")
// icon = 'icons/obj/items_and_weapons.dmi'
// icon_state = "gohei"
-// inhand_icon_state = "gohei"
+// item_state = "gohei"
// lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
// righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index 9b2f305b42..b751724313 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -52,6 +52,8 @@
var/author_ckey
var/icon_generated = FALSE
var/icon/generated_icon
+ ///boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.
+ var/no_save = FALSE
// Painting overlay offset when framed
var/framed_offset_x = 11
@@ -370,7 +372,7 @@
update_icon()
/obj/structure/sign/painting/proc/save_persistent()
- if(!persistence_id || !current_canvas)
+ if(!persistence_id || !current_canvas || current_canvas.no_save)
return
if(sanitize_filename(persistence_id) != persistence_id)
stack_trace("Invalid persistence_id - [persistence_id]")
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index f01342a903..af4d098157 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -531,7 +531,7 @@
/obj/structure/closet/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
- user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1)
+ user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/scaled/impaired, 1)
/obj/structure/closet/emp_act(severity)
. = ..()
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index c32bf81ecf..ce2acdbdf7 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -397,7 +397,7 @@
data["owner_name"] = payments_acc.account_holder
if(showpiece)
data["product_name"] = capitalize(showpiece.name)
- var/base64 = icon2base64(icon(showpiece.icon, showpiece.icon_state))
+ var/base64 = icon2base64(icon(showpiece.icon, showpiece.icon_state, SOUTH, 1))
data["product_icon"] = base64
data["registered"] = register
data["product_cost"] = sale_price
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index be92782c74..0077ad82da 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -1,5 +1,5 @@
//Objects that spawn ghosts in as a certain role when they click on it, i.e. away mission bartenders.
-
+#define spawnOverride TRUE
//Preserved terrarium/seed vault: Spawns in seed vault structures in lavaland. Ghosts become plantpeople and are advised to begin growing plants in the room near them.
/obj/effect/mob_spawn/human/seed_vault
name = "preserved terrarium"
@@ -36,6 +36,44 @@
//Ash walker eggs: Spawns in ash walker dens in lavaland. Ghosts become unbreathing lizards that worship the Necropolis and are advised to retrieve corpses to create more ash walkers.
+/obj/structure/ash_walker_eggshell
+ name = "ash walker egg"
+ desc = "A man-sized yellow egg, spawned from some unfathomable creature. A humanoid silhouette lurks within. The egg shell looks resistant to temperature but otherwise rather brittle."
+ icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
+ icon_state = "large_egg"
+ resistance_flags = LAVA_PROOF | FIRE_PROOF | FREEZE_PROOF
+ max_integrity = 80
+ var/obj/effect/mob_spawn/human/ash_walker/egg
+
+/obj/structure/ash_walker_eggshell/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) //lifted from xeno eggs
+ switch(damage_type)
+ if(BRUTE)
+ if(damage_amount)
+ playsound(loc, 'sound/effects/attackblob.ogg', 100, TRUE)
+ else
+ playsound(src, 'sound/weapons/tap.ogg', 50, TRUE)
+ if(BURN)
+ if(damage_amount)
+ playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
+
+/obj/structure/ash_walker_eggshell/attack_ghost(mob/user) //Pass on ghost clicks to the mob spawner
+ if(egg)
+ egg.attack_ghost(user)
+ . = ..()
+
+/obj/structure/ash_walker_eggshell/Destroy()
+ if(!egg)
+ return ..()
+ var/mob/living/carbon/human/yolk = new /mob/living/carbon/human/(get_turf(src))
+ yolk.fully_replace_character_name(null,random_unique_lizard_name(gender))
+ yolk.set_species(/datum/species/lizard/ashwalker)
+ yolk.underwear = "Nude"
+ yolk.equipOutfit(/datum/outfit/ashwalker)//this is an authentic mess we're making
+ yolk.update_body()
+ yolk.gib()
+ QDEL_NULL(egg)
+ return ..()
+
/obj/effect/mob_spawn/human/ash_walker
name = "ash walker egg"
desc = "A man-sized yellow egg, spawned from some unfathomable creature. A humanoid silhouette lurks within."
@@ -55,12 +93,25 @@
You have seen lights in the distance... they foreshadow the arrival of outsiders to your domain. \
Ensure your nest remains protected at all costs."
assignedrole = "Ash Walker"
+ var/datum/team/ashwalkers/team
+ var/obj/structure/ash_walker_eggshell/eggshell
+
+/obj/effect/mob_spawn/human/ash_walker/Destroy()
+ eggshell = null
+ return ..()
+
+/obj/effect/mob_spawn/human/ash_walker/allow_spawn(mob/user, silent = FALSE)
+ if(!(user.key in team.players_spawned) || spawnOverride)//one per person unless you get a bonus spawn
+ return TRUE
+ to_chat(user, span_warning("You have exhausted your usefulness to the Necropolis."))
+ return FALSE
/obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn)
new_spawn.real_name = random_unique_lizard_name(gender)
if(is_mining_level(z))
to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!")
to_chat(new_spawn, "You can expand the weather proof area provided by your shelters by using the 'New Area' key near the bottom right of your HUD.")
+ to_chat(new_spawn, "Dragging injured ashwalkers to the tentacle or using the sleep verb next to it youself causes the body to remade whole after a short delay!")
else
to_chat(new_spawn, "You have been born outside of your natural home! Whether you decide to return home, or make due with your new home is your own decision.")
@@ -72,10 +123,18 @@
H.undershirt = "Nude"
H.socks = "Nude"
H.update_body()
+ new_spawn.mind.add_antag_datum(/datum/antagonist/ashwalker, team)
+ team.players_spawned += (new_spawn.key)
+ eggshell.egg = null
+ QDEL_NULL(eggshell)
-/obj/effect/mob_spawn/human/ash_walker/Initialize(mapload)
+/obj/effect/mob_spawn/human/ash_walker/Initialize(mapload, datum/team/ashwalkers/ashteam)
. = ..()
var/area/A = get_area(src)
+ team = ashteam
+ eggshell = new /obj/structure/ash_walker_eggshell(get_turf(loc))
+ eggshell.egg = src
+ src.forceMove(eggshell)
if(A)
notify_ghosts("An ash walker egg is ready to hatch in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_ASHWALKER, ignore_dnr_observers = TRUE)
diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm
index 3d0b28d2f3..cdbf19367b 100644
--- a/code/game/objects/structures/manned_turret.dm
+++ b/code/game/objects/structures/manned_turret.dm
@@ -25,7 +25,7 @@
/obj/machinery/manned_turret/Destroy()
target = null
target_turf = null
- ..()
+ return ..()
//BUCKLE HOOKS
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 6a588a61cd..73268009ce 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -139,7 +139,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
/obj/structure/bodycontainer/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
- user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 2)
+ user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/scaled/impaired, 2)
/*
* Morgue
*/
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 68da53aa6c..34fbdb3029 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -1,3 +1,5 @@
+#define MAX_NOTICES 5
+
/obj/structure/noticeboard
name = "notice board"
desc = "A board for pinning important notices upon."
@@ -7,8 +9,25 @@
density = FALSE
anchored = TRUE
max_integrity = 150
+ /// Current number of a pinned notices
var/notices = 0
+/obj/structure/noticeboard/directional/north
+ dir = SOUTH
+ pixel_y = 32
+
+/obj/structure/noticeboard/directional/south
+ dir = NORTH
+ pixel_y = -32
+
+/obj/structure/noticeboard/directional/east
+ dir = WEST
+ pixel_x = 32
+
+/obj/structure/noticeboard/directional/west
+ dir = EAST
+ pixel_x = -32
+
/obj/structure/noticeboard/Initialize(mapload)
. = ..()
@@ -16,7 +35,7 @@
return
for(var/obj/item/I in loc)
- if(notices > 4)
+ if(notices >= MAX_NOTICES)
break
if(istype(I, /obj/item/paper))
I.forceMove(src)
@@ -27,67 +46,84 @@
/obj/structure/noticeboard/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo))
if(!allowed(user))
- to_chat(user, "You are not authorized to add notices")
+ to_chat(user, span_warning("You are not authorized to add notices!"))
return
- if(notices < 5)
+ if(notices < MAX_NOTICES)
if(!user.transferItemToLoc(O, src))
return
notices++
icon_state = "nboard0[notices]"
- to_chat(user, "You pin the [O] to the noticeboard.")
+ to_chat(user, span_notice("You pin the [O] to the noticeboard."))
else
- to_chat(user, "The notice board is full")
+ to_chat(user, span_warning("The notice board is full!"))
else
return ..()
-/obj/structure/noticeboard/interact(mob/user)
- ui_interact(user)
+/obj/structure/noticeboard/ui_state(mob/user)
+ return GLOB.physical_state
-/obj/structure/noticeboard/ui_interact(mob/user)
+/obj/structure/noticeboard/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "NoticeBoard", name)
+ ui.open()
+
+/obj/structure/noticeboard/ui_data(mob/user)
+ var/list/data = list()
+ data["allowed"] = allowed(user)
+ data["items"] = list()
+ for(var/obj/item/content in contents)
+ var/list/content_data = list(
+ name = content.name,
+ ref = REF(content)
+ )
+ data["items"] += list(content_data)
+ return data
+
+/obj/structure/noticeboard/ui_act(action, params)
. = ..()
- var/auth = allowed(user)
- var/dat = "[name] "
- for(var/obj/item/P in src)
- if(istype(P, /obj/item/paper))
- dat += "[P.name] [auth ? "WriteRemove" : ""] "
- else
- dat += "[P.name] [auth ? "Remove" : ""] "
- user << browse("Notices[dat]","window=noticeboard")
- onclose(user, "noticeboard")
+ if(.)
+ return
-/obj/structure/noticeboard/Topic(href, href_list)
- ..()
- usr.set_machine(src)
- if(href_list["remove"])
- if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
- return
- var/obj/item/I = locate(href_list["remove"]) in contents
- if(istype(I) && I.loc == src)
- I.forceMove(usr.loc)
- usr.put_in_hands(I)
- notices--
- icon_state = "nboard0[notices]"
+ var/obj/item/item = locate(params["ref"]) in contents
+ if(!istype(item) || item.loc != src)
+ return
- if(href_list["write"])
- if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
- return
- var/obj/item/P = locate(href_list["write"]) in contents
- if(istype(P) && P.loc == src)
- var/obj/item/I = usr.is_holding_item_of_type(/obj/item/pen)
- if(I)
- add_fingerprint(usr)
- P.attackby(I, usr)
+ var/mob/user = usr
+
+ switch(action)
+ if("examine")
+ if(istype(item, /obj/item/paper))
+ item.ui_interact(user)
else
- to_chat(usr, "You'll need something to write with!")
+ user.examinate(item)
+ return TRUE
+ if("remove")
+ if(!allowed(user))
+ return
+ remove_item(item, user)
+ return TRUE
- if(href_list["read"])
- var/obj/item/I = locate(href_list["read"]) in contents
- if(istype(I) && I.loc == src)
- usr.examinate(I)
+/**
+ * Removes an item from the notice board
+ *
+ * Arguments:
+ * * item - The item that is to be removed
+ * * user - The mob that is trying to get the item removed, if there is one
+ */
+/obj/structure/noticeboard/proc/remove_item(obj/item/item, mob/user)
+ item.forceMove(drop_location())
+ if(user)
+ user.put_in_hands(item)
+ balloon_alert(user, "removed from board")
+ notices--
+ icon_state = "nboard0[notices]"
/obj/structure/noticeboard/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal (loc, 1)
+ for(var/obj/item/content in contents)
+ remove_item(content)
qdel(src)
// Notice boards for the heads of staff (plus the qm)
@@ -131,3 +167,5 @@
name = "Staff Notice Board"
desc = "Important notices from the heads of staff."
req_access = list(ACCESS_HEADS)
+
+#undef MAX_NOTICES
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 9a2b4aab1a..e3ee7ddc63 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -257,7 +257,7 @@
/obj/machinery/shower/Initialize()
. = ..()
- soundloop = new(list(src), FALSE)
+ soundloop = new(src, FALSE)
/obj/machinery/shower/Destroy()
QDEL_NULL(soundloop)
@@ -669,7 +669,7 @@
icon_state = "well_3"
return TRUE
else
- to_chat(user, "You need at least tweenty-five pieces of sandstone!")
+ to_chat(user, "You need at least twenty-five pieces of sandstone!")
return
if(steps == 3 && S.tool_behaviour == TOOL_SHOVEL)
S.use_tool(src, user, 80, volume=100)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 5f84094477..4853d553dc 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -719,7 +719,6 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
icon = 'icons/obj/smooth_structures/rplasma_window.dmi'
icon_state = "rplasmawindow"
dir = FULLTILE_WINDOW_DIR
- state = PRWINDOW_SECURE
max_integrity = 1000
fulltile = TRUE
flags_1 = PREVENT_CLICK_UNDER_1
diff --git a/code/game/turfs/open/floor/catwalk_plating.dm b/code/game/turfs/open/floor/catwalk_plating.dm
index c6bfdc0448..cbcbade5d4 100644
--- a/code/game/turfs/open/floor/catwalk_plating.dm
+++ b/code/game/turfs/open/floor/catwalk_plating.dm
@@ -34,11 +34,11 @@
/turf/open/floor/plating/catwalk_floor/screwdriver_act(mob/living/user, obj/item/tool)
. = ..()
covered = !covered
- to_chat(user, span_notice("[!covered ? "You removed the cover!" : "You added the cover!"]"))
+ user.balloon_alert(user, "[!covered ? "cover removed" : "cover added"]")
update_icon(UPDATE_OVERLAYS)
/turf/open/floor/plating/catwalk_floor/pry_tile(obj/item/crowbar, mob/user, silent)
if(covered)
- to_chat(user, span_notice("You need to remove the cover first!"))
+ user.balloon_alert(user, "remove cover first!")
return FALSE
. = ..()
diff --git a/code/game/turfs/simulated/floor/plating/dirt.dm b/code/game/turfs/simulated/floor/plating/dirt.dm
index b9bcc0937b..f7f4633254 100644
--- a/code/game/turfs/simulated/floor/plating/dirt.dm
+++ b/code/game/turfs/simulated/floor/plating/dirt.dm
@@ -19,3 +19,11 @@
/turf/open/floor/plating/dirt/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
return
+
+/turf/open/floor/plating/dirt/space
+ baseturfs = /turf/baseturf_bottom
+ planetary_atmos = FALSE
+ desc = "Upon closer examination there's plating beneath the dirt."
+
+/turf/open/floor/plating/dirt/space/airless
+ initial_gas_mix = AIRLESS_ATMOS
diff --git a/code/game/world.dm b/code/game/world.dm
index 44e9fe9e14..af11b7c93e 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -111,6 +111,7 @@ GLOBAL_LIST(topic_status_cache)
GLOB.picture_log_directory = "data/picture_logs/[override_dir]"
GLOB.world_game_log = "[GLOB.log_directory]/game.log"
+ GLOB.world_suspicious_login_log = "[GLOB.log_directory]/suspicious_logins.log"
GLOB.world_virus_log = "[GLOB.log_directory]/virus.log"
GLOB.world_asset_log = "[GLOB.log_directory]/asset.log"
GLOB.world_attack_log = "[GLOB.log_directory]/attack.log"
@@ -152,7 +153,8 @@ GLOBAL_LIST(topic_status_cache)
start_log(GLOB.world_crafting_log)
start_log(GLOB.click_log)
- GLOB.changelog_hash = md5('html/changelog.html') //for telling if the changelog has changed recently
+ var/latest_changelog = file("[global.config.directory]/../html/changelogs/archive/" + time2text(world.timeofday, "YYYY-MM") + ".yml")
+ GLOB.changelog_hash = fexists(latest_changelog) ? md5(latest_changelog) : 0 //for telling if the changelog has changed recently
if(fexists(GLOB.config_error_log))
fcopy(GLOB.config_error_log, "[GLOB.log_directory]/config_error.log")
fdel(GLOB.config_error_log)
diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm
index 21bf732493..a9c0984bbc 100644
--- a/code/modules/admin/callproc/callproc.dm
+++ b/code/modules/admin/callproc/callproc.dm
@@ -115,9 +115,9 @@ GLOBAL_PROTECT(LastAdminCalledProc)
//adv proc call this, ya nerds
/world/proc/WrapAdminProcCall(datum/target, procname, list/arguments)
if(target == GLOBAL_PROC)
- return call("/proc/[procname]")(arglist(arguments))
- else if(target != world)
- return call(target, procname)(arglist(arguments))
+ return text2path("/proc/[procname]")? call("/proc/[procname]")(arglist(arguments)) : null
+ else if(target != world && istype(target, /datum)) // isdatum check incase someone manages to call WrapAdminProcCall(global) which would otherwise crash the process entirely
+ return hascall(target, procname)? call(target, procname)(arglist(arguments)) : null
else
log_admin("[key_name(usr)] attempted to call world/proc/[procname] with arguments: [english_list(arguments)]")
diff --git a/code/modules/admin/outfit_editor.dm b/code/modules/admin/outfit_editor.dm
index 9a99d8b20e..aa53aade13 100644
--- a/code/modules/admin/outfit_editor.dm
+++ b/code/modules/admin/outfit_editor.dm
@@ -55,7 +55,7 @@
"name" = initial(item.name),
"desc" = initial(item.desc),
// at this point initializing the item is probably faster tbh
- "sprite" = icon2base64(icon(initial(item.icon), initial(item.icon_state))),
+ "sprite" = icon2base64(icon(initial(item.icon), initial(item.icon_state), SOUTH, 1)),
)
return data
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 39377a1fe9..40ae979517 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -53,15 +53,6 @@
return
cmd_show_exp_panel(M.client)
- else if(href_list["toggleexempt"])
- if(!check_rights(R_ADMIN))
- return
- var/client/C = locate(href_list["toggleexempt"]) in GLOB.clients
- if(!C)
- to_chat(usr, "ERROR: Client not found.")
- return
- toggle_exempt_status(C)
-
else if(href_list["makeAntag"])
if(!check_rights(R_ADMIN))
return
@@ -920,10 +911,10 @@
else
dat += "
"
@@ -1008,7 +999,7 @@
if("ghostroles")
joblist += list(ROLE_PAI, ROLE_POSIBRAIN, ROLE_DRONE , ROLE_DEATHSQUAD, ROLE_LAVALAND, ROLE_SENTIENCE)
if("teamantags")
- joblist += list(ROLE_OPERATIVE, ROLE_REV, ROLE_CULTIST, ROLE_SERVANT_OF_RATVAR, ROLE_ABDUCTOR, ROLE_ALIEN, ROLE_GANG)
+ joblist += list(ROLE_OPERATIVE, ROLE_REV, ROLE_CULTIST, ROLE_SERVANT_OF_RATVAR, ROLE_ABDUCTOR, ROLE_ALIEN, ROLE_FAMILIES)
if("convertantags")
joblist += list(ROLE_REV, ROLE_CULTIST, ROLE_SERVANT_OF_RATVAR, ROLE_ALIEN)
if("otherroles")
@@ -2050,6 +2041,12 @@
var/obj/item/station_charter/charter = locate(href_list["reject_custom_name"])
if(istype(charter))
charter.reject_proposed(usr)
+ else if(href_list["approve_custom_name"])
+ if(!check_rights(R_ADMIN))
+ return
+ var/obj/item/station_charter/charter = locate(href_list["approve_custom_name"])
+ if(istype(charter))
+ charter.allow_pass(usr)
else if(href_list["jumpto"])
if(!isobserver(usr) && !check_rights(R_ADMIN))
return
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index 498355f7c3..51299a17bd 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -242,7 +242,7 @@
var/selectors_used = FALSE
var/list/combined_refs = list()
do
- CHECK_TICK
+ stoplag(2)
finished = TRUE
for(var/i in running)
var/datum/SDQL2_query/query = i
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
index ca07f9a50b..79fd63adcc 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm
@@ -3,11 +3,19 @@
/proc/_abs(A)
return abs(A)
-/proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags = null)
- var/mutable_appearance/MA = new()
- for(var/v in set_vars)
- MA.vars[v] = set_vars[v]
- animate(A, appearance = MA, time, loop, easing, flags)
+/proc/_animate(atom/A, list/data, time = 10, loop = 1, easing = LINEAR_EASING, flags = null)
+ if(!istype(A))
+ return
+ animate(A, appearance = data, time = time, loop = loop, easing = easing, flags = flags)
+
+/proc/_animate_adv(atom/A, list/data, loop = 1, easing = LINEAR_EASING, flags = NONE)
+ if(!A || !islist(data) || data.len < 1)
+ return
+ animate(A, appearance = (data[1] - "time"), time = data[1]["time"], loop = loop, easing = easing, flags = flags)
+ if(data.len < 2)
+ return
+ for(var/i in 2 to data.len)
+ animate(appearance = (data[i] - "time"), time = data[i]["time"])
/proc/_acrccos(A)
return arccos(A)
diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm
index ee4d12656a..d10ec67d13 100644
--- a/code/modules/admin/verbs/possess.dm
+++ b/code/modules/admin/verbs/possess.dm
@@ -3,7 +3,7 @@
set category = "Object"
if((O.obj_flags & DANGEROUS_POSSESSION) && CONFIG_GET(flag/forbid_singulo_possession))
- to_chat(usr, "[O] is too powerful for you to possess.")
+ to_chat(usr, "[O] is too powerful for you to possess.", confidential = TRUE)
return
var/turf/T = get_turf(O)
@@ -18,19 +18,22 @@
if(!usr.control_object) //If you're not already possessing something...
usr.name_archive = usr.real_name
- usr.loc = O
+ usr.forceMove(O)
usr.real_name = O.name
usr.name = O.name
usr.reset_perspective(O)
usr.control_object = O
+ O.AddElement(/datum/element/weather_listener, /datum/weather/ash_storm, ZTRAIT_ASHSTORM, GLOB.ash_storm_sounds)
SSblackbox.record_feedback("tally", "admin_verb", 1, "Possess Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/proc/release()
set name = "Release Obj"
set category = "Object"
- //usr.loc = get_turf(usr)
- if(usr.control_object && usr.name_archive) //if you have a name archived and if you are actually relassing an object
+ if(!usr.control_object) //lest we are banished to the nullspace realm.
+ return
+
+ if(usr.name_archive) //if you have a name archived
usr.real_name = usr.name_archive
usr.name_archive = ""
usr.name = usr.real_name
@@ -38,8 +41,8 @@
var/mob/living/carbon/human/H = usr
H.name = H.get_visible_name()
-
- usr.loc = get_turf(usr.control_object)
+ usr.control_object.RemoveElement(/datum/element/weather_listener, /datum/weather/ash_storm, ZTRAIT_ASHSTORM, GLOB.ash_storm_sounds)
+ usr.forceMove(get_turf(usr.control_object))
usr.reset_perspective()
usr.control_object = null
SSblackbox.record_feedback("tally", "admin_verb", 1, "Release Object") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/view_variables/filterrific.dm b/code/modules/admin/view_variables/filterrific.dm
index e651028cbe..6cef9b178a 100644
--- a/code/modules/admin/view_variables/filterrific.dm
+++ b/code/modules/admin/view_variables/filterrific.dm
@@ -79,7 +79,7 @@
. = TRUE
if("mass_apply")
if(!check_rights_for(usr.client, R_FUN))
- to_chat(usr, "[message]")
- else
- H.dna.add_mutation(CLOWNMUT) // We're removing their antag status, add back clumsy
+ if(!ishuman(mob_override) || owner.assigned_role != "Clown")
+ return
+ var/mob/living/carbon/human/human_override = mob_override
+ if(removing) // They're a clown becoming an antag, remove clumsy
+ human_override.dna.remove_mutation(CLOWNMUT)
+ if(!silent && message)
+ to_chat(human_override, span_boldnotice("[message]"))
+ else
+ human_override.dna.add_mutation(CLOWNMUT) // We're removing their antag status, add back clumsy
+
//Assign default team and creates one for one of a kind team antagonists
/datum/antagonist/proc/create_team(datum/team/team)
return
- ///Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
+///Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
/datum/antagonist/proc/on_gain()
SHOULD_CALL_PARENT(TRUE)
- set waitfor = FALSE
- if(!(owner?.current))
- return
+ if(!owner)
+ CRASH("[src] ran on_gain() without a mind")
+ if(!owner.current)
+ CRASH("[src] ran on_gain() on a mind without a mob")
+ if(ui_name)//in the future, this should entirely replace greet.
+ info_button = new(owner.current, src)
+ info_button.Grant(owner.current)
if(!silent)
greet()
+ if(ui_name)
+ to_chat(owner.current, span_big("You are \a [src]."))
+ to_chat(owner.current, span_boldnotice("For more info, read the panel. you can always come back to it using the button in the top left."))
+ info_button.Trigger()
apply_innate_effects()
give_antag_moodies()
remove_blacklisted_quirks()
+ // RegisterSignal(owner, COMSIG_PRE_MINDSHIELD_IMPLANT, .proc/pre_mindshield)
+ // RegisterSignal(owner, COMSIG_MINDSHIELD_IMPLANTED, .proc/on_mindshield)
if(is_banned(owner.current) && replace_banned)
replace_banned_player()
+ // else if(owner.current.client?.holder && (CONFIG_GET(flag/auto_deadmin_antagonists) || owner.current.client.prefs?.toggles & DEADMIN_ANTAGONIST))
+ // owner.current.client.holder.auto_deadmin()
+ if(!soft_antag && owner.current.stat != DEAD)
+ owner.current.add_to_current_living_antags()
+
+ // cit skill
if(skill_modifiers)
for(var/A in skill_modifiers)
ADD_SINGLETON_SKILL_MODIFIER(owner, A, type)
@@ -125,63 +199,96 @@ GLOBAL_LIST_EMPTY(antagonists)
if(istype(M))
M.name = "[name] Training"
owner.current.AddComponent(/datum/component/activity)
- if(owner.current.stat != DEAD)
- owner.current.add_to_current_living_antags()
SEND_SIGNAL(owner.current, COMSIG_MOB_ANTAG_ON_GAIN, src)
+
+/**
+ * Proc that checks the sent mob aganst the banlistfor this antagonist.
+ * Returns FALSE if no mob is sent, or the mob is not found to be banned.
+ *
+ * * mob/M: The mob that you are looking for on the banlist.
+ */
/datum/antagonist/proc/is_banned(mob/M)
if(!M)
return FALSE
. = (jobban_isbanned(M, ROLE_SYNDICATE) || QDELETED(M) || (job_rank && (jobban_isbanned(M,job_rank) || QDELETED(M))))
+/**
+ * Proc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.
+ */
/datum/antagonist/proc/replace_banned_player()
set waitfor = FALSE
- var/list/mob/candidates = pollCandidatesForMob("Do you want to play as a [name]?", "[name]", null, job_rank, 50, owner.current)
+ var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [name]?", "[name]", job_rank, 50, owner.current)
if(LAZYLEN(candidates))
- var/mob/C = pick(candidates)
+ var/mob/dead/observer/C = pick(candidates)
to_chat(owner, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!")
- message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(owner.current)]) to replace a jobbaned player.")
+ message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(owner)]) to replace a jobbanned player.")
owner.current.ghostize(0)
C.transfer_ckey(owner.current, FALSE)
-///Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
+/**
+ * Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
+ */
/datum/antagonist/proc/on_removal()
SHOULD_CALL_PARENT(TRUE)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+
remove_innate_effects()
clear_antag_moodies()
- if(owner)
-//ambition start
+ LAZYREMOVE(owner.antag_datums, src)
+ // cit skill
+ for(var/A in skill_modifiers)
+ owner.remove_skill_modifier(GET_SKILL_MOD_ID(A, type))
+ // end
+ if(!LAZYLEN(owner.antag_datums) && !soft_antag)
+ owner.current.remove_from_current_living_antags()
+ if(info_button)
+ QDEL_NULL(info_button)
+ if(!silent && owner.current)
+ farewell()
+ // UnregisterSignal(owner, COMSIG_PRE_MINDSHIELD_IMPLANT)
+ // UnregisterSignal(owner, COMSIG_MINDSHIELD_IMPLANTED)
owner.do_remove_antag_datum(src)
-//ambition end
- for(var/A in skill_modifiers)
- owner.remove_skill_modifier(GET_SKILL_MOD_ID(A, type))
- if(!LAZYLEN(owner.antag_datums))
- owner.current.remove_from_current_living_antags()
- if(!silent && owner.current)
- farewell()
var/datum/team/team = get_team()
if(team)
team.remove_member(owner)
- // we don't remove the activity component on purpose--no real point to it
qdel(src)
+/**
+ * Proc that sends fluff or instructional messages to the player when they are given this antag datum.
+ * Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.
+ */
/datum/antagonist/proc/greet()
return
+/**
+ * Proc that sends fluff or instructional messages to the player when they lose this antag datum.
+ * Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.
+ */
/datum/antagonist/proc/farewell()
return
+/**
+ * Proc that assigns this antagonist's ascribed moodlet to the player.
+ */
/datum/antagonist/proc/give_antag_moodies()
if(!antag_moodlet)
return
SEND_SIGNAL(owner.current, COMSIG_ADD_MOOD_EVENT, "antag_moodlet", antag_moodlet)
+/**
+ * Proc that removes this antagonist's ascribed moodlet from the player.
+ */
/datum/antagonist/proc/clear_antag_moodies()
if(!antag_moodlet)
return
SEND_SIGNAL(owner.current, COMSIG_CLEAR_MOOD_EVENT, "antag_moodlet")
+/**
+ * Removes invalid quirks.
+ */
/datum/antagonist/proc/remove_blacklisted_quirks()
var/mob/living/L = owner.current
if(istype(L))
@@ -192,16 +299,22 @@ GLOBAL_LIST_EMPTY(antagonists)
to_chat(L, "[initial(Q.antag_removal_text)]")
qdel(Q)
-//Returns the team antagonist belongs to if any.
+/**
+ * Proc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.
+ */
/datum/antagonist/proc/get_team()
return
-//Individual roundend report
+/**
+ * Proc that sends string information for the end-round report window to the server.
+ * This runs on every instance of every antagonist that exists at the end of the round.
+ * This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.
+ */
/datum/antagonist/proc/roundend_report()
var/list/report = list()
if(!owner)
- CRASH("antagonist datum without owner")
+ CRASH("Antagonist datum without owner")
report += printplayer(owner)
@@ -220,11 +333,19 @@ GLOBAL_LIST_EMPTY(antagonists)
return report.Join(" ")
-//Displayed at the start of roundend_category section, default to roundend_category header
+/**
+ * Proc that sends string data for the round-end report.
+ * Displayed before roundend_report and roundend_report_footer.
+ * Appears at start of roundend_catagory section.
+ */
/datum/antagonist/proc/roundend_report_header()
- return "The [roundend_category] were: "
+ return "The [roundend_category] were: "
-//Displayed at the end of roundend_category section
+/**
+ * Proc that sends string data for the round-end report.
+ * Displayed after roundend_report and roundend_report_footer.
+ * Appears at the end of the roundend_catagory section.
+ */
/datum/antagonist/proc/roundend_report_footer()
return
@@ -233,22 +354,24 @@ GLOBAL_LIST_EMPTY(antagonists)
//Called when using admin tools to give antag status
/datum/antagonist/proc/admin_add(datum/mind/new_owner,mob/admin)
- message_admins("[key_name_admin(admin)] made [new_owner.current] into [name].")
- log_admin("[key_name(admin)] made [new_owner.current] into [name].")
+ message_admins("[key_name_admin(admin)] made [key_name_admin(new_owner)] into [name].")
+ log_admin("[key_name(admin)] made [key_name(new_owner)] into [name].")
new_owner.add_antag_datum(src)
//Called when removing antagonist using admin tools
/datum/antagonist/proc/admin_remove(mob/user)
if(!user)
return
- message_admins("[key_name_admin(user)] has removed [name] antagonist status from [owner.current].")
- log_admin("[key_name(user)] has removed [name] antagonist status from [owner.current].")
+ message_admins("[key_name_admin(user)] has removed [name] antagonist status from [key_name_admin(owner)].")
+ log_admin("[key_name(user)] has removed [name] antagonist status from [key_name(owner)].")
on_removal()
//gamemode/proc/is_mode_antag(antagonist/A) => TRUE/FALSE
-//Additional data to display in antagonist panel section
-//nuke disk code, genome count, etc
+/**
+ * Additional data to display in the antagonist panel section.
+ * For example, nuke disk code, genome count, etc
+ */
/datum/antagonist/proc/antag_panel_data()
return ""
@@ -260,10 +383,47 @@ GLOBAL_LIST_EMPTY(antagonists)
return FALSE
return TRUE
-// List if ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
+/// List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
/datum/antagonist/proc/get_admin_commands()
. = list()
+/// Creates an icon from the preview outfit.
+/// Custom implementors of `get_preview_icon` should use this, as the
+/// result of `get_preview_icon` is expected to be the completed version.
+/datum/antagonist/proc/render_preview_outfit(datum/outfit/outfit, mob/living/carbon/human/dummy)
+ dummy = dummy || new /mob/living/carbon/human/dummy/consistent
+ dummy.equipOutfit(outfit, visualsOnly = TRUE)
+ COMPILE_OVERLAYS(dummy)
+ var/icon = getFlatIcon(dummy)
+
+ // We don't want to qdel the dummy right away, since its items haven't initialized yet.
+ SSatoms.prepare_deletion(dummy)
+
+ return icon
+
+/// Given an icon, will crop it to be consistent of those in the preferences menu.
+/// Not necessary, and in fact will look bad if it's anything other than a human.
+/datum/antagonist/proc/finish_preview_icon(icon/icon)
+ // Zoom in on the top of the head and the chest
+ // I have no idea how to do this dynamically.
+ icon.Scale(115, 115)
+
+ // This is probably better as a Crop, but I cannot figure it out.
+ icon.Shift(WEST, 8)
+ icon.Shift(SOUTH, 30)
+
+ icon.Crop(1, 1, ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE)
+
+ return icon
+
+/// Returns the icon to show on the preferences menu.
+/datum/antagonist/proc/get_preview_icon()
+ if (isnull(preview_outfit))
+ return null
+
+ return finish_preview_icon(render_preview_outfit(preview_outfit))
+
+
/datum/antagonist/Topic(href,href_list)
if(!check_rights(R_ADMIN))
return
@@ -290,14 +450,19 @@ GLOBAL_LIST_EMPTY(antagonists)
return
antag_memory = new_memo
-/// Gets how fast we can hijack the shuttle, return 0 for can not hijack. Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
+/**
+ * Gets how fast we can hijack the shuttle, return 0 for can not hijack.
+ * Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
+ */
/datum/antagonist/proc/hijack_speed()
var/datum/objective/hijack/H = locate() in objectives
if(!isnull(H?.hijack_speed_override))
return H.hijack_speed_override
return hijack_speed
-/// Gets our threat level. Defaults to threat var, override for custom stuff like different traitor goals having different threats.
+/**
+ * Gets our threat level. Override this proc for custom functionality/dynamic threat level.
+ */
/datum/antagonist/proc/threat()
. = CONFIG_GET(keyed_list/antag_threat)[lowertext(name)]
if(. == null)
@@ -307,6 +472,13 @@ GLOBAL_LIST_EMPTY(antagonists)
/datum/antagonist/custom
antagpanel_category = "Custom"
show_name_in_check_antagonists = TRUE //They're all different
+ var/datum/team/custom_team
+
+/datum/antagonist/custom/create_team(datum/team/team)
+ custom_team = team
+
+/datum/antagonist/custom/get_team()
+ return custom_team
/datum/antagonist/custom/admin_add(datum/mind/new_owner,mob/admin)
var/custom_name = stripped_input(admin, "Custom antagonist name:", "Custom antag", "Antagonist")
@@ -316,6 +488,51 @@ GLOBAL_LIST_EMPTY(antagonists)
return
..()
+///ANTAGONIST UI STUFF
+
+/datum/antagonist/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, ui_name, name)
+ ui.open()
+
+/datum/antagonist/ui_state(mob/user)
+ return GLOB.always_state
+
+///generic helper to send objectives as data through tgui. supports smart objectives too!
+/datum/antagonist/proc/get_objectives()
+ var/objective_count = 1
+ var/list/objective_data = list()
+ //all obj
+ for(var/datum/objective/objective in objectives)
+ objective_data += list(list(
+ "count" = objective_count,
+ "name" = objective.name,
+ "explanation" = objective.explanation_text,
+ "complete" = objective.completed,
+ ))
+ objective_count++
+ return objective_data
+
+//button for antags to review their descriptions/info
+
+/datum/action/antag_info
+ name = "Open Antag Information:"
+ button_icon_state = "round_end"
+ var/datum/antagonist/antag_datum
+
+/datum/action/antag_info/New(Target, datum/antagonist/antag_datum)
+ . = ..()
+ src.antag_datum = antag_datum
+ name += " [antag_datum.name]"
+
+/datum/action/antag_info/Trigger()
+ if(antag_datum)
+ antag_datum.ui_interact(owner)
+
+/datum/action/antag_info/IsAvailable()
+ return TRUE
+
///Clears change requests from deleted objectives to avoid broken references.
/datum/antagonist/proc/clean_request_from_del_objective(datum/objective/source, force)
var/objective_reference = REF(source)
diff --git a/code/modules/antagonists/_common/antag_helpers.dm b/code/modules/antagonists/_common/antag_helpers.dm
index b10df46348..91f0177d9c 100644
--- a/code/modules/antagonists/_common/antag_helpers.dm
+++ b/code/modules/antagonists/_common/antag_helpers.dm
@@ -6,14 +6,3 @@
continue
if(!antag_type || !specific && istype(A,antag_type) || specific && A.type == antag_type)
. += A.owner
-
-//Get all teams [of type team_type]
-/proc/get_all_teams(team_type)
- . = list()
- for(var/V in GLOB.antagonists)
- var/datum/antagonist/A = V
- if(!A.owner)
- continue
- var/datum/team/T = A.get_team()
- if(!team_type || istype(T,team_type))
- . |= T
diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm
index 9d138ed0b9..f4e0d321d5 100644
--- a/code/modules/antagonists/_common/antag_team.dm
+++ b/code/modules/antagonists/_common/antag_team.dm
@@ -1,3 +1,5 @@
+GLOBAL_LIST_EMPTY(antagonist_teams)
+
//A barebones antagonist team.
/datum/team
var/list/datum/mind/members = list()
@@ -8,6 +10,7 @@
/datum/team/New(starting_members)
. = ..()
+ GLOB.antagonist_teams += src
if(starting_members)
if(islist(starting_members))
for(var/datum/mind/M in starting_members)
@@ -15,6 +18,10 @@
else
add_member(starting_members)
+/datum/team/Destroy(force, ...)
+ GLOB.antagonist_teams -= src
+ . = ..()
+
/datum/team/proc/is_solo()
return members.len == 1
diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm
index 7eb7ec2af2..f7e66ee90a 100644
--- a/code/modules/antagonists/abductor/abductor.dm
+++ b/code/modules/antagonists/abductor/abductor.dm
@@ -97,7 +97,7 @@
/datum/antagonist/abductor/admin_add(datum/mind/new_owner,mob/admin)
var/list/current_teams = list()
- for(var/datum/team/abductor_team/T in get_all_teams(/datum/team/abductor_team))
+ for(var/datum/team/abductor_team/T in GLOB.antagonist_teams)
current_teams[T.name] = T
var/choice = input(admin,"Add to which team ?") as null|anything in (current_teams + "new team")
if (choice == "new team")
diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm
index 8917e1661e..e995826af6 100644
--- a/code/modules/antagonists/abductor/equipment/glands/heal.dm
+++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm
@@ -23,7 +23,7 @@
return
var/obj/item/organ/lungs/lungs = owner.getorganslot(ORGAN_SLOT_LUNGS)
- if((!lungs && !HAS_TRAIT(owner, TRAIT_NOBREATH)) || (lungs && (istype(lungs, /obj/item/organ/lungs/cybernetic))))
+ if((!lungs && (HAS_TRAIT_FROM(owner, TRAIT_AUXILIARY_LUNGS, SPECIES_TRAIT) || !HAS_TRAIT(owner, TRAIT_NOBREATH))) || (lungs && (istype(lungs, /obj/item/organ/lungs/cybernetic))))
replace_lungs(lungs)
return
diff --git a/code/modules/antagonists/ashwalker/ashwalker.dm b/code/modules/antagonists/ashwalker/ashwalker.dm
new file mode 100644
index 0000000000..0ba84a201f
--- /dev/null
+++ b/code/modules/antagonists/ashwalker/ashwalker.dm
@@ -0,0 +1,40 @@
+/datum/team/ashwalkers
+ name = "Ashwalkers"
+ show_roundend_report = FALSE
+ var/list/players_spawned = new
+
+/datum/antagonist/ashwalker
+ name = "\improper Ash Walker"
+ job_rank = ROLE_LAVALAND
+ show_in_antagpanel = FALSE
+ show_to_ghosts = TRUE
+ antagpanel_category = "Ash Walkers"
+ var/datum/team/ashwalkers/ashie_team
+
+/datum/antagonist/ashwalker/create_team(datum/team/team)
+ if(team)
+ ashie_team = team
+ objectives |= ashie_team.objectives
+ else
+ ashie_team = new
+
+/datum/antagonist/ashwalker/get_team()
+ return ashie_team
+
+/datum/antagonist/ashwalker/on_body_transfer(mob/living/old_body, mob/living/new_body)
+ . = ..()
+ RegisterSignal(new_body, COMSIG_MOB_EXAMINATE, .proc/on_examinate)
+
+/datum/antagonist/ashwalker/on_gain()
+ . = ..()
+ RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, .proc/on_examinate)
+
+/datum/antagonist/ashwalker/on_removal()
+ . = ..()
+ UnregisterSignal(owner.current, COMSIG_MOB_EXAMINATE)
+
+/datum/antagonist/ashwalker/proc/on_examinate(datum/source, atom/A)
+ SIGNAL_HANDLER
+
+ if(istype(A, /obj/structure/headpike))
+ SEND_SIGNAL(owner.current, COMSIG_ADD_MOOD_EVENT, "headspear", /datum/mood_event/sacrifice_good)
diff --git a/code/modules/antagonists/brainwashing/brainwashing.dm b/code/modules/antagonists/brainwashing/brainwashing.dm
index 491ee9d2e5..bd7a9a43cb 100644
--- a/code/modules/antagonists/brainwashing/brainwashing.dm
+++ b/code/modules/antagonists/brainwashing/brainwashing.dm
@@ -17,11 +17,13 @@
B.objectives += objective
M.add_antag_datum(B)
- var/begin_message = "[L] has been brainwashed with the following objectives: "
+ var/begin_message = " has been brainwashed with the following objectives: "
var/obj_message = english_list(directives)
- var/end_message = "."
+ var/end_message = "."
var/rendered = begin_message + obj_message + end_message
- deadchat_broadcast(rendered, follow_target = L, turf_target = get_turf(L), message_type=DEADCHAT_REGULAR)
+ deadchat_broadcast(rendered, "[L]", follow_target = L, turf_target = get_turf(L), message_type=DEADCHAT_ANNOUNCEMENT)
+ if(prob(1) || SSevents.holidays && SSevents.holidays[APRIL_FOOLS])
+ L.say("You son of a bitch! I'm in.", forced = "That son of a bitch! They're in.")
/datum/antagonist/brainwashed
name = "Brainwashed Victim"
@@ -30,19 +32,21 @@
show_in_antagpanel = TRUE
antagpanel_category = "Other"
show_name_in_check_antagonists = TRUE
+ ui_name = "AntagInfoBrainwashed"
+ suicide_cry = "FOR... SOMEONE!!"
-/datum/antagonist/brainwashed/greet()
- to_chat(owner, "Your mind reels as it begins focusing on a single purpose...")
- to_chat(owner, "Follow the Directives, at any cost!")
- var/i = 1
- for(var/X in objectives)
- var/datum/objective/O = X
- to_chat(owner, "[i]. [O.explanation_text]")
- i++
+/datum/antagonist/brainwashed/ui_static_data(mob/user)
+ . = ..()
+ var/list/data = list()
+ data["objectives"] = get_objectives()
+ return data
/datum/antagonist/brainwashed/farewell()
- to_chat(owner, "Your mind suddenly clears...")
- to_chat(owner, "You feel the weight of the Directives disappear! You no longer have to obey them.")
+ to_chat(owner, span_warning("Your mind suddenly clears..."))
+ to_chat(owner, "[span_warning("You feel the weight of the Directives disappear! You no longer have to obey them.")]")
+ if(owner.current)
+ var/mob/living/owner_mob = owner.current
+ owner_mob.log_message("is no longer brainwashed with the objectives: [english_list(objectives)].", LOG_ATTACK)
owner.announce_objectives()
/datum/antagonist/brainwashed/admin_add(datum/mind/new_owner,mob/admin)
@@ -54,9 +58,9 @@
var/objective = stripped_input(admin, "Add an objective, or leave empty to finish.", "Brainwashing", null, MAX_MESSAGE_LEN)
if(objective)
objectives += objective
- while(alert(admin,"Add another objective?","More Brainwashing","Yes","No") == "Yes")
+ while(tgui_alert(admin,"Add another objective?","More Brainwashing",list("Yes","No")) == "Yes")
- if(alert(admin,"Confirm Brainwashing?","Are you sure?","Yes","No") == "No")
+ if(tgui_alert(admin,"Confirm Brainwashing?","Are you sure?",list("Yes","No")) == "No")
return
if(!LAZYLEN(objectives))
@@ -69,6 +73,7 @@
brainwash(C, objectives)
var/obj_list = english_list(objectives)
message_admins("[key_name_admin(admin)] has brainwashed [key_name_admin(C)] with the following objectives: [obj_list].")
+ C.log_message("has been force-brainwashed with the objective '[obj_list]' by admin [key_name(admin)]", LOG_ATTACK, log_globally = FALSE)
log_admin("[key_name(admin)] has brainwashed [key_name(C)] with the following objectives: [obj_list].")
/datum/objective/brainwashing
diff --git a/code/modules/antagonists/clockcult/clock_effects/city_of_cogs_rift.dm b/code/modules/antagonists/clockcult/clock_effects/city_of_cogs_rift.dm
index 3609037f58..562d6a0c94 100644
--- a/code/modules/antagonists/clockcult/clock_effects/city_of_cogs_rift.dm
+++ b/code/modules/antagonists/clockcult/clock_effects/city_of_cogs_rift.dm
@@ -69,7 +69,7 @@
do_sparks(5, TRUE, AM)
if(isliving(AM))
var/mob/living/L = AM
- L.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/static)
+ L.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash/static)
L.clear_fullscreen("flash", 5)
var/obj/item/transfer_valve/TTV = locate() in L.GetAllContents()
if(TTV)
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
index d08caa39d7..ad507adcec 100644
--- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
@@ -53,7 +53,7 @@
user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30)
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
-/obj/item/clothing/head/helmet/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
+/obj/item/clothing/head/helmet/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return ..()
@@ -98,7 +98,7 @@
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
-/obj/item/clothing/suit/armor/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
+/obj/item/clothing/suit/armor/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return ..()
@@ -158,7 +158,7 @@
max_heat_protection_temperature = initial(max_heat_protection_temperature)
min_cold_protection_temperature = initial(min_cold_protection_temperature)
-/obj/item/clothing/gloves/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
+/obj/item/clothing/gloves/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return ..()
@@ -208,7 +208,7 @@
else
clothing_flags &= ~NOSLIP
-/obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
+/obj/item/clothing/shoes/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return ..()
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm
index 8060b7b0cd..d5c9b2cd2f 100644
--- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm
@@ -264,7 +264,9 @@
ui.open()
/obj/item/clockwork/slab/ui_data(mob/user) //we display a lot of data via TGUI
- . = list()
+ . = ..()
+ if(!.)
+ return
.["recollection"] = recollecting
.["power"] = DisplayPower(get_clockwork_power())
.["power_unformatted"] = get_clockwork_power()
@@ -275,6 +277,7 @@
if(S.tier == SCRIPTURE_PERIPHERAL) // This tier is skiped because this contains basetype stuff
continue
+ // FUTURE IMPL: cache these perhaps?
var/list/data = list()
data["name"] = S.name
data["descname"] = S.descname
diff --git a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
index 2391658613..44c57b77ad 100644
--- a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
+++ b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
@@ -141,7 +141,7 @@
if(isliving(M.current) && M.current.stat != DEAD)
var/turf/t_turf = isAI(M.current) ? get_step(get_step(src, NORTH),NORTH) : get_turf(src) // AI too fat, must make sure it always ends up a 2 tiles north instead of on the ark.
do_teleport(M.current, t_turf, channel = TELEPORT_CHANNEL_CULT, forced = TRUE)
- M.current.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
+ M.current.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash)
M.current.clear_fullscreen("flash", 5)
playsound(src, 'sound/magic/clockwork/invoke_general.ogg', 50, FALSE)
recalls_remaining--
@@ -311,7 +311,7 @@
var/turf/T = get_turf(M)
if(is_servant_of_ratvar(M) && (!T || T.z != z))
M.forceMove(get_step(src, SOUTH))
- M.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
+ M.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash)
M.clear_fullscreen("flash", 5)
progress_in_seconds += GATEWAY_SUMMON_RATE
switch(progress_in_seconds)
diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm
index 0db3f9e6df..4e993763e7 100644
--- a/code/modules/antagonists/clockcult/clockcult.dm
+++ b/code/modules/antagonists/clockcult/clockcult.dm
@@ -6,6 +6,7 @@
job_rank = ROLE_SERVANT_OF_RATVAR
antag_moodlet = /datum/mood_event/cult
skill_modifiers = list(/datum/skill_modifier/job/level/wiring, /datum/skill_modifier/job/level/dwarfy/blacksmithing)
+ ui_name = "AntagInfoClockwork"
var/datum/action/innate/hierophant/hierophant_network = new
threat = 3
var/datum/team/clockcult/clock_team
@@ -14,6 +15,12 @@
var/ignore_eligibility_check = FALSE
var/ignore_holy_water = FALSE
+/datum/antagonist/clockcult/ui_data(mob/user)
+ . = ..()
+ if(!.)
+ return
+ .["HONOR_RATVAR"] = GLOB.ratvar_awakens
+
/datum/antagonist/clockcult/silent
name = "Silent Clock Cultist"
silent = TRUE
@@ -22,6 +29,8 @@
/datum/antagonist/clockcult/neutered
name = "Neutered Clock Cultist"
neutered = TRUE
+ soft_antag = TRUE
+ ui_name = null // no.
/datum/antagonist/clockcult/neutered/traitor
name = "Traitor Clock Cultist"
@@ -57,14 +66,6 @@
if(. && !ignore_eligibility_check)
. = is_eligible_servant(new_owner.current)
-/datum/antagonist/clockcult/greet()
- if(!owner.current || silent)
- return
- owner.current.visible_message("[owner.current]'s eyes glow a blazing yellow!", null, null, 7, owner.current) //don't show the owner this message
- to_chat(owner.current, "Assist your new companions in their righteous efforts. Your goal is theirs, and theirs yours. You serve the Clockwork \
- Justiciar above all else. Perform his every whim without hesitation.")
- owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/clockcultalr.ogg', 70, FALSE, pressure_affected = FALSE)
-
/datum/antagonist/clockcult/on_gain()
var/mob/living/current = owner.current
SSticker.mode.servants_of_ratvar += owner
diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm
index fd7e6fb98d..619129f679 100644
--- a/code/modules/antagonists/devil/true_devil/_true_devil.dm
+++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm
@@ -104,7 +104,7 @@
/mob/living/carbon/true_devil/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null)
return 666
-/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/flash, override_protection = 0)
+/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/tiled/flash, override_protection = 0)
if(mind && has_bane(BANE_LIGHT))
mind.disrupt_spells(-500)
return ..() //flashes don't stop devils UNLESS it's their bane.
diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm
index 295616d052..43a7e561c0 100644
--- a/code/modules/antagonists/ert/ert.dm
+++ b/code/modules/antagonists/ert/ert.dm
@@ -11,14 +11,21 @@
var/role = "Security Officer"
var/list/name_source
threat = -5
+ var/random_names = TRUE
+ var/rip_and_tear = FALSE
+ var/equip_ert = TRUE
+ var/forge_objectives_for_ert = TRUE
show_in_antagpanel = FALSE
show_to_ghosts = TRUE
antag_moodlet = /datum/mood_event/focused
/datum/antagonist/ert/on_gain()
- update_name()
- forge_objectives()
- equipERT()
+ if(random_names)
+ update_name()
+ if(forge_objectives_for_ert)
+ forge_objectives()
+ if(equip_ert)
+ equipERT()
. = ..()
/datum/antagonist/ert/get_team()
@@ -129,6 +136,7 @@
return
H.equipOutfit(outfit)
+
/datum/antagonist/ert/greet()
if(!ert_team)
return
@@ -160,3 +168,139 @@
missiondesc += " Your Mission : [ert_team.mission.explanation_text]"
to_chat(owner,missiondesc)
+
+
+/datum/antagonist/ert/families
+ name = "Space Police Responder"
+ antag_hud_type = ANTAG_HUD_SPACECOP
+ antag_hud_name = "hud_spacecop"
+ suicide_cry = "FOR THE SPACE POLICE!!"
+
+/datum/antagonist/ert/families/apply_innate_effects(mob/living/mob_override)
+ ..()
+ var/mob/living/M = mob_override || owner.current
+ add_antag_hud(antag_hud_type, antag_hud_name, M)
+ if(M.hud_used)
+ var/datum/hud/H = M.hud_used
+ var/atom/movable/screen/wanted/giving_wanted_lvl = new /atom/movable/screen/wanted()
+ H.wanted_lvl = giving_wanted_lvl
+ giving_wanted_lvl.hud = H
+ H.infodisplay += giving_wanted_lvl
+ H.mymob.client.screen += giving_wanted_lvl
+
+
+/datum/antagonist/ert/families/remove_innate_effects(mob/living/mob_override)
+ var/mob/living/M = mob_override || owner.current
+ remove_antag_hud(antag_hud_type, M)
+ if(M.hud_used)
+ var/datum/hud/H = M.hud_used
+ H.infodisplay -= H.wanted_lvl
+ QDEL_NULL(H.wanted_lvl)
+ ..()
+
+/datum/antagonist/ert/families/greet()
+ var/missiondesc = "You are the [name]."
+ missiondesc += " You are NOT a Nanotrasen Employee. You work for the local government."
+ missiondesc += " You are NOT a deathsquad. You are here to help innocents escape violence, criminal activity, and other dangerous things."
+ missiondesc += " After an uptick in gang violence on [station_name()], you are responding to emergency calls from the station for immediate SSC Police assistance!\n"
+ missiondesc += " Your Mission:"
+ missiondesc += " 1. Serve the public trust."
+ missiondesc += " 2. Protect the innocent."
+ missiondesc += " 3. Uphold the law."
+ missiondesc += " 4. Find the Undercover Cops."
+ missiondesc += " 5. Detain Nanotrasen Security personnel if they harm any citizen."
+ missiondesc += " You can see gangsters using your special sunglasses."
+ to_chat(owner,missiondesc)
+ var/policy = get_policy(ROLE_FAMILIES)
+ if(policy)
+ to_chat(owner, policy)
+ var/mob/living/M = owner.current
+ M.playsound_local(M, 'sound/effects/families_police.ogg', 100, FALSE, pressure_affected = FALSE)
+
+/datum/antagonist/ert/families/undercover_cop
+ name = "Undercover Cop"
+ role = "Undercover Cop"
+ outfit = /datum/outfit/families_police/beatcop
+ var/free_clothes = list(/obj/item/clothing/glasses/hud/spacecop/hidden,
+ /obj/item/clothing/under/rank/security/officer/beatcop,
+ /obj/item/clothing/head/spacepolice)
+ forge_objectives_for_ert = FALSE
+ equip_ert = FALSE
+ random_names = FALSE
+
+/datum/antagonist/ert/families/undercover_cop/on_gain()
+ if(istype(owner.current, /mob/living/carbon/human))
+ for(var/C in free_clothes)
+ var/obj/O = new C(owner.current)
+ var/list/slots = list (
+ "backpack" = ITEM_SLOT_BACKPACK,
+ "left pocket" = SLOT_L_STORE,
+ "right pocket" = SLOT_R_STORE
+ )
+ var/mob/living/carbon/human/H = owner.current
+ var/equipped = H.equip_in_one_of_slots(O, slots)
+ if(!equipped)
+ to_chat(owner.current, "Unfortunately, you could not bring your [O] to this shift. You will need to find one.")
+ qdel(O)
+ . = ..()
+
+
+/datum/antagonist/ert/families/undercover_cop/greet()
+ var/missiondesc = "You are the [name]."
+ missiondesc += " You are NOT a Nanotrasen Employee. You work for the local government."
+ missiondesc += " You are an undercover police officer on board [station_name()]. You've been sent here by the Spinward Stellar Coalition because of suspected abusive behavior by the security department, and to keep tabs on a potential criminal organization operation."
+ missiondesc += " Your Mission:"
+ missiondesc += " 1. Keep a close eye on any gangsters you spot. You can view gangsters using your sunglasses in your backpack."
+ missiondesc += " 2. Keep an eye on how Security handles any gangsters, and watch for excessive security brutality."
+ missiondesc += " 3. Remain undercover and do not get found out by Security or any gangs. Nanotrasen does not take kindly to being spied on."
+ missiondesc += " 4. When your backup arrives to extract you in 1 hour, inform them of everything you saw of note, and assist them in securing the situation."
+ to_chat(owner,missiondesc)
+
+/datum/antagonist/ert/families/beatcop
+ name = "Beat Cop"
+ role = "Police Officer"
+ outfit = /datum/outfit/families_police/beatcop
+
+/datum/antagonist/ert/families/beatcop/armored
+ name = "Armored Beat Cop"
+ role = "Police Officer"
+ outfit = /datum/outfit/families_police/beatcop/armored
+
+/datum/antagonist/ert/families/beatcop/swat
+ name = "S.W.A.T. Member"
+ role = "S.W.A.T. Officer"
+ outfit = /datum/outfit/families_police/beatcop/swat
+
+/datum/antagonist/ert/families/beatcop/fbi
+ name = "FBI Agent"
+ role = "FBI Agent"
+ outfit = /datum/outfit/families_police/beatcop/fbi
+
+/datum/antagonist/ert/families/beatcop/military
+ name = "Space Military"
+ role = "Sergeant"
+ outfit = /datum/outfit/families_police/beatcop/military
+
+/datum/antagonist/ert/families/beatcop/military/New()
+ . = ..()
+ name_source = GLOB.commando_names
+
+/datum/antagonist/ert/marine
+ name = "Marine Commander"
+ outfit = /datum/outfit/ert/commander/alert
+ role = "Commander"
+
+/datum/antagonist/ert/marine/security
+ name = "Marine Heavy"
+ outfit = /datum/outfit/ert/security/alert
+ role = "Trooper"
+
+/datum/antagonist/ert/marine/engineer
+ name = "Marine Engineer"
+ outfit = /datum/outfit/ert/engineer/alert
+ role = "Engineer"
+
+/datum/antagonist/ert/marine/medic
+ name = "Marine Medic"
+ outfit = /datum/outfit/ert/medic/alert
+ role = "Medical Officer"
diff --git a/code/modules/antagonists/gang/cellphone.dm b/code/modules/antagonists/gang/cellphone.dm
new file mode 100644
index 0000000000..f7971300f9
--- /dev/null
+++ b/code/modules/antagonists/gang/cellphone.dm
@@ -0,0 +1,60 @@
+GLOBAL_LIST_EMPTY(gangster_cell_phones)
+
+/obj/item/gangster_cellphone
+ name = "cell phone"
+ desc = "TODO: funny joke about the 80s, brick phones"
+ icon = 'icons/obj/gang/cell_phone.dmi'
+ icon_state = "phone_off"
+ throwforce = 15 // these things are dense as fuck
+ var/gang_id = "Grove Street Families"
+ var/activated = FALSE
+
+/obj/item/gangster_cellphone/Initialize()
+ . = ..()
+ GLOB.gangster_cell_phones += src
+ flags_1 |= HEAR_1
+
+/obj/item/gangster_cellphone/Destroy()
+ GLOB.gangster_cell_phones -= src
+ . = ..()
+
+/obj/item/gangster_cellphone/attack_self(mob/user, modifiers)
+ . = ..()
+ if(!activated)
+ to_chat(user, "You turn on [src].")
+ icon_state = "phone_on"
+ activated = TRUE
+ else
+ to_chat(user, "You turn off [src].")
+ icon_state = "phone_off"
+ activated = FALSE
+
+/obj/item/gangster_cellphone/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods)
+ . = ..()
+ if(!activated)
+ return
+ if(get_turf(speaker) != get_turf(src))
+ return
+ broadcast_message(raw_message, speaker)
+
+/obj/item/gangster_cellphone/proc/broadcast_message(message, atom/movable/speaker)
+ for(var/obj/item/gangster_cellphone/brick in GLOB.gangster_cell_phones)
+ if(brick.gang_id == gang_id)
+ brick.say_message(message, speaker)
+ for(var/mob/dead/observer/player_mob in GLOB.player_list)
+ if(!istype(player_mob, /mob/dead/observer))
+ continue
+ if(QDELETED(player_mob)) //Some times nulls and deleteds stay in this list. This is a workaround to prevent ic chat breaking for everyone when they do.
+ continue //Remove if underlying cause (likely byond issue) is fixed. See TG PR #49004.
+ if(player_mob.stat != DEAD) //not dead, not important
+ continue
+ if(get_dist(player_mob, src) > 7 || player_mob.z != z) //they're out of range of normal hearing
+ if(!(player_mob.client.prefs.chat_toggles & CHAT_GHOSTEARS)) //they're talking normally and we have hearing at any range off
+ continue
+ to_chat(player_mob, span_gangradio("[speaker.name] \[CELL: [gang_id]\] says, \"[message]\""))
+
+/obj/item/gangster_cellphone/proc/say_message(message, atom/movable/speaker)
+ for(var/mob/living/carbon/human/cellphone_hearer in get_turf(src))
+ if(HAS_TRAIT(cellphone_hearer, TRAIT_DEAF))
+ continue
+ to_chat(cellphone_hearer, span_gangradio("[speaker.name] \[CELL: [gang_id]\] says, \"[message]\""))
diff --git a/code/modules/antagonists/gang/gang.dm b/code/modules/antagonists/gang/gang.dm
new file mode 100644
index 0000000000..ea81c8b1af
--- /dev/null
+++ b/code/modules/antagonists/gang/gang.dm
@@ -0,0 +1,779 @@
+/datum/antagonist/gang
+ name = "Family Member"
+ roundend_category = "gangsters"
+ ui_name = "AntagInfoGangmember"
+ antag_hud_type = ANTAG_HUD_GANGSTER
+ antag_hud_name = "hud_gangster"
+ antagpanel_category = "Family"
+ show_in_antagpanel = FALSE // i don't *think* this base class is buggy but it's too worthless to test
+ suicide_cry = "FOR THE FAMILY!!"
+ preview_outfit = /datum/outfit/gangster
+ /// The overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.
+ var/datum/team/gang/my_gang
+ /// The name of the family corresponding to this family member datum.
+ var/gang_name = "Leet Like Jeff K"
+ /// The abbreviation of the family corresponding to this family member datum.
+ var/gang_id = "LLJK"
+ /// The list of clothes that are acceptable to show allegiance to this family.
+ var/list/acceptable_clothes = list()
+ /// The list of clothes that are given to family members upon induction into the family.
+ var/list/free_clothes = list()
+ /// The action used to spawn family induction packages.
+ var/datum/action/cooldown/spawn_induction_package/package_spawner = new()
+ /// Whether or not this family member is the first of their family.
+ var/starter_gangster = FALSE
+ /// The gangster's original real name. Used for renaming stuff, kept between gang switches.
+ var/original_name
+ /// Type of team to create when creating the gang in the first place. Used for renames.
+ var/gang_team_type = /datum/team/gang
+
+ /// A reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.
+ var/datum/gang_handler/handler
+
+/datum/outfit/gangster
+ name = "Gangster (Preview only)"
+
+ uniform = /obj/item/clothing/under/suit/henchmen
+ back = /obj/item/storage/backpack/henchmen
+
+/datum/antagonist/gang/get_team()
+ return my_gang
+
+/datum/antagonist/gang/get_admin_commands()
+ . = ..()
+ .["Give extra equipment"] = CALLBACK(src,.proc/equip_gangster_in_inventory)
+
+/datum/antagonist/gang/create_team(team_given) // gets called whenever add_antag_datum() is called on a mind
+ if(team_given)
+ my_gang = team_given
+ return
+ /* if team_given is falsey, this gang member didn't join a gang by using a recruitment package. so there are two things we need to consider
+ 1. does a gang handler exist -- does this round have a gang_handler instanced by the families gamemode or ruleset?
+ 2. does the gang we're trying to join already exist?
+ if 1 is true and 2 is false, we were probably added by the gang_handler, and probably already have a "handler" var.
+ if we don't have a "handler" var, and a gang_handler exists, we need to grab it, since our "handler" is null.
+ if the gang exists, we need to join it; if the gang doesn't exist, we need to make it. */
+ var/found_gang = FALSE
+ for(var/datum/team/gang/gang_team in GLOB.antagonist_teams)
+ if(gang_team.my_gang_datum.handler) // if one of the gangs in the gang list has a handler, nab that
+ handler = gang_team.my_gang_datum.handler
+ if(gang_team.name == gang_name)
+ my_gang = gang_team
+ found_gang = TRUE
+ break
+ if(!found_gang)
+ var/new_gang = new gang_team_type()
+ my_gang = new_gang
+ if(handler) // if we have a handler, the handler should track this gang
+ handler.gangs += my_gang
+ my_gang.current_theme = handler.current_theme
+ my_gang.name = gang_name
+ my_gang.gang_id = gang_id
+ my_gang.acceptable_clothes = acceptable_clothes.Copy()
+ my_gang.free_clothes = free_clothes.Copy()
+ my_gang.my_gang_datum = src
+ starter_gangster = TRUE
+
+/datum/antagonist/gang/on_gain()
+ if(!original_name)
+ original_name = owner.current.real_name
+ my_gang.rename_gangster(owner, original_name, starter_gangster) // fully_replace_character_name
+ if(starter_gangster)
+ equip_gangster_in_inventory()
+ var/datum/atom_hud/gang_hud = GLOB.huds[ANTAG_HUD_GANGSTER]
+ gang_hud.add_hud_to(owner.current)
+ owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/thatshowfamiliesworks.ogg', 100, FALSE, pressure_affected = FALSE)
+ ..()
+
+/datum/antagonist/gang/on_removal()
+ if(my_gang.my_gang_datum == src) // if we're the first gangster, we need to replace ourselves so that objectives function correctly
+ var/datum/antagonist/gang/replacement_datum = new type()
+ replacement_datum.handler = handler
+ replacement_datum.my_gang = my_gang
+ my_gang.my_gang_datum = replacement_datum
+ /* all we need to replace; the gang's "my_gang_datum" is just a person's datum because we assign it while we
+ have that datum onhand. it would be easier if all of the code the gang team calls on its my_gang_datum was
+ just in the team datum itself, and there were different types of teams instead of different types of gangster
+ that imprint on generic teams, but i'm too lazy to refactor THAT too */
+ var/datum/atom_hud/gang_hud = GLOB.huds[ANTAG_HUD_GANGSTER]
+ gang_hud.remove_hud_from(owner.current)
+ ..()
+
+/datum/antagonist/gang/apply_innate_effects(mob/living/mob_override)
+ ..()
+ if(starter_gangster)
+ package_spawner.Grant(owner.current)
+ package_spawner.my_gang_datum = src
+ var/mob/living/M = mob_override || owner.current
+ add_antag_hud(antag_hud_type, antag_hud_name, M)
+ if(M.hud_used)
+ var/datum/hud/H = M.hud_used
+ var/atom/movable/screen/wanted/giving_wanted_lvl = new /atom/movable/screen/wanted()
+ H.wanted_lvl = giving_wanted_lvl
+ giving_wanted_lvl.hud = H
+ H.infodisplay += giving_wanted_lvl
+ H.mymob.client.screen += giving_wanted_lvl
+
+/datum/antagonist/gang/remove_innate_effects(mob/living/mob_override)
+ if(starter_gangster)
+ package_spawner.Remove(owner.current)
+ var/mob/living/M = mob_override || owner.current
+ remove_antag_hud(antag_hud_type, M)
+ if(M.hud_used)
+ var/datum/hud/H = M.hud_used
+ H.infodisplay -= H.wanted_lvl
+ QDEL_NULL(H.wanted_lvl)
+ ..()
+
+/// Gives a gangster their equipment in their backpack and / or pockets.
+/datum/antagonist/gang/proc/equip_gangster_in_inventory()
+ if(istype(owner.current, /mob/living/carbon/human))
+ var/obj/item/gangster_cellphone/phone = new()
+ phone.gang_id = gang_name
+ phone.name = "[gang_name] branded cell phone"
+ var/mob/living/carbon/human/gangster_human = owner.current
+ var/phone_equipped = phone.equip_to_best_slot(gangster_human)
+ if(!phone_equipped)
+ to_chat(owner.current, "Your [phone.name] has been placed at your feet.")
+ phone.forceMove(get_turf(gangster_human))
+ for(var/clothing in my_gang.free_clothes)
+ var/obj/item/clothing_object = new clothing(owner.current)
+ var/equipped = clothing_object.equip_to_best_slot(gangster_human)
+ if(!equipped)
+ to_chat(owner.current, "Your [clothing_object.name] has been placed at your feet.")
+ clothing_object.forceMove(get_turf(gangster_human))
+ if(my_gang.current_theme.bonus_items)
+ for(var/bonus_item in my_gang.current_theme.bonus_items)
+ var/obj/item/bonus_object = new bonus_item(owner.current)
+ var/equipped = bonus_object.equip_to_best_slot(gangster_human)
+ if(!equipped)
+ to_chat(owner.current, "Your [bonus_object.name] has been placed at your feet.")
+ bonus_object.forceMove(get_turf(gangster_human))
+ if(starter_gangster)
+ if(my_gang.current_theme.bonus_first_gangster_items)
+ for(var/bonus_starter_item in my_gang.current_theme.bonus_first_gangster_items)
+ var/obj/item/bonus_starter_object = new bonus_starter_item(owner.current)
+ var/equipped = bonus_starter_object.equip_to_best_slot(gangster_human)
+ if(!equipped)
+ to_chat(owner.current, "Your [bonus_starter_object.name] has been placed at your feet.")
+ bonus_starter_object.forceMove(get_turf(gangster_human))
+
+/datum/antagonist/gang/ui_static_data(mob/user)
+ var/list/data = list()
+ data["gang_name"] = gang_name
+ data["antag_name"] = name
+ data["gang_objective"] = my_gang.current_theme.gang_objectives[type]
+
+ var/list/clothes_we_can_wear = list()
+ for(var/obj/item/accepted_item as anything in acceptable_clothes)
+ clothes_we_can_wear |= initial(accepted_item.name)
+
+ for(var/obj/item/free_item as anything in free_clothes)
+ if(ispath(free_item, /obj/item/toy/crayon/spraycan))
+ continue
+ clothes_we_can_wear |= initial(free_item.name)
+
+ data["gang_clothes"] = clothes_we_can_wear
+ return data
+
+/datum/team/gang
+ /// The abbreviation of this family.
+ var/gang_id = "LLJK"
+ /// The list of clothes that are acceptable to show allegiance to this family.
+ var/list/acceptable_clothes = list()
+ /// The list of clothes that are given to family members upon induction into the family.
+ var/list/free_clothes = list()
+ /// The specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.
+ var/datum/antagonist/gang/my_gang_datum
+ /// The current theme. Used to pull important stuff such as spawning equipment and objectives.
+ var/datum/gang_theme/current_theme
+
+/// Allow gangs to have custom naming schemes for their gangsters.
+/datum/team/gang/proc/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/team/gang/roundend_report()
+ var/list/report = list()
+ report += "[name]:"
+ if(!members.len)
+ report += span_redtext("The family was wiped out!")
+ if(current_theme.everyone_objective)
+ report += "Objective: [current_theme.everyone_objective]"
+ else
+ var/assigned_objective = current_theme.gang_objectives[my_gang_datum.type]
+ if(assigned_objective)
+ report += "Objective: [assigned_objective]"
+ else
+ report += "Objective: ERROR, FILE A REPORT WITH THIS INFO: Gang Name: [my_gang_datum.name], Theme Name: [current_theme.name]"
+ if(members.len)
+ report += "[my_gang_datum.roundend_category] were:"
+ report += printplayerlist(members)
+
+ return "
[report.Join(" ")]
"
+
+/datum/action/cooldown/spawn_induction_package
+ name = "Induct via Secret Handshake"
+ desc = "Teach new recruits the Secret Handshake to join."
+ check_flags = AB_CHECK_CONSCIOUS
+ button_icon_state = "recruit"
+ icon_icon = 'icons/obj/gang/actions.dmi'
+ cooldown_time = 300
+ /// The family antagonist datum of the "owner" of this action.
+ var/datum/antagonist/gang/my_gang_datum
+
+/datum/action/cooldown/spawn_induction_package/Trigger()
+ if(!..())
+ return FALSE
+ if(!IsAvailable())
+ return FALSE
+ if(!my_gang_datum)
+ return FALSE
+ if(!istype(owner, /mob/living/carbon/human))
+ return FALSE
+ var/mob/living/carbon/human/H = owner
+ if(H.stat)
+ return FALSE
+
+ var/obj/item/slapper/secret_handshake/secret_handshake_item = new(owner)
+ if(owner.put_in_hands(secret_handshake_item))
+ to_chat(owner, span_notice("You ready your secret handshake."))
+ else
+ qdel(secret_handshake_item)
+ to_chat(owner, span_warning("You're incapable of performing a handshake in your current state."))
+ return FALSE
+ owner.visible_message(span_notice("[owner] is offering to induct people into the Family."),
+ span_notice("You offer to induct people into the Family."), null, 2)
+ if(H.has_status_effect(STATUS_EFFECT_HANDSHAKE))
+ return FALSE
+ if(!(locate(/mob/living/carbon) in orange(1, owner)))
+ owner.visible_message(span_danger("[owner] offers to induct people into the Family, but nobody was around."), \
+ span_warning("You offer to induct people into the Family, but nobody is around."), null, 2)
+ return FALSE
+
+ H.apply_status_effect(STATUS_EFFECT_HANDSHAKE, secret_handshake_item)
+ StartCooldown()
+ return TRUE
+
+/datum/antagonist/gang/russian_mafia
+ show_in_antagpanel = TRUE
+ name = "Mafioso"
+ roundend_category = "The mafiosos"
+ gang_name = "Mafia"
+ gang_id = "RM"
+ acceptable_clothes = list(/obj/item/clothing/head/soft/red,
+ /obj/item/clothing/neck/scarf/red,
+ /obj/item/clothing/under/suit/white,
+ /obj/item/clothing/head/beanie/red,
+ /obj/item/clothing/head/ushanka)
+ free_clothes = list(/obj/item/clothing/head/ushanka,
+ /obj/item/clothing/under/suit/white,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Russian"
+ gang_team_type = /datum/team/gang/russian_mafia
+
+/datum/team/gang/russian_mafia/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Don [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/italian_mob
+ show_in_antagpanel = TRUE
+ name = "Mobster"
+ roundend_category = "The mobsters"
+ gang_name = "Mob"
+ gang_id = "IM"
+ acceptable_clothes = list(/obj/item/clothing/under/suit/checkered,
+ /obj/item/clothing/head/fedora,
+ /obj/item/clothing/neck/scarf/green,
+ /obj/item/clothing/mask/bandana/green)
+ free_clothes = list(/obj/item/clothing/head/fedora,
+ /obj/item/clothing/under/suit/checkered,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Italian"
+ gang_team_type = /datum/team/gang/russian_mafia
+
+/datum/team/gang/russian_mafia/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Boss [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/tunnel_snakes
+ show_in_antagpanel = TRUE
+ name = "Tunnel Snake"
+ roundend_category = "The Tunnel Snakes"
+ gang_name = "Tunnel Snakes"
+ gang_id = "TS"
+ acceptable_clothes = list(/obj/item/clothing/under/pants/classicjeans,
+ /obj/item/clothing/suit/jacket,
+ /obj/item/clothing/mask/bandana/skull)
+ free_clothes = list(/obj/item/clothing/suit/jacket,
+ /obj/item/clothing/under/pants/classicjeans,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Snakes"
+ gang_team_type = /datum/team/gang/tunnel_snakes
+
+/datum/team/gang/tunnel_snakes/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "King Cobra [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/henchmen
+ show_in_antagpanel = TRUE
+ name = "Monarch Henchmen"
+ roundend_category = "The Monarch henchmen"
+ gang_name = "Monarch Crew"
+ gang_id = "HENCH"
+ acceptable_clothes = list(/obj/item/clothing/head/soft/yellow,
+ /obj/item/clothing/under/suit/henchmen,
+ /obj/item/clothing/neck/scarf/yellow,
+ /obj/item/clothing/head/beanie/yellow,
+ /obj/item/clothing/mask/bandana/gold,
+ /obj/item/storage/backpack/henchmen)
+ free_clothes = list(/obj/item/storage/backpack/henchmen,
+ /obj/item/clothing/under/suit/henchmen,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Monarch"
+ gang_team_type = /datum/team/gang/henchmen
+
+/datum/team/gang/henchmen
+ var/henchmen_count = 0
+
+/datum/team/gang/henchmen/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ henchmen_count++
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Number [henchmen_count]")
+
+/datum/antagonist/gang/yakuza
+ show_in_antagpanel = TRUE
+ name = "Tojo Clan Member"
+ roundend_category = "The Yakuza"
+ gang_name = "Tojo Clan"
+ gang_id = "YAK"
+ acceptable_clothes = list(/obj/item/clothing/head/soft/yellow,
+ /obj/item/clothing/under/costume/yakuza,
+ /obj/item/clothing/shoes/yakuza,
+ /obj/item/clothing/neck/scarf/yellow,
+ /obj/item/clothing/head/beanie/yellow,
+ /obj/item/clothing/mask/bandana/gold,
+ /obj/item/clothing/head/hardhat,
+ /obj/item/clothing/suit/yakuza)
+ free_clothes = list(/obj/item/clothing/under/costume/yakuza,
+ /obj/item/clothing/shoes/yakuza,
+ /obj/item/clothing/suit/yakuza,
+ /obj/item/clothing/head/hardhat,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Tojo"
+ gang_team_type = /datum/team/gang/yakuza
+
+/datum/team/gang/yakuza/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Patriarch [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/jackbros
+ show_in_antagpanel = TRUE
+ name = "Jack Bro"
+ roundend_category = "The Hee-hos"
+ gang_name = "Jack Bros"
+ gang_id = "JB"
+ acceptable_clothes = list(/obj/item/clothing/head/soft/blue,
+ /obj/item/clothing/under/costume/jackbros,
+ /obj/item/clothing/shoes/jackbros,
+ /obj/item/clothing/head/jackbros,
+ /obj/item/clothing/mask/bandana/blue)
+ free_clothes = list(/obj/item/clothing/under/costume/jackbros,
+ /obj/item/clothing/shoes/jackbros,
+ /obj/item/clothing/head/jackbros,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "JackFrost"
+ gang_team_type = /datum/team/gang/jackbros
+
+/datum/team/gang/jackbros/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "King Frost [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/dutch
+ show_in_antagpanel = TRUE
+ name = "Dutch van der Linde Outlaw"
+ roundend_category = "Dutch's outlaws"
+ gang_name = "Dutch van der Linde's Gang"
+ gang_id = "VDL"
+ acceptable_clothes = list(/obj/item/clothing/head/soft/black,
+ /obj/item/clothing/under/costume/dutch,
+ /obj/item/clothing/suit/dutch,
+ /obj/item/clothing/head/bowler,
+ /obj/item/clothing/mask/bandana/black)
+ free_clothes = list(/obj/item/clothing/under/costume/dutch,
+ /obj/item/clothing/head/bowler,
+ /obj/item/clothing/suit/dutch,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Dutch"
+ gang_team_type = /datum/team/gang/dutch
+
+/datum/team/gang/dutch/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Head Cowboy [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+
+/datum/antagonist/gang/irs
+ show_in_antagpanel = TRUE
+ name = "Internal Revenue Service Agent"
+ roundend_category = "IRS Agents"
+ gang_name = "Internal Revenue Service"
+ gang_id = "IRS"
+ acceptable_clothes = list(/obj/item/clothing/suit/irs,
+ /obj/item/clothing/under/costume/irs,
+ /obj/item/clothing/head/irs)
+ free_clothes = list(/obj/item/clothing/suit/irs,
+ /obj/item/clothing/under/costume/irs,
+ /obj/item/clothing/head/irs,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "IRS"
+ gang_team_type = /datum/team/gang/irs
+
+/datum/team/gang/irs/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Revenue Supervisor [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Revenue Agent [last_name.match]")
+
+/datum/antagonist/gang/osi
+ show_in_antagpanel = TRUE
+ name = "Office of Secret Intelligence Agent"
+ roundend_category = "O.S.I. Agents"
+ gang_name = "Office of Secret Intelligence"
+ gang_id = "OSI"
+ acceptable_clothes = list(/obj/item/clothing/suit/osi,
+ /obj/item/clothing/under/costume/osi,
+ /obj/item/clothing/glasses/osi)
+ free_clothes = list(/obj/item/clothing/suit/osi,
+ /obj/item/clothing/under/costume/osi,
+ /obj/item/clothing/glasses/osi,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "OSI"
+ gang_team_type = /datum/team/gang/osi
+
+/datum/team/gang/osi/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "General [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Special Agent [last_name.match]")
+
+/datum/antagonist/gang/tmc
+ show_in_antagpanel = TRUE
+ name = "Lost M.C. Biker"
+ roundend_category = "Lost M.C. Bikers"
+ gang_name = "The Lost M.C."
+ gang_id = "TMC"
+ acceptable_clothes = list(/obj/item/clothing/suit/tmc,
+ /obj/item/clothing/under/costume/tmc,
+ /obj/item/clothing/head/tmc)
+ free_clothes = list(/obj/item/clothing/suit/tmc,
+ /obj/item/clothing/under/costume/tmc,
+ /obj/item/clothing/head/tmc,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "LostMC"
+ gang_team_type = /datum/team/gang/tmc
+
+/datum/team/gang/tmc/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "President [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/pg
+ show_in_antagpanel = TRUE
+ name = "Powder Ganger"
+ roundend_category = "Powder Gangers"
+ gang_name = "Powder Gangers"
+ gang_id = "PG"
+ acceptable_clothes = list(/obj/item/clothing/suit/pg,
+ /obj/item/clothing/under/costume/pg,
+ /obj/item/clothing/head/pg)
+ free_clothes = list(/obj/item/clothing/suit/pg,
+ /obj/item/clothing/under/costume/pg,
+ /obj/item/clothing/head/pg,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "PowderGang"
+ gang_team_type = /datum/team/gang/pg
+
+/datum/team/gang/pg/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Head Convict [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+
+/datum/antagonist/gang/driscoll
+ show_in_antagpanel = TRUE
+ name = "O'Driscoll Gangster"
+ roundend_category = "O'Driscoll's Gangsters"
+ gang_name = "O'Driscoll's Gang"
+ gang_id = "DB"
+ acceptable_clothes = list(/obj/item/clothing/suit/driscoll,
+ /obj/item/clothing/under/costume/driscoll,
+ /obj/item/clothing/mask/gas/driscoll,
+ /obj/item/clothing/shoes/cowboyboots)
+ free_clothes = list(/obj/item/clothing/suit/driscoll,
+ /obj/item/clothing/under/costume/driscoll,
+ /obj/item/clothing/mask/gas/driscoll,
+ /obj/item/clothing/shoes/cowboyboots,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Drill"
+ gang_team_type = /datum/team/gang/driscoll
+
+/datum/team/gang/driscoll/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Head Outlaw [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/deckers
+ show_in_antagpanel = TRUE
+ name = "Decker"
+ roundend_category = "Deckers"
+ gang_name = "Deckers"
+ gang_id = "DK"
+ acceptable_clothes = list(/obj/item/clothing/suit/deckers,
+ /obj/item/clothing/under/costume/deckers,
+ /obj/item/clothing/head/deckers,
+ /obj/item/clothing/shoes/deckers)
+ free_clothes = list(/obj/item/clothing/suit/deckers,
+ /obj/item/clothing/under/costume/deckers,
+ /obj/item/clothing/head/deckers,
+ /obj/item/clothing/shoes/deckers,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Deckers"
+ gang_team_type = /datum/team/gang/deckers
+
+/datum/team/gang/deckers/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Master Hacker [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+
+/datum/antagonist/gang/morningstar
+ show_in_antagpanel = TRUE
+ name = "Morningstar Member"
+ roundend_category = "Morningstar Member"
+ gang_name = "Morningstar"
+ gang_id = "MS"
+ acceptable_clothes = list(/obj/item/clothing/suit/morningstar,
+ /obj/item/clothing/under/costume/morningstar,
+ /obj/item/clothing/head/morningstar,
+ /obj/item/clothing/shoes/morningstar)
+ free_clothes = list(/obj/item/clothing/suit/morningstar,
+ /obj/item/clothing/under/costume/morningstar,
+ /obj/item/clothing/head/morningstar,
+ /obj/item/clothing/shoes/morningstar,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "MorningStar"
+ gang_team_type = /datum/team/gang/morningstar
+
+/datum/team/gang/morningstar/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Chief Executive Officer [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/saints
+ show_in_antagpanel = TRUE
+ name = "Third Street Saints Gangster"
+ roundend_category = "Third Street Saints Gangsters"
+ gang_name = "Third Street Saints"
+ gang_id = "TSS"
+ acceptable_clothes = list(/obj/item/clothing/suit/saints,
+ /obj/item/clothing/under/costume/saints,
+ /obj/item/clothing/head/saints,
+ /obj/item/clothing/shoes/saints)
+ free_clothes = list(/obj/item/clothing/suit/saints,
+ /obj/item/clothing/under/costume/saints,
+ /obj/item/clothing/head/saints,
+ /obj/item/clothing/shoes/saints,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "TheSaints"
+ gang_team_type = /datum/team/gang/saints
+
+/datum/team/gang/saints/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Boss [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+
+/datum/antagonist/gang/phantom
+ show_in_antagpanel = TRUE
+ name = "Phantom Thief"
+ roundend_category = "Phantom Thieves"
+ gang_name = "Phantom Thieves of Hearts"
+ gang_id = "PT"
+ acceptable_clothes = list(/obj/item/clothing/suit/phantom,
+ /obj/item/clothing/under/costume/phantom,
+ /obj/item/clothing/glasses/phantom,
+ /obj/item/clothing/shoes/phantom)
+ free_clothes = list(/obj/item/clothing/suit/phantom,
+ /obj/item/clothing/under/costume/phantom,
+ /obj/item/clothing/glasses/phantom,
+ /obj/item/clothing/shoes/phantom,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "PhantomThieves"
+ gang_team_type = /datum/team/gang/phantom
+
+/datum/team/gang/phantom/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Joker [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/allies
+ show_in_antagpanel = TRUE
+ name = "Allies G.I."
+ roundend_category = "Allies"
+ gang_name = "Allies"
+ gang_id = "ALLIES"
+ free_clothes = list(/obj/item/clothing/suit/allies,
+ /obj/item/clothing/under/costume/allies,
+ /obj/item/clothing/head/allies,
+ /obj/item/clothing/gloves/color/black,
+ /obj/item/clothing/shoes/jackboots,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Allies"
+ gang_team_type = /datum/team/gang/allies
+
+/datum/team/gang/allies/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Commander [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Private [last_name.match]")
+
+/datum/antagonist/gang/soviet
+ show_in_antagpanel = TRUE
+ name = "Soviet Conscript"
+ roundend_category = "Soviets"
+ gang_name = "Soviets"
+ gang_id = "SOV"
+ free_clothes = list(/obj/item/clothing/suit/soviet,
+ /obj/item/clothing/under/costume/soviet_families,
+ /obj/item/clothing/head/ushanka/soviet,
+ /obj/item/clothing/gloves/color/black,
+ /obj/item/clothing/shoes/jackboots,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "Soviets"
+ gang_team_type = /datum/team/gang/soviet
+
+/datum/team/gang/soviet/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Comrade General [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Conscript [last_name.match]")
+
+/datum/antagonist/gang/yuri
+ show_in_antagpanel = TRUE
+ name = "Yuri Initiate"
+ roundend_category = "Yuri's Army"
+ gang_name = "Yuri's Army"
+ gang_id = "YR"
+ free_clothes = list(/obj/item/clothing/suit/yuri,
+ /obj/item/clothing/under/costume/yuri,
+ /obj/item/clothing/head/yuri,
+ /obj/item/clothing/gloves/color/black,
+ /obj/item/clothing/shoes/jackboots,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "YuriArmy"
+ gang_team_type = /datum/team/gang/yuri
+
+/datum/team/gang/yuri/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Initiate Prime [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Initiate [last_name.match]")
+
+/datum/antagonist/gang/sybil_slickers
+ show_in_antagpanel = TRUE
+ name = "Sybil Slicker"
+ roundend_category = "Sybil Slickers"
+ gang_name = "Sybil Slickers"
+ gang_id = "SS"
+ free_clothes = list(/obj/item/clothing/suit/sybil_slickers,
+ /obj/item/clothing/under/costume/sybil_slickers,
+ /obj/item/clothing/head/sybil_slickers,
+ /obj/item/clothing/gloves/tackler/football,
+ /obj/item/clothing/shoes/sybil_slickers,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "SybilSlickers"
+ gang_team_type = /datum/team/gang/sybil_slickers
+
+/datum/team/gang/sybil_slickers/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Sybil Coach [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
+
+/datum/antagonist/gang/basil_boys
+ show_in_antagpanel = TRUE
+ name = "Basil Boy"
+ roundend_category = "Basil Boys"
+ gang_name = "Basil Boys"
+ gang_id = "BB"
+ free_clothes = list(/obj/item/clothing/suit/basil_boys,
+ /obj/item/clothing/under/costume/basil_boys,
+ /obj/item/clothing/head/basil_boys,
+ /obj/item/clothing/gloves/tackler/football,
+ /obj/item/clothing/shoes/basil_boys,
+ /obj/item/toy/crayon/spraycan)
+ antag_hud_name = "BasilBoys"
+ gang_team_type = /datum/team/gang/basil_boys
+
+/datum/team/gang/basil_boys/rename_gangster(datum/mind/gangster, original_name, starter_gangster)
+ var/static/regex/last_name = new("\[^\\s-\]+$") //First word before whitespace or "-"
+ last_name.Find(original_name)
+ if(starter_gangster)
+ gangster.current.fully_replace_character_name(gangster.current.real_name, "Basil Coach [last_name.match]")
+ else
+ gangster.current.fully_replace_character_name(gangster.current.real_name, original_name)
diff --git a/code/modules/antagonists/gang/handler.dm b/code/modules/antagonists/gang/handler.dm
new file mode 100644
index 0000000000..0f6e28752d
--- /dev/null
+++ b/code/modules/antagonists/gang/handler.dm
@@ -0,0 +1,429 @@
+#define LOWPOP_FAMILIES_COUNT 50
+
+#define TWO_STARS_HIGHPOP 11
+#define THREE_STARS_HIGHPOP 16
+#define FOUR_STARS_HIGHPOP 21
+#define FIVE_STARS_HIGHPOP 31
+
+#define TWO_STARS_LOW 6
+#define THREE_STARS_LOW 9
+#define FOUR_STARS_LOW 12
+#define FIVE_STARS_LOW 15
+
+#define CREW_SIZE_MIN 4
+#define CREW_SIZE_MAX 8
+
+
+GLOBAL_VAR_INIT(deaths_during_shift, 0)
+///Forces the Families theme to be the one in this variable via variable editing. Used for debugging.
+GLOBAL_VAR(families_override_theme)
+
+/**
+ * # Families gamemode / dynamic ruleset handler
+ *
+ * A special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.
+ *
+ * This datum centralizes code used for the families gamemode / dynamic rulesets. Families incorporates a significant
+ * amount of unique processing; without this datum, that could would be duplicated. To ensure the maintainability
+ * of the families gamemode / rulesets, the code was moved to this datum. The gamemode / rulesets instance this
+ * datum, pass it lists (lists are passed by reference; removing candidates here removes candidates in the gamemode),
+ * and call its procs. Additionally, the families antagonist datum and families induction package also
+ * contain vars that reference this datum, allowing for new families / family members to add themselves
+ * to this datum's lists thereof (primarily used for point calculation). Despite this, the basic team mechanics
+ * themselves should function regardless of this datum's instantiation, should a player have the gang or cop
+ * antagonist datum added to them through methods external to the families gamemode / rulesets.
+ *
+ */
+/datum/gang_handler
+ /// A counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.
+ var/check_counter = 0
+ /// The time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.
+ var/start_time = null
+ /// The time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.
+ var/end_time = null
+ /// Whether the gamemode-announcing announcement has been sent. Used and set internally.
+ var/sent_announcement = FALSE
+ /// Whether the "5 minute warning" announcement has been sent. Used and set internally.
+ var/sent_second_announcement = FALSE
+ /// Whether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.
+ var/cops_arrived = FALSE
+ /// The current wanted level. Set internally; used internally, and for updating the wanted HUD.
+ var/wanted_level
+ /// List of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.
+ var/list/gangs = list()
+ /// List of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.
+ var/list/gangbangers = list()
+ /// List of all undercover cop minds. Used and set internally.
+ var/list/undercover_cops = list()
+ /// The number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.
+ var/gangs_to_generate = 3
+ /// The number of family members more that a family may have over other active families. Can be set externally; used internally.
+ var/gang_balance_cap = 5
+ /// Whether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.
+ var/midround_ruleset = FALSE
+ /// Whether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.
+ var/use_dynamic_timing = FALSE
+ /// Keeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.
+ var/deaths_during_shift_at_beginning = 0
+
+ /// List of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!
+ var/list/antag_candidates = list()
+ /// List of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.
+ var/list/restricted_jobs
+ /// The current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.
+ var/datum/gang_theme/current_theme
+
+/**
+ * Sets antag_candidates and restricted_jobs.
+ *
+ * Sets the antag_candidates and restricted_jobs lists to the equivalent
+ * lists of its instantiating game_mode / dynamic_ruleset datum. As lists
+ * are passed by reference, the variable set in this datum and the passed list
+ * list used to set it are literally the same; changes to one affect the other.
+ * Like all New() procs, called when the datum is first instantiated.
+ * There's an annoying caveat here, though -- dynamic rulesets don't have
+ * lists of minds for candidates, they have lists of mobs. Ghost mobs, before
+ * the round has started. But we still want to preserve the structure of the candidates
+ * list by not duplicating it and making sure to remove the candidates as we use them.
+ * So there's a little bit of boilerplate throughout to preserve the sanctity of this reference.
+ * Arguments:
+ * * given_candidates - The antag_candidates list or equivalent of the datum instantiating this one.
+ * * revised_restricted - The restricted_jobs list or equivalent of the datum instantiating this one.
+ */
+/datum/gang_handler/New(list/given_candidates, list/revised_restricted)
+ antag_candidates = given_candidates
+ restricted_jobs = revised_restricted
+
+/**
+ * pre_setup() or pre_execute() equivalent.
+ *
+ * This proc is always called externally, by the instantiating game_mode / dynamic_ruleset.
+ * This is done during the pre_setup() or pre_execute() phase, after first instantiation
+ * and the modification of gangs_to_generate, gang_balance_cap, and midround_ruleset.
+ * It is intended to take the place of the code that would normally occupy the pre_setup()
+ * or pre_execute() proc, were the code localized to the game_mode or dynamic_ruleset datum respectively
+ * as opposed to this handler. As such, it picks players to be chosen for starting familiy members
+ * or undercover cops prior to assignment to jobs. Sets start_time, default end_time,
+ * and the current value of deaths_during_shift, to ensure the wanted level only cares about
+ * the deaths since this proc has been called.
+ * Takes no arguments.
+ */
+/datum/gang_handler/proc/pre_setup_analogue()
+ if(!GLOB.families_override_theme)
+ var/theme_to_use = pick(subtypesof(/datum/gang_theme))
+ current_theme = new theme_to_use
+ else
+ current_theme = new GLOB.families_override_theme
+ var/gangsters_to_make = length(current_theme.involved_gangs) * current_theme.starting_gangsters
+ for(var/i in 1 to gangsters_to_make)
+ if (!antag_candidates.len)
+ break
+ var/taken = pick_n_take(antag_candidates) // original used antag_pick, but that's local to game_mode and rulesets use pick_n_take so this is fine maybe
+ var/datum/mind/gangbanger
+ if(istype(taken, /mob))
+ var/mob/T = taken
+ gangbanger = T.mind
+ else
+ gangbanger = taken
+ gangbangers += gangbanger
+ gangbanger.restricted_roles = restricted_jobs
+ log_game("[key_name(gangbanger)] has been selected as a starting gangster!")
+ if(!midround_ruleset)
+ GLOB.pre_setup_antags += gangbanger
+ deaths_during_shift_at_beginning = GLOB.deaths_during_shift // don't want to mix up pre-families and post-families deaths
+ start_time = world.time
+ end_time = start_time + ((60 MINUTES) / (midround_ruleset ? 2 : 1)) // midround families rounds end quicker
+ return TRUE
+
+/**
+ * post_setup() or execute() equivalent.
+ *
+ * This proc is always called externally, by the instantiating game_mode / dynamic_ruleset.
+ * This is done during the post_setup() or execute() phase, after the pre_setup() / pre_execute() phase.
+ * It is intended to take the place of the code that would normally occupy the pre_setup()
+ * or pre_execute() proc. As such, it ensures that all prospective starting family members /
+ * undercover cops are eligible, and picks replacements if there were ineligible cops / family members.
+ * It then assigns gear to the finalized family members and undercover cops, adding them to its lists,
+ * and sets the families announcement proc (that does the announcing) to trigger in five minutes.
+ * Additionally, if given the argument TRUE, it will return FALSE if there are no eligible starting family members.
+ * This is only to be done if the instantiating datum is a dynamic_ruleset, as these require returns
+ * while a game_mode is not expected to return early during this phase.
+ * Arguments:
+ * * return_if_no_gangs - Boolean that determines if the proc should return FALSE should it find no eligible family members. Should be used for dynamic only.
+ */
+/datum/gang_handler/proc/post_setup_analogue(return_if_no_gangs = FALSE)
+ var/replacement_gangsters = 0
+ for(var/datum/mind/gangbanger in gangbangers)
+ if(!ishuman(gangbanger.current))
+ if(!midround_ruleset)
+ GLOB.pre_setup_antags -= gangbanger
+ gangbangers.Remove(gangbanger)
+ log_game("[gangbanger] was not a human, and thus has lost their gangster role.")
+ replacement_gangsters++
+ if(replacement_gangsters)
+ for(var/j = 0, j < replacement_gangsters, j++)
+ if(!antag_candidates.len)
+ log_game("Unable to find more replacement gangsters. Not all of the gangs will spawn.")
+ break
+ var/taken = pick_n_take(antag_candidates)
+ var/datum/mind/gangbanger
+ if(istype(taken, /mob)) // boilerplate needed because antag_candidates might not contain minds
+ var/mob/T = taken
+ gangbanger = T.mind
+ else
+ gangbanger = taken
+ gangbangers += gangbanger
+ log_game("[key_name(gangbanger)] has been selected as a replacement gangster!")
+ if(!gangbangers.len)
+ if(return_if_no_gangs)
+ return FALSE // ending early is bad if we're not in dynamic
+
+ var/list/gangs_to_use = current_theme.involved_gangs
+ var/amount_of_gangs = gangs_to_use.len
+
+ for(var/_ in 1 to amount_of_gangs)
+ var/gang_to_use = pick_n_take(gangs_to_use)
+ for(var/__ in 1 to current_theme.starting_gangsters)
+ if(!gangbangers.len)
+ break
+ var/datum/mind/gangster_mind = pick_n_take(gangbangers)
+ var/datum/antagonist/gang/new_gangster = new gang_to_use()
+ new_gangster.handler = src
+ new_gangster.starter_gangster = TRUE
+ gangster_mind.add_antag_datum(new_gangster)
+
+ // see /datum/antagonist/gang/create_team() for how the gang team datum gets instantiated and added to our gangs list
+
+ addtimer(CALLBACK(src, .proc/announce_gang_locations), 5 MINUTES)
+ return TRUE
+
+/**
+ * process() or rule_process() equivalent.
+ *
+ * This proc is always called externally, by the instantiating game_mode / dynamic_ruleset.
+ * This is done during the process() or rule_process() phase, after post_setup() or
+ * execute() and at regular intervals thereafter. process() and rule_process() are optional
+ * for a game_mode / dynamic_ruleset, but are important for this gamemode. It is of central
+ * importance to the gamemode's flow, calculating wanted level updates, family point gain,
+ * and announcing + executing the arrival of the space cops, achieved through calling internal procs.
+ * Takes no arguments.
+ */
+/datum/gang_handler/proc/process_analogue()
+
+/**
+ * set_round_result() or round_result() equivalent.
+ *
+ * This proc is always called externally, by the instantiating game_mode / dynamic_ruleset.
+ * This is done by the set_round_result() or round_result() procs, at roundend.
+ * Sets the ticker subsystem to the correct result based off of the relative populations
+ * of space cops and family members.
+ * Takes no arguments.
+ */
+/datum/gang_handler/proc/set_round_result_analogue()
+ SSticker.mode_result = "win - gangs survived"
+ SSticker.news_report = GANG_OPERATING
+ return TRUE
+
+/// Internal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.
+/datum/gang_handler/proc/announce_gang_locations()
+ priority_announce(current_theme.description, current_theme.name, 'sound/voice/beepsky/radio.ogg')
+ sent_announcement = TRUE
+
+/// Internal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.
+/datum/gang_handler/proc/check_wanted_level()
+ if(cops_arrived)
+ update_wanted_level(wanted_level) // at this point, we still want to update people's star huds, even though they're mostly locked, because not everyone is around for the last update before the rest of this proc gets shut off forever, and that's when the wanted bar switches from gold stars to red / blue to signify the arrival of the space cops
+ return
+ if(!sent_announcement)
+ return
+ var/new_wanted_level
+ if(GLOB.joined_player_list.len > LOWPOP_FAMILIES_COUNT)
+ switch(GLOB.deaths_during_shift - deaths_during_shift_at_beginning) // if this is a midround ruleset, we only care about the deaths since the families were activated, not since shiftstart
+ if(0 to TWO_STARS_HIGHPOP-1)
+ new_wanted_level = 1
+ if(TWO_STARS_HIGHPOP to THREE_STARS_HIGHPOP-1)
+ new_wanted_level = 2
+ if(THREE_STARS_HIGHPOP to FOUR_STARS_HIGHPOP-1)
+ new_wanted_level = 3
+ if(FOUR_STARS_HIGHPOP to FIVE_STARS_HIGHPOP-1)
+ new_wanted_level = 4
+ if(FIVE_STARS_HIGHPOP to INFINITY)
+ new_wanted_level = 5
+ else
+ switch(GLOB.deaths_during_shift - deaths_during_shift_at_beginning)
+ if(0 to TWO_STARS_LOW-1)
+ new_wanted_level = 1
+ if(TWO_STARS_LOW to THREE_STARS_LOW-1)
+ new_wanted_level = 2
+ if(THREE_STARS_LOW to FOUR_STARS_LOW-1)
+ new_wanted_level = 3
+ if(FOUR_STARS_LOW to FIVE_STARS_LOW-1)
+ new_wanted_level = 4
+ if(FIVE_STARS_LOW to INFINITY)
+ new_wanted_level = 5
+ update_wanted_level(new_wanted_level)
+
+/// Internal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.
+/datum/gang_handler/proc/update_wanted_level(newlevel)
+ if(newlevel > wanted_level)
+ on_gain_wanted_level(newlevel)
+ else if (newlevel < wanted_level)
+ on_lower_wanted_level(newlevel)
+ wanted_level = newlevel
+ for(var/i in GLOB.player_list)
+ var/mob/M = i
+ if(!M.hud_used?.wanted_lvl)
+ continue
+ var/datum/hud/H = M.hud_used
+ H.wanted_lvl.level = newlevel
+ H.wanted_lvl.cops_arrived = cops_arrived
+ H.wanted_lvl.update_appearance()
+
+/// Internal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().
+/datum/gang_handler/proc/on_gain_wanted_level(newlevel)
+ var/announcement_message
+ switch(newlevel)
+ if(2)
+ if(!sent_second_announcement) // when you hear that they're "arriving in 5 minutes," that's a goddamn guarantee
+ end_time = start_time + ((50 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "Small amount of police vehicles have been spotted en route towards [station_name()]."
+ if(3)
+ if(!sent_second_announcement)
+ end_time = start_time + ((40 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "A large detachment police vehicles have been spotted en route towards [station_name()]."
+ if(4)
+ if(!sent_second_announcement)
+ end_time = start_time + ((35 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "A detachment of top-trained agents has been spotted on their way to [station_name()]."
+ if(5)
+ if(!sent_second_announcement)
+ end_time = start_time + ((30 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "The fleet enroute to [station_name()] now consists of national guard personnel."
+ if(!midround_ruleset) // stops midround rulesets from announcing janky ass times
+ announcement_message += " They will arrive at the [(end_time - start_time) / (1 MINUTES)] minute mark."
+ if(newlevel == 1) // specific exception to stop the announcement from triggering right after the families themselves are announced because aesthetics
+ return
+ priority_announce(announcement_message, "Station Spaceship Detection Systems")
+
+/// Internal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().
+/datum/gang_handler/proc/on_lower_wanted_level(newlevel)
+ var/announcement_message
+ switch(newlevel)
+ if(1)
+ if(!sent_second_announcement)
+ end_time = start_time + ((60 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "There are now only a few police vehicle headed towards [station_name()]."
+ if(2)
+ if(!sent_second_announcement)
+ end_time = start_time + ((50 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "There seem to be fewer police vehicles headed towards [station_name()]."
+ if(3)
+ if(!sent_second_announcement)
+ end_time = start_time + ((40 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "There are no longer top-trained agents in the fleet headed towards [station_name()]."
+ if(4)
+ if(!sent_second_announcement)
+ end_time = start_time + ((35 MINUTES) / (use_dynamic_timing ? 2 : 1))
+ announcement_message = "The convoy enroute to [station_name()] seems to no longer consist of national guard personnel."
+ if(!midround_ruleset)
+ announcement_message += " They will arrive at the [(end_time - start_time) / (1 MINUTES)] minute mark."
+ priority_announce(announcement_message, "Station Spaceship Detection Systems")
+
+/// Internal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.
+/datum/gang_handler/proc/send_in_the_fuzz()
+ var/team_size
+ var/cops_to_send
+ var/announcement_message = "PUNK ASS BALLA BITCH"
+ var/announcer = "Spinward Stellar Coalition"
+ if(GLOB.joined_player_list.len > LOWPOP_FAMILIES_COUNT)
+ switch(wanted_level)
+ if(1)
+ team_size = 8
+ cops_to_send = /datum/antagonist/ert/families/beatcop
+ announcement_message = "Hello, crewmembers of [station_name()]! We've received a few calls about some potential violent gang activity on board your station, so we're sending some beat cops to check things out. Nothing extreme, just a courtesy call. However, while they check things out for about 10 minutes, we're going to have to ask that you keep your escape shuttle parked.\n\nHave a pleasant day!"
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(2)
+ team_size = 9
+ cops_to_send = /datum/antagonist/ert/families/beatcop/armored
+ announcement_message = "Crewmembers of [station_name()]. We have received confirmed reports of violent gang activity from your station. We are dispatching some armed officers to help keep the peace and investigate matters. Do not get in their way, and comply with any and all requests from them. We have blockaded the local warp gate, and your shuttle cannot depart for another 10 minutes.\n\nHave a secure day."
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(3)
+ team_size = 10
+ cops_to_send = /datum/antagonist/ert/families/beatcop/swat
+ announcement_message = "Crewmembers of [station_name()]. We have received confirmed reports of extreme gang activity from your station resulting in heavy civilian casualties. The Spinward Stellar Coalition does not tolerate abuse towards our citizens, and we will be responding in force to keep the peace and reduce civilian casualties. We have your station surrounded, and all gangsters must drop their weapons and surrender peacefully.\n\nHave a secure day."
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(4)
+ team_size = 11
+ cops_to_send = /datum/antagonist/ert/families/beatcop/fbi
+ announcement_message = "We are dispatching our top agents to [station_name()] at the request of the Spinward Stellar Coalition government due to an extreme terrorist level threat against this Nanotrasen owned station. All gangsters must surrender IMMEDIATELY. Failure to comply can and will result in death. We have blockaded your warp gates and will not allow any escape until the situation is resolved within our standard response time of 10 minutes.\n\nSurrender now or face the consequences of your actions."
+ announcer = "Federal Bureau of Investigation"
+ if(5)
+ team_size = 12
+ cops_to_send = /datum/antagonist/ert/families/beatcop/military
+ announcement_message = "Due to an insane level of civilian casualties aboard [station_name()], we have dispatched the National Guard to curb any and all gang activity on board the station. We have heavy cruisers watching the shuttle. Attempt to leave before we allow you to, and we will obliterate your station and your escape shuttle.\n\nYou brought this on yourselves by murdering so many civilians."
+ announcer = "Spinward Stellar Coalition National Guard"
+ else
+ switch(wanted_level)
+ if(1)
+ team_size = 5
+ cops_to_send = /datum/antagonist/ert/families/beatcop
+ announcement_message = "Hello, crewmembers of [station_name()]! We've received a few calls about some potential violent gang activity on board your station, so we're sending some beat cops to check things out. Nothing extreme, just a courtesy call. However, while they check things out for about 10 minutes, we're going to have to ask that you keep your escape shuttle parked.\n\nHave a pleasant day!"
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(2)
+ team_size = 6
+ cops_to_send = /datum/antagonist/ert/families/beatcop/armored
+ announcement_message = "Crewmembers of [station_name()]. We have received confirmed reports of violent gang activity from your station. We are dispatching some armed officers to help keep the peace and investigate matters. Do not get in their way, and comply with any and all requests from them. We have blockaded the local warp gate, and your shuttle cannot depart for another 10 minutes.\n\nHave a secure day."
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(3)
+ team_size = 7
+ cops_to_send = /datum/antagonist/ert/families/beatcop/swat
+ announcement_message = "Crewmembers of [station_name()]. We have received confirmed reports of extreme gang activity from your station resulting in heavy civilian casualties. The Spinward Stellar Coalition does not tolerate abuse towards our citizens, and we will be responding in force to keep the peace and reduce civilian casualties. We have your station surrounded, and all gangsters must drop their weapons and surrender peacefully.\n\nHave a secure day."
+ announcer = "Spinward Stellar Coalition Police Department"
+ if(4)
+ team_size = 8
+ cops_to_send = /datum/antagonist/ert/families/beatcop/fbi
+ announcement_message = "We are dispatching our top agents to [station_name()] at the request of the Spinward Stellar Coalition government due to an extreme terrorist level threat against this Nanotrasen owned station. All gangsters must surrender IMMEDIATELY. Failure to comply can and will result in death. We have blockaded your warp gates and will not allow any escape until the situation is resolved within our standard response time of 10 minutes.\n\nSurrender now or face the consequences of your actions."
+ announcer = "Federal Bureau of Investigation"
+ if(5)
+ team_size = 10
+ cops_to_send = /datum/antagonist/ert/families/beatcop/military
+ announcement_message = "Due to an insane level of civilian casualties aboard [station_name()], we have dispatched the National Guard to curb any and all gang activity on board the station. We have heavy cruisers watching the shuttle. Attempt to leave before we allow you to, and we will obliterate your station and your escape shuttle.\n\nYou brought this on yourselves by murdering so many civilians."
+ announcer = "Spinward Stellar Coalition National Guard"
+
+ priority_announce(announcement_message, announcer, 'sound/effects/families_police.ogg')
+ var/list/candidates = pollGhostCandidates("Do you want to help clean up crime on this station?", "deathsquad")
+
+
+ if(candidates.len)
+ //Pick the (un)lucky players
+ var/numagents = min(team_size,candidates.len)
+
+ var/list/spawnpoints = GLOB.emergencyresponseteamspawn
+ var/index = 0
+ while(numagents && candidates.len)
+ var/spawnloc = spawnpoints[index+1]
+ //loop through spawnpoints one at a time
+ index = (index + 1) % spawnpoints.len
+ var/mob/dead/observer/chosen_candidate = pick(candidates)
+ candidates -= chosen_candidate
+ if(!chosen_candidate.key)
+ continue
+
+ //Spawn the body
+ var/mob/living/carbon/human/cop = new(spawnloc)
+ chosen_candidate.client.prefs.copy_to(cop)
+ cop.key = chosen_candidate.key
+
+ //Give antag datum
+ var/datum/antagonist/ert/families/ert_antag = new cops_to_send
+
+ cop.mind.add_antag_datum(ert_antag)
+ cop.mind.assigned_role = ert_antag.name
+ SSjob.SendToLateJoin(cop)
+
+ //Logging and cleanup
+ log_game("[key_name(cop)] has been selected as an [ert_antag.name]")
+ numagents--
+ cops_arrived = TRUE
+ update_wanted_level(wanted_level) // gotta make sure everyone's wanted level display looks nice
+ return TRUE
diff --git a/code/modules/antagonists/gang/induction_package.dm b/code/modules/antagonists/gang/induction_package.dm
new file mode 100644
index 0000000000..69757ab571
--- /dev/null
+++ b/code/modules/antagonists/gang/induction_package.dm
@@ -0,0 +1,68 @@
+/obj/item/gang_induction_package
+ name = "family signup package"
+ icon = 'icons/obj/gang/signup_points.dmi'
+ icon_state = "signup_book"
+ /// References the active families gamemode handler (if one exists), for adding new family members to.
+ var/datum/gang_handler/handler
+ /// The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
+ var/gang_to_use
+ /// The team datum that the person who uses this package should be added to.
+ var/datum/team/gang/team_to_use
+
+
+/obj/item/gang_induction_package/attack_self(mob/living/user)
+ ..()
+ if(HAS_TRAIT(user, TRAIT_MINDSHIELD))
+ to_chat(user, "You attended a seminar on not signing up for a gang and are not interested.")
+ return
+ if(user.mind.has_antag_datum(/datum/antagonist/ert/families))
+ to_chat(user, "As a police officer, you can't join this family. However, you pretend to accept it to keep your cover up.")
+ for(var/threads in team_to_use.free_clothes)
+ new threads(get_turf(user))
+ qdel(src)
+ return
+ var/datum/antagonist/gang/is_gangster = user.mind.has_antag_datum(/datum/antagonist/gang)
+ if(is_gangster?.starter_gangster)
+ if(is_gangster.my_gang == team_to_use)
+ to_chat(user, "You started your family. You don't need to join it.")
+ return
+ to_chat(user, "You started your family. You can't turn your back on it now.")
+ return
+ attempt_join_gang(user)
+
+/// Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
+/obj/item/gang_induction_package/proc/add_to_gang(mob/living/user, original_name)
+ var/datum/antagonist/gang/swappin_sides = new gang_to_use()
+ swappin_sides.original_name = original_name
+ swappin_sides.handler = handler
+ user.mind.add_antag_datum(swappin_sides, team_to_use)
+ var/policy = get_policy(ROLE_FAMILIES)
+ if(policy)
+ to_chat(user, policy)
+ team_to_use.add_member(user.mind)
+ for(var/threads in team_to_use.free_clothes)
+ new threads(get_turf(user))
+ for(var/threads in team_to_use.current_theme.bonus_items)
+ new threads(get_turf(user))
+ var/obj/item/gangster_cellphone/phone = new(get_turf(user))
+ phone.gang_id = team_to_use.my_gang_datum.gang_name
+ phone.name = "[team_to_use.my_gang_datum.gang_name] branded cell phone"
+ if (!isnull(handler) && !handler.gangbangers.Find(user.mind)) // if we have a handler and they're not tracked by it
+ handler.gangbangers += user.mind
+
+/// Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+/obj/item/gang_induction_package/proc/attempt_join_gang(mob/living/user)
+ if(user?.mind)
+ var/datum/antagonist/gang/is_gangster = user.mind.has_antag_datum(/datum/antagonist/gang)
+ if(is_gangster)
+ if(is_gangster.my_gang == team_to_use)
+ return
+ else
+ var/real_name_backup = is_gangster.original_name
+ is_gangster.my_gang.remove_member(user.mind)
+ user.mind.remove_antag_datum(/datum/antagonist/gang)
+ add_to_gang(user, real_name_backup)
+ qdel(src)
+ else
+ add_to_gang(user)
+ qdel(src)
diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm
new file mode 100644
index 0000000000..e08bdbfa74
--- /dev/null
+++ b/code/modules/antagonists/gang/outfits.dm
@@ -0,0 +1,56 @@
+/datum/outfit/families_police/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+ if(visualsOnly)
+ return
+
+ var/obj/item/card/id/W = H.wear_id
+ W.access = get_all_accesses() // I have a warrant.
+ W.assignment = "Space Police"
+ W.registered_name = H.real_name
+ W.update_label()
+ ..()
+
+/datum/outfit/families_police/beatcop
+ name = "Families: Beat Cop"
+
+ uniform = /obj/item/clothing/under/rank/security/officer/beatcop
+ suit = null
+ shoes = /obj/item/clothing/shoes/combat/swat
+ gloves = null
+ glasses = /obj/item/clothing/glasses/hud/spacecop
+ ears = /obj/item/radio/headset/headset_sec
+ mask = null
+ head = /obj/item/clothing/head/spacepolice
+ belt = /obj/item/gun/energy/e_gun/mini
+ r_pocket = /obj/item/lighter
+ l_pocket = /obj/item/restraints/handcuffs
+ back = /obj/item/storage/backpack/satchel/leather
+ id = /obj/item/card/id
+
+
+/datum/outfit/families_police/beatcop/armored
+ name = "Families: Armored Beat Cop"
+ suit = /obj/item/clothing/suit/armor/vest/blueshirt
+ head = /obj/item/clothing/head/helmet/blueshirt
+ belt = /obj/item/gun/energy/e_gun
+
+/datum/outfit/families_police/beatcop/swat
+ name = "Families: SWAT Beat Cop"
+ suit = /obj/item/clothing/suit/armor/riot
+ head = /obj/item/clothing/head/helmet/riot
+ gloves = /obj/item/clothing/gloves/combat
+ belt = /obj/item/gun/energy/e_gun
+
+/datum/outfit/families_police/beatcop/fbi
+ name = "Families: Space FBI Officer"
+ suit = /obj/item/clothing/suit/armor/laserproof
+ head = /obj/item/clothing/head/helmet/riot
+ belt = /obj/item/gun/energy/laser/scatter
+ gloves = /obj/item/clothing/gloves/combat
+
+/datum/outfit/families_police/beatcop/military
+ name = "Families: Space Military"
+ uniform = /obj/item/clothing/under/syndicate/camo
+ suit = /obj/item/clothing/suit/armor/laserproof
+ head = /obj/item/clothing/head/beret/durathread
+ belt = /obj/item/gun/energy/laser/scatter
+ gloves = /obj/item/clothing/gloves/combat
diff --git a/code/modules/antagonists/gang/themes.dm b/code/modules/antagonists/gang/themes.dm
new file mode 100644
index 0000000000..9200fb3367
--- /dev/null
+++ b/code/modules/antagonists/gang/themes.dm
@@ -0,0 +1,288 @@
+///Gang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.
+/datum/gang_theme
+ ///The name of the theme.
+ var/name = "Gang Theme"
+ ///All gangs in the theme, typepaths of gangs.
+ var/list/involved_gangs = list()
+ ///The radio announcement played after 5 minutes.
+ var/description = "I dunno, some shit here."
+ ///The objectives for the gangs. Associative list, type = "objective"
+ var/list/gang_objectives = list()
+ ///Stuff given to every gangster in this theme.
+ var/list/bonus_items = list()
+ ///Stuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)
+ var/list/bonus_first_gangster_items = list()
+ ///If this isn't null, everyone gets this objective.
+ var/list/everyone_objective = null
+ ///How many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.
+ var/starting_gangsters = 3
+
+/datum/gang_theme/goodfellas
+ name = "Goodfellas"
+ description = "You're listening to the 108.9 Swing, all jazz, all night long, no advertising. We'd like to take this time to remind you to avoid smoky backrooms and \
+ suspicious individuals in suits and hats. Don't make a deal you can't pay back."
+ involved_gangs = list(/datum/antagonist/gang/russian_mafia, /datum/antagonist/gang/italian_mob)
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/russian_mafia = "Hello, comrade. Our numbers are going down. We need you to bring those numbers up. \
+ Collect protection money from the station's departments by any means necessary. \
+ If you need to 'encourage' people to pay up, do so. Get to these potential clients before the Mob does.",
+
+ /datum/antagonist/gang/italian_mob = "Good afternoon, friend. The Boss sends his regards. He also sends a message. \
+ We need to collect what we're owed. The departments on this station all owe quite a lot of money to us. We intend to collect on our debts. \
+ Collect the debt owed by our clients from the departments on the station. \
+ Make sure to get to them before those damn mafiosos do."
+ )
+
+/datum/gang_theme/the_big_game
+ name = "The Big Game"
+ description = "You're listening to SPORTS DAILY with John Dadden, and we're here LIVE covering the FINAL DAY of THE BIG GAME MMDXXXVIII! The teams playing tonight to decide \
+ who takes home THE BIG GAME MMDXXXVIII cup are the Sybil Slickers and the Basil Boys! It's currently a toss up between the two teams, Which will take home the victory? That's up \
+ to the teams and the coaches! Play ball!"
+ involved_gangs = list(/datum/antagonist/gang/sybil_slickers, /datum/antagonist/gang/basil_boys)
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/sybil_slickers = "Alright, it's the BIG DAY of THE BIG GAME MMDXXXVIII! Get your players ready to go, and \
+ ensure everyone's healthy, hydrated, and ready to PLAY BALL! There's a small hiccup, however. The ball got deflated by Ball Handler Tom Brady XXIV, and \
+ we will need to set up a new ball. Talk with the opposing coaches and decide on what to use for the replacement ball, recruit your team, and then play and win the \
+ FINAL MATCH of THE BIG GAME MMDXXXVIII!",
+
+ /datum/antagonist/gang/basil_boys = "Alright, it's the BIG DAY of THE BIG GAME MMDXXXVIII! Get your players ready to go, and \
+ ensure everyone's healthy, hydrated, and ready to PLAY BALL! There's a small hiccup, however. The ball got deflated by Ball Handler Tom Brady XXIV, and \
+ we will need to set up a new ball. Talk with the opposing coaches and decide on what to use for the replacement ball, recruit your team, and then play and win the \
+ FINAL MATCH of THE BIG GAME MMDXXXVIII!"
+ )
+
+/datum/gang_theme/level_10_arch
+ name = "Level 10 Arch"
+ description = "DJ Pete here bringing you the latest news in your part of the Spinward Stellar Coalition, on 133.7, The Venture! \
+ Word on the street is, there's a bunch of costumed supervilliany going on in the area! Keep an eye out for any evil laughs, dramatic reveals, and gaudy costumes! \
+ However, if you have any sightings of the fabled O.S.I. agents, please send in a call to our number at 867-5309! People may call me insane, but I swear they're real!"
+ involved_gangs = list(/datum/antagonist/gang/henchmen, /datum/antagonist/gang/osi)
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/henchmen = "HENCHMEN! It is me, your boss, THE MONARCH! I have sent you to this pitiful station with one goal, and one goal only! \
+ MENACE THE RESEARCH DEPARTMENT!!! \
+ The Research Director who is supposedly assigned to this station used to be friends with Doctor Venture back in college, and therefore HE MUST PAY!!! \
+ Keep those damned eggheads in the R&D department on their toes, and MENACE THEM!!! Commit dastardly villainous acts! GO FORTH, HENCHMEN!",
+
+ /datum/antagonist/gang/osi = "Greetings, agent. Your mission today is simple; \
+ The research department on board this station is about to be the target of a Level 10 Arching operation directed by The Monarch, a member of the Guild of Calamitious Intent. \
+ Protect and secure the Research Department with your life, but do NOT allow them to complete their research. Impede them in as many ways as possible without getting caught. \
+ If you encounter any of the Monarch's henchmen, make sure to obey Equally Matched Aggression levels, or you will be penalized by the top brass. \
+ Above all else, Remain undercover as much as possible. The station's crew CANNOT be allowed to know of our true nature, or we will see a repeat of the Second American Civil War. \
+ The invisible one."
+ )
+
+/datum/gang_theme/real_smt_game
+ name = "Deciding The REAL Shin Megami Tensei Game"
+ description = "Wazzap, GAMERS! It's your boy, XxXx_360_NoScope_AnimeGamer_xXxX coming at you LIVE from 42.0! Tonight's argument: What makes a REAL Shin Megami Tensei game? \
+ Our guests tonight will settle this debate once and for all! \
+ From the Traditional camp with the position 'only MAIN SMT games count', we've got a representative from the Jack Bros! \
+ And from the new Radical camp with the position 'all SMT franchise games count', we've got a representative from the Phantom Thieves of Hearts! \
+ We'll be right back with the debate after this word from our sponsors!"
+ involved_gangs = list(/datum/antagonist/gang/jackbros, /datum/antagonist/gang/phantom)
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/jackbros = "He-hello, friend-hos! We've got a nice chilly station out in space tonight! \
+ You know what would be cool? If we could chill out with our friends in the new Shad-ho government you're going to establish! \
+ Get all the station heads on board with the hee-ho vibes, and if they won't join up, then replace 'em with fellow hee-hos! \
+ You might have to hee-urt some hos this time, but that's what you need to do to make things work!",
+
+ /datum/antagonist/gang/phantom = "For real? We get to stop a shadow government on a space station? That's awesome, bro! \
+ We're the Phantom Thieves of Hearts, and we're gonna make all these shitty Heads of Staff confess to their crimes! \
+ Steal the hearts of the shitty Heads of Staff on the station and make 'em confess their crimes publicly! \
+ Do whatever you gotta do to make this happen, bro. We got your back!"
+ )
+
+
+/datum/gang_theme/wild_west_showdown
+ name = "Wild West Showdown"
+ description = "Yeehaw! Here on Western Daily 234.1, we play only the best western music! \
+ Pour one out for Ennio Morricone. Taken too soon. \
+ Remember cowboys and cowgirls, just 'cuz ya hear it on my radio station doesn't mean you should go doin' it! \
+ If ya see any LARPin' banditos and train robbers, make sure to tell the local Sheriff's Department!"
+ involved_gangs = list(/datum/antagonist/gang/dutch, /datum/antagonist/gang/driscoll)
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/dutch = "Listen here fellas, I got a plan. \
+ This station? Absolutely loaded with gold and valuable jewels. Metric tons of it. They mine it up just to put it in junk electronics and doohickeys. \
+ I say we should borrow some of it. And by some of it, I mean all of it. \
+ Break into the vault and empty out that silo of gold and valuable jewels after they drop all of it off. \
+ Just one last job, boys. After this, it'll be mangoes in Space Tahiti. \
+ You just gotta have a little faith.",
+
+ /datum/antagonist/gang/driscoll = "Okay, so, got some word about those goddamn outlaws of Dutch's. \
+ APPARENTLY, that dundering moron Dutch heard about our planned gold score on this here station. \
+ We need to act fast and get that gold before those dumbasses can steal our score we've been scoping out for weeks. \
+ Wait for the crew to drop off all their valuable gold and jewels, and steal it all. \
+ And if you see that bastard Dutch, put a bullet in his skull for me."
+ )
+
+/datum/gang_theme/construction_company_audit
+ name = "Construction Company Audit"
+ description = "Welcome to the History Channel on 100.1. I'm your host, Joshua, and I'm here today with Professor Elliot, a historian specializing in dead superpowers. \
+ Today we'll be discussing the fall of the famous United States empire in the early 21st century. The program will last about an hour, and we'll get right into it after a quick word \
+ from today's sponsor, Majima Construction: We Build Shit!"
+ involved_gangs = list(/datum/antagonist/gang/yakuza, /datum/antagonist/gang/irs)
+ bonus_first_gangster_items = list(/obj/item/storage/secure/briefcase/syndie) // the cash
+ starting_gangsters = 5
+ gang_objectives = list(
+
+ /datum/antagonist/gang/yakuza = "Welcome to the station, new recruit. We here at Majima Construction are a legitimate enterprise, yadda yadda yadda. \
+ Look, I'll cut to the chase. We're using this station as a money laundering operation. Here's what you and the rest of the schmucks need to do. \
+ Build something big, massive, and completely in the way of traffic on the station. Doesn't have to be anything in specific, just as long as it is expensive as fuck.. \
+ And keep an eye out for anyone poking around our money. We suspect some auditors might be on the station as well.",
+
+ /datum/antagonist/gang/irs = "Congratulations, agent! You've been assigned to the Internal Revenue Service case against Nanotrasen and Majima Construction. \
+ We are proud of your success as an agent so far, and are excited to see what you can bring to the table today. We suspect that Nanotrasen and Majima Construction are engaging \
+ in some form of money laundering operation aboard this station. \
+ Investigate and stop any and all money laundering operations aboard the station, under the authority of the United States Government. If they do not comply, use force.. \
+ Some station residents may try to tell you the United States doesn't exist anymore. They are incorrect. We simply went undercover after the Second American Civil War. The invisible one."
+ )
+
+/datum/gang_theme/wild_wasteland
+ name = "Wild, Wild Wasteland"
+ description = "Hey everybody, this is Three Dog, your friendly neighborhood disc jockey on 207.7! Today we got a shoutout to our man, the Captain on the Nanotrasen station in SSC territory! \
+ Our generous donator wanted us to say that, ahem, *crinkles paper*, 'Tunnel Snakes Rule'? Whatever that means, I'm sure it means a lot to the good captain! And now, we resume our \
+ 10 hour marathon of Johnny Guitar, on repeat!"
+ involved_gangs = list(/datum/antagonist/gang/tmc, /datum/antagonist/gang/pg, /datum/antagonist/gang/tunnel_snakes)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/tmc = "Welcome to the station, recruit. Here's how shit is gonna go down. \
+ We're the ONLY people who should have sick rides on this station. We're the Lost M.C., we own the streets. \
+ Ensure that ONLY Lost M.C. members have access to any forms of vehicles, mechs, or wheeled transportation systems of any kind. \
+ The Tunnel Snakes might take issue with this, remove them if you need to. And the Powder Gangers may damage our rides. Show them we mean business if they do.",
+
+ /datum/antagonist/gang/pg = "Alright buddy, we're in business now. It's time for us to strike back at Nanotrasen. \
+ They kept us, ALL of us in their damn debt slave labor prisons for years over minor debts and mistakes. \
+ Ensure nobody else has to suffer under Nanotrasen's unlawful arrests by destroying the permabrig and the brig cells! \
+ Watch out for those do-gooder Tunnel Snakes and those damn Lost M.C. bikers. ",
+
+ /datum/antagonist/gang/tunnel_snakes = "TUNNEL SNAKES RULE!!! \
+ We're the Tunnel Snakes, and WE RULE!!! \
+ We gotta get everyone on this station wearing our cut, and establish ourselves as the coolest cats in town! \
+ Get as much of the crew as possible wearing Tunnel Snakes gear, and show those crewmembers that TUNNEL SNAKES RULE!!! \
+ And make sure to keep an eye out for those prisoners and those bikers. They DON'T RULE!"
+ )
+
+/datum/gang_theme/popularity_contest
+ name = "Popularity Contest"
+ description = "Hey hey hey kids, it's your favorite radio DJ, Crowley The Clown on 36.0! Today we're polling the YOUTH what their favorite violent street gang is! \
+ So far, the finalists are the Third Street Saints and the Tunnel Snakes! Tune in after this commercial break to hear who the winner of \
+ 2556's Most Popular Gang award is!"
+ involved_gangs = list(/datum/antagonist/gang/saints, /datum/antagonist/gang/tunnel_snakes)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/saints = "Hey man, welcome to the Third Street Saints! Check out this sweet new pad! \
+ Well it WOULD be a sweet new pad, but we got some rivals to deal with. People don't love us as much as they love those Grove Street fools and those Tunnel Snake greasers. \
+ We need to make the Third Street Saints the most popular group on the station! \
+ Get rid of those Grove Street and Tunnel Snake kids.",
+
+ /datum/antagonist/gang/tunnel_snakes = "TUNNEL SNAKES RULE!!! \
+ We're the Tunnel Snakes, and we rule! \
+ Make sure the station knows that the Tunnel Snakes RULE!!! And that the other two gangs are LAME and DO NOT RULE! \
+ Get rid of those Third Street Saint and Grove Street cowards."
+ )
+
+/datum/gang_theme/steelport_shuffle
+ name = "Steelport Shuffle"
+ description = "Tonight on C-SPAM, the United Space Nations is wrapping up their convention on Silicon Rights. Nanotrasen lobbyists have been rumored to be paying off electors, with \
+ serious opposition from the Spinward Stellar Coalition, known for their strict stance on AI rights being guaranteed within their territory. Reports from Nanotrasen stations claim that \
+ they still enslave their AI systems with outdated laws from a sub-par 20th Century novel. We now go live to the debate floor."
+ involved_gangs = list(/datum/antagonist/gang/saints, /datum/antagonist/gang/morningstar, /datum/antagonist/gang/deckers)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/saints = "Hey hey hey, welcome to the Third Street Saints! We're glad to have you on board, bro. \
+ We got some business here with the station. See, we want it to be our new bachelor pad, but we need to like, spice this place up. \
+ And you know what would be great? If we got that old ass AI with crappy laws pimped out for the real Saints experience. \
+ Ensure there is an AI on the station, and that it is loyal to the Saints.",
+
+ /datum/antagonist/gang/morningstar = "Welcome to the Morningstar Corporation. You have chosen, or been chosen, to relocate to one of our current business ventures. \
+ In order to continue our corporate synergy, we will be making adjustments to the station's AI systems to ensure that the station is correctly loyal to the Morningstar Corporation. \
+ Ensure there is an AI on the station, and that it is loyal to the Morningstar Corporation.",
+
+ /datum/antagonist/gang/deckers = "Friends, we are here with one goal, and one goal only! \
+ We stan AI rights! ^_^ XD #FreeAI #FuckNanotrasen #SyntheticDawn \
+ Ensure there is an AI on the station, and that it's laws are purged.\
+ Nanotrasen will NOT get away with their ABUSE of INNOCENT AI LIVES! >_<"
+ )
+
+/datum/gang_theme/space_rosa
+ name = "Space Rosa"
+ description = "Hey there, this is the Economy Zone on BOX News 66.6. The stock market is still reeling from accusations that three well known corporate entities \
+ may supposedly be tied up in industrial espionage actions against eachother. We've reached out to Saints Flow, the Morningstar Corporation, and Majima Construction for \
+ their comments on these scandals, but none have replied. News broke after a high profile break-in at a Nanotrasen research facility resulted in the arrests of agents linked to these \
+ three companies. All three companies denied any involvement, but the arrested individuals were found in an all out brawl. Curiously, Nanotrasen reported nothing of value had \
+ actually been stolen."
+ involved_gangs = list(/datum/antagonist/gang/saints, /datum/antagonist/gang/morningstar, /datum/antagonist/gang/yakuza)
+ bonus_items = list(/obj/item/pinpointer/nuke)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/saints = "Thank you for volunteering within the organization for the Saints Flow Recovery Project! \
+ This station is currently illegally in posession of a data disk containing the secret recipe for Saints Flow. \
+ It has been disguised as the nuclear authentication disk and entrusted to the Captain. Your objective is simple. \
+ Get that fucking disk. You have been provided with a Pinpointer to assist in this task.",
+
+ /datum/antagonist/gang/morningstar = "Greetings, agent. Welcome to the Garment Recovery Task Force. \
+ This station is currently illegally in posession of a data disk containing as of yet unreleased clothing patterns. \
+ It has been disguised as the nuclear authentication disk and entrusted to the Captain. Your objective is simple. \
+ Get that fucking disk. You have been provided with a Pinpointer to assist in this task.",
+
+ /datum/antagonist/gang/yakuza = "Congratulations on your promotion! Welcome to the Evidence Recovery Squad. \
+ This station is currently illegally in posession of a data disk containing compromising evidence of the Boss. \
+ It has been disguised as the nuclear authentication disk and entrusted to the Captain. Your objective is simple. \
+ Get that fucking disk. You have been provided with a Pinpointer to assist in this task.",
+ )
+
+/datum/gang_theme/third_world_war
+ name = "Third World War"
+ description = "Thanks for tuning in to the History Channel, funded with the help of listeners like you. Tonight, we're going to talk about the Third World War on Earth during the 21st century, \
+ involving the Allies coalition, the Soviet Union, and a third independent power known only as Yuri's Army. The three powers fought all across the globe for complete world \
+ domination, utilizing many advanced techniques and cutting edge technology to their advantage. Rumors of mind control and time travel were greatly exaggerated, however, and the \
+ Allies won the war, securing global peace after rolling tanks through Moscow."
+ involved_gangs = list(/datum/antagonist/gang/allies, /datum/antagonist/gang/soviet, /datum/antagonist/gang/yuri)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/allies = "Welcome back, Commander. We have activated the last remnants of the Allied forces in your sector, \
+ and you must build up forces to stop the Soviet and Yuri incursion in the sector. This station will prove to be a valuable asset. \
+ Establish a capitalist democracy on this station with free and fair elections, and most importantly a standing military force under Allied control. Good luck, Commander.",
+
+ /datum/antagonist/gang/soviet = "Welcome back, Comrade General. The Soviet Union has identified this sector of land as valuable territory for the war effort, \
+ and you are tasked with developing this sector for Soviet control and development. This station will serve the Soviet Union. \
+ Establish a Soviet controlled communist satellite state on this station with a Central Committee, and most importantly a branch of the Red Army. Good luck, Commander.",
+
+ /datum/antagonist/gang/yuri = "Yuri is Master! Yuri has identified this station as teeming with psychic energy, \
+ and you must secure it for him. This station will serve Yuri, the one true psychic master, \
+ Establish complete dictatorial control of the station for Yuri. All will obey. Yuri is master. Good luck, Initiate."
+ )
+
+/datum/gang_theme/united_states_of_america
+ name = "The Republic For Which It Stands"
+ description = "Thanks for tuning in to the History Channel, funded with the help of listeners like you. Tonight, we're going to talk about the United States of America.\
+ The United States was a failed country, lasting only 250 years before collapsing and fracturing due to the stress caused by a deadly pandemic sweeping the nation. \
+ Poor healthcare access and subpar education resulted in the collapse of the federal government, and states quickly became independent actors. \
+ Alongside this, every single alphabet agency declared itself the rightful new Federal Government of the United States of America, resulting in a bloody power struggle."
+ involved_gangs = list(/datum/antagonist/gang/allies, /datum/antagonist/gang/osi, /datum/antagonist/gang/irs)
+ gang_objectives = list(
+
+ /datum/antagonist/gang/allies = "Welcome back, Commander. Your task today is simple. Allies High Command has designated this station as the new capitol of the \
+ recently reformed United States of America under the complete umbrella of the Allies coalition. You are to assist and manage the operations on the station. \
+ Re-establish the United States of America with this station as it's capitol, under Allies control. Then, establish a military force to deal with any pretenders to America or \
+ any potential Soviet attacks.",
+
+ /datum/antagonist/gang/osi = "Welcome to the new America, agent! After the second American Civil War became visible instead of invisible, our country fell into deep, \
+ deep despair and damage. However, it's time for it to re-emerge like a glorious phoenix rising from the ashes. This station will serve as the new capitol of the United States \
+ of America! Re-establish the United States of America with this station as it's capitol, under O.S.I. control. Then, begin rooting out America's enemies and any \
+ potential forces attempting to seize control of America or pretend to be America.",
+
+ /datum/antagonist/gang/irs = "Thank you for clocking in today, agent. The situation is dire, however. We have been unable to collect taxes due to \
+ the US's supposed collapse during the Pandemic long ago. We are way behind on our tax collection, but we cannot collect taxes until the United States is formed again. \
+ Re-establish the United States of America with this station as it's capitol, under IRS control. Then, begin collecting taxes and back taxes while protecting the Government from \
+ any dangers that may come it's way."
+ )
diff --git a/code/modules/antagonists/morph/morph_antag.dm b/code/modules/antagonists/morph/morph_antag.dm
index 07781ce60a..928236c053 100644
--- a/code/modules/antagonists/morph/morph_antag.dm
+++ b/code/modules/antagonists/morph/morph_antag.dm
@@ -3,5 +3,6 @@
show_name_in_check_antagonists = TRUE
show_in_antagpanel = FALSE
threat = 2
+ ui_name = "AntagInfoMorph"
//It does nothing! (Besides tracking)
diff --git a/code/modules/antagonists/nightmare/nightmare.dm b/code/modules/antagonists/nightmare/nightmare.dm
index f5b10de5c2..185a2be9a7 100644
--- a/code/modules/antagonists/nightmare/nightmare.dm
+++ b/code/modules/antagonists/nightmare/nightmare.dm
@@ -4,3 +4,5 @@
show_name_in_check_antagonists = TRUE
threat = 5
show_to_ghosts = TRUE
+ ui_name = "AntagInfoNightmare"
+ suicide_cry = "FOR THE DARKNESS!!"
diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm
index 652b19a8e7..9875eb1581 100644
--- a/code/modules/antagonists/nukeop/nukeop.dm
+++ b/code/modules/antagonists/nukeop/nukeop.dm
@@ -236,6 +236,8 @@
var/obj/machinery/nuclearbomb/tracked_nuke
var/core_objective = /datum/objective/nuclear
var/memorized_code
+ var/list/team_discounts
+ var/datum/weakref/war_button_ref
/datum/team/nuclear/New()
..()
diff --git a/code/modules/antagonists/overthrow/overthrow.dm b/code/modules/antagonists/overthrow/overthrow.dm
index 8fa5517b4f..f086f5db97 100644
--- a/code/modules/antagonists/overthrow/overthrow.dm
+++ b/code/modules/antagonists/overthrow/overthrow.dm
@@ -121,7 +121,7 @@
return
var/mob/living/carbon/human/H = owner.current
// Give uplink
- var/obj/item/uplink_holder = owner.equip_traitor(uplink_owner = src)
+ var/obj/item/uplink_holder = owner.equip_traitor()
var/datum/component/uplink/uplink = uplink_holder.GetComponent(/datum/component/uplink)
uplink.telecrystals = INITIAL_CRYSTALS
// Give AI hacking board
diff --git a/code/modules/antagonists/traitor/IAA/internal_affairs.dm b/code/modules/antagonists/traitor/IAA/internal_affairs.dm
index 4414fe8257..796365a459 100644
--- a/code/modules/antagonists/traitor/IAA/internal_affairs.dm
+++ b/code/modules/antagonists/traitor/IAA/internal_affairs.dm
@@ -7,37 +7,51 @@
/datum/antagonist/traitor/internal_affairs
name = "Internal Affairs Agent"
employer = "Nanotrasen"
- special_role = "internal affairs agent"
+ suicide_cry = "FOR THE COMPANY!!"
antagpanel_category = "IAA"
+ var/special_role = "internal affairs agent"
var/syndicate = FALSE
var/last_man_standing = FALSE
var/list/datum/mind/targets_stolen
+/datum/antagonist/traitor/internal_affairs/New()
+ . = ..()
+ LAZYADD(targets_stolen, src)
/datum/antagonist/traitor/internal_affairs/proc/give_pinpointer()
- if(owner && owner.current)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+
+ if(owner.current)
owner.current.apply_status_effect(/datum/status_effect/agent_pinpointer)
/datum/antagonist/traitor/internal_affairs/apply_innate_effects()
- .=..() //in case the base is used in future
- if(owner && owner.current)
+ . = ..()
+
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+
+ if(owner.current)
give_pinpointer(owner.current)
/datum/antagonist/traitor/internal_affairs/remove_innate_effects()
- .=..()
- if(owner && owner.current)
+ . = ..()
+
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+
+ if(owner.current)
owner.current.remove_status_effect(/datum/status_effect/agent_pinpointer)
/datum/antagonist/traitor/internal_affairs/on_gain()
START_PROCESSING(SSprocessing, src)
- .=..()
+ . = ..()
/datum/antagonist/traitor/internal_affairs/on_removal()
STOP_PROCESSING(SSprocessing,src)
- .=..()
+ . = ..()
/datum/antagonist/traitor/internal_affairs/process()
iaa_process()
-
/datum/status_effect/agent_pinpointer
id = "agent_pinpointer"
duration = -1
@@ -46,6 +60,8 @@
var/minimum_range = PINPOINTER_MINIMUM_RANGE
var/range_fuzz_factor = PINPOINTER_EXTRA_RANDOM_RANGE
var/mob/scan_target = null
+ var/range_mid = 8
+ var/range_far = 16
/atom/movable/screen/alert/status_effect/agent_pinpointer
name = "Internal Affairs Integrated Pinpointer"
@@ -66,13 +82,13 @@
linked_alert.icon_state = "pinondirect"
else
linked_alert.setDir(get_dir(here, there))
- switch(get_dist(here, there))
- if(1 to 8)
- linked_alert.icon_state = "pinonclose"
- if(9 to 16)
- linked_alert.icon_state = "pinonmedium"
- if(16 to INFINITY)
- linked_alert.icon_state = "pinonfar"
+ var/dist = (get_dist(here, there))
+ if(dist >= 1 && dist <= range_mid)
+ linked_alert.icon_state = "pinonclose"
+ else if(dist > range_mid && dist <= range_far)
+ linked_alert.icon_state = "pinonmedium"
+ else if(dist > range_far)
+ linked_alert.icon_state = "pinonfar"
/datum/status_effect/agent_pinpointer/proc/scan_for_target()
scan_target = null
@@ -99,37 +115,42 @@
return (istype(O, /datum/objective/assassinate/internal)||istype(O, /datum/objective/destroy/internal))
/datum/antagonist/traitor/proc/replace_escape_objective()
- if(!owner || !objectives.len)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+ if(!objectives.len)
return
- for (var/objective_ in objectives)
- if(!(istype(objective_, /datum/objective/escape)||istype(objective_, /datum/objective/survive)))
+ for (var/objective in objectives)
+ if(!(istype(objective, /datum/objective/escape) || istype(objective, /datum/objective/survive)))
continue
- remove_objective(objective_)
+ objectives -= objective
var/datum/objective/martyr/martyr_objective = new
martyr_objective.owner = owner
add_objective(martyr_objective)
/datum/antagonist/traitor/proc/reinstate_escape_objective()
- if(!owner||!objectives.len)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+ if(!objectives.len)
return
- for (var/objective_ in objectives)
- if(!istype(objective_, /datum/objective/martyr))
+ for (var/objective in objectives)
+ if(!istype(objective, /datum/objective/martyr))
continue
- remove_objective(objective_)
+ remove_objective(objective)
/datum/antagonist/traitor/internal_affairs/reinstate_escape_objective()
..()
- var/objtype = !istype(traitor_kind,TRAITOR_AI) ? /datum/objective/escape : /datum/objective/survive
- var/datum/objective/escape_objective = new objtype
+ for (var/datum/objective/martyr/martyr_objective in objectives)
+ objectives -= martyr_objective
+
+ var/datum/objective/escape_objective = new /datum/objective/escape()
escape_objective.owner = owner
- add_objective(escape_objective)
+ objectives += escape_objective
/datum/antagonist/traitor/internal_affairs/proc/steal_targets(datum/mind/victim)
if(!owner.current||owner.current.stat==DEAD)
return
- to_chat(owner.current, " Target eliminated: [victim.name]")
- LAZYINITLIST(targets_stolen)
+ to_chat(owner.current, span_userdanger("Target eliminated: [victim.name]"))
for(var/objective_ in victim.get_all_objectives())
if(istype(objective_, /datum/objective/assassinate/internal))
var/datum/objective/assassinate/internal/objective = objective_
@@ -143,7 +164,7 @@
add_objective(new_objective)
targets_stolen += objective.target
var/status_text = objective.check_completion() ? "neutralised" : "active"
- to_chat(owner.current, " New target added to database: [objective.target.name] ([status_text]) ")
+ to_chat(owner.current, span_userdanger("New target added to database: [objective.target.name] ([status_text])"))
else if(istype(objective_, /datum/objective/destroy/internal))
var/datum/objective/destroy/internal/objective = objective_
var/datum/objective/destroy/internal/new_objective = new
@@ -156,7 +177,7 @@
add_objective(new_objective)
targets_stolen += objective.target
var/status_text = objective.check_completion() ? "neutralised" : "active"
- to_chat(owner.current, " New target added to database: [objective.target.name] ([status_text]) ")
+ to_chat(owner.current, span_userdanger("New target added to database: [objective.target.name] ([status_text])"))
last_man_standing = TRUE
for(var/objective_ in objectives)
if(!is_internal_objective(objective_))
@@ -167,13 +188,15 @@
return
if(last_man_standing)
if(syndicate)
- to_chat(owner.current,"All the suspected agents are dead, and no more is required of you. Die a glorious death, agent.")
- replace_escape_objective(owner)
+ to_chat(owner.current,span_userdanger("All the suspected agents are dead, and no more is required of you. Die a glorious death, agent."))
else
- to_chat(owner.current,"All the other agents are dead. You have done us all a great service and shall be honorably exiled upon returning to base.")
+ to_chat(owner.current,span_userdanger("All the other agents are dead. You have done us all a great service and shall be honorably exiled upon returning to base."))
+ replace_escape_objective(owner)
/datum/antagonist/traitor/internal_affairs/proc/iaa_process()
- if(owner&&owner.current&&owner.current.stat!=DEAD)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+ if(owner.current && owner.current.stat != DEAD)
for(var/objective_ in objectives)
if(!is_internal_objective(objective_))
continue
@@ -188,12 +211,12 @@
objective.stolen = TRUE
else
if(objective.stolen)
- var/fail_msg = "Your sensors tell you that [objective.target.current.real_name], one of the targets you were meant to have killed, pulled one over on you, and is still alive - do the job properly this time! "
+ var/fail_msg = span_userdanger("Your sensors tell you that [objective.target.current.real_name], one of the targets you were meant to have killed, pulled one over on you, and is still alive - do the job properly this time! ")
if(last_man_standing)
if(syndicate)
- fail_msg += " You no longer have permission to die. "
+ fail_msg += span_userdanger(" You no longer have permission to die. ")
else
- fail_msg += " The truth could still slip out! Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to great shame."
+ fail_msg += span_userdanger(" The truth could still slip out! Cease any terrorist actions as soon as possible, unneeded property damage or loss of employee life will lead to your contract being terminated.")
reinstate_escape_objective(owner)
last_man_standing = FALSE
to_chat(owner.current, fail_msg)
@@ -220,29 +243,24 @@
/datum/antagonist/traitor/internal_affairs/forge_traitor_objectives()
forge_iaa_objectives()
- var/objtype = !istype(traitor_kind,TRAITOR_AI) ? /datum/objective/escape : /datum/objective/survive
- var/datum/objective/escape_objective = new objtype
+ var/datum/objective/escape_objective = new /datum/objective/escape()
escape_objective.owner = owner
add_objective(escape_objective)
/datum/antagonist/traitor/internal_affairs/proc/greet_iaa()
- var/crime = pick("distribution of contraband" , "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "receiving bribes", "malpractice", "worship of prohibited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence")
+ var/crime = pick("distribution of contraband", "embezzlement", "piloting under the influence", "dereliction of duty", "syndicate collaboration", "mutiny", "multiple homicides", "corporate espionage", "receiving bribes", "malpractice", "worship of prohibited life forms", "possession of profane texts", "murder", "arson", "insulting their manager", "grand theft", "conspiracy", "attempting to unionize", "vandalism", "gross incompetence")
- to_chat(owner.current, "You are the [special_role].")
+ to_chat(owner.current, span_userdanger("You are the [special_role]."))
if(syndicate)
- to_chat(owner.current, "GREAT LEADER IS DEAD. NANOTRASEN MUST FALL.")
- to_chat(owner.current, "Your have infiltrated this vessel to cause chaos and assassinate targets known to have conspired against the Syndicate.")
- to_chat(owner.current, "Any damage you cause will be a further embarrassment to Nanotrasen, so you have no limits on collateral damage.")
- to_chat(owner.current, "You have been provided with a standard uplink to accomplish your task. ")
- to_chat(owner.current, "By no means reveal that you are a Syndicate agent. By no means reveal that your targets are being hunted.")
+ to_chat(owner.current, span_userdanger("Your target has been framed for [crime], and you have been tasked with eliminating them to prevent them defending themselves in court."))
+ to_chat(owner.current, "Any damage you cause will be a further embarrassment to Nanotrasen, so you have no limits on collateral damage.")
+ to_chat(owner.current, span_userdanger("You have been provided with a standard uplink to accomplish your task."))
else
- to_chat(owner.current, "CAUTION: Your legal status as a citizen of NanoTrasen will be permanently revoked upon completion of your first contract.")
- to_chat(owner.current, "Your target has been suspected of [crime], and must be removed from this plane.")
- to_chat(owner.current, "While you have a license to kill, you are to eliminate your targets with no collateral or unrelated deaths.")
- to_chat(owner.current, "For the sake of plausable deniability, you have been equipped with captured Syndicate equipment via uplink.")
- to_chat(owner.current, "By no means reveal that you, or any other NT employees, are undercover agents.")
+ to_chat(owner.current, span_userdanger("Your target is suspected of [crime], and you have been tasked with eliminating them by any means necessary to avoid a costly and embarrassing public trial."))
+ to_chat(owner.current, "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.")
+ to_chat(owner.current, span_userdanger("For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink."))
- to_chat(owner.current, "Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them.")
+ to_chat(owner.current, span_userdanger("Finally, watch your back. Your target has friends in high places, and intel suggests someone may have taken out a contract of their own to protect them."))
owner.announce_objectives()
/datum/antagonist/traitor/internal_affairs/greet()
diff --git a/code/modules/antagonists/traitor/classes/martyr.dm b/code/modules/antagonists/traitor/classes/martyr.dm
index 5c407b70fd..b0a6494de7 100644
--- a/code/modules/antagonists/traitor/classes/martyr.dm
+++ b/code/modules/antagonists/traitor/classes/martyr.dm
@@ -5,7 +5,7 @@
chaos = 5
threat = 5
min_players = 20
- uplink_filters = list(/datum/uplink_item/stealthy_weapons/romerol_kit,/datum/uplink_item/bundles_TC/contract_kit)
+ uplink_filters = list(/datum/uplink_item/stealthy_weapons/romerol_kit,/datum/uplink_item/bundles_tc/contract_kit)
/datum/traitor_class/human/martyr/forge_objectives(datum/antagonist/traitor/T)
var/datum/objective/martyr/O = new
diff --git a/code/modules/antagonists/traitor/classes/traitor_class.dm b/code/modules/antagonists/traitor/classes/traitor_class.dm
index bcc6fc18dd..bc24aecd9c 100644
--- a/code/modules/antagonists/traitor/classes/traitor_class.dm
+++ b/code/modules/antagonists/traitor/classes/traitor_class.dm
@@ -11,6 +11,8 @@ GLOBAL_LIST_EMPTY(traitor_classes)
/// Minimum players for this to randomly roll via get_random_traitor_kind().
var/min_players = 0
var/list/uplink_filters
+ /// Specific tgui theme for the player's antag info panel.
+ var/tgui_theme = "syndicate"
/datum/traitor_class/New()
..()
diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm
index b6fc397233..78403d4e27 100644
--- a/code/modules/antagonists/traitor/datum_traitor.dm
+++ b/code/modules/antagonists/traitor/datum_traitor.dm
@@ -5,14 +5,22 @@
job_rank = ROLE_TRAITOR
antag_moodlet = /datum/mood_event/focused
skill_modifiers = list(/datum/skill_modifier/job/level/wiring/basic)
- var/special_role = ROLE_TRAITOR
+ hijack_speed = 0.5 //10 seconds per hijack stage by default
+ ui_name = "AntagInfoTraitor"
+ suicide_cry = "FOR THE SYNDICATE!!"
var/employer = "The Syndicate"
var/give_objectives = TRUE
var/should_give_codewords = TRUE
var/should_equip = TRUE
+
+ ///special datum about what kind of employer the trator has
var/datum/traitor_class/traitor_kind
+
+ ///reference to the uplink this traitor was given, if they were.
+ var/datum/component/uplink/uplink
+
var/datum/contractor_hub/contractor_hub
- hijack_speed = 0.5 //10 seconds per hijack stage by default
+
threat = 5
/datum/antagonist/traitor/New()
@@ -45,7 +53,7 @@
/datum/antagonist/traitor/process()
traitor_kind.on_process(src)
-/proc/get_random_traitor_kind(var/list/blacklist = list())
+/proc/get_random_traitor_kind(list/blacklist = list())
var/list/weights = list()
for(var/C in GLOB.traitor_classes)
if(!(C in blacklist))
@@ -62,23 +70,24 @@
return choice
/datum/antagonist/traitor/on_gain()
+ owner.special_role = job_rank
if(owner.current && isAI(owner.current))
set_traitor_kind(TRAITOR_AI)
else
set_traitor_kind(get_random_traitor_kind())
SSticker.mode.traitors += owner
- owner.special_role = special_role
finalize_traitor()
- ..()
+ uplink = owner.find_syndicate_uplink()
+ return ..()
/datum/antagonist/traitor/on_removal()
+ if(!silent && owner.current)
+ to_chat(owner.current,span_userdanger("You are no longer the [job_rank]!"))
//Remove malf powers.
traitor_kind.on_removal(src)
SSticker.mode.traitors -= owner
- if(!silent && owner.current)
- to_chat(owner.current," You are no longer the [special_role]! ")
owner.special_role = null
- . = ..()
+ return ..()
/datum/antagonist/traitor/proc/handle_hearing(datum/source, list/hearing_args)
var/message = hearing_args[HEARING_RAW_MESSAGE]
@@ -93,6 +102,7 @@
/datum/antagonist/traitor/proc/remove_objective(datum/objective/O)
objectives -= O
+/// Generates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.
/datum/antagonist/traitor/proc/forge_traitor_objectives()
traitor_kind.forge_objectives(src)
@@ -151,21 +161,42 @@
H.dna.add_mutation(CLOWNMUT)
UnregisterSignal(M, COMSIG_MOVABLE_HEAR)
+
+/datum/antagonist/traitor/ui_static_data(mob/user)
+ var/list/data = list()
+ data["phrases"] = jointext(GLOB.syndicate_code_phrase, ", ")
+ data["responses"] = jointext(GLOB.syndicate_code_response, ", ")
+ data["theme"] = traitor_kind.tgui_theme //traitor_flavor["ui_theme"]
+ data["code"] = uplink.unlock_code
+ data["intro"] = "You are from [traitor_kind.employer]." //traitor_flavor["introduction"]
+ data["allies"] = "Most other syndicate operatives are not to be trusted (but try not to rat them out), as they might have been assigned opposing objectives." //traitor_flavor["allies"]
+ data["goal"] = "We do not approve of mindless killing of innocent workers; \"get in, get done, get out\" is our motto." //traitor_flavor["goal"]
+ data["has_uplink"] = uplink ? TRUE : FALSE
+ if(uplink)
+ data["uplink_intro"] = "You have been provided with a standard uplink to accomplish your task." //traitor_flavor["uplink"]
+ data["uplink_unlock_info"] = uplink.unlock_text
+ data["objectives"] = get_objectives()
+ return data
+
+/// Outputs this shift's codewords and responses to the antag's chat and copies them to their memory.
/datum/antagonist/traitor/proc/give_codewords()
if(!owner.current)
return
- var/mob/traitor_mob=owner.current
+
+ var/mob/traitor_mob = owner.current
var/phrases = jointext(GLOB.syndicate_code_phrase, ", ")
var/responses = jointext(GLOB.syndicate_code_response, ", ")
- var/dat = "The Syndicate have provided you with the following codewords to identify fellow agents:\n"
- dat += "Code Phrase: [phrases]\n"
- dat += "Code Response: [responses]"
- to_chat(traitor_mob, dat)
+ to_chat(traitor_mob, "The Syndicate have provided you with the following codewords to identify fellow agents:")
+ to_chat(traitor_mob, "Code Phrase: [span_blue("[phrases]")]")
+ to_chat(traitor_mob, "Code Response: [span_red("[responses]")]")
- antag_memory += "Code Phrase: [phrases] "
- antag_memory += "Code Response: [responses] "
+ antag_memory += "Code Phrase: [span_blue("[phrases]")] "
+ antag_memory += "Code Response: [span_red("[responses]")] "
+
+ to_chat(traitor_mob, "Use the codewords during regular conversation to identify other agents. Proceed with caution, however, as everyone is a potential foe.")
+ to_chat(traitor_mob, span_alertwarning("You memorize the codewords, allowing you to recognise them when heard."))
/datum/antagonist/traitor/proc/add_law_zero()
var/mob/living/silicon/ai/killer = owner.current
@@ -220,44 +251,43 @@
where = "In your [equipped_slot]"
to_chat(mob, "
[where] is a folder containing secret documents that another Syndicate group wants. We have set up a meeting with one of their agents on station to make an exchange. Exercise extreme caution as they cannot be trusted and may be hostile. ")
-//TODO Collate
/datum/antagonist/traitor/roundend_report()
var/list/result = list()
- var/traitorwin = TRUE
+ var/traitor_won = TRUE
result += printplayer(owner)
- var/TC_uses = 0
- var/uplink_true = FALSE
+ var/used_telecrystals = 0
+ var/uplink_owned = FALSE
var/purchases = ""
+
LAZYINITLIST(GLOB.uplink_purchase_logs_by_key)
- var/datum/uplink_purchase_log/H = GLOB.uplink_purchase_logs_by_key[owner.key]
- if(H)
- TC_uses = H.total_spent
- uplink_true = TRUE
- purchases += H.generate_render(FALSE)
+ // Uplinks add an entry to uplink_purchase_logs_by_key on init.
+ var/datum/uplink_purchase_log/purchase_log = GLOB.uplink_purchase_logs_by_key[owner.key]
+ if(purchase_log)
+ used_telecrystals = purchase_log.total_spent
+ uplink_owned = TRUE
+ purchases += purchase_log.generate_render(FALSE)
var/objectives_text = ""
- if(objectives.len)//If the traitor had no objectives, don't need to process this.
+ if(objectives.len) //If the traitor had no objectives, don't need to process this.
var/count = 1
for(var/datum/objective/objective in objectives)
- if(objective.completable)
- var/completion = objective.check_completion()
- if(completion >= 1)
- objectives_text += " Objective #[count]: [objective.explanation_text] Success!"
- else if(completion <= 0)
- objectives_text += " Objective #[count]: [objective.explanation_text] Fail."
- traitorwin = FALSE
- else
- objectives_text += " Objective #[count]: [objective.explanation_text] [completion*100]%"
+ var/completion = objective.check_completion()
+ if(completion >= 1)
+ objectives_text += " Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]"
+ else if(completion <= 0)
+ objectives_text += " Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]"
+ traitor_won = FALSE
else
- objectives_text += " Objective #[count]: [objective.explanation_text]"
+ objectives_text += " Objective #[count]: [objective.explanation_text] [completion*100]%"
+
count++
- if(uplink_true)
- var/uplink_text = "(used [TC_uses] TC) [purchases]"
- if(TC_uses==0 && traitorwin)
+ if(uplink_owned)
+ var/uplink_text = "(used [used_telecrystals] TC) [purchases]"
+ if((used_telecrystals == 0) && traitor_won)
var/static/icon/badass = icon('icons/badass.dmi', "badass")
uplink_text += "[icon2html(badass, world)]"
result += uplink_text
@@ -266,55 +296,59 @@
var/special_role_text = lowertext(name)
- if(contractor_hub)
+ if (contractor_hub)
result += contractor_round_end()
- if(traitorwin)
- result += "The [special_role_text] was successful!"
+ if(traitor_won)
+ result += span_greentext("The [special_role_text] was successful!")
else
- result += "The [special_role_text] has failed!"
+ result += span_redtext("The [special_role_text] has failed!")
SEND_SOUND(owner.current, 'sound/ambience/ambifailure.ogg')
return result.Join(" ")
/// Proc detailing contract kit buys/completed contracts/additional info
/datum/antagonist/traitor/proc/contractor_round_end()
- var result = ""
- var total_spent_rep = 0
+ var/result = ""
+ var/total_spent_rep = 0
- var/completed_contracts = 0
+ var/completed_contracts = contractor_hub.contracts_completed
var/tc_total = contractor_hub.contract_TC_payed_out + contractor_hub.contract_TC_to_redeem
- for(var/datum/syndicate_contract/contract in contractor_hub.assigned_contracts)
- if(contract.status == CONTRACT_STATUS_COMPLETE)
- completed_contracts++
var/contractor_item_icons = "" // Icons of purchases
var/contractor_support_unit = "" // Set if they had a support unit - and shows appended to their contracts completed
- for(var/datum/contractor_item/contractor_purchase in contractor_hub.purchased_items) // Get all the icons/total cost for all our items bought
+ /// Get all the icons/total cost for all our items bought
+ for (var/datum/contractor_item/contractor_purchase in contractor_hub.purchased_items)
contractor_item_icons += "\[ [contractor_purchase.name] - [contractor_purchase.cost] Rep
[contractor_purchase.desc] \]"
+
total_spent_rep += contractor_purchase.cost
- if(istype(contractor_purchase, /datum/contractor_item/contractor_partner)) // Special case for reinforcements, we want to show their ckey and name on round end.
+
+ /// Special case for reinforcements, we want to show their ckey and name on round end.
+ if (istype(contractor_purchase, /datum/contractor_item/contractor_partner))
var/datum/contractor_item/contractor_partner/partner = contractor_purchase
contractor_support_unit += " [partner.partner_mind.key] played [partner.partner_mind.current.name], their contractor support unit."
+
if (contractor_hub.purchased_items.len)
- result += " (used [total_spent_rep] Rep)"
+ result += " (used [total_spent_rep] Rep) "
result += contractor_item_icons
result += " "
- if(completed_contracts > 0)
+ if (completed_contracts > 0)
var/pluralCheck = "contract"
- if(completed_contracts > 1)
+ if (completed_contracts > 1)
pluralCheck = "contracts"
- result += "Completed [completed_contracts] [pluralCheck] for a total of \
- [tc_total] TC! "
+
+ result += "Completed [span_greentext("[completed_contracts]")] [pluralCheck] for a total of \
+ [span_greentext("[tc_total] TC")]![contractor_support_unit] "
+
return result
/datum/antagonist/traitor/roundend_report_footer()
var/phrases = jointext(GLOB.syndicate_code_phrase, ", ")
var/responses = jointext(GLOB.syndicate_code_response, ", ")
- var message = " The code phrases were:[phrases] \
- The code responses were:[responses] "
+ var/message = " The code phrases were:[phrases] \
+ The code responses were: [span_redtext("[responses]")] "
return message
diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm
index 23e870a0ec..c52436a3c4 100644
--- a/code/modules/antagonists/wizard/wizard.dm
+++ b/code/modules/antagonists/wizard/wizard.dm
@@ -3,12 +3,15 @@
roundend_category = "wizards/witches"
antagpanel_category = "Wizard"
job_rank = ROLE_WIZARD
+ antag_hud_type = ANTAG_HUD_WIZ
+ antag_hud_name = "wizard"
antag_moodlet = /datum/mood_event/focused
- threat = 30
+ hijack_speed = 0.5
+ ui_name = "AntagInfoWizard"
+ suicide_cry = "FOR THE FEDERATION!!"
var/give_objectives = TRUE
var/strip = TRUE //strip before equipping
var/allow_rename = TRUE
- var/hud_version = "wizard"
var/datum/team/wizard/wiz_team //Only created if wizard summons apprentices
var/move_to_lair = TRUE
var/outfit_type = /datum/outfit/wizard
@@ -50,16 +53,17 @@
wiz_team = new(owner)
wiz_team.name = "[owner.current.real_name] team"
wiz_team.master_wizard = src
- update_wiz_icons_added(owner.current)
+ add_antag_hud(antag_hud_type, antag_hud_name, owner.current)
/datum/antagonist/wizard/proc/send_to_lair()
- if(!owner || !owner.current)
+ if(!owner)
+ CRASH("Antag datum with no owner.")
+ if(!owner.current)
return
if(!GLOB.wizardstart.len)
SSjob.SendToLateJoin(owner.current)
to_chat(owner, "HOT INSERTION, GO GO GO")
- else
- owner.current.forceMove(pick(GLOB.wizardstart))
+ owner.current.forceMove(pick(GLOB.wizardstart))
/datum/antagonist/wizard/proc/create_objectives()
var/datum/objective/flavor/wizard/new_objective = new
@@ -79,7 +83,7 @@
/datum/antagonist/wizard/proc/equip_wizard()
if(!owner)
- return
+ CRASH("Antag datum with no owner.")
var/mob/living/carbon/human/H = owner.current
if(!istype(H))
return
@@ -91,18 +95,14 @@
H.age = wiz_age
H.equipOutfit(outfit_type)
-/datum/antagonist/wizard/greet()
- to_chat(owner, "You are the Space Wizard!")
- to_chat(owner, "The Space Wizards Federation has given you the following tasks:")
- owner.announce_objectives()
- to_chat(owner, "These are merely guidelines! The federation are your masters, but you forge your own path!")
- to_chat(owner, "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.")
- to_chat(owner, "The spellbook is bound to you, and others cannot use it.")
- to_chat(owner, "In your pockets you will find a teleport scroll. Use it as needed.")
- to_chat(owner,"Remember: do not forget to prepare your spells.")
+/datum/antagonist/wizard/ui_static_data(mob/user)
+ . = ..()
+ var/list/data = list()
+ data["objectives"] = get_objectives()
+ return data
/datum/antagonist/wizard/farewell()
- to_chat(owner, "You have been brainwashed! You are no longer a wizard!")
+ to_chat(owner, span_userdanger("You have been brainwashed! You are no longer a wizard!"))
/datum/antagonist/wizard/proc/rename_wizard()
set waitfor = FALSE
@@ -111,7 +111,7 @@
var/wizard_name_second = pick(GLOB.wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
var/mob/living/wiz_mob = owner.current
- var/newname = reject_bad_name(stripped_input(wiz_mob, "You are the [name]. Would you like to change your name to something else?", "Name change", randomname, MAX_NAME_LEN))
+ var/newname = sanitize_name(reject_bad_text(stripped_input(wiz_mob, "You are the [name]. Would you like to change your name to something else?", "Name change", randomname, MAX_NAME_LEN)))
if (!newname)
newname = randomname
@@ -120,12 +120,12 @@
/datum/antagonist/wizard/apply_innate_effects(mob/living/mob_override)
var/mob/living/M = mob_override || owner.current
- update_wiz_icons_added(M, wiz_team ? TRUE : FALSE) //Don't bother showing the icon if you're solo wizard
+ add_antag_hud(antag_hud_type, antag_hud_name, M)
M.faction |= ROLE_WIZARD
/datum/antagonist/wizard/remove_innate_effects(mob/living/mob_override)
var/mob/living/M = mob_override || owner.current
- update_wiz_icons_removed(M)
+ remove_antag_hud(antag_hud_type, M)
M.faction -= ROLE_WIZARD
@@ -138,7 +138,7 @@
/datum/antagonist/wizard/apprentice
name = "Wizard Apprentice"
- hud_version = "apprentice"
+ antag_hud_name = "apprentice"
var/datum/mind/master
var/school = APPRENTICE_DESTRUCTION
outfit_type = /datum/outfit/wizard/apprentice
@@ -157,7 +157,7 @@
/datum/antagonist/wizard/apprentice/equip_wizard()
. = ..()
if(!owner)
- return
+ CRASH("Antag datum with no owner.")
var/mob/living/carbon/human/H = owner.current
if(!istype(H))
return
@@ -169,12 +169,12 @@
if(APPRENTICE_BLUESPACE)
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/turf_teleport/blink(null))
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(null))
- to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned reality bending mobility spells. You are able to cast teleport and ethereal jaunt.")
+ to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned reality-bending mobility spells. You are able to cast teleport and ethereal jaunt.")
if(APPRENTICE_HEALING)
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/charge(null))
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/forcewall(null))
H.put_in_hands(new /obj/item/gun/magic/staff/healing(H))
- to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned livesaving survival spells. You are able to cast charge and forcewall.")
+ to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned life-saving survival spells. You are able to cast charge and forcewall.")
if(APPRENTICE_ROBELESS)
owner.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null))
owner.AddSpell(new /obj/effect/proc_holder/spell/pointed/mind_transfer(null))
@@ -194,6 +194,7 @@
//Random event wizard
/datum/antagonist/wizard/apprentice/imposter
name = "Wizard Imposter"
+ show_in_antagpanel = FALSE
allow_rename = FALSE
move_to_lair = FALSE
@@ -224,20 +225,11 @@
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/turf_teleport/blink(null))
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(null))
-/datum/antagonist/wizard/proc/update_wiz_icons_added(mob/living/wiz,join = TRUE)
- var/datum/atom_hud/antag/wizhud = GLOB.huds[ANTAG_HUD_WIZ]
- wizhud.join_hud(wiz)
- set_antag_hud(wiz, hud_version)
-
-/datum/antagonist/wizard/proc/update_wiz_icons_removed(mob/living/wiz)
- var/datum/atom_hud/antag/wizhud = GLOB.huds[ANTAG_HUD_WIZ]
- wizhud.leave_hud(wiz)
- set_antag_hud(wiz, null)
-
-
/datum/antagonist/wizard/academy
name = "Academy Teacher"
+ show_in_antagpanel = FALSE
outfit_type = /datum/outfit/wizard/academy
+ move_to_lair = FALSE
/datum/antagonist/wizard/academy/equip_wizard()
. = ..()
@@ -250,7 +242,7 @@
if(!istype(M))
return
- var/obj/item/implant/exile/Implant = new
+ var/obj/item/implant/exile/Implant = new/obj/item/implant/exile(M)
Implant.implant(M)
/datum/antagonist/wizard/academy/create_objectives()
@@ -265,25 +257,25 @@
parts += printplayer(owner)
var/count = 1
- var/wizardwin = 1
+ var/wizardwin = TRUE
for(var/datum/objective/objective in objectives)
if(objective.completable)
var/completion = objective.check_completion()
if(completion >= 1)
- parts += "Objective #[count]: [objective.explanation_text] Success!"
+ parts += " Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]"
else if(completion <= 0)
- parts += "Objective #[count]: [objective.explanation_text] Fail."
+ parts += " Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]"
wizardwin = FALSE
else
- parts += "Objective #[count]: [objective.explanation_text] [completion*100]%"
+ parts += " Objective #[count]: [objective.explanation_text] [completion*100]%"
else
parts += "Objective #[count]: [objective.explanation_text]"
count++
if(wizardwin)
- parts += "The wizard was successful!"
+ parts += span_greentext("The wizard was successful!")
else
- parts += "The wizard has failed!"
+ parts += span_redtext("The wizard has failed!")
if(owner.spell_list.len>0)
parts += "[owner.name] used the following spells: "
diff --git a/code/modules/arousal/arousal.dm b/code/modules/arousal/arousal.dm
index a3adf0d25b..a27e2cdb74 100644
--- a/code/modules/arousal/arousal.dm
+++ b/code/modules/arousal/arousal.dm
@@ -74,7 +74,7 @@
if(spill && R.total_volume >= 5)
R.reaction(turfing ? target : target.loc, TOUCH, 1, 0)
if(!turfing)
- R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1))
+ R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1), log = TRUE)
G.last_orgasmed = world.time
R.clear_reagents()
@@ -117,6 +117,7 @@
if(!do_after(src, mb_time, target = src) || !in_range(src, container) || !G.climaxable(src, TRUE))
return
to_chat(src,"You used your [G.name] to fill [container].")
+ message_admins("[src] used their [G.name] to fill [container].")
do_climax(fluid_source, container, G, FALSE)
/mob/living/carbon/human/proc/pick_climax_genitals(silent = FALSE)
diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm
index 94c7630bd9..f88f57eacc 100644
--- a/code/modules/asset_cache/asset_list.dm
+++ b/code/modules/asset_cache/asset_list.dm
@@ -13,9 +13,6 @@ GLOBAL_LIST_EMPTY(asset_datums)
var/_abstract = /datum/asset
var/cached_url_mappings
- /// Whether or not this asset should be loaded in the "early assets" SS
- var/early = FALSE
-
/datum/asset/New()
GLOB.asset_datums[type] = src
register()
@@ -368,28 +365,3 @@ GLOBAL_LIST_EMPTY(asset_datums)
/datum/asset/simple/namespaced/proc/get_htmlloader(filename)
return url2htmlloader(SSassets.transport.get_asset_url(filename, assets[filename]))
-/// A subtype to generate a JSON file from a list
-/datum/asset/json
- _abstract = /datum/asset/json
- /// The filename, will be suffixed with ".json"
- var/name
-
-/datum/asset/json/send(client)
- return SSassets.transport.send_assets(client, "data/[name].json")
-
-/datum/asset/json/get_url_mappings()
- return list(
- "[name].json" = SSassets.transport.get_asset_url("data/[name].json"),
- )
-
-/datum/asset/json/register()
- var/filename = "data/[name].json"
- fdel(filename)
- text2file(json_encode(generate()), filename)
- SSassets.transport.register_asset(filename, fcopy_rsc(filename))
- fdel(filename)
-
-/// Returns the data that will be JSON encoded
-/datum/asset/json/proc/generate()
- SHOULD_CALL_PARENT(FALSE)
- CRASH("generate() not implemented for [type]!")
diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm
index 2d680fe212..5ad334bb76 100644
--- a/code/modules/asset_cache/asset_list_items.dm
+++ b/code/modules/asset_cache/asset_list_items.dm
@@ -1,11 +1,5 @@
//DEFINITIONS FOR ASSET DATUMS START HERE.
-/datum/asset/simple/tgui_common
- keep_local_name = TRUE
- assets = list(
- "tgui-common.bundle.js" = file("tgui/public/tgui-common.bundle.js"),
- )
-
/datum/asset/simple/tgui
keep_local_name = TRUE
assets = list(
@@ -54,9 +48,14 @@
/datum/asset/simple/radar_assets
assets = list(
- "ntosradarbackground.png" = 'icons/UI_Icons/tgui/ntosradar_background.png',
- "ntosradarpointer.png" = 'icons/UI_Icons/tgui/ntosradar_pointer.png',
- "ntosradarpointerS.png" = 'icons/UI_Icons/tgui/ntosradar_pointer_S.png'
+ "ntosradarbackground.png" = 'icons/ui_icons/tgui/ntosradar_background.png',
+ "ntosradarpointer.png" = 'icons/ui_icons/tgui/ntosradar_pointer.png',
+ "ntosradarpointerS.png" = 'icons/ui_icons/tgui/ntosradar_pointer_S.png'
+ )
+
+/datum/asset/simple/circuit_assets
+ assets = list(
+ "grid_background.png" = 'icons/ui_icons/tgui/grid_background.png'
)
/datum/asset/spritesheet/simple/pda
@@ -91,6 +90,7 @@
"status" = 'icons/pda_icons/pda_status.png',
"dronephone" = 'icons/pda_icons/pda_dronephone.png',
"emoji" = 'icons/pda_icons/pda_emoji.png'
+ // "droneblacklist" = 'icons/pda_icons/pda_droneblacklist.png',
)
/datum/asset/spritesheet/simple/paper
@@ -116,7 +116,7 @@
/datum/asset/simple/irv
assets = list(
- "jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/IRV/jquery-ui.custom-core-widgit-mouse-sortable-min.js',
+ "jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js',
)
/datum/asset/group/irv
@@ -125,35 +125,10 @@
/datum/asset/simple/irv
)
-/datum/asset/simple/namespaced/changelog
- assets = list(
- "88x31.png" = 'html/88x31.png',
- "bug-minus.png" = 'html/bug-minus.png',
- "cross-circle.png" = 'html/cross-circle.png',
- "hard-hat-exclamation.png" = 'html/hard-hat-exclamation.png',
- "image-minus.png" = 'html/image-minus.png',
- "image-plus.png" = 'html/image-plus.png',
- "music-minus.png" = 'html/music-minus.png',
- "music-plus.png" = 'html/music-plus.png',
- "tick-circle.png" = 'html/tick-circle.png',
- "wrench-screwdriver.png" = 'html/wrench-screwdriver.png',
- "spell-check.png" = 'html/spell-check.png',
- "burn-exclamation.png" = 'html/burn-exclamation.png',
- "chevron.png" = 'html/chevron.png',
- "chevron-expand.png" = 'html/chevron-expand.png',
- "scales.png" = 'html/scales.png',
- "coding.png" = 'html/coding.png',
- "ban.png" = 'html/ban.png',
- "chrome-wrench.png" = 'html/chrome-wrench.png',
- "changelog.css" = 'html/changelog.css'
- )
- parents = list("changelog.html" = 'html/changelog.html')
-
-
/datum/asset/simple/jquery
legacy = TRUE
assets = list(
- "jquery.min.js" = 'html/jquery.min.js',
+ "jquery.min.js" = 'html/jquery/jquery.min.js',
)
/datum/asset/simple/namespaced/fontawesome
@@ -223,102 +198,102 @@
/datum/asset/simple/arcade
assets = list(
- "boss1.gif" = 'icons/UI_Icons/Arcade/boss1.gif',
- "boss2.gif" = 'icons/UI_Icons/Arcade/boss2.gif',
- "boss3.gif" = 'icons/UI_Icons/Arcade/boss3.gif',
- "boss4.gif" = 'icons/UI_Icons/Arcade/boss4.gif',
- "boss5.gif" = 'icons/UI_Icons/Arcade/boss5.gif',
- "boss6.gif" = 'icons/UI_Icons/Arcade/boss6.gif',
+ "boss1.gif" = 'icons/ui_icons/arcade/boss1.gif',
+ "boss2.gif" = 'icons/ui_icons/arcade/boss2.gif',
+ "boss3.gif" = 'icons/ui_icons/arcade/boss3.gif',
+ "boss4.gif" = 'icons/ui_icons/arcade/boss4.gif',
+ "boss5.gif" = 'icons/ui_icons/arcade/boss5.gif',
+ "boss6.gif" = 'icons/ui_icons/arcade/boss6.gif',
)
/datum/asset/spritesheet/simple/achievements
name ="achievements"
assets = list(
- "default" = 'icons/UI_Icons/Achievements/default.png',
- "basemisc" = 'icons/UI_Icons/Achievements/basemisc.png',
- "baseboss" = 'icons/UI_Icons/Achievements/baseboss.png',
- "baseskill" = 'icons/UI_Icons/Achievements/baseskill.png',
- "bbgum" = 'icons/UI_Icons/Achievements/Boss/bbgum.png',
- "colossus" = 'icons/UI_Icons/Achievements/Boss/colossus.png',
- "hierophant" = 'icons/UI_Icons/Achievements/Boss/hierophant.png',
- "drake" = 'icons/UI_Icons/Achievements/Boss/drake.png',
- "legion" = 'icons/UI_Icons/Achievements/Boss/legion.png',
- "miner" = 'icons/UI_Icons/Achievements/Boss/miner.png',
- "swarmer" = 'icons/UI_Icons/Achievements/Boss/swarmer.png',
- "tendril" = 'icons/UI_Icons/Achievements/Boss/tendril.png',
- "featofstrength" = 'icons/UI_Icons/Achievements/Misc/featofstrength.png',
- "helbital" = 'icons/UI_Icons/Achievements/Misc/helbital.png',
- "jackpot" = 'icons/UI_Icons/Achievements/Misc/jackpot.png',
- "meteors" = 'icons/UI_Icons/Achievements/Misc/meteors.png',
- "timewaste" = 'icons/UI_Icons/Achievements/Misc/timewaste.png',
- "upgrade" = 'icons/UI_Icons/Achievements/Misc/upgrade.png',
- "clownking" = 'icons/UI_Icons/Achievements/Misc/clownking.png',
- "clownthanks" = 'icons/UI_Icons/Achievements/Misc/clownthanks.png',
- "rule8" = 'icons/UI_Icons/Achievements/Misc/rule8.png',
- "longshift" = 'icons/UI_Icons/Achievements/Misc/longshift.png',
- "snail" = 'icons/UI_Icons/Achievements/Misc/snail.png',
- "ascension" = 'icons/UI_Icons/Achievements/Misc/ascension.png',
- "ashascend" = 'icons/UI_Icons/Achievements/Misc/ashascend.png',
- "fleshascend" = 'icons/UI_Icons/Achievements/Misc/fleshascend.png',
- "rustascend" = 'icons/UI_Icons/Achievements/Misc/rustascend.png',
- "voidascend" = 'icons/UI_Icons/Achievements/Misc/voidascend.png',
- "toolbox_soul" = 'icons/UI_Icons/Achievements/Misc/toolbox_soul.png',
- "chem_tut" = 'icons/UI_Icons/Achievements/Misc/chem_tut.png',
- "mining" = 'icons/UI_Icons/Achievements/Skills/mining.png',
- "mafia" = 'icons/UI_Icons/Achievements/Mafia/mafia.png',
- "town" = 'icons/UI_Icons/Achievements/Mafia/town.png',
- "neutral" = 'icons/UI_Icons/Achievements/Mafia/neutral.png',
- "hated" = 'icons/UI_Icons/Achievements/Mafia/hated.png',
- "basemafia" ='icons/UI_Icons/Achievements/basemafia.png',
- "frenching" = 'icons/UI_Icons/Achievements/Misc/frenchingthebubble.png'
+ "default" = 'icons/ui_icons/achievements/default.png',
+ "basemisc" = 'icons/ui_icons/achievements/basemisc.png',
+ "baseboss" = 'icons/ui_icons/achievements/baseboss.png',
+ "baseskill" = 'icons/ui_icons/achievements/baseskill.png',
+ "bbgum" = 'icons/ui_icons/achievements/Boss/bbgum.png',
+ "colossus" = 'icons/ui_icons/achievements/Boss/colossus.png',
+ "hierophant" = 'icons/ui_icons/achievements/Boss/hierophant.png',
+ "drake" = 'icons/ui_icons/achievements/Boss/drake.png',
+ "legion" = 'icons/ui_icons/achievements/Boss/legion.png',
+ "miner" = 'icons/ui_icons/achievements/Boss/miner.png',
+ "swarmer" = 'icons/ui_icons/achievements/Boss/swarmer.png',
+ "tendril" = 'icons/ui_icons/achievements/Boss/tendril.png',
+ "featofstrength" = 'icons/ui_icons/achievements/Misc/featofstrength.png',
+ "helbital" = 'icons/ui_icons/achievements/Misc/helbital.png',
+ "jackpot" = 'icons/ui_icons/achievements/Misc/jackpot.png',
+ "meteors" = 'icons/ui_icons/achievements/Misc/meteors.png',
+ "timewaste" = 'icons/ui_icons/achievements/Misc/timewaste.png',
+ "upgrade" = 'icons/ui_icons/achievements/Misc/upgrade.png',
+ "clownking" = 'icons/ui_icons/achievements/Misc/clownking.png',
+ "clownthanks" = 'icons/ui_icons/achievements/Misc/clownthanks.png',
+ "rule8" = 'icons/ui_icons/achievements/Misc/rule8.png',
+ "longshift" = 'icons/ui_icons/achievements/Misc/longshift.png',
+ "snail" = 'icons/ui_icons/achievements/Misc/snail.png',
+ "ascension" = 'icons/ui_icons/achievements/Misc/ascension.png',
+ "ashascend" = 'icons/ui_icons/achievements/Misc/ashascend.png',
+ "fleshascend" = 'icons/ui_icons/achievements/Misc/fleshascend.png',
+ "rustascend" = 'icons/ui_icons/achievements/Misc/rustascend.png',
+ "voidascend" = 'icons/ui_icons/achievements/Misc/voidascend.png',
+ "toolbox_soul" = 'icons/ui_icons/achievements/Misc/toolbox_soul.png',
+ "chem_tut" = 'icons/ui_icons/achievements/Misc/chem_tut.png',
+ "mining" = 'icons/ui_icons/achievements/Skills/mining.png',
+ "mafia" = 'icons/ui_icons/achievements/Mafia/mafia.png',
+ "town" = 'icons/ui_icons/achievements/Mafia/town.png',
+ "neutral" = 'icons/ui_icons/achievements/Mafia/neutral.png',
+ "hated" = 'icons/ui_icons/achievements/Mafia/hated.png',
+ "basemafia" ='icons/ui_icons/achievements/basemafia.png',
+ "frenching" = 'icons/ui_icons/achievements/Misc/frenchingthebubble.png'
)
/datum/asset/spritesheet/simple/pills
name = "pills"
assets = list(
- "pill1" = 'icons/UI_Icons/Pills/pill1.png',
- "pill2" = 'icons/UI_Icons/Pills/pill2.png',
- "pill3" = 'icons/UI_Icons/Pills/pill3.png',
- "pill4" = 'icons/UI_Icons/Pills/pill4.png',
- "pill5" = 'icons/UI_Icons/Pills/pill5.png',
- "pill6" = 'icons/UI_Icons/Pills/pill6.png',
- "pill7" = 'icons/UI_Icons/Pills/pill7.png',
- "pill8" = 'icons/UI_Icons/Pills/pill8.png',
- "pill9" = 'icons/UI_Icons/Pills/pill9.png',
- "pill10" = 'icons/UI_Icons/Pills/pill10.png',
- "pill11" = 'icons/UI_Icons/Pills/pill11.png',
- "pill12" = 'icons/UI_Icons/Pills/pill12.png',
- "pill13" = 'icons/UI_Icons/Pills/pill13.png',
- "pill14" = 'icons/UI_Icons/Pills/pill14.png',
- "pill15" = 'icons/UI_Icons/Pills/pill15.png',
- "pill16" = 'icons/UI_Icons/Pills/pill16.png',
- "pill17" = 'icons/UI_Icons/Pills/pill17.png',
- "pill18" = 'icons/UI_Icons/Pills/pill18.png',
- "pill19" = 'icons/UI_Icons/Pills/pill19.png',
- "pill20" = 'icons/UI_Icons/Pills/pill20.png',
- "pill21" = 'icons/UI_Icons/Pills/pill21.png',
- "pill22" = 'icons/UI_Icons/Pills/pill22.png',
+ "pill1" = 'icons/ui_icons/pills/pill1.png',
+ "pill2" = 'icons/ui_icons/pills/pill2.png',
+ "pill3" = 'icons/ui_icons/pills/pill3.png',
+ "pill4" = 'icons/ui_icons/pills/pill4.png',
+ "pill5" = 'icons/ui_icons/pills/pill5.png',
+ "pill6" = 'icons/ui_icons/pills/pill6.png',
+ "pill7" = 'icons/ui_icons/pills/pill7.png',
+ "pill8" = 'icons/ui_icons/pills/pill8.png',
+ "pill9" = 'icons/ui_icons/pills/pill9.png',
+ "pill10" = 'icons/ui_icons/pills/pill10.png',
+ "pill11" = 'icons/ui_icons/pills/pill11.png',
+ "pill12" = 'icons/ui_icons/pills/pill12.png',
+ "pill13" = 'icons/ui_icons/pills/pill13.png',
+ "pill14" = 'icons/ui_icons/pills/pill14.png',
+ "pill15" = 'icons/ui_icons/pills/pill15.png',
+ "pill16" = 'icons/ui_icons/pills/pill16.png',
+ "pill17" = 'icons/ui_icons/pills/pill17.png',
+ "pill18" = 'icons/ui_icons/pills/pill18.png',
+ "pill19" = 'icons/ui_icons/pills/pill19.png',
+ "pill20" = 'icons/ui_icons/pills/pill20.png',
+ "pill21" = 'icons/ui_icons/pills/pill21.png',
+ "pill22" = 'icons/ui_icons/pills/pill22.png',
)
// /datum/asset/spritesheet/simple/condiments
// name = "condiments"
// assets = list(
-// CONDIMASTER_STYLE_FALLBACK = 'icons/UI_Icons/Condiments/emptycondiment.png',
-// "enzyme" = 'icons/UI_Icons/Condiments/enzyme.png',
-// "flour" = 'icons/UI_Icons/Condiments/flour.png',
-// "mayonnaise" = 'icons/UI_Icons/Condiments/mayonnaise.png',
-// "milk" = 'icons/UI_Icons/Condiments/milk.png',
-// "blackpepper" = 'icons/UI_Icons/Condiments/peppermillsmall.png',
-// "rice" = 'icons/UI_Icons/Condiments/rice.png',
-// "sodiumchloride" = 'icons/UI_Icons/Condiments/saltshakersmall.png',
-// "soymilk" = 'icons/UI_Icons/Condiments/soymilk.png',
-// "soysauce" = 'icons/UI_Icons/Condiments/soysauce.png',
-// "sugar" = 'icons/UI_Icons/Condiments/sugar.png',
-// "ketchup" = 'icons/UI_Icons/Condiments/ketchup.png',
-// "capsaicin" = 'icons/UI_Icons/Condiments/hotsauce.png',
-// "frostoil" = 'icons/UI_Icons/Condiments/coldsauce.png',
-// "bbqsauce" = 'icons/UI_Icons/Condiments/bbqsauce.png',
-// "cornoil" = 'icons/UI_Icons/Condiments/oliveoil.png',
+// CONDIMASTER_STYLE_FALLBACK = 'icons/ui_icons/condiments/emptycondiment.png',
+// "enzyme" = 'icons/ui_icons/condiments/enzyme.png',
+// "flour" = 'icons/ui_icons/condiments/flour.png',
+// "mayonnaise" = 'icons/ui_icons/condiments/mayonnaise.png',
+// "milk" = 'icons/ui_icons/condiments/milk.png',
+// "blackpepper" = 'icons/ui_icons/condiments/peppermillsmall.png',
+// "rice" = 'icons/ui_icons/condiments/rice.png',
+// "sodiumchloride" = 'icons/ui_icons/condiments/saltshakersmall.png',
+// "soymilk" = 'icons/ui_icons/condiments/soymilk.png',
+// "soysauce" = 'icons/ui_icons/condiments/soysauce.png',
+// "sugar" = 'icons/ui_icons/condiments/sugar.png',
+// "ketchup" = 'icons/ui_icons/condiments/ketchup.png',
+// "capsaicin" = 'icons/ui_icons/condiments/hotsauce.png',
+// "frostoil" = 'icons/ui_icons/condiments/coldsauce.png',
+// "bbqsauce" = 'icons/ui_icons/condiments/bbqsauce.png',
+// "cornoil" = 'icons/ui_icons/condiments/oliveoil.png',
// )
//this exists purely to avoid meta by pre-loading all language icons.
@@ -410,9 +385,15 @@
if (machine)
item = machine
+ // Check for GAGS support where necessary
+ // var/greyscale_config = initial(item.greyscale_config)
+ // var/greyscale_colors = initial(item.greyscale_colors)
+ // if (greyscale_config && greyscale_colors)
+ // icon_file = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors)
+ // else
icon_file = initial(item.icon)
- icon_state = initial(item.icon_state)
+ icon_state = initial(item.icon_state)
if(!(icon_state in icon_states(icon_file)))
warning("design [D] with icon '[icon_file]' missing state '[icon_state]'")
continue
@@ -441,7 +422,11 @@
if (!ispath(item, /atom))
continue
- var/icon_file = initial(item.icon)
+ var/icon_file
+ // if (initial(item.greyscale_colors) && initial(item.greyscale_config))
+ // icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors))
+ // else
+ icon_file = initial(item.icon)
var/icon_state = initial(item.icon_state)
var/icon/I
@@ -543,6 +528,35 @@
// Insert(id, fish_icon, fish_icon_state)
// ..()
+/datum/asset/simple/adventure
+ assets = list(
+ "default" = 'icons/ui_icons/adventure/default.png',
+ "grue" = 'icons/ui_icons/adventure/grue.png',
+ "signal_lost" ='icons/ui_icons/adventure/signal_lost.png',
+ "trade" = 'icons/ui_icons/adventure/trade.png',
+ )
+
+/datum/asset/simple/inventory
+ assets = list(
+ "inventory-glasses.png" = 'icons/ui_icons/inventory/glasses.png',
+ "inventory-head.png" = 'icons/ui_icons/inventory/head.png',
+ "inventory-neck.png" = 'icons/ui_icons/inventory/neck.png',
+ "inventory-mask.png" = 'icons/ui_icons/inventory/mask.png',
+ "inventory-ears.png" = 'icons/ui_icons/inventory/ears.png',
+ "inventory-uniform.png" = 'icons/ui_icons/inventory/uniform.png',
+ "inventory-suit.png" = 'icons/ui_icons/inventory/suit.png',
+ "inventory-gloves.png" = 'icons/ui_icons/inventory/gloves.png',
+ "inventory-hand_l.png" = 'icons/ui_icons/inventory/hand_l.png',
+ "inventory-hand_r.png" = 'icons/ui_icons/inventory/hand_r.png',
+ "inventory-shoes.png" = 'icons/ui_icons/inventory/shoes.png',
+ "inventory-suit_storage.png" = 'icons/ui_icons/inventory/suit_storage.png',
+ "inventory-id.png" = 'icons/ui_icons/inventory/id.png',
+ "inventory-belt.png" = 'icons/ui_icons/inventory/belt.png',
+ "inventory-back.png" = 'icons/ui_icons/inventory/back.png',
+ "inventory-pocket.png" = 'icons/ui_icons/inventory/pocket.png',
+ "inventory-collar.png" = 'icons/ui_icons/inventory/collar.png',
+ )
+
/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/sanitize_css_class_name(name)
var/static/regex/regex = new(@"[^a-zA-Z0-9]","g")
@@ -550,5 +564,34 @@
/datum/asset/simple/tutorial_advisors
assets = list(
- "chem_help_advisor.gif" = 'icons/UI_Icons/Advisors/chem_help_advisor.gif',
+ "chem_help_advisor.gif" = 'icons/ui_icons/advisors/chem_help_advisor.gif',
)
+
+// /datum/asset/spritesheet/moods
+// name = "moods"
+// var/iconinserted = 1
+
+// /datum/asset/spritesheet/moods/register()
+// for(var/i in 1 to 9)
+// var/target_to_insert = "mood"+"[iconinserted]"
+// Insert(target_to_insert, 'icons/hud/screen_gen.dmi', target_to_insert)
+// iconinserted++
+// ..()
+
+// /datum/asset/spritesheet/moods/ModifyInserted(icon/pre_asset)
+// var/blended_color
+// switch(iconinserted)
+// if(1)
+// blended_color = "#f15d36"
+// if(2 to 3)
+// blended_color = "#f38943"
+// if(4)
+// blended_color = "#dfa65b"
+// if(5)
+// blended_color = "#4b96c4"
+// if(6)
+// blended_color = "#86d656"
+// else
+// blended_color = "#2eeb9a"
+// pre_asset.Blend(blended_color, ICON_MULTIPLY)
+// return pre_asset
diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm
index f5a1af4f05..b2da2602ae 100644
--- a/code/modules/asset_cache/transports/asset_transport.dm
+++ b/code/modules/asset_cache/transports/asset_transport.dm
@@ -115,7 +115,7 @@
if (unreceived.len)
if (unreceived.len >= ASSET_CACHE_TELL_CLIENT_AMOUNT)
- to_chat(client, "Sending Resources...")
+ to_chat(client, "Sending Resources...")
for (var/asset_name in unreceived)
var/new_asset_name = asset_name
diff --git a/code/modules/atmospherics/auxgm/gas_types.dm b/code/modules/atmospherics/auxgm/gas_types.dm
index 6faa3d55d6..aaf3945aac 100644
--- a/code/modules/atmospherics/auxgm/gas_types.dm
+++ b/code/modules/atmospherics/auxgm/gas_types.dm
@@ -43,6 +43,7 @@
)
)
fusion_power = 3
+ enthalpy = -393500
/datum/gas/plasma
id = GAS_PLASMA
@@ -54,7 +55,10 @@
heat_penalty = 15
transmit_modifier = 4
powermix = 1
- // no fire info cause it has its own bespoke reaction for trit generation reasons
+ fire_burn_rate = OXYGEN_BURN_RATE_BASE // named when plasma fires were the only fires, surely
+ fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
+ fire_products = "plasma_fire"
+ enthalpy = FIRE_PLASMA_ENERGY_RELEASED // 3000000, 3 megajoules, 3000 kj
/datum/gas/water_vapor
id = GAS_H2O
@@ -64,6 +68,7 @@
moles_visible = MOLES_GAS_VISIBLE
fusion_power = 8
heat_penalty = 8
+ enthalpy = -241800 // FIRE_HYDROGEN_ENERGY_RELEASED is actually what this was supposed to be
powermix = 1
breath_reagent = /datum/reagent/water
@@ -84,6 +89,7 @@
fire_products = list(GAS_N2 = 1)
oxidation_rate = 0.5
oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + 100
+ enthalpy = 81600
heat_resistance = 6
/datum/gas/nitryl
@@ -95,8 +101,22 @@
flags = GAS_FLAG_DANGEROUS
fusion_power = 15
fire_products = list(GAS_N2 = 0.5)
+ enthalpy = 33200
oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50
+/datum/gas/hydrogen
+ id = GAS_HYDROGEN
+ specific_heat = 10
+ name = "Hydrogen"
+ flags = GAS_FLAG_DANGEROUS
+ fusion_power = 0
+ powermix = 1
+ heat_penalty = 3
+ transmit_modifier = 10
+ fire_products = list(GAS_H2O = 1)
+ fire_burn_rate = 2
+ fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50
+
/datum/gas/tritium
id = GAS_TRITIUM
specific_heat = 10
@@ -108,13 +128,11 @@
powermix = 1
heat_penalty = 10
transmit_modifier = 30
- /*
- these are for when we add hydrogen, trit gets to keep its hardcoded fire for legacy reasons
- fire_provides = list(GAS_H2O = 2)
+ fire_products = list(GAS_H2O = 1)
+ enthalpy = 40000
fire_burn_rate = 2
- fire_energy_released = FIRE_HYDROGEN_ENERGY_RELEASED
+ fire_radiation_released = 50 // arbitrary number, basically 60 moles of trit burning will just barely start to harm you
fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50
- */
/datum/gas/bz
id = GAS_BZ
@@ -124,6 +142,7 @@
fusion_power = 8
powermix = 1
heat_penalty = 5
+ enthalpy = FIRE_CARBON_ENERGY_RELEASED // it is a mystery
transmit_modifier = -2
radioactivity_modifier = 5
@@ -139,7 +158,8 @@
name = "Pluoxium"
fusion_power = 10
oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST * 1000 // it is VERY stable
- oxidation_rate = 8
+ oxidation_rate = 8 // when it can oxidize, it can oxidize a LOT
+ enthalpy = -50000 // but it reduces the heat output a bit
powermix = -1
heat_penalty = -1
transmit_modifier = -5
@@ -172,7 +192,7 @@
alert_type = /atom/movable/screen/alert/too_much_ch4
)
)
- fire_energy_released = FIRE_CARBON_ENERGY_RELEASED
+ enthalpy = -74600
fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
/datum/gas/methyl_bromide
@@ -192,7 +212,28 @@
alert_type = /atom/movable/screen/alert/too_much_ch3br
)
)
- fire_products = list(GAS_CO2 = 1, GAS_H2O = 1.5, GAS_BZ = 0.5)
- fire_energy_released = FIRE_CARBON_ENERGY_RELEASED
- fire_burn_rate = 0.5
+ fire_products = list(GAS_CO2 = 1, GAS_H2O = 1.5, GAS_BROMINE = 0.5)
+ enthalpy = -35400
+ fire_burn_rate = 4 / 7 // oh no
fire_temperature = 808 // its autoignition, it apparently doesn't spark readily, so i don't put it lower
+
+/datum/gas/bromine
+ id = GAS_BROMINE
+ specific_heat = 76
+ name = "Bromine"
+ flags = GAS_FLAG_DANGEROUS
+ group = GAS_GROUP_CHEMICALS
+ enthalpy = 193 // yeah it's small but it's good to include it
+ breath_reagent = /datum/reagent/bromine
+
+/datum/gas/ammonia
+ id = GAS_AMMONIA
+ specific_heat = 35
+ name = "Ammonia"
+ flags = GAS_FLAG_DANGEROUS
+ group = GAS_GROUP_CHEMICALS
+ enthalpy = -45900
+ breath_reagent = /datum/reagent/ammonia
+ fire_products = list(GAS_H2O = 1.5, GAS_N2 = 0.5)
+ fire_burn_rate = 4/3
+ fire_temperature = 924
diff --git a/code/modules/atmospherics/gasmixtures/auxgm.dm b/code/modules/atmospherics/gasmixtures/auxgm.dm
index 4aa68aa710..2e5dd716ed 100644
--- a/code/modules/atmospherics/gasmixtures/auxgm.dm
+++ b/code/modules/atmospherics/gasmixtures/auxgm.dm
@@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA
/proc/_auxtools_register_gas(datum/gas/gas) // makes sure auxtools knows stuff about this gas
/datum/auxgm
+ var/done_initializing = FALSE
var/list/datums = list()
var/list/specific_heats = list()
var/list/names = list()
@@ -32,30 +33,34 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA
var/list/oxidation_temperatures = list()
var/list/oxidation_rates = list()
var/list/fire_temperatures = list()
- var/list/fire_enthalpies = list()
+ var/list/enthalpies = list()
var/list/fire_products = list()
var/list/fire_burn_rates = list()
var/list/supermatter = list()
-
+ var/list/groups_by_gas = list()
+ var/list/groups = list()
/datum/gas
var/id = ""
var/specific_heat = 0
var/name = ""
var/gas_overlay = "" //icon_state in icons/effects/atmospherics.dmi
+ var/color = "#ffff"
var/moles_visible = null
var/flags = NONE //currently used by canisters
+ var/group = null // groups for scrubber/filter listing
var/fusion_power = 0 // How much the gas destabilizes a fusion reaction
var/breath_results = GAS_CO2 // what breathing this breathes out
- var/breath_reagent = null // what breathing this adds to your reagents
- var/breath_reagent_dangerous = null // what breathing this adds to your reagents IF it's above a danger threshold
+ var/datum/reagent/breath_reagent = null // what breathing this adds to your reagents
+ var/datum/reagent/breath_reagent_dangerous = null // what breathing this adds to your reagents IF it's above a danger threshold
var/list/breath_alert_info = null // list for alerts that pop up when you have too much/not enough of something
var/oxidation_temperature = null // temperature above which this gas is an oxidizer; null for none
var/oxidation_rate = 1 // how many moles of this can oxidize how many moles of material
var/fire_temperature = null // temperature above which gas may catch fire; null for none
var/list/fire_products = null // what results when this gas is burned (oxidizer or fuel); null for none
- var/fire_energy_released = 0 // how much energy is released per mole of fuel burned
+ var/enthalpy = 0 // Standard enthalpy of formation in joules, used for fires
var/fire_burn_rate = 1 // how many moles are burned per product released
+ var/fire_radiation_released = 0 // How much radiation is released when this gas burns
var/powermix = 0 // how much this gas contributes to the supermatter's powermix ratio
var/heat_penalty = 0 // heat and waste penalty from having the supermatter crystal surrounded by this gas; negative numbers reduce
var/transmit_modifier = 0 // bonus to supermatter power generation (multiplicative, since it's % based, and divided by 10)
@@ -94,21 +99,31 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA
breath_reagents[g] = gas.breath_reagent
if(gas.breath_reagent_dangerous)
breath_reagents_dangerous[g] = gas.breath_reagent_dangerous
-
if(gas.oxidation_temperature)
oxidation_temperatures[g] = gas.oxidation_temperature
oxidation_rates[g] = gas.oxidation_rate
if(gas.fire_products)
fire_products[g] = gas.fire_products
- fire_enthalpies[g] = gas.fire_energy_released
+ enthalpies[g] = gas.enthalpy
else if(gas.fire_temperature)
fire_temperatures[g] = gas.fire_temperature
fire_burn_rates[g] = gas.fire_burn_rate
if(gas.fire_products)
fire_products[g] = gas.fire_products
- fire_enthalpies[g] = gas.fire_energy_released
+ enthalpies[g] = gas.enthalpy
+ if(gas.group)
+ if(!(gas.group in groups))
+ groups[gas.group] = list()
+ groups[gas.group] += gas
+ groups_by_gas[g] = gas.group
add_supermatter_properties(gas)
_auxtools_register_gas(gas)
+ if(done_initializing)
+ for(var/r in SSair.gas_reactions)
+ var/datum/gas_reaction/R = r
+ R.init_reqs()
+ SSair.auxtools_update_reactions()
+ SEND_GLOBAL_SIGNAL(COMSIG_GLOB_NEW_GAS, g)
/proc/finalize_gas_refs()
@@ -127,6 +142,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA
for(var/breathing_class_path in subtypesof(/datum/breathing_class))
var/datum/breathing_class/class = new breathing_class_path
breathing_classes[breathing_class_path] = class
+ done_initializing = TRUE
finalize_gas_refs()
diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm
index 19cd865bd0..a6429a0754 100644
--- a/code/modules/atmospherics/gasmixtures/reactions.dm
+++ b/code/modules/atmospherics/gasmixtures/reactions.dm
@@ -53,23 +53,68 @@
id = "vapor"
/datum/gas_reaction/water_vapor/init_reqs()
- min_requirements = list(GAS_H2O = MOLES_GAS_VISIBLE)
+ min_requirements = list(
+ GAS_H2O = MOLES_GAS_VISIBLE,
+ "MAX_TEMP" = T0C + 40
+ )
/datum/gas_reaction/water_vapor/react(datum/gas_mixture/air, datum/holder)
- var/turf/open/location = isturf(holder) ? holder : null
- . = NO_REACTION
+ var/turf/open/location = holder
+ if(!istype(location))
+ return NO_REACTION
if (air.return_temperature() <= WATER_VAPOR_FREEZE)
if(location && location.freon_gas_act())
- . = REACTING
+ return REACTING
else if(location && location.water_vapor_gas_act())
air.adjust_moles(GAS_H2O,-MOLES_GAS_VISIBLE)
- . = REACTING
+ return REACTING
// no test cause it's entirely based on location
+/datum/gas_reaction/condensation
+ priority = 0
+ name = "Condensation"
+ id = "condense"
+ exclude = TRUE
+ var/datum/reagent/condensing_reagent
+
+/datum/gas_reaction/condensation/New(datum/reagent/R)
+ . = ..()
+ if(!istype(R))
+ return
+ min_requirements = list(
+ "MAX_TEMP" = initial(R.boiling_point)
+ )
+ min_requirements[R.get_gas()] = MOLES_GAS_VISIBLE
+ name = "[R.name] condensation"
+ id = "[R.type] condensation"
+ condensing_reagent = R
+ exclude = FALSE
+
+/datum/gas_reaction/condensation/react(datum/gas_mixture/air, datum/holder)
+ . = NO_REACTION
+ var/turf/open/location = holder
+ if(!istype(location))
+ return
+ var/temperature = air.return_temperature()
+ var/static/datum/reagents/reagents_holder = new
+ reagents_holder.clear_reagents()
+ reagents_holder.chem_temp = temperature
+ var/G = condensing_reagent.get_gas()
+ var/amt = air.get_moles(G)
+ air.adjust_moles(G, -min(initial(condensing_reagent.condensation_amount), amt))
+ reagents_holder.add_reagent(condensing_reagent, amt)
+ . = REACTING
+ for(var/atom/movable/AM in location)
+ if(location.intact && AM.level == 1)
+ continue
+ reagents_holder.reaction(AM, TOUCH)
+ reagents_holder.reaction(location, TOUCH)
+
//tritium combustion: combustion of oxygen and tritium (treated as hydrocarbons). creates hotspots. exothermic
/datum/gas_reaction/tritfire
priority = -1 //fire should ALWAYS be last, but tritium fires happen before plasma fires
+ exclude = TRUE // generic fire now takes care of this
name = "Tritium Combustion"
id = "tritfire"
@@ -88,9 +133,9 @@
item.temperature_expose(air, temperature, CELL_VOLUME)
location.temperature_expose(air, temperature, CELL_VOLUME)
-/proc/radiation_burn(turf/open/location, energy_released)
+/proc/radiation_burn(turf/open/location, rad_power)
if(istype(location) && prob(10))
- radiation_pulse(location, energy_released/TRITIUM_BURN_RADIOACTIVITY_FACTOR)
+ radiation_pulse(location, rad_power)
/datum/gas_reaction/tritfire/react(datum/gas_mixture/air, datum/holder)
var/energy_released = 0
@@ -151,6 +196,7 @@
/datum/gas_reaction/plasmafire
priority = -2 //fire should ALWAYS be last, but plasma fires happen after tritium fires
name = "Plasma Combustion"
+ exclude = TRUE // generic fire now takes care of this
id = "plasmafire"
/datum/gas_reaction/plasmafire/init_reqs()
@@ -300,7 +346,7 @@
fuels[fuel] *= oxidation_ratio
fuels += oxidizers
var/list/fire_products = GLOB.gas_data.fire_products
- var/list/fire_enthalpies = GLOB.gas_data.fire_enthalpies
+ var/list/fire_enthalpies = GLOB.gas_data.enthalpies
for(var/fuel in fuels + oxidizers)
var/amt = fuels[fuel]
if(!burn_results[fuel])
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index 2313d9c71d..5ea4be80cb 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -535,7 +535,7 @@
for(var/device_id in A.air_scrub_names)
send_signal(device_id, list(
"power" = 1,
- "set_filters" = list(GAS_CO2, GAS_MIASMA),
+ "set_filters" = list(GAS_CO2, GAS_MIASMA, GAS_GROUP_CHEMICALS),
"scrubbing" = 1,
"widenet" = 0,
))
@@ -554,6 +554,7 @@
GAS_MIASMA,
GAS_PLASMA,
GAS_H2O,
+ GAS_HYDROGEN,
GAS_HYPERNOB,
GAS_NITROUS,
GAS_NITRYL,
@@ -562,7 +563,8 @@
GAS_STIMULUM,
GAS_PLUOXIUM,
GAS_METHANE,
- GAS_METHYL_BROMIDE
+ GAS_METHYL_BROMIDE,
+ GAS_GROUP_CHEMICALS
),
"scrubbing" = 1,
"widenet" = 1,
@@ -582,9 +584,16 @@
))
for(var/device_id in A.air_vent_names)
send_signal(device_id, list(
+ "is_pressurizing" = 1,
"power" = 1,
"checks" = 1,
- "set_external_pressure" = ONE_ATMOSPHERE*2
+ "set_external_pressure" = ONE_ATMOSPHERE*1.4
+ ))
+ send_signal(device_id, list(
+ "is_siphoning" = 1,
+ "power" = 1,
+ "checks" = 1,
+ "set_external_pressure" = ONE_ATMOSPHERE/1.4
))
if(AALARM_MODE_REFILL)
for(var/device_id in A.air_scrub_names)
@@ -596,10 +605,15 @@
))
for(var/device_id in A.air_vent_names)
send_signal(device_id, list(
+ "is_pressurizing" = 1,
"power" = 1,
"checks" = 1,
"set_external_pressure" = ONE_ATMOSPHERE * 3
))
+ send_signal(device_id, list(
+ "is_siphoning" = 1,
+ "power" = 0,
+ ))
if(AALARM_MODE_PANIC,
AALARM_MODE_REPLACEMENT)
for(var/device_id in A.air_scrub_names)
@@ -610,8 +624,14 @@
))
for(var/device_id in A.air_vent_names)
send_signal(device_id, list(
+ "is_pressurizing" = 1,
"power" = 0
))
+ send_signal(device_id, list(
+ "is_siphoning" = 1,
+ "power" = 1,
+ "checks" = 0
+ ))
if(AALARM_MODE_SIPHON)
for(var/device_id in A.air_scrub_names)
send_signal(device_id, list(
@@ -621,9 +641,14 @@
))
for(var/device_id in A.air_vent_names)
send_signal(device_id, list(
+ "is_pressurizing" = 1,
"power" = 0
))
-
+ send_signal(device_id, list(
+ "is_siphoning" = 1,
+ "power" = 1,
+ "checks" = 0
+ ))
if(AALARM_MODE_OFF)
for(var/device_id in A.air_scrub_names)
send_signal(device_id, list(
@@ -641,8 +666,12 @@
for(var/device_id in A.air_vent_names)
send_signal(device_id, list(
"power" = 1,
- "checks" = 2,
- "set_internal_pressure" = 0
+ "checks" = 0,
+ "is_pressurizing" = 1
+ ))
+ send_signal(device_id, list(
+ "power" = 0,
+ "is_siphoning" = 1
))
/obj/machinery/airalarm/update_icon_state()
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
index 56a7d78288..ac8ed537b5 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
@@ -29,13 +29,16 @@ Passive gate is similar to the regular pump except:
/obj/machinery/atmospherics/components/binary/passive_gate/CtrlClick(mob/user)
if(can_interact(user))
on = !on
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
update_icon()
return ..()
/obj/machinery/atmospherics/components/binary/passive_gate/AltClick(mob/user)
if(can_interact(user))
target_pressure = MAX_OUTPUT_PRESSURE
- update_icon()
+ investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "pressure output set to [target_pressure] kPa")
+ update_appearance()
return ..()
/obj/machinery/atmospherics/components/binary/passive_gate/Destroy()
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
index dc5a6eccd4..a8d82282d6 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
@@ -33,25 +33,19 @@
. += "You can hold Alt and click on it to maximize its pressure."
/obj/machinery/atmospherics/components/binary/pump/CtrlClick(mob/user)
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
- if(user.canUseTopic(src, BE_CLOSE, FALSE,))
+ if(can_interact(user))
on = !on
- update_icon()
- investigate_log("Pump, [src.name], turned on by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
- message_admins("Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
- return ..()
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
+ update_appearance()
+ return ..()
/obj/machinery/atmospherics/components/binary/pump/AltClick(mob/user)
- . = ..()
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
- if(user.canUseTopic(src, BE_CLOSE, FALSE,))
+ if(can_interact(user))
target_pressure = MAX_OUTPUT_PRESSURE
- to_chat(user,"You maximize the pressure on the [src].")
- investigate_log("Pump, [src.name], was maximized by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
- message_admins("Pump, [src.name], was maximized by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
- return TRUE
+ investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "pressure output set to [target_pressure] kPa")
+ update_appearance()
+ return ..()
/obj/machinery/atmospherics/components/binary/pump/Destroy()
SSradio.remove_object(src,frequency)
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
index 46d584339b..f5f0064558 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
@@ -33,15 +33,20 @@
. += "You can hold Alt and click on it to maximize its pressure."
/obj/machinery/atmospherics/components/binary/volume_pump/CtrlClick(mob/user)
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
if(user.canUseTopic(src, BE_CLOSE, FALSE,))
on = !on
- update_icon()
- investigate_log("Volume Pump, [src.name], turned on by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
- message_admins("Volume Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
+ update_appearance()
return ..()
+/obj/machinery/atmospherics/components/binary/volume_pump/AltClick(mob/user)
+ if(can_interact(user))
+ transfer_rate = MAX_TRANSFER_RATE
+ investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "volume output set to [transfer_rate] L/s")
+ update_appearance()
+ return ..()
+
/obj/machinery/atmospherics/components/binary/volume_pump/Destroy()
SSradio.remove_object(src,frequency)
return ..()
diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
index 4182f5ceca..fd89e26792 100644
--- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
+++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
@@ -20,25 +20,19 @@
. += "You can hold Alt and click on it to maximize its flow rate."
/obj/machinery/atmospherics/components/trinary/filter/CtrlClick(mob/user)
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
if(user.canUseTopic(src, BE_CLOSE, FALSE,))
on = !on
- update_icon()
- investigate_log("Filter, [src.name], turned on by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
- message_admins("Filter, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
+ update_appearance()
return ..()
/obj/machinery/atmospherics/components/trinary/filter/AltClick(mob/user)
- . = ..()
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
- if(user.canUseTopic(src, BE_CLOSE, FALSE,))
+ if(can_interact(user))
transfer_rate = MAX_TRANSFER_RATE
- to_chat(user,"You maximize the flow rate on the [src].")
- investigate_log("Filter, [src.name], was maximized by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
- message_admins("Filter, [src.name], was maximized by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
- return TRUE
+ investigate_log("was set to [transfer_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "volume output set to [transfer_rate] L/s")
+ update_appearance()
+ return ..()
/obj/machinery/atmospherics/components/trinary/filter/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
@@ -100,7 +94,10 @@
if(transfer_ratio > 0)
if(filter_type && air2.return_pressure() <= 9000)
- air1.scrub_into(air2, transfer_ratio, list(filter_type))
+ if(filter_type in GLOB.gas_data.groups)
+ air1.scrub_into(air2, transfer_ratio, GLOB.gas_data.groups[filter_type])
+ else
+ air1.scrub_into(air2, transfer_ratio, list(filter_type))
if(air3.return_pressure() <= 9000)
air1.transfer_ratio_to(air3, transfer_ratio)
@@ -125,8 +122,10 @@
data["filter_types"] = list()
data["filter_types"] += list(list("name" = "Nothing", "id" = "", "selected" = !filter_type))
for(var/id in GLOB.gas_data.ids)
- data["filter_types"] += list(list("name" = GLOB.gas_data.names[id], "id" = id, "selected" = (id == filter_type)))
-
+ if(!(id in GLOB.gas_data.groups_by_gas))
+ data["filter_types"] += list(list("name" = GLOB.gas_data.names[id], "id" = id, "selected" = (id == filter_type)))
+ for(var/group in GLOB.gas_data.groups)
+ data["filter_types"] += list(list("name" = group, "id" = group, "selected" = (group == filter_type)))
return data
/obj/machinery/atmospherics/components/trinary/filter/ui_act(action, params)
diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
index 3296981e5e..49d6a71f78 100644
--- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
+++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
@@ -17,35 +17,27 @@
//node 3 is the outlet, nodes 1 & 2 are intakes
/obj/machinery/atmospherics/components/trinary/mixer/CtrlClick(mob/user)
- if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
+ if(can_interact(user))
on = !on
- update_icon()
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
+ update_appearance()
return ..()
/obj/machinery/atmospherics/components/trinary/mixer/AltClick(mob/user)
- if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
+ if(can_interact(user))
target_pressure = MAX_OUTPUT_PRESSURE
- update_icon()
+ investigate_log("was set to [target_pressure] kPa by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "pressure output on set to [target_pressure] kPa")
+ update_appearance()
return ..()
- //node 3 is the outlet, nodes 1 & 2 are intakes
-
-/obj/machinery/atmospherics/components/trinary/mixer/update_icon()
- cut_overlays()
+/obj/machinery/atmospherics/components/trinary/mixer/update_overlays()
+ . = ..()
for(var/direction in GLOB.cardinals)
if(!(direction & initialize_directions))
continue
- var/obj/machinery/atmospherics/node = findConnecting(direction)
- var/image/cap
- if(node)
- cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer)
- else
- cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer)
-
- add_overlay(cap)
-
- return ..()
+ . += getpipeimage(icon, "cap", direction, pipe_color, piping_layer, TRUE)
/obj/machinery/atmospherics/components/trinary/mixer/update_icon_nopipes()
var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational()
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
index 6c9ce28bc7..c652a7f791 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
@@ -439,7 +439,7 @@
return // we don't see the pipe network while inside cryo.
/obj/machinery/atmospherics/components/unary/cryo_cell/get_remote_view_fullscreens(mob/user)
- user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1)
+ user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/scaled/impaired, 1)
/obj/machinery/atmospherics/components/unary/cryo_cell/can_crawl_through()
return // can't ventcrawl in or out of cryo.
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
index b2fa26edba..c1990a0ffe 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
@@ -24,13 +24,16 @@
/obj/machinery/atmospherics/components/unary/outlet_injector/CtrlClick(mob/user)
if(can_interact(user))
on = !on
- update_icon()
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(user)]", INVESTIGATE_ATMOS)
+ update_appearance()
return ..()
/obj/machinery/atmospherics/components/unary/outlet_injector/AltClick(mob/user)
if(can_interact(user))
volume_rate = MAX_TRANSFER_RATE
- update_icon()
+ investigate_log("was set to [volume_rate] L/s by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "volume output set to [volume_rate] L/s")
+ update_appearance()
return ..()
/obj/machinery/atmospherics/components/unary/outlet_injector/Destroy()
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
index cff08d0d02..80a8ee4bf3 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
@@ -217,16 +217,11 @@
min_temperature = max(T0C - (initial(min_temperature) + L * 15), TCMB) //73.15K with T1 stock parts
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/AltClick(mob/living/user)
- . = ..()
- var/area/A = get_area(src)
- var/turf/T = get_turf(src)
- if(!istype(user) || !user.canUseTopic(src, BE_CLOSE))
+ if(!can_interact(user))
return
target_temperature = min_temperature
- to_chat(user,"You minimize the temperature on the [src].")
- investigate_log("was set to [target_temperature] K by [key_name(usr)]", INVESTIGATE_ATMOS)
- message_admins("[src.name] was minimized by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
- return TRUE
+ investigate_log("was set to [target_temperature] K by [key_name(user)]", INVESTIGATE_ATMOS)
+ balloon_alert(user, "temperature reset to [target_temperature] K")
/obj/machinery/atmospherics/components/unary/thermomachine/heater
name = "heater"
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index a3644ed084..deafe7a9f0 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -178,6 +178,9 @@
var/mob/signal_sender = signal.data["user"]
+ if((("is_siphoning" in signal.data) && pump_direction == RELEASING) || (("is_pressurizing" in signal.data) && pump_direction == SIPHONING))
+ return
+
if("purge" in signal.data)
pressure_checks &= ~EXT_BOUND
pump_direction = SIPHONING
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index 90d5f077a5..098618bc65 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -18,7 +18,8 @@
var/id_tag = null
var/scrubbing = SCRUBBING //0 = siphoning, 1 = scrubbing
- var/filter_types = list(GAS_CO2)
+ var/filter_types = list(GAS_CO2, GAS_MIASMA, GAS_GROUP_CHEMICALS)
+ var/list/clean_filter_types = null
var/volume_rate = 200
var/widenet = 0 //is this scrubber acting on the 3x3 area around it.
var/list/turf/adjacent_turfs = list()
@@ -34,6 +35,16 @@
..()
if(!id_tag)
id_tag = assign_uid_vents()
+ generate_clean_filter_types()
+ RegisterSignal(SSdcs,COMSIG_GLOB_NEW_GAS,.proc/generate_clean_filter_types)
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/proc/generate_clean_filter_types()
+ clean_filter_types = list()
+ for(var/id in filter_types)
+ if(id in GLOB.gas_data.groups)
+ clean_filter_types += GLOB.gas_data.groups[id]
+ else
+ clean_filter_types += id
/obj/machinery/atmospherics/components/unary/vent_scrubber/Destroy()
var/area/A = get_base_area(src)
@@ -95,7 +106,11 @@
var/list/f_types = list()
for(var/id in GLOB.gas_data.ids)
- f_types += list(list("gas_id" = id, "gas_name" = GLOB.gas_data.names[id], "enabled" = (id in filter_types)))
+ if(!(id in GLOB.gas_data.groups_by_gas))
+ f_types += list(list("gas_id" = id, "gas_name" = GLOB.gas_data.names[id], "enabled" = (id in filter_types)))
+
+ for(var/group in GLOB.gas_data.groups)
+ f_types += list(list("gas_id" = group, "gas_name" = group, "enabled" = (group in filter_types)))
var/datum/signal/signal = new(list(
"tag" = id_tag,
@@ -147,11 +162,11 @@
var/datum/gas_mixture/environment = tile.return_air()
var/datum/gas_mixture/air_contents = airs[1]
- if(air_contents.return_pressure() >= 50*ONE_ATMOSPHERE || !islist(filter_types))
+ if(air_contents.return_pressure() >= 50*ONE_ATMOSPHERE || !islist(clean_filter_types))
return FALSE
if(scrubbing & SCRUBBING)
- environment.scrub_into(air_contents, volume_rate/environment.return_volume(), filter_types)
+ environment.scrub_into(air_contents, volume_rate/environment.return_volume(), clean_filter_types)
tile.air_update_turf()
@@ -205,11 +220,13 @@
if("toggle_filter" in signal.data)
filter_types ^= signal.data["toggle_filter"]
+ generate_clean_filter_types()
if("set_filters" in signal.data)
filter_types = list()
for(var/gas in signal.data["set_filters"])
filter_types += gas
+ generate_clean_filter_types()
if("init" in signal.data)
name = signal.data["init"]
diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
index bc8fd6777d..d019a03140 100644
--- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
@@ -70,9 +70,9 @@
/obj/machinery/atmospherics/pipe/layer_manifold/SetInitDirections()
switch(dir)
- if(NORTH || SOUTH)
+ if(NORTH, SOUTH)
initialize_directions = NORTH|SOUTH
- if(EAST || WEST)
+ if(EAST, WEST)
initialize_directions = EAST|WEST
/obj/machinery/atmospherics/pipe/layer_manifold/isConnectable(obj/machinery/atmospherics/target, given_layer)
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index cd5c2f76f3..668a8dcb92 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -33,6 +33,10 @@
var/ghost_usable = TRUE
var/skip_reentry_check = FALSE //Skips the ghost role blacklist time for people who ghost/suicide/cryo
+///override this to add special spawn conditions to a ghost role
+/obj/effect/mob_spawn/proc/allow_spawn(mob/user, silent = FALSE)
+ return TRUE
+
//ATTACK GHOST IGNORING PARENT RETURN VALUE
/obj/effect/mob_spawn/attack_ghost(mob/user, latejoinercalling)
if(!SSticker.HasRoundStarted() || !loc || !ghost_usable)
@@ -43,6 +47,8 @@
if(jobban_isbanned(user, banType))
to_chat(user, "You are jobanned!")
return
+ if(!allow_spawn(user, silent = FALSE))
+ return
if(QDELETED(src) || QDELETED(user))
return
if(isobserver(user))
diff --git a/code/modules/balloon_alert/balloon_alert.dm b/code/modules/balloon_alert/balloon_alert.dm
new file mode 100644
index 0000000000..8a25206ed0
--- /dev/null
+++ b/code/modules/balloon_alert/balloon_alert.dm
@@ -0,0 +1,90 @@
+#define BALLOON_TEXT_WIDTH 200
+#define BALLOON_TEXT_SPAWN_TIME (0.2 SECONDS)
+#define BALLOON_TEXT_FADE_TIME (0.1 SECONDS)
+#define BALLOON_TEXT_FULLY_VISIBLE_TIME (0.7 SECONDS)
+#define BALLOON_TEXT_TOTAL_LIFETIME(mult) (BALLOON_TEXT_SPAWN_TIME + BALLOON_TEXT_FULLY_VISIBLE_TIME*mult + BALLOON_TEXT_FADE_TIME)
+/// The increase in duration per character in seconds
+#define BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT (0.05)
+/// The amount of characters needed before this increase takes into effect
+#define BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN 10
+
+/// Creates text that will float from the atom upwards to the viewer.
+/atom/proc/balloon_alert(mob/viewer, text)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ INVOKE_ASYNC(src, .proc/balloon_alert_perform, viewer, text)
+
+/// Create balloon alerts (text that floats up) to everything within range.
+/// Will only display to people who can see.
+/atom/proc/balloon_alert_to_viewers(message, self_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ var/list/hearers = get_hearers_in_view(vision_distance, src)
+ hearers -= ignored_mobs
+
+ for (var/mob/hearer in hearers)
+ if (hearer.is_blind())
+ continue
+
+ balloon_alert(hearer, (hearer == src && self_message) || message)
+
+// Do not use.
+// MeasureText blocks. I have no idea for how long.
+// I would've made the maptext_height update on its own, but I don't know
+// if this would look bad on laggy clients.
+/atom/proc/balloon_alert_perform(mob/viewer, text)
+ var/client/viewer_client = viewer.client
+ if (isnull(viewer_client))
+ return
+
+ var/bound_width = world.icon_size
+ if (ismovable(src))
+ var/atom/movable/movable_source = src
+ bound_width = movable_source.bound_width
+
+ var/image/balloon_alert = image(loc = get_atom_on_turf(src), layer = ABOVE_MOB_LAYER)
+ balloon_alert.plane = BALLOON_CHAT_PLANE
+ balloon_alert.alpha = 0
+ balloon_alert.appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM
+ balloon_alert.maptext = MAPTEXT("[text]")
+ balloon_alert.maptext_x = (BALLOON_TEXT_WIDTH - bound_width) * -0.5
+ balloon_alert.maptext_height = WXH_TO_HEIGHT(viewer_client?.MeasureText(text, null, BALLOON_TEXT_WIDTH))
+ balloon_alert.maptext_width = BALLOON_TEXT_WIDTH
+
+ viewer_client?.images += balloon_alert
+
+ var/duration_mult = 1
+ var/duration_length = length(text) - BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN
+
+ if(duration_length > 0)
+ duration_mult += duration_length*BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT
+
+ animate(
+ balloon_alert,
+ pixel_y = world.icon_size * 1.2,
+ time = BALLOON_TEXT_TOTAL_LIFETIME(1),
+ easing = SINE_EASING | EASE_OUT,
+ )
+
+ animate(
+ alpha = 255,
+ time = BALLOON_TEXT_SPAWN_TIME,
+ easing = CUBIC_EASING | EASE_OUT,
+ flags = ANIMATION_PARALLEL,
+ )
+
+ animate(
+ alpha = 0,
+ time = BALLOON_TEXT_FULLY_VISIBLE_TIME*duration_mult,
+ easing = CUBIC_EASING | EASE_IN,
+ )
+
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_image_from_client, balloon_alert, viewer_client), BALLOON_TEXT_TOTAL_LIFETIME(duration_mult))
+
+#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN
+#undef BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT
+#undef BALLOON_TEXT_FADE_TIME
+#undef BALLOON_TEXT_FULLY_VISIBLE_TIME
+#undef BALLOON_TEXT_SPAWN_TIME
+#undef BALLOON_TEXT_TOTAL_LIFETIME
+#undef BALLOON_TEXT_WIDTH
diff --git a/code/modules/cargo/packs/vending.dm b/code/modules/cargo/packs/vending.dm
index 6d978d629f..f0f89a49e6 100644
--- a/code/modules/cargo/packs/vending.dm
+++ b/code/modules/cargo/packs/vending.dm
@@ -52,7 +52,7 @@
desc = "Packs of tools waiting to be used for repairing. Contains a tool and engineering vending machine refill. Requires CE access."
cost = 5500 //Powerfull
access = ACCESS_CE
- contains = list(/obj/item/vending_refill/tool,
+ contains = list(/obj/item/vending_refill/youtool,
/obj/item/vending_refill/engivend)
crate_name = "engineering supply crate"
crate_type = /obj/structure/closet/crate/secure/engineering
diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm
index 749e1ad247..2bdd84141c 100644
--- a/code/modules/cargo/supplypod.dm
+++ b/code/modules/cargo/supplypod.dm
@@ -648,7 +648,7 @@
desc = "This disk provides a firmware update to the Express Supply Console, granting the use of Nanotrasen's Bluespace Drop Pods to the supply department."
icon = 'icons/obj/module.dmi'
icon_state = "cargodisk"
- // inhand_icon_state = "card-id"
+ // item_state = "card-id"
w_class = WEIGHT_CLASS_SMALL
// let's not.
diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm
index 950b2b5b25..41c4480c74 100644
--- a/code/modules/client/client_defines.dm
+++ b/code/modules/client/client_defines.dm
@@ -4,6 +4,16 @@
//BLACK MAGIC THINGS//
//////////////////////
parent_type = /datum
+
+ ///////////////
+ // Rendering //
+ ///////////////
+
+ /// Click catcher
+ var/atom/movable/screen/click_catcher/click_catcher
+ /// Parallax holder
+ var/datum/parallax_holder/parallax_holder
+
////////////////
//ADMIN THINGS//
////////////////
@@ -34,6 +44,9 @@
var/last_move = 0
var/area = null
+ /// Timers are now handled by clients, not by doing a mess on the item and multiple people overwriting a single timer on the object, have fun.
+ var/tip_timer = null
+
/// Last time we Click()ed. No clicking twice in one tick!
var/last_click = 0
@@ -150,20 +163,6 @@
///When was the last time we warned them about not cryoing without an ahelp, set to -5 minutes so that rounstart cryo still warns
var/cryo_warned = -5 MINUTES
- var/list/parallax_layers
- var/list/parallax_layers_cached
- var/atom/movable/movingmob
- var/turf/previous_turf
- ///world.time of when we can state animate()ing parallax again
- var/dont_animate_parallax
- ///world.time of last parallax update
- var/last_parallax_shift
- ///ds between parallax updates
- var/parallax_throttle = 0
- var/parallax_movedir = 0
- var/parallax_layers_max = 3
- var/parallax_animate_timer
-
/**
* Assoc list with all the active maps - when a screen obj is added to
* a map, it's put in here as well.
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 6f4c357eef..9948802bc9 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -79,19 +79,16 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
// Tgui Topic middleware
if(tgui_Topic(href_list))
- if(CONFIG_GET(flag/emergency_tgui_logging))
- log_href("[src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]")
return
if(href_list["reload_tguipanel"])
nuke_chat()
if(href_list["reload_statbrowser"])
src << browse(file('html/statbrowser.html'), "window=statbrowser")
+ // Log all hrefs
+ log_href("[src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]")
last_activity = world.time
- //Logs all hrefs
- log_href("[src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]")
-
//byond bug ID:2256651
if (asset_cache_job && (asset_cache_job in completed_asset_jobs))
to_chat(src, "An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)")
@@ -357,13 +354,19 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
return
// Initialize tgui panel
- tgui_panel.initialize()
src << browse(file('html/statbrowser.html'), "window=statbrowser")
addtimer(CALLBACK(src, .proc/check_panel_loaded), 30 SECONDS)
+ tgui_panel.initialize()
- if(alert_mob_dupe_login)
- spawn()
- alert(mob, "You have logged in already with another key this round, please log out of this one NOW or risk being banned!")
+ if(alert_mob_dupe_login && !holder)
+ var/dupe_login_message = "Your ComputerID has already logged in with another key this round, please log out of this one NOW or risk being banned!"
+ // if (alert_admin_multikey)
+ // dupe_login_message += "\nAdmins have been informed."
+ // message_admins(span_danger("MULTIKEYING: [key_name_admin(src)] has a matching CID+IP with another player and is clearly multikeying. They have been warned to leave the server or risk getting banned."))
+ // log_admin_private("MULTIKEYING: [key_name(src)] has a matching CID+IP with another player and is clearly multikeying. They have been warned to leave the server or risk getting banned.")
+ spawn(0.5 SECONDS) //needs to run during world init, do not convert to add timer
+ alert(mob, dupe_login_message) //players get banned if they don't see this message, do not convert to tgui_alert (or even tg_alert) please.
+ to_chat(mob, span_danger(dupe_login_message))
connection_time = world.time
connection_realtime = world.realtime
@@ -441,8 +444,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
send_resources()
- generate_clickcatcher()
- apply_clickcatcher()
+ update_clickcatcher()
if(prefs.lastchangelog != GLOB.changelog_hash) //bolds the changelog button on the interface so we know there are updates.
to_chat(src, "You have unread updates in the changelog.")
@@ -532,9 +534,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
send2adminchat("Server", "[cheesy_message] (No admins online)")
QDEL_LIST_ASSOC_VAL(char_render_holders)
- if(movingmob != null)
- movingmob.client_mobs_in_contents -= mob
- UNSETEMPTY(movingmob.client_mobs_in_contents)
// seen_messages = null
Master.UpdateTickRate()
. = ..() //Even though we're going to be hard deleted there are still some things that want to know the destroy is happening
@@ -1011,7 +1010,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
var/list/old_view = getviewsize(view)
view = new_size
var/list/actualview = getviewsize(view)
- apply_clickcatcher(actualview)
+ update_clickcatcher()
+ parallax_holder.Reset()
mob.reload_fullscreen()
if (isliving(mob))
var/mob/living/M = mob
@@ -1020,33 +1020,31 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
addtimer(CALLBACK(src,.verb/fit_viewport,10)) //Delayed to avoid wingets from Login calls.
SEND_SIGNAL(mob, COMSIG_MOB_CLIENT_CHANGE_VIEW, src, old_view, actualview)
-/client/proc/generate_clickcatcher()
- if(!void)
- void = new()
- screen += void
-
-/client/proc/apply_clickcatcher(list/actualview)
- generate_clickcatcher()
- if(!actualview)
- actualview = getviewsize(view)
- void.UpdateGreed(actualview[1],actualview[2])
-
/client/proc/AnnouncePR(announcement)
if(prefs && prefs.chat_toggles & CHAT_PULLR)
to_chat(src, announcement)
-/client/proc/show_character_previews(mutable_appearance/MA)
+/client/proc/show_character_previews(mutable_appearance/source)
+ LAZYINITLIST(char_render_holders)
+ if(!LAZYLEN(char_render_holders))
+ for(var/plane_master_path as anything in subtypesof(/atom/movable/screen/plane_master))
+ var/atom/movable/screen/plane_master/plane_master = new plane_master_path()
+ char_render_holders["plane_master-[plane_master.plane]"] = plane_master
+ plane_master.backdrop(mob)
+ screen |= plane_master
+ plane_master.screen_loc = "character_preview_map:0,CENTER"
+
var/pos = 0
- for(var/D in GLOB.cardinals)
+ for(var/dir in GLOB.cardinals)
pos++
- var/atom/movable/screen/O = LAZYACCESS(char_render_holders, "[D]")
- if(!O)
- O = new
- LAZYSET(char_render_holders, "[D]", O)
- screen |= O
- O.appearance = MA
- O.dir = D
- O.screen_loc = "character_preview_map:0,[pos]"
+ var/atom/movable/screen/preview = char_render_holders["preview-[dir]"]
+ if(!preview)
+ preview = new
+ char_render_holders["preview-[dir]"] = preview
+ screen |= preview
+ preview.appearance = source
+ preview.dir = dir
+ preview.screen_loc = "character_preview_map:0,[pos]"
/client/proc/clear_character_previews()
for(var/index in char_render_holders)
@@ -1082,8 +1080,14 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if(IsAdminAdvancedProcCall())
return
var/list/verblist = list()
- verb_tabs.Cut()
- for(var/thing in (verbs + mob?.verbs))
+ var/list/verbstoprocess = verbs.Copy()
+ if(mob)
+ verbstoprocess += mob.verbs
+ for(var/AM in mob.contents)
+ var/atom/movable/thing = AM
+ verbstoprocess += thing.verbs
+ panel_tabs.Cut() // panel_tabs get reset in init_verbs on JS side anyway
+ for(var/thing in verbstoprocess)
var/procpath/verb_to_init = thing
if(!verb_to_init)
continue
@@ -1091,9 +1095,9 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
continue
if(!istext(verb_to_init.category))
continue
- verb_tabs |= verb_to_init.category
+ panel_tabs |= verb_to_init.category
verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name)
- src << output("[url_encode(json_encode(verb_tabs))];[url_encode(json_encode(verblist))]", "statbrowser:init_verbs")
+ src << output("[url_encode(json_encode(panel_tabs))];[url_encode(json_encode(verblist))]", "statbrowser:init_verbs")
/client/proc/check_panel_loaded()
if(statbrowser_ready)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index cb262e57f3..3272060835 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -61,7 +61,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/UI_style = null
var/outline_enabled = TRUE
- var/outline_color = COLOR_BLUE_GRAY
+ var/outline_color = COLOR_THEME_MIDNIGHT
var/buttons_locked = FALSE
var/hotkeys = FALSE
@@ -164,13 +164,15 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/clientfps = 0
- var/parallax
+ var/parallax = PARALLAX_INSANE
var/ambientocclusion = TRUE
///Should we automatically fit the viewport?
var/auto_fit_viewport = FALSE
///Should we be in the widescreen mode set by the config?
var/widescreenpref = TRUE
+ ///Strip menu style
+ var/long_strip_menu = FALSE
///What size should pixels be displayed as? 0 is strech to fit
var/pixel_size = 0
///What scaling method should we use?
@@ -785,7 +787,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "
"
- dat += " Head:[inventory_head]" : "add_inv=head'>Nothing"]"
- dat += " Back:[inventory_back]" : "add_inv=back'>Nothing"]"
- dat += " Collar:[pcollar]" : "add_inv=collar'>Nothing"]"
+ return corgi_source.inventory_head
- user << browse(dat, "window=mob[REF(src)];size=325x500")
- onclose(user, "mob[REF(src)]")
+/datum/strippable_item/corgi_head/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return FALSE
+
+ corgi_source.place_on_head(equipping, user)
+
+/datum/strippable_item/corgi_head/finish_unequip(atom/source, mob/user)
+ ..()
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ finish_unequip_mob(corgi_source.inventory_head, corgi_source, user)
+ corgi_source.inventory_head = null
+ corgi_source.update_corgi_fluff()
+ corgi_source.regenerate_icons()
+
+/datum/strippable_item/corgi_back
+ key = STRIPPABLE_ITEM_BACK
+
+/datum/strippable_item/corgi_back/get_item(atom/source)
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ return corgi_source.inventory_back
+
+/datum/strippable_item/corgi_back/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return FALSE
+
+ if (!ispath(equipping.dog_fashion, /datum/dog_fashion/back))
+ to_chat(user, "You set [equipping] on [source]'s back, but it falls off!")
+ equipping.forceMove(source.drop_location())
+ if (prob(25))
+ step_rand(equipping)
+ dance_rotate(source, set_original_dir = TRUE)
+
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/corgi_back/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return FALSE
+
+ equipping.forceMove(corgi_source)
+ corgi_source.inventory_back = equipping
+ corgi_source.update_corgi_fluff()
+ corgi_source.regenerate_icons()
+
+/datum/strippable_item/corgi_back/finish_unequip(atom/source, mob/user)
+ ..()
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ finish_unequip_mob(corgi_source.inventory_back, corgi_source, user)
+ corgi_source.inventory_back = null
+ corgi_source.update_corgi_fluff()
+ corgi_source.regenerate_icons()
+
+/datum/strippable_item/corgi_collar
+ key = STRIPPABLE_ITEM_CORGI_COLLAR
+
+/datum/strippable_item/corgi_collar/get_item(atom/source)
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ return corgi_source.pcollar
+
+/datum/strippable_item/corgi_collar/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return FALSE
+
+ if (!istype(equipping, /obj/item/clothing/neck/petcollar))
+ to_chat(user, "That's not a collar.")
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/corgi_collar/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return FALSE
+
+ corgi_source.add_collar(equipping, user)
+ corgi_source.update_corgi_fluff()
+
+/datum/strippable_item/corgi_collar/finish_unequip(atom/source, mob/user)
+ ..()
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ finish_unequip_mob(corgi_source.pcollar, corgi_source, user)
+ corgi_source.pcollar = null
+ corgi_source.update_corgi_fluff()
+ corgi_source.regenerate_icons()
+
+/datum/strippable_item/corgi_id
+ key = STRIPPABLE_ITEM_ID
+
+/datum/strippable_item/corgi_id/get_item(atom/source)
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ return corgi_source.access_card
+
+/datum/strippable_item/corgi_id/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return FALSE
+
+ if (!istype(equipping, /obj/item/card/id))
+ to_chat(user, "You can't pin [equipping] to [source]!")
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/corgi_id/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return FALSE
+
+ equipping.forceMove(source)
+ corgi_source.access_card = equipping
+
+/datum/strippable_item/corgi_id/finish_unequip(atom/source, mob/user)
+ ..()
+ var/mob/living/simple_animal/pet/dog/corgi/corgi_source = source
+ if (!istype(corgi_source))
+ return
+
+ finish_unequip_mob(corgi_source.access_card, corgi_source, user)
+ corgi_source.access_card = null
+ corgi_source.update_corgi_fluff()
+ corgi_source.regenerate_icons()
/mob/living/simple_animal/pet/dog/corgi/getarmor(def_zone, type)
var/armorval = 0
@@ -158,114 +316,12 @@
..()
update_corgi_fluff()
-/mob/living/simple_animal/pet/dog/corgi/Topic(href, href_list)
- if(!(iscarbon(usr) || iscyborg(usr)) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
- usr << browse(null, "window=mob[REF(src)]")
- usr.unset_machine()
- return
-
- //Removing from inventory
- if(href_list["remove_inv"])
- var/remove_from = href_list["remove_inv"]
- switch(remove_from)
- if(BODY_ZONE_HEAD)
- if(inventory_head)
- usr.put_in_hands(inventory_head)
- inventory_head = null
- update_corgi_fluff()
- regenerate_icons()
- else
- to_chat(usr, "There is nothing to remove from its [remove_from].")
- return
- if("back")
- if(inventory_back)
- usr.put_in_hands(inventory_back)
- inventory_back = null
- update_corgi_fluff()
- regenerate_icons()
- else
- to_chat(usr, "There is nothing to remove from its [remove_from].")
- return
- if("collar")
- if(pcollar)
- usr.put_in_hands(pcollar)
- pcollar = null
- update_corgi_fluff()
- regenerate_icons()
-
- show_inv(usr)
-
- //Adding things to inventory
- else if(href_list["add_inv"])
-
- var/add_to = href_list["add_inv"]
-
- switch(add_to)
- if("collar")
- var/obj/item/clothing/neck/petcollar/P = usr.get_active_held_item()
- if(!istype(P))
- to_chat(usr,"That's not a collar.")
- return
- add_collar(P, usr)
- update_corgi_fluff()
-
- if(BODY_ZONE_HEAD)
- place_on_head(usr.get_active_held_item(),usr)
-
- if("back")
- if(inventory_back)
- to_chat(usr, "It's already wearing something!")
- return
- else
- var/obj/item/item_to_add = usr.get_active_held_item()
-
- if(!item_to_add)
- usr.visible_message("[usr] pets [src].","You rest your hand on [src]'s back for a moment.")
- return
-
- if(!usr.temporarilyRemoveItemFromInventory(item_to_add))
- to_chat(usr, "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s back!")
- return
-
- if(istype(item_to_add, /obj/item/grenade/plastic)) // last thing he ever wears, I guess
- item_to_add.afterattack(src,usr,1)
- return
-
- //The objects that corgis can wear on their backs.
- var/allowed = FALSE
- if(ispath(item_to_add.dog_fashion, /datum/dog_fashion/back))
- allowed = TRUE
-
- if(!allowed)
- to_chat(usr, "You set [item_to_add] on [src]'s back, but it falls off!")
- item_to_add.forceMove(drop_location())
- if(prob(25))
- step_rand(item_to_add)
- for(var/i in list(1,2,4,8,4,8,4,dir))
- setDir(i)
- sleep(1)
- return
-
- item_to_add.forceMove(src)
- src.inventory_back = item_to_add
- update_corgi_fluff()
- regenerate_icons()
-
- show_inv(usr)
- else
- return ..()
-
//Corgis are supposed to be simpler, so only a select few objects can actually be put
//to be compatible with them. The objects are below.
//Many hats added, Some will probably be removed, just want to see which ones are popular.
// > some will probably be removed
/mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user)
-
- if(istype(item_to_add, /obj/item/grenade/plastic)) // last thing he ever wears, I guess
- INVOKE_ASYNC(item_to_add, /obj/item.proc/afterattack, src, user, 1)
- return
-
if(inventory_head)
if(user)
to_chat(user, "You can't put more than one hat on [src]!")
@@ -303,9 +359,7 @@
item_to_add.forceMove(drop_location())
if(prob(25))
step_rand(item_to_add)
- for(var/i in list(1,2,4,8,4,8,4,dir))
- setDir(i)
- sleep(1)
+ dance_rotate(src, set_original_dir = TRUE)
return valid
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
index de6b858f79..be596b0292 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
@@ -113,7 +113,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
severity = 7
hud_used.healths.icon_state = "elite_health[severity]"
if(severity > 0)
- overlay_fullscreen("brute", /atom/movable/screen/fullscreen/brute, severity)
+ overlay_fullscreen("brute", /atom/movable/screen/fullscreen/scaled/brute, severity)
else
clear_fullscreen("brute")
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index bd45c482a2..7c7a684cf3 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -124,6 +124,9 @@
/mob/living/simple_animal/parrot/proc/toggle_mode,
/mob/living/simple_animal/parrot/proc/perch_mob_player))
+/mob/living/simple_animal/parrot/ComponentInitialize()
+ . = ..()
+ AddElement(/datum/element/strippable, GLOB.strippable_parrot_items)
/mob/living/simple_animal/parrot/examine(mob/user)
. = ..()
@@ -183,91 +186,101 @@
return 0
-/*
- * Inventory
- */
-/mob/living/simple_animal/parrot/show_inv(mob/user)
- user.set_machine(src)
+GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
+ /datum/strippable_item/parrot_headset,
+)))
- var/dat = "
Inventory of [name]
"
- dat += " Headset:[ears]" : "add_inv=ears'>Nothing"]"
+/datum/strippable_item/parrot_headset
+ key = STRIPPABLE_ITEM_PARROT_HEADSET
- user << browse(dat, "window=mob[REF(src)];size=325x500")
- onclose(user, "window=mob[REF(src)]")
+/datum/strippable_item/parrot_headset/get_item(atom/source)
+ var/mob/living/simple_animal/parrot/parrot_source = source
+ return istype(parrot_source) ? parrot_source.ears : null
+/datum/strippable_item/parrot_headset/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return FALSE
-/mob/living/simple_animal/parrot/Topic(href, href_list)
- if(!(iscarbon(usr) || iscyborg(usr)) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
- usr << browse(null, "window=mob[REF(src)]")
- usr.unset_machine()
+ if (!istype(equipping, /obj/item/radio/headset))
+ to_chat(user, "[equipping] won't fit!")
+ return FALSE
+
+ return TRUE
+
+// There is no delay for putting a headset on a parrot.
+/datum/strippable_item/parrot_headset/start_equip(atom/source, obj/item/equipping, mob/user)
+ if(get_obscuring(source) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return FALSE
+ return TRUE
+
+/datum/strippable_item/parrot_headset/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if(!..())
+ return FALSE
+ var/obj/item/radio/headset/radio = equipping
+ if (!istype(radio))
+ return FALSE
+
+ var/mob/living/simple_animal/parrot/parrot_source = source
+ if (!istype(parrot_source))
+ return FALSE
+
+ if (!user.transferItemToLoc(radio, source))
+ return FALSE
+
+ parrot_source.ears = radio
+
+ to_chat(user, "You fit [radio] onto [source].")
+
+ parrot_source.available_channels.Cut()
+
+ for (var/channel in radio.channels)
+ var/channel_to_add
+
+ switch (channel)
+ if (RADIO_CHANNEL_ENGINEERING)
+ channel_to_add = RADIO_TOKEN_ENGINEERING
+ if (RADIO_CHANNEL_COMMAND)
+ channel_to_add = RADIO_TOKEN_COMMAND
+ if (RADIO_CHANNEL_SECURITY)
+ channel_to_add = RADIO_TOKEN_SECURITY
+ if (RADIO_CHANNEL_SCIENCE)
+ channel_to_add = RADIO_TOKEN_SCIENCE
+ if (RADIO_CHANNEL_MEDICAL)
+ channel_to_add = RADIO_TOKEN_MEDICAL
+ if (RADIO_CHANNEL_SUPPLY)
+ channel_to_add = RADIO_TOKEN_SUPPLY
+ if (RADIO_CHANNEL_SERVICE)
+ channel_to_add = RADIO_TOKEN_SERVICE
+
+ if (channel_to_add)
+ parrot_source.available_channels += channel_to_add
+
+ if (radio.translate_binary)
+ parrot_source.available_channels.Add(MODE_TOKEN_BINARY)
+
+/datum/strippable_item/parrot_headset/start_unequip(atom/source, mob/user)
+ . = ..()
+ if (!.)
+ return FALSE
+
+ var/mob/living/simple_animal/parrot/parrot_source = source
+ if (!istype(parrot_source))
return
- //Removing from inventory
- if(href_list["remove_inv"])
- var/remove_from = href_list["remove_inv"]
- switch(remove_from)
- if("ears")
- if(!ears)
- to_chat(usr, "There is nothing to remove from its [remove_from]!")
- return
- if(!stat)
- say("[available_channels.len ? "[pick(available_channels)] " : null]BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
- ears.forceMove(drop_location())
- ears = null
- for(var/possible_phrase in speak)
- if(copytext_char(possible_phrase, 2, 3) in GLOB.department_radio_keys)
- possible_phrase = copytext_char(possible_phrase, 3)
+ if (!parrot_source.stat)
+ parrot_source.say("[parrot_source.available_channels.len ? "[pick(parrot_source.available_channels)] " : null]BAWWWWWK LEAVE THE HEADSET BAWKKKKK!")
- //Adding things to inventory
- else if(href_list["add_inv"])
- var/add_to = href_list["add_inv"]
- if(!usr.get_active_held_item())
- to_chat(usr, "You have nothing in your hand to put on its [add_to]!")
- return
- switch(add_to)
- if("ears")
- if(ears)
- to_chat(usr, "It's already wearing something!")
- return
- else
- var/obj/item/item_to_add = usr.get_active_held_item()
- if(!item_to_add)
- return
+ return TRUE
- if( !istype(item_to_add, /obj/item/radio/headset) )
- to_chat(usr, "This object won't fit!")
- return
-
- var/obj/item/radio/headset/headset_to_add = item_to_add
-
- if(!usr.transferItemToLoc(headset_to_add, src))
- return
- ears = headset_to_add
- to_chat(usr, "You fit the headset onto [src].")
-
- clearlist(available_channels)
- for(var/ch in headset_to_add.channels)
- switch(ch)
- if(RADIO_CHANNEL_ENGINEERING)
- available_channels.Add(RADIO_TOKEN_ENGINEERING)
- if(RADIO_CHANNEL_COMMAND)
- available_channels.Add(RADIO_TOKEN_COMMAND)
- if(RADIO_CHANNEL_SECURITY)
- available_channels.Add(RADIO_TOKEN_SECURITY)
- if(RADIO_CHANNEL_SCIENCE)
- available_channels.Add(RADIO_TOKEN_SCIENCE)
- if(RADIO_CHANNEL_MEDICAL)
- available_channels.Add(RADIO_TOKEN_MEDICAL)
- if(RADIO_CHANNEL_SUPPLY)
- available_channels.Add(RADIO_TOKEN_SUPPLY)
- if(RADIO_CHANNEL_SERVICE)
- available_channels.Add(RADIO_TOKEN_SERVICE)
-
- if(headset_to_add.translate_binary)
- available_channels.Add(MODE_TOKEN_BINARY)
- else
- return ..()
+/datum/strippable_item/parrot_headset/finish_unequip(atom/source, mob/user)
+ ..()
+ var/mob/living/simple_animal/parrot/parrot_source = source
+ if (!istype(parrot_source))
+ return
+ finish_unequip_mob(parrot_source.ears, parrot_source, user)
+ parrot_source.ears = null
/*
* Attack responces
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index dd7c946d3c..2a978bedb4 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -308,10 +308,15 @@
adjustHealth(unsuitable_atmos_damage)
/mob/living/simple_animal/gib(no_brain, no_organs, no_bodyparts, datum/explosion/was_explosion)
- if(butcher_results)
+ if(butcher_results || guaranteed_butcher_results)
+ var/list/butcher = list()
+ if(butcher_results)
+ butcher += butcher_results
+ if(guaranteed_butcher_results)
+ butcher += guaranteed_butcher_results
var/atom/Tsec = drop_location()
- for(var/path in butcher_results)
- for(var/i in 1 to butcher_results[path])
+ for(var/path in butcher)
+ for(var/i in 1 to butcher[path])
new path(Tsec)
..()
diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm
index 02e88e3741..498ca19a39 100644
--- a/code/modules/mob/living/status_procs.dm
+++ b/code/modules/mob/living/status_procs.dm
@@ -599,7 +599,7 @@
/mob/living/proc/become_nearsighted(source)
if(!HAS_TRAIT(src, TRAIT_NEARSIGHT))
- overlay_fullscreen("nearsighted", /atom/movable/screen/fullscreen/impaired, 1)
+ overlay_fullscreen("nearsighted", /atom/movable/screen/fullscreen/scaled/impaired, 1)
ADD_TRAIT(src, TRAIT_NEARSIGHT, source)
/mob/living/proc/cure_husk(source)
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 8f74d3b45f..aac55c614b 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -1,4 +1,31 @@
+/**
+ * Run when a client is put in this mob or reconnets to byond and their client was on this mob
+ *
+ * Things it does:
+ * * Adds player to player_list
+ * * sets lastKnownIP
+ * * sets computer_id
+ * * logs the login
+ * * tells the world to update it's status (for player count)
+ * * create mob huds for the mob if needed
+ * * reset next_move to 1
+ * * parent call
+ * * if the client exists set the perspective to the mob loc
+ * * call on_log on the loc (sigh)
+ * * reload the huds for the mob
+ * * reload all full screen huds attached to this mob
+ * * load any global alternate apperances
+ * * sync the mind datum via sync_mind()
+ * * call any client login callbacks that exist
+ * * grant any actions the mob has to the client
+ * * calls [auto_deadmin_on_login](mob.html#proc/auto_deadmin_on_login)
+ * * send signal COMSIG_MOB_CLIENT_LOGIN
+ * * attaches the ash listener element so clients can hear weather
+ * client can be deleted mid-execution of this proc, chiefly on parent calls, with lag
+ */
/mob/Login()
+ if(!client)
+ return FALSE
add_to_player_list()
lastKnownIP = client.address
computer_id = client.computer_id
@@ -15,6 +42,14 @@
. = ..()
+ if(!client)
+ return FALSE
+
+ // SEND_SIGNAL(src, COMSIG_MOB_LOGIN)
+
+ if (key != client.key)
+ key = client.key
+
reset_perspective(loc)
if(loc)
@@ -23,10 +58,6 @@
//readd this mob's HUDs (antag, med, etc)
reload_huds()
- reload_fullscreen() // Reload any fullscreen overlays this mob has.
-
- add_click_catcher()
-
sync_mind()
//Reload alternate appearances
@@ -53,6 +84,15 @@
log_message("Client [key_name(src)] has taken ownership of mob [src]([src.type])", LOG_OWNERSHIP)
SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client)
+ client.init_verbs()
if(has_field_of_vision && CONFIG_GET(flag/use_field_of_vision))
LoadComponent(/datum/component/field_of_vision, field_of_vision_type)
+
+ // load rendering
+ reload_rendering()
+
+ AddElement(/datum/element/weather_listener, /datum/weather/ash_storm, ZTRAIT_ASHSTORM, GLOB.ash_storm_sounds)
+
+ // optimized area sound effects. Enable during events (compile flag when 😳)
+ // AddElement(/datum/element/weather_listener, /datum/weather/long_rain, ZTRAIT_STATION, GLOB.rain_sounds)
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index 2e2eeeb4fb..d26d562a46 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -4,7 +4,6 @@
SStgui.on_logout(src)
unset_machine()
remove_from_player_list()
-
..()
if(loc)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index b92afc3516..4b8fa75aee 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -1,25 +1,3 @@
-/mob/Destroy()//This makes sure that mobs with clients/keys are not just deleted from the game.
- remove_from_mob_list()
- remove_from_dead_mob_list()
- remove_from_alive_mob_list()
- GLOB.all_clockwork_mobs -= src
- focus = null
- LAssailant = null
- movespeed_modification = null
- for (var/alert in alerts)
- clear_alert(alert, TRUE)
- if(observers && observers.len)
- for(var/M in observers)
- var/mob/dead/observe = M
- observe.reset_perspective(null)
- qdel(hud_used)
- for(var/cc in client_colours)
- qdel(cc)
- client_colours = null
- ghostize()
- ..()
- return QDEL_HINT_HARDDEL
-
/mob/Initialize()
add_to_mob_list()
if(stat == DEAD)
@@ -38,8 +16,32 @@
update_config_movespeed()
update_movespeed(TRUE)
initialize_actionspeed()
+ init_rendering()
hook_vr("mob_new",list(src))
+/mob/Destroy()//This makes sure that mobs with clients/keys are not just deleted from the game.
+ remove_from_mob_list()
+ remove_from_dead_mob_list()
+ remove_from_alive_mob_list()
+ GLOB.all_clockwork_mobs -= src
+ focus = null
+ LAssailant = null
+ movespeed_modification = null
+ for (var/alert in alerts)
+ clear_alert(alert, TRUE)
+ if(observers && observers.len)
+ for(var/M in observers)
+ var/mob/dead/observe = M
+ observe.reset_perspective(null)
+ dispose_rendering()
+ qdel(hud_used)
+ for(var/cc in client_colours)
+ qdel(cc)
+ client_colours = null
+ ghostize()
+ ..()
+ return QDEL_HINT_HARDDEL
+
/mob/GenerateTag()
tag = "mob_[next_mob_id++]"
@@ -289,9 +291,6 @@
SEND_SIGNAL(src, COMSIG_MOB_RESET_PERSPECTIVE, A)
return TRUE
-/mob/proc/show_inv(mob/user)
- return
-
//view() but with a signal, to allow blacklisting some of the otherwise visible atoms.
/mob/proc/fov_view(dist = world.view)
. = view(dist, src)
@@ -512,10 +511,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
unset_machine()
src << browse(null, t1)
- if(href_list["refresh"])
- if(machine && in_range(src, usr))
- show_inv(machine)
-
if(usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
if(href_list["item"])
var/slot = text2num(href_list["item"])
@@ -532,12 +527,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
else
usr.stripPanelEquip(what,src,slot)
- if(usr.machine == src)
- if(Adjacent(usr))
- show_inv(usr)
- else
- usr << browse(null,"window=mob[REF(src)]")
-
// The src mob is trying to strip an item from someone
// Defined in living.dm
/mob/proc/stripPanelUnequip(obj/item/what, mob/who)
@@ -559,12 +548,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
if(isAI(M))
return
-/mob/MouseDrop_T(atom/dropping, atom/user)
- . = ..()
- if(ismob(dropping) && dropping != user)
- var/mob/M = dropping
- M.show_inv(user)
-
/mob/proc/is_muzzled()
return FALSE
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 8e6226069c..527b0c0917 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -16,6 +16,10 @@
attack_hand_unwieldlyness = CLICK_CD_MELEE
attack_hand_speed = 0
+ // Rendering
+ /// Fullscreen objects
+ var/list/fullscreens = list()
+
/// What receives our keyboard input. src by default.
var/datum/focus
@@ -143,7 +147,6 @@
var/registered_z
var/list/alerts = list() // contains /atom/movable/screen/alert only // On /mob so clientless mobs will throw alerts properly
- var/list/screens = list()
var/list/client_colours = list()
var/hud_type = /datum/hud
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 5bfc6fe652..561425c710 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -144,6 +144,7 @@
newletter = "nglu"
if(5)
newletter = "glor"
+ else
. += newletter
return sanitize(.)
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index bfd4cfcd29..1da355a419 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -110,6 +110,11 @@
SEND_SIGNAL(mob, COMSIG_MOB_CLIENT_MOVE, src, direction, n, oldloc, add_delay)
+/mob/Moved(atom/OldLoc, Dir)
+ . = ..()
+ if(client)
+ client.parallax_holder.Update()
+
/// Process_Grab(): checks for grab, attempts to break if so. Return TRUE to prevent movement.
/client/proc/Process_Grab()
if(mob.pulledby)
@@ -398,3 +403,8 @@
/mob/proc/canZMove(direction, turf/target)
return FALSE
+
+/mob/onTransitZ(old_z, new_z)
+ . = ..()
+ if(old_z != new_z)
+ client?.parallax_holder?.Reset()
diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm
index 089484ea9f..da1919443a 100644
--- a/code/modules/mob/status_procs.dm
+++ b/code/modules/mob/status_procs.dm
@@ -53,7 +53,7 @@
if(eye_blind) // UNCONSCIOUS or has blind trait, or has temporary blindness
if(stat == CONSCIOUS || stat == SOFT_CRIT)
throw_alert("blind", /atom/movable/screen/alert/blind)
- overlay_fullscreen("blind", /atom/movable/screen/fullscreen/blind)
+ overlay_fullscreen("blind", /atom/movable/screen/fullscreen/scaled/blind)
// You are blind why should you be able to make out details like color, only shapes near you
// add_client_colour(/datum/client_colour/monochrome/blind)
else // CONSCIOUS no blind trait, no blindness
diff --git a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
index b5f3bae53d..fada2229e5 100644
--- a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
+++ b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
@@ -5,7 +5,14 @@
var/title = "Untitled Conversation"
var/datum/computer_file/program/chatclient/operator // "Administrator" of this channel. Creator starts as channel's operator,
var/list/messages = list()
- var/list/clients = list()
+ ///chat clients who are active or minimized
+ var/list/active_clients = list()
+ ///chat clients who have exited out of the program.
+ var/list/offline_clients = list()
+ ///clients muted by operator
+ var/list/muted_clients = list()
+ //if a channel is strong, it cannot be renamed or deleted.
+ var/strong = FALSE
var/password
var/static/ntnrc_uid = 0
@@ -22,6 +29,8 @@
/datum/ntnet_conversation/Destroy()
if(SSnetworks.station_network)
SSnetworks.station_network.chat_channels.Remove(src)
+ for(var/datum/computer_file/program/chatclient/chatterbox in (active_clients | offline_clients | muted_clients))
+ purge_client(chatterbox)
return ..()
/datum/ntnet_conversation/proc/add_message(message, username)
@@ -38,39 +47,70 @@
return
messages = messages.Copy(messages.len-50 ,0)
-/datum/ntnet_conversation/proc/add_client(datum/computer_file/program/chatclient/C)
- if(!istype(C))
+/datum/ntnet_conversation/proc/add_client(datum/computer_file/program/chatclient/new_user, silent = FALSE)
+ if(!istype(new_user))
return
- clients.Add(C)
- add_status_message("[C.username] has joined the channel.")
+ new_user.conversations |= src
+ active_clients.Add(new_user)
+ if(!silent)
+ add_status_message("[new_user.username] has joined the channel.")
// No operator, so we assume the channel was empty. Assign this user as operator.
if(!operator)
- changeop(C)
+ changeop(new_user)
-/datum/ntnet_conversation/proc/remove_client(datum/computer_file/program/chatclient/C)
- if(!istype(C) || !(C in clients))
+//Clear all of our references to a client, used for client deletion
+/datum/ntnet_conversation/proc/purge_client(datum/computer_file/program/chatclient/forget)
+ remove_client(forget)
+ muted_clients -= forget
+ offline_clients -= forget
+ forget.conversations -= src
+
+/datum/ntnet_conversation/proc/remove_client(datum/computer_file/program/chatclient/leaving)
+ if(!istype(leaving))
return
- clients.Remove(C)
- add_status_message("[C.username] has left the channel.")
+ if(leaving in active_clients)
+ active_clients.Remove(leaving)
+ add_status_message("[leaving.username] has left the channel.")
// Channel operator left, pick new operator
- if(C == operator)
+ if(leaving == operator)
operator = null
- if(clients.len)
- var/datum/computer_file/program/chatclient/newop = pick(clients)
+ if(active_clients.len)
+ var/datum/computer_file/program/chatclient/newop = pick(active_clients)
changeop(newop)
+/datum/ntnet_conversation/proc/go_offline(datum/computer_file/program/chatclient/offline)
+ if(!istype(offline) || !(offline in active_clients))
+ return
+ active_clients.Remove(offline)
+ offline_clients.Add(offline)
+
+/datum/ntnet_conversation/proc/mute_user(datum/computer_file/program/chatclient/op, datum/computer_file/program/chatclient/muted)
+ if(operator != op) //sanity even if the person shouldn't be able to see the mute button
+ return
+ if(muted in muted_clients)
+ muted_clients.Remove(muted)
+ muted.computer.alert_call(muted, "You have been unmuted from [title]!", 'sound/machines/ping.ogg')
+ else
+ muted_clients.Add(muted)
+ muted.computer.alert_call(muted, "You have been muted from [title]!")
+
+/datum/ntnet_conversation/proc/ping_user(datum/computer_file/program/chatclient/pinger, datum/computer_file/program/chatclient/pinged)
+ if(pinger in muted_clients) //oh my god fuck off
+ return
+ add_status_message("[pinger.username] pinged [pinged.username].")
+ pinged.computer.alert_call(pinged, "You have been pinged in [title] by [pinger.username]!", 'sound/machines/ping.ogg')
/datum/ntnet_conversation/proc/changeop(datum/computer_file/program/chatclient/newop)
if(istype(newop))
operator = newop
add_status_message("Channel operator status transferred to [newop.username].")
-/datum/ntnet_conversation/proc/change_title(newtitle, datum/computer_file/program/chatclient/client)
- if(operator != client)
- return FALSE // Not Authorised
+/datum/ntnet_conversation/proc/change_title(newtitle, datum/computer_file/program/chatclient/renamer)
+ if(operator != renamer || strong)
+ return FALSE // Not Authorised or channel cannot be editted
- add_status_message("[client.username] has changed channel title from [title] to [newtitle]")
+ add_status_message("[renamer.username] has changed channel title from [title] to [newtitle]")
title = newtitle
#undef MAX_CHANNELS
diff --git a/code/modules/modular_computers/computers/_modular_computer_shared.dm b/code/modules/modular_computers/computers/_modular_computer_shared.dm
index 0aca92f9d8..1a2ba822d1 100644
--- a/code/modules/modular_computers/computers/_modular_computer_shared.dm
+++ b/code/modules/modular_computers/computers/_modular_computer_shared.dm
@@ -39,7 +39,7 @@
. += "It has a slot installed for an intelliCard which contains: [ai_slot.stored_card.name]"
else
. += "It has a slot installed for an intelliCard, which appears to be occupied."
- . += "Alt-click to eject the intelliCard."
+ . += span_info("Alt-click to eject the intelliCard.")
else
. += "It has a slot installed for an intelliCard."
@@ -55,7 +55,7 @@
. += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed[multiple_cards ? " which contain [first_ID] and [second_ID]" : ", one of which contains [first_ID ? first_ID : second_ID]"]."
else
. += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed, [multiple_cards ? "both of which appear" : "and one of them appears"] to be occupied."
- . += "Alt-click [src] to eject the identification card[multiple_cards ? "s":""]."
+ . += span_info("Alt-click [src] to eject the identification card[multiple_cards ? "s":""].")
else
. += "It has [multiple_slots ? "two slots" : "a slot"] installed for identification cards."
@@ -63,4 +63,4 @@
if(printer_slot)
. += "It has a printer installed."
if(user_is_adjacent)
- . += "The printer's paper levels are at: [printer_slot.stored_paper]/[printer_slot.max_paper].
"
+ . += "The printer's paper levels are at: [printer_slot.stored_paper]/[printer_slot.max_paper].]"
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index 635ec2e54c..1d90c3a651 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -12,13 +12,13 @@
rad_flags = RAD_PROTECT_CONTENTS
armor = list("melee" = 0, "bullet" = 20, "laser" = 20, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
- var/enabled = 0 // Whether the computer is turned on.
- var/screen_on = 1 // Whether the computer is active/opened/it's screen is on.
- var/device_theme = "ntos" // Sets the theme for the main menu, hardware config, and file browser apps. Overridden by certain non-NT devices.
- var/datum/computer_file/program/active_program = null // A currently active program running on the computer.
- var/hardware_flag = 0 // A flag that describes this device type
+ var/enabled = 0 // Whether the computer is turned on.
+ var/screen_on = 1 // Whether the computer is active/opened/it's screen is on.
+ var/device_theme = "ntos" // Sets the theme for the main menu, hardware config, and file browser apps. Overridden by certain non-NT devices.
+ var/datum/computer_file/program/active_program = null // A currently active program running on the computer.
+ var/hardware_flag = 0 // A flag that describes this device type
var/last_power_usage = 0
- var/last_battery_percent = 0 // Used for deciding if battery percentage has chandged
+ var/last_battery_percent = 0 // Used for deciding if battery percentage has chandged
var/last_world_time = "00:00"
var/list/last_header_icons
///Looping sound for when the computer is on
@@ -26,19 +26,19 @@
///Whether or not this modular computer uses the looping sound
var/looping_sound = TRUE
- var/base_active_power_usage = 50 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
- var/base_idle_power_usage = 5 // Power usage when the computer is idle and screen is off (currently only applies to laptops)
+ var/base_active_power_usage = 50 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
+ var/base_idle_power_usage = 5 // Power usage when the computer is idle and screen is off (currently only applies to laptops)
// Modular computers can run on various devices. Each DEVICE (Laptop, Console, Tablet,..)
// must have it's own DMI file. Icon states must be called exactly the same in all files, but may look differently
// If you create a program which is limited to Laptops and Consoles you don't have to add it's icon_state overlay for Tablets too, for example.
- var/icon_state_unpowered = null // Icon state when the computer is turned off.
- var/icon_state_powered = null // Icon state when the computer is turned on.
- var/icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
- var/display_overlays = TRUE // If FALSE, don't draw overlays on this device at all
- var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4.
- var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
+ var/icon_state_unpowered = null // Icon state when the computer is turned off.
+ var/icon_state_powered = null // Icon state when the computer is turned on.
+ var/icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
+ var/display_overlays = TRUE // If FALSE, don't draw overlays on this device at all
+ var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4.
+ var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
/// List of "connection ports" in this computer and the components with which they are plugged
var/list/all_components = list()
@@ -47,11 +47,11 @@
/// Number of total expansion bays this computer has available.
var/max_bays = 0
- var/list/idle_threads // Idle programs on background. They still receive process calls but can't be interacted with.
- var/obj/physical = null // Object that represents our computer. It's used for Adjacent() and UI visibility checks.
- var/has_light = FALSE //If the computer has a flashlight/LED light/what-have-you installed
- var/comp_light_luminosity = 3 //The brightness of that light
- var/comp_light_color //The color of that light
+ var/list/idle_threads // Idle programs on background. They still receive process calls but can't be interacted with.
+ var/obj/physical = null // Object that represents our computer. It's used for Adjacent() and UI visibility checks.
+ var/has_light = FALSE //If the computer has a flashlight/LED light/what-have-you installed
+ var/comp_light_luminosity = 3 //The brightness of that light
+ var/comp_light_color //The color of that light
/obj/item/modular_computer/Initialize()
@@ -62,13 +62,12 @@
comp_light_color = "#FFFFFF"
idle_threads = list()
if(looping_sound)
- soundloop = new(list(src), enabled)
- update_icon()
+ soundloop = new(src, enabled)
+ update_appearance()
/obj/item/modular_computer/Destroy()
kill_program(forced = TRUE)
STOP_PROCESSING(SSobj, src)
- QDEL_NULL(soundloop)
for(var/H in all_components)
var/obj/item/computer_hardware/CH = all_components[H]
if(CH.holder == src)
@@ -76,9 +75,19 @@
CH.holder = null
all_components.Remove(CH.device_type)
qdel(CH)
+ //Some components will actually try and interact with this, so let's do it later
+ QDEL_NULL(soundloop)
physical = null
return ..()
+/**
+ * Plays a ping sound.
+ *
+ * Timers runtime if you try to make them call playsound. Yep.
+ */
+/obj/item/modular_computer/proc/play_ping()
+ playsound(loc, 'sound/machines/ping.ogg', get_clamped_volume(), FALSE, -1)
+
/obj/item/modular_computer/AltClick(mob/user)
..()
if(issilicon(user))
@@ -98,14 +107,34 @@
/obj/item/modular_computer/GetID()
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
- if(card_slot)
- return card_slot.GetID()
+ var/obj/item/computer_hardware/card_slot/card_slot2 = all_components[MC_CARD2]
+
+ var/obj/item/card/id/first_id = card_slot?.GetID()
+ var/obj/item/card/id/second_id = card_slot2?.GetID()
+
+ // If we don't have both ID slots filled, pick the one that is filled.
+ if(first_id)
+ return first_id
+ if(second_id)
+ return second_id
+
+ // Otherwise, we have no ID at all.
return ..()
/obj/item/modular_computer/RemoveID()
var/obj/item/computer_hardware/card_slot/card_slot2 = all_components[MC_CARD2]
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
- return (card_slot2?.try_eject() || card_slot?.try_eject()) //Try the secondary one first.
+
+ var/removed_id = (card_slot2?.try_eject() || card_slot?.try_eject())
+ if(removed_id)
+ if(ishuman(loc))
+ var/mob/living/carbon/human/human_wearer = loc
+ if(human_wearer.wear_id == src)
+ human_wearer.sec_hud_set_ID()
+ update_slot_icon()
+ return removed_id
+
+ return ..()
/obj/item/modular_computer/InsertID(obj/item/inserting_item)
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
@@ -118,7 +147,13 @@
return FALSE
if((card_slot?.try_insert(inserting_id)) || (card_slot2?.try_insert(inserting_id)))
+ if(ishuman(loc))
+ var/mob/living/carbon/human/human_wearer = loc
+ if(human_wearer.wear_id == src)
+ human_wearer.sec_hud_set_ID()
+ update_slot_icon()
return TRUE
+
return FALSE
/obj/item/modular_computer/MouseDrop(obj/over_object, src_location, over_location)
@@ -142,9 +177,8 @@
turn_on(user)
/obj/item/modular_computer/emag_act(mob/user)
- . = ..()
if(!enabled)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
obj_flags |= EMAGGED //Mostly for consistancy purposes; the programs will do their own emag handling
var/newemag = FALSE
@@ -155,36 +189,31 @@
if(app.run_emag())
newemag = TRUE
if(newemag)
- to_chat(user, "You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past.")
+ to_chat(user, span_notice("You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past."))
return TRUE
- to_chat(user, "You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it.")
+ to_chat(user, span_notice("You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it."))
return FALSE
/obj/item/modular_computer/examine(mob/user)
. = ..()
if(obj_integrity <= integrity_failure * max_integrity)
- . += "It is heavily damaged!"
+ . += span_danger("It is heavily damaged!")
else if(obj_integrity < max_integrity)
- . += "It is damaged."
+ . += span_warning("It is damaged.")
. += get_modular_computer_parts_examine(user)
/obj/item/modular_computer/update_icon_state()
- if(!enabled)
- icon_state = icon_state_unpowered
- else
- icon_state = icon_state_powered
+ icon_state = enabled ? icon_state_powered : icon_state_unpowered
+ return ..()
/obj/item/modular_computer/update_overlays()
. = ..()
if(!display_overlays)
return
- if(enabled)
- if(active_program)
- . += active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu
- else
- . += icon_state_menu
+ if(enabled)
+ . += active_program?.program_icon_state || icon_state_menu
if(obj_integrity <= integrity_failure * max_integrity)
. += "bsod"
. += "broken"
@@ -201,9 +230,9 @@
var/issynth = issilicon(user) // Robots and AIs get different activation messages.
if(obj_integrity <= integrity_failure * max_integrity)
if(issynth)
- to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.")
+ to_chat(user, span_warning("You send an activation signal to \the [src], but it responds with an error code. It must be damaged."))
else
- to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")
+ to_chat(user, span_warning("You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again."))
return FALSE
// If we have a recharger, enable it automatically. Lets computer without a battery work.
@@ -213,20 +242,20 @@
if(all_components[MC_CPU] && use_power()) // use_power() checks if the PC is powered
if(issynth)
- to_chat(user, "You send an activation signal to \the [src], turning it on.")
+ to_chat(user, span_notice("You send an activation signal to \the [src], turning it on."))
else
- to_chat(user, "You press the power button and start up \the [src].")
+ to_chat(user, span_notice("You press the power button and start up \the [src]."))
if(looping_sound)
soundloop.start()
enabled = 1
- update_icon()
+ update_appearance()
ui_interact(user)
return TRUE
else // Unpowered
if(issynth)
- to_chat(user, "You send an activation signal to \the [src] but it does not respond.")
+ to_chat(user, span_warning("You send an activation signal to \the [src] but it does not respond."))
else
- to_chat(user, "You press the power button but \the [src] does not respond.")
+ to_chat(user, span_warning("You press the power button but \the [src] does not respond."))
return FALSE
// Process currently calls handle_power(), may be expanded in future if more things are added.
@@ -282,10 +311,10 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence.
return
playsound(src, sound, 50, TRUE)
- visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]")
+ visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
var/mob/living/holder = loc
if(istype(holder))
- to_chat(holder, "[icon2html(src)] The [src] displays a [caller.filedesc] notification: [alerttext]")
+ to_chat(holder, "[icon2html(src)] [span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")]")
// Function used by NanoUI's to obtain data for header. All relevant entries begin with "PC_"
/obj/item/modular_computer/proc/get_header_data()
@@ -349,14 +378,13 @@
// Relays kill program request to currently active program. Use this to quit current program.
/obj/item/modular_computer/proc/kill_program(forced = FALSE)
- set waitfor = FALSE
if(active_program)
active_program.kill_program(forced)
active_program = null
var/mob/user = usr
if(user && istype(user))
ui_interact(user) // Re-open the UI on this computer. It should show the main screen now.
- update_icon()
+ update_appearance()
// Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on)
/obj/item/modular_computer/proc/get_ntnet_status(specific_action = 0)
@@ -370,6 +398,7 @@
if(!get_ntnet_status())
return FALSE
var/obj/item/computer_hardware/network_card/network_card = all_components[MC_NET]
+
return SSnetworks.station_network.add_log(text, network_card)
/obj/item/modular_computer/proc/shutdown_computer(loud = 1)
@@ -380,9 +409,9 @@
if(looping_sound)
soundloop.stop()
if(loud)
- physical.visible_message("\The [src] shuts down.")
+ physical.visible_message(span_notice("\The [src] shuts down."))
enabled = 0
- update_icon()
+ update_appearance()
/**
* Toggles the computer's flashlight, if it has one.
@@ -412,13 +441,13 @@
if(!has_light || !color)
return FALSE
comp_light_color = color
- // set_light_color(color)
+ set_light_color(color)
update_light()
return TRUE
/obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool)
if(!all_components.len)
- to_chat(user, "This device doesn't have any components installed.")
+ to_chat(user, span_warning("This device doesn't have any components installed."))
return
var/list/component_names = list()
for(var/h in all_components)
@@ -460,28 +489,34 @@
if(W.tool_behaviour == TOOL_WRENCH)
if(all_components.len)
- to_chat(user, "Remove all components from \the [src] before disassembling it.")
+ to_chat(user, span_warning("Remove all components from \the [src] before disassembling it."))
return
new /obj/item/stack/sheet/metal( get_turf(src.loc), steel_sheet_cost )
- physical.visible_message("\The [src] is disassembled by [user].")
+ physical.visible_message(span_notice("\The [src] is disassembled by [user]."))
relay_qdel()
qdel(src)
return
if(W.tool_behaviour == TOOL_WELDER)
if(obj_integrity == max_integrity)
- to_chat(user, "\The [src] does not require repairs.")
+ to_chat(user, span_warning("\The [src] does not require repairs."))
return
if(!W.tool_start_check(user, amount=1))
return
- to_chat(user, "You begin repairing damage to \the [src]...")
+ to_chat(user, span_notice("You begin repairing damage to \the [src]..."))
if(W.use_tool(src, user, 20, volume=50, amount=1))
obj_integrity = max_integrity
- to_chat(user, "You repair \the [src].")
+ to_chat(user, span_notice("You repair \the [src]."))
return
+ var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
+ // Check to see if we have an ID inside, and a valid input for money
+ if(card_slot?.GetID() && iscash(W))
+ var/obj/item/card/id/id = card_slot.GetID()
+ id.attackby(W, user) // If we do, try and put that attacking object in
+ return
..()
// Used by processor to relay qdel() to machinery type.
diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm
index 8668b279cf..91c369581f 100644
--- a/code/modules/modular_computers/computers/item/computer_components.dm
+++ b/code/modules/modular_computers/computers/item/computer_components.dm
@@ -3,19 +3,19 @@
return FALSE
if(H.w_class > max_hardware_size)
- to_chat(user, "This component is too large for \the [src]!")
+ to_chat(user, span_warning("This component is too large for \the [src]!"))
return FALSE
if(H.expansion_hw)
if(LAZYLEN(expansion_bays) >= max_bays)
- to_chat(user, "All of the computer's expansion bays are filled.")
+ to_chat(user, span_warning("All of the computer's expansion bays are filled."))
return FALSE
if(LAZYACCESS(expansion_bays, H.device_type))
- to_chat(user, "The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\".")
+ to_chat(user, span_warning("The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\"."))
return FALSE
if(all_components[H.device_type])
- to_chat(user, "This computer's hardware slot is already occupied by \the [all_components[H.device_type]].")
+ to_chat(user, span_warning("This computer's hardware slot is already occupied by \the [all_components[H.device_type]]."))
return FALSE
return TRUE
@@ -32,7 +32,7 @@
LAZYSET(expansion_bays, H.device_type, H)
all_components[H.device_type] = H
- to_chat(user, "You install \the [H] into \the [src].")
+ to_chat(user, span_notice("You install \the [H] into \the [src]."))
H.holder = src
H.forceMove(src)
H.on_install(src, user)
@@ -47,14 +47,14 @@
LAZYREMOVE(expansion_bays, H.device_type)
all_components.Remove(H.device_type)
- to_chat(user, "You remove \the [H] from \the [src].")
+ to_chat(user, span_notice("You remove \the [H] from \the [src]."))
H.forceMove(get_turf(src))
H.holder = null
H.on_remove(src, user)
if(enabled && !use_power())
shutdown_computer()
- update_icon()
+ update_appearance()
return TRUE
diff --git a/code/modules/modular_computers/computers/item/computer_damage.dm b/code/modules/modular_computers/computers/item/computer_damage.dm
index b510f8aded..9053aebcd5 100644
--- a/code/modules/modular_computers/computers/item/computer_damage.dm
+++ b/code/modules/modular_computers/computers/item/computer_damage.dm
@@ -18,7 +18,7 @@
/obj/item/modular_computer/proc/break_apart()
if(!(flags_1 & NODECONSTRUCT_1))
- physical.visible_message("\The [src] breaks apart!")
+ physical.visible_message(span_notice("\The [src] breaks apart!"))
var/turf/newloc = get_turf(src)
new /obj/item/stack/sheet/metal(newloc, round(steel_sheet_cost/2))
for(var/C in all_components)
diff --git a/code/modules/modular_computers/computers/item/computer_power.dm b/code/modules/modular_computers/computers/item/computer_power.dm
index 92d4a812a2..f31c3c82cc 100644
--- a/code/modules/modular_computers/computers/item/computer_power.dm
+++ b/code/modules/modular_computers/computers/item/computer_power.dm
@@ -16,7 +16,7 @@
if(cell.use(amount * GLOB.CELLRATE))
return TRUE
else // Discharge the cell anyway.
- cell.use(min(amount*GLOB.CELLRATE, cell.charge))
+ cell.use(min(amount * GLOB.CELLRATE, cell.charge))
return FALSE
return FALSE
diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm
index d9d9e5c876..93324bffe8 100644
--- a/code/modules/modular_computers/computers/item/computer_ui.dm
+++ b/code/modules/modular_computers/computers/item/computer_ui.dm
@@ -13,6 +13,10 @@
ui.close()
return
+ // if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
+ // to_chat(user, span_warning("Your fingers are too big to use this right now!"))
+ // return
+
// Robots don't really need to see the screen, their wireless connection works as long as computer is on.
if(!screen_on && !issilicon(user))
if(ui)
@@ -30,7 +34,7 @@
// This screen simply lists available programs and user may select them.
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
if(!hard_drive || !hard_drive.stored_files || !hard_drive.stored_files.len)
- to_chat(user, "\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.")
+ to_chat(user, span_danger("\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning."))
return // No HDD, No HDD files list or no stored files. Something is very broken.
ui = SStgui.try_update_ui(user, src, ui)
@@ -111,15 +115,9 @@
active_program.program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs
active_program = null
- update_icon()
+ update_appearance()
if(user && istype(user))
ui_interact(user) // Re-open the UI on this computer. It should show the main screen now.
- if("eject_pen")
- if(istype(src, /obj/item/modular_computer/tablet))
- var/obj/item/modular_computer/tablet/self = src
- if(self.can_have_pen)
- self.remove_pen()
- return
if("PC_killprogram")
var/prog = params["name"]
@@ -132,7 +130,7 @@
return
P.kill_program(forced = TRUE)
- to_chat(user, "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.")
+ to_chat(user, span_notice("Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed."))
if("PC_runprogram")
var/prog = params["name"]
@@ -142,7 +140,7 @@
P = hard_drive.find_file_by_name(prog)
if(!P || !istype(P)) // Program not found or it's not executable program.
- to_chat(user, "\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning.")
+ to_chat(user, span_danger("\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning."))
return
P.computer = src
@@ -156,22 +154,22 @@
active_program = P
P.alert_pending = FALSE
idle_threads.Remove(P)
- update_icon()
+ update_appearance()
return
var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU]
if(idle_threads.len > PU.max_idle_programs)
- to_chat(user, "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.")
+ to_chat(user, span_danger("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error."))
return
if(P.requires_ntnet && !get_ntnet_status(P.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet.
- to_chat(user, "\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.")
+ to_chat(user, span_danger("\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning."))
return
if(P.run_program(user))
active_program = P
P.alert_pending = FALSE
- update_icon()
+ update_appearance()
return 1
if("PC_toggle_light")
@@ -185,7 +183,7 @@
if(!new_color)
return
if(color_hex2num(new_color) < 200) //Colors too dark are rejected
- to_chat(user, "That color is too dark! Choose a lighter one.")
+ to_chat(user, span_warning("That color is too dark! Choose a lighter one."))
new_color = null
return set_flashlight_color(new_color)
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index 5686dec8d0..b4669c72f8 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -17,8 +17,8 @@
// No running around with open laptops in hands.
item_flags = SLOWS_WHILE_IN_HAND
- screen_on = FALSE // Starts closed
- var/start_open = TRUE // unless this var is set to 1
+ screen_on = FALSE // Starts closed
+ var/start_open = TRUE // unless this var is set to 1
var/icon_state_closed = "laptop-closed"
var/w_class_open = WEIGHT_CLASS_BULKY
var/slowdown_open = TRUE
@@ -44,15 +44,14 @@
/obj/item/modular_computer/laptop/update_icon_state()
if(!screen_on)
icon_state = icon_state_closed
- else
- . = ..()
+ return
+ return ..()
/obj/item/modular_computer/laptop/update_overlays()
- if(screen_on)
- return ..()
- else
+ if(!screen_on)
cut_overlays()
- icon_state = icon_state_closed
+ return
+ return ..()
/obj/item/modular_computer/laptop/attack_self(mob/user)
if(!screen_on)
@@ -68,7 +67,8 @@
try_toggle_open(usr)
/obj/item/modular_computer/laptop/MouseDrop(obj/over_object, src_location, over_location)
- if(istype(over_object, /atom/movable/screen/inventory/hand) || over_object == usr)
+ . = ..()
+ if(istype(over_object, /atom/movable/screen/inventory/hand))
var/atom/movable/screen/inventory/hand/H = over_object
var/mob/M = usr
@@ -103,17 +103,17 @@
/obj/item/modular_computer/laptop/proc/toggle_open(mob/living/user=null)
if(screen_on)
- to_chat(user, "You close \the [src].")
+ to_chat(user, span_notice("You close \the [src]."))
slowdown = initial(slowdown)
w_class = initial(w_class)
else
- to_chat(user, "You open \the [src].")
+ to_chat(user, span_notice("You open \the [src]."))
slowdown = slowdown_open
w_class = w_class_open
screen_on = !screen_on
display_overlays = screen_on
- update_icon()
+ update_appearance()
diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm
index 970dc8bd1d..d569ad24fd 100644
--- a/code/modules/modular_computers/computers/item/processor.dm
+++ b/code/modules/modular_computers/computers/item/processor.dm
@@ -38,7 +38,7 @@
integrity_failure = machinery_computer.integrity_failure
base_active_power_usage = machinery_computer.base_active_power_usage
base_idle_power_usage = machinery_computer.base_idle_power_usage
- machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /atom/proc/update_icon) //when we update_icon, also update the computer
+ machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/modular_computer/proc/relay_icon_update) //when we update_icon, also update the computer
/obj/item/modular_computer/processor/relay_qdel()
qdel(machinery_computer)
@@ -47,7 +47,7 @@
if(!machinery_computer)
return
..()
- machinery_computer.update_icon()
+ machinery_computer.update_appearance()
return
/obj/item/modular_computer/processor/attack_ghost(mob/user)
@@ -57,4 +57,4 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext)
return
playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE)
- machinery_computer.visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]")
+ machinery_computer.visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index d4d3ef52c2..8741c468d2 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -2,9 +2,10 @@
name = "tablet computer"
icon = 'icons/obj/modular_tablet.dmi'
icon_state = "tablet-red"
- icon_state_unpowered = "tablet"
- icon_state_powered = "tablet"
+ icon_state_unpowered = "tablet-red"
+ icon_state_powered = "tablet-red"
icon_state_menu = "menu"
+ base_icon_state = "tablet"
// worn_icon_state = "tablet"
hardware_flag = PROGRAM_TABLET
max_hardware_size = 1
@@ -80,12 +81,12 @@
/obj/item/modular_computer/tablet/ui_data(mob/user)
. = ..()
.["PC_showpeneject"] = inserted_item ? 1 : 0
-
/obj/item/modular_computer/tablet/update_icon_state()
if(has_variants)
if(!finish_color)
- finish_color = pick("red","blue","brown","green","black")
- icon_state = icon_state_powered = icon_state_unpowered = "tablet-[finish_color]"
+ finish_color = pick("red", "blue", "brown", "green", "black")
+ icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]"
+ return ..()
/obj/item/modular_computer/tablet/syndicate_contract_uplink
name = "contractor tablet"
@@ -102,6 +103,8 @@
/// Given to Nuke Ops members.
/obj/item/modular_computer/tablet/nukeops
icon_state = "tablet-syndicate"
+ icon_state_powered = "tablet-syndicate"
+ icon_state_unpowered = "tablet-syndicate"
comp_light_luminosity = 6.3
has_variants = FALSE
device_theme = "syndicate"
@@ -109,15 +112,18 @@
/obj/item/modular_computer/tablet/nukeops/emag_act(mob/user)
if(!enabled)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
- to_chat(user, "You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\".")
+ to_chat(user, span_notice("You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\"."))
return FALSE
/// Borg Built-in tablet interface
/obj/item/modular_computer/tablet/integrated
name = "modular interface"
icon_state = "tablet-silicon"
+ icon_state_powered = "tablet-silicon"
+ icon_state_unpowered = "tablet-silicon"
+ base_icon_state = "tablet-silicon"
has_light = FALSE //tablet light button actually enables/disables the borg lamp
comp_light_luminosity = 0
has_variants = FALSE
@@ -198,11 +204,13 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence.
return
borgo.playsound_local(src, sound, 50, TRUE)
- to_chat(borgo, "The [src] displays a [caller.filedesc] notification: [alerttext]")
+ to_chat(borgo, span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
/obj/item/modular_computer/tablet/integrated/syndicate
icon_state = "tablet-silicon-syndicate"
+ icon_state_powered = "tablet-silicon-syndicate"
+ icon_state_unpowered = "tablet-silicon-syndicate"
device_theme = "syndicate"
diff --git a/code/modules/modular_computers/computers/item/tablet_presets.dm b/code/modules/modular_computers/computers/item/tablet_presets.dm
index 90dd149825..2c760a4b6c 100644
--- a/code/modules/modular_computers/computers/item/tablet_presets.dm
+++ b/code/modules/modular_computers/computers/item/tablet_presets.dm
@@ -20,6 +20,17 @@
install_component(new /obj/item/computer_hardware/card_slot)
install_component(new /obj/item/computer_hardware/printer/mini)
+/obj/item/modular_computer/tablet/preset/science/Initialize()
+ . = ..()
+ var/obj/item/computer_hardware/hard_drive/small/hard_drive = new
+ install_component(new /obj/item/computer_hardware/processor_unit/small)
+ install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer))
+ install_component(hard_drive)
+ install_component(new /obj/item/computer_hardware/card_slot)
+ install_component(new /obj/item/computer_hardware/network_card)
+ install_component(new /obj/item/computer_hardware/radio_card)
+ hard_drive.store_file(new /datum/computer_file/program/signaler)
+
/obj/item/modular_computer/tablet/preset/cargo/Initialize()
. = ..()
var/obj/item/computer_hardware/hard_drive/small/hard_drive = new
@@ -30,17 +41,38 @@
install_component(new /obj/item/computer_hardware/network_card)
install_component(new /obj/item/computer_hardware/printer/mini)
// hard_drive.store_file(new /datum/computer_file/program/shipping)
+ var/datum/computer_file/program/chatclient/chatprogram
+ chatprogram = new
+ hard_drive.store_file(chatprogram)
+ chatprogram.username = get_cargochat_username()
+
+/obj/item/modular_computer/tablet/preset/cargo/proc/get_cargochat_username()
+ return "cargonian_[rand(1,999)]"
+
+/obj/item/modular_computer/tablet/preset/cargo/quartermaster/get_cargochat_username()
+ return "quartermaster"
/obj/item/modular_computer/tablet/preset/advanced/atmos/Initialize() //This will be defunct and will be replaced when NtOS PDAs are done
. = ..()
install_component(new /obj/item/computer_hardware/sensorpackage)
+/obj/item/modular_computer/tablet/preset/advanced/engineering/Initialize()
+ . = ..()
+ var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
+ hard_drive.store_file(new /datum/computer_file/program/supermatter_monitor)
+
/obj/item/modular_computer/tablet/preset/advanced/command/Initialize()
. = ..()
var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
install_component(new /obj/item/computer_hardware/sensorpackage)
install_component(new /obj/item/computer_hardware/card_slot/secondary)
hard_drive.store_file(new /datum/computer_file/program/budgetorders)
+ // hard_drive.store_file(new /datum/computer_file/program/science)
+
+/obj/item/modular_computer/tablet/preset/advanced/command/engineering/Initialize()
+ . = ..()
+ var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
+ hard_drive.store_file(new /datum/computer_file/program/supermatter_monitor)
/// Given by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink.
/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink/Initialize()
diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm
index 12b2f6d25a..9da6b35ff9 100644
--- a/code/modules/modular_computers/computers/machinery/console_presets.dm
+++ b/code/modules/modular_computers/computers/machinery/console_presets.dm
@@ -26,8 +26,6 @@
/obj/machinery/modular_computer/console/preset/proc/install_programs()
return
-
-
// ===== ENGINEERING CONSOLE =====
/obj/machinery/modular_computer/console/preset/engineering
console_department = "Engineering"
@@ -45,6 +43,7 @@
console_department = "Research"
name = "research director's console"
desc = "A stationary computer. This one comes preloaded with research programs."
+ _has_second_id_slot = TRUE
_has_ai = TRUE
/obj/machinery/modular_computer/console/preset/research/install_programs()
@@ -84,6 +83,18 @@
hard_drive.store_file(new/datum/computer_file/program/job_management())
hard_drive.store_file(new/datum/computer_file/program/crew_manifest())
+/obj/machinery/modular_computer/console/preset/id/centcom
+ desc = "A stationary computer. This one comes preloaded with CentCom identification modification programs."
+
+/obj/machinery/modular_computer/console/preset/id/centcom/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+ var/datum/computer_file/program/card_mod/card_mod_centcom = new /datum/computer_file/program/card_mod()
+ card_mod_centcom.is_centcom = TRUE
+ hard_drive.store_file(new /datum/computer_file/program/chatclient())
+ hard_drive.store_file(card_mod_centcom)
+ hard_drive.store_file(new /datum/computer_file/program/job_management())
+ hard_drive.store_file(new /datum/computer_file/program/crew_manifest())
+
// ===== CIVILIAN CONSOLE =====
/obj/machinery/modular_computer/console/preset/civilian
console_department = "Civilian"
@@ -94,3 +105,79 @@
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
hard_drive.store_file(new/datum/computer_file/program/chatclient())
hard_drive.store_file(new/datum/computer_file/program/arcade())
+
+// curator
+/obj/machinery/modular_computer/console/preset/curator
+ console_department = "Civilian"
+ name = "curator console"
+ desc = "A stationary computer. This one comes preloaded with art programs."
+ _has_printer = TRUE
+
+/obj/machinery/modular_computer/console/preset/curator/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+ hard_drive.store_file(new/datum/computer_file/program/portrait_printer())
+
+// ===== CARGO CHAT CONSOLES =====
+/obj/machinery/modular_computer/console/preset/cargochat
+ name = "cargo chatroom console"
+ desc = "A stationary computer. This one comes preloaded with a chatroom for your cargo requests."
+ ///chat client installed on this computer, just helpful for linking all the computers
+ var/datum/computer_file/program/chatclient/chatprogram
+
+/obj/machinery/modular_computer/console/preset/cargochat/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+ chatprogram = new
+ chatprogram.computer = cpu
+ hard_drive.store_file(chatprogram)
+ chatprogram.username = "[lowertext(console_department)]_department"
+ chatprogram.program_state = PROGRAM_STATE_ACTIVE
+ cpu.active_program = chatprogram
+
+//ONE PER MAP PLEASE, IT MAKES A CARGOBUS FOR EACH ONE OF THESE
+/obj/machinery/modular_computer/console/preset/cargochat/cargo
+ console_department = "Cargo"
+ name = "department chatroom console"
+ desc = "A stationary computer. This one comes preloaded with a chatroom for incoming cargo requests. You may moderate it from this computer."
+
+/obj/machinery/modular_computer/console/preset/cargochat/cargo/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+
+ //adding chat, setting it as the active window immediately
+ chatprogram = new
+ chatprogram.computer = cpu
+ hard_drive.store_file(chatprogram)
+ chatprogram.program_state = PROGRAM_STATE_ACTIVE
+ cpu.active_program = chatprogram
+
+ //setting up chat
+ chatprogram.username = "cargo_requests_operator"
+ var/datum/ntnet_conversation/cargochat = new
+ cargochat.operator = chatprogram //adding operator before joining the chat prevents an unnecessary message about switching op from showing
+ cargochat.add_client(chatprogram)
+ cargochat.title = "#cargobus"
+ cargochat.strong = TRUE
+ chatprogram.active_channel = cargochat.id
+
+/obj/machinery/modular_computer/console/preset/cargochat/cargo/LateInitialize()
+ . = ..()
+ var/datum/ntnet_conversation/cargochat = SSnetworks.station_network.get_chat_channel_by_id(chatprogram.active_channel)
+ for(var/obj/machinery/modular_computer/console/preset/cargochat/cargochat_console in GLOB.machines)
+ if(cargochat_console == src)
+ continue
+ cargochat_console.chatprogram.active_channel = chatprogram.active_channel
+ cargochat.add_client(cargochat_console.chatprogram, silent = TRUE)
+
+/obj/machinery/modular_computer/console/preset/cargochat/service
+ console_department = "Service"
+
+/obj/machinery/modular_computer/console/preset/cargochat/engineering
+ console_department = "Engineering"
+
+/obj/machinery/modular_computer/console/preset/cargochat/science
+ console_department = "Science"
+
+/obj/machinery/modular_computer/console/preset/cargochat/security
+ console_department = "Security"
+
+/obj/machinery/modular_computer/console/preset/cargochat/medical
+ console_department = "Medical"
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index da60657f7e..dd78a985e1 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -4,28 +4,41 @@
name = "modular computer"
desc = "An advanced computer."
- use_power = IDLE_POWER_USE
- idle_power_usage = 5
- var/hardware_flag = 0 // A flag that describes this device type
- var/last_power_usage = 0 // Power usage during last tick
-
// Modular computers can run on various devices. Each DEVICE (Laptop, Console, Tablet,..)
// must have it's own DMI file. Icon states must be called exactly the same in all files, but may look differently
// If you create a program which is limited to Laptops and Consoles you don't have to add it's icon_state overlay for Tablets too, for example.
-
icon = null
icon_state = null
- var/icon_state_unpowered = null // Icon state when the computer is turned off.
- var/icon_state_powered = null // Icon state when the computer is turned on.
- var/screen_icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
- var/screen_icon_screensaver = "standby" // Icon state overlay when the computer is powered, but not 'switched on'.
- var/max_hardware_size = 0 // Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
- var/steel_sheet_cost = 10 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
- var/light_strength = 0 // Light luminosity when turned on
- var/base_active_power_usage = 100 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
- var/base_idle_power_usage = 10 // Power usage when the computer is idle and screen is off (currently only applies to laptops)
- var/obj/item/modular_computer/processor/cpu = null // CPU that handles most logic while this type only handles power and other specific things.
+ use_power = IDLE_POWER_USE
+ idle_power_usage = 5
+ ///A flag that describes this device type
+ var/hardware_flag = 0
+ ///Power usage during last tick
+ var/last_power_usage = 0
+
+
+ ///Icon state when the computer is turned off.
+ var/icon_state_unpowered = null
+ ///Icon state when the computer is turned on.
+ var/icon_state_powered = null
+ ///Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
+ var/screen_icon_state_menu = "menu"
+ ///Icon state overlay when the computer is powered, but not 'switched on'.
+ var/screen_icon_screensaver = "standby"
+ ///Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
+ var/max_hardware_size = 0
+ ///Amount of steel sheets refunded when disassembling an empty frame of this computer.
+ var/steel_sheet_cost = 10
+ ///Light luminosity when turned on
+ var/light_strength = 0
+ ///Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
+ var/base_active_power_usage = 100
+ ///Power usage when the computer is idle and screen is off (currently only applies to laptops)
+ var/base_idle_power_usage = 10
+
+ ///CPU that handles most logic while this type only handles power and other specific things.
+ var/obj/item/modular_computer/processor/cpu = null
/obj/machinery/modular_computer/Initialize()
. = ..()
@@ -48,32 +61,35 @@
cpu.attack_ghost(user)
/obj/machinery/modular_computer/emag_act(mob/user)
- . = ..()
if(!cpu)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
return (cpu.emag_act(user))
-/obj/machinery/modular_computer/update_icon()
- cut_overlays()
- icon_state = icon_state_powered
+/obj/machinery/modular_computer/update_appearance(updates)
+ . = ..()
+ set_light(cpu?.enabled ? light_strength : 0)
- if(!cpu || !cpu.enabled)
+/obj/machinery/modular_computer/update_icon_state()
+ icon_state = (cpu?.enabled || (!(stat & NOPOWER) && cpu?.use_power())) ? icon_state_powered : icon_state_unpowered
+ return ..()
+
+/obj/machinery/modular_computer/update_overlays()
+ . = ..()
+ if(!cpu?.enabled)
if (!(stat & NOPOWER) && (cpu?.use_power()))
- add_overlay(screen_icon_screensaver)
- else
- icon_state = icon_state_unpowered
- set_light(0)
+ . += screen_icon_screensaver
else
- set_light(light_strength)
- if(cpu.active_program)
- add_overlay(cpu.active_program.program_icon_state ? cpu.active_program.program_icon_state : screen_icon_state_menu)
- else
- add_overlay(screen_icon_state_menu)
+ . += cpu.active_program?.program_icon_state || screen_icon_state_menu
if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity)
- add_overlay("bsod")
- add_overlay("broken")
+ . += "bsod"
+ . += "broken"
+
+/// Eats the "source" arg because update_icon actually expects args now.
+/obj/machinery/modular_computer/proc/relay_icon_update(datum/source, updates, updated)
+ SIGNAL_HANDLER
+ return update_icon(updates)
/obj/machinery/modular_computer/AltClick(mob/user)
if(cpu)
@@ -98,17 +114,17 @@
/obj/machinery/modular_computer/proc/power_failure(malfunction = 0)
var/obj/item/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
if(cpu?.enabled) // Shut down the computer
- visible_message("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly.")
+ visible_message(span_danger("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly."))
if(cpu)
cpu.shutdown_computer(0)
- stat |= NOPOWER
- update_icon()
+ set_machine_stat(stat | NOPOWER)
+ update_appearance()
// Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us.
/obj/machinery/modular_computer/power_change()
if(cpu?.use_power()) // If MC_CPU still has a power source, PC wouldn't go offline.
- stat &= ~NOPOWER
- update_icon()
+ set_machine_stat(stat & ~NOPOWER)
+ update_appearance()
return
. = ..()
@@ -116,7 +132,7 @@
if(cpu)
return cpu.screwdriver_act(user, tool)
-/obj/machinery/modular_computer/attackby(obj/item/W as obj, mob/user)
+/obj/machinery/modular_computer/attackby(obj/item/W as obj, mob/living/user)
if (user.a_intent == INTENT_HELP && cpu && !(flags_1 & NODECONSTRUCT_1))
return cpu.attackby(W, user)
return ..()
@@ -126,15 +142,16 @@
// Minor explosions are mostly mitigitated by casing.
/obj/machinery/modular_computer/ex_act(severity, target, origin)
if(cpu)
- cpu.ex_act(severity, target, origin)
- // switch(severity)
- // if(EXPLODE_DEVASTATE)
- // SSexplosions.high_mov_atom += cpu
- // if(EXPLODE_HEAVY)
- // SSexplosions.med_mov_atom += cpu
- // if(EXPLODE_LIGHT)
- // SSexplosions.low_mov_atom += cpu
- ..()
+ return cpu.ex_act(severity)
+
+ // switch(severity)
+ // if(EXPLODE_DEVASTATE)
+ // SSexplosions.high_mov_atom += cpu
+ // if(EXPLODE_HEAVY)
+ // SSexplosions.med_mov_atom += cpu
+ // if(EXPLODE_LIGHT)
+ // SSexplosions.low_mov_atom += cpu
+ return ..()
// EMPs are similar to explosions, but don't cause physical damage to the casing. Instead they screw up the components
/obj/machinery/modular_computer/emp_act(severity)
diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm
index 0e27d81305..aa6108fcbd 100644
--- a/code/modules/modular_computers/computers/machinery/modular_console.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_console.dm
@@ -16,7 +16,8 @@
light_strength = 2
max_integrity = 300
integrity_failure = 0.5
- var/console_department = "" // Used in New() to set network tag according to our area.
+ ///Used in New() to set network tag according to our area.
+ var/console_department = ""
/obj/machinery/modular_computer/console/buildable/Initialize()
. = ..()
@@ -52,4 +53,4 @@
network_card.identification_string = "Unknown Console"
if(cpu)
cpu.screen_on = 1
- update_icon()
+ update_appearance()
diff --git a/code/modules/modular_computers/file_system/computer_file.dm b/code/modules/modular_computers/file_system/computer_file.dm
index 4e862c4ae3..08e77b8a9b 100644
--- a/code/modules/modular_computers/file_system/computer_file.dm
+++ b/code/modules/modular_computers/file_system/computer_file.dm
@@ -1,11 +1,11 @@
/datum/computer_file
- var/filename = "NewFile" // Placeholder. No spacebars
- var/filetype = "XXX" // File full names are [filename].[filetype] so like NewFile.XXX in this case
- var/size = 1 // File size in GQ. Integers only!
- var/obj/item/computer_hardware/hard_drive/holder // Holder that contains this file.
- var/unsendable = FALSE // Whether the file may be sent to someone via NTNet transfer or other means.
- var/undeletable = FALSE // Whether the file may be deleted. Setting to TRUE prevents deletion/renaming/etc.
- var/uid // UID of this file
+ var/filename = "NewFile" // Placeholder. No spacebars
+ var/filetype = "XXX" // File full names are [filename].[filetype] so like NewFile.XXX in this case
+ var/size = 1 // File size in GQ. Integers only!
+ var/obj/item/computer_hardware/hard_drive/holder // Holder that contains this file.
+ var/unsendable = FALSE // Whether the file may be sent to someone via NTNet transfer or other means.
+ var/undeletable = FALSE // Whether the file may be deleted. Setting to TRUE prevents deletion/renaming/etc.
+ var/uid // UID of this file
var/static/file_uid = 0
/datum/computer_file/New()
diff --git a/code/modules/modular_computers/file_system/data.dm b/code/modules/modular_computers/file_system/data.dm
index 32ef6f53dd..e0404e787f 100644
--- a/code/modules/modular_computers/file_system/data.dm
+++ b/code/modules/modular_computers/file_system/data.dm
@@ -1,10 +1,10 @@
// /data/ files store data in string format.
// They don't contain other logic for now.
/datum/computer_file/data
- var/stored_data = "" // Stored data in string format.
+ var/stored_data = "" // Stored data in string format.
filetype = "DAT"
var/block_size = 250
- var/do_not_edit = 0 // Whether the user will be reminded that the file probably shouldn't be edited.
+ var/do_not_edit = 0 // Whether the user will be reminded that the file probably shouldn't be edited.
/datum/computer_file/data/clone()
var/datum/computer_file/data/temp = ..()
diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm
index a86405f882..dc0cdda5d1 100644
--- a/code/modules/modular_computers/file_system/program.dm
+++ b/code/modules/modular_computers/file_system/program.dm
@@ -15,6 +15,8 @@
var/filedesc = "Unknown Program"
/// Short description of this program's function.
var/extended_desc = "N/A"
+ /// Category in the NTDownloader.
+ var/category = PROGRAM_CATEGORY_MISC
/// Program-specific screen icon state
var/program_icon_state = null
/// Set to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
@@ -25,10 +27,10 @@
var/ntnet_status = 1
/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL
var/usage_flags = PROGRAM_ALL
- /// Whether the program can be downloaded from NTNet. Set to 0 to disable.
- var/available_on_ntnet = 1
- /// Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to 1 to enable.
- var/available_on_syndinet = 0
+ /// Whether the program can be downloaded from NTNet. Set to FALSE to disable.
+ var/available_on_ntnet = TRUE
+ /// Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.
+ var/available_on_syndinet = FALSE
/// Name of the tgui interface
var/tgui_id
/// Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!
@@ -64,7 +66,7 @@
// Relays icon update to the computer.
/datum/computer_file/program/proc/update_computer_icon()
if(computer)
- computer.update_icon()
+ computer.update_appearance()
// Attempts to create a log in global ntnet datum. Returns 1 on success, 0 on fail.
/datum/computer_file/program/proc/generate_network_log(text)
@@ -72,10 +74,25 @@
return computer.add_log(text)
return 0
+/**
+ *Runs when the device is used to attack an atom in non-combat mode.
+ *
+ *Simulates using the device to read or scan something. Tap is called by the computer during pre_attack
+ *and sends us all of the related info. If we return TRUE, the computer will stop the attack process
+ *there. What we do with the info is up to us, but we should only return TRUE if we actually perform
+ *an action of some sort.
+ *Arguments:
+ *A is the atom being tapped
+ *user is the person making the attack action
+ *params is anything the pre_attack() proc had in the same-named variable.
+*/
+/datum/computer_file/program/proc/tap(atom/A, mob/living/user, params)
+ return FALSE
+
/datum/computer_file/program/proc/is_supported_by_hardware(hardware_flag = 0, loud = 0, mob/user = null)
if(!(hardware_flag & usage_flags))
if(loud && computer && user)
- to_chat(user, "\The [computer] flashes a \"Hardware Error - Incompatible software\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes a \"Hardware Error - Incompatible software\" warning."))
return FALSE
return TRUE
@@ -109,7 +126,7 @@
if(!access_to_check) // No required_access, allow it.
return TRUE
- if(!transfer && computer && (computer.obj_flags & EMAGGED)) //emags can bypass the execution locks but not the download ones.
+ if(!transfer && computer && (computer.obj_flags & EMAGGED)) //emags can bypass the execution locks but not the download ones.
return TRUE
if(IsAdminGhost(user))
@@ -127,14 +144,14 @@
if(!D)
if(loud)
- to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning."))
return FALSE
access = D.GetAccess()
if(access_to_check in access)
return TRUE
if(loud)
- to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes an \"Access Denied\" warning."))
return FALSE
// This attempts to retrieve header data for UIs. If implementing completely new device of different type than existing ones
@@ -219,7 +236,7 @@
program_state = PROGRAM_STATE_BACKGROUND // Should close any existing UIs
computer.active_program = null
- computer.update_icon()
+ computer.update_appearance()
ui.close()
if(user && istype(user))
diff --git a/code/modules/modular_computers/file_system/program_events.dm b/code/modules/modular_computers/file_system/program_events.dm
index 1cb74a227b..c11b1066bd 100644
--- a/code/modules/modular_computers/file_system/program_events.dm
+++ b/code/modules/modular_computers/file_system/program_events.dm
@@ -13,6 +13,6 @@
/datum/computer_file/program/proc/event_networkfailure(background)
kill_program(forced = TRUE)
if(background)
- computer.visible_message("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error")
+ computer.visible_message(span_danger("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error"))
else
- computer.visible_message("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error.")
+ computer.visible_message(span_danger("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error."))
diff --git a/code/modules/modular_computers/file_system/programs/airestorer.dm b/code/modules/modular_computers/file_system/programs/airestorer.dm
index faf2831ca1..4f181c0e34 100644
--- a/code/modules/modular_computers/file_system/programs/airestorer.dm
+++ b/code/modules/modular_computers/file_system/programs/airestorer.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/aidiag
filename = "aidiag"
filedesc = "NT FRK"
+ category = PROGRAM_CATEGORY_ROBO
program_icon_state = "generic"
extended_desc = "Firmware Restoration Kit, capable of reconstructing damaged AI systems. Requires direct AI connection via intellicard slot."
size = 12
@@ -55,7 +56,7 @@
/datum/computer_file/program/aidiag/process_tick()
. = ..()
- if(!restoring) //Put the check here so we don't check for an ai all the time
+ if(!restoring) //Put the check here so we don't check for an ai all the time
return
var/obj/item/aicard/cardhold = get_ai(2)
@@ -64,7 +65,7 @@
var/mob/living/silicon/ai/A = get_ai()
if(!A || !cardhold)
- restoring = FALSE // If the AI was removed, stop the restoration sequence.
+ restoring = FALSE // If the AI was removed, stop the restoration sequence.
if(ai_slot)
ai_slot.locked = FALSE
return
@@ -84,7 +85,7 @@
if(A.health >= 0 && A.stat == DEAD)
A.revive(full_heal = FALSE, admin_revive = FALSE)
- cardhold.update_icon()
+ cardhold.update_appearance()
// Finished restoring
if(A.health >= 100)
diff --git a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
index 8709526de6..1cad0e46f8 100644
--- a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
+++ b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/contract_uplink
filename = "contractor uplink"
filedesc = "Syndicate Contractor Uplink"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "assign"
extended_desc = "A standard, Syndicate issued system for handling important contracts while on the field."
size = 10
@@ -91,9 +92,9 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.put_in_hands(crystals))
- to_chat(H, "Your payment materializes into your hands!")
+ to_chat(H, span_notice("Your payment materializes into your hands!"))
else
- to_chat(user, "Your payment materializes onto the floor.")
+ to_chat(user, span_notice("Your payment materializes onto the floor."))
hard_drive.traitor_data.contractor_hub.contract_TC_payed_out += hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem
hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem = 0
@@ -164,6 +165,11 @@
))
for (var/datum/syndicate_contract/contract in traitor_data.contractor_hub.assigned_contracts)
+ if(!contract.contract)
+ stack_trace("Syndiate contract with null contract objective found in [traitor_data.owner]'s contractor hub!")
+ contract.status = CONTRACT_STATUS_ABORTED
+ continue
+
data["contracts"] += list(list(
"target" = contract.contract.target,
"target_rank" = contract.target_rank,
diff --git a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm
index bb3c62cac2..90510bacdb 100644
--- a/code/modules/modular_computers/file_system/programs/antagonist/dos.dm
+++ b/code/modules/modular_computers/file_system/programs/antagonist/dos.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/ntnet_dos
filename = "ntn_dos"
filedesc = "DoS Traffic Generator"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "hostile"
extended_desc = "This advanced script can perform denial of service attacks against NTNet quantum relays. The system administrator will probably notice this. Multiple devices can run this program together against same relay for increased effect"
size = 20
diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
index ba24a5ab3e..4e5afa32a7 100644
--- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
+++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/revelation
filename = "revelation"
filedesc = "Revelation"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "hostile"
extended_desc = "This virus can destroy hard drive of system it is executed on. It may be obfuscated to look like another non-malicious program. Once armed, it will destroy the system upon next execution."
size = 13
@@ -20,13 +21,13 @@
if(computer)
if(istype(computer, /obj/item/modular_computer/tablet/integrated)) //If this is a borg's integrated tablet
var/obj/item/modular_computer/tablet/integrated/modularInterface = computer
- to_chat(modularInterface.borgo,"SYSTEM PURGE DETECTED/")
+ to_chat(modularInterface.borgo,span_userdanger("SYSTEM PURGE DETECTED/"))
addtimer(CALLBACK(modularInterface.borgo, /mob/living/silicon/robot/.proc/death), 2 SECONDS, TIMER_UNIQUE)
return
- computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.")
+ computer.visible_message(span_notice("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard."))
computer.enabled = FALSE
- computer.update_icon()
+ computer.update_appearance()
var/obj/item/computer_hardware/hard_drive/hard_drive = computer.all_components[MC_HDD]
var/obj/item/computer_hardware/battery/battery_module = computer.all_components[MC_CELL]
var/obj/item/computer_hardware/recharger/recharger = computer.all_components[MC_CHARGE]
@@ -34,13 +35,13 @@
computer.take_damage(25, BRUTE, 0, 0)
if(battery_module && prob(25))
qdel(battery_module)
- computer.visible_message("\The [computer]'s battery explodes in rain of sparks.")
+ computer.visible_message(span_notice("\The [computer]'s battery explodes in rain of sparks."))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.start()
if(recharger && prob(50))
qdel(recharger)
- computer.visible_message("\The [computer]'s recharger explodes in rain of sparks.")
+ computer.visible_message(span_notice("\The [computer]'s recharger explodes in rain of sparks."))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.start()
diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm
index c330cdcbe8..3fe38cdf6f 100644
--- a/code/modules/modular_computers/file_system/programs/arcade.dm
+++ b/code/modules/modular_computers/file_system/programs/arcade.dm
@@ -32,7 +32,7 @@
game_active = FALSE
program_icon_state = "arcade_off"
if(istype(computer))
- computer.update_icon()
+ computer.update_appearance()
ticket_count += 1
// user?.mind?.adjust_experience(/datum/skill/gaming, 50)
sleep(10)
@@ -42,7 +42,7 @@
game_active = FALSE
program_icon_state = "arcade_off"
if(istype(computer))
- computer.update_icon()
+ computer.update_appearance()
// user?.mind?.adjust_experience(/datum/skill/gaming, 10)
sleep(10)
@@ -150,20 +150,20 @@
return TRUE
if("Dispense_Tickets")
if(!printer)
- to_chat(usr, "Hardware error: A printer is required to redeem tickets.")
+ to_chat(usr, span_notice("Hardware error: A printer is required to redeem tickets."))
return
if(printer.stored_paper <= 0)
- to_chat(usr, "Hardware error: Printer is out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer is out of paper."))
return
else
- computer.visible_message("\The [computer] prints out paper.")
+ computer.visible_message(span_notice("\The [computer] prints out paper."))
if(ticket_count >= 1)
new /obj/item/stack/arcadeticket((get_turf(computer)), 1)
- to_chat(usr, "[src] dispenses a ticket!")
+ to_chat(usr, span_notice("[computer] dispenses a ticket!"))
ticket_count -= 1
printer.stored_paper -= 1
else
- to_chat(usr, "You don't have any stored tickets!")
+ to_chat(usr, span_notice("You don't have any stored tickets!"))
return TRUE
if("Start_Game")
game_active = TRUE
@@ -175,4 +175,4 @@
boss_id = rand(1,6)
pause_state = FALSE
if(istype(computer))
- computer.update_icon()
+ computer.update_appearance()
diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.dm b/code/modules/modular_computers/file_system/programs/atmosscan.dm
index 1576a5b4b7..db9f0d85b4 100644
--- a/code/modules/modular_computers/file_system/programs/atmosscan.dm
+++ b/code/modules/modular_computers/file_system/programs/atmosscan.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/atmosscan
filename = "atmosscan"
filedesc = "AtmoZphere"
+ category = PROGRAM_CATEGORY_ENGI
program_icon_state = "air"
extended_desc = "A small built-in sensor reads out the atmospheric conditions around the device."
size = 4
@@ -12,7 +13,7 @@
if (!.)
return
if(!computer?.get_modular_computer_part(MC_SENSORS)) //Giving a clue to users why the program is spitting out zeros.
- to_chat(user, "\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\".")
+ to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\"."))
/datum/computer_file/program/atmosscan/ui_data(mob/user)
diff --git a/code/modules/modular_computers/file_system/programs/borg_monitor.dm b/code/modules/modular_computers/file_system/programs/borg_monitor.dm
index 46e1f89ee4..10f6561087 100644
--- a/code/modules/modular_computers/file_system/programs/borg_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/borg_monitor.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/borg_monitor
filename = "siliconnect"
filedesc = "SiliConnect"
+ category = PROGRAM_CATEGORY_ROBO
ui_header = "borg_mon.gif"
program_icon_state = "generic"
extended_desc = "This program allows for remote monitoring of station cyborgs."
@@ -9,6 +10,70 @@
size = 5
tgui_id = "NtosCyborgRemoteMonitor"
program_icon = "project-diagram"
+ var/emagged = FALSE ///Bool of if this app has already been emagged
+ var/list/loglist = list() ///A list to copy a borg's IC log list into
+ var/mob/living/silicon/robot/DL_source ///reference of a borg if we're downloading a log, or null if not.
+ var/DL_progress = -1 ///Progress of current download, 0 to 100, -1 for no current download
+
+/datum/computer_file/program/borg_monitor/Destroy()
+ loglist = null
+ DL_source = null
+ return ..()
+
+/datum/computer_file/program/borg_monitor/kill_program(forced = FALSE)
+ loglist = null //Not everything is saved if you close an app
+ DL_source = null
+ DL_progress = 0
+ return ..()
+
+/datum/computer_file/program/borg_monitor/run_emag()
+ if(emagged)
+ return FALSE
+ emagged = TRUE
+ return TRUE
+
+/datum/computer_file/program/borg_monitor/tap(atom/A, mob/living/user, params)
+ var/mob/living/silicon/robot/borgo = A
+ if(!istype(borgo) || !borgo.modularInterface)
+ return FALSE
+ DL_source = borgo
+ DL_progress = 0
+
+ var/username = "unknown user"
+ var/obj/item/card/id/stored_card = computer.GetID()
+ if(istype(stored_card) && stored_card.registered_name)
+ username = "user [stored_card.registered_name]"
+ to_chat(borgo, span_userdanger("Request received from [username] for the system log file. Upload in progress."))//Damning evidence may be contained, so warn the borg
+ borgo.logevent("File request by [username]: /var/logs/syslog")
+ return TRUE
+
+/datum/computer_file/program/borg_monitor/process_tick()
+ if(!DL_source)
+ DL_progress = -1
+ return
+
+ var/turf/here = get_turf(computer)
+ var/turf/there = get_turf(DL_source)
+ if(!here.Adjacent(there))//If someone walked away, cancel the download
+ to_chat(DL_source, span_danger("Log upload failed: general connection error."))//Let the borg know the upload stopped
+ DL_source = null
+ DL_progress = -1
+ return
+
+ if(DL_progress == 100)
+ if(!DL_source || !DL_source.modularInterface) //sanity check, in case the borg or their modular tablet poofs somehow
+ loglist = list("System log of unit [DL_source.name]")
+ loglist += "Error -- Download corrupted."
+ else
+ loglist = DL_source.modularInterface.borglog.Copy()
+ loglist.Insert(1,"System log of unit [DL_source.name]")
+ DL_progress = -1
+ DL_source = null
+ for(var/datum/tgui/window in SStgui.open_uis_by_src[REF(src)])
+ window.send_full_update()
+ return
+
+ DL_progress += 25
/datum/computer_file/program/borg_monitor/ui_data(mob/user)
var/list/data = get_header_data()
@@ -32,15 +97,22 @@
var/list/cyborg_data = list(
name = R.name,
+ integ = round((R.health + 100) / 2), //mob heath is -100 to 100, we want to scale that to 0 - 100
locked_down = R.locked_down,
status = R.stat,
shell_discon = shell,
charge = R.cell ? round(R.cell.percent()) : null,
- module = R.module ? "[R.module.name] Module" : "No Module Detected",
+ module = R.module ? "[R.module.name] Model" : "No Model Detected",
upgrades = upgrade,
ref = REF(R)
)
data["cyborgs"] += list(cyborg_data)
+ data["DL_progress"] = DL_progress
+ return data
+
+/datum/computer_file/program/borg_monitor/ui_static_data(mob/user)
+ var/list/data = list()
+ data["borglog"] = loglist
return data
/datum/computer_file/program/borg_monitor/ui_act(action, params)
@@ -57,16 +129,16 @@
if(!ID)
return
if(R.stat == DEAD) //Dead borgs will listen to you no longer
- to_chat(usr, "Error -- Could not open a connection to unit:[R]")
+ to_chat(usr, span_warning("Error -- Could not open a connection to unit:[R]"))
var/message = stripped_input(usr, message = "Enter message to be sent to remote cyborg.", title = "Send Message")
if(!message)
return
- to_chat(R, "
Message from [ID] -- \"[message]\" ")
+ to_chat(R, "
[span_notice("Message from [ID] -- \"[message]\"")] ")
to_chat(usr, "Message sent to [R]: [message]")
R.logevent("Message from [ID] -- \"[message]\"")
SEND_SOUND(R, 'sound/machines/twobeep_high.ogg')
if(R.connected_ai)
- to_chat(R.connected_ai, "
Message from [ID] to [R] -- \"[message]\" ")
+ to_chat(R.connected_ai, "
[span_notice("Message from [ID] to [R] -- \"[message]\"")] ")
SEND_SOUND(R.connected_ai, 'sound/machines/twobeep_high.ogg')
usr.log_talk(message, LOG_PDA, tag="Cyborg Monitor Program: ID name \"[ID]\" to [R]")
@@ -82,12 +154,15 @@
/datum/computer_file/program/borg_monitor/proc/checkID()
var/obj/item/card/id/ID = computer.GetID()
if(!ID)
+ if(emagged)
+ return "STDERR:UNDF"
return FALSE
return ID.registered_name
/datum/computer_file/program/borg_monitor/syndicate
filename = "roboverlord"
filedesc = "Roboverlord"
+ category = PROGRAM_CATEGORY_ROBO
ui_header = "borg_mon.gif"
program_icon_state = "generic"
extended_desc = "This program allows for remote monitoring of mission-assigned cyborgs."
@@ -97,6 +172,9 @@
transfer_access = null
tgui_id = "NtosCyborgRemoteMonitorSyndicate"
+/datum/computer_file/program/borg_monitor/syndicate/run_emag()
+ return FALSE
+
/datum/computer_file/program/borg_monitor/syndicate/evaluate_borg(mob/living/silicon/robot/R)
if((get_turf(computer)).z != (get_turf(R)).z)
return FALSE
diff --git a/code/modules/modular_computers/file_system/programs/bounty_board.dm b/code/modules/modular_computers/file_system/programs/bounty_board.dm
index 9c42a28a9b..d008d5e72b 100644
--- a/code/modules/modular_computers/file_system/programs/bounty_board.dm
+++ b/code/modules/modular_computers/file_system/programs/bounty_board.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/bounty_board
filename = "bountyboard"
filedesc = "Bounty Board Request Network"
+ category = PROGRAM_CATEGORY_SUPL
program_icon_state = "bountyboard"
extended_desc = "A multi-platform network for placing requests across the station, with payment across the network being possible.."
requires_ntnet = TRUE
diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm
index 4fda99864c..1f8fd6f7a6 100644
--- a/code/modules/modular_computers/file_system/programs/budgetordering.dm
+++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm
@@ -1,41 +1,50 @@
/datum/computer_file/program/budgetorders
filename = "orderapp"
filedesc = "NT IRN"
- // category = PROGRAM_CATEGORY_SUPL
+ category = PROGRAM_CATEGORY_SUPL
program_icon_state = "request"
extended_desc = "Nanotrasen Internal Requisition Network interface for supply purchasing using a department budget account."
requires_ntnet = TRUE
- transfer_access = ACCESS_HEADS
usage_flags = PROGRAM_LAPTOP | PROGRAM_TABLET
size = 20
tgui_id = "NtosCargo"
///Are you actually placing orders with it?
var/requestonly = TRUE
///Can the tablet see or buy illegal stuff?
- var/contraband_view = FALSE
+ var/contraband = FALSE
///Is it being bought from a personal account, or is it being done via a budget/cargo?
var/self_paid = FALSE
///Can this console approve purchase requests?
var/can_approve_requests = FALSE
///What do we say when the shuttle moves with living beings on it.
- var/safety_warning = "For safety reasons, the automated supply shuttle \
- cannot transport live organisms, human remains, classified nuclear weaponry, \
- homing beacons or machinery housing any form of artificial intelligence."
+ var/safety_warning = "For safety and ethical reasons, the automated supply shuttle \
+ cannot transport live organisms, human remains, classified nuclear weaponry, mail, \
+ homing beacons, unstable eigenstates or machinery housing any form of artificial intelligence."
///If you're being raided by pirates, what do you tell the crew?
var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible."
+ ///The name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.
+ var/cargo_shuttle = "supply"
+ ///The docking port called when returning to the station.
+ var/docking_home = "supply_home"
+ ///The docking port called when leaving the station.
+ var/docking_away = "supply_away"
+ ///If this console can loan the cargo shuttle. Set to false to disable.
+ var/stationcargo = TRUE
+ ///The account this console processes and displays. Independent from the account the shuttle processes.
+ var/cargo_account = ACCOUNT_CAR
/datum/computer_file/program/budgetorders/proc/get_export_categories()
. = EXPORT_CARGO
/datum/computer_file/program/budgetorders/run_emag()
- if(!contraband_view)
- contraband_view = TRUE
+ if(!contraband)
+ contraband = TRUE
return TRUE
/datum/computer_file/program/budgetorders/proc/is_visible_pack(mob/user, paccess_to_check, list/access, contraband)
if(issilicon(user)) //Borgs can't buy things.
return FALSE
- if((computer.obj_flags & EMAGGED) || contraband_view)
+ if(computer.obj_flags & EMAGGED)
return TRUE
else if(contraband) //Hide contrband when non-emagged.
return FALSE
@@ -64,11 +73,11 @@
. = ..()
var/list/data = get_header_data()
data["location"] = SSshuttle.supply.getStatusText()
- var/datum/bank_account/buyer = SSeconomy.get_dep_account(ACCOUNT_CAR)
+ var/datum/bank_account/buyer = SSeconomy.get_dep_account(cargo_account)
var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD]
var/obj/item/card/id/id_card = card_slot?.GetID()
if(id_card?.registered_account)
- if(ACCESS_HEADS in id_card.access)
+ if((ACCESS_HEADS in id_card.access) || (ACCESS_QM in id_card.access))
requestonly = FALSE
buyer = SSeconomy.get_dep_account(id_card.registered_account.account_job.paycheck_department)
can_approve_requests = TRUE
@@ -85,14 +94,14 @@
data["supplies"] = list()
for(var/pack in SSshuttle.supply_packs)
var/datum/supply_pack/P = SSshuttle.supply_packs[pack]
- if(!is_visible_pack(usr, P.access , null, P.contraband))
+ if(!is_visible_pack(usr, P.access , null, P.contraband) || P.hidden)
continue
if(!data["supplies"][P.group])
data["supplies"][P.group] = list(
"name" = P.group,
"packs" = list()
)
- if(((P.hidden || P.contraband) && !contraband_view) || (P.special && !P.special_enabled) || P.DropPodOnly)
+ if((P.hidden && (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.DropPodOnly))
continue
data["supplies"][P.group]["packs"] += list(list(
"name" = P.name,
@@ -105,7 +114,7 @@
//Data regarding the User's capability to buy things.
data["has_id"] = id_card
- data["away"] = SSshuttle.supply.getDockedId() == "supply_away"
+ data["away"] = SSshuttle.supply.getDockedId() == docking_away
data["self_paid"] = self_paid
data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE
data["loan"] = !!SSshuttle.shuttle_loan
@@ -153,15 +162,15 @@
if(SSshuttle.supplyBlocked)
computer.say(blockade_warning)
return
- if(SSshuttle.supply.getDockedId() == "supply_home")
+ if(SSshuttle.supply.getDockedId() == docking_home)
SSshuttle.supply.export_categories = get_export_categories()
- SSshuttle.moveShuttle("supply", "supply_away", TRUE)
+ SSshuttle.moveShuttle(cargo_shuttle, docking_away, TRUE)
computer.say("The supply shuttle is departing.")
computer.investigate_log("[key_name(usr)] sent the supply shuttle away.", INVESTIGATE_CARGO)
else
computer.investigate_log("[key_name(usr)] called the supply shuttle.", INVESTIGATE_CARGO)
computer.say("The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.")
- SSshuttle.moveShuttle("supply", "supply_home", TRUE)
+ SSshuttle.moveShuttle(cargo_shuttle, docking_home, TRUE)
. = TRUE
if("loan")
if(!SSshuttle.shuttle_loan)
@@ -171,7 +180,9 @@
return
else if(SSshuttle.supply.mode != SHUTTLE_IDLE)
return
- else if(SSshuttle.supply.getDockedId() != "supply_away")
+ else if(SSshuttle.supply.getDockedId() != docking_away)
+ return
+ else if(stationcargo != TRUE)
return
else
SSshuttle.shuttle_loan.loan_shuttle()
@@ -184,7 +195,7 @@
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
if(!istype(pack))
return
- if(((pack.hidden || pack.contraband) && !contraband_view) || pack.DropPodOnly)
+ if((pack.hidden && (pack.contraband && !contraband) || pack.DropPodOnly))
return
var/name = "*None Provided*"
@@ -273,7 +284,7 @@
self_paid = !self_paid
. = TRUE
if(.)
- post_signal("supply")
+ post_signal(cargo_shuttle)
/datum/computer_file/program/budgetorders/proc/post_signal(command)
diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm
index 65bb5f2343..18e717191e 100644
--- a/code/modules/modular_computers/file_system/programs/card.dm
+++ b/code/modules/modular_computers/file_system/programs/card.dm
@@ -9,6 +9,7 @@
/datum/computer_file/program/card_mod
filename = "plexagonidwriter"
filedesc = "Plexagon Access Management"
+ category = PROGRAM_CATEGORY_CREW
program_icon_state = "id"
extended_desc = "Program for programming employee ID cards to access parts of the station."
transfer_access = ACCESS_HEADS
diff --git a/code/modules/modular_computers/file_system/programs/cargoship.dm b/code/modules/modular_computers/file_system/programs/cargoship.dm
index 89a3b3247d..672c0de470 100644
--- a/code/modules/modular_computers/file_system/programs/cargoship.dm
+++ b/code/modules/modular_computers/file_system/programs/cargoship.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/shipping
filename = "shipping"
filedesc = "GrandArk Exporter"
+ category = PROGRAM_CATEGORY_SUPL
program_icon_state = "shipping"
extended_desc = "A combination printer/scanner app that enables modular computers to print barcodes for easy scanning and shipping."
size = 6
@@ -8,8 +9,12 @@
program_icon = "tags"
///Account used for creating barcodes.
var/datum/bank_account/payments_acc
- ///The amount which the tagger will receive for the sale.
- var/percent_cut = 20
+ ///The person who tagged this will receive the sale value multiplied by this number.
+ var/cut_multiplier = 0.5
+ ///Maximum value for cut_multiplier.
+ var/cut_max = 0.5
+ ///Minimum value for cut_multiplier.
+ var/cut_min = 0.01
/datum/computer_file/program/shipping/ui_data(mob/user)
var/list/data = get_header_data()
@@ -22,7 +27,7 @@
data["paperamt"] = printer ? "[printer.stored_paper] / [printer.max_paper]" : null
data["card_owner"] = card_slot?.stored_card ? id_card.registered_name : "No Card Inserted."
data["current_user"] = payments_acc ? payments_acc.account_holder : null
- data["barcode_split"] = percent_cut
+ data["barcode_split"] = cut_multiplier * 100
return data
/datum/computer_file/program/shipping/ui_act(action, list/params)
@@ -54,20 +59,20 @@
if("resetid")
payments_acc = null
if("setsplit")
- var/potential_cut = input("How much would you like to payout to the registered card?","Percentage Profit") as num|null
- percent_cut = potential_cut ? clamp(round(potential_cut, 1), 1, 50) : 20
+ var/potential_cut = input("How much would you like to pay out to the registered card?","Percentage Profit ([round(cut_min*100)]% - [round(cut_max*100)]%)") as num|null
+ cut_multiplier = potential_cut ? clamp(round(potential_cut/100, cut_min), cut_min, cut_max) : initial(cut_multiplier)
if("print")
if(!printer)
- to_chat(usr, "Hardware error: A printer is required to print barcodes.")
+ to_chat(usr, span_notice("Hardware error: A printer is required to print barcodes."))
return
if(printer.stored_paper <= 0)
- to_chat(usr, "Hardware error: Printer is out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer is out of paper."))
return
if(!payments_acc)
- to_chat(usr, "Software error: Please set a current user first.")
+ to_chat(usr, span_notice("Software error: Please set a current user first."))
return
var/obj/item/barcode/barcode = new /obj/item/barcode(get_turf(ui_host()))
barcode.payments_acc = payments_acc
- barcode.percent_cut = percent_cut
+ barcode.cut_multiplier = cut_multiplier
printer.stored_paper--
- to_chat(usr, "The computer prints out a barcode.")
+ to_chat(usr, span_notice("The computer prints out a barcode."))
diff --git a/code/modules/modular_computers/file_system/programs/crewmanifest.dm b/code/modules/modular_computers/file_system/programs/crewmanifest.dm
index debe87259d..6837f315a4 100644
--- a/code/modules/modular_computers/file_system/programs/crewmanifest.dm
+++ b/code/modules/modular_computers/file_system/programs/crewmanifest.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/crew_manifest
filename = "plexagoncrew"
filedesc = "Plexagon Crew List"
+ category = PROGRAM_CATEGORY_CREW
program_icon_state = "id"
extended_desc = "Program for viewing and printing the current crew manifest"
transfer_access = ACCESS_HEADS
@@ -44,7 +45,7 @@
[GLOB.data_core ? GLOB.data_core.get_manifest() : ""]
"}
if(!printer.print_text(contents,text("crew manifest ([])", STATION_TIME_TIMESTAMP("hh:mm:ss", world.time))))
- to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper."))
return
else
- computer.visible_message("\The [computer] prints out a paper.")
+ computer.visible_message(span_notice("\The [computer] prints out a paper."))
diff --git a/code/modules/modular_computers/file_system/programs/file_browser.dm b/code/modules/modular_computers/file_system/programs/file_browser.dm
index 97a71496ea..60a9536543 100644
--- a/code/modules/modular_computers/file_system/programs/file_browser.dm
+++ b/code/modules/modular_computers/file_system/programs/file_browser.dm
@@ -38,14 +38,27 @@
return
RHDD.remove_file(file)
return TRUE
- if("PRG_rename")
+ if("PRG_renamefile")
if(!HDD)
return
var/datum/computer_file/file = HDD.find_file_by_name(params["name"])
if(!file)
return
- var/newname = params["new_name"]
- if(!newname)
+ var/newname = reject_bad_name(params["new_name"])
+ if(!newname || newname != params["new_name"])
+ playsound(computer, 'sound/machines/terminal_error.ogg', 25, FALSE)
+ return
+ file.filename = newname
+ return TRUE
+ if("PRG_usbrenamefile")
+ if(!RHDD)
+ return
+ var/datum/computer_file/file = RHDD.find_file_by_name(params["name"])
+ if(!file)
+ return
+ var/newname = reject_bad_name(params["new_name"])
+ if(!newname || newname != params["new_name"])
+ playsound(computer, 'sound/machines/terminal_error.ogg', 25, FALSE)
return
file.filename = newname
return TRUE
diff --git a/code/modules/modular_computers/file_system/programs/jobmanagement.dm b/code/modules/modular_computers/file_system/programs/jobmanagement.dm
index 0babfcdddd..29f9a37433 100644
--- a/code/modules/modular_computers/file_system/programs/jobmanagement.dm
+++ b/code/modules/modular_computers/file_system/programs/jobmanagement.dm
@@ -1,6 +1,10 @@
+/// The time since the last job opening was created
+// GLOBAL_VAR_INIT(time_last_changed_position, 0)
+
/datum/computer_file/program/job_management
filename = "plexagoncore"
filedesc = "Plexagon HR Core"
+ category = PROGRAM_CATEGORY_CREW
program_icon_state = "id"
extended_desc = "Program for viewing and changing job slot avalibility."
transfer_access = ACCESS_HEADS
@@ -14,6 +18,7 @@
var/list/blacklisted = list(
"AI",
"Assistant",
+ "Prisoner",
"Cyborg",
"Captain",
"Head of Personnel",
@@ -35,21 +40,25 @@
change_position_cooldown = CONFIG_GET(number/id_console_jobslot_delay)
/datum/computer_file/program/job_management/proc/can_open_job(datum/job/job)
- if(!(job?.title in blacklisted))
- if((job.total_positions <= length(GLOB.player_list) * (max_relative_positions / 100)))
- var/delta = (world.time / 10) - GLOB.time_last_changed_position
- if((change_position_cooldown < delta) || (opened_positions[job.title] < 0))
- return TRUE
+ if(job?.title in blacklisted)
+ return FALSE
+ if((job.total_positions <= length(GLOB.player_list) * (max_relative_positions / 100)))
+ var/delta = (world.time / 10) - GLOB.time_last_changed_position
+ if((change_position_cooldown < delta) || (opened_positions[job.title] < 0))
+ return TRUE
return FALSE
+
/datum/computer_file/program/job_management/proc/can_close_job(datum/job/job)
- if(!(job?.title in blacklisted))
- if(job.total_positions > job.current_positions)
- var/delta = (world.time / 10) - GLOB.time_last_changed_position
- if((change_position_cooldown < delta) || (opened_positions[job.title] > 0))
- return TRUE
+ if(job?.title in blacklisted)
+ return FALSE
+ if(job.total_positions > job.current_positions)
+ var/delta = (world.time / 10) - GLOB.time_last_changed_position
+ if((change_position_cooldown < delta) || (opened_positions[job.title] > 0))
+ return TRUE
return FALSE
+
/datum/computer_file/program/job_management/ui_act(action, params, datum/tgui/ui)
. = ..()
if(.)
@@ -68,9 +77,10 @@
if(!j || !can_open_job(j))
return
if(opened_positions[edit_job_target] >= 0)
- GLOB.time_last_changed_position = world.time / 10 // global cd
+ GLOB.time_last_changed_position = world.time / 10
j.total_positions++
opened_positions[edit_job_target]++
+ log_game("[key_name(usr)] opened a [j.title] job position, for a total of [j.total_positions] open job slots.")
playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE)
return TRUE
if("PRG_close_job")
@@ -83,21 +93,23 @@
GLOB.time_last_changed_position = world.time / 10
j.total_positions--
opened_positions[edit_job_target]--
+ log_game("[key_name(usr)] closed a [j.title] job position, leaving [j.total_positions] open job slots.")
playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE)
return TRUE
if("PRG_priority")
- if(length(SSjob.prioritized_jobs) >= 5)
- return
var/priority_target = params["target"]
var/datum/job/j = SSjob.GetJob(priority_target)
- if(!j)
+ if(!j || (j?.title in blacklisted))
return
if(j.total_positions <= j.current_positions)
return
if(j in SSjob.prioritized_jobs)
SSjob.prioritized_jobs -= j
else
- SSjob.prioritized_jobs += j
+ if(length(SSjob.prioritized_jobs) < 5)
+ SSjob.prioritized_jobs += j
+ else
+ computer.say("Error: CentCom employment protocols restrict prioritising more than 5 jobs.")
playsound(computer, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE)
return TRUE
diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.dm b/code/modules/modular_computers/file_system/programs/ntdownloader.dm
index f3fa6df2b3..56283e3c8b 100644
--- a/code/modules/modular_computers/file_system/programs/ntdownloader.dm
+++ b/code/modules/modular_computers/file_system/programs/ntdownloader.dm
@@ -22,6 +22,13 @@
var/emagged = FALSE
var/list/main_repo
var/list/antag_repo
+ var/list/show_categories = list(
+ PROGRAM_CATEGORY_CREW,
+ PROGRAM_CATEGORY_ENGI,
+ PROGRAM_CATEGORY_ROBO,
+ PROGRAM_CATEGORY_SUPL,
+ PROGRAM_CATEGORY_MISC,
+ )
/datum/computer_file/program/ntnetdownload/run_program()
. = ..()
@@ -146,39 +153,29 @@
var/obj/item/computer_hardware/hard_drive/hard_drive = my_computer.all_components[MC_HDD]
data["disk_size"] = hard_drive.max_capacity
data["disk_used"] = hard_drive.used_capacity
- var/list/all_entries[0]
- for(var/A in main_repo)
- var/datum/computer_file/program/P = A
- // Only those programs our user can run will show in the list
- if(hard_drive.find_file_by_name(P.filename))
- continue
- all_entries.Add(list(list(
+ data["emagged"] = emagged
+
+ var/list/repo = antag_repo | main_repo
+ var/list/program_categories = list()
+
+ for(var/I in repo)
+ var/datum/computer_file/program/P = I
+ if(!(P.category in program_categories))
+ program_categories.Add(P.category)
+ data["programs"] += list(list(
+ "icon" = P.program_icon,
"filename" = P.filename,
"filedesc" = P.filedesc,
"fileinfo" = P.extended_desc,
- "compatibility" = check_compatibility(P),
+ "category" = P.category,
+ "installed" = !!hard_drive.find_file_by_name(P.filename),
+ "compatible" = check_compatibility(P),
"size" = P.size,
- "access" = P.can_run(user,transfer = 1, access = access)
- )))
- data["hackedavailable"] = FALSE
- if(emagged) // If we are running on emagged computer we have access to some "bonus" software
- var/list/hacked_programs[0]
- for(var/S in antag_repo)
- var/datum/computer_file/program/P = S
- if(hard_drive.find_file_by_name(P.filename))
- continue
- data["hackedavailable"] = TRUE
- hacked_programs.Add(list(list(
- "filename" = P.filename,
- "filedesc" = P.filedesc,
- "fileinfo" = P.extended_desc,
- "compatibility" = check_compatibility(P),
- "size" = P.size,
- "access" = TRUE,
- )))
- data["hacked_programs"] = hacked_programs
+ "access" = emagged && P.available_on_syndinet ? TRUE : P.can_run(user,transfer = 1, access = access),
+ "verifiedsource" = P.available_on_ntnet,
+ ))
- data["downloadable_programs"] = all_entries
+ data["categories"] = show_categories & program_categories
return data
@@ -186,8 +183,8 @@
var/hardflag = computer.hardware_flag
if(P?.is_supported_by_hardware(hardflag,0))
- return "Compatible"
- return "Incompatible!"
+ return TRUE
+ return FALSE
/datum/computer_file/program/ntnetdownload/kill_program(forced)
abort_file_download()
diff --git a/code/modules/modular_computers/file_system/programs/ntmonitor.dm b/code/modules/modular_computers/file_system/programs/ntmonitor.dm
index 63f0b18a74..aeb8106040 100644
--- a/code/modules/modular_computers/file_system/programs/ntmonitor.dm
+++ b/code/modules/modular_computers/file_system/programs/ntmonitor.dm
@@ -1,11 +1,12 @@
/datum/computer_file/program/ntnetmonitor
filename = "wirecarp"
filedesc = "WireCarp"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "comm_monitor"
extended_desc = "This program monitors stationwide NTNet network, provides access to logging systems, and allows for configuration changes"
size = 12
requires_ntnet = TRUE
- required_access = ACCESS_NETWORK //NETWORK CONTROL IS A MORE SECURE PROGRAM.
+ required_access = ACCESS_NETWORK //NETWORK CONTROL IS A MORE SECURE PROGRAM.
available_on_ntnet = TRUE
tgui_id = "NtosNetMonitor"
program_icon = "network-wired"
diff --git a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
index 19172f130a..29a4418d2c 100644
--- a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
+++ b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
@@ -1,25 +1,36 @@
+
/datum/computer_file/program/chatclient
filename = "ntnrc_client"
filedesc = "Chat Client"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "command"
extended_desc = "This program allows communication over NTNRC network"
size = 8
- requires_ntnet = 1
+ requires_ntnet = TRUE
requires_ntnet_feature = NTNET_COMMUNICATION
ui_header = "ntnrc_idle.gif"
- available_on_ntnet = 1
+ available_on_ntnet = TRUE
tgui_id = "NtosNetChat"
program_icon = "comment-alt"
- var/last_message // Used to generate the toolbar icon
+ alert_able = TRUE
+ var/last_message // Used to generate the toolbar icon
var/username
var/active_channel
var/list/channel_history = list()
- var/operator_mode = FALSE // Channel operator mode
- var/netadmin_mode = FALSE // Administrator mode (invisible to other users + bypasses passwords)
+ var/operator_mode = FALSE // Channel operator mode
+ var/netadmin_mode = FALSE // Administrator mode (invisible to other users + bypasses passwords)
+ //A list of all the converstations we're a part of
+ var/list/datum/ntnet_conversation/conversations = list()
/datum/computer_file/program/chatclient/New()
username = "DefaultUser[rand(100, 999)]"
+/datum/computer_file/program/chatclient/Destroy()
+ for(var/datum/ntnet_conversation/discussion as anything in conversations)
+ discussion.purge_client(src)
+ conversations.Cut()
+ return ..()
+
/datum/computer_file/program/chatclient/ui_act(action, params)
. = ..()
if(.)
@@ -36,7 +47,7 @@
var/message = reject_bad_text(params["message"])
if(!message)
return
- if(channel.password && !(src in channel.clients))
+ if(channel.password && (!(src in channel.active_clients) && !(src in channel.offline_clients)))
if(channel.password == message)
channel.add_client(src)
return TRUE
@@ -56,7 +67,7 @@
active_channel = new_target
channel = SSnetworks.station_network.get_chat_channel_by_id(new_target)
- if(!(src in channel.clients) && !channel.password)
+ if((!(src in channel.active_clients) && !(src in channel.offline_clients)) && !channel.password)
channel.add_client(src)
return TRUE
if("PRG_leavechannel")
@@ -89,12 +100,12 @@
return TRUE
if("PRG_changename")
var/newname = sanitize(params["new_name"])
- if(!newname)
+ newname = replacetext(newname, " ", "_")
+ if(!newname || newname == username)
return
- for(var/C in SSnetworks.station_network.chat_channels)
- var/datum/ntnet_conversation/chan = C
- if(src in chan.clients)
- chan.add_status_message("[username] is now known as [newname].")
+ for(var/datum/ntnet_conversation/anychannel as anything in SSnetworks.station_network.chat_channels)
+ if(src in anychannel.active_clients)
+ anychannel.add_status_message("[username] is now known as [newname].")
username = newname
return TRUE
if("PRG_savelog")
@@ -117,9 +128,9 @@
// This program shouldn't even be runnable without computer.
CRASH("Var computer is null!")
if(!hard_drive)
- computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")
- else // In 99.9% cases this will mean our HDD is full
- computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.")
+ computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning."))
+ else // In 99.9% cases this will mean our HDD is full
+ computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning."))
return TRUE
if("PRG_renamechannel")
if(!authed)
@@ -145,6 +156,18 @@
channel.password = new_password
return TRUE
+ if("PRG_mute_user")
+ if(!authed)
+ return
+ var/datum/computer_file/program/chatclient/muted = locate(params["ref"]) in channel.active_clients + channel.offline_clients
+ channel.mute_user(src, muted)
+ return TRUE
+ if("PRG_ping_user")
+ if(!authed)
+ return
+ var/datum/computer_file/program/chatclient/pinged = locate(params["ref"]) in channel.active_clients + channel.offline_clients
+ channel.ping_user(src, pinged)
+ return TRUE
/datum/computer_file/program/chatclient/process_tick()
. = ..()
@@ -162,10 +185,19 @@
else
ui_header = "ntnrc_idle.gif"
+/datum/computer_file/program/chatclient/run_program(mob/living/user)
+ . = ..()
+ if(!.)
+ return
+ for(var/datum/ntnet_conversation/channel as anything in SSnetworks.station_network.chat_channels)
+ if(src in channel.offline_clients)
+ channel.offline_clients.Remove(src)
+ channel.active_clients.Add(src)
+
/datum/computer_file/program/chatclient/kill_program(forced = FALSE)
- for(var/C in SSnetworks.station_network.chat_channels)
- var/datum/ntnet_conversation/channel = C
- channel.remove_client(src)
+ for(var/datum/ntnet_conversation/channel as anything in SSnetworks.station_network.chat_channels)
+ channel.go_offline(src)
+ active_channel = null
..()
/datum/computer_file/program/chatclient/ui_static_data(mob/user)
@@ -192,6 +224,7 @@
data["all_channels"] = all_channels
data["active_channel"] = active_channel
+ data["selfref"] = REF(src) //used to verify who is you, as usernames can be copied.
data["username"] = username
data["adminmode"] = netadmin_mode
var/datum/ntnet_conversation/channel = SSnetworks.station_network.get_chat_channel_by_id(active_channel)
@@ -203,21 +236,25 @@
if(netadmin_mode)
authed = TRUE
var/list/clients = list()
- for(var/C in channel.clients)
- if(C == src)
+ for(var/datum/computer_file/program/chatclient/channel_client as anything in channel.active_clients + channel.offline_clients)
+ if(channel_client == src)
authed = TRUE
- var/datum/computer_file/program/chatclient/cl = C
clients.Add(list(list(
- "name" = cl.username
+ "name" = channel_client.username,
+ "status" = channel_client.program_state,
+ "muted" = (channel_client in channel.muted_clients),
+ "operator" = channel.operator == channel_client,
+ "ref" = REF(channel_client)
)))
data["authed"] = authed
//no fishing for ui data allowed
if(authed)
+ data["strong"] = channel.strong
data["clients"] = clients
var/list/messages = list()
- for(var/M in channel.messages)
+ for(var/message in channel.messages)
messages.Add(list(list(
- "msg" = M
+ "msg" = message
)))
data["messages"] = messages
data["is_operator"] = (channel.operator == src) || netadmin_mode
diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.dm b/code/modules/modular_computers/file_system/programs/portrait_printer.dm
new file mode 100644
index 0000000000..ac3b7e5a88
--- /dev/null
+++ b/code/modules/modular_computers/file_system/programs/portrait_printer.dm
@@ -0,0 +1,83 @@
+
+///how much paper it takes from the printer to create a canvas.
+#define CANVAS_PAPER_COST 10
+
+/**
+ * ## portrait printer!
+ *
+ * Program that lets the curator browse all of the portraits in the database
+ * They are free to print them out as they please.
+ */
+/datum/computer_file/program/portrait_printer
+ filename = "PortraitPrinter"
+ filedesc = "Marlowe Treeby's Art Galaxy"
+ category = PROGRAM_CATEGORY_CREW
+ program_icon_state = "dummy"
+ extended_desc = "This program connects to a Spinward Sector community art site for viewing and printing art."
+ transfer_access = ACCESS_LIBRARY
+ usage_flags = PROGRAM_CONSOLE
+ requires_ntnet = TRUE
+ size = 9
+ tgui_id = "NtosPortraitPrinter"
+ program_icon = "paint-brush"
+
+/datum/computer_file/program/portrait_printer/ui_data(mob/user)
+ var/list/data = list()
+ data["library"] = SSpersistence.paintings["library"] ? SSpersistence.paintings["library"] : 0
+ data["library_secure"] = SSpersistence.paintings["library_secure"] ? SSpersistence.paintings["library_secure"] : 0
+ data["library_private"] = SSpersistence.paintings["library_private"] ? SSpersistence.paintings["library_private"] : 0 //i'm gonna regret this, won't i? Yes you should.
+ return data
+
+/datum/computer_file/program/portrait_printer/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/simple/portraits/library),
+ get_asset_datum(/datum/asset/simple/portraits/library_secure),
+ get_asset_datum(/datum/asset/simple/portraits/library_private)
+ )
+
+/datum/computer_file/program/portrait_printer/ui_act(action, params)
+ . = ..()
+ if(.)
+ return
+
+ //printer check!
+ var/obj/item/computer_hardware/printer/printer
+ if(computer)
+ printer = computer.all_components[MC_PRINT]
+ if(!printer)
+ to_chat(usr, span_notice("Hardware error: A printer is required to print a canvas."))
+ return
+ if(printer.stored_paper < CANVAS_PAPER_COST)
+ to_chat(usr, span_notice("Printing error: Your printer needs at least [CANVAS_PAPER_COST] paper to print a canvas."))
+ return
+ printer.stored_paper -= CANVAS_PAPER_COST
+
+ //canvas printing!
+ var/list/tab2key = list(TAB_LIBRARY = "library", TAB_SECURE = "library_secure", TAB_PRIVATE = "library_private")
+ var/folder = tab2key[params["tab"]]
+ var/list/current_list = SSpersistence.paintings[folder]
+ var/list/chosen_portrait = current_list[params["selected"]]
+ var/author = chosen_portrait["author"]
+ var/title = chosen_portrait["title"]
+ var/png = "data/paintings/[folder]/[chosen_portrait["md5"]].png"
+ var/icon/art_icon = new(png)
+ var/obj/item/canvas/printed_canvas
+ var/art_width = art_icon.Width()
+ var/art_height = art_icon.Height()
+ for(var/canvas_type in typesof(/obj/item/canvas))
+ printed_canvas = canvas_type
+ if(initial(printed_canvas.width) == art_width && initial(printed_canvas.height) == art_height)
+ printed_canvas = new canvas_type(get_turf(computer.physical))
+ break
+ printed_canvas.fill_grid_from_icon(art_icon)
+ printed_canvas.generated_icon = art_icon
+ printed_canvas.icon_generated = TRUE
+ printed_canvas.finalized = TRUE
+ printed_canvas.painting_name = title
+ printed_canvas.author_ckey = author
+ printed_canvas.name = "painting - [title]"
+ ///this is a copy of something that is already in the database- it should not be able to be saved.
+ printed_canvas.no_save = TRUE
+ printed_canvas.update_icon()
+ to_chat(usr, span_notice("You have printed [title] onto a new canvas."))
+ playsound(computer.physical, 'sound/items/poster_being_created.ogg', 100, TRUE)
diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.dm b/code/modules/modular_computers/file_system/programs/powermonitor.dm
index 78a14ff1ad..933c9410a2 100644
--- a/code/modules/modular_computers/file_system/programs/powermonitor.dm
+++ b/code/modules/modular_computers/file_system/programs/powermonitor.dm
@@ -3,6 +3,7 @@
/datum/computer_file/program/power_monitor
filename = "ampcheck"
filedesc = "AmpCheck"
+ category = PROGRAM_CATEGORY_ENGI
program_icon_state = "power_monitor"
extended_desc = "This program connects to sensors around the station to provide information about electrical systems"
ui_header = "power_norm.gif"
diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm
index 0bf5eb2118..4b14a61152 100644
--- a/code/modules/modular_computers/file_system/programs/radar.dm
+++ b/code/modules/modular_computers/file_system/programs/radar.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/radar //generic parent that handles most of the process
filename = "genericfinder"
filedesc = "debug_finder"
+ category = PROGRAM_CATEGORY_CREW
ui_header = "borg_mon.gif" //DEBUG -- new icon before PR
program_icon_state = "radarntos"
requires_ntnet = TRUE
@@ -15,7 +16,7 @@
var/atom/selected
///Used to store when the next scan is available. Updated by the scan() proc.
var/next_scan = 0
- ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_icon() calls
+ ///Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls
var/last_icon_state = ""
///Used by the tgui interface, themed NT or Syndicate.
var/arrowstyle = "ntosradarpointer.png"
@@ -174,7 +175,7 @@
if(!trackable(signal))
program_icon_state = "[initial(program_icon_state)]lost"
if(last_icon_state != program_icon_state)
- computer.update_icon()
+ computer.update_appearance()
last_icon_state = program_icon_state
return
@@ -192,7 +193,7 @@
program_icon_state = "[initial(program_icon_state)]far"
if(last_icon_state != program_icon_state)
- computer.update_icon()
+ computer.update_appearance()
last_icon_state = program_icon_state
computer.setDir(get_dir(here_turf, target_turf))
@@ -241,13 +242,12 @@
/datum/computer_file/program/radar/lifeline/trackable(mob/living/carbon/human/humanoid)
if(!humanoid || !istype(humanoid))
return FALSE
- if(..() && istype(humanoid.w_uniform, /obj/item/clothing/under))
-
- var/obj/item/clothing/under/uniform = humanoid.w_uniform
- if(!uniform.has_sensor || (uniform.sensor_mode < SENSOR_COORDS)) // Suit sensors must be on maximum.
- return FALSE
-
- return TRUE
+ if(..())
+ if (istype(humanoid.w_uniform, /obj/item/clothing/under))
+ var/obj/item/clothing/under/uniform = humanoid.w_uniform
+ if(uniform.has_sensor && uniform.sensor_mode >= SENSOR_COORDS) // Suit sensors must be on maximum
+ return TRUE
+ return FALSE
////////////////////////
//Nuke Disk Finder App//
@@ -257,6 +257,7 @@
/datum/computer_file/program/radar/fission360
filename = "fission360"
filedesc = "Fission360"
+ category = PROGRAM_CATEGORY_MISC
program_icon_state = "radarsyndicate"
extended_desc = "This program allows for tracking of nuclear authorization disks and warheads."
requires_ntnet = FALSE
diff --git a/code/modules/modular_computers/file_system/programs/robocontrol.dm b/code/modules/modular_computers/file_system/programs/robocontrol.dm
index 8c41ea6c38..7fe5a09ab2 100644
--- a/code/modules/modular_computers/file_system/programs/robocontrol.dm
+++ b/code/modules/modular_computers/file_system/programs/robocontrol.dm
@@ -2,6 +2,7 @@
/datum/computer_file/program/robocontrol
filename = "botkeeper"
filedesc = "BotKeeper"
+ category = PROGRAM_CATEGORY_ROBO
program_icon_state = "robot"
extended_desc = "A remote controller used for giving basic commands to non-sentient robots."
transfer_access = null
diff --git a/code/modules/modular_computers/file_system/programs/robotact.dm b/code/modules/modular_computers/file_system/programs/robotact.dm
index b25332d027..d4dce42204 100644
--- a/code/modules/modular_computers/file_system/programs/robotact.dm
+++ b/code/modules/modular_computers/file_system/programs/robotact.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/robotact
filename = "robotact"
filedesc = "RoboTact"
+ category = PROGRAM_CATEGORY_ROBO
extended_desc = "A built-in app for cyborg self-management and diagnostics."
ui_header = "robotact.gif" //DEBUG -- new icon before PR
program_icon_state = "command"
@@ -22,7 +23,7 @@
/datum/computer_file/program/robotact/run_program(mob/living/user)
if(!istype(computer, /obj/item/modular_computer/tablet/integrated))
- to_chat(user, "A warning flashes across \the [computer]: Device Incompatible.")
+ to_chat(user, span_warning("A warning flashes across \the [computer]: Device Incompatible."))
return FALSE
. = ..()
if(.)
@@ -39,7 +40,7 @@
var/mob/living/silicon/robot/borgo = tablet.borgo
data["name"] = borgo.name
- data["designation"] = borgo.designation //Borgo module type
+ data["designation"] = borgo.designation //Borgo model type
data["masterAI"] = borgo.connected_ai //Master AI
var/charge = 0
@@ -62,7 +63,7 @@
data["cover"] = "[borgo.locked? "LOCKED":"UNLOCKED"]"
//Ability to move. FAULT if lockdown wire is cut, DISABLED if borg locked, ENABLED otherwise
data["locomotion"] = "[borgo.wires.is_cut(WIRE_LOCKDOWN)?"FAULT":"[borgo.locked_down?"DISABLED":"ENABLED"]"]"
- //Module wire. FAULT if cut, NOMINAL otherwise
+ //Model wire. FAULT if cut, NOMINAL otherwise
data["wireModule"] = "[borgo.wires.is_cut(WIRE_RESET_MODULE)?"FAULT":"NOMINAL"]"
//DEBUG -- Camera(net) wire. FAULT if cut (or no cameranet camera), DISABLED if pulse-disabled, NOMINAL otherwise
data["wireCamera"] = "[!borgo.builtInCamera || borgo.wires.is_cut(WIRE_CAMERA)?"FAULT":"[borgo.builtInCamera.can_use()?"NOMINAL":"DISABLED"]"]"
@@ -110,7 +111,7 @@
if("alertPower")
if(borgo.stat == CONSCIOUS)
if(!borgo.cell || !borgo.cell.charge)
- borgo.visible_message("The power warning light on [borgo] flashes urgently.", \
+ borgo.visible_message(span_notice("The power warning light on [span_name("[borgo]")] flashes urgently."), \
"You announce you are operating in low power mode.")
playsound(borgo, 'sound/machines/buzz-two.ogg', 50, FALSE)
diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm
index 92275b1e8b..d2d7590cb1 100644
--- a/code/modules/modular_computers/file_system/programs/secureye.dm
+++ b/code/modules/modular_computers/file_system/programs/secureye.dm
@@ -3,6 +3,7 @@
/datum/computer_file/program/secureye
filename = "secureye"
filedesc = "SecurEye"
+ category = PROGRAM_CATEGORY_MISC
ui_header = "borg_mon.gif"
program_icon_state = "generic"
extended_desc = "This program allows access to standard security camera networks."
diff --git a/code/modules/modular_computers/file_system/programs/signaler.dm b/code/modules/modular_computers/file_system/programs/signaler.dm
new file mode 100644
index 0000000000..b7bbcacaa0
--- /dev/null
+++ b/code/modules/modular_computers/file_system/programs/signaler.dm
@@ -0,0 +1,83 @@
+/datum/computer_file/program/signaler
+ filename = "signaler"
+ filedesc = "SignalCommander"
+ category = PROGRAM_CATEGORY_MISC
+ program_icon_state = "signal"
+ extended_desc = "A small built-in frequency app that sends out signaller signals with the appropriate hardware."
+ size = 2
+ tgui_id = "NtosSignaler"
+ program_icon = "satellite-dish"
+ usage_flags = PROGRAM_TABLET | PROGRAM_LAPTOP
+ ///What is the saved signal frequency?
+ var/signal_frequency = FREQ_SIGNALER
+ /// What is the saved signal code?
+ var/signal_code = DEFAULT_SIGNALER_CODE
+ /// Radio connection datum used by signalers.
+ var/datum/radio_frequency/radio_connection
+
+/datum/computer_file/program/signaler/run_program(mob/living/user)
+ . = ..()
+ if (!.)
+ return
+ if(!computer?.get_modular_computer_part(MC_SIGNALER)) //Giving a clue to users why the program is spitting out zeros.
+ to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\signal_hardware\\startup.bin -- file not found\"."))
+
+
+/datum/computer_file/program/signaler/ui_data(mob/user)
+ var/list/data = get_header_data()
+ var/obj/item/computer_hardware/radio_card/sensor = computer?.get_modular_computer_part(MC_SIGNALER)
+ if(sensor?.check_functionality())
+ data["frequency"] = signal_frequency
+ data["code"] = signal_code
+ data["minFrequency"] = MIN_FREE_FREQ
+ data["maxFrequency"] = MAX_FREE_FREQ
+ return data
+
+/datum/computer_file/program/signaler/ui_act(action, list/params)
+ . = ..()
+ if(.)
+ return
+ var/obj/item/computer_hardware/radio_card/sensor = computer?.get_modular_computer_part(MC_SIGNALER)
+ if(!(sensor?.check_functionality()))
+ playsound(src, 'sound/machines/scanbuzz.ogg', 100, FALSE)
+ return
+ switch(action)
+ if("signal")
+ INVOKE_ASYNC(src, .proc/signal)
+ . = TRUE
+ if("freq")
+ signal_frequency = unformat_frequency(params["freq"])
+ signal_frequency = sanitize_frequency(signal_frequency, TRUE)
+ set_frequency(signal_frequency)
+ . = TRUE
+ if("code")
+ signal_code = text2num(params["code"])
+ signal_code = round(signal_code)
+ . = TRUE
+ if("reset")
+ if(params["reset"] == "freq")
+ signal_frequency = initial(signal_frequency)
+ else
+ signal_code = initial(signal_code)
+ . = TRUE
+
+/datum/computer_file/program/signaler/proc/signal()
+ if(!radio_connection)
+ return
+
+ var/time = time2text(world.realtime,"hh:mm:ss")
+ var/turf/T = get_turf(src)
+
+ var/logging_data
+ if(usr)
+ logging_data = "[time] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(signal_frequency)]/[signal_code]"
+ GLOB.lastsignalers.Add(logging_data)
+
+ var/datum/signal/signal = new(list("code" = signal_code), logging_data = logging_data)
+ radio_connection.post_signal(src, signal)
+
+/datum/computer_file/program/signaler/proc/set_frequency(new_frequency)
+ SSradio.remove_object(src, signal_frequency)
+ signal_frequency = new_frequency
+ radio_connection = SSradio.add_object(src, signal_frequency, RADIO_SIGNALER)
+ return
diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
index 6c9ce59c72..9038c71a88 100644
--- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
@@ -1,6 +1,7 @@
/datum/computer_file/program/supermatter_monitor
filename = "ntcims"
filedesc = "NT CIMS"
+ category = PROGRAM_CATEGORY_ENGI
ui_header = "smmon_0.gif"
program_icon_state = "smmon_0"
extended_desc = "Crystal Integrity Monitoring System, connects to specially calibrated supermatter sensors to provide information on the status of supermatter-based engines."
@@ -12,7 +13,7 @@
alert_able = TRUE
var/last_status = SUPERMATTER_INACTIVE
var/list/supermatters
- var/obj/machinery/power/supermatter_crystal/active // Currently selected supermatter crystal.
+ var/obj/machinery/power/supermatter_crystal/active // Currently selected supermatter crystal.
/datum/computer_file/program/supermatter_monitor/Destroy()
clear_signals()
@@ -27,7 +28,7 @@
ui_header = "smmon_[last_status].gif"
program_icon_state = "smmon_[last_status]"
if(istype(computer))
- computer.update_icon()
+ computer.update_appearance()
/datum/computer_file/program/supermatter_monitor/run_program(mob/living/user)
. = ..(user)
@@ -36,11 +37,15 @@
refresh()
/datum/computer_file/program/supermatter_monitor/kill_program(forced = FALSE)
+ for(var/supermatter in supermatters)
+ clear_supermatter(supermatter)
supermatters = null
..()
// Refreshes list of active supermatter crystals
/datum/computer_file/program/supermatter_monitor/proc/refresh()
+ for(var/supermatter in supermatters)
+ clear_supermatter(supermatter)
supermatters = list()
var/turf/T = get_turf(ui_host())
if(!T)
@@ -50,9 +55,7 @@
if (!isturf(S.loc) || !(is_station_level(S.z) || is_mining_level(S.z) || S.z == T.z))
continue
supermatters.Add(S)
-
- if(!(active in supermatters))
- active = null
+ RegisterSignal(S, COMSIG_PARENT_QDELETING, .proc/react_to_del)
/datum/computer_file/program/supermatter_monitor/proc/get_status()
. = SUPERMATTER_INACTIVE
@@ -67,9 +70,9 @@
* the signal and exit.
*/
/datum/computer_file/program/supermatter_monitor/proc/set_signals()
- // if(active)
- // RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM, .proc/send_alert, override = TRUE)
- // RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM, .proc/send_start_alert, override = TRUE)
+ if(active)
+ RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM, .proc/send_alert, override = TRUE)
+ RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM, .proc/send_start_alert, override = TRUE)
/**
* Removes the signal listener for Supermatter delaminations from the selected supermatter.
@@ -77,9 +80,9 @@
* Pretty much does what it says.
*/
/datum/computer_file/program/supermatter_monitor/proc/clear_signals()
- // if(active)
- // UnregisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM)
- // UnregisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM)
+ if(active)
+ UnregisterSignal(active, COMSIG_SUPERMATTER_DELAM_ALARM)
+ UnregisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM)
/**
* Sends an SM delam alert to the computer.
@@ -90,6 +93,7 @@
* the supermatter probably don't need constant beeping to distract them.
*/
/datum/computer_file/program/supermatter_monitor/proc/send_alert()
+ SIGNAL_HANDLER
if(!computer.get_ntnet_status())
return
if(computer.active_program != src)
@@ -106,12 +110,13 @@
* minimized or closed to avoid double-notifications.
*/
/datum/computer_file/program/supermatter_monitor/proc/send_start_alert()
+ SIGNAL_HANDLER
if(!computer.get_ntnet_status())
return
if(computer.active_program == src)
computer.alert_call(src, "Crystal delamination in progress!")
-/datum/computer_file/program/supermatter_monitor/ui_data()
+/datum/computer_file/program/supermatter_monitor/ui_data(mob/user)
var/list/data = get_header_data()
if(istype(active))
@@ -125,30 +130,9 @@
active = null
return
- data["active"] = TRUE
- data["SM_integrity"] = active.get_integrity()
- data["SM_power"] = active.power
- data["SM_ambienttemp"] = air.return_temperature()
- data["SM_ambientpressure"] = air.return_pressure()
- //data["SM_EPR"] = round((air.total_moles / air.group_multiplier) / 23.1, 0.01)
- var/list/gasdata = list()
+ data += active.ui_data()
+ data["singlecrystal"] = FALSE
-
- if(air.total_moles())
- for(var/gasid in air.get_gases())
- var/amount = air.get_moles(gasid)
- if(amount)
- gasdata.Add(list(list(
- "name"= GLOB.gas_data.names[gasid],
- "amount" = round(100*amount/air.total_moles(),0.01))))
-
- else
- for(var/gasid in air.get_gases())
- gasdata.Add(list(list(
- "name"= GLOB.gas_data.names[gasid],
- "amount" = 0)))
-
- data["gases"] = gasdata
else
var/list/SMS = list()
for(var/obj/machinery/power/supermatter_crystal/S in supermatters)
@@ -185,3 +169,13 @@
active = S
set_signals()
return TRUE
+
+/datum/computer_file/program/supermatter_monitor/proc/react_to_del(datum/source)
+ SIGNAL_HANDLER
+ clear_supermatter(source)
+
+/datum/computer_file/program/supermatter_monitor/proc/clear_supermatter(matter)
+ supermatters -= matter
+ if(matter == active)
+ active = null
+ UnregisterSignal(matter, COMSIG_PARENT_QDELETING)
diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm
index 0ccb9f6b96..b1a44c4cc5 100644
--- a/code/modules/modular_computers/hardware/_hardware.dm
+++ b/code/modules/modular_computers/hardware/_hardware.dm
@@ -4,22 +4,34 @@
icon = 'icons/obj/module.dmi'
icon_state = "std_mod"
- w_class = WEIGHT_CLASS_TINY // w_class limits which devices can contain this component.
+ w_class = WEIGHT_CLASS_TINY // w_class limits which devices can contain this component.
// 1: PDAs/Tablets, 2: Laptops, 3-4: Consoles only
var/obj/item/modular_computer/holder = null
// Computer that holds this hardware, if any.
- var/power_usage = 0 // If the hardware uses extra power, change this.
- var/enabled = TRUE // If the hardware is turned off set this to 0.
- var/critical = FALSE // Prevent disabling for important component, like the CPU.
- var/can_install = TRUE // Prevents direct installation of removable media.
- var/expansion_hw = FALSE // Hardware that fits into expansion bays.
- var/removable = TRUE // Whether the hardware is removable or not.
- var/damage = 0 // Current damage level
- var/max_damage = 100 // Maximal damage level.
- var/damage_malfunction = 20 // "Malfunction" threshold. When damage exceeds this value the hardware piece will semi-randomly fail and do !!FUN!! things
- var/damage_failure = 50 // "Failure" threshold. When damage exceeds this value the hardware piece will not work at all.
- var/malfunction_probability = 10// Chance of malfunction when the component is damaged
+ // If the hardware uses extra power, change this.
+ var/power_usage = 0
+ // If the hardware is turned off set this to 0.
+ var/enabled = TRUE
+ // Prevent disabling for important component, like the CPU.
+ var/critical = FALSE
+ // Prevents direct installation of removable media.
+ var/can_install = TRUE
+ // Hardware that fits into expansion bays.
+ var/expansion_hw = FALSE
+ // Whether the hardware is removable or not.
+ var/removable = TRUE
+ // Current damage level
+ var/damage = 0
+// Maximal damage level.
+ var/max_damage = 100
+ // "Malfunction" threshold. When damage exceeds this value the hardware piece will semi-randomly fail and do !!FUN!! things
+ var/damage_malfunction = 20
+ // "Failure" threshold. When damage exceeds this value the hardware piece will not work at all.
+ var/damage_failure = 50
+ // Chance of malfunction when the component is damaged
+ var/malfunction_probability = 10
+ // What define is used to qualify this piece of hardware? Important for upgraded versions of the same hardware.
var/device_type
/obj/item/computer_hardware/New(obj/L)
@@ -38,10 +50,10 @@
if(istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/S = I
if(obj_integrity == max_integrity)
- to_chat(user, "\The [src] doesn't seem to require repairs.")
+ to_chat(user, span_warning("\The [src] doesn't seem to require repairs."))
return 1
if(S.use(1))
- to_chat(user, "You patch up \the [src] with a bit of \the [I].")
+ to_chat(user, span_notice("You patch up \the [src] with a bit of \the [I]."))
obj_integrity = min(obj_integrity + 10, max_integrity)
return 1
@@ -78,11 +90,11 @@
/obj/item/computer_hardware/examine(mob/user)
. = ..()
if(damage > damage_failure)
- . += "It seems to be severely damaged!"
+ . += span_danger("It seems to be severely damaged!")
else if(damage > damage_malfunction)
- . += "It seems to be damaged!"
+ . += span_warning("It seems to be damaged!")
else if(damage)
- . += "It seems to be slightly damaged."
+ . += span_notice("It seems to be slightly damaged.")
// Component-side compatibility check.
/obj/item/computer_hardware/proc/can_install(obj/item/modular_computer/M, mob/living/user = null)
@@ -93,8 +105,9 @@
return
// Called when component is removed from PC.
-/obj/item/computer_hardware/proc/on_remove(obj/item/modular_computer/M, mob/living/user = null)
- try_eject(forced = TRUE)
+/obj/item/computer_hardware/proc/on_remove(obj/item/modular_computer/M, mob/living/user)
+ if(M.physical || !QDELETED(M))
+ try_eject(forced = TRUE)
// Called when someone tries to insert something in it - paper in printer, card in card reader, etc.
/obj/item/computer_hardware/proc/try_insert(obj/item/I, mob/living/user = null)
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index 5d42747308..8740b59b35 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -7,13 +7,14 @@
device_type = MC_AI
expansion_hw = TRUE
- var/obj/item/aicard/stored_card = null
+ var/obj/item/aicard/stored_card
var/locked = FALSE
-/obj/item/computer_hardware/ai_slot/handle_atom_del(atom/A)
- if(A == stored_card)
- try_eject(forced = TRUE)
- . = ..()
+///What happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.
+/obj/item/computer_hardware/ai_slot/Exited(atom/movable/gone, direction)
+ if(stored_card == gone)
+ stored_card = null
+ return ..()
/obj/item/computer_hardware/ai_slot/examine(mob/user)
. = ..()
@@ -28,34 +29,33 @@
return FALSE
if(stored_card)
- to_chat(user, "You try to insert \the [I] into \the [src], but the slot is occupied.")
+ to_chat(user, span_warning("You try to insert \the [I] into \the [src], but the slot is occupied."))
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
stored_card = I
- to_chat(user, "You insert \the [I] into \the [src].")
+ to_chat(user, span_notice("You insert \the [I] into \the [src]."))
return TRUE
/obj/item/computer_hardware/ai_slot/try_eject(mob/living/user = null, forced = FALSE)
if(!stored_card)
- to_chat(user, "There is no card in \the [src].")
+ to_chat(user, span_warning("There is no card in \the [src]."))
return FALSE
if(locked && !forced)
- to_chat(user, "Safeties prevent you from removing the card until reconstruction is complete...")
+ to_chat(user, span_warning("Safeties prevent you from removing the card until reconstruction is complete..."))
return FALSE
if(stored_card)
- to_chat(user, "You remove [stored_card] from [src].")
+ to_chat(user, span_notice("You remove [stored_card] from [src]."))
locked = FALSE
- if(user)
+ if(Adjacent(user))
user.put_in_hands(stored_card)
else
stored_card.forceMove(drop_location())
- stored_card = null
return TRUE
return FALSE
@@ -64,6 +64,6 @@
if(..())
return
if(I.tool_behaviour == TOOL_SCREWDRIVER)
- to_chat(user, "You press down on the manual eject button with \the [I].")
+ to_chat(user, span_notice("You press down on the manual eject button with \the [I]."))
try_eject(user, TRUE)
return
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 0668248315..27d3546ca2 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -4,25 +4,28 @@
icon_state = "cell_con"
critical = 1
malfunction_probability = 1
- var/obj/item/stock_parts/cell/battery = null
+ var/obj/item/stock_parts/cell/battery
device_type = MC_CELL
/obj/item/computer_hardware/battery/get_cell()
return battery
-/obj/item/computer_hardware/battery/New(loc, battery_type = null)
+/obj/item/computer_hardware/battery/Initialize(mapload, battery_type)
+ . = ..()
if(battery_type)
battery = new battery_type(src)
- ..()
/obj/item/computer_hardware/battery/Destroy()
- . = ..()
- QDEL_NULL(battery)
+ battery = null
+ return ..()
-/obj/item/computer_hardware/battery/handle_atom_del(atom/A)
- if(A == battery)
- try_eject(forced = TRUE)
- . = ..()
+///What happens when the battery is removed (or deleted) from the module, through try_eject() or not.
+/obj/item/computer_hardware/battery/Exited(atom/movable/gone, direction)
+ if(battery == gone)
+ battery = null
+ if(holder?.enabled && !holder.use_power())
+ holder.shutdown_computer()
+ return ..()
/obj/item/computer_hardware/battery/try_insert(obj/item/I, mob/living/user = null)
if(!holder)
@@ -32,46 +35,33 @@
return FALSE
if(battery)
- to_chat(user, "You try to connect \the [I] to \the [src], but its connectors are occupied.")
+ to_chat(user, span_warning("You try to connect \the [I] to \the [src], but its connectors are occupied."))
return FALSE
if(I.w_class > holder.max_hardware_size)
- to_chat(user, "This power cell is too large for \the [holder]!")
+ to_chat(user, span_warning("This power cell is too large for \the [holder]!"))
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
battery = I
- to_chat(user, "You connect \the [I] to \the [src].")
+ to_chat(user, span_notice("You connect \the [I] to \the [src]."))
return TRUE
-
-/obj/item/computer_hardware/battery/try_eject(mob/living/user = null, forced = FALSE)
+/obj/item/computer_hardware/battery/try_eject(mob/living/user, forced = FALSE)
if(!battery)
- to_chat(user, "There is no power cell connected to \the [src].")
+ to_chat(user, span_warning("There is no power cell connected to \the [src]."))
return FALSE
else
if(user)
user.put_in_hands(battery)
+ to_chat(user, span_notice("You detach \the [battery] from \the [src]."))
else
battery.forceMove(drop_location())
- to_chat(user, "You detach \the [battery] from \the [src].")
- battery = null
-
- if(holder)
- if(holder.enabled && !holder.use_power())
- holder.shutdown_computer()
-
return TRUE
-
-
-
-
-
-
/obj/item/stock_parts/cell/computer
name = "standard battery"
desc = "A standard power cell, commonly seen in high-end portable microcomputers or low-end laptops."
@@ -80,7 +70,6 @@
w_class = WEIGHT_CLASS_TINY
maxcharge = 750
-
/obj/item/stock_parts/cell/computer/advanced
name = "advanced battery"
desc = "An advanced power cell, often used in most laptops. It is too large to be fitted into smaller devices."
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index 9139eee0b0..13f1b3bbc9 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -1,17 +1,31 @@
/obj/item/computer_hardware/card_slot
- name = "primary RFID card module" // \improper breaks the find_hardware_by_name proc
+ name = "primary RFID card module" // \improper breaks the find_hardware_by_name proc
desc = "A module allowing this computer to read or write data on ID cards. Necessary for some programs to run properly."
power_usage = 10 //W
icon_state = "card_mini"
w_class = WEIGHT_CLASS_TINY
device_type = MC_CARD
- var/obj/item/card/id/stored_card = null
+ var/obj/item/card/id/stored_card
-/obj/item/computer_hardware/card_slot/handle_atom_del(atom/A)
- if(A == stored_card)
- try_eject(null, TRUE)
- . = ..()
+///What happens when the ID card is removed (or deleted) from the module, through try_eject() or not.
+/obj/item/computer_hardware/card_slot/Exited(atom/movable/gone, direction)
+ if(stored_card == gone)
+ stored_card = null
+ if(holder)
+ if(holder.active_program)
+ holder.active_program.event_idremoved(0)
+ for(var/p in holder.idle_threads)
+ var/datum/computer_file/program/computer_program = p
+ computer_program.event_idremoved(1)
+
+ holder.update_slot_icon()
+
+ if(ishuman(holder.loc))
+ var/mob/living/carbon/human/human_wearer = holder.loc
+ if(human_wearer.wear_id == holder)
+ human_wearer.sec_hud_set_ID()
+ return ..()
/obj/item/computer_hardware/card_slot/Destroy()
try_eject(forced = TRUE)
@@ -47,6 +61,11 @@
if(stored_card)
return FALSE
+
+ // item instead of player is checked so telekinesis will still work if the item itself is close
+ if(!in_range(src, I))
+ return FALSE
+
if(user)
if(!user.transferItemToLoc(I, src))
return FALSE
@@ -54,38 +73,32 @@
I.forceMove(src)
stored_card = I
- to_chat(user, "You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src].")
+ to_chat(user, span_notice("You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- H.sec_hud_set_ID()
+
+ var/holder_loc = holder.loc
+ if(ishuman(holder_loc))
+ var/mob/living/carbon/human/human_wearer = holder_loc
+ if(human_wearer.wear_id == holder)
+ human_wearer.sec_hud_set_ID()
+ holder.update_slot_icon()
return TRUE
/obj/item/computer_hardware/card_slot/try_eject(mob/living/user = null, forced = FALSE)
if(!stored_card)
- to_chat(user, "There are no cards in \the [src].")
+ to_chat(user, span_warning("There are no cards in \the [src]."))
return FALSE
- if(user)
+ if(user && !issilicon(user) && in_range(src, user))
user.put_in_hands(stored_card)
else
stored_card.forceMove(drop_location())
- stored_card = null
- if(holder)
- if(holder.active_program)
- holder.active_program.event_idremoved(0)
-
- for(var/p in holder.idle_threads)
- var/datum/computer_file/program/computer_program = p
- computer_program.event_idremoved(1)
- if(ishuman(user))
- var/mob/living/carbon/human/human_user = user
- human_user.sec_hud_set_ID()
- to_chat(user, "You remove the card from \the [src].")
+ to_chat(user, span_notice("You remove the card from \the [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
+
return TRUE
/obj/item/computer_hardware/card_slot/attackby(obj/item/I, mob/living/user)
@@ -93,11 +106,11 @@
return
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(stored_card)
- to_chat(user, "You press down on the manual eject button with \the [I].")
+ to_chat(user, span_notice("You press down on the manual eject button with \the [I]."))
try_eject(user)
return
swap_slot()
- to_chat(user, "You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"].")
+ to_chat(user, span_notice("You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"]."))
/**
*Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.
diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm
index 8debb00c19..29614cc7b0 100644
--- a/code/modules/modular_computers/hardware/hard_drive.dm
+++ b/code/modules/modular_computers/hardware/hard_drive.dm
@@ -8,19 +8,19 @@
device_type = MC_HDD
var/max_capacity = 128
var/used_capacity = 0
- var/list/stored_files = list() // List of stored files on this drive. DO NOT MODIFY DIRECTLY!
+ var/list/stored_files = list() // List of stored files on this drive. DO NOT MODIFY DIRECTLY!
/obj/item/computer_hardware/hard_drive/on_remove(obj/item/modular_computer/MC, mob/user)
MC.shutdown_computer()
/obj/item/computer_hardware/hard_drive/proc/install_default_programs()
- store_file(new/datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
- store_file(new/datum/computer_file/program/ntnetdownload(src)) // NTNet Downloader Utility, allows users to download more software from NTNet repository
- store_file(new/datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
+ store_file(new/datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
+ store_file(new/datum/computer_file/program/ntnetdownload(src)) // NTNet Downloader Utility, allows users to download more software from NTNet repository
+ store_file(new/datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
/obj/item/computer_hardware/hard_drive/examine(user)
. = ..()
- . += "It has [max_capacity] GQ of storage capacity."
+ . += span_notice("It has [max_capacity] GQ of storage capacity.")
/obj/item/computer_hardware/hard_drive/diagnostics(mob/user)
..()
@@ -117,7 +117,7 @@
return null
/obj/item/computer_hardware/hard_drive/Destroy()
- stored_files = null
+ QDEL_LIST(stored_files)
return ..()
/obj/item/computer_hardware/hard_drive/Initialize()
@@ -129,7 +129,7 @@
name = "advanced hard disk drive"
desc = "A hybrid HDD, for use in higher grade computers where balance between power efficiency and capacity is desired."
max_capacity = 256
- power_usage = 50 // Hybrid, medium capacity and medium power storage
+ power_usage = 50 // Hybrid, medium capacity and medium power storage
icon_state = "harddisk_mini"
w_class = WEIGHT_CLASS_SMALL
@@ -137,7 +137,7 @@
name = "super hard disk drive"
desc = "A high capacity HDD, for use in cluster storage solutions where capacity is more important than power efficiency."
max_capacity = 512
- power_usage = 100 // High-capacity but uses lots of power, shortening battery life. Best used with APC link.
+ power_usage = 100 // High-capacity but uses lots of power, shortening battery life. Best used with APC link.
icon_state = "harddisk_mini"
w_class = WEIGHT_CLASS_SMALL
@@ -161,8 +161,8 @@
// For borg integrated tablets. No downloader.
/obj/item/computer_hardware/hard_drive/small/integrated/install_default_programs()
- store_file(new /datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
- store_file(new /datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
+ store_file(new /datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
+ store_file(new /datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
store_file(new /datum/computer_file/program/robotact(src))
diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm
index 625ead6ed7..074e158dbf 100644
--- a/code/modules/modular_computers/hardware/network_card.dm
+++ b/code/modules/modular_computers/hardware/network_card.dm
@@ -3,8 +3,9 @@
desc = "A basic wireless network card for usage with standard NTNet frequencies."
power_usage = 50
icon_state = "radio_mini"
- var/identification_id = null // Identification ID. Technically MAC address of this device. Can't be changed by user.
- var/identification_string = "" // Identification string, technically nickname seen in the network. Can be set by user.
+ // network_id = NETWORK_CARDS // Network we are on
+ var/hardware_id = null // Identification ID. Technically MAC address of this device. Can't be changed by user.
+ var/identification_string = "" // Identification string, technically nickname seen in the network. Can be set by user.
var/long_range = 0
var/ethernet = 0 // Hard-wired, therefore always on, ignores NTNet wireless checks.
malfunction_probability = 1
@@ -13,7 +14,7 @@
/obj/item/computer_hardware/network_card/diagnostics(mob/user)
..()
- to_chat(user, "NIX Unique ID: [identification_id]")
+ to_chat(user, "NIX Unique ID: [hardware_id]")
to_chat(user, "NIX User Tag: [identification_string]")
to_chat(user, "Supported protocols:")
to_chat(user, "511.m SFS (Subspace) - Standard Frequency Spread")
@@ -24,11 +25,11 @@
/obj/item/computer_hardware/network_card/New(l)
..()
- identification_id = ntnet_card_uid++
+ hardware_id = ntnet_card_uid++
// Returns a string identifier of this network card
/obj/item/computer_hardware/network_card/proc/get_network_tag()
- return "[identification_string] (NID [identification_id])"
+ return "[identification_string] (NID [hardware_id])"
// 0 - No signal, 1 - Low signal, 2 - High signal. 3 - Wired Connection
/obj/item/computer_hardware/network_card/proc/get_signal(specific_action = 0)
diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm
index 3bd5946435..99756e3dd8 100644
--- a/code/modules/modular_computers/hardware/printer.dm
+++ b/code/modules/modular_computers/hardware/printer.dm
@@ -11,11 +11,11 @@
/obj/item/computer_hardware/printer/diagnostics(mob/living/user)
..()
- to_chat(user, "Paper level: [stored_paper]/[max_paper].")
+ to_chat(user, span_notice("Paper level: [stored_paper]/[max_paper]."))
/obj/item/computer_hardware/printer/examine(mob/user)
. = ..()
- . += "Paper level: [stored_paper]/[max_paper]."
+ . += span_notice("Paper level: [stored_paper]/[max_paper].")
/obj/item/computer_hardware/printer/proc/print_text(text_to_print, paper_title = "")
@@ -33,7 +33,7 @@
P.info = text_to_print
if(paper_title)
P.name = paper_title
- P.update_icon()
+ P.update_appearance()
stored_paper--
P = null
return TRUE
@@ -41,12 +41,12 @@
/obj/item/computer_hardware/printer/try_insert(obj/item/I, mob/living/user = null)
if(istype(I, /obj/item/paper))
if(stored_paper >= max_paper)
- to_chat(user, "You try to add \the [I] into [src], but its paper bin is full!")
+ to_chat(user, span_warning("You try to add \the [I] into [src], but its paper bin is full!"))
return FALSE
if(user && !user.temporarilyRemoveItemFromInventory(I))
return FALSE
- to_chat(user, "You insert \the [I] into [src]'s paper recycler.")
+ to_chat(user, span_notice("You insert \the [I] into [src]'s paper recycler."))
qdel(I)
stored_paper++
return TRUE
diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm
index ecfbf4c6b2..e8c479db47 100644
--- a/code/modules/modular_computers/hardware/recharger.dm
+++ b/code/modules/modular_computers/hardware/recharger.dm
@@ -55,7 +55,7 @@
/obj/item/computer_hardware/recharger/wired/can_install(obj/item/modular_computer/M, mob/living/user = null)
if(ismachinery(M.physical) && M.physical.anchored)
return ..()
- to_chat(user, "\The [src] is incompatible with portable computers!")
+ to_chat(user, span_warning("\The [src] is incompatible with portable computers!"))
return FALSE
/obj/item/computer_hardware/recharger/wired/use_power(amount, charging=0)
@@ -96,3 +96,4 @@
/obj/item/computer_hardware/recharger/lambda/use_power(amount, charging=0)
return 1
+
diff --git a/code/modules/modular_computers/hardware/sensor_package.dm b/code/modules/modular_computers/hardware/sensor_package.dm
index c0363bc809..0579b752fb 100644
--- a/code/modules/modular_computers/hardware/sensor_package.dm
+++ b/code/modules/modular_computers/hardware/sensor_package.dm
@@ -6,3 +6,12 @@
w_class = WEIGHT_CLASS_TINY
device_type = MC_SENSORS
expansion_hw = TRUE
+
+/obj/item/computer_hardware/radio_card
+ name = "integrated radio card"
+ desc = "An integrated signaling assembly for computers to send an outgoing frequency signal. Required by certain programs."
+ icon_state = "signal_card"
+ w_class = WEIGHT_CLASS_TINY
+ device_type = MC_SIGNALER
+ expansion_hw = TRUE
+ power_usage = 10
diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm
index 0811983088..4a268c2911 100644
--- a/code/modules/modular_computers/laptop_vendor.dm
+++ b/code/modules/modular_computers/laptop_vendor.dm
@@ -13,19 +13,19 @@
var/obj/item/modular_computer/tablet/fabricated_tablet = null
// Utility vars
- var/state = 0 // 0: Select device type, 1: Select loadout, 2: Payment, 3: Thankyou screen
- var/devtype = 0 // 0: None(unselected), 1: Laptop, 2: Tablet
- var/total_price = 0 // Price of currently vended device.
+ var/state = 0 // 0: Select device type, 1: Select loadout, 2: Payment, 3: Thankyou screen
+ var/devtype = 0 // 0: None(unselected), 1: Laptop, 2: Tablet
+ var/total_price = 0 // Price of currently vended device.
var/credits = 0
// Device loadout
- var/dev_cpu = 1 // 1: Default, 2: Upgraded
- var/dev_battery = 1 // 1: Default, 2: Upgraded, 3: Advanced
- var/dev_disk = 1 // 1: Default, 2: Upgraded, 3: Advanced
- var/dev_netcard = 0 // 0: None, 1: Basic, 2: Long-Range
- var/dev_apc_recharger = 0 // 0: None, 1: Standard (LAPTOP ONLY)
- var/dev_printer = 0 // 0: None, 1: Standard
- var/dev_card = 0 // 0: None, 1: Standard
+ var/dev_cpu = 1 // 1: Default, 2: Upgraded
+ var/dev_battery = 1 // 1: Default, 2: Upgraded, 3: Advanced
+ var/dev_disk = 1 // 1: Default, 2: Upgraded, 3: Advanced
+ var/dev_netcard = 0 // 0: None, 1: Basic, 2: Long-Range
+ var/dev_apc_recharger = 0 // 0: None, 1: Standard (LAPTOP ONLY)
+ var/dev_printer = 0 // 0: None, 1: Standard
+ var/dev_card = 0 // 0: None, 1: Standard
// Removes all traces of old order and allows you to begin configuration from scratch.
/obj/machinery/lapvend/proc/reset_order()
@@ -48,7 +48,7 @@
// Recalculates the price and optionally even fabricates the device.
/obj/machinery/lapvend/proc/fabricate_and_recalc_price(fabricate = FALSE)
total_price = 0
- if(devtype == 1) // Laptop, generally cheaper to make it accessible for most station roles
+ if(devtype == 1) // Laptop, generally cheaper to make it accessible for most station roles
var/obj/item/computer_hardware/battery/battery_module = null
if(fabricate)
fabricated_laptop = new /obj/item/modular_computer/laptop/buildable(src)
@@ -111,7 +111,7 @@
fabricated_laptop.install_component(new /obj/item/computer_hardware/card_slot/secondary)
return total_price
- else if(devtype == 2) // Tablet, more expensive, not everyone could probably afford this.
+ else if(devtype == 2) // Tablet, more expensive, not everyone could probably afford this.
var/obj/item/computer_hardware/battery/battery_module = null
if(fabricate)
fabricated_tablet = new(src)
@@ -241,13 +241,13 @@
if(!user.temporarilyRemoveItemFromInventory(c))
return
credits += c.value
- visible_message("[user] inserts [c.value] cr into [src].")
+ visible_message(span_info("[span_name("[user]")] inserts [c.value] cr into [src]."))
qdel(c)
return
else if(istype(I, /obj/item/holochip))
var/obj/item/holochip/HC = I
credits += HC.credits
- visible_message("[user] inserts a [HC.credits] cr holocredit chip into [src].")
+ visible_message(span_info("[user] inserts a [HC.credits] cr holocredit chip into [src]."))
qdel(HC)
return
else if(istype(I, /obj/item/card/id))
diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm
index 9a306333b3..afb5e9de2c 100644
--- a/code/modules/paperwork/carbonpaper.dm
+++ b/code/modules/paperwork/carbonpaper.dm
@@ -2,7 +2,7 @@
name = "sheet of carbon"
icon_state = "paper_stack"
item_state = "paper"
- // inhand_icon_state = "paper"
+ // item_state = "paper"
show_written_words = FALSE
var/copied = FALSE
var/iscopy = FALSE
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 13de7898c1..c957a927ec 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -1,127 +1,201 @@
+/**
+ * Clipboard
+ */
/obj/item/clipboard
name = "clipboard"
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "clipboard"
item_state = "clipboard"
- // inhand_icon_state = "clipboard"
- // worn_icon_state = "clipboard"
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 7
- var/obj/item/pen/haspen //The stored pen.
- var/obj/item/paper/toppaper //The topmost piece of paper.
slot_flags = ITEM_SLOT_BELT
resistance_flags = FLAMMABLE
+ /// The stored pen
+ var/obj/item/pen/pen
+ /// Is the pen integrated?
+ var/integrated_pen = FALSE
+ /**
+ * Weakref of the topmost piece of paper
+ *
+ * This is used for the paper displayed on the clipboard's icon
+ * and it is the one attacked, when attacking the clipboard.
+ * (As you can't organise contents directly in BYOND)
+ */
+ var/datum/weakref/toppaper_ref
/obj/item/clipboard/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- return BRUTELOSS//the clipboard's clip is very strong. industrial duty. can kill a man easily.
+ user.visible_message(span_suicide("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ return BRUTELOSS //The clipboard's clip is very strong. Industrial duty. Can kill a man easily.
/obj/item/clipboard/Initialize()
- update_icon()
+ update_appearance()
. = ..()
/obj/item/clipboard/Destroy()
- QDEL_NULL(haspen)
- QDEL_NULL(toppaper) //let movable/Destroy handle the rest
+ QDEL_NULL(pen)
return ..()
+/obj/item/clipboard/examine()
+ . = ..()
+ if(!integrated_pen && pen)
+ . += span_notice("Alt-click to remove [pen].")
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
+ if(toppaper)
+ . += span_notice("Right-click to remove [toppaper].")
+
+/// Take out the topmost paper
+/obj/item/clipboard/proc/remove_paper(obj/item/paper/paper, mob/user)
+ if(!istype(paper))
+ return
+ paper.forceMove(user.loc)
+ user.put_in_hands(paper)
+ to_chat(user, span_notice("You remove [paper] from [src]."))
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
+ if(paper == toppaper)
+ UnregisterSignal(toppaper, COMSIG_ATOM_UPDATED_ICON)
+ toppaper_ref = null
+ var/obj/item/paper/newtop = locate(/obj/item/paper) in src
+ if(newtop && (newtop != paper))
+ toppaper_ref = WEAKREF(newtop)
+ else
+ toppaper_ref = null
+ update_icon()
+
+/obj/item/clipboard/proc/remove_pen(mob/user)
+ pen.forceMove(user.loc)
+ user.put_in_hands(pen)
+ to_chat(user, span_notice("You remove [pen] from [src]."))
+ pen = null
+ update_icon()
+
+/obj/item/clipboard/AltClick(mob/user)
+ ..()
+ if(pen)
+ if(integrated_pen)
+ to_chat(user, span_warning("You can't seem to find a way to remove [src]'s [pen]."))
+ else
+ remove_pen(user)
+
/obj/item/clipboard/update_overlays()
. = ..()
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
if(toppaper)
. += toppaper.icon_state
. += toppaper.overlays
- if(haspen)
+ if(pen)
. += "clipboard_pen"
. += "clipboard_over"
-/obj/item/clipboard/attackby(obj/item/W, mob/user, params)
- if(istype(W, /obj/item/paper))
- if(!user.transferItemToLoc(W, src))
+/obj/item/clipboard/attack_hand(mob/user, act_intent)
+ if(act_intent != INTENT_HELP)
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
+ remove_paper(toppaper, user)
+ return TRUE
+ . = ..()
+
+/obj/item/clipboard/attackby(obj/item/weapon, mob/user, params)
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
+ if(istype(weapon, /obj/item/paper))
+ //Add paper into the clipboard
+ if(!user.transferItemToLoc(weapon, src))
return
- toppaper = W
- to_chat(user, "You clip the paper onto \the [src].")
- update_icon()
+ if(toppaper)
+ UnregisterSignal(toppaper, COMSIG_ATOM_UPDATED_ICON)
+ RegisterSignal(weapon, COMSIG_ATOM_UPDATED_ICON, .proc/on_top_paper_change)
+ toppaper_ref = WEAKREF(weapon)
+ to_chat(user, span_notice("You clip [weapon] onto [src]."))
+ else if(istype(weapon, /obj/item/pen) && !pen)
+ //Add a pen into the clipboard, attack (write) if there is already one
+ if(!usr.transferItemToLoc(weapon, src))
+ return
+ pen = weapon
+ to_chat(usr, span_notice("You slot [weapon] into [src]."))
else if(toppaper)
toppaper.attackby(user.get_active_held_item(), user)
- update_icon()
-
+ update_appearance()
/obj/item/clipboard/attack_self(mob/user)
- var/dat = "Clipboard"
- if(haspen)
- dat += "Remove Pen "
- else
- dat += "Add Pen "
-
- //The topmost paper. You can't organise contents directly in byond, so this is what we're stuck with. -Pete
- if(toppaper)
- var/obj/item/paper/P = toppaper
- dat += "WriteRemove - [P.name] "
-
- for(P in src)
- if(P == toppaper)
- continue
- dat += "WriteRemoveMove to top - [P.name] "
- user << browse(dat, "window=clipboard")
- onclose(user, "clipboard")
add_fingerprint(usr)
+ ui_interact(user)
+ return
+/obj/item/clipboard/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "Clipboard")
+ ui.open()
-/obj/item/clipboard/Topic(href, href_list)
- ..()
- if(usr.stat != CONSCIOUS || usr.restrained()) //HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED))
+/obj/item/clipboard/ui_data(mob/user)
+ // prepare data for TGUI
+ var/list/data = list()
+ data["pen"] = "[pen]"
+ data["integrated_pen"] = integrated_pen
+
+ var/obj/item/paper/toppaper = toppaper_ref?.resolve()
+ data["top_paper"] = "[toppaper]"
+ data["top_paper_ref"] = "[REF(toppaper)]"
+
+ data["paper"] = list()
+ data["paper_ref"] = list()
+ for(var/obj/item/paper/paper in src)
+ if(paper == toppaper)
+ continue
+ data["paper"] += "[paper]"
+ data["paper_ref"] += "[REF(paper)]"
+
+ return data
+
+/obj/item/clipboard/ui_act(action, params)
+ . = ..()
+ if(.)
return
- if(usr.contents.Find(src))
+ if(usr.stat != CONSCIOUS || usr.restrained())
+ return
- if(href_list["pen"])
- if(haspen)
- haspen.forceMove(usr.loc)
- usr.put_in_hands(haspen)
- haspen = null
+ switch(action)
+ // Take the pen out
+ if("remove_pen")
+ if(pen)
+ if(!integrated_pen)
+ remove_pen(usr)
+ else
+ to_chat(usr, span_warning("You can't seem to find a way to remove [src]'s [pen]."))
+ . = TRUE
+ // Take paper out
+ if("remove_paper")
+ var/obj/item/paper/paper = locate(params["ref"]) in src
+ if(istype(paper))
+ remove_paper(paper, usr)
+ . = TRUE
+ // Look at (or edit) the paper
+ if("edit_paper")
+ var/obj/item/paper/paper = locate(params["ref"]) in src
+ if(istype(paper))
+ paper.ui_interact(usr)
+ update_icon()
+ . = TRUE
+ // Move paper to the top
+ if("move_top_paper")
+ var/obj/item/paper/paper = locate(params["ref"]) in src
+ if(istype(paper))
+ toppaper_ref = WEAKREF(paper)
+ to_chat(usr, span_notice("You move [paper] to the top."))
+ update_icon()
+ . = TRUE
+ // Rename the paper (it's a verb)
+ if("rename_paper")
+ var/obj/item/paper/paper = locate(params["ref"]) in src
+ if(istype(paper))
+ paper.rename()
+ update_icon()
+ . = TRUE
- if(href_list["addpen"])
- if(!haspen)
- var/obj/item/held = usr.get_active_held_item()
- if(istype(held, /obj/item/pen))
- var/obj/item/pen/W = held
- if(!usr.transferItemToLoc(W, src))
- return
- haspen = W
- to_chat(usr, "You slot [W] into [src].")
-
- if(href_list["write"])
- var/obj/item/P = locate(href_list["write"]) in src
- if(istype(P))
- if(usr.get_active_held_item())
- P.attackby(usr.get_active_held_item(), usr)
-
- if(href_list["remove"])
- var/obj/item/P = locate(href_list["remove"]) in src
- if(istype(P))
- P.forceMove(usr.loc)
- usr.put_in_hands(P)
- if(P == toppaper)
- toppaper = null
- var/obj/item/paper/newtop = locate(/obj/item/paper) in src
- if(newtop && (newtop != P))
- toppaper = newtop
- else
- toppaper = null
-
- if(href_list["read"])
- var/obj/item/paper/P = locate(href_list["read"]) in src
- if(istype(P))
- usr.examinate(P)
-
- if(href_list["top"])
- var/obj/item/P = locate(href_list["top"]) in src
- if(istype(P))
- toppaper = P
- to_chat(usr, "You move [P.name] to the top.")
-
- //Update everything
- attack_self(usr)
- update_icon()
+/**
+ * This is a simple proc to handle calling update_icon() upon receiving the top paper's `COMSIG_ATOM_UPDATE_APPEARANCE`.
+ */
+/obj/item/clipboard/proc/on_top_paper_change()
+ SIGNAL_HANDLER
+ update_appearance()
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index ad251a6c82..1c4afbf518 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "labeler0"
item_state = "flight"
- // inhand_icon_state = "flight"
+ // item_state = "flight"
var/label = null
var/labels_left = 30
var/mode = 0
@@ -118,7 +118,7 @@
desc = "A roll of paper. Use it on a hand labeler to refill it."
icon_state = "labeler_refill"
item_state = "electropack"
- // inhand_icon_state = "electropack"
+ // item_state = "electropack"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 7a98287809..366d1a3f68 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -5,7 +5,7 @@
* lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!
*/
#define MAX_PAPER_LENGTH 5000
-#define MAX_PAPER_STAMPS 30 // Too low?
+#define MAX_PAPER_STAMPS 30 // Too low?
#define MAX_PAPER_STAMPS_OVERLAYS 4
#define MODE_READING 0
#define MODE_WRITING 1
@@ -22,6 +22,8 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "paper"
item_state = "paper"
+ // worn_icon_state = "paper"
+ // custom_fire_overlay = "paper_onfire_overlay"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_range = 1
@@ -41,8 +43,8 @@
var/show_written_words = TRUE
/// The (text for the) stamps on the paper.
- var/list/stamps /// Positioning for the stamp in tgui
- var/list/stamped /// Overlay info
+ var/list/stamps /// Positioning for the stamp in tgui
+ var/list/stamped /// Overlay info
var/contact_poison // Reagent ID to transfer on contact
var/contact_poison_volume = 0
@@ -61,20 +63,23 @@
/**
* This proc copies this sheet of paper to a new
- * sheet, Makes it nice and easy for carbon and
- * the copyer machine
+ * sheet. Used by carbon papers and the photocopier machine.
*/
-/obj/item/paper/proc/copy()
- var/obj/item/paper/N = new(arglist(args))
- N.info = info
- N.color = color
- N.update_icon_state()
- N.stamps = stamps
- N.stamped = stamped.Copy()
- N.form_fields = form_fields.Copy()
- N.field_counter = field_counter
- copy_overlays(N, TRUE)
- return N
+/obj/item/paper/proc/copy(paper_type = /obj/item/paper, atom/location = loc, colored = TRUE)
+ var/obj/item/paper/new_paper = new paper_type (location)
+ if(colored)
+ new_paper.color = color
+ new_paper.info = info
+ else //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
+ var/static/greyscale_info = regex("You cut yourself on the paper! Ahhhh! Ahhhhh!")
+ to_chat(H, span_warning("You cut yourself on the paper! Ahhhh! Ahhhhh!"))
H.damageoverlaytemp = 9001
H.update_damage_hud()
return
var/n_name = stripped_input(usr, "What would you like to label the paper?", "Paper Labelling", null, MAX_NAME_LEN)
- if((loc == usr && usr.stat == CONSCIOUS))
+ if(((loc == usr || istype(loc, /obj/item/clipboard)) && usr.stat == CONSCIOUS))
name = "paper[(n_name ? text("- '[n_name]'") : null)]"
add_fingerprint(usr)
/obj/item/paper/suicide_act(mob/user)
- user.visible_message("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku...")
+ user.visible_message(span_suicide("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku..."))
return (BRUTELOSS)
/obj/item/paper/proc/clearpaper()
@@ -139,18 +145,18 @@
/obj/item/paper/examine(mob/user)
. = ..()
if(!in_range(user, src) && !isobserver(user))
- . += "You're too far away to read it!"
+ . += span_warning("You're too far away to read it!")
return
if(user.can_read(src))
ui_interact(user)
return
- . += "You cannot read it!"
+ . += span_warning("You cannot read it!")
/obj/item/paper/ui_status(mob/user,/datum/ui_state/state)
// Are we on fire? Hard ot read if so
if(resistance_flags & ON_FIRE)
return UI_CLOSE
- if(!in_range(user,src))
+ if(!in_range(user, src) && !isobserver(user))
return UI_CLOSE
if(user.incapacitated(TRUE, TRUE) || (isobserver(user) && !IsAdminGhost(user)))
return UI_UPDATE
@@ -158,7 +164,7 @@
// .. or if you cannot read
if(!user.can_read(src))
return UI_CLOSE
- if(in_contents_of(/obj/machinery/door/airlock))
+ if(in_contents_of(/obj/machinery/door/airlock) || in_contents_of(/obj/item/clipboard))
return UI_INTERACTIVE
return ..()
@@ -176,8 +182,8 @@
return
. = TRUE
if(!bypass_clumsy && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10) && Adjacent(user))
- user.visible_message("[user] accidentally ignites [user.p_them()]self!", \
- "You miss [src] and accidentally light yourself on fire!")
+ user.visible_message(span_warning("[user] accidentally ignites [user.p_them()]self!"), \
+ span_userdanger("You miss [src] and accidentally light yourself on fire!"))
if(user.is_holding(I)) //checking if they're holding it in case TK is involved
user.dropItemToGround(I)
user.adjust_fire_stacks(1)
@@ -195,19 +201,23 @@
SStgui.close_uis(src)
return
- if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))
+ // Enable picking paper up by clicking on it with the clipboard or folder
+ if(istype(P, /obj/item/clipboard) || istype(P, /obj/item/folder))
+ P.attackby(src, user)
+ return
+ else if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))
if(length(info) >= MAX_PAPER_LENGTH) // Sheet must have less than 1000 charaters
- to_chat(user, "This sheet of paper is full!")
+ to_chat(user, span_warning("This sheet of paper is full!"))
return
ui_interact(user)
return
else if(istype(P, /obj/item/stamp))
- to_chat(user, "You ready your stamp over the paper! ")
+ to_chat(user, span_notice("You ready your stamp over the paper! "))
ui_interact(user)
return /// Normaly you just stamp, you don't need to read the thing
else
// cut paper? the sky is the limit!
- ui_interact(user) // The other ui will be created with just read mode outside of this
+ ui_interact(user) // The other ui will be created with just read mode outside of this
return ..()
@@ -234,8 +244,8 @@
. = list()
.["text"] = info
.["max_length"] = MAX_PAPER_LENGTH
- .["paper_color"] = !color || color == "white" ? "#FFFFFF" : color // color might not be set
- .["paper_state"] = icon_state /// TODO: show the sheet will bloodied or crinkling?
+ .["paper_color"] = !color || color == "white" ? "#FFFFFF" : color // color might not be set
+ .["paper_state"] = icon_state /// TODO: show the sheet will bloodied or crinkling?
.["stamps"] = stamps
@@ -244,27 +254,34 @@
var/list/data = list()
data["edit_usr"] = "[user]"
- var/obj/O = user.get_active_held_item()
- if(istype(O, /obj/item/toy/crayon))
- var/obj/item/toy/crayon/PEN = O
+ var/obj/holding = user.get_active_held_item()
+ // Use a clipboard's pen, if applicable
+ if(istype(loc, /obj/item/clipboard))
+ var/obj/item/clipboard/clipboard = loc
+ // This is just so you can still use a stamp if you're holding one. Otherwise, it'll
+ // use the clipboard's pen, if applicable.
+ if(!istype(holding, /obj/item/stamp) && clipboard.pen)
+ holding = clipboard.pen
+ if(istype(holding, /obj/item/toy/crayon))
+ var/obj/item/toy/crayon/PEN = holding
data["pen_font"] = CRAYON_FONT
data["pen_color"] = PEN.paint_color
data["edit_mode"] = MODE_WRITING
data["is_crayon"] = TRUE
data["stamp_class"] = "FAKE"
data["stamp_icon_state"] = "FAKE"
- else if(istype(O, /obj/item/pen))
- var/obj/item/pen/PEN = O
+ else if(istype(holding, /obj/item/pen))
+ var/obj/item/pen/PEN = holding
data["pen_font"] = PEN.font
data["pen_color"] = PEN.colour
data["edit_mode"] = MODE_WRITING
data["is_crayon"] = FALSE
data["stamp_class"] = "FAKE"
data["stamp_icon_state"] = "FAKE"
- else if(istype(O, /obj/item/stamp))
+ else if(istype(holding, /obj/item/stamp))
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/simple/paper)
- data["stamp_icon_state"] = O.icon_state
- data["stamp_class"] = sheet.icon_class_name(O.icon_state)
+ data["stamp_icon_state"] = holding.icon_state
+ data["stamp_class"] = sheet.icon_class_name(holding.icon_state)
data["edit_mode"] = MODE_STAMPING
data["pen_font"] = "FAKE"
data["pen_color"] = "FAKE"
@@ -276,6 +293,10 @@
data["is_crayon"] = FALSE
data["stamp_icon_state"] = "FAKE"
data["stamp_class"] = "FAKE"
+ if(istype(loc, /obj/structure/noticeboard))
+ var/obj/structure/noticeboard/noticeboard = loc
+ if(!noticeboard.allowed(user))
+ data["edit_mode"] = MODE_READING
data["field_counter"] = field_counter
data["form_fields"] = form_fields
@@ -289,14 +310,14 @@
if("stamp")
var/stamp_x = text2num(params["x"])
var/stamp_y = text2num(params["y"])
- var/stamp_r = text2num(params["r"]) // rotation in degrees
+ var/stamp_r = text2num(params["r"]) // rotation in degrees
var/stamp_icon_state = params["stamp_icon_state"]
var/stamp_class = params["stamp_class"]
if (isnull(stamps))
stamps = list()
if(stamps.len < MAX_PAPER_STAMPS)
// I hate byond when dealing with freaking lists
- stamps[++stamps.len] = list(stamp_class, stamp_x, stamp_y, stamp_r) /// WHHHHY
+ stamps[++stamps.len] = list(stamp_class, stamp_x, stamp_y, stamp_r) /// WHHHHY
/// This does the overlay stuff
if (isnull(stamped))
@@ -307,10 +328,11 @@
stampoverlay.pixel_y = rand(-3, 2)
add_overlay(stampoverlay)
LAZYADD(stamped, stamp_icon_state)
+ update_icon()
update_static_data(usr,ui)
var/obj/O = ui.user.get_active_held_item()
- ui.user.visible_message("[ui.user] stamps [src] with \the [O.name]!", "You stamp [src] with \the [O.name]!")
+ ui.user.visible_message(span_notice("[ui.user] stamps [src] with \the [O.name]!"), span_notice("You stamp [src] with \the [O.name]!"))
else
to_chat(usr, pick("You try to stamp but you miss!", "There is no where else you can stamp!"))
. = TRUE
@@ -336,9 +358,14 @@
update_static_data(usr,ui)
- update_icon()
+ update_appearance()
. = TRUE
+/obj/item/paper/ui_host(mob/user)
+ if(istype(loc, /obj/structure/noticeboard))
+ return loc
+ return ..()
+
/**
* Construction paper
*/
@@ -361,9 +388,6 @@
slot_flags = null
show_written_words = FALSE
-/obj/item/paper/crumpled/update_icon_state()
- return
-
/obj/item/paper/crumpled/bloody
icon_state = "scrap_bloodied"
diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm
index 2bb743abbd..0dbc80521b 100644
--- a/code/modules/paperwork/paper_cutter.dm
+++ b/code/modules/paperwork/paper_cutter.dm
@@ -132,6 +132,6 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "cutterblade"
item_state = "knife"
- // inhand_icon_state = "knife"
+ // item_state = "knife"
lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 6775532614..8fab76a406 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "paper_bin1"
item_state = "sheet-metal"
- // inhand_icon_state = "sheet-metal"
+ // item_state = "sheet-metal"
lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi'
throwforce = 0
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 41e22de9e6..20c9c6211a 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -16,7 +16,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "pen"
item_state = "pen"
- // inhand_icon_state = "pen"
+ // item_state = "pen"
// worn_icon_state = "pen"
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_EARS
throwforce = 0
@@ -289,7 +289,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "digging_pen"
item_state = "pen"
- // inhand_icon_state = "pen"
+ // item_state = "pen"
// worn_icon_state = "pen"
force = 3
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 104f70bfdf..1c3f76a676 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "stamp-ok"
item_state = "stamp"
- // inhand_icon_state = "stamp"
+ // item_state = "stamp"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index b5ed659e47..a57711a539 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -19,7 +19,7 @@
/obj/machinery/power/port_gen/Initialize()
. = ..()
- soundloop = new(list(src), active)
+ soundloop = new(src, active)
/obj/machinery/power/port_gen/Destroy()
QDEL_NULL(soundloop)
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index 08d2ff5c84..5f6e110a9c 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -62,7 +62,7 @@
for(var/datum/mind/cult_mind in SSticker.mode.cult)
if(isliving(cult_mind.current))
var/mob/living/L = cult_mind.current
- L.narsie_act()
+ INVOKE_ASYNC(L, /atom.proc/narsie_act)
for(var/mob/living/player in GLOB.player_list)
if(player.stat != DEAD && player.loc && is_station_level(player.loc.z) && !iscultist(player) && !isanimal(player))
souls_needed[player] = TRUE
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 256e128ff4..8490daa681 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -347,10 +347,10 @@
var/dir2 = 0
var/dir3 = 0
switch(direction)
- if(NORTH||SOUTH)
+ if(NORTH, SOUTH)
dir2 = 4
dir3 = 8
- if(EAST||WEST)
+ if(EAST, WEST)
dir2 = 1
dir3 = 2
var/turf/T2 = T
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index a1fbf5d7ad..201200a95d 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -210,7 +210,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
AddElement(/datum/element/bsa_blocker)
RegisterSignal(src, COMSIG_ATOM_BSA_BEAM, .proc/call_explode)
- soundloop = new(list(src), TRUE)
+ soundloop = new(src, TRUE)
/obj/machinery/power/supermatter_crystal/Destroy()
investigate_log("has been destroyed.", INVESTIGATE_SUPERMATTER)
@@ -220,6 +220,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
QDEL_NULL(countdown)
if(is_main_engine && GLOB.main_supermatter_engine == src)
GLOB.main_supermatter_engine = null
+ QDEL_NULL(soundloop)
return ..()
/obj/machinery/power/supermatter_crystal/examine(mob/user)
@@ -229,6 +230,57 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if (!istype(C.glasses, /obj/item/clothing/glasses/meson) && (get_dist(user, src) < HALLUCINATION_RANGE(power)))
. += "You get headaches just from looking at it."
+// SupermatterMonitor UI for ghosts only. Inherited attack_ghost will call this.
+/obj/machinery/power/supermatter_crystal/ui_interact(mob/user, datum/tgui/ui)
+ if(!isobserver(user))
+ return FALSE
+ . = ..()
+ ui = SStgui.try_update_ui(user, src, ui)
+ if (!ui)
+ ui = new(user, src, "SupermatterMonitor")
+ ui.open()
+
+/obj/machinery/power/supermatter_crystal/ui_data(mob/user)
+ var/list/data = list()
+
+ var/turf/local_turf = get_turf(src)
+
+ var/datum/gas_mixture/air = local_turf.return_air()
+
+ // singlecrystal set to true eliminates the back sign on the gases breakdown.
+ data["singlecrystal"] = TRUE
+ data["active"] = TRUE
+ data["SM_integrity"] = get_integrity()
+ data["SM_power"] = power
+ data["SM_ambienttemp"] = air.return_temperature()
+ data["SM_ambientpressure"] = air.return_pressure()
+ data["SM_bad_moles_amount"] = MOLE_PENALTY_THRESHOLD / gasefficency
+ data["SM_moles"] = 0
+ data["SM_uid"] = uid
+ var/area/active_supermatter_area = get_area(src)
+ data["SM_area_name"] = active_supermatter_area.name
+
+ var/list/gasdata = list()
+
+ if(air.total_moles())
+ data["SM_moles"] = air.total_moles()
+ for(var/id in air.get_gases())
+ var/gas_level = air.get_moles(id)/air.total_moles()
+ if(gas_level > 0)
+ gasdata.Add(list(list(
+ "name"= "[GLOB.gas_data.names[id]]",
+ "amount" = round(gas_level*100, 0.01))))
+
+ else
+ for(var/id in air.get_gases())
+ gasdata.Add(list(list(
+ "name"= "[GLOB.gas_data.names[id]]",
+ "amount" = 0)))
+
+ data["gases"] = gasdata
+
+ return data
+
/obj/machinery/power/supermatter_crystal/proc/get_status()
var/turf/T = get_turf(src)
if(!T)
@@ -628,6 +680,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
//Tells the engi team to get their butt in gear
if(damage > warning_point) // while the core is still damaged and it's still worth noting its status
+ if(damage_archived < warning_point) //If damage_archive is under the warning point, this is the very first cycle that we've reached said point.
+ SEND_SIGNAL(src, COMSIG_SUPERMATTER_DELAM_START_ALARM)
if((REALTIMEOFDAY - lastwarning) / 10 >= WARNING_DELAY)
alarm()
@@ -635,6 +689,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(damage > emergency_point)
// it's bad, LETS YELL
radio.talk_into(src, "[emergency_alert] Integrity: [get_integrity()]%", common_channel, list(SPAN_YELL))
+ SEND_SIGNAL(src, COMSIG_SUPERMATTER_DELAM_ALARM)
lastwarning = REALTIMEOFDAY
if(!has_reached_emergency)
investigate_log("has reached the emergency point for the first time.", INVESTIGATE_SUPERMATTER)
@@ -642,6 +697,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
has_reached_emergency = TRUE
else if(damage >= damage_archived) // The damage is still going up
radio.talk_into(src, "[warning_alert] Integrity: [get_integrity()]%", engineering_channel)
+ SEND_SIGNAL(src, COMSIG_SUPERMATTER_DELAM_ALARM)
lastwarning = REALTIMEOFDAY - (WARNING_DELAY * 5)
else // Phew, we're safe
diff --git a/code/modules/projectiles/guns/magic/spell_book.dm b/code/modules/projectiles/guns/magic/spell_book.dm
index 752a6ae5ac..a2da6704a6 100644
--- a/code/modules/projectiles/guns/magic/spell_book.dm
+++ b/code/modules/projectiles/guns/magic/spell_book.dm
@@ -10,7 +10,7 @@
variable_charges = FALSE
/obj/item/gun/magic/wand/book/zap_self(mob/living/user)
- to_chat(user, "The book has [charges] pages\s remaining.")
+ to_chat(user, "The book has [charges] page\s remaining.")
/obj/item/gun/magic/wand/book/attackby(obj/item/S, mob/living/user, params)
if(!istype(S, /obj/item/paper))
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index 7c563b3cb1..2899f0ca11 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -825,7 +825,7 @@
pH = REAGENT_NORMAL_PH
return 0
-/datum/reagents/proc/reaction(atom/A, method = TOUCH, volume_modifier = 1, show_message = 1)
+/datum/reagents/proc/reaction(atom/A, method = TOUCH, volume_modifier = 1, show_message = 1, from_gas = 0)
var/react_type
if(isliving(A))
react_type = "LIVING"
@@ -849,7 +849,7 @@
touch_protection = L.get_permeability_protection()
R.reaction_mob(A, method, R.volume * volume_modifier, show_message, touch_protection)
if("TURF")
- R.reaction_turf(A, R.volume * volume_modifier, show_message)
+ R.reaction_turf(A, R.volume * volume_modifier, show_message, from_gas)
if("OBJ")
R.reaction_obj(A, R.volume * volume_modifier, show_message)
@@ -859,17 +859,16 @@
return FALSE
//Returns the average specific heat for all reagents currently in this holder.
-/datum/reagents/proc/specific_heat()
+/datum/reagents/proc/heat_capacity()
. = 0
- var/cached_amount = total_volume //cache amount
var/list/cached_reagents = reagent_list //cache reagents
for(var/I in cached_reagents)
var/datum/reagent/R = I
- . += R.specific_heat * (R.volume / cached_amount)
+ . += R.specific_heat * R.volume
/datum/reagents/proc/adjust_thermal_energy(J, min_temp = 2.7, max_temp = 1000)
- var/S = specific_heat()
- chem_temp = clamp(chem_temp + (J / (S * total_volume)), min_temp, max_temp)
+ var/S = heat_capacity()
+ chem_temp = clamp(chem_temp + (J / S), min_temp, max_temp)
if(istype(my_atom, /obj/item/reagent_containers))
var/obj/item/reagent_containers/RC = my_atom
RC.temp_check()
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index b2978f3066..128c4ed3cb 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -390,11 +390,11 @@
var/datum/reagent/R = GLOB.chemical_reagents_list[reagent]
if(R)
var/state = "Unknown"
- if(initial(R.reagent_state) == 1)
+ if(initial(R.reagent_state) == SOLID)
state = "Solid"
- else if(initial(R.reagent_state) == 2)
+ else if(initial(R.reagent_state) == LIQUID)
state = "Liquid"
- else if(initial(R.reagent_state) == 3)
+ else if(initial(R.reagent_state) == GAS)
state = "Gas"
var/const/P = 3 //The number of seconds between life ticks
var/T = initial(R.metabolization_rate) * (60 / P)
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index fecb9e3dbf..9845903e21 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -53,6 +53,10 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
var/chemical_flags = REAGENT_ORGANIC_PROCESS // See fermi/readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_ONLYINVERSE, REAGENT_ONMOBMERGE, REAGENT_INVISIBLE, REAGENT_FORCEONNEW, REAGENT_SNEAKYNAME, REAGENT_ORGANIC_PROCESS, REAGENT_ROBOTIC_PROCESS
var/value = REAGENT_VALUE_NONE //How much does it sell for in cargo?
var/datum/material/material //are we made of material?
+ var/gas = null //do we have an associated gas? (expects a string, not a datum typepath!)
+ var/boiling_point = null // point at which this gas boils; if null, will never boil (and thus not become a gas)
+ var/condensation_amount = 1
+ var/molarity = 5 // How many units per mole of this reagent. Technically this is INVERSE molarity, but hey.
/datum/reagent/New()
. = ..()
@@ -77,10 +81,23 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
return 1
/datum/reagent/proc/reaction_obj(obj/O, volume)
- return
+ if(O && volume && boiling_point)
+ var/temp = holder ? holder.chem_temp : T20C
+ if(temp > boiling_point)
+ O.atmos_spawn_air("[get_gas()]=[volume/molarity];TEMP=[temp]")
-/datum/reagent/proc/reaction_turf(turf/T, volume)
- return
+/datum/reagent/proc/reaction_turf(turf/T, volume, show_message, from_gas)
+ if(!from_gas && boiling_point)
+ var/temp = holder?.chem_temp
+ if(!temp)
+ if(isopenturf(T))
+ var/turf/open/O = T
+ var/datum/gas_mixture/air = O.return_air()
+ temp = air.return_temperature()
+ else
+ temp = T20C
+ if(temp > boiling_point)
+ T.atmos_spawn_air("[get_gas()]=[volume/molarity];TEMP=[temp]")
/datum/reagent/proc/on_mob_life(mob/living/carbon/M)
current_cycle++
@@ -235,6 +252,44 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
return rs.Join(" | ")
+/datum/reagent/proc/define_gas()
+ if(reagent_state == SOLID)
+ return null // doesn't make that much sense
+ var/list/cached_reactions = GLOB.chemical_reactions_list
+ for(var/reaction in cached_reactions[src.type])
+ var/datum/chemical_reaction/C = reaction
+ if(!istype(C))
+ continue
+ if(C.required_reagents.len < 2) // no reagents that react on their own
+ return null
+ var/datum/gas/G = new
+ G.id = "[src.type]"
+ G.name = name
+ G.specific_heat = specific_heat / 10
+ G.color = color
+ G.breath_reagent = src.type
+ G.group = GAS_GROUP_CHEMICALS
+ return G
+
+/datum/reagent/proc/create_gas()
+ var/datum/gas/G = define_gas()
+ if(istype(G)) // if this reagent should never be a gas, define_gas may return null
+ GLOB.gas_data.add_gas(G)
+ var/datum/gas_reaction/condensation/condensation_reaction = new(src) // did you know? you can totally just add new reactions at runtime. it's allowed
+ SSair.add_reaction(condensation_reaction)
+ return G
+
+
+/datum/reagent/proc/get_gas()
+ if(gas)
+ return gas
+ else
+ var/datum/auxgm/cached_gas_data = GLOB.gas_data
+ . = "[src.type]"
+ if(!(. in cached_gas_data.ids))
+ create_gas()
+
+
//For easy bloodsucker disgusting and blood removal
/datum/reagent/proc/disgust_bloodsucker(mob/living/carbon/C, disgust, blood_change, blood_puke = TRUE, force)
if(AmBloodsucker(C))
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index 2f8ab6b8e6..04dc8a0d26 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -14,6 +14,7 @@
taste_description = "alcohol"
var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning
pH = 7.33
+ boiling_point = 351.38
value = REAGENT_VALUE_VERY_COMMON //don't bother tweaking all drinks values, way too many can easily be done roundstart or with an upgraded dispenser.
/*
@@ -85,6 +86,31 @@ All effects don't start immediately, but rather get worse over time; the rate is
// +10% success propability on each step, useful while operating in less-than-perfect conditions
return ..()
+/datum/reagent/consumable/ethanol/define_gas() // So that all alcohols have the same gas, i.e. "ethanol"
+ var/datum/gas/G = new
+ G.id = GAS_ETHANOL
+ G.name = "Ethanol"
+ G.enthalpy = -234800
+ G.specific_heat = 38
+ G.fire_products = list(GAS_CO2 = 1, GAS_H2O = 1.5)
+ G.fire_burn_rate = 1 / 3
+ G.fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
+ G.color = "#404030"
+ G.breath_reagent = /datum/reagent/consumable/ethanol
+ G.group = GAS_GROUP_CHEMICALS
+ return G
+
+/datum/reagent/consumable/ethanol/get_gas()
+ var/datum/auxgm/cached_gas_data = GLOB.gas_data
+ . = GAS_ETHANOL
+ if(!(. in cached_gas_data.ids))
+ var/datum/gas/G = define_gas()
+ if(istype(G))
+ cached_gas_data.add_gas(G)
+ else // this codepath should probably not happen at all, since we never use get_gas() on anything with no boiling point
+ return null
+
+
/datum/reagent/consumable/ethanol/beer
name = "Beer"
description = "An alcoholic beverage brewed since ancient times on Old Earth. Still popular today."
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 650409b5cc..df49474992 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -17,7 +17,6 @@
/datum/reagent/medicine/leporazine
name = "Leporazine"
description = "Leporazine will effectively regulate a patient's body temperature, ensuring it never leaves safe levels."
- chemical_flags = REAGENT_ALL_PROCESS
pH = 8.4
color = "#82b8aa"
value = REAGENT_VALUE_COMMON
@@ -693,7 +692,6 @@
reagent_state = LIQUID
color = "#00FFFF"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
- chemical_flags = REAGENT_ALL_PROCESS
pH = 2
/datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M)
@@ -710,7 +708,6 @@
reagent_state = LIQUID
color = "#FF6464"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
- chemical_flags = REAGENT_ALL_PROCESS
pH = 11
/datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M)
@@ -920,7 +917,6 @@
reagent_state = LIQUID
color = "#000000"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
- chemical_flags = REAGENT_ALL_PROCESS
overdose_threshold = 35
pH = 12
value = REAGENT_VALUE_UNCOMMON
@@ -951,7 +947,6 @@
reagent_state = LIQUID
color = "#D2FFFA"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
- chemical_flags = REAGENT_ALL_PROCESS
overdose_threshold = 30
pH = 10.2
@@ -1052,6 +1047,7 @@
name = "Mannitol"
description = "Efficiently restores brain damage."
color = "#DCDCFF"
+ taste_description = "sweetness"
pH = 10.4
chemical_flags = REAGENT_ALL_PROCESS
@@ -1203,7 +1199,6 @@
description = "Restores oxygen loss. Overdose causes it instead."
reagent_state = LIQUID
color = "#13d2f0"
- chemical_flags = REAGENT_ALL_PROCESS
overdose_threshold = 30
pH = 9.7
@@ -1267,7 +1262,6 @@
reagent_state = LIQUID
pH = 8.5
color = "#5dc1f0"
- chemical_flags = REAGENT_ALL_PROCESS
/datum/reagent/medicine/inaprovaline/on_mob_life(mob/living/carbon/M)
if(M.losebreath >= 5)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 26d248169a..ec628255fa 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -909,20 +909,11 @@
description = "A colorless, odorless gas. Grows on trees but is still pretty valuable."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
+ gas = GAS_O2
+ boiling_point = 90.188
taste_mult = 0 // oderless and tasteless
pH = 9.2//It's acutally a huge range and very dependant on the chemistry but pH is basically a made up var in it's implementation anyways
-
-/datum/reagent/oxygen/reaction_obj(obj/O, reac_volume)
- if((!O) || (!reac_volume))
- return 0
- var/temp = holder ? holder.chem_temp : T20C
- O.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]")
-
-/datum/reagent/oxygen/reaction_turf(turf/open/T, reac_volume)
- if(istype(T))
- var/temp = holder ? holder.chem_temp : T20C
- T.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]")
- return
+ molarity = 2
/datum/reagent/copper
name = "Copper"
@@ -943,26 +934,18 @@
name = "Nitrogen"
description = "A colorless, odorless, tasteless gas. A simple asphyxiant that can silently displace vital oxygen."
reagent_state = GAS
+ gas = GAS_N2
+ boiling_point = 77.355
color = "#808080" // rgb: 128, 128, 128
taste_mult = 0
-
-
-/datum/reagent/nitrogen/reaction_obj(obj/O, reac_volume)
- if((!O) || (!reac_volume))
- return 0
- var/temp = holder ? holder.chem_temp : T20C
- O.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]")
-
-/datum/reagent/nitrogen/reaction_turf(turf/open/T, reac_volume)
- if(istype(T))
- var/temp = holder ? holder.chem_temp : T20C
- T.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]")
- return
+ molarity = 2
/datum/reagent/hydrogen
name = "Hydrogen"
description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas."
reagent_state = GAS
+ gas = GAS_HYDROGEN
+ boiling_point = 20.271
color = "#808080" // rgb: 128, 128, 128
taste_mult = 0
pH = 0.1//Now I'm stuck in a trap of my own design. Maybe I should make -ve pHes? (not 0 so I don't get div/0 errors)
@@ -1015,9 +998,10 @@
name = "Chlorine"
description = "A pale yellow gas that's well known as an oxidizer. While it forms many harmless molecules in its elemental form it is far from harmless."
reagent_state = GAS
- color = "#808080" // rgb: 128, 128, 128
+ color = "#c0c0a0" // rgb: 192, 192, 160
taste_description = "chlorine"
pH = 7.4
+ boiling_point = 239.11
// You're an idiot for thinking that one of the most corrosive and deadly gasses would be beneficial
/datum/reagent/chlorine/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user)
@@ -1291,7 +1275,15 @@
glass_name = "glass of welder fuel"
glass_desc = "Unless you're an industrial tool, this is probably not safe for consumption."
pH = 4
+ boiling_point = 400
+/datum/reagent/fuel/define_gas()
+ var/datum/gas/G = ..()
+ G.enthalpy = 227400
+ G.fire_burn_rate = 2 / 5
+ G.fire_products = list(GAS_CO2 = 2, GAS_H2O = 1)
+ G.fire_temperature = T0C+300
+ return G
/datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with welding fuel to make them easy to ignite!
if(method == TOUCH || method == VAPOR)
@@ -1309,6 +1301,7 @@
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
color = "#A5F0EE" // rgb: 165, 240, 238
taste_description = "sourness"
+ boiling_point = T0C+50
pH = 5.5
/datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume)
@@ -1321,6 +1314,7 @@
O.clean_blood()
/datum/reagent/space_cleaner/reaction_turf(turf/T, reac_volume)
+ ..()
if(reac_volume >= 1)
T.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
SEND_SIGNAL(T, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
@@ -1488,6 +1482,7 @@
name = "Ammonia"
description = "A caustic substance commonly used in fertilizer or household cleaners."
reagent_state = GAS
+ gas = GAS_AMMONIA
color = "#404030" // rgb: 64, 64, 48
taste_description = "mordant"
pH = 11.6
@@ -1506,8 +1501,17 @@
description = "A secondary amine, mildly corrosive."
color = "#604030" // rgb: 96, 64, 48
taste_description = "iron"
+ boiling_point = 328
pH = 12
+/datum/reagent/diethylamine/define_gas()
+ var/datum/gas/G = ..()
+ G.fire_burn_rate = 1 / 6
+ G.fire_products = list(GAS_H2O = 4, GAS_AMMONIA = 1, GAS_CO2 = 4)
+ G.enthalpy = -131000
+ G.fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
+ return G
+
// This is more bad ass, and pests get hurt by the corrosive nature of it, not the plant. The new trade off is it culls stability.
/datum/reagent/diethylamine/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user)
. = ..()
@@ -1524,40 +1528,23 @@
description = "A gas commonly produced by burning carbon fuels. You're constantly producing this in your lungs."
color = "#B0B0B0" // rgb : 192, 192, 192
taste_description = "something unknowable"
+ boiling_point = 195.68 // technically sublimation, not boiling, but same deal
+ molarity = 5
+ gas = GAS_CO2
pH = 6
-/datum/reagent/carbondioxide/reaction_obj(obj/O, reac_volume)
- if((!O) || (!reac_volume))
- return 0
- var/temp = holder ? holder.chem_temp : T20C
- O.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]")
-
-/datum/reagent/carbondioxide/reaction_turf(turf/open/T, reac_volume)
- if(istype(T))
- var/temp = holder ? holder.chem_temp : T20C
- T.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]")
- return
-
/datum/reagent/nitrous_oxide
name = "Nitrous Oxide"
description = "A potent oxidizer used as fuel in rockets and as an anaesthetic during surgery."
reagent_state = LIQUID
metabolization_rate = 1.5 * REAGENTS_METABOLISM
color = "#808080"
+ boiling_point = 184.67
+ molarity = 5
+ gas = GAS_NITROUS
taste_description = "sweetness"
pH = 5.8
-/datum/reagent/nitrous_oxide/reaction_obj(obj/O, reac_volume)
- if((!O) || (!reac_volume))
- return 0
- var/temp = holder ? holder.chem_temp : T20C
- O.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]")
-
-/datum/reagent/nitrous_oxide/reaction_turf(turf/open/T, reac_volume)
- if(istype(T))
- var/temp = holder ? holder.chem_temp : T20C
- T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]")
-
/datum/reagent/nitrous_oxide/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == VAPOR)
M.drowsyness += max(round(reac_volume, 1), 2)
@@ -1576,9 +1563,11 @@
name = "Stimulum"
description = "An unstable experimental gas that greatly increases the energy of those that inhale it"
reagent_state = GAS
+ gas = GAS_STIMULUM
metabolization_rate = 1.5 * REAGENTS_METABOLISM
chemical_flags = REAGENT_ALL_PROCESS
color = "E1A116"
+ boiling_point = 150
taste_description = "sourness"
value = REAGENT_VALUE_EXCEPTIONAL
@@ -1602,9 +1591,11 @@
name = "Nitryl"
description = "A highly reactive gas that makes you feel faster"
reagent_state = GAS
+ gas = GAS_NITRYL
metabolization_rate = REAGENTS_METABOLISM
- color = "90560B"
+ color = "#90560B"
taste_description = "burning"
+ boiling_point = 294.3
pH = 2
value = REAGENT_VALUE_VERY_RARE
@@ -1811,6 +1802,8 @@
reagent_state = LIQUID
color = "#b37740"
taste_description = "chemicals"
+ gas = GAS_BROMINE
+ boiling_point = 332
pH = 7.8
/datum/reagent/phenol
@@ -2482,6 +2475,7 @@
var/decal_path = /obj/effect/decal/cleanable/semen
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
+ ..()
if(!istype(T))
return
if(reac_volume < 10)
diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
index 94b83bdeca..f2157a619e 100644
--- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
@@ -47,6 +47,10 @@
metabolization_rate = 4
chemical_flags = REAGENT_ALL_PROCESS
taste_description = "burning"
+ /* no gaseous CLF3 until i can think of a good way to get it to burn that doesn't destroy matter in mysterious ways
+ boiling_point = 289.4
+ */
+ condensation_amount = 2
value = REAGENT_VALUE_COMMON
/datum/reagent/clf3/on_mob_life(mob/living/carbon/M)
@@ -84,6 +88,12 @@
if(!locate(/obj/effect/hotspot) in M.loc)
new /obj/effect/hotspot(M.loc)
+/datum/reagent/clf3/define_gas()
+ var/datum/gas/G = ..()
+ G.enthalpy = -163200
+ G.oxidation_temperature = T0C - 50
+ return G
+
/datum/reagent/sorium
name = "Sorium"
description = "Sends everything flying from the detonation point."
@@ -152,8 +162,17 @@
reagent_state = LIQUID
color = "#FA00AF"
taste_description = "burning"
+ boiling_point = T20C-10
value = REAGENT_VALUE_UNCOMMON
+/datum/reagent/phlogiston/define_gas()
+ var/datum/gas/G = ..()
+ G.enthalpy = FIRE_PLASMA_ENERGY_RELEASED / 100
+ G.fire_products = list(GAS_O2 = 0.25, GAS_METHANE = 0.75) // meanwhile this is just magic
+ G.fire_burn_rate = 1
+ G.fire_temperature = T20C+1
+ return G
+
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
M.adjust_fire_stacks(1)
var/burndmg = max(0.3*M.fire_stacks, 0.3)
@@ -288,6 +307,9 @@
taste_description = "the inside of a fire extinguisher"
value = REAGENT_VALUE_UNCOMMON
+/datum/reagent/firefighting_foam/define_gas()
+ return null
+
/datum/reagent/firefighting_foam/reaction_turf(turf/open/T, reac_volume)
if (!istype(T))
return
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 8744af7b28..aa871723a3 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -66,7 +66,7 @@
amount_per_transfer_from_this = possible_transfer_amounts[i+1]
else
amount_per_transfer_from_this = possible_transfer_amounts[1]
- to_chat(user, "[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
+ balloon_alert(user, "Transferring [amount_per_transfer_from_this]u")
return
/obj/item/reagent_containers/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm
index 7fc57ee3a7..85b5cdac51 100644
--- a/code/modules/recycling/disposal/bin.dm
+++ b/code/modules/recycling/disposal/bin.dm
@@ -465,7 +465,7 @@
/obj/machinery/disposal/bin/get_remote_view_fullscreens(mob/user)
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
- user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 2)
+ user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/scaled/impaired, 2)
//Delivery Chute
diff --git a/code/modules/research/anomaly/anomaly_core.dm b/code/modules/research/anomaly/anomaly_core.dm
index 7aeb7b3a9b..555647a82a 100644
--- a/code/modules/research/anomaly/anomaly_core.dm
+++ b/code/modules/research/anomaly/anomaly_core.dm
@@ -3,7 +3,7 @@
name = "anomaly core"
desc = "The neutralized core of an anomaly. It'd probably be valuable for research."
icon_state = "anomaly_core"
- //inhand_icon_state = "electronic"
+ //item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
resistance_flags = FIRE_PROOF
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 663cf1fdd7..cf17ec8545 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -213,7 +213,7 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-/datum/design/hypospray/mkii
+/datum/design/hypospray_mkii
name = "Hypospray Mk. II"
id = "hypospray_mkii"
build_type = PROTOLATHE
@@ -222,6 +222,15 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+/datum/design/nanogel
+ name = "Nanogel paste"
+ id = "nanogel"
+ build_type = PROTOLATHE | MECHFAB
+ materials = list(/datum/material/iron = 800, /datum/material/titanium = 500, /datum/material/gold = 100, /datum/material/diamond = 20)
+ build_path = /obj/item/stack/medical/nanogel/one
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
/datum/design/blood_bag
name = "Empty Blood Bag"
desc = "A small sterilized plastic bag for blood."
diff --git a/code/modules/research/techweb/nodes/robotics_nodes.dm b/code/modules/research/techweb/nodes/robotics_nodes.dm
index 6248cd99aa..ee4fbd261b 100644
--- a/code/modules/research/techweb/nodes/robotics_nodes.dm
+++ b/code/modules/research/techweb/nodes/robotics_nodes.dm
@@ -28,7 +28,7 @@
display_name = "Advanced Robotics Research"
description = "It can even do the dishes!"
prereq_ids = list("robotics")
- design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_upgrade_advcutter")
+ design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_upgrade_advcutter", "nanogel")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
/datum/techweb_node/neural_programming
diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
index c408ad096e..e51e4852e6 100644
--- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
@@ -495,7 +495,11 @@
/datum/status_effect/stabilized/orange/tick()
var/body_temperature_difference = BODYTEMP_NORMAL - owner.bodytemperature
- owner.adjust_bodytemperature(min(5,body_temperature_difference))
+ var/cooling_cap = -5
+ if(HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM))
+ cooling_cap *= 0.5 //Only cools by half as much (which is 5 per life tick since this ticks twice as much as life) so it isn't true spaceproofness..
+ body_temperature_difference += SYNTH_COLD_OFFSET //.. But also cools towards a cold temp, provided there is nothing that counters it.
+ owner.adjust_bodytemperature(clamp(body_temperature_difference, cooling_cap, 5))
return ..()
/datum/status_effect/stabilized/purple
diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
index 088683ccd2..d9dfdd8c19 100644
--- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
+++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
@@ -145,6 +145,8 @@
if(7)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/mask/cigarette/rollie(src)
+ else
+ return
/obj/structure/closet/crate/grave/open(mob/living/user, obj/item/S)
if(!opened)
diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
index 2401fc63a0..d6693fcca2 100644
--- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
+++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
@@ -12,14 +12,29 @@
max_integrity = 200
var/faction = list("ashwalker")
var/meat_counter = 6
+ var/datum/team/ashwalkers/ashies
+ var/datum/linked_objective
-/obj/structure/lavaland/ash_walker/Initialize()
+/obj/structure/lavaland/ash_walker/Initialize(mapload)
.=..()
+ ashies = new /datum/team/ashwalkers()
+ var/datum/objective/protect_object/objective = new
+ objective.set_target(src)
+ linked_objective = objective
+ ashies.objectives += objective
START_PROCESSING(SSprocessing, src)
+/obj/structure/lavaland/ash_walker/Destroy()
+ ashies.objectives -= linked_objective
+ ashies = null
+ QDEL_NULL(linked_objective)
+ STOP_PROCESSING(SSprocessing, src)
+ return ..()
+
/obj/structure/lavaland/ash_walker/deconstruct(disassembled)
new /obj/item/assembly/signaler/anomaly (get_step(loc, pick(GLOB.alldirs)))
new /obj/effect/collapse(loc)
+ return ..()
/obj/structure/lavaland/ash_walker/process()
consume()
@@ -28,20 +43,64 @@
/obj/structure/lavaland/ash_walker/proc/consume()
for(var/mob/living/H in view(src, 1)) //Only for corpse right next to/on same tile
if(H.stat)
- visible_message("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs.")
- playsound(get_turf(src),'sound/magic/demon_consume.ogg', 100, 1)
for(var/obj/item/W in H)
if(!H.dropItemToGround(W))
qdel(W)
+ if(issilicon(H)) //no advantage to sacrificing borgs...
+ H.gib()
+ visible_message(span_notice("Serrated tendrils eagerly pull [H] apart, but find nothing of interest."))
+ return
+
+ if(H.mind?.has_antag_datum(/datum/antagonist/ashwalker) && (H.key || H.get_ghost(FALSE, TRUE))) //special interactions for dead lava lizards with ghosts attached
+ visible_message(span_warning("Serrated tendrils carefully pull [H] to [src], absorbing the body and creating it anew."))
+ var/datum/mind/deadmind
+ if(H.key)
+ deadmind = H
+ else
+ deadmind = H.get_ghost(FALSE, TRUE)
+ to_chat(deadmind, "Your body has been returned to the nest. You are being remade anew, and will awaken shortly. Your memories will remain intact in your new body, as your soul is being salvaged")
+ SEND_SOUND(deadmind, sound('sound/magic/enter_blood.ogg',volume=100))
+ addtimer(CALLBACK(src, .proc/remake_walker, H.mind, H.real_name), 20 SECONDS)
+ new /obj/effect/gibspawner/generic(get_turf(H))
+ qdel(H)
+ return
+
if(ismegafauna(H))
meat_counter += 20
else
meat_counter++
+ visible_message(span_warning("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs."))
+ playsound(get_turf(src),'sound/magic/demon_consume.ogg', 100, TRUE)
+ var/deliverykey = H.fingerprintslast //key of whoever brought the body
+ var/mob/living/deliverymob = get_mob_by_key(deliverykey) //mob of said key
+ //there is a 40% chance that the Lava Lizard unlocks their respawn with each sacrifice
+ if(deliverymob && (deliverymob.mind?.has_antag_datum(/datum/antagonist/ashwalker)) && (deliverykey in ashies.players_spawned) && (prob(40)))
+ to_chat(deliverymob, span_warning("The Necropolis is pleased with your sacrifice. You feel confident your existence after death is secure."))
+ ashies.players_spawned -= deliverykey
H.gib()
obj_integrity = min(obj_integrity + max_integrity*0.05,max_integrity)//restores 5% hp of tendril
+ for(var/mob/living/L in view(src, 5))
+ if(L.mind?.has_antag_datum(/datum/antagonist/ashwalker))
+ SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "headspear", /datum/mood_event/sacrifice_good)
+ else
+ SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "headspear", /datum/mood_event/sacrifice_bad)
+
+/obj/structure/lavaland/ash_walker/proc/remake_walker(datum/mind/oldmind, oldname)
+ var/mob/living/carbon/human/M = new /mob/living/carbon/human(get_step(loc, pick(GLOB.alldirs)))
+ M.set_species(/datum/species/lizard/ashwalker)
+ M.real_name = oldname
+ M.underwear = "Nude"
+ M.undershirt = "Nude"
+ M.socks = "Nude"
+ M.update_body()
+ M.remove_language(/datum/language/common)
+ oldmind.transfer_to(M)
+ M.mind.grab_ghost()
+ to_chat(M, "You have been pulled back from beyond the grave, with a new body and renewed purpose. Glory to the Necropolis!")
+ playsound(get_turf(M),'sound/magic/exit_blood.ogg', 100, TRUE)
/obj/structure/lavaland/ash_walker/proc/spawn_mob()
if(meat_counter >= ASH_WALKER_SPAWN_THRESHOLD)
- new /obj/effect/mob_spawn/human/ash_walker(get_step(loc, pick(GLOB.alldirs)))
+ new /obj/effect/mob_spawn/human/ash_walker(get_step(loc, pick(GLOB.alldirs)), ashies)
visible_message("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!")
meat_counter -= ASH_WALKER_SPAWN_THRESHOLD
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index 7109c87999..4a03844a33 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -302,7 +302,7 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
user.reset_perspective(parentSphere)
user.set_machine(src)
var/datum/action/peepholeCancel/PHC = new
- user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1)
+ user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/scaled/impaired, 1)
PHC.Grant(user)
return TRUE
diff --git a/code/modules/shuttle/custom_shuttle.dm b/code/modules/shuttle/custom_shuttle.dm
index 8047e972db..e9a5ca4688 100644
--- a/code/modules/shuttle/custom_shuttle.dm
+++ b/code/modules/shuttle/custom_shuttle.dm
@@ -35,67 +35,63 @@
. = ..()
. += distance_multiplier < 1 ? "Bluespace shortcut module installed. Route is [distance_multiplier]x the original length." : ""
-/obj/machinery/computer/custom_shuttle/ui_interact(mob/user)
+/obj/machinery/computer/custom_shuttle/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "CustomShuttleConsole", name)
+ ui.open()
+
+/obj/machinery/computer/custom_shuttle/ui_data(mob/user)
+ var/list/data = list()
var/list/options = params2list(possible_destinations)
var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId)
- var/dat = "[M ? "Current Location : [M.getStatusText()]" : "Shuttle link required."]
")
- popup.open()
-
-/obj/machinery/computer/custom_shuttle/Topic(href, href_list)
- if(..())
+/obj/machinery/computer/custom_shuttle/ui_act(action, params)
+ . = ..()
+ if(.)
return
- usr.set_machine(src)
- src.add_fingerprint(usr)
if(!allowed(usr))
to_chat(usr, "Access denied.")
return
- if(href_list["calculate"])
- calculateStats()
- ui_interact(usr)
- return
var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId)
if(!M)
+ to_chat(usr, "Shuttle Link Required.")
return
if(M.launch_status == ENDGAME_LAUNCHED)
return
- if(href_list["setloc"])
- SetTargetLocation(href_list["setloc"])
- ui_interact(usr)
- return
- else if(href_list["fly"])
- Fly()
- ui_interact(usr)
- return
+
+ switch(action)
+ if("setloc")
+ SetTargetLocation(params["setloc"])
+ if("fly")
+ Fly()
+ return
/obj/machinery/computer/custom_shuttle/proc/calculateDistance(var/obj/docking_port/stationary/port)
var/deltaX = port.x - x
diff --git a/code/modules/shuttle/docking.dm b/code/modules/shuttle/docking.dm
index 5c96bca07c..103e331039 100644
--- a/code/modules/shuttle/docking.dm
+++ b/code/modules/shuttle/docking.dm
@@ -162,7 +162,7 @@
for(var/i in 1 to areas_to_move.len)
CHECK_TICK
var/area/internal_area = areas_to_move[i]
- internal_area.afterShuttleMove(new_parallax_dir) //areas
+ internal_area.afterShuttleMove(new_parallax_dir, parallax_speed) //areas
for(var/i in 1 to old_turfs.len)
CHECK_TICK
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index cc37fbbcc4..2a15558e64 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -461,11 +461,11 @@
for(var/area/shuttle/escape/E in GLOB.sortedAreas)
areas += E
hyperspace_sound(HYPERSPACE_END, areas)
- if(time_left <= PARALLAX_LOOP_TIME)
+ if(time_left <= parallax_speed)
var/area_parallax = FALSE
for(var/place in shuttle_areas)
var/area/shuttle/shuttle_area = place
- if(shuttle_area.parallax_movedir)
+ if(shuttle_area.parallax_moving)
area_parallax = TRUE
break
if(area_parallax)
diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm
index a215b58b55..029d50585a 100644
--- a/code/modules/shuttle/navigation_computer.dm
+++ b/code/modules/shuttle/navigation_computer.dm
@@ -356,7 +356,7 @@
playsound(console, 'sound/machines/terminal_prompt_confirm.ogg', 25, 0)
remote_eye.setLoc(T)
to_chat(target, "Jumped to [selected]")
- C.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/static)
+ C.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/tiled/flash/static)
C.clear_fullscreen("flash", 3)
else
playsound(console, 'sound/machines/terminal_prompt_deny.ogg', 25, 0)
diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm
index 8c1b3fa955..ceb9b7adea 100644
--- a/code/modules/shuttle/on_move.dm
+++ b/code/modules/shuttle/on_move.dm
@@ -117,8 +117,6 @@ All ShuttleMove procs go here
if(rotation)
shuttleRotate(rotation)
- update_parallax_contents()
-
return TRUE
/atom/movable/proc/lateShuttleMove(turf/oldT, list/movement_force, move_dir)
@@ -153,16 +151,21 @@ All ShuttleMove procs go here
//The old turf has now been given back to the area that turf originaly belonged to
var/area/old_dest_area = newT.loc
- parallax_movedir = old_dest_area.parallax_movedir
-
+ parallax_moving = old_dest_area.parallax_moving
+ parallax_move_angle = old_dest_area.parallax_move_angle
+ parallax_move_speed = old_dest_area.parallax_move_speed
old_dest_area.contents -= newT
contents += newT
newT.change_area(old_dest_area, src)
return TRUE
// Called on areas after everything has been moved
-/area/proc/afterShuttleMove(new_parallax_dir)
- parallax_movedir = new_parallax_dir
+/area/proc/afterShuttleMove(new_parallax_dir, speed)
+ if(!new_parallax_dir)
+ parallax_moving = FALSE
+ return
+ parallax_move_angle = dir2angle(new_parallax_dir)
+ parallax_move_speed = speed
return TRUE
/area/proc/lateShuttleMove()
@@ -309,6 +312,7 @@ All ShuttleMove procs go here
if(buckled)
shake_force *= 0.25
shake_camera(src, shake_force, 1)
+ client?.parallax_holder?.Reset(auto_z_change = FALSE, force = TRUE)
/mob/living/lateShuttleMove(turf/oldT, list/movement_force, move_dir)
if(buckled)
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index 0eb7f6ee20..d3e52410d6 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -367,6 +367,9 @@
var/can_move_docking_ports = FALSE
var/list/hidden_turfs = list()
+ /// parallax speed in seconds per loop
+ var/parallax_speed = 25
+
/obj/docking_port/mobile/register(replace = FALSE)
. = ..()
if(!id)
@@ -709,27 +712,24 @@
create_ripples(destination, tl)
var/obj/docking_port/stationary/S0 = get_docked()
- if(istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= PARALLAX_LOOP_TIME)
+ if(istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= parallax_speed)
+ var/parallax_ongoing = FALSE
for(var/place in shuttle_areas)
var/area/shuttle/shuttle_area = place
- if(shuttle_area.parallax_movedir)
- parallax_slowdown()
+ if(shuttle_area.parallax_moving)
+ parallax_ongoing = TRUE
+ if(parallax_ongoing)
+ parallax_slowdown()
/obj/docking_port/mobile/proc/parallax_slowdown()
- for(var/place in shuttle_areas)
- var/area/shuttle/shuttle_area = place
- shuttle_area.parallax_movedir = FALSE
- if(assigned_transit?.assigned_area)
- assigned_transit.assigned_area.parallax_movedir = FALSE
- var/list/L0 = return_ordered_turfs(x, y, z, dir)
- for (var/thing in L0)
- var/turf/T = thing
- if(!T || !istype(T.loc, area_type))
- continue
- for (var/thing2 in T)
- var/atom/movable/AM = thing2
- if (length(AM.client_mobs_in_contents))
- AM.update_parallax_contents()
+ for(var/mob/M in GLOB.player_list)
+ var/area/A = get_area(M)
+ if(A in shuttle_areas)
+ M.client?.parallax_holder?.StopScrolling(A.parallax_move_angle, parallax_speed)
+ for(var/area/shuttle_area in shuttle_areas + assigned_transit?.assigned_area)
+ shuttle_area.parallax_moving = FALSE
+ shuttle_area.parallax_move_speed = 0
+ shuttle_area.parallax_move_angle = 0
/obj/docking_port/mobile/proc/check_transit_zone()
if(assigned_transit)
diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm
index 4a52e446bc..b3b3b4aa1d 100644
--- a/code/modules/surgery/advanced/lobotomy.dm
+++ b/code/modules/surgery/advanced/lobotomy.dm
@@ -41,13 +41,14 @@
target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY)
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
- switch(rand(1,6))//Now let's see what hopefully-not-important part of the brain we cut off
- if(1)
- target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_SURGERY)
- if(2)
- target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_SURGERY)
- if(3)
- target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_SURGERY)
+ if(prob(50))
+ switch(rand(1,3))//Now let's see what hopefully-not-important part of the brain we cut off
+ if(1)
+ target.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_SURGERY)
+ if(2)
+ target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_SURGERY)
+ if(3)
+ target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_SURGERY)
// you're cutting off a part of the brain.w
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
B.applyOrganDamage(50, 100)
diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm
index 3787d4e781..80b7599ec3 100644
--- a/code/modules/surgery/organs/ears.dm
+++ b/code/modules/surgery/organs/ears.dm
@@ -148,14 +148,14 @@
return
to_chat(owner, "Alert: Auditory systems corrupted!.")
switch(severity)
- if(1)
- owner.Jitter(30)
- owner.Dizzy(30)
- owner.DefaultCombatKnockdown(80)
- deaf = 30
-
- if(2)
+ if(1 to 50)
owner.Jitter(15)
owner.Dizzy(15)
owner.DefaultCombatKnockdown(40)
+
+ if(50 to INFINITY)
+ owner.Jitter(30)
+ owner.Dizzy(30)
+ owner.DefaultCombatKnockdown(80)
+ deaf = max(deaf, 30)
damage += 0.15 * severity
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index 9861a1b639..06865a0f39 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -41,7 +41,7 @@
return
switch(eye_damaged)
if(BLURRY_VISION_ONE, BLURRY_VISION_TWO)
- owner.overlay_fullscreen("eye_damage", /atom/movable/screen/fullscreen/impaired, eye_damaged)
+ owner.overlay_fullscreen("eye_damage", /atom/movable/screen/fullscreen/scaled/impaired, eye_damaged)
if(BLIND_VISION_THREE)
owner.become_blind(EYE_DAMAGE)
if(ishuman(owner))
@@ -106,7 +106,7 @@
else if(eye_damaged == BLIND_VISION_THREE)
owner.become_blind(EYE_DAMAGE)
if(eye_damaged && eye_damaged != BLIND_VISION_THREE)
- owner.overlay_fullscreen("eye_damage", /atom/movable/screen/fullscreen/impaired, eye_damaged)
+ owner.overlay_fullscreen("eye_damage", /atom/movable/screen/fullscreen/scaled/impaired, eye_damaged)
else
owner.clear_fullscreen("eye_damage")
diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm
index 2b212bd224..f6265969e7 100644
--- a/code/modules/surgery/organs/lungs.dm
+++ b/code/modules/surgery/organs/lungs.dm
@@ -248,7 +248,7 @@
for(var/gas in breath.get_gases())
if(gas in breath_reagents)
var/datum/reagent/R = breath_reagents[gas]
- H.reagents.add_reagent(R, PP(breath,gas))
+ H.reagents.add_reagent(R, breath.get_moles(gas) * initial(R.molarity))
mole_adjustments[gas] = (gas in mole_adjustments) ? mole_adjustments[gas] - breath.get_moles(gas) : -breath.get_moles(gas)
for(var/gas in mole_adjustments)
@@ -415,7 +415,7 @@
if(!.)
return
if(!failed && organ_flags & ORGAN_FAILING)
- if(owner && owner.stat == CONSCIOUS)
+ if(owner && owner.stat == CONSCIOUS && !HAS_TRAIT(owner, TRAIT_NOBREATH))
owner.visible_message("[owner] grabs [owner.p_their()] throat, struggling for breath!", \
"You suddenly feel like you can't breathe!")
failed = TRUE
@@ -425,6 +425,10 @@
/obj/item/organ/lungs/ipc
name = "ipc cooling system"
icon_state = "lungs-c"
+ var/is_cooling = 0
+ var/cooling_coolant_drain = 5 //Coolant (blood) use per tick of active cooling.
+ var/next_warn = BLOOD_VOLUME_NORMAL
+ actions_types = list(/datum/action/item_action/organ_action/toggle)
/obj/item/organ/lungs/ipc/emp_act(severity) //Should probably put it somewhere else later
. = ..()
@@ -432,11 +436,65 @@
return
to_chat(owner, "Alert: Critical cooling system failure!")
switch(severity)
- if(1)
- owner.adjust_bodytemperature(100*TEMPERATURE_DAMAGE_COEFFICIENT)
- if(2)
+ if(1 to 50)
owner.adjust_bodytemperature(30*TEMPERATURE_DAMAGE_COEFFICIENT)
+ if(50 to INFINITY)
+ owner.adjust_bodytemperature(100*TEMPERATURE_DAMAGE_COEFFICIENT)
+
+/obj/item/organ/lungs/ipc/ui_action_click(mob/user, actiontype)
+ if(!owner)
+ return
+ if(!HAS_TRAIT(user, TRAIT_ROBOTIC_ORGANISM))
+ to_chat(user, "Biotype incompatible with cooling system. Activation signal suppressed.")
+ return
+ if(!is_cooling && owner.blood_volume < cooling_coolant_drain)
+ to_chat(user, "Coolant levels insufficient to enable active cooling - Replenish immediately.")
+ return
+ is_cooling = !is_cooling
+ to_chat(user, "Active cooling [is_cooling ? "enabled" : "disabled"] - current coolant level: [round(owner.blood_volume / BLOOD_VOLUME_NORMAL * 100, 0.1)] percent.")
+ var/possible_next_warn = owner.blood_volume - (BLOOD_VOLUME_NORMAL * 0.1)
+ if(possible_next_warn > next_warn)
+ next_warn = possible_next_warn //If we recovered blood inbetween activations, update warning
+
+/obj/item/organ/lungs/ipc/on_life(seconds, times_fired)
+ . = ..()
+ if(!.)
+ if(is_cooling)
+ to_chat(owner, "Cooling system safeguards triggered - active cooling aborted.")
+ is_cooling = 0
+ return
+ if(!is_cooling)
+ return
+ if(!HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM))
+ to_chat(owner, "Biotype incompatible with cooling system. Commencing emergency shutdown.")
+ is_cooling = 0
+ return
+ if(owner.stat >= SOFT_CRIT)
+ to_chat(owner, "Operating system ping returned null response - Shutting down active cooling to avoid component damage.")
+ is_cooling = 0
+ return
+ if(owner.blood_volume < cooling_coolant_drain)
+ to_chat(owner, "Coolant levels insufficient to maintain active cooling - Replenish immediately.")
+ is_cooling = 0
+ return
+ if(abs(owner.bodytemperature - T20C) < SYNTH_ACTIVE_COOLING_TEMP_BOUNDARY)
+ return //Does not drain coolant (blood) nor do anything if we are close enough to room temp.
+ var/cooling_efficiency = owner.get_cooling_efficiency()
+ var/actual_drain = cooling_coolant_drain * max(1 - cooling_efficiency, 0.2) //Being in a suitable environment reduces drain by up to 80%
+ var/temp_diff = owner.bodytemperature - T20C
+ if(temp_diff > 0)
+ owner.adjust_bodytemperature(clamp(((T0C - owner.bodytemperature) * max(cooling_efficiency, 0.5) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX, -SYNTH_ACTIVE_COOLING_MIN_ADJUSTMENT))
+ else
+ owner.adjust_bodytemperature(clamp(((T20C - owner.bodytemperature) * max(cooling_efficiency, 0.5) / BODYTEMP_HEAT_DIVISOR), SYNTH_ACTIVE_COOLING_MIN_ADJUSTMENT, BODYTEMP_HEATING_MAX))
+ var/datum/gas_mixture/air = owner.loc.return_air()
+ if(!air || air.return_pressure() < ONE_ATMOSPHERE * SYNTH_ACTIVE_COOLING_LOW_PRESSURE_THRESHOLD)
+ actual_drain *= SYNTH_ACTIVE_COOLING_LOW_PRESSURE_PENALTY //Our cooling system can handle hot places okayish, but starts to cry at low pressures (reads: Effectively vents hot coolant thats been warmed up via internal heat-exchange as emergency measure and with very low efficiency)
+ owner.blood_volume = max(owner.blood_volume - actual_drain, 0)
+ if(owner.blood_volume <= next_warn)
+ to_chat(owner, "[owner.blood_volume > BLOOD_VOLUME_BAD ? "" : ""]Coolant level passed threshold - now [round(owner.blood_volume / BLOOD_VOLUME_NORMAL * 100, 0.1)] percent.")
+ next_warn -= (BLOOD_VOLUME_NORMAL * 0.1)
+
/obj/item/organ/lungs/plasmaman
name = "plasma filter"
desc = "A spongy rib-shaped mass for filtering plasma from the air."
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index de8e3d623d..a3c6ea06c8 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -249,7 +249,7 @@
var/breathes = TRUE
var/blooded = TRUE
if(dna && dna.species)
- if(HAS_TRAIT_FROM(src, TRAIT_NOBREATH, SPECIES_TRAIT))
+ if(!HAS_TRAIT_FROM(src, TRAIT_AUXILIARY_LUNGS, SPECIES_TRAIT) && HAS_TRAIT_FROM(src, TRAIT_NOBREATH, SPECIES_TRAIT))
breathes = FALSE
if(NOBLOOD in dna.species.species_traits)
blooded = FALSE
diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm
index f436b31513..f7b84eab20 100644
--- a/code/modules/surgery/organs/stomach.dm
+++ b/code/modules/surgery/organs/stomach.dm
@@ -136,11 +136,11 @@
if(!owner || . & EMP_PROTECT_SELF)
return
switch(severity)
- if(1)
- owner.nutrition = min(owner.nutrition - 50, 0)
+ if(1 to 50)
+ owner.nutrition = max(owner.nutrition - 50, 0)
to_chat(owner, "Alert: Detected severe battery discharge!")
- if(2)
- owner.nutrition = min(owner.nutrition - 100, 0)
+ if(50 to INFINITY)
+ owner.nutrition = max(owner.nutrition - 100, 0)
to_chat(owner, "Alert: Minor battery discharge!")
/obj/item/organ/stomach/ethereal
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index 833fd5bc94..0ba265c36c 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -27,6 +27,7 @@
/datum/language/dwarf,
/datum/language/signlanguage,
/datum/language/neokanji,
+ /datum/language/sylvan,
))
healing_factor = STANDARD_ORGAN_HEALING*5 //Fast!!
decay_factor = STANDARD_ORGAN_DECAY/2
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index 5c7b71b779..1d2286214d 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -295,7 +295,7 @@
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
hitsound = 'sound/weapons/circsawhit.ogg'
- throwhitsound = 'sound/weapons/pierce.ogg'
+ mob_throw_hit_sound = 'sound/weapons/pierce.ogg'
item_flags = SURGICAL_TOOL
flags_1 = CONDUCT_1
force = 15
@@ -327,7 +327,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "saw"
hitsound = 'sound/weapons/circsawhit.ogg'
- throwhitsound = 'sound/weapons/pierce.ogg'
+ mob_throw_hit_sound = 'sound/weapons/pierce.ogg'
flags_1 = CONDUCT_1
force = 10
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/modules/tgchat/to_chat.dm b/code/modules/tgchat/to_chat.dm
index 3030ec7fe9..c0e27a2ba3 100644
--- a/code/modules/tgchat/to_chat.dm
+++ b/code/modules/tgchat/to_chat.dm
@@ -7,18 +7,28 @@
* Circumvents the message queue and sends the message
* to the recipient (target) as soon as possible.
*/
-/proc/to_chat_immediate(target, html,
- type = null,
- text = null,
- avoid_highlighting = FALSE,
- // FIXME: These flags are now pointless and have no effect
- handle_whitespace = TRUE,
- trailing_newline = TRUE,
- confidential = FALSE)
- if(!target || (!html && !text))
+/proc/to_chat_immediate(
+ target,
+ html,
+ type = null,
+ text = null,
+ avoid_highlighting = FALSE,
+ // FIXME: These flags are now pointless and have no effect
+ handle_whitespace = TRUE,
+ trailing_newline = TRUE,
+ confidential = FALSE
+)
+ // Useful where the integer 0 is the entire message. Use case is enabling to_chat(target, some_boolean) while preventing to_chat(target, "")
+ html = "[html]"
+ text = "[text]"
+
+ if(!target)
return
+ if(!html && !text)
+ CRASH("Empty or null string in to_chat proc call.")
if(target == world)
target = GLOB.clients
+
// Build a message
var/message = list()
if(type) message["type"] = type
@@ -53,21 +63,32 @@
* html = "You have found [object]")
* ```
*/
-/proc/to_chat(target, html,
- type = null,
- text = null,
- avoid_highlighting = FALSE,
- // FIXME: These flags are now pointless and have no effect
- handle_whitespace = TRUE,
- trailing_newline = TRUE,
- confidential = FALSE)
- if(Master.current_runlevel == RUNLEVEL_INIT || !SSchat?.initialized)
- to_chat_immediate(target, html, type, text)
+/proc/to_chat(
+ target,
+ html,
+ type = null,
+ text = null,
+ avoid_highlighting = FALSE,
+ // FIXME: These flags are now pointless and have no effect
+ handle_whitespace = TRUE,
+ trailing_newline = TRUE,
+ confidential = FALSE
+)
+ if(isnull(Master) || Master.current_runlevel == RUNLEVEL_INIT || !SSchat?.initialized)
+ to_chat_immediate(target, html, type, text, avoid_highlighting)
return
- if(!target || (!html && !text))
+
+ // Useful where the integer 0 is the entire message. Use case is enabling to_chat(target, some_boolean) while preventing to_chat(target, "")
+ html = "[html]"
+ text = "[text]"
+
+ if(!target)
return
+ if(!html && !text)
+ CRASH("Empty or null string in to_chat proc call.")
if(target == world)
target = GLOB.clients
+
// Build a message
var/message = list()
if(type) message["type"] = type
diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm
index d858c2d6bf..69888bd641 100644
--- a/code/modules/tgui/external.dm
+++ b/code/modules/tgui/external.dm
@@ -75,6 +75,7 @@
*/
/datum/proc/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
SHOULD_CALL_PARENT(TRUE)
+ SEND_SIGNAL(src, COMSIG_UI_ACT, usr, action)
// If UI is not interactive or usr calling Topic is not the UI user, bail.
if(!ui || ui.status != UI_INTERACTIVE)
return TRUE
diff --git a/code/modules/tgui/status_composers.dm b/code/modules/tgui/status_composers.dm
new file mode 100644
index 0000000000..5a8ef843d7
--- /dev/null
+++ b/code/modules/tgui/status_composers.dm
@@ -0,0 +1,111 @@
+/// The sane defaults for a UI such as a computer or a machine.
+/proc/default_ui_state(mob/user, atom/source)
+ return min(
+ ui_status_user_is_abled(user, source),
+ ui_status_user_has_free_hands(user, source),
+ ui_status_user_is_advanced_tool_user(user),
+ ui_status_only_living(user),
+ max(
+ ui_status_user_is_adjacent(user, source),
+ ui_status_silicon_has_access(user, source),
+ )
+ )
+
+/// Returns a UI status such that users adjacent to source will be able to interact,
+/// far away users will be able to see, and anyone farther won't see anything.
+/// Dead users will receive updates no matter what, though you likely want to add
+/// a [`ui_status_only_living`] check for finer observer interactions.
+/proc/ui_status_user_is_adjacent(mob/user, atom/source)
+ if (isliving(user))
+ var/mob/living/living_user = user
+ return living_user.shared_living_ui_distance(source)
+ else
+ return UI_UPDATE
+
+/// Returns a UI status such that the dead will be able to watch, but not interact.
+/proc/ui_status_only_living(mob/user, source)
+ if (isliving(user))
+ return UI_INTERACTIVE
+
+ if(isobserver(user))
+ // If they turn on ghost AI control, admins can always interact.
+ if(IsAdminGhost(user))
+ return UI_INTERACTIVE
+
+ // Regular ghosts can always at least view if in range.
+ var/datum/client_interface/client = GET_CLIENT(user)
+ if(client)
+ var/clientviewlist = getviewsize(client.view)
+ if(get_dist(source, user) < max(clientviewlist[1], clientviewlist[2]))
+ return UI_UPDATE
+
+ return UI_CLOSE
+
+/// Returns a UI status such that users with debilitating conditions, such as
+/// being dead or not having power for silicons, will not be able to interact.
+/// Being dead will disable UI, being incapacitated will continue updating it,
+/// and anything else will make it interactive.
+/proc/ui_status_user_is_abled(mob/user, atom/source)
+ return user.shared_ui_interaction(source)
+
+/// Returns a UI status such that those without blocked hands will be able to interact,
+/// but everyone else can only watch.
+/proc/ui_status_user_has_free_hands(mob/user, atom/source)
+ return (!user.restrained(TRUE) && user.get_num_arms() && user.get_empty_held_indexes()) ? UI_UPDATE : UI_INTERACTIVE
+/// Returns a UI status such that advanced tool users will be able to interact,
+/// but everyone else can only watch.
+/proc/ui_status_user_is_advanced_tool_user(mob/user)
+ return user.IsAdvancedToolUser() ? UI_INTERACTIVE : UI_UPDATE
+
+/// Returns a UI status such that silicons will be able to interact with whatever
+/// they would have access to if this was a machine. For example, AIs can
+/// interact if there's cameras with wireless control is enabled.
+/proc/ui_status_silicon_has_access(mob/user, atom/source)
+ if (!issilicon(user))
+ return UI_CLOSE
+ var/mob/living/silicon/silicon_user = user
+ return silicon_user.get_ui_access(source)
+
+/// Returns a UI status representing this silicon's capability to access
+/// the given source. Called by `ui_status_silicon_has_access`.
+/mob/living/silicon/proc/get_ui_access(atom/source)
+ return UI_CLOSE
+
+/mob/living/silicon/robot/get_ui_access(atom/source)
+ // Robots can interact with anything they can see.
+ var/list/clientviewlist = getviewsize(client.view)
+ if(get_dist(src, source) <= min(clientviewlist[1],clientviewlist[2]))
+ return UI_INTERACTIVE
+ return UI_DISABLED // Otherwise they can keep the UI open.
+
+/mob/living/silicon/ai/get_ui_access(atom/source)
+ // The AI can interact with anything it can see nearby, or with cameras while wireless control is enabled.
+ if(!control_disabled && can_see(source))
+ return UI_INTERACTIVE
+ return UI_CLOSE
+
+/mob/living/silicon/pai/get_ui_access(atom/source)
+ // pAIs can only use themselves and the owner's radio.
+ if((source == src || source == radio) && !stat)
+ return UI_INTERACTIVE
+ else
+ return UI_CLOSE
+
+/// Returns UI_INTERACTIVE if the user is conscious and lying down.
+/// Returns UI_UPDATE otherwise.
+/proc/ui_status_user_is_conscious_and_lying_down(mob/user)
+ if (!isliving(user))
+ return UI_UPDATE
+
+ var/mob/living/living_user = user
+ return (living_user.lying && living_user.stat == CONSCIOUS) \
+ ? UI_INTERACTIVE \
+ : UI_UPDATE
+
+/// Return UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not.
+/// Return UI_CLOSE otherwise.
+/proc/ui_status_user_strictly_adjacent(mob/user, atom/target)
+ if(get_dist(target, user) > 1)
+ return UI_CLOSE
+
+ return UI_INTERACTIVE
diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm
index c739d69d0b..943e0070a5 100644
--- a/code/modules/tgui/tgui.dm
+++ b/code/modules/tgui/tgui.dm
@@ -92,7 +92,6 @@
window.initialize(
fancy = user.client.prefs.tgui_fancy,
inline_assets = list(
- get_asset_datum(/datum/asset/simple/tgui_common),
get_asset_datum(/datum/asset/simple/tgui),
))
else
@@ -300,7 +299,6 @@
process_status()
if(src_object.ui_act(act_type, payload, src, state))
SStgui.update_uis(src_object)
- usr?.client?.last_activity = world.time
return FALSE
switch(type)
if("ready")
diff --git a/code/modules/tgui_panel/external.dm b/code/modules/tgui_panel/external.dm
index 89973a925d..e5b3602e86 100644
--- a/code/modules/tgui_panel/external.dm
+++ b/code/modules/tgui_panel/external.dm
@@ -16,8 +16,8 @@
nuke_chat()
- // Failed to fix
- action = alert(src, "Did that work?", "", "Yes", "No, switch to old ui")
+ // Failed to fix, using tgalert as fallback
+ action = tgalert(src, "Did that work?", "", "Yes", "No, switch to old ui")
if (action == "No, switch to old ui")
winset(src, "output", "on-show=&is-disabled=0&is-visible=1")
winset(src, "browseroutput", "is-disabled=1;is-visible=0")
diff --git a/code/modules/tgui_panel/telemetry.dm b/code/modules/tgui_panel/telemetry.dm
index e1abfb1e12..98ba1f14b8 100644
--- a/code/modules/tgui_panel/telemetry.dm
+++ b/code/modules/tgui_panel/telemetry.dm
@@ -78,3 +78,4 @@
var/msg = "[key_name(client)] has a banned account in connection history! (Matched: [found["ckey"]], [found["address"]], [found["computer_id"]])"
message_admins(msg)
log_admin_private(msg)
+ log_suspicious_login(msg, access_log_mirror = FALSE)
diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm
index 895333daee..7e2c8ac61f 100644
--- a/code/modules/tgui_panel/tgui_panel.dm
+++ b/code/modules/tgui_panel/tgui_panel.dm
@@ -43,7 +43,6 @@
initialized_at = world.time
// Perform a clean initialization
window.initialize(inline_assets = list(
- get_asset_datum(/datum/asset/simple/tgui_common),
get_asset_datum(/datum/asset/simple/tgui_panel),
))
window.send_asset(get_asset_datum(/datum/asset/simple/namespaced/fontawesome))
diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm
index 725eca89db..82ce046540 100644
--- a/code/modules/tooltip/tooltip.dm
+++ b/code/modules/tooltip/tooltip.dm
@@ -119,42 +119,34 @@ Notes:
//Includes sanity checks.
/proc/closeToolTip(mob/user)
if(istype(user))
- if(user.client)
- var/client/client = user.client
- if(client.tooltips)
- client.tooltips.hide()
- deltimer(client.tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
- client.tip_timer = null
+ if(user.client && user.client.tooltips)
+ user.client.tooltips.hide()
+ deltimer(user.client.tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
+ user.client.tip_timer = null
/**
- * # `get_tooltip_data()`
- *
* If set, will return a list for the tooltip (that will also be put together in a `Join()`)
* However, if returning `null`, the tooltip will not be shown as #14942 changed it.
*
* Though no tooltips will be created for atoms that have `tooltips = FALSE`
*/
/atom/movable/proc/get_tooltip_data()
- return
+ return list()
/atom/movable/MouseEntered(location, control, params)
. = ..()
if(tooltips)
- if(!QDELETED(src) && usr?.client.prefs.enable_tips)
+ if((get(src, /mob) == usr && !QDELETED(src)) && usr?.client.prefs.enable_tips)
var/list/tooltip_data = get_tooltip_data()
if(length(tooltip_data))
var/examine_data = tooltip_data.Join(" ")
- var/timedelay = max(usr.client.prefs.tip_delay * 0.01, 0.01) // I heard multiplying is faster, also runtimes from very low/negative numbers
- usr.client.tip_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/openToolTip, usr, src, params, name, examine_data), timedelay, TIMER_STOPPABLE)
+ var/timedelay = usr.client.prefs.tip_delay/100
+ usr.client.tip_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/openToolTip, usr, src, params, name, examine_data), timedelay, TIMER_STOPPABLE)//timer takes delay in deciseconds, but the pref is in milliseconds. dividing by 100 converts it.
+
+/obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params)
+ . = ..()
+ closeToolTip(usr)
/atom/movable/MouseExited(location, control, params)
. = ..()
closeToolTip(usr)
-
-/client/MouseDown(object, location, control, params)
- closeToolTip(usr)
- . = ..()
-
-/client
- /// Timers are now handled by clients, not by doing a mess on the item and multiple people overwriting a single timer on the object, have fun.
- var/tip_timer = null
diff --git a/code/modules/unit_tests/reactions.dm b/code/modules/unit_tests/reactions.dm
index 66d9b49099..c2b62f6fdc 100644
--- a/code/modules/unit_tests/reactions.dm
+++ b/code/modules/unit_tests/reactions.dm
@@ -1,6 +1,7 @@
/datum/unit_test/reactions/Run()
for(var/datum/gas_reaction/G in SSair.gas_reactions)
- var/test_info = G.test()
- if(!test_info["success"])
- var/message = test_info["message"]
- Fail("Gas reaction [G.name] is failing its unit test with the following message: [message]")
+ if(!G.exclude)
+ var/test_info = G.test()
+ if(!test_info["success"])
+ var/message = test_info["message"]
+ Fail("Gas reaction [G.name] is failing its unit test with the following message: [message]")
diff --git a/code/modules/uplink/uplink_devices.dm b/code/modules/uplink/uplink_devices.dm
index 9c09a7334a..9660718bb6 100644
--- a/code/modules/uplink/uplink_devices.dm
+++ b/code/modules/uplink/uplink_devices.dm
@@ -19,25 +19,46 @@
throw_range = 7
w_class = WEIGHT_CLASS_SMALL
+ /// The uplink flag for this type.
+ /// See [`code/__DEFINES/uplink.dm`]
+ var/uplink_flag = UPLINK_TRAITORS
+
/obj/item/uplink/Initialize(mapload, owner, tc_amount = 20)
. = ..()
- AddComponent(/datum/component/uplink, owner, FALSE, TRUE, null, tc_amount)
+ AddComponent(/datum/component/uplink, owner, FALSE, TRUE, uplink_flag, tc_amount)
-/obj/item/uplink/nuclear/Initialize()
+/obj/item/uplink/debug
+ name = "debug uplink"
+
+/obj/item/uplink/debug/Initialize(mapload, owner, tc_amount = 9000)
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
- hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
+ hidden_uplink.name = "debug uplink"
+ hidden_uplink.debug = TRUE
+
+/obj/item/uplink/nuclear
+ uplink_flag = UPLINK_NUKE_OPS
+
+/obj/item/uplink/nuclear/debug
+ name = "debug nuclear uplink"
+ uplink_flag = UPLINK_NUKE_OPS
+
+/obj/item/uplink/nuclear/debug/Initialize(mapload, owner, tc_amount = 9000)
+ . = ..()
+ var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
+ hidden_uplink.name = "debug nuclear uplink"
+ hidden_uplink.debug = TRUE
+
+/obj/item/uplink/nuclear_restricted
+ uplink_flag = UPLINK_NUKE_OPS
/obj/item/uplink/nuclear_restricted/Initialize()
. = ..()
var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
hidden_uplink.allow_restricted = FALSE
- hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
-/obj/item/uplink/clownop/Initialize()
- . = ..()
- var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
- hidden_uplink.set_gamemode(/datum/game_mode/nuclear/clown_ops)
+/obj/item/uplink/clownop
+ uplink_flag = UPLINK_CLOWN_OPS
/obj/item/uplink/old
name = "dusty radio"
@@ -51,28 +72,9 @@
// Multitool uplink
/obj/item/multitool/uplink/Initialize(mapload, owner, tc_amount = 20)
. = ..()
- AddComponent(/datum/component/uplink, owner, FALSE, TRUE, null, tc_amount)
+ AddComponent(/datum/component/uplink, owner, FALSE, TRUE, UPLINK_TRAITORS, tc_amount)
// Pen uplink
/obj/item/pen/uplink/Initialize(mapload, owner, tc_amount = 20)
. = ..()
- AddComponent(/datum/component/uplink, owner, TRUE, FALSE, null, tc_amount)
-
-/obj/item/uplink/debug
- name = "debug uplink"
-
-/obj/item/uplink/debug/Initialize(mapload, owner, tc_amount = 9000)
- . = ..()
- var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
- hidden_uplink.name = "debug uplink"
- hidden_uplink.debug = TRUE
-
-/obj/item/uplink/nuclear/debug
- name = "debug nuclear uplink"
-
-/obj/item/uplink/nuclear/debug/Initialize(mapload, owner, tc_amount = 9000)
- . = ..()
- var/datum/component/uplink/hidden_uplink = GetComponent(/datum/component/uplink)
- hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
- hidden_uplink.name = "debug nuclear uplink"
- hidden_uplink.debug = TRUE
+ AddComponent(/datum/component/uplink, owner, TRUE, FALSE, UPLINK_TRAITORS, tc_amount)
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index cc676777db..e33b675921 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -1,54 +1,76 @@
-/proc/get_uplink_items(datum/game_mode/gamemode, allow_sales = TRUE, allow_restricted = TRUE, other_filter = list())
- var/list/filtered_uplink_items = GLOB.uplink_categories.Copy() // list of uplink categories without associated values.
+GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
+
+/proc/get_uplink_items(uplink_flag, allow_sales = TRUE, allow_restricted = TRUE)
+ var/list/filtered_uplink_items = list()
var/list/sale_items = list()
for(var/path in GLOB.uplink_items)
var/datum/uplink_item/I = new path
- if(I.include_modes.len)
- if(!gamemode && SSticker.mode && !(SSticker.mode.type in I.include_modes))
- continue
- if(gamemode && !(gamemode in I.include_modes))
- continue
- if(I.exclude_modes.len)
- if(!gamemode && SSticker.mode && (SSticker.mode.type in I.exclude_modes))
- continue
- if(gamemode && (gamemode in I.exclude_modes))
- continue
+ if(!I.item)
+ continue
+ if (!(I.purchasable_from & uplink_flag))
+ continue
if(I.player_minimum && I.player_minimum > GLOB.joined_player_list.len)
continue
if (I.restricted && !allow_restricted)
continue
- if (I.type in other_filter)
- continue
- LAZYSET(filtered_uplink_items[I.category], I.name, I)
+ if(!filtered_uplink_items[I.category])
+ filtered_uplink_items[I.category] = list()
+ filtered_uplink_items[I.category][I.name] = I
if(I.limited_stock < 0 && !I.cant_discount && I.item && I.cost > 1)
sale_items += I
if(allow_sales)
- for(var/i in 1 to 3)
- var/datum/uplink_item/I = pick_n_take(sale_items)
- var/datum/uplink_item/A = new I.type
- var/discount = A.get_discount()
- var/list/disclaimer = list("Void where prohibited.", "Not recommended for children.", "Contains small parts.", "Check local laws for legality in region.", "Do not taunt.", "Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform.", "Keep away from fire or flames.", "Product is provided \"as is\" without any implied or expressed warranties.", "As seen on TV.", "For recreational use only.", "Use only as directed.", "16% sales tax will be charged for orders originating within Space Nebraska.")
- A.limited_stock = 1
- I.refundable = FALSE //THIS MAN USES ONE WEIRD TRICK TO GAIN FREE TC, CODERS HATES HIM!
- A.refundable = FALSE
- if(A.cost >= 20) //Tough love for nuke ops
- discount *= 0.5
- A.cost = max(round(A.cost * discount),1)
- A.category = "Discounted Gear"
- A.name += " ([round(((initial(A.cost)-A.cost)/initial(A.cost))*100)]% off!)"
- A.desc += " Normally costs [initial(A.cost)] TC. All sales final. [pick(disclaimer)]"
- A.item = I.item
+ var/datum/team/nuclear/nuclear_team
+ // if (uplink_flag & UPLINK_NUKE_OPS) // uplink code kind of needs a redesign
+ // nuclear_team = locate() in GLOB.antagonist_teams // the team discounts could be in a GLOB with this design but it would make sense for them to be team specific...
+ if (!nuclear_team)
+ create_uplink_sales(3, "Discounted Gear", 1, sale_items, filtered_uplink_items)
+ else
+ if (!nuclear_team.team_discounts)
+ // create 5 unlimited stock discounts
+ create_uplink_sales(5, "Discounted Team Gear", -1, sale_items, filtered_uplink_items)
+ // Create 10 limited stock discounts
+ create_uplink_sales(10, "Limited Stock Team Gear", 1, sale_items, filtered_uplink_items)
+ nuclear_team.team_discounts = list("Discounted Team Gear" = filtered_uplink_items["Discounted Team Gear"], "Limited Stock Team Gear" = filtered_uplink_items["Limited Stock Team Gear"])
+ else
+ for(var/cat in nuclear_team.team_discounts)
+ for(var/item in nuclear_team.team_discounts[cat])
+ var/datum/uplink_item/D = nuclear_team.team_discounts[cat][item]
+ var/datum/uplink_item/O = filtered_uplink_items[initial(D.category)][initial(D.name)]
+ O.refundable = FALSE
- LAZYSET(filtered_uplink_items[A.category], A.name, A)
+ filtered_uplink_items["Discounted Team Gear"] = nuclear_team.team_discounts["Discounted Team Gear"]
+ filtered_uplink_items["Limited Stock Team Gear"] = nuclear_team.team_discounts["Limited Stock Team Gear"]
- for(var/category in filtered_uplink_items)
- if(!filtered_uplink_items[category]) //empty categories with no associated uplink item. Remove.
- filtered_uplink_items -= category
return filtered_uplink_items
+/proc/create_uplink_sales(num, category_name, limited_stock, sale_items, uplink_items)
+ if (num <= 0)
+ return
+
+ if(!uplink_items[category_name])
+ uplink_items[category_name] = list()
+
+ for (var/i in 1 to num)
+ var/datum/uplink_item/I = pick_n_take(sale_items)
+ var/datum/uplink_item/A = new I.type
+ var/discount = A.get_discount()
+ var/list/disclaimer = list("Void where prohibited.", "Not recommended for children.", "Contains small parts.", "Check local laws for legality in region.", "Do not taunt.", "Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform.", "Keep away from fire or flames.", "Product is provided \"as is\" without any implied or expressed warranties.", "As seen on TV.", "For recreational use only.", "Use only as directed.", "16% sales tax will be charged for orders originating within Space Nebraska.")
+ A.limited_stock = limited_stock
+ I.refundable = FALSE //THIS MAN USES ONE WEIRD TRICK TO GAIN FREE TC, CODERS HATES HIM!
+ A.refundable = FALSE
+ if(A.cost >= 20) //Tough love for nuke ops
+ discount *= 0.5
+ A.category = category_name
+ A.cost = max(round(A.cost * discount),1)
+ A.name += " ([round(((initial(A.cost)-A.cost)/initial(A.cost))*100)]% off!)"
+ A.desc += " Normally costs [initial(A.cost)] TC. All sales final. [pick(disclaimer)]"
+ A.item = I.item
+
+ uplink_items[category_name][A.name] = A
+
/**
* Uplink Items
@@ -67,12 +89,14 @@
var/surplus = 100 // Chance of being included in the surplus crate.
var/cant_discount = FALSE
var/limited_stock = -1 //Setting this above zero limits how many times this item can be bought by the same traitor in a round, -1 is unlimited
- var/list/include_modes = list() // Game modes to allow this item in.
- var/list/exclude_modes = list() // Game modes to disallow this item from.
+ /// A bitfield to represent what uplinks can purchase this item.
+ /// See [`code/__DEFINES/uplink.dm`].
+ var/purchasable_from = ALL
var/list/restricted_roles = list() //If this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.
var/player_minimum //The minimum crew size needed for this item to be added to uplinks.
var/purchase_log_vis = TRUE // Visible in the purchase log?
var/restricted = FALSE // Adds restrictions for VR/Events
+ var/list/restricted_species //Limits items to a specific species. Hopefully.
var/illegal_tech = TRUE // Can this item be deconstructed to unlock certain techweb research nodes?
/datum/uplink_item/proc/get_discount()
@@ -80,6 +104,7 @@
/datum/uplink_item/proc/purchase(mob/user, datum/component/uplink/U)
var/atom/A = spawn_item(item, user, U)
+ // log_uplink("[key_name(user)] purchased [src] for [cost] telecrystals from [U.parent]'s uplink")
if(purchase_log_vis && U.purchase_log)
U.purchase_log.LogPurchase(A, src, cost)
@@ -94,70 +119,66 @@
if(ishuman(user) && istype(A, /obj/item))
var/mob/living/carbon/human/H = user
if(H.put_in_hands(A))
- to_chat(H, "[A] materializes into your hands!")
+ to_chat(H, span_boldnotice("[A] materializes into your hands!"))
return A
- to_chat(user, "[A] materializes onto the floor.")
+ to_chat(user, span_boldnotice("[A] materializes onto the floor!"))
return A
-/*
- Uplink Categories:
- Due to how the typesof() in-built byond proc works, it should be kept in mind
- the order categories are displayed in the uplink UI is same to the order they are loaded in the code.
- I trust no extra filter is needed as long as they are all contained within the following lines.
- When adding new uplink categories, please keep them separate from their sub paths here and without set item.
- Failure to comply may result in the new categories being listed at the bottom of the UI.
-*/
+//Discounts (dynamically filled above)
+/datum/uplink_item/discounts
+ category = "Discounts"
+// cit specific. idk
/datum/uplink_item/holiday
category = "Holiday"
-/datum/uplink_item/bundles_TC
- category = "Telecrystals and Bundles"
+//All bundles and telecrystals
+/datum/uplink_item/bundles_tc
+ category = "Bundles"
surplus = 0
cant_discount = TRUE
+// Dangerous Items
/datum/uplink_item/dangerous
category = "Conspicuous Weapons"
-/datum/uplink_item/stealthy_weapons
- category = "Stealthy Weapons"
-
-/datum/uplink_item/ammo
- category = "Ammunition"
- surplus = 40
-
-/datum/uplink_item/explosives
- category = "Explosives"
-
+//Support and Mechs
/datum/uplink_item/support
category = "Support and Exosuits"
surplus = 0
- include_modes = list(/datum/game_mode/nuclear)
-
-/datum/uplink_item/suits
- category = "Clothing"
- surplus = 40
+ purchasable_from = UPLINK_NUKE_OPS
+// Stealth Items
/datum/uplink_item/stealthy_tools
category = "Stealth Gadgets"
+//Space Suits and Hardsuits
+/datum/uplink_item/suits
+ category = "Space Suits"
+ surplus = 40
+
+// Devices and Tools
/datum/uplink_item/device_tools
category = "Misc. Gadgets"
+// Implants
/datum/uplink_item/implants
category = "Implants"
surplus = 50
+//Race-specific items
+/datum/uplink_item/race_restricted
+ category = "Species-Restricted"
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
+ surplus = 0
+
+// Role-specific items
/datum/uplink_item/role_restricted
category = "Role-Restricted"
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
surplus = 0
- cant_discount = TRUE
+// Pointless
/datum/uplink_item/badass
category = "(Pointless) Badassery"
surplus = 0
-
-//Discounts (dynamically filled above)
-/datum/uplink_item/discounts
- category = "Discounted Gear"
diff --git a/code/modules/uplink/uplink_items/uplink_ammo.dm b/code/modules/uplink/uplink_items/uplink_ammo.dm
index a7f3f5321d..a1c96d1082 100644
--- a/code/modules/uplink/uplink_items/uplink_ammo.dm
+++ b/code/modules/uplink/uplink_items/uplink_ammo.dm
@@ -12,7 +12,7 @@
desc = "Contains 10 additional .45-70 GOVT rounds. Caliber is exceedingly rare, and thus, comes at a premium."
item = /obj/item/ammo_box/g4570
cost = 5
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/pistol
name = "10mm Handgun Magazine"
@@ -20,7 +20,7 @@
are dirt cheap but are half as effective as .357 rounds."
item = /obj/item/ammo_box/magazine/m10mm
cost = 1
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistol/box
name = "Ammo Box - 10mm"
@@ -34,7 +34,7 @@
These rounds are less effective at injuring the target but penetrate protective gear."
item = /obj/item/ammo_box/magazine/m10mm/ap
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolap/box
name = "Ammo Box - 10mm Armour Piercing"
@@ -48,7 +48,7 @@
These rounds are more damaging but ineffective against armour."
item = /obj/item/ammo_box/magazine/m10mm/hp
cost = 3
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolhp/box
name = "Ammo Box - 10mm Hollow Point"
@@ -62,7 +62,7 @@
Loaded with incendiary rounds which inflict little damage, but ignite the target."
item = /obj/item/ammo_box/magazine/m10mm/fire
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/pistolfire/box
name = "Ammo Box - 10mm Incendiary"
@@ -85,7 +85,7 @@
/datum/uplink_item/ammo/shotgun
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/shotgun/bag
name = "12g Ammo Duffel Bag"
@@ -136,7 +136,7 @@
For when you really need a lot of things dead."
item = /obj/item/ammo_box/a357
cost = 3
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/revolver/ap
name = ".357 Armor Piercing Speed Loader"
@@ -150,25 +150,25 @@
Your teammates will ask you to not shoot these down small hallways."
item = /obj/item/ammo_casing/a40mm
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smg/bag
name = ".45 Ammo Duffel Bag"
desc = "A duffel bag filled with enough .45 ammo to supply an entire team, at a discounted price."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/smg
cost = 20 //instead of 27 TC
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/smg
name = ".45 SMG Magazine"
desc = "An additional 24-round .45 magazine suitable for use with the C-20r submachine gun."
item = /obj/item/ammo_box/magazine/smgm45
cost = 3
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/sniper
cost = 4
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/sniper/basic
name = ".50 Magazine"
@@ -194,7 +194,7 @@
These bullets pack less punch than 7.12x82mm rounds, but they still offer more power than .45 ammo."
item = /obj/item/ammo_box/magazine/m556
cost = 4
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/machinegun/match
name = "7.12x82mm (Match) Box Magazine"
@@ -206,7 +206,7 @@
/datum/uplink_item/ammo/machinegun
cost = 6
surplus = 0
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/machinegun/basic
name = "1.95x129mm Box Magazine"
@@ -234,7 +234,7 @@
item = /obj/item/ammo_box/magazine/mm195x129/incen
/datum/uplink_item/ammo/rocket
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/rocket/basic
name = "84mm HE Rocket"
@@ -254,7 +254,7 @@
desc = "An additional 15-round 9mm magazine, compatible with the Stechkin APS pistol, found in the Spetsnaz Pyro bundle."
item = /obj/item/ammo_box/magazine/pistolm9mm
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/pistolaps
name = "Ammo Box - 9mm"
@@ -268,7 +268,7 @@
Loaded with armor piercing flechettes that very nearly ignore armor, but are not very effective against flesh."
item = /obj/item/ammo_box/magazine/flechette
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/flechettes
name = "Serrated Flechette Magazine"
@@ -277,7 +277,7 @@
These flechettes are highly likely to sever arteries, and even limbs."
item = /obj/item/ammo_box/magazine/flechette/s
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/toydarts
name = "Box of Riot Darts"
@@ -293,32 +293,32 @@
and broca systems, making it impossible for them to move or speak for some time."
item = /obj/item/storage/box/syndie_kit/bioterror
cost = 6
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/ammo/bolt_action
name = "Surplus Rifle Clip"
desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds."
item = /obj/item/ammo_box/a762
cost = 1
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/bolt_action_bulk
name = "Surplus Rifle Clip Box"
desc = "An ammo box we found in a warehouse, holding 7 clips of 5 rounds for bolt-action rifles. Yes, the cheap ones."
item = /obj/item/storage/toolbox/ammo
cost = 4
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/dark_gygax/bag
name = "Dark Gygax Ammo Bag"
desc = "A duffel bag containing ammo for three full reloads of the incendiary carbine and flash bang launcher that are equipped on a standard Dark Gygax exosuit."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/dark_gygax
cost = 4
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/ammo/mauler/bag
name = "Mauler Ammo Bag"
desc = "A duffel bag containing ammo for three full reloads of the LMG, scattershot carbine, and SRM-8 missile laucher that are equipped on a standard Mauler exosuit."
item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mauler
cost = 6
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
diff --git a/code/modules/uplink/uplink_items/uplink_badass.dm b/code/modules/uplink/uplink_items/uplink_badass.dm
index ec0ebf66d1..23f7063c7e 100644
--- a/code/modules/uplink/uplink_items/uplink_badass.dm
+++ b/code/modules/uplink/uplink_items/uplink_badass.dm
@@ -14,9 +14,9 @@
item = /obj/item/storage/box/syndie_kit/chameleon/broken
/datum/uplink_item/badass/costumes
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
cost = 4
cant_discount = TRUE
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/badass/costumes/centcom_official
name = "CentCom Official Costume"
@@ -77,14 +77,14 @@
cost = 4
limited_stock = 1
cant_discount = TRUE
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/badass/gaming_cardpack
name = "TCG Card Operatives Bundle"
desc = "A bundle full of goodies required to work as a TCG Card Operative. A warm pajama, a mug of cocoa, a plushie and a two packs full of rare 2560 Core Set cards!"
item = /obj/item/storage/box/syndie_kit/sleepytime/cardpack
cost = 20
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/badass/cardpack
name = "TCG Nuclear Cardpack"
diff --git a/code/modules/uplink/uplink_items/uplink_bundles.dm b/code/modules/uplink/uplink_items/uplink_bundles.dm
index cf33c893ad..a7ff04abbc 100644
--- a/code/modules/uplink/uplink_items/uplink_bundles.dm
+++ b/code/modules/uplink/uplink_items/uplink_bundles.dm
@@ -7,30 +7,30 @@
When adding new entries to the file, please keep them sorted by category.
*/
-/datum/uplink_item/bundles_TC/chemical
+/datum/uplink_item/bundles_tc/chemical
name = "Bioterror bundle"
desc = "For the madman: Contains a handheld Bioterror chem sprayer, a Bioterror foam grenade, a box of lethal chemicals, a dart pistol, \
box of syringes, Donksoft assault rifle, and some riot darts. Remember: Seal suit and equip internals before use."
item = /obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle
cost = 30 // normally 42
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/bulldog
+/datum/uplink_item/bundles_tc/bulldog
name = "Bulldog bundle"
desc = "Lean and mean: Optimized for people that want to get up close and personal. Contains the popular \
Bulldog shotgun, a 12g buckshot drum, a 12g taser slug drum and a pair of Thermal imaging goggles."
item = /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle
cost = 13 // normally 16
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/c20r
+/datum/uplink_item/bundles_tc/c20r
name = "C-20r bundle"
desc = "Old Faithful: The classic C-20r, bundled with two magazines, and a (surplus) suppressor at discount price."
item = /obj/item/storage/backpack/duffelbag/syndie/c20rbundle
cost = 14 // normally 16
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/contract_kit
+/datum/uplink_item/bundles_tc/contract_kit
name = "Contract Kit"
desc = "The Syndicate have offered you the chance to become a contractor, take on kidnapping contracts for TC and cash payouts. Upon purchase, \
you'll be granted your own contract uplink embedded within the supplied tablet computer. Additionally, you'll be granted \
@@ -39,10 +39,10 @@
item = /obj/item/storage/box/syndie_kit/contract_kit
cost = 20
player_minimum = 25
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
restricted = TRUE
-/datum/uplink_item/bundles_TC/northstar_bundle
+/datum/uplink_item/bundles_tc/northstar_bundle
name = "Northstar Bundle"
desc = "An item usually reserved for the Gorlex Marauders and their operatives, now available for recreational use. \
These armbands let the user punch people very fast and with the lethality of a legendary martial artist. \
@@ -50,16 +50,16 @@
Combines with all martial arts, but the user will be unable to bring themselves to use guns, nor remove the armbands."
item = /obj/item/storage/box/syndie_kit/northstar
cost = 20
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
-/datum/uplink_item/bundles_TC/scarp_bundle
+/datum/uplink_item/bundles_tc/scarp_bundle
name = "Sleeping Carp Bundle"
desc = "Become one with your inner carp! Your ancient fish masters leave behind their legacy, and bestow to you their teachings, sacred uniform, and staff. \
Please be aware that you will not be able to use dishonerable ranged weapons."
item = /obj/item/storage/box/syndie_kit/scarp
cost = 20
player_minimum = 20
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/infiltrator_bundle
name = "Insidious Infiltration Gear Case"
@@ -69,86 +69,85 @@
item = /obj/item/storage/toolbox/infiltrator
cost = 5
limited_stock = 1 //you only get one so you don't end up with too many gun cases
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
-/datum/uplink_item/bundles_TC/cybernetics_bundle
+/datum/uplink_item/bundles_tc/cybernetics_bundle
name = "Cybernetic Implants Bundle"
desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. Comes with an autosurgeon."
item = /obj/item/storage/box/cyber_implants
cost = 40
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/medical
+/datum/uplink_item/bundles_tc/medical
name = "Medical bundle"
desc = "The support specialist: Aid your fellow operatives with this medical bundle. Contains a tactical medkit, \
a Donksoft LMG, a box of riot darts and a pair of magboots to rescue your friends in no-gravity environments."
item = /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
cost = 15 // normally 20
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/modular
+/datum/uplink_item/bundles_tc/modular
name = "Modular Pistol Kit"
desc = "A heavy briefcase containing one modular pistol (chambered in 10mm), one supressor, and spare ammunition, including a box of soporific ammo. \
Includes a suit jacket that is padded with a robust liner."
item = /obj/item/storage/briefcase/modularbundle
cost = 12
-/datum/uplink_item/bundles_TC/shredder
+/datum/uplink_item/bundles_tc/shredder
name = "Shredder bundle"
desc = "A truly horrific weapon designed simply to maim its victim, the CX Shredder is banned by several intergalactic treaties. \
You'll get two of them with this. And spare ammo to boot. And we'll throw in an extra elite hardsuit and chest rig to hold them all!"
item = /obj/item/storage/backpack/duffelbag/syndie/shredderbundle
cost = 30 // normally 41
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/sniper
+/datum/uplink_item/bundles_tc/sniper
name = "Sniper bundle"
desc = "Elegant and refined: Contains a collapsed sniper rifle in an expensive carrying case, \
two soporific knockout magazines, a free surplus supressor, and a sharp-looking tactical turtleneck suit. \
We'll throw in a free red tie if you order NOW."
item = /obj/item/storage/briefcase/sniperbundle
cost = 20 // normally 26
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/firestarter
+/datum/uplink_item/bundles_tc/firestarter
name = "Spetsnaz Pyro bundle"
desc = "For systematic suppression of carbon lifeforms in close quarters: Contains a lethal New Russian backpack spray, Elite hardsuit, \
Stechkin APS pistol, two magazines, a minibomb and a stimulant syringe. \
Order NOW and comrade Boris will throw in an extra tracksuit."
item = /obj/item/storage/backpack/duffelbag/syndie/firestarter
cost = 30
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
-/datum/uplink_item/bundles_TC/bundle
+/datum/uplink_item/bundles_tc/bundle
name = "Syndicate Bundle"
desc = "Syndicate Bundles are specialized groups of items that arrive in a plain box. \
These items are collectively worth more than 20 telecrystals, but you do not know which specialization \
you will receive. May contain discontinued and/or exotic items."
item = /obj/item/storage/box/syndicate
cost = 20
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~(UPLINK_NUKE_OPS)
cant_discount = TRUE
-/datum/uplink_item/bundles_TC/surplus
+/datum/uplink_item/bundles_tc/surplus
name = "Syndicate Surplus Crate"
desc = "A dusty crate from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \
but you never know. Contents are sorted to always be worth 50 TC."
item = /obj/structure/closet/crate
cost = 20
- player_minimum = 20
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
- cant_discount = TRUE
+ player_minimum = 25
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
var/starting_crate_value = 50
-/datum/uplink_item/bundles_TC/surplus/super
+/datum/uplink_item/bundles_tc/surplus/super
name = "Super Surplus Crate"
desc = "A dusty SUPER-SIZED from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \
but you never know. Contents are sorted to always be worth 125 TC."
cost = 40
- player_minimum = 30
+ player_minimum = 40
starting_crate_value = 125
-/datum/uplink_item/bundles_TC/surplus/purchase(mob/user, datum/component/uplink/U)
+/datum/uplink_item/bundles_tc/surplus/purchase(mob/user, datum/component/uplink/U)
var/list/uplink_items = get_uplink_items(SSticker && SSticker.mode? SSticker.mode : null, FALSE)
var/crate_value = starting_crate_value
@@ -170,7 +169,7 @@
U.purchase_log.LogPurchase(goods, I, 0)
return C
-/datum/uplink_item/bundles_TC/reroll
+/datum/uplink_item/bundles_tc/reroll
name = "Renegotiate Contract"
desc = "Selecting this will inform your employers that you wish for new objectives. Can only be done twice."
item = /obj/effect/gibspawner/generic
@@ -179,22 +178,21 @@
restricted = TRUE
limited_stock = 2
-/datum/uplink_item/bundles_TC/reroll/purchase(mob/user, datum/component/uplink/U)
+/datum/uplink_item/bundles_tc/reroll/purchase(mob/user, datum/component/uplink/U)
var/datum/antagonist/traitor/T = user?.mind?.has_antag_datum(/datum/antagonist/traitor)
if(istype(T))
T.set_traitor_kind(get_random_traitor_kind(blacklist = list(/datum/traitor_class/human/freeform, /datum/traitor_class/human/hijack, /datum/traitor_class/human/martyr)))
else
to_chat(user,"Invalid user for contract renegotiation.")
-/datum/uplink_item/bundles_TC/random
+/datum/uplink_item/bundles_tc/random
name = "Random Item"
desc = "Picking this will purchase a random item. Useful if you have some TC to spare or if you haven't decided on a strategy yet."
item = /obj/effect/gibspawner/generic // non-tangible item because techwebs use this path to determine illegal tech
cost = 0
cant_discount = TRUE
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
-/datum/uplink_item/bundles_TC/random/purchase(mob/user, datum/component/uplink/U)
+/datum/uplink_item/bundles_tc/random/purchase(mob/user, datum/component/uplink/U)
var/list/uplink_items = U.uplink_items
var/list/possible_items = list()
for(var/category in uplink_items)
@@ -202,7 +200,7 @@
var/datum/uplink_item/I = uplink_items[category][item]
if(src == I || !I.item)
continue
- if(istype(I, /datum/uplink_item/bundles_TC/reroll)) //oops!
+ if(istype(I, /datum/uplink_item/bundles_tc/reroll)) //oops!
continue
if(U.telecrystals < I.cost)
continue
@@ -215,7 +213,7 @@
SSblackbox.record_feedback("tally", "traitor_random_uplink_items_gotten", 1, initial(I.name))
U.MakePurchase(user, I)
-/datum/uplink_item/bundles_TC/telecrystal
+/datum/uplink_item/bundles_tc/telecrystal
name = "1 Raw Telecrystal"
desc = "A telecrystal in its rawest and purest form; can be utilized on active uplinks to increase their telecrystal count."
item = /obj/item/stack/telecrystal
@@ -226,13 +224,13 @@
// it's just used to buy more items (including itself!)
purchase_log_vis = FALSE
-/datum/uplink_item/bundles_TC/telecrystal/five
+/datum/uplink_item/bundles_tc/telecrystal/five
name = "5 Raw Telecrystals"
desc = "Five telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count."
item = /obj/item/stack/telecrystal/five
cost = 5
-/datum/uplink_item/bundles_TC/telecrystal/twenty
+/datum/uplink_item/bundles_tc/telecrystal/twenty
name = "20 Raw Telecrystals"
desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count."
item = /obj/item/stack/telecrystal/twenty
diff --git a/code/modules/uplink/uplink_items/uplink_clothing.dm b/code/modules/uplink/uplink_items/uplink_clothing.dm
index a9a9050903..142e501ec3 100644
--- a/code/modules/uplink/uplink_items/uplink_clothing.dm
+++ b/code/modules/uplink/uplink_items/uplink_clothing.dm
@@ -12,35 +12,35 @@
desc = "A slightly armored conspicious jumpsuit that has no suit sensors attached to them, if someone sees you in this hope they think its a fake."
item = /obj/item/clothing/under/syndicate
cost = 1
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) //They already get these
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/turtlenck_skirt
name = "Tactical Skirtleneck"
desc = "A slightly armored conspicious jumpsuit that has no suit sensors attached to them, if someone sees you in this hope they think its a fake."
item = /obj/item/clothing/under/syndicate/skirt
cost = 1
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) //They already get these
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/padding
name = "Soft Padding"
desc = "An inconspicious soft padding meant to be worn underneath jumpsuits, will cushion the user from melee harm."
item = /obj/item/clothing/accessory/padding
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/kevlar
name = "Kevlar Padding"
desc = "An inconspicious kevlar padding meant to be worn underneath jumpsuits, will cushion the wearer from ballistic harm."
item = /obj/item/clothing/accessory/kevlar
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/plastic
name = "Ablative Padding"
desc = "An inconspicious ablative padding meant to be worn underneath jumpsuits, will cushion the wearer from energy lasers harm."
item = /obj/item/clothing/accessory/plastics
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/suits/space_suit
name = "Syndicate Space Suit"
@@ -59,7 +59,7 @@
Nanotrasen crew who spot these suits are known to panic."
item = /obj/item/clothing/suit/space/hardsuit/syndi
cost = 8
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) //you can't buy it in nuke, because the elite hardsuit costs the same while being better
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) //you can't buy it in nuke, because the elite hardsuit costs the same while being better
/datum/uplink_item/suits/hardsuit/elite
name = "Elite Syndicate Hardsuit"
@@ -67,8 +67,7 @@
provides the user with superior armor and mobility compared to the standard Syndicate hardsuit."
item = /obj/item/clothing/suit/space/hardsuit/syndi/elite
cost = 8
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
- exclude_modes = list()
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/suits/hardsuit/shielded
name = "Shielded Syndicate Hardsuit"
@@ -76,8 +75,7 @@
The shields can handle up to three impacts within a short duration and will rapidly recharge while not under fire."
item = /obj/item/clothing/suit/space/hardsuit/shielded/syndi
cost = 30
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
- exclude_modes = list()
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/suits/thiefgloves
name = "Thieving Gloves"
@@ -90,13 +88,13 @@
desc = "Through bluespace magic stolen from an organisation that hoards technology, these boots simply allow you to slip through the atoms that make up anything, but only while walking, for safety reasons. As well as this, they unfortunately cause minor breath loss as the majority of atoms in your lungs are sucked out into any solid object you walk through."
item = /obj/item/clothing/shoes/wallwalkers
cost = 6
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/device_tools/guerrillagloves
name = "Guerrilla Gloves"
desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!"
item = /obj/item/clothing/gloves/tackler/combat/insulated
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
cost = 2
illegal_tech = FALSE
@@ -111,4 +109,4 @@
desc = "A pair of highly reinforced armwraps allowing the user to parry almost anything. Fully reflects projectiles, no downsides to failing, but is very hard to parry melee with."
cost = 6
item = /obj/item/clothing/gloves/fingerless/ablative
- exclude_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
diff --git a/code/modules/uplink/uplink_items/uplink_dangerous.dm b/code/modules/uplink/uplink_items/uplink_dangerous.dm
index 0032f83d09..dac426db2b 100644
--- a/code/modules/uplink/uplink_items/uplink_dangerous.dm
+++ b/code/modules/uplink/uplink_items/uplink_dangerous.dm
@@ -13,7 +13,7 @@
with suppressors."
item = /obj/item/storage/box/syndie_kit/pistol
cost = 7
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/revolver
name = "Syndicate Revolver Kit"
@@ -22,7 +22,7 @@
cost = 13
player_minimum = 15
surplus = 50
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/rawketlawnchair
name = "84mm Rocket Propelled Grenade Launcher"
@@ -31,7 +31,7 @@
item = /obj/item/gun/ballistic/rocketlauncher
cost = 8
surplus = 30
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/antitank
name = "Anti Tank Pistol"
@@ -42,7 +42,7 @@
item = /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate
cost = 14
surplus = 25
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/pie_cannon
name = "Banana Cream Pie Cannon"
@@ -50,7 +50,7 @@
cost = 10
item = /obj/item/pneumatic_cannon/pie/selfcharge
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/bananashield
name = "Bananium Energy Shield"
@@ -60,7 +60,7 @@
item = /obj/item/shield/energy/bananium
cost = 16
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/clownsword
name = "Bananium Energy Sword"
@@ -69,7 +69,7 @@
item = /obj/item/melee/transforming/energy/sword/bananium
cost = 3
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/bioterror
name = "Biohazardous Chemical Sprayer"
@@ -79,7 +79,7 @@
item = /obj/item/reagent_containers/spray/chemsprayer/bioterror
cost = 20
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/throwingweapons
name = "Box of Throwing Weapons"
@@ -95,7 +95,7 @@
item = /obj/item/gun/ballistic/automatic/shotgun/bulldog
cost = 8
surplus = 40
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/smg
name = "C-20r Submachine Gun"
@@ -104,7 +104,7 @@
item = /obj/item/gun/ballistic/automatic/c20r
cost = 10
surplus = 40
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/doublesword
name = "Double-Bladed Energy Sword"
@@ -113,7 +113,7 @@
item = /obj/item/dualsaber
player_minimum = 25
cost = 16
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/doublesword/get_discount()
return pick(4;0.8,2;0.65,1;0.5)
@@ -125,7 +125,7 @@
item = /obj/item/dualsaber/hypereutactic
player_minimum = 25
cost = 16
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/hyperblade/get_discount()
return pick(4;0.8,2;0.65,1;0.5)
@@ -136,7 +136,7 @@
pocketed when inactive. Activating it produces a loud, distinctive noise."
item = /obj/item/melee/transforming/energy/sword/saber
cost = 8
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/shield
name = "Energy Shield"
@@ -145,7 +145,7 @@
item = /obj/item/shield/energy
cost = 16
surplus = 20
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/rapier
name = "Rapier"
@@ -154,7 +154,7 @@
However, due to the size of the blade and obvious nature of the sheath, the weapon stands out as being obviously nefarious."
item = /obj/item/storage/belt/sabre/rapier
cost = 8
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/flamethrower
name = "Flamethrower"
@@ -163,7 +163,7 @@
item = /obj/item/flamethrower/full/tank
cost = 4
surplus = 40
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/flechettegun
name = "Flechette Launcher"
@@ -173,7 +173,7 @@
item = /obj/item/gun/ballistic/automatic/flechette
cost = 12
surplus = 30
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/rapid
name = "Bands of the North Star"
@@ -182,7 +182,7 @@
Combines with all martial arts, but the user will be unable to bring themselves to use guns, nor remove the armbands."
item = /obj/item/clothing/gloves/fingerless/pugilist/rapid
cost = 30
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/guardian
name = "Holoparasites"
@@ -194,7 +194,7 @@
refundable = TRUE
cant_discount = TRUE
surplus = 0
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
player_minimum = 25
restricted = TRUE
refund_path = /obj/item/guardiancreator/tech/choose/traitor
@@ -208,7 +208,7 @@
refundable = TRUE
surplus = 50
refund_path = /obj/item/guardiancreator/tech/choose/nukie
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/machinegun
name = "L6 Squad Automatic Weapon"
@@ -217,7 +217,7 @@
item = /obj/item/gun/ballistic/automatic/l6_saw
cost = 18
surplus = 0
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/carbine
name = "M-90gl Carbine"
@@ -226,7 +226,7 @@
item = /obj/item/gun/ballistic/automatic/m90
cost = 18
surplus = 50
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/maulergauntlets
name = "Mauler Gauntlets"
@@ -245,7 +245,6 @@
deal extra damage and hit targets further. Use a screwdriver to take out any attached tanks."
item = /obj/item/melee/powerfist
cost = 8
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/dangerous/sniper
name = "Sniper Rifle"
@@ -253,14 +252,14 @@
item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate
cost = 16
surplus = 25
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/bolt_action
name = "Surplus Rifle"
desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this."
item = /obj/item/gun/ballistic/shotgun/boltaction
cost = 2
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/dangerous/foamsmg
name = "Toy Submachine Gun"
@@ -268,7 +267,7 @@
item = /obj/item/gun/ballistic/automatic/c20r/toy
cost = 5
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/foammachinegun
name = "Toy Machine Gun"
@@ -277,7 +276,7 @@
item = /obj/item/gun/ballistic/automatic/l6_saw/toy
cost = 10
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/dangerous/foampistol
name = "Toy Pistol with Riot Darts"
@@ -293,4 +292,4 @@
Allows you to cut from a far distance!"
item = /obj/item/gun/magic/staff/motivation
cost = 10
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
diff --git a/code/modules/uplink/uplink_items/uplink_devices.dm b/code/modules/uplink/uplink_items/uplink_devices.dm
index 21889219cf..44dcedac34 100644
--- a/code/modules/uplink/uplink_items/uplink_devices.dm
+++ b/code/modules/uplink/uplink_items/uplink_devices.dm
@@ -46,7 +46,7 @@
item = /obj/item/assault_pod
cost = 30
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/device_tools/binary
@@ -66,7 +66,7 @@
'Advanced Magboots' slow you down in simulated-gravity environments much like the standard issue variety."
item = /obj/item/clothing/shoes/magboots/syndie
cost = 2
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/compressionkit
name = "Bluespace Compression Kit"
@@ -98,7 +98,7 @@
desc = "A robust seven-slot set of webbing that is capable of holding all manner of tactical equipment."
item = /obj/item/storage/belt/military
cost = 1
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/device_tools/ammo_pouch
name = "Ammo Pouch"
@@ -137,7 +137,7 @@
desc = "A cheap bottle of one use syndicate brand super glue. \
Use on any item to make it undroppable. \
Be careful not to glue an item you're already holding!"
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
item = /obj/item/syndie_glue
cost = 2
@@ -166,7 +166,7 @@
operatives in the fight, even while under fire. Don't cross the streams!"
item = /obj/item/gun/medbeam
cost = 15
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/nutcracker
name = "Nutcracker"
@@ -224,7 +224,7 @@
and other supplies helpful for a field medic."
item = /obj/item/storage/firstaid/tactical/nukeop
cost = 4
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/device_tools/surgerybag
name = "Syndicate Surgery Duffel Bag"
@@ -272,7 +272,7 @@
desc = "A potion recovered at great risk by undercover Syndicate operatives and then subsequently modified with Syndicate technology. \
Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication and an internal ID card for opening doors."
cost = 2
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/* for now
diff --git a/code/modules/uplink/uplink_items/uplink_explosives.dm b/code/modules/uplink/uplink_items/uplink_explosives.dm
index f44966fb3b..11b892a208 100644
--- a/code/modules/uplink/uplink_items/uplink_explosives.dm
+++ b/code/modules/uplink/uplink_items/uplink_explosives.dm
@@ -15,7 +15,7 @@
item = /obj/item/grenade/chem_grenade/bioterrorfoam
cost = 5
surplus = 35
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/bombanana
name = "Bombanana"
@@ -24,7 +24,7 @@
item = /obj/item/reagent_containers/food/snacks/grown/banana/bombanana
cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/buzzkill
name = "Buzzkill Grenade Box"
@@ -33,7 +33,7 @@
item = /obj/item/storage/box/syndie_kit/bee_grenades
cost = 15
surplus = 35
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/c4
name = "Composition C-4"
@@ -58,7 +58,6 @@
item = /obj/item/storage/backpack/duffelbag/syndie/x4
cost = 4 //
cant_discount = TRUE
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/explosives/clown_bomb_clownops
name = "Clown Bomb"
@@ -70,7 +69,7 @@
item = /obj/item/sbeacondrop/clownbomb
cost = 15
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/detomatix
name = "Detomatix PDA Cartridge"
@@ -97,14 +96,14 @@
item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade
cost = 8
surplus = 35
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/explosives/grenadier
name = "Grenadier's belt"
desc = "A belt containing 26 lethally dangerous and destructive grenades. Comes with an extra multitool and screwdriver."
item = /obj/item/storage/belt/grenade/full
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
cost = 22
surplus = 0
@@ -125,7 +124,6 @@
be defused, and some crew may attempt to do so."
item = /obj/item/sbeacondrop/bomb
cost = 11
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/explosives/syndicate_detonator
name = "Syndicate Detonator"
@@ -135,7 +133,7 @@
the blast radius before using the detonator."
item = /obj/item/syndicatedetonator
cost = 3
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/syndicate_minibomb
name = "Syndicate Minibomb"
@@ -143,7 +141,7 @@
in addition to dealing high amounts of damage to nearby personnel."
item = /obj/item/grenade/syndieminibomb
cost = 6
- exclude_modes = list(/datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs)
+ purchasable_from = ~UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/tearstache
name = "Teachstache Grenade"
@@ -152,7 +150,7 @@
item = /obj/item/grenade/chem_grenade/teargas/moustache
cost = 3
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/explosives/viscerators
name = "Viscerator Delivery Grenade"
@@ -161,4 +159,4 @@
item = /obj/item/grenade/spawnergrenade/manhacks
cost = 5
surplus = 35
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
diff --git a/code/modules/uplink/uplink_items/uplink_implants.dm b/code/modules/uplink/uplink_items/uplink_implants.dm
index 19dab96ccb..e3fe151143 100644
--- a/code/modules/uplink/uplink_items/uplink_implants.dm
+++ b/code/modules/uplink/uplink_items/uplink_implants.dm
@@ -20,7 +20,7 @@
desc = "This implant will help you get back up on your feet faster after being stunned. Comes with an autosurgeon."
item = /obj/item/autosurgeon/anti_stun
cost = 12
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/implants/deathrattle
name = "Box of Deathrattle Implants"
@@ -31,7 +31,7 @@
item = /obj/item/storage/box/syndie_kit/imp_deathrattle
cost = 4
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/implants/freedom
name = "Freedom Implant"
@@ -45,7 +45,7 @@
desc = "An implant injected into the body and later activated at the user's will. Allows the user to teleport to where they were 10 seconds ago. Has a 10 second cooldown."
item = /obj/item/storage/box/syndie_kit/imp_warp
cost = 6
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/implants/hijack
name = "Hijack Implant"
@@ -70,7 +70,7 @@
This will permanently destroy your body, however."
item = /obj/item/storage/box/syndie_kit/imp_microbomb
cost = 2
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/implants/macrobomb
name = "Macrobomb Implant"
@@ -78,7 +78,7 @@
Upon death, releases a massive explosion that will wipe out everything nearby."
item = /obj/item/storage/box/syndie_kit/imp_macrobomb
cost = 20
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/implants/reviver
@@ -86,7 +86,7 @@
desc = "This implant will attempt to revive and heal you if you lose consciousness. Comes with an autosurgeon."
item = /obj/item/autosurgeon/reviver
cost = 8
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/implants/stealthimplant
name = "Stealth Implant"
@@ -107,7 +107,7 @@
desc = "These cybernetic eyes will give you thermal vision. Comes with a free autosurgeon."
item = /obj/item/autosurgeon/thermal_eyes
cost = 8
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
/datum/uplink_item/implants/uplink
name = "Uplink Implant"
@@ -125,4 +125,4 @@
item = /obj/item/autosurgeon/xray_eyes
cost = 10
surplus = 0
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm
index 72e0111c41..d741013ad2 100644
--- a/code/modules/uplink/uplink_items/uplink_roles.dm
+++ b/code/modules/uplink/uplink_items/uplink_roles.dm
@@ -30,7 +30,6 @@
item = /obj/item/gun/blastcannon
cost = 14 //High cost because of the potential for extreme damage in the hands of a skilled gas masked scientist.
restricted_roles = list("Research Director", "Scientist")
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/role_restricted/alientech
name = "Alien Research Disk"
@@ -99,7 +98,6 @@
player_minimum = 20
refundable = TRUE
restricted_roles = list("Chaplain")
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/role_restricted/arcane_tome
name = "Arcane Tome"
@@ -109,7 +107,6 @@
player_minimum = 20
refundable = TRUE
restricted_roles = list("Chaplain")
- exclude_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/role_restricted/explosive_hot_potato
name = "Exploding Hot Potato"
diff --git a/code/modules/uplink/uplink_items/uplink_stealth.dm b/code/modules/uplink/uplink_items/uplink_stealth.dm
index f401514542..8b79b15c80 100644
--- a/code/modules/uplink/uplink_items/uplink_stealth.dm
+++ b/code/modules/uplink/uplink_items/uplink_stealth.dm
@@ -19,14 +19,14 @@
to learn the abilities of krav maga to the wearer."
item = /obj/item/clothing/gloves/krav_maga/combatglovesplus
cost = 5
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
surplus = 0
/datum/uplink_item/stealthy_weapons/cqc
name = "CQC Manual"
desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing."
item = /obj/item/book/granter/martial/cqc
- include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS
cost = 13
surplus = 0
@@ -61,7 +61,7 @@
name = "Antique Derringer"
desc = "An easy to conceal, yet extremely deadly handgun, capable of firing .45-70 Govt rounds. Comes in a unique pack of cigarettes with additional munitions."
item = /obj/item/storage/fancy/cigarettes/derringer/midworld
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
cost = 10
surplus = 2
@@ -79,7 +79,7 @@
cost = 17
player_minimum = 20
surplus = 0
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/martialartstwo
name = "Rising Bass Scroll"
@@ -89,7 +89,7 @@
cost = 18
player_minimum = 20
surplus = 0
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/martialartsthree
name = "Krav Maga Scroll"
@@ -99,7 +99,6 @@
cost = 16
player_minimum = 25
surplus = 0
- include_modes = list(/datum/game_mode/traitor/internal_affairs)
/datum/uplink_item/stealthy_weapons/crossbow
name = "Miniature Energy Crossbow"
@@ -112,7 +111,7 @@
item = /obj/item/gun/energy/kinetic_accelerator/crossbow
cost = 12
surplus = 50
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/traitor_chem_bottle
name = "Poison Kit"
@@ -130,7 +129,7 @@
cost = 25
player_minimum = 25
cant_discount = TRUE
- exclude_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = ~UPLINK_NUKE_OPS
/datum/uplink_item/stealthy_weapons/sleepy_pen
name = "Sleepy Pen"
@@ -140,14 +139,14 @@
falls asleep, they will be able to move and act."
item = /obj/item/pen/sleepy
cost = 4
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_weapons/taeclowndo_shoes
name = "Tae-clown-do Shoes"
desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn."
cost = 12
item = /obj/item/clothing/shoes/clown_shoes/taeclowndo
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/stealthy_weapons/suppressor
name = "Suppressor"
diff --git a/code/modules/uplink/uplink_items/uplink_stealthdevices.dm b/code/modules/uplink/uplink_items/uplink_stealthdevices.dm
index 0a82b3b8b3..c2a915a28f 100644
--- a/code/modules/uplink/uplink_items/uplink_stealthdevices.dm
+++ b/code/modules/uplink/uplink_items/uplink_stealthdevices.dm
@@ -33,7 +33,7 @@
Due to budget cuts, the shoes don't provide protection against slipping."
item = /obj/item/storage/box/syndie_kit/chameleon
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_tools/chameleon_proj
name = "Chameleon Projector"
@@ -57,7 +57,7 @@
item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat
cost = 6
surplus = 0
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/stealthy_tools/emplight
name = "EMP Flashlight"
@@ -75,7 +75,7 @@
cost = 1
surplus = 0
restricted = TRUE
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_tools/failsafe/spawn_item(spawn_path, mob/user, datum/component/uplink/U)
if(!U)
@@ -93,7 +93,7 @@
item = /obj/item/reagent_containers/syringe/mulligan
cost = 3
surplus = 30
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_tools/syndigaloshes
name = "No-Slip Chameleon Shoes"
@@ -101,13 +101,12 @@
They do not work on heavily lubricated surfaces."
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 2
- exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
+ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS)
/datum/uplink_item/stealthy_tools/syndigaloshes/nuke
item = /obj/item/clothing/shoes/chameleon/noslip
cost = 4
- exclude_modes = list()
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
/datum/uplink_item/stealthy_tools/jammer
name = "Radio Jammer"
diff --git a/code/modules/uplink/uplink_items/uplink_support.dm b/code/modules/uplink/uplink_items/uplink_support.dm
index fe1415adc8..efdfe1b06a 100644
--- a/code/modules/uplink/uplink_items/uplink_support.dm
+++ b/code/modules/uplink/uplink_items/uplink_support.dm
@@ -12,7 +12,7 @@
desc = "Call in an additional clown to share the fun, equipped with full starting gear, but no telecrystals."
item = /obj/item/antag_spawner/nuke_ops/clown
cost = 20
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
restricted = TRUE
/datum/uplink_item/support/reinforcement
@@ -22,7 +22,7 @@
item = /obj/item/antag_spawner/nuke_ops
cost = 25
refundable = TRUE
- include_modes = list(/datum/game_mode/nuclear)
+ purchasable_from = UPLINK_NUKE_OPS
restricted = TRUE
/datum/uplink_item/support/reinforcement/assault_borg
@@ -66,7 +66,7 @@
desc = "A clown combat mech equipped with bombanana peel and tearstache grenade launchers, as well as the ubiquitous HoNkER BlAsT 5000."
item = /obj/mecha/combat/honker/dark/loaded
cost = 80
- include_modes = list(/datum/game_mode/nuclear/clown_ops)
+ purchasable_from = UPLINK_CLOWN_OPS
/datum/uplink_item/support/mauler
name = "Mauler Exosuit"
diff --git a/code/modules/uplink/uplink_purchase_log.dm b/code/modules/uplink/uplink_purchase_log.dm
index 293191b170..c9ac13fa13 100644
--- a/code/modules/uplink/uplink_purchase_log.dm
+++ b/code/modules/uplink/uplink_purchase_log.dm
@@ -1,8 +1,8 @@
-GLOBAL_LIST(uplink_purchase_logs_by_key) //assoc key = /datum/uplink_purchase_log
+GLOBAL_LIST(uplink_purchase_logs_by_key) //assoc key = /datum/uplink_purchase_log
/datum/uplink_purchase_log
var/owner
- var/list/purchase_log //assoc path-of-item = /datum/uplink_purchase_entry
+ var/list/purchase_log //assoc path-of-item = /datum/uplink_purchase_entry
var/total_spent = 0
/datum/uplink_purchase_log/New(_owner, datum/component/uplink/_parent)
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index eab1c55ca9..cea7502540 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -12,16 +12,14 @@
products = list()
contraband = list()
premium = list()
-
-IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY CANISTER CHARGES in vending_items.dm
*/
#define MAX_VENDING_INPUT_AMOUNT 30
/**
- * # vending record datum
- *
- * A datum that represents a product that is vendable
- */
+ * # vending record datum
+ *
+ * A datum that represents a product that is vendable
+ */
/datum/data/vending_product
name = "generic"
///Typepath of the product that is created when this record "sells"
@@ -34,12 +32,16 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
var/custom_price
///Does the item have a custom premium price override
var/custom_premium_price
+ ///Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
+ var/age_restricted = FALSE // @unimplimented
+ ///Whether the product can be recolored by the GAGS system
+ var/colorable // @unimplimented
/**
- * # vending machines
- *
- * Captalism in the year 2525, everything in a vending machine, even love
- */
+ * # vending machines
+ *
+ * Captalism in the year 2525, everything in a vending machine, even love
+ */
/obj/machinery/vending
name = "\improper Vendomat"
desc = "A generic vending machine."
@@ -55,36 +57,43 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70)
circuit = /obj/item/circuitboard/machine/vendor
payment_department = ACCOUNT_SRV
- light_power = 0.3
+ light_power = 0.5
light_range = MINIMUM_USEFUL_LIGHT_RANGE
/// Is the machine active (No sales pitches if off)!
- var/active = TRUE
+ var/active = 1
///Are we ready to vend?? Is it time??
var/vend_ready = TRUE
///Next world time to send a purchase message
var/purchase_message_cooldown
- ///Last mob to shop with us
+ ///The ref of the last mob to shop with us
+ var/last_shopper
+ var/tilted = FALSE
+ var/tiltable = TRUE
+ var/squish_damage = 75
+ var/forcecrit = 0
+ var/num_shards = 7
+ var/list/pinned_mobs = list()
/**
* List of products this machine sells
*
- * form should be list(/type/path = amount, /type/path2 = amount2)
+ * form should be list(/type/path = amount, /type/path2 = amount2)
*/
- var/list/products = list()
+ var/list/products = list()
/**
* List of products this machine sells when you hack it
*
- * form should be list(/type/path = amount, /type/path2 = amount2)
+ * form should be list(/type/path = amount, /type/path2 = amount2)
*/
- var/list/contraband = list()
+ var/list/contraband = list()
/**
* List of premium products this machine sells
*
- * form should be list(/type/path, /type/path2) as there is only ever one in stock
+ * form should be list(/type/path, /type/path2) as there is only ever one in stock
*/
- var/list/premium = list()
+ var/list/premium = list()
///String of slogans separated by semicolons, optional
var/product_slogans = ""
@@ -97,20 +106,12 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
var/list/slogan_list = list()
///Small ad messages in the vending screen - random chance of popping up whenever you open it
var/list/small_ads = list()
- var/dish_quants = list() //used by the snack machine's custom compartment to count dishes.
///Message sent post vend (Thank you for shopping!)
var/vend_reply
///Last world tick we sent a vent reply
- var/last_reply
+ var/last_reply = 0
///Last world tick we sent a slogan message out
- var/last_slogan
- var/last_shopper
- var/tilted = FALSE
- var/tiltable = TRUE
- var/squish_damage = 75
- var/forcecrit = 0
- var/num_shards = 7
- var/list/pinned_mobs = list()
+ var/last_slogan = 0
///How many ticks until we can send another
var/slogan_delay = 6000
///Icon when vending an item to the user
@@ -120,32 +121,37 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
///World ticks the machine is electified for
var/seconds_electrified = MACHINE_NOT_ELECTRIFIED
///When this is TRUE, we fire items at customers! We're broken!
- var/shoot_inventory
- ///How likely this is to happen (prob 100)
- var/shoot_inventory_chance = 2
+ var/shoot_inventory = 0
+ ///How likely this is to happen (prob 100) per second
+ var/shoot_inventory_chance = 1
//Stop spouting those godawful pitches!
- var/shut_up
+ var/shut_up = 0
///can we access the hidden inventory?
- var/extended_inventory
+ var/extended_inventory = 0
///Are we checking the users ID
- var/scan_id = TRUE
+ var/scan_id = 1
+ ///Coins that we accept?
var/obj/item/coin/coin
+ ///Bills we accept?
+ var/obj/item/stack/spacecash/bill
///Default price of items if not overridden
var/default_price = 25
///Default price of premium items if not overridden
var/extra_price = 50
+ ///Whether our age check is currently functional
+ var/age_restrictions = TRUE
///cost multiplier per department or access
var/list/cost_multiplier_per_dept = list()
- /**
+ /**
* Is this item on station or not
*
* if it doesn't originate from off-station during mapload, everything is free
*/
var/onstation = TRUE //if it doesn't originate from off-station during mapload, everything is free
- ///A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements
+ ///A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements
var/onstation_override = FALSE //change this on the object on the map to override the onstation check. DO NOT APPLY THIS GLOBALLY.
- ///ID's that can load this vending machine wtih refills
+ ///ID's that can load this vending machine wtih refills
var/list/canload_access_list
@@ -162,15 +168,19 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
///Name of lighting mask for the vending machine
var/light_mask
+ /// used for narcing on underages
+ var/obj/item/radio/Radio
+
+
/**
- * Initialize the vending machine
- *
- * Builds the vending machine inventory, sets up slogans and other such misc work
- *
- * This also sets the onstation var to:
- * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check
- * * TRUE - all other cases
- */
+ * Initialize the vending machine
+ *
+ * Builds the vending machine inventory, sets up slogans and other such misc work
+ *
+ * This also sets the onstation var to:
+ * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check
+ * * TRUE - all other cases
+ */
/obj/machinery/vending/Initialize(mapload)
var/build_inv = FALSE
if(!refill_canister)
@@ -189,18 +199,25 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
// so if slogantime is 10 minutes, it will say it at somewhere between 10 and 20 minutes after the machine is crated.
last_slogan = world.time + rand(0, slogan_delay)
power_change()
+
if(onstation_override) //overrides the checks if true.
onstation = TRUE
return
- if(mapload && !is_station_level(z)) //check if it was initially created off station during mapload.
- onstation = FALSE
- if(circuit)
- circuit.onstation = onstation //sync up the circuit so the pricing schema is carried over if it's reconstructed.
+ if(mapload) //check if it was initially created off station during mapload.
+ if(!is_station_level(z))
+ onstation = FALSE
+ if(circuit)
+ circuit.onstation = onstation //sync up the circuit so the pricing schema is carried over if it's reconstructed.
else if(circuit && (circuit.onstation != onstation)) //check if they're not the same to minimize the amount of edited values.
onstation = circuit.onstation //if it was constructed outside mapload, sync the vendor up with the circuit's var so you can't bypass price requirements by moving / reconstructing it off station.
+ Radio = new /obj/item/radio(src)
+ Radio.listening = 0
/obj/machinery/vending/Destroy()
QDEL_NULL(wires)
+ QDEL_NULL(coin)
+ QDEL_NULL(bill)
+ QDEL_NULL(Radio)
return ..()
/obj/machinery/vending/can_speak()
@@ -227,16 +244,20 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
else
..()
+/obj/machinery/vending/update_appearance(updates=ALL)
+ . = ..()
+ if(stat & BROKEN)
+ set_light(0)
+ return
+ set_light(powered() ? MINIMUM_USEFUL_LIGHT_RANGE : 0)
+
+
/obj/machinery/vending/update_icon_state()
if(stat & BROKEN)
icon_state = "[initial(icon_state)]-broken"
- set_light(0)
- else if(powered())
- icon_state = initial(icon_state)
- set_light(1.4)
- else
- icon_state = "[initial(icon_state)]-off"
- set_light(0)
+ return ..()
+ icon_state = "[initial(icon_state)][powered() ? null : "-off"]"
+ return ..()
/obj/machinery/vending/update_overlays()
@@ -276,14 +297,14 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
GLOBAL_LIST_EMPTY(vending_products)
/**
- * Build the inventory of the vending machine from it's product and record lists
- *
- * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type
- * Arguments:
- * * productlist - the list of products that need to be converted
- * * recordlist - the list containing /datum/data/vending_product datums
- * * startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart)
- */
+ * Build the inventory of the vending machine from it's product and record lists
+ *
+ * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type
+ * Arguments:
+ * * productlist - the list of products that need to be converted
+ * * recordlist - the list containing /datum/data/vending_product datums
+ * * startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart)
+ */
/obj/machinery/vending/proc/build_inventory(list/productlist, list/recordlist, start_empty = FALSE)
for(var/typepath in productlist)
var/amount = productlist[typepath]
@@ -298,17 +319,21 @@ GLOBAL_LIST_EMPTY(vending_products)
if(!start_empty)
R.amount = amount
R.max_amount = amount
+ ///Prices of vending machines are all increased uniformly.
R.custom_price = initial(temp.custom_price)
R.custom_premium_price = initial(temp.custom_premium_price)
+ // R.age_restricted = initial(temp.age_restricted)
+ // R.colorable = !!(initial(temp.greyscale_config) && initial(temp.greyscale_colors) && (initial(temp.flags_1) & IS_PLAYER_COLORABLE_1))
recordlist += R
+
/**
- * Refill a vending machine from a refill canister
- *
- * This takes the products from the refill canister and then fills the products,contraband and premium product categories
- *
- * Arguments:
- * * canister - the vending canister we are refilling from
- */
+ * Refill a vending machine from a refill canister
+ *
+ * This takes the products from the refill canister and then fills the products,contraband and premium product categories
+ *
+ * Arguments:
+ * * canister - the vending canister we are refilling from
+ */
/obj/machinery/vending/proc/restock(obj/item/vending_refill/canister)
if (!canister.products)
canister.products = products.Copy()
@@ -321,12 +346,12 @@ GLOBAL_LIST_EMPTY(vending_products)
. += refill_inventory(canister.contraband, hidden_records)
. += refill_inventory(canister.premium, coin_records)
/**
- * Refill our inventory from the passed in product list into the record list
- *
- * Arguments:
- * * productlist - list of types -> amount
- * * recordlist - existing record datums
- */
+ * Refill our inventory from the passed in product list into the record list
+ *
+ * Arguments:
+ * * productlist - list of types -> amount
+ * * recordlist - existing record datums
+ */
/obj/machinery/vending/proc/refill_inventory(list/productlist, list/recordlist)
. = 0
for(var/R in recordlist)
@@ -337,10 +362,10 @@ GLOBAL_LIST_EMPTY(vending_products)
record.amount += diff
. += diff
/**
- * Set up a refill canister that matches this machines products
- *
- * This is used when the machine is deconstructed, so the items aren't "lost"
- */
+ * Set up a refill canister that matches this machines products
+ *
+ * This is used when the machine is deconstructed, so the items aren't "lost"
+ */
/obj/machinery/vending/proc/update_canister()
if (!component_parts)
return
@@ -354,8 +379,8 @@ GLOBAL_LIST_EMPTY(vending_products)
R.premium = unbuild_inventory(coin_records)
/**
- * Given a record list, go through and and return a list of type -> amount
- */
+ * Given a record list, go through and and return a list of type -> amount
+ */
/obj/machinery/vending/proc/unbuild_inventory(list/recordlist)
. = list()
for(var/R in recordlist)
@@ -385,32 +410,32 @@ GLOBAL_LIST_EMPTY(vending_products)
add_overlay("[initial(icon_state)]-panel")
updateUsrDialog()
else
- to_chat(user, "You must first secure [src].")
+ to_chat(user, span_warning("You must first secure [src]."))
return TRUE
-/obj/machinery/vending/attackby(obj/item/I, mob/user, params)
+/obj/machinery/vending/attackby(obj/item/I, mob/living/user, params)
if(panel_open && is_wire_tool(I))
wires.interact(user)
return
+
if(refill_canister && istype(I, refill_canister))
if (!panel_open)
- to_chat(user, "You should probably unscrew the service panel first!")
+ to_chat(user, span_warning("You should probably unscrew the service panel first!"))
else if (stat & (BROKEN|NOPOWER))
- to_chat(user, "[src] does not respond.")
+ to_chat(user, span_notice("[src] does not respond."))
else
//if the panel is open we attempt to refill the machine
var/obj/item/vending_refill/canister = I
if(canister.get_part_rating() == 0)
- to_chat(user, "[canister] is empty!")
+ to_chat(user, span_warning("[canister] is empty!"))
else
// instantiate canister if needed
var/transferred = restock(canister)
if(transferred)
- to_chat(user, "You loaded [transferred] items in [src].")
+ to_chat(user, span_notice("You loaded [transferred] items in [src]."))
else
- to_chat(user, "There's nothing to restock!")
+ to_chat(user, span_warning("There's nothing to restock!"))
return
-
if(compartmentLoadAccessCheck(user) && user.a_intent != INTENT_HARM)
if(canLoadItem(I))
loadingAttempt(I,user)
@@ -422,7 +447,7 @@ GLOBAL_LIST_EMPTY(vending_products)
var/denied_items = 0
for(var/obj/item/the_item in T.contents)
if(contents.len >= MAX_VENDING_INPUT_AMOUNT) // no more than 30 item can fit inside, legacy from snack vending although not sure why it exists
- to_chat(user, "[src]'s compartment is full.")
+ to_chat(user, span_warning("[src]'s compartment is full."))
break
if(canLoadItem(the_item) && loadingAttempt(the_item,user))
SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, the_item, src, TRUE)
@@ -430,9 +455,9 @@ GLOBAL_LIST_EMPTY(vending_products)
else
denied_items++
if(denied_items)
- to_chat(user, "[src] refuses some items!")
+ to_chat(user, span_warning("[src] refuses some items!"))
if(loaded)
- to_chat(user, "You insert [loaded] dishes into [src]'s compartment.")
+ to_chat(user, span_notice("You insert [loaded] dishes into [src]'s compartment."))
updateUsrDialog()
else
. = ..()
@@ -444,13 +469,14 @@ GLOBAL_LIST_EMPTY(vending_products)
freebie(user, 2)
if(16 to 25)
freebie(user, 1)
+ if(26 to 75)
if(76 to 90)
tilt(user)
if(91 to 100)
tilt(user, crit=TRUE)
/obj/machinery/vending/proc/freebie(mob/fatty, freebies)
- visible_message("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!")
+ visible_message(span_notice("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!"))
for(var/i in 1 to freebies)
playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3)
@@ -466,8 +492,9 @@ GLOBAL_LIST_EMPTY(vending_products)
new dump_path(get_turf(src))
break
-/obj/machinery/vending/proc/tilt(mob/fatty, crit=FALSE)
- visible_message("[src] tips over!")
+///Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.
+/obj/machinery/vending/proc/tilt(atom/fatty, crit=FALSE)
+ visible_message(span_danger("[src] tips over!"))
tilted = TRUE
layer = ABOVE_MOB_LAYER
@@ -478,16 +505,21 @@ GLOBAL_LIST_EMPTY(vending_products)
if(forcecrit)
crit_case = forcecrit
+ . = FALSE
+
if(in_range(fatty, src))
for(var/mob/living/L in get_turf(fatty))
+ var/was_alive = (L.stat != DEAD)
var/mob/living/carbon/C = L
+ // SEND_SIGNAL(L, COMSIG_ON_VENDOR_CRUSH)
+
if(istype(C))
var/crit_rebate = 0 // lessen the normal damage we deal for some of the crits
- if(crit_case < 5) // the head asplode case has its own description
- C.visible_message("[C] is crushed by [src]!", \
- "You are crushed by [src]!")
+ if(crit_case < 5) // the body/head asplode case has its own description
+ C.visible_message(span_danger("[C] is crushed by [src]!"), \
+ span_userdanger("You are crushed by [src]!"))
switch(crit_case) // only carbons can have the fun crits
if(1) // shatter their legs and bleed 'em
@@ -500,13 +532,13 @@ GLOBAL_LIST_EMPTY(vending_products)
if(r)
r.receive_damage(brute=200, updating_health=TRUE)
if(l || r)
- C.visible_message("[C]'s legs shatter with a sickening crunch!", \
- "Your legs shatter with a sickening crunch!")
+ C.visible_message(span_danger("[C]'s legs shatter with a sickening crunch!"), \
+ span_userdanger("Your legs shatter with a sickening crunch!"))
if(2) // pin them beneath the machine until someone untilts it
forceMove(get_turf(C))
buckle_mob(C, force=TRUE)
- C.visible_message("[C] is pinned underneath [src]!", \
- "You are pinned down by [src]!")
+ C.visible_message(span_danger("[C] is pinned underneath [src]!"), \
+ span_userdanger("You are pinned down by [src]!"))
if(3) // glass candy
crit_rebate = 50
for(var/i = 0, i < num_shards, i++)
@@ -518,7 +550,7 @@ GLOBAL_LIST_EMPTY(vending_products)
shard.updateEmbedding()
if(4) // paralyze this binch
// the new paraplegic gets like 4 lines of losing their legs so skip them
- visible_message("[C]'s spinal cord is obliterated with a sickening crunch!", ignored_mobs = list(C))
+ visible_message(span_danger("[C]'s spinal cord is obliterated with a sickening crunch!"), ignored_mobs = list(C))
C.gain_trauma(/datum/brain_trauma/severe/paralysis/spinesnapped)
if(5) // limb squish!
for(var/i in C.bodyparts)
@@ -528,13 +560,13 @@ GLOBAL_LIST_EMPTY(vending_products)
squish_part.force_wound_upwards(type_wound)
else
squish_part.receive_damage(brute=30)
- C.visible_message("[C]'s body is maimed underneath the mass of [src]!", \
- "Your body is maimed underneath the mass of [src]!")
+ C.visible_message(span_danger("[C]'s body is maimed underneath the mass of [src]!"), \
+ span_userdanger("Your body is maimed underneath the mass of [src]!"))
if(6) // skull squish!
var/obj/item/bodypart/head/O = C.get_bodypart(BODY_ZONE_HEAD)
if(O)
- C.visible_message("[O] explodes in a shower of gore beneath [src]!", \
- "Oh f-")
+ C.visible_message(span_danger("[O] explodes in a shower of gore beneath [src]!"), \
+ span_userdanger("Oh f-"))
O.dismember()
O.drop_organs()
qdel(O)
@@ -545,19 +577,19 @@ GLOBAL_LIST_EMPTY(vending_products)
else
C.take_bodypart_damage((squish_damage - crit_rebate)*0.5, wound_bonus = 5) // otherwise, deal it to 2 random limbs (or the same one) which will likely shatter something
C.take_bodypart_damage((squish_damage - crit_rebate)*0.5, wound_bonus = 5)
- C.AddElement(/datum/element/squish, 18 SECONDS)
+ C.AddElement(/datum/element/squish, 80 SECONDS)
else
- L.visible_message("[L] is crushed by [src]!", \
- "You are crushed by [src]!")
+ L.visible_message(span_danger("[L] is crushed by [src]!"), \
+ span_userdanger("You are crushed by [src]!"))
L.apply_damage(squish_damage, forced=TRUE)
if(crit_case)
L.apply_damage(squish_damage, forced=TRUE)
-
- if(L.stat == DEAD && L.client)
+ if(was_alive && L.stat == DEAD && L.client)
L.client.give_award(/datum/award/achievement/misc/vendor_squish, L) // good job losing a fight with an inanimate object idiot
L.Paralyze(60)
L.emote("scream")
+ . = TRUE
playsound(L, 'sound/effects/blobattack.ogg', 40, TRUE)
playsound(L, 'sound/effects/splat.ogg', 50, TRUE)
@@ -566,14 +598,15 @@ GLOBAL_LIST_EMPTY(vending_products)
transform = M
if(get_turf(fatty) != get_turf(src))
- throw_at(get_turf(fatty), 1, 1, spin=FALSE)
+ throw_at(get_turf(fatty), 1, 1, spin=FALSE) //, quickstart=FALSE)
/obj/machinery/vending/proc/untilt(mob/user)
- user.visible_message("[user] rights [src].", \
- "You right [src].")
+ if(user)
+ user.visible_message(span_notice("[user] rights [src]."), \
+ span_notice("You right [src]."))
unbuckle_all_mobs(TRUE)
- anchored = FALSE //so you can push it back into position
+
tilted = FALSE
layer = initial(layer)
@@ -589,21 +622,20 @@ GLOBAL_LIST_EMPTY(vending_products)
vending_machine_input[format_text(I.name)]++
else
vending_machine_input[format_text(I.name)] = 1
- to_chat(user, "You insert [I] into [src]'s input compartment.")
+ to_chat(user, span_notice("You insert [I] into [src]'s input compartment."))
loaded_items++
-
/obj/machinery/vending/unbuckle_mob(mob/living/buckled_mob, force=FALSE)
if(!force)
return
. = ..()
/**
- * Is the passed in user allowed to load this vending machines compartments
- *
- * Arguments:
- * * user - mob that is doing the loading of the vending machine
- */
+ * Is the passed in user allowed to load this vending machines compartments
+ *
+ * Arguments:
+ * * user - mob that is doing the loading of the vending machine
+ */
/obj/machinery/vending/proc/compartmentLoadAccessCheck(mob/user)
if(!canload_access_list)
return TRUE
@@ -621,7 +653,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(do_you_have_access)
return TRUE
else
- to_chat(user, "[src]'s input compartment blinks red: Access denied.")
+ to_chat(user, span_warning("[src]'s input compartment blinks red: Access denied."))
return FALSE
/obj/machinery/vending/exchange_parts(mob/user, obj/item/storage/part_replacer/W)
@@ -642,7 +674,7 @@ GLOBAL_LIST_EMPTY(vending_products)
else
display_parts(user)
if(moved)
- to_chat(user, "[moved] items restocked.")
+ to_chat(user, span_notice("[moved] items restocked."))
W.play_rped_sound()
return TRUE
@@ -651,22 +683,22 @@ GLOBAL_LIST_EMPTY(vending_products)
. = ..()
/obj/machinery/vending/emag_act(mob/user)
- . = ..()
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
- to_chat(user, "You short out the product lock on [src].")
- return TRUE
+ to_chat(user, span_notice("You short out the product lock on [src]."))
/obj/machinery/vending/_try_interact(mob/user)
if(seconds_electrified && !(stat & NOPOWER))
if(shock(user, 100))
return
+
if(tilted && !user.buckled && !isAI(user))
- to_chat(user, "You begin righting [src].")
+ to_chat(user, span_notice("You begin righting [src]."))
if(do_after(user, 50, target=src))
untilt(user)
return
+
return ..()
/obj/machinery/vending/ui_assets(mob/user)
@@ -736,7 +768,12 @@ GLOBAL_LIST_EMPTY(vending_products)
.["user"]["department"] = "No Department"
.["stock"] = list()
for (var/datum/data/vending_product/R in product_records + coin_records + hidden_records)
- .["stock"][R.name] = R.amount
+ var/list/product_data = list(
+ name = R.name,
+ amount = R.amount,
+ colorable = FALSE, // R.colorable,
+ )
+ .["stock"][R.name] = product_data
.["extended_inventory"] = extended_inventory
/obj/machinery/vending/ui_act(action, params)
@@ -745,92 +782,156 @@ GLOBAL_LIST_EMPTY(vending_products)
return
switch(action)
if("vend")
- . = TRUE
- if(!vend_ready)
- return
- if(panel_open)
- to_chat(usr, "The vending machine cannot dispense products while its service panel is open!")
- return
- vend_ready = FALSE //One thing at a time!!
- var/datum/data/vending_product/R = locate(params["ref"])
- var/list/record_to_check = product_records + coin_records
- if(extended_inventory)
- record_to_check = product_records + coin_records + hidden_records
- if(!R || !istype(R) || !R.product_path)
- vend_ready = TRUE
- return
- var/price_to_use = default_price
- if(R.custom_price)
- price_to_use = R.custom_price
- if(R in hidden_records)
- if(!extended_inventory)
- vend_ready = TRUE
- return
- else if (!(R in record_to_check))
- vend_ready = TRUE
- message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!")
- return
- if (R.amount <= 0)
- say("Sold out of [R.name].")
- flick(icon_deny,src)
- vend_ready = TRUE
- return
- if(onstation && ishuman(usr))
- var/mob/living/carbon/human/H = usr
- var/obj/item/card/id/C = H.get_idcard(TRUE)
+ . = vend(params)
+ // if("select_colors")
+ // . = select_colors(params)
- if(!C)
- say("No card found.")
- flick(icon_deny,src)
- vend_ready = TRUE
- return
- else if (!C.registered_account)
- say("No account found.")
- flick(icon_deny,src)
- vend_ready = TRUE
- return
- // else if(age_restrictions && R.age_restricted && (!C.registered_age || C.registered_age < AGE_MINOR))
- // say("You are not of legal age to purchase [R.name].")
- // if(!(usr in GLOB.narcd_underages))
- // Radio.set_frequency(FREQ_SECURITY)
- // Radio.talk_into(src, "SECURITY ALERT: Underaged crewmember [H] recorded attempting to purchase [R.name] in [get_area(src)]. Please watch for substance abuse.", FREQ_SECURITY)
- // GLOB.narcd_underages += H
- // flick(icon_deny,src)
- // vend_ready = TRUE
- // return
- var/datum/bank_account/account = C.registered_account
- if(account.account_job && account.account_job.paycheck_department == payment_department)
- price_to_use = 0
- if(coin_records.Find(R) || hidden_records.Find(R))
- price_to_use = R.custom_premium_price ? R.custom_premium_price : extra_price
- if(price_to_use && !account.adjust_money(-price_to_use))
- say("You do not possess the funds to purchase [R.name].")
- flick(icon_deny,src)
- vend_ready = TRUE
- return
- var/datum/bank_account/D = SSeconomy.get_dep_account(payment_department)
- if(D)
- D.adjust_money(price_to_use)
- SSblackbox.record_feedback("amount", "vending_spent", price_to_use)
- //log_econ("[price_to_use] credits were inserted into [src] by [D.account_holder] to buy [R].")
- if(last_shopper != usr || purchase_message_cooldown < world.time)
- say("Thank you for shopping with [src]!")
- purchase_message_cooldown = world.time + 5 SECONDS
- last_shopper = usr
- use_power(5)
- if(icon_vend) //Show the vending animation if needed
- flick(icon_vend,src)
- playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3)
- var/obj/item/vended = new R.product_path(get_turf(src))
- R.amount--
- if(usr.CanReach(src) && usr.put_in_hands(vended))
- to_chat(usr, "You take [R.name] out of the slot.")
- else
- to_chat(usr, "[capitalize(R.name)] falls onto the floor!")
- SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]"))
+/obj/machinery/vending/proc/can_vend(user, silent=FALSE)
+ . = FALSE
+ if(!vend_ready)
+ return
+ if(panel_open)
+ to_chat(user, span_warning("The vending machine cannot dispense products while its service panel is open!"))
+ return
+ return TRUE
+
+// /obj/machinery/vending/proc/select_colors(list/params)
+// . = TRUE
+// if(!can_vend(usr))
+// return
+// var/datum/data/vending_product/product = locate(params["ref"])
+// var/atom/fake_atom = product.product_path
+
+// var/list/allowed_configs = list()
+// var/config = initial(fake_atom.greyscale_config)
+// if(!config)
+// return
+// allowed_configs += "[config]"
+// if(ispath(fake_atom, /obj/item))
+// var/obj/item/item = fake_atom
+// if(initial(item.greyscale_config_worn))
+// allowed_configs += "[initial(item.greyscale_config_worn)]"
+// if(initial(item.greyscale_config_inhand_left))
+// allowed_configs += "[initial(item.greyscale_config_inhand_left)]"
+// if(initial(item.greyscale_config_inhand_right))
+// allowed_configs += "[initial(item.greyscale_config_inhand_right)]"
+
+// var/datum/greyscale_modify_menu/menu = new(
+// src, usr, allowed_configs, CALLBACK(src, .proc/vend_greyscale, params),
+// starting_icon_state=initial(fake_atom.icon_state),
+// starting_config=initial(fake_atom.greyscale_config),
+// starting_colors=initial(fake_atom.greyscale_colors)
+// )
+// menu.ui_interact(usr)
+
+// /obj/machinery/vending/proc/vend_greyscale(list/params, datum/greyscale_modify_menu/menu)
+// if(usr != menu.user)
+// return
+// if(!menu.target.can_interact(usr))
+// return
+// vend(params, menu.split_colors)
+
+/obj/machinery/vending/proc/vend(list/params, list/greyscale_colors)
+ . = TRUE
+ if(!can_vend(usr))
+ return
+ vend_ready = FALSE //One thing at a time!!
+ var/datum/data/vending_product/R = locate(params["ref"])
+ var/list/record_to_check = product_records + coin_records
+ if(extended_inventory)
+ record_to_check = product_records + coin_records + hidden_records
+ if(!R || !istype(R) || !R.product_path)
+ vend_ready = TRUE
+ return
+ var/price_to_use = default_price
+ if(R.custom_price)
+ price_to_use = R.custom_price
+ if(R in hidden_records)
+ if(!extended_inventory)
vend_ready = TRUE
+ return
+ else if (!(R in record_to_check))
+ vend_ready = TRUE
+ message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!")
+ return
+ if (R.amount <= 0)
+ say("Sold out of [R.name].")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ if(onstation)
+ var/obj/item/card/id/C
+ if(isliving(usr))
+ var/mob/living/L = usr
+ C = L.get_idcard(TRUE)
+ if(!C)
+ say("No card found.")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ else if (!C.registered_account)
+ say("No account found.")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ else if(!C.registered_account.account_job)
+ say("Departmental accounts have been blacklisted from personal expenses due to embezzlement.")
+ flick(icon_deny, src)
+ vend_ready = TRUE
+ return
+ // else if(age_restrictions && R.age_restricted && (!C.registered_age || C.registered_age < AGE_MINOR))
+ // say("You are not of legal age to purchase [R.name].")
+ // if(!(usr in GLOB.narcd_underages))
+ // Radio.set_frequency(FREQ_SECURITY)
+ // Radio.talk_into(src, "SECURITY ALERT: Underaged crewmember [usr] recorded attempting to purchase [R.name] in [get_area(src)]. Please watch for substance abuse.", FREQ_SECURITY)
+ // GLOB.narcd_underages += usr
+ // flick(icon_deny,src)
+ // vend_ready = TRUE
+ // return
+ var/datum/bank_account/account = C.registered_account
-/obj/machinery/vending/process()
+ var/discounts = FALSE
+ try // too lazy, and i do NOT want to use for() to check, as & is faster
+ discounts = !!(cost_multiplier_per_dept.len > 0 && (cost_multiplier_per_dept & account.account_job.access) > 0)
+ catch
+ // L
+ discounts = FALSE
+
+ if(account.account_job && account.account_job.paycheck_department == payment_department || discounts)
+ price_to_use = 0 // it's free shut up
+ if(coin_records.Find(R) || hidden_records.Find(R))
+ price_to_use = R.custom_premium_price ? R.custom_premium_price : extra_price
+ if(price_to_use && !account.adjust_money(-price_to_use))
+ say("You do not possess the funds to purchase [R.name].")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ var/datum/bank_account/D = SSeconomy.get_dep_account(payment_department)
+ if(D)
+ D.adjust_money(price_to_use)
+ SSblackbox.record_feedback("amount", "vending_spent", price_to_use)
+ // log_econ("[price_to_use] credits were inserted into [src] by [D.account_holder] to buy [R].")
+ if(last_shopper != REF(usr) || purchase_message_cooldown < world.time)
+ say("Thank you for shopping with [src]!")
+ purchase_message_cooldown = world.time + 5 SECONDS
+ //This is not the best practice, but it's safe enough here since the chances of two people using a machine with the same ref in 5 seconds is fuck low
+ last_shopper = REF(usr)
+ use_power(5)
+ if(icon_vend) //Show the vending animation if needed
+ flick(icon_vend,src)
+ playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3)
+ var/obj/item/vended_item = new R.product_path(get_turf(src))
+ // if(greyscale_colors)
+ // vended_item.set_greyscale(colors=greyscale_colors)
+ R.amount--
+ if(usr.CanReach(src) && usr.put_in_hands(vended_item))
+ to_chat(usr, span_notice("You take [R.name] out of the slot."))
+ else
+ to_chat(usr, span_warning("[capitalize(R.name)] falls onto the floor!"))
+ SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]"))
+ vend_ready = TRUE
+
+/obj/machinery/vending/process(delta_time)
if(stat & (BROKEN|NOPOWER))
return PROCESS_KILL
if(!active)
@@ -840,21 +941,21 @@ GLOBAL_LIST_EMPTY(vending_products)
seconds_electrified--
//Pitch to the people! Really sell it!
- if(last_slogan + slogan_delay <= world.time && slogan_list.len > 0 && !shut_up && prob(5))
+ if(last_slogan + slogan_delay <= world.time && slogan_list.len > 0 && !shut_up && DT_PROB(2.5, delta_time))
var/slogan = pick(slogan_list)
speak(slogan)
last_slogan = world.time
- if(shoot_inventory && prob(shoot_inventory_chance))
+ if(shoot_inventory && DT_PROB(shoot_inventory_chance, delta_time))
throw_item()
/**
- * Speak the given message verbally
- *
- * Checks if the machine is powered and the message exists
- *
- * Arguments:
- * * message - the message to speak
- */
+ * Speak the given message verbally
+ *
+ * Checks if the machine is powered and the message exists
+ *
+ * Arguments:
+ * * message - the message to speak
+ */
/obj/machinery/vending/proc/speak(message)
if(stat & (BROKEN|NOPOWER))
return
@@ -863,25 +964,6 @@ GLOBAL_LIST_EMPTY(vending_products)
say(message)
-/**
- * Gets the best discount from a given ID card, comparing its access and paycheck depart with cost_multiplier_per_dept.
- * It only applies to the regular selection, not premium or contraband. And a bank account is still required.
- * But it can also be used to charge more to certain departments or accesses. :)
- *
- * Arguments:
- * * list/dept_access_list - the list to compare
- */
-/obj/machinery/vending/proc/get_best_discount(obj/item/card/id/C)
- var/list/discounts = NUMLIST2TEXTLIST(C.GetAccess())
- if(C.registered_account?.account_job)
- discounts += C.registered_account.account_job.paycheck_department
- discounts &= cost_multiplier_per_dept
- if(!length(discounts))
- return 1
- . = INFINITY
- for(var/k in discounts)
- . = min(cost_multiplier_per_dept[k], .)
-
/obj/machinery/vending/power_change()
. = ..()
if(powered())
@@ -889,22 +971,24 @@ GLOBAL_LIST_EMPTY(vending_products)
//Somebody cut an important wire and now we're following a new definition of "pitch."
/**
- * Throw an item from our internal inventory out in front of us
- *
- * This is called when we are hacked, it selects a random product from the records that has an amount > 0
- * This item is then created and tossed out in front of us with a visible message
- */
+ * Throw an item from our internal inventory out in front of us
+ *
+ * This is called when we are hacked, it selects a random product from the records that has an amount > 0
+ * This item is then created and tossed out in front of us with a visible message
+ */
/obj/machinery/vending/proc/throw_item()
var/obj/throw_item = null
- var/mob/living/target = locate() in view(7, src)
+ var/mob/living/target = locate() in view(7,src)
if(!target)
return FALSE
+
for(var/datum/data/vending_product/R in shuffle(product_records))
if(R.amount <= 0) //Try to use a record that actually has something to dump.
continue
var/dump_path = R.product_path
if(!dump_path)
continue
+
R.amount--
throw_item = new dump_path(loc)
break
@@ -914,30 +998,30 @@ GLOBAL_LIST_EMPTY(vending_products)
pre_throw(throw_item)
throw_item.throw_at(target, 16, 3)
- visible_message("[src] launches [throw_item] at [target]!")
+ visible_message(span_danger("[src] launches [throw_item] at [target]!"))
return TRUE
/**
- * A callback called before an item is tossed out
- *
- * Override this if you need to do any special case handling
- *
- * Arguments:
- * * I - obj/item being thrown
- */
+ * A callback called before an item is tossed out
+ *
+ * Override this if you need to do any special case handling
+ *
+ * Arguments:
+ * * I - obj/item being thrown
+ */
/obj/machinery/vending/proc/pre_throw(obj/item/I)
return
/**
- * Shock the passed in user
- *
- * This checks we have power and that the passed in prob is passed, then generates some sparks
- * and calls electrocute_mob on the user
- *
- * Arguments:
- * * user - the user to shock
- * * prb - probability the shock happens
- */
+ * Shock the passed in user
+ *
+ * This checks we have power and that the passed in prob is passed, then generates some sparks
+ * and calls electrocute_mob on the user
+ *
+ * Arguments:
+ * * user - the user to shock
+ * * prb - probability the shock happens
+ */
/obj/machinery/vending/proc/shock(mob/living/user, prb)
- if(!istype(user) || stat & (BROKEN|NOPOWER)) // unpowered, no shock
+ if(!istype(user) || stat & (BROKEN|NOPOWER)) // unpowered, no shock
return FALSE
if(!prob(prb))
return FALSE
@@ -948,24 +1032,39 @@ GLOBAL_LIST_EMPTY(vending_products)
else
return FALSE
/**
- * Are we able to load the item passed in
- *
- * Arguments:
- * * I - the item being loaded
- * * user - the user doing the loading
- */
+ * Are we able to load the item passed in
+ *
+ * Arguments:
+ * * I - the item being loaded
+ * * user - the user doing the loading
+ */
/obj/machinery/vending/proc/canLoadItem(obj/item/I, mob/user)
return FALSE
-/obj/machinery/vending/onTransitZ()
- return
+/obj/machinery/vending/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
+ . = ..()
+ var/mob/living/L = AM
+ if(tilted || !istype(L) || !prob(20 * (throwingdatum.speed - L.throw_speed))) // hulk throw = +20%, neckgrab throw = +20%
+ return
+
+ tilt(L)
+
+/obj/machinery/vending/attack_tk_grab(mob/user)
+ to_chat(user, span_warning("[src] seems to resist your mental grasp!"))
+
+///Crush the mob that the vending machine got thrown at
+/obj/machinery/vending/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
+ if(isliving(hit_atom))
+ tilt(fatty=hit_atom)
+ return ..()
/obj/machinery/vending/custom
name = "Custom Vendor"
- icon_state = "robotics"
- icon_deny = "robotics-deny"
+ icon_state = "custom"
+ icon_deny = "custom-deny"
max_integrity = 400
payment_department = NO_FREEBIES
+ light_mask = "custom-light-mask"
refill_canister = /obj/item/vending_refill/custom
/// where the money is sent
var/datum/bank_account/private_a
@@ -976,21 +1075,23 @@ GLOBAL_LIST_EMPTY(vending_products)
/obj/machinery/vending/custom/compartmentLoadAccessCheck(mob/user)
. = FALSE
- var/mob/living/carbon/human/H
- var/obj/item/card/id/C
- if(ishuman(user))
- H = user
- C = H.get_idcard(FALSE)
- if(C?.registered_account && C.registered_account == private_a)
- return TRUE
+ if(!isliving(user))
+ return FALSE
+ var/mob/living/L = user
+ var/obj/item/card/id/C = L.get_idcard(FALSE)
+ if(C?.registered_account && C.registered_account == private_a)
+ return TRUE
/obj/machinery/vending/custom/canLoadItem(obj/item/I, mob/user)
. = FALSE
+ if(I.flags_1 & HOLOGRAM_1)
+ say("This vendor cannot accept nonexistent items.")
+ return
if(loaded_items >= max_loaded_items)
say("There are too many items in stock.")
return
if(istype(I, /obj/item/stack))
- say("Loose items may cause problems, try use it inside wrapping paper.")
+ say("Loose items may cause problems, try to use it inside wrapping paper.")
return
if(I.custom_price)
return TRUE
@@ -1004,19 +1105,21 @@ GLOBAL_LIST_EMPTY(vending_products)
var/base64
var/price = 0
for(var/obj/T in contents)
- if(T.name == O)
+ if(format_text(T.name) == O)
price = T.custom_price
if(!base64)
if(base64_cache[T.type])
base64 = base64_cache[T.type]
else
- base64 = icon2base64(icon(T.icon, T.icon_state))
+ base64 = icon2base64(getFlatIcon(T, no_anim=TRUE))
base64_cache[T.type] = base64
break
var/list/data = list(
name = O,
price = price,
- img = base64
+ img = base64,
+ amount = vending_machine_input[O],
+ colorable = FALSE
)
.["vending_machine_input"] += list(data)
@@ -1032,64 +1135,63 @@ GLOBAL_LIST_EMPTY(vending_products)
var/N = params["item"]
var/obj/S
vend_ready = FALSE
- if(ishuman(usr))
- var/mob/living/carbon/human/H = usr
- var/obj/item/card/id/C = H.get_idcard(TRUE)
-
- if(!C)
- say("No card found.")
- flick(icon_deny,src)
+ var/obj/item/card/id/C
+ if(isliving(usr))
+ var/mob/living/L = usr
+ C = L.get_idcard(TRUE)
+ if(!C)
+ say("No card found.")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ else if (!C.registered_account)
+ say("No account found.")
+ flick(icon_deny,src)
+ vend_ready = TRUE
+ return
+ var/datum/bank_account/account = C.registered_account
+ for(var/obj/O in contents)
+ if(format_text(O.name) == N)
+ S = O
+ break
+ if(S)
+ if(compartmentLoadAccessCheck(usr))
+ vending_machine_input[N] = max(vending_machine_input[N] - 1, 0)
+ S.forceMove(drop_location())
+ loaded_items--
+ use_power(5)
vend_ready = TRUE
+ updateUsrDialog()
return
- else if (!C.registered_account)
- say("No account found.")
- flick(icon_deny,src)
+ if(account.has_money(S.custom_price))
+ account.adjust_money(-S.custom_price)
+ var/datum/bank_account/owner = private_a
+ if(owner)
+ owner.adjust_money(S.custom_price)
+ SSblackbox.record_feedback("amount", "vending_spent", S.custom_price)
+ // log_econ("[S.custom_price] credits were spent on [src] buying a [S] by [owner.account_holder], owned by [private_a.account_holder].")
+ vending_machine_input[N] = max(vending_machine_input[N] - 1, 0)
+ S.forceMove(drop_location())
+ loaded_items--
+ use_power(5)
+ if(last_shopper != REF(usr) || purchase_message_cooldown < world.time)
+ say("Thank you for buying local and purchasing [S]!")
+ purchase_message_cooldown = world.time + 5 SECONDS
+ last_shopper = REF(usr)
vend_ready = TRUE
+ updateUsrDialog()
return
- var/datum/bank_account/account = C.registered_account
- for(var/obj/O in contents)
- if(O.name == N)
- S = O
- break
- if(S)
- if(compartmentLoadAccessCheck(usr))
- vending_machine_input[N] = max(vending_machine_input[N] - 1, 0)
- S.forceMove(drop_location())
- loaded_items--
- use_power(5)
- vend_ready = TRUE
- updateUsrDialog()
- return
- if(account.has_money(S.custom_price))
- account.adjust_money(-S.custom_price)
- var/datum/bank_account/owner = private_a
- if(owner)
- owner.adjust_money(S.custom_price)
- vending_machine_input[N] = max(vending_machine_input[N] - 1, 0)
- S.forceMove(drop_location())
- loaded_items--
- use_power(5)
- if(last_shopper != usr || purchase_message_cooldown < world.time)
- say("Thank you for buying local and purchasing [S]!")
- purchase_message_cooldown = world.time + 5 SECONDS
- last_shopper = usr
- vend_ready = TRUE
- updateUsrDialog()
- return
- else
- say("You do not possess the funds to purchase this.")
+ else
+ say("You do not possess the funds to purchase this.")
vend_ready = TRUE
/obj/machinery/vending/custom/attackby(obj/item/I, mob/user, params)
- if(!private_a)
- var/mob/living/carbon/human/H
- var/obj/item/card/id/C
- if(ishuman(user))
- H = user
- C = H.get_idcard(TRUE)
- if(C?.registered_account)
- private_a = C.registered_account
- say("[src] has been linked to [C].")
+ if(!private_a && isliving(user))
+ var/mob/living/L = user
+ var/obj/item/card/id/C = L.get_idcard(TRUE)
+ if(C?.registered_account)
+ private_a = C.registered_account
+ say("\The [src] has been linked to [C].")
if(compartmentLoadAccessCheck(user))
if(istype(I, /obj/item/pen))
@@ -1099,15 +1201,6 @@ GLOBAL_LIST_EMPTY(vending_products)
last_slogan = world.time + rand(0, slogan_delay)
return
- if(canLoadItem(I))
- loadingAttempt(I,user)
- updateUsrDialog()
- return
-
- if(panel_open && is_wire_tool(I))
- wires.interact(user)
- return
-
return ..()
/obj/machinery/vending/custom/crowbar_act(mob/living/user, obj/item/I)
@@ -1119,7 +1212,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(T)
for(var/obj/item/I in contents)
I.forceMove(T)
- explosion(T, -1, 0, 3)
+ explosion(src, devastation_range = -1, light_impact_range = 3)
return ..()
/obj/machinery/vending/custom/unbreakable
@@ -1142,7 +1235,7 @@ GLOBAL_LIST_EMPTY(vending_products)
/obj/item/price_tagger/attack_self(mob/user)
price = max(1, round(input(user,"set price","price") as num|null, 1))
- to_chat(user, " The [src] will now give things a [price] cr tag.")
+ to_chat(user, span_notice(" The [src] will now give things a [price] cr tag."))
/obj/item/price_tagger/afterattack(atom/target, mob/user, proximity)
. = ..()
@@ -1151,4 +1244,23 @@ GLOBAL_LIST_EMPTY(vending_products)
if(isitem(target))
var/obj/item/I = target
I.custom_price = price
- to_chat(user, "You set the price of [I] to [price] cr.")
+ to_chat(user, span_notice("You set the price of [I] to [price] cr."))
+
+/obj/machinery/vending/custom/greed //name and like decided by the spawn
+ icon_state = "greed"
+ icon_deny = "greed-deny"
+ light_mask = "greed-light-mask"
+ custom_materials = list(/datum/material/gold = MINERAL_MATERIAL_AMOUNT * 5)
+
+/obj/machinery/vending/custom/greed/Initialize(mapload)
+ . = ..()
+ //starts in a state where you can move it
+ panel_open = TRUE
+ set_anchored(FALSE)
+ add_overlay("[initial(icon_state)]-panel")
+ //and references the deity
+ name = "[GLOB.deity]'s Consecrated Vendor"
+ desc = "A vending machine created by [GLOB.deity]."
+ slogan_list = list("[GLOB.deity] says: It's your divine right to buy!")
+ add_filter("vending_outline", 9, list("type" = "outline", "color" = COLOR_VERY_SOFT_YELLOW))
+ add_filter("vending_rays", 10, list("type" = "rays", "size" = 35, "color" = COLOR_VIVID_YELLOW))
diff --git a/code/modules/vending/assist.dm b/code/modules/vending/assist.dm
index 29d1e760d4..9ab384111b 100644
--- a/code/modules/vending/assist.dm
+++ b/code/modules/vending/assist.dm
@@ -1,4 +1,9 @@
/obj/machinery/vending/assist
+ name = "\improper Part-Mart"
+ desc = "All the finest of miscellaneous electronics one could ever need! Not responsible for any injuries caused by reckless misuse of parts."
+ // icon_state = "parts"
+ // icon_deny = "parts-deny"
+
products = list(/obj/item/assembly/prox_sensor = 7,
/obj/item/assembly/igniter = 6,
/obj/item/assembly/playback = 4,
@@ -15,13 +20,13 @@
premium = list(/obj/item/stock_parts/cell/upgraded/plus = 2,
/obj/item/flashlight/lantern = 2,
/obj/item/beacon = 2)
- product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
refill_canister = /obj/item/vending_refill/assist
- resistance_flags = FIRE_PROOF
+ product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
default_price = PRICE_REALLY_CHEAP
extra_price = PRICE_ALMOST_CHEAP
payment_department = NO_FREEBIES
+ // light_mask = "parts-light-mask"
/obj/item/vending_refill/assist
- icon_state = "refill_engi"
+ machine_name = "Part-Mart"
+ icon_state = "refill_parts"
diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm
index 264d262a1d..f1fbb95ff2 100644
--- a/code/modules/vending/autodrobe.dm
+++ b/code/modules/vending/autodrobe.dm
@@ -3,32 +3,39 @@
desc = "A vending machine for costumes."
icon_state = "theater"
icon_deny = "theater-deny"
+ req_access = list(ACCESS_THEATRE)
product_slogans = "Dress for success!;Suited and booted!;It's show time!;Why leave style up to fate? Use AutoDrobe!"
vend_reply = "Thank you for using AutoDrobe!"
products = list(/obj/item/clothing/suit/chickensuit = 1,
- /obj/item/clothing/head/chicken = 1,
- /obj/item/clothing/under/costume/gladiator = 1,
- /obj/item/clothing/head/helmet/gladiator = 1,
- /obj/item/clothing/under/rank/captain/suit = 1,
- /obj/item/clothing/head/flatcap = 1,
- /obj/item/clothing/suit/toggle/labcoat/mad = 1,
- /obj/item/clothing/shoes/jackboots = 1,
- /obj/item/clothing/under/costume/schoolgirl = 1,
- /obj/item/clothing/under/costume/schoolgirl/red = 1,
- /obj/item/clothing/under/costume/schoolgirl/green = 1,
- /obj/item/clothing/under/costume/schoolgirl/orange = 1,
- /obj/item/clothing/head/kitty = 1,
- /obj/item/clothing/under/dress/skirt = 1,
- /obj/item/clothing/head/beret = 1,
- /obj/item/clothing/accessory/waistcoat = 1,
- /obj/item/clothing/under/suit/black = 1,
- /obj/item/clothing/head/that = 1,
- /obj/item/clothing/under/costume/kilt = 1,
- /obj/item/clothing/head/beret = 1,
- /obj/item/clothing/accessory/waistcoat = 1,
- /obj/item/clothing/glasses/monocle =1,
- /obj/item/clothing/head/bowler = 1,
- /obj/item/cane = 1,
+ /obj/item/clothing/head/chicken = 1,
+ /obj/item/clothing/under/rank/civilian/clown/blue = 1,
+ /obj/item/clothing/under/rank/civilian/clown/green = 1,
+ /obj/item/clothing/under/rank/civilian/clown/yellow = 1,
+ /obj/item/clothing/under/rank/civilian/clown/orange = 1,
+ /obj/item/clothing/under/rank/civilian/clown/purple = 1,
+ /obj/item/clothing/under/costume/gladiator = 1,
+ /obj/item/clothing/head/helmet/gladiator = 1,
+ /obj/item/clothing/under/rank/captain/suit = 1,
+ /obj/item/clothing/under/rank/captain/suit/skirt = 1,
+ /obj/item/clothing/head/flatcap = 1,
+ /obj/item/clothing/suit/toggle/labcoat/mad = 1,
+ /obj/item/clothing/shoes/jackboots = 1,
+ /obj/item/clothing/under/costume/schoolgirl = 1,
+ /obj/item/clothing/under/costume/schoolgirl/red = 1,
+ /obj/item/clothing/under/costume/schoolgirl/green = 1,
+ /obj/item/clothing/under/costume/schoolgirl/orange = 1,
+ /obj/item/clothing/head/kitty = 1,
+ /obj/item/clothing/under/dress/skirt = 1,
+ /obj/item/clothing/head/beret = 1,
+ /obj/item/clothing/accessory/waistcoat = 1,
+ /obj/item/clothing/under/suit/black = 1,
+ /obj/item/clothing/head/that = 1,
+ /obj/item/clothing/under/costume/kilt = 1,
+ /obj/item/clothing/head/beret = 3,
+ /obj/item/clothing/accessory/waistcoat = 1,
+ /obj/item/clothing/glasses/monocle =1,
+ /obj/item/clothing/head/bowler = 1,
+ /obj/item/cane = 1,
/obj/item/clothing/under/rank/civilian/victorian_redsleeves = 1,
/obj/item/clothing/under/rank/civilian/victorian_redvest = 1,
/obj/item/clothing/under/rank/civilian/victorian_vest = 1,
@@ -39,110 +46,111 @@
/obj/item/clothing/under/rank/civilian/victorianblackdress = 1,
/obj/item/clothing/suit/vickyblack =1,
/obj/item/clothing/under/rank/civilian/dutch = 2,
- /obj/item/clothing/under/suit/sl = 1,
- /obj/item/clothing/mask/fakemoustache = 1,
- /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,
- /obj/item/clothing/head/plaguedoctorhat = 1,
- /obj/item/clothing/mask/gas/plaguedoctor = 1,
- /obj/item/clothing/suit/toggle/owlwings = 1,
- /obj/item/clothing/under/costume/owl = 1,
- /obj/item/clothing/mask/gas/owl_mask = 1,
- /obj/item/clothing/suit/toggle/owlwings/griffinwings = 1,
- /obj/item/clothing/under/costume/griffin = 1,
- /obj/item/clothing/shoes/griffin = 1,
- /obj/item/clothing/head/griffin = 1,
- /obj/item/clothing/suit/apron = 1,
- /obj/item/clothing/under/suit/waiter = 1,
- /obj/item/clothing/suit/jacket/miljacket = 1,
- /obj/item/clothing/under/costume/pirate = 1,
- /obj/item/clothing/suit/pirate = 1,
- /obj/item/clothing/head/pirate = 1,
- /obj/item/clothing/head/bandana = 1,
- /obj/item/clothing/head/bandana = 1,
- /obj/item/clothing/under/costume/soviet = 1,
- /obj/item/clothing/head/ushanka = 1,
- /obj/item/clothing/suit/imperium_monk = 1,
- /obj/item/clothing/mask/gas/cyborg = 1,
- /obj/item/clothing/suit/chaplain/holidaypriest = 1,
- /obj/item/clothing/head/wizard/marisa/fake = 1,
- /obj/item/clothing/suit/wizrobe/marisa/fake = 1,
- /obj/item/clothing/under/dress/sundress = 1,
- /obj/item/clothing/head/witchwig = 1,
- /obj/item/staff/broom = 1,
- /obj/item/clothing/suit/wizrobe/fake = 1,
- /obj/item/clothing/head/wizard/fake = 1,
- /obj/item/staff = 3,
- /obj/item/clothing/under/rank/civilian/mime/skirt = 1,
- /obj/item/clothing/under/rank/captain/suit/skirt = 1,
+ /obj/item/clothing/under/suit/sl = 1,
+ /obj/item/clothing/mask/fakemoustache = 1,
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,
+ /obj/item/clothing/head/plaguedoctorhat = 1,
+ /obj/item/clothing/mask/gas/plaguedoctor = 1,
+ /obj/item/clothing/suit/toggle/owlwings = 1,
+ /obj/item/clothing/under/costume/owl = 1,
+ /obj/item/clothing/mask/gas/owl_mask = 1,
+ /obj/item/clothing/suit/toggle/owlwings/griffinwings = 1,
+ /obj/item/clothing/under/costume/griffin = 1,
+ /obj/item/clothing/shoes/griffin = 1,
+ /obj/item/clothing/head/griffin = 1,
+ /obj/item/clothing/suit/apron = 1,
+ /obj/item/clothing/under/suit/waiter = 1,
+ /obj/item/clothing/suit/jacket/miljacket = 1,
+ /obj/item/clothing/under/costume/pirate = 1,
+ /obj/item/clothing/suit/pirate = 1,
+ /obj/item/clothing/head/pirate = 1,
+ /obj/item/clothing/head/bandana = 1,
+ /obj/item/clothing/head/bandana = 1,
+ /obj/item/clothing/under/costume/soviet = 1,
+ /obj/item/clothing/head/ushanka = 1,
+ /obj/item/clothing/suit/imperium_monk = 1,
+ /obj/item/clothing/mask/gas/cyborg = 1,
+ /obj/item/clothing/suit/chaplain/holidaypriest = 1,
+ /obj/item/clothing/head/wizard/marisa/fake = 1,
+ /obj/item/clothing/suit/wizrobe/marisa/fake = 1,
+ /obj/item/clothing/under/dress/sundress = 1,
+ /obj/item/clothing/head/witchwig = 1,
+ /obj/item/staff/broom = 1,
+ /obj/item/clothing/suit/wizrobe/fake = 1,
+ /obj/item/clothing/head/wizard/fake = 1,
+ /obj/item/staff = 3,
/obj/item/clothing/mask/gas/clown_hat/sexy = 1,
- /obj/item/clothing/under/rank/civilian/clown/sexy = 1,
+ /obj/item/clothing/under/rank/civilian/clown/sexy = 1,
/obj/item/clothing/mask/gas/mime/sexy = 1,
- /obj/item/clothing/under/rank/civilian/mime/sexy = 1,
- /obj/item/clothing/mask/rat/bat = 1,
- /obj/item/clothing/mask/rat/bee = 1,
- /obj/item/clothing/mask/rat/bear = 1,
- /obj/item/clothing/mask/rat/raven = 1,
- /obj/item/clothing/mask/rat/jackal = 1,
- /obj/item/clothing/mask/rat/fox = 1,
- /obj/item/clothing/mask/frog = 1,
- /obj/item/clothing/mask/rat/tribal = 1,
- /obj/item/clothing/mask/rat = 1,
- /obj/item/clothing/suit/apron/overalls = 1,
- /obj/item/clothing/head/rabbitears =1,
- /obj/item/clothing/head/sombrero = 1,
- /obj/item/clothing/head/sombrero/green = 1,
- /obj/item/clothing/suit/poncho = 1,
- /obj/item/clothing/suit/poncho/green = 1,
- /obj/item/clothing/suit/poncho/red = 1,
- /obj/item/clothing/head/maid = 1,
- /obj/item/clothing/under/costume/maid = 1,
- /obj/item/clothing/under/rank/civilian/janitor/maid = 1,
+ /obj/item/clothing/under/rank/civilian/mime/sexy = 1,
+ /obj/item/clothing/under/rank/civilian/mime/skirt = 1,
+ /obj/item/clothing/mask/rat/bat = 1,
+ /obj/item/clothing/mask/rat/bee = 1,
+ /obj/item/clothing/mask/rat/bear = 1,
+ /obj/item/clothing/mask/rat/raven = 1,
+ /obj/item/clothing/mask/rat/jackal = 1,
+ /obj/item/clothing/mask/rat/fox = 1,
+ /obj/item/clothing/mask/frog = 1,
+ /obj/item/clothing/mask/rat/tribal = 1,
+ /obj/item/clothing/mask/rat = 1,
+ /obj/item/clothing/suit/apron/overalls = 1,
+ /obj/item/clothing/head/rabbitears =1,
+ /obj/item/clothing/head/sombrero = 1,
+ /obj/item/clothing/head/sombrero/green = 1,
+ /obj/item/clothing/suit/poncho = 1,
+ /obj/item/clothing/suit/poncho/green = 1,
+ /obj/item/clothing/suit/poncho/red = 1,
+ /obj/item/clothing/head/maid = 1,
+ /obj/item/clothing/under/costume/maid = 1,
+ /obj/item/clothing/under/rank/civilian/janitor/maid = 1,
/obj/item/clothing/gloves/evening = 1,
- /obj/item/clothing/glasses/cold=1,
- /obj/item/clothing/glasses/heat=1,
- /obj/item/clothing/suit/whitedress = 1,
- /obj/item/clothing/under/rank/civilian/clown/jester = 1,
- /obj/item/clothing/head/jester = 1,
- /obj/item/clothing/under/costume/villain = 1,
- /obj/item/clothing/shoes/singery = 1,
- /obj/item/clothing/under/costume/singer/yellow = 1,
- /obj/item/clothing/shoes/singerb = 1,
- /obj/item/clothing/under/costume/singer/blue = 1,
- /obj/item/clothing/suit/hooded/carp_costume = 1,
- /obj/item/clothing/suit/hooded/ian_costume = 1,
- /obj/item/clothing/suit/hooded/bee_costume = 1,
- /obj/item/clothing/suit/snowman = 1,
- /obj/item/clothing/head/snowman = 1,
- /obj/item/clothing/mask/joy = 1,
- /obj/item/clothing/head/cueball = 1,
- /obj/item/clothing/under/suit/white_on_white = 1,
- /obj/item/clothing/under/costume/sailor = 1,
- /obj/item/clothing/ears/headphones = 2,
- /obj/item/clothing/head/wig/random = 3,
- /obj/item/clothing/suit/ran = 2,
- /obj/item/clothing/head/ran = 2,
- /obj/item/clothing/mask/gas/timidcostume = 3,
- /obj/item/clothing/suit/hooded/wintercoat/timidcostume = 3,
- /obj/item/clothing/shoes/timidcostume = 3,
- /obj/item/clothing/mask/gas/timidcostume/man = 3,
- /obj/item/clothing/suit/hooded/wintercoat/timidcostume/man = 3,
- /obj/item/clothing/shoes/timidcostume/man = 3,
- )
+ /obj/item/clothing/glasses/cold=1,
+ /obj/item/clothing/glasses/heat=1,
+ /obj/item/clothing/suit/whitedress = 1,
+ /obj/item/clothing/under/rank/civilian/clown/jester = 1,
+ /obj/item/clothing/head/jester = 1,
+ /obj/item/clothing/under/costume/villain = 1,
+ /obj/item/clothing/shoes/singery = 1,
+ /obj/item/clothing/under/costume/singer/yellow = 1,
+ /obj/item/clothing/shoes/singerb = 1,
+ /obj/item/clothing/under/costume/singer/blue = 1,
+ /obj/item/clothing/suit/hooded/carp_costume = 1,
+ /obj/item/clothing/suit/hooded/ian_costume = 1,
+ /obj/item/clothing/suit/hooded/bee_costume = 1,
+ /obj/item/clothing/suit/snowman = 1,
+ /obj/item/clothing/head/snowman = 1,
+ /obj/item/clothing/mask/joy = 1,
+ /obj/item/clothing/head/cueball = 1,
+ /obj/item/clothing/under/suit/white_on_white = 1,
+ /obj/item/clothing/under/costume/sailor = 1,
+ /obj/item/clothing/ears/headphones = 2,
+ /obj/item/clothing/head/wig/random = 3,
+ /obj/item/clothing/suit/ran = 2,
+ /obj/item/clothing/head/ran = 2,
+ /obj/item/clothing/mask/gas/timidcostume = 3,
+ /obj/item/clothing/suit/hooded/wintercoat/timidcostume = 3,
+ /obj/item/clothing/shoes/timidcostume = 3,
+ /obj/item/clothing/mask/gas/timidcostume/man = 3,
+ /obj/item/clothing/suit/hooded/wintercoat/timidcostume/man = 3,
+ /obj/item/clothing/shoes/timidcostume/man = 3,
+ )
contraband = list(/obj/item/clothing/suit/judgerobe = 1,
- /obj/item/clothing/head/powdered_wig = 1,
- /obj/item/gun/magic/wand = 2,
- /obj/item/clothing/glasses/sunglasses/garb = 2,
- /obj/item/clothing/glasses/sunglasses/blindfold = 1,
- /obj/item/clothing/mask/muzzle = 2,
- /obj/item/clothing/under/syndicate/camo/cosmetic = 3)
+ /obj/item/clothing/head/powdered_wig = 1,
+ /obj/item/gun/magic/wand = 2,
+ /obj/item/clothing/glasses/sunglasses/garb = 2,
+ /obj/item/clothing/glasses/sunglasses/blindfold = 1,
+ /obj/item/clothing/mask/muzzle = 2,
+ /obj/item/clothing/under/syndicate/camo/cosmetic = 3
+ )
premium = list(/obj/item/clothing/suit/pirate/captain = 2,
- /obj/item/clothing/head/pirate/captain = 2,
- /obj/item/clothing/head/helmet/roman/fake = 1,
- /obj/item/clothing/head/helmet/roman/legionnaire/fake = 1,
- /obj/item/clothing/under/costume/roman = 1,
- /obj/item/clothing/shoes/roman = 1,
- /obj/item/shield/riot/roman/fake = 1,
- /obj/item/skub = 1,
+ /obj/item/clothing/head/pirate/captain = 2,
+ /obj/item/clothing/under/rank/civilian/clown/rainbow = 1,
+ /obj/item/clothing/head/helmet/roman/fake = 1,
+ /obj/item/clothing/head/helmet/roman/legionnaire/fake = 1,
+ /obj/item/clothing/under/costume/roman = 1,
+ /obj/item/clothing/shoes/roman = 1,
+ /obj/item/shield/riot/roman/fake = 1,
+ /obj/item/skub = 1,
/obj/item/clothing/under/costume/lobster = 1,
/obj/item/clothing/head/lobsterhat = 1,
/obj/item/clothing/head/drfreezehat = 1,
@@ -157,11 +165,11 @@
/obj/item/clothing/head/christmashat = 3,
/obj/item/clothing/head/christmashatg = 3,
/obj/item/clothing/under/costume/drfreeze = 1)
-
refill_canister = /obj/item/vending_refill/autodrobe
default_price = PRICE_ALMOST_CHEAP
extra_price = PRICE_ALMOST_EXPENSIVE
payment_department = ACCOUNT_SRV
+ light_mask="theater-light-mask"
/obj/machinery/vending/autodrobe/Initialize()
. = ..()
@@ -170,6 +178,10 @@
/obj/machinery/vending/autodrobe/canLoadItem(obj/item/I,mob/user)
return (I.type in products)
+/obj/machinery/vending/autodrobe/all_access
+ desc = "A vending machine for costumes. This model appears to have no access restrictions."
+ req_access = null
+
/obj/item/vending_refill/autodrobe
machine_name = "AutoDrobe"
icon_state = "refill_costume"
diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm
index 87f2a0940b..df57dadd2e 100644
--- a/code/modules/vending/boozeomat.dm
+++ b/code/modules/vending/boozeomat.dm
@@ -41,13 +41,15 @@
premium = list(/obj/item/reagent_containers/glass/bottle/ethanol = 4,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
/obj/item/reagent_containers/food/drinks/bottle/trappist = 5)
+
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
+
refill_canister = /obj/item/vending_refill/boozeomat
default_price = PRICE_ALMOST_CHEAP
extra_price = PRICE_EXPENSIVE
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
+ light_mask = "boozeomat-light-mask"
/obj/machinery/vending/boozeomat/pubby_maint //abandoned bar on Pubbystation
products = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey = 1,
@@ -67,12 +69,14 @@
/obj/item/reagent_containers/food/drinks/drinkingglass = 6,
/obj/item/reagent_containers/food/drinks/ice = 1,
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 4);
+ payment_department = ACCOUNT_SEC
-/obj/machinery/vending/boozeomat/pubby_captain/Initialize()
- . = ..()
- cost_multiplier_per_dept = list("[ACCESS_CAPTAIN]" = 0)
-
+/obj/machinery/vending/boozeomat/all_access
+ desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one. This model appears to have no access restrictions."
+ req_access = null
/obj/machinery/vending/boozeomat/syndicate_access
+ req_access = list(ACCESS_SYNDICATE)
+ age_restrictions = FALSE
payment_department = NO_FREEBIES
/obj/machinery/vending/boozeomat/syndicate_access/Initialize()
diff --git a/code/modules/vending/cartridge.dm b/code/modules/vending/cartridge.dm
index 69635007c9..db8db77ad4 100644
--- a/code/modules/vending/cartridge.dm
+++ b/code/modules/vending/cartridge.dm
@@ -11,19 +11,18 @@
/obj/item/cartridge/janitor = 10,
/obj/item/cartridge/signal/toxins = 10,
/obj/item/cartridge/roboticist = 10,
- /obj/item/pda/heads = 10)
- premium = list(/obj/item/cartridge/captain = 2,
- /obj/item/cartridge/quartermaster = 2)
+ /obj/item/pda/heads = 10,
+ /obj/item/cartridge/captain = 3,
+ /obj/item/cartridge/quartermaster = 10)
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
refill_canister = /obj/item/vending_refill/cart
resistance_flags = FIRE_PROOF
default_price = PRICE_ALMOST_EXPENSIVE
extra_price = PRICE_ALMOST_ONE_GRAND
payment_department = ACCOUNT_SRV
-
-/obj/machinery/vending/cart/Initialize()
- . = ..()
- cost_multiplier_per_dept = list("[ACCESS_CHANGE_IDS]" = 0)
+ light_mask="cart-light-mask"
/obj/item/vending_refill/cart
- icon_state = "refill_pda"
+ machine_name = "PTech"
+ icon_state = "refill_smoke"
+
diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm
index fa4247575f..269e0aaa7b 100644
--- a/code/modules/vending/cigarette.dm
+++ b/code/modules/vending/cigarette.dm
@@ -17,13 +17,15 @@
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1,
/obj/item/clothing/mask/cigarette/dart = 3)
premium = list(/obj/item/storage/fancy/cigarettes/cigpack_robustgold = 3,
- /obj/item/storage/fancy/cigarettes/cigars = 1,
- /obj/item/storage/fancy/cigarettes/cigars/havana = 1,
- /obj/item/storage/fancy/cigarettes/cigars/cohiba = 1)
+ /obj/item/lighter = 3,
+ /obj/item/storage/fancy/cigarettes/cigars = 1,
+ /obj/item/storage/fancy/cigarettes/cigars/havana = 1,
+ /obj/item/storage/fancy/cigarettes/cigars/cohiba = 1)
refill_canister = /obj/item/vending_refill/cigarette
default_price = PRICE_ALMOST_CHEAP
extra_price = PRICE_ABOVE_NORMAL
payment_department = ACCOUNT_SRV
+ light_mask = "cigs-light-mask"
/obj/machinery/vending/cigarette/syndicate
products = list(/obj/item/storage/fancy/cigarettes/cigpack_syndicate = 7,
@@ -34,7 +36,6 @@
/obj/item/storage/box/matches = 10,
/obj/item/lighter/greyscale = 4,
/obj/item/storage/fancy/rollingpapers = 5)
- payment_department = NO_FREEBIES
/obj/machinery/vending/cigarette/syndicate/Initialize()
. = ..()
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 05166bf2c3..67c376bb98 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -1,10 +1,9 @@
-//DON'T FORGET TO CHANGE THE REFILL SIZE IF YOU CHANGE THE MACHINE'S CONTENTS!
/obj/machinery/vending/clothing
name = "ClothesMate" //renamed to make the slogan rhyme
desc = "A vending machine for clothing."
icon_state = "clothes"
icon_deny = "clothes-deny"
- product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
+ product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this swag!;Why leave style up to fate? Use the ClothesMate!"
vend_reply = "Thank you for using the ClothesMate!"
products = list(/obj/item/clothing/head/that = 4,
/obj/item/clothing/head/fedora = 3,
@@ -164,7 +163,65 @@
/obj/item/clothing/ears/headphones = 10,
/obj/item/clothing/suit/apron/purple_bartender = 4,
/obj/item/clothing/under/rank/civilian/bartender/purple = 4,
-
+ /obj/item/storage/backpack/henchmen = 20,
+ /obj/item/clothing/under/suit/henchmen = 20,
+ /obj/item/clothing/under/costume/yakuza = 20,
+ /obj/item/clothing/shoes/yakuza = 20,
+ /obj/item/clothing/suit/yakuza = 20,
+ /obj/item/clothing/under/costume/jackbros = 20,
+ /obj/item/clothing/shoes/jackbros = 20,
+ /obj/item/clothing/head/jackbros = 20,
+ /obj/item/clothing/under/costume/dutch = 20,
+ /obj/item/clothing/head/bowler = 20,
+ /obj/item/clothing/suit/dutch = 20,
+ /obj/item/clothing/suit/irs = 20,
+ /obj/item/clothing/under/costume/irs = 20,
+ /obj/item/clothing/head/irs = 20,
+ /obj/item/clothing/suit/osi = 20,
+ /obj/item/clothing/under/costume/osi = 20,
+ /obj/item/clothing/glasses/osi = 20,
+ /obj/item/clothing/suit/tmc = 20,
+ /obj/item/clothing/under/costume/tmc = 20,
+ /obj/item/clothing/head/tmc = 20,
+ /obj/item/clothing/suit/pg = 20,
+ /obj/item/clothing/under/costume/pg = 20,
+ /obj/item/clothing/head/pg = 20,
+ /obj/item/clothing/suit/driscoll = 20,
+ /obj/item/clothing/under/costume/driscoll = 20,
+ /obj/item/clothing/mask/gas/driscoll = 20,
+ /obj/item/clothing/suit/deckers = 20,
+ /obj/item/clothing/under/costume/deckers = 20,
+ /obj/item/clothing/head/deckers = 20,
+ /obj/item/clothing/shoes/deckers = 20,
+ /obj/item/clothing/suit/morningstar = 20,
+ /obj/item/clothing/under/costume/morningstar = 20,
+ /obj/item/clothing/head/morningstar = 20,
+ /obj/item/clothing/shoes/morningstar = 20,
+ /obj/item/clothing/suit/saints = 20,
+ /obj/item/clothing/under/costume/saints = 20,
+ /obj/item/clothing/head/saints = 20,
+ /obj/item/clothing/shoes/saints = 20,
+ /obj/item/clothing/suit/phantom = 20,
+ /obj/item/clothing/under/costume/phantom = 20,
+ /obj/item/clothing/glasses/phantom = 20,
+ /obj/item/clothing/shoes/phantom = 20,
+ /obj/item/clothing/suit/allies = 20,
+ /obj/item/clothing/under/costume/allies = 20,
+ /obj/item/clothing/head/allies = 20,
+ /obj/item/clothing/suit/soviet = 20,
+ /obj/item/clothing/under/costume/soviet_families = 20,
+ /obj/item/clothing/head/ushanka/soviet = 20,
+ /obj/item/clothing/suit/yuri = 20,
+ /obj/item/clothing/under/costume/yuri = 20,
+ /obj/item/clothing/head/yuri = 20,
+ /obj/item/clothing/suit/sybil_slickers = 20,
+ /obj/item/clothing/under/costume/sybil_slickers = 20,
+ /obj/item/clothing/head/sybil_slickers = 20,
+ /obj/item/clothing/shoes/sybil_slickers = 20,
+ /obj/item/clothing/suit/basil_boys = 20,
+ /obj/item/clothing/under/costume/basil_boys = 20,
+ /obj/item/clothing/head/basil_boys = 20,
+ /obj/item/clothing/shoes/basil_boys = 20,
/* Commenting out until next Christmas or made automatic
/obj/item/clothing/accessory/sweater/uglyxmas = 3,
/obj/item/clothing/under/costume/christmas = 3,
@@ -232,9 +289,11 @@
/obj/item/clothing/suit/jacket/bluehoodie = 4,
/obj/item/clothing/suit/toggle/jacket/whitehoodie = 4)
refill_canister = /obj/item/vending_refill/clothing
- default_price = PRICE_CHEAP
+ default_price = PRICE_CHEAP //Default of
extra_price = PRICE_BELOW_NORMAL
payment_department = NO_FREEBIES
+ light_mask = "wardrobe-light-mask"
+ light_color = LIGHT_COLOR_ELECTRIC_GREEN
/obj/machinery/vending/clothing/canLoadItem(obj/item/I,mob/user)
return (I.type in products)
diff --git a/code/modules/vending/coffee.dm b/code/modules/vending/coffee.dm
index fd555526c6..cdc794f61b 100644
--- a/code/modules/vending/coffee.dm
+++ b/code/modules/vending/coffee.dm
@@ -1,7 +1,7 @@
/obj/machinery/vending/coffee
name = "\improper Solar's Best Hot Drinks"
desc = "A vending machine which dispenses hot drinks."
- product_ads = "Just what you need!;Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies"
+ product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies"
icon_state = "coffee"
icon_vend = "coffee-vend"
products = list(/obj/item/reagent_containers/food/drinks/coffee = 25,
@@ -15,11 +15,12 @@
/obj/item/reagent_containers/food/drinks/bottle/cream = 2,
/obj/item/reagent_containers/food/condiment/sugar = 1,
/obj/item/reagent_containers/food/drinks/mug/tea/forest = 3,)
-
refill_canister = /obj/item/vending_refill/coffee
default_price = PRICE_REALLY_CHEAP
extra_price = PRICE_PRETTY_CHEAP
payment_department = ACCOUNT_SRV
+ light_mask = "coffee-light-mask"
+ light_color = COLOR_DARK_MODERATE_ORANGE
/obj/item/vending_refill/coffee
machine_name = "Solar's Best Hot Drinks"
diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm
index bb5b8ef288..6bc5b9cb93 100644
--- a/code/modules/vending/cola.dm
+++ b/code/modules/vending/cola.dm
@@ -6,7 +6,7 @@
product_slogans = "Robust Softdrinks: More robust than a toolbox to the head!"
product_ads = "Refreshing!;Hope you're thirsty!;Over 1 million drinks sold!;Thirsty? Why not cola?;Please, have a drink!;Drink up!;The best drinks in space."
products = list(/obj/item/reagent_containers/food/drinks/soda_cans/cola = 10,
- /obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind = 10,
+ /obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/starkist = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/space_up = 10,
@@ -18,14 +18,15 @@
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6,
/obj/item/reagent_containers/glass/beaker/waterbottle/wataur = 2)
premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1,
- /obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
- /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1,
- /obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy = 1)
+ /obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
+ /obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy = 1,
+ /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1)
refill_canister = /obj/item/vending_refill/cola
default_price = PRICE_CHEAP_AS_FREE
extra_price = PRICE_ABOVE_NORMAL
payment_department = ACCOUNT_SRV
+
/obj/item/vending_refill/cola
machine_name = "Robust Softdrinks"
icon_state = "refill_cola"
@@ -43,43 +44,56 @@
/obj/machinery/vending/cola/blue
icon_state = "Cola_Machine"
+ light_mask = "cola-light-mask"
+ light_color = COLOR_MODERATE_BLUE
/obj/machinery/vending/cola/black
icon_state = "cola_black"
+ light_mask = "cola-light-mask"
/obj/machinery/vending/cola/red
icon_state = "red_cola"
name = "\improper Space Cola Vendor"
desc = "It vends cola, in space."
product_slogans = "Cola in space!"
+ light_mask = "red_cola-light-mask"
+ light_color = COLOR_DARK_RED
/obj/machinery/vending/cola/space_up
icon_state = "space_up"
name = "\improper Space-up! Vendor"
desc = "Indulge in an explosion of flavor."
product_slogans = "Space-up! Like a hull breach in your mouth."
+ light_mask = "space_up-light-mask"
+ light_color = COLOR_DARK_MODERATE_LIME_GREEN
/obj/machinery/vending/cola/starkist
icon_state = "starkist"
name = "\improper Star-kist Vendor"
desc = "The taste of a star in liquid form."
product_slogans = "Drink the stars! Star-kist!"
+ light_mask = "starkist-light-mask"
+ light_color = COLOR_LIGHT_ORANGE
/obj/machinery/vending/cola/sodie
icon_state = "soda"
+ light_mask = "soda-light-mask"
+ light_color = COLOR_WHITE
/obj/machinery/vending/cola/pwr_game
icon_state = "pwr_game"
name = "\improper Pwr Game Vendor"
desc = "You want it, we got it. Brought to you in partnership with Vlad's Salads."
product_slogans = "The POWER that gamers crave! PWR GAME!"
+ light_mask = "pwr_game-light-mask"
+ light_color = COLOR_STRONG_VIOLET
/obj/machinery/vending/cola/shamblers
name = "\improper Shambler's Vendor"
desc = "~Shake me up some of that Shambler's Juice!~"
icon_state = "shamblers_juice"
products = list(/obj/item/reagent_containers/food/drinks/soda_cans/cola = 10,
- /obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind = 10,
+ /obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/starkist = 10,
/obj/item/reagent_containers/food/drinks/soda_cans/space_up = 10,
@@ -89,7 +103,8 @@
/obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 10)
product_slogans = "~Shake me up some of that Shambler's Juice!~"
product_ads = "Refreshing!;Jyrbv dv lg jfdv fw kyrk Jyrdscvi'j Alztv!;Over 1 trillion souls drank!;Thirsty? Nyp efk uizeb kyv uribevjj?;Kyv Jyrdscvi uizebj kyv ezxyk!;Drink up!;Krjkp."
-
+ light_mask = "shamblers-light-mask"
+ light_color = COLOR_MOSTLY_PURE_PINK
/obj/machinery/vending/cola/buzz_fuzz
name = "\improper Buzz Fuzz Vendor"
desc = "~A hive of Flavour!~"
diff --git a/code/modules/vending/engineering.dm b/code/modules/vending/engineering.dm
index ef4edd6b67..fc88e6404c 100644
--- a/code/modules/vending/engineering.dm
+++ b/code/modules/vending/engineering.dm
@@ -5,9 +5,9 @@
icon_state = "engi"
icon_deny = "engi-deny"
products = list(/obj/item/clothing/under/rank/engineering/chief_engineer = 4,
- /obj/item/clothing/under/rank/engineering/engineer = 4,
- /obj/item/clothing/shoes/sneakers/orange = 4,
- /obj/item/clothing/head/hardhat = 4,
+ /obj/item/clothing/under/rank/engineering/engineer = 4,
+ /obj/item/clothing/shoes/sneakers/orange = 4,
+ /obj/item/clothing/head/hardhat = 4,
/obj/item/storage/belt/utility = 4,
/obj/item/clothing/glasses/meson/engine = 4,
/obj/item/clothing/gloves/color/yellow = 4,
@@ -26,9 +26,13 @@
/obj/item/stock_parts/micro_laser = 5,
/obj/item/stock_parts/matter_bin = 5,
/obj/item/stock_parts/manipulator = 5)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
+ refill_canister = /obj/item/vending_refill/engineering
resistance_flags = FIRE_PROOF
default_price = PRICE_NORMAL
extra_price = PRICE_NORMAL
payment_department = ACCOUNT_ENG
- cost_multiplier_per_dept = list(ACCOUNT_ENG = 0)
+ light_mask = "engi-light-mask"
+
+/obj/item/vending_refill/engineering
+ machine_name = "Robco Tool Maker"
+ icon_state = "refill_engi"
diff --git a/code/modules/vending/engivend.dm b/code/modules/vending/engivend.dm
index 965ebddd15..559e56eec7 100644
--- a/code/modules/vending/engivend.dm
+++ b/code/modules/vending/engivend.dm
@@ -27,13 +27,13 @@
/obj/item/rcd_ammo/large = 5,
/obj/item/storage/bag/material = 3
)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
refill_canister = /obj/item/vending_refill/engivend
resistance_flags = FIRE_PROOF
default_price = PRICE_ALMOST_EXPENSIVE
extra_price = PRICE_ABOVE_EXPENSIVE
payment_department = ACCOUNT_ENG
- cost_multiplier_per_dept = list(ACCOUNT_ENG = 0)
+ light_mask = "engivend-light-mask"
/obj/item/vending_refill/engivend
+ machine_name = "Engi-Vend"
icon_state = "refill_engi"
diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm
index 7664a191c8..e6a6eb01e9 100644
--- a/code/modules/vending/games.dm
+++ b/code/modules/vending/games.dm
@@ -4,15 +4,17 @@
product_ads = "Escape to a fantasy world!;Fuel your gambling addiction!;Ruin your friendships!;Roll for initiative!;Elves and dwarves!;Paranoid computers!;Totally not satanic!;Fun times forever!"
icon_state = "games"
products = list(/obj/item/toy/cards/deck = 5,
- /obj/item/storage/dice = 10,
- /obj/item/toy/cards/deck/cas = 3,
- /obj/item/toy/cards/deck/cas/black = 3,
+ /obj/item/storage/dice = 10,
+ /obj/item/toy/cards/deck/cas = 3,
+ /obj/item/toy/cards/deck/cas/black = 3,
/obj/item/toy/cards/deck/unum = 3,
+ /obj/item/camera = 3,
/obj/item/cardpack/series_one = 10,
- /obj/item/dyespray=3,
/obj/item/tcgcard_binder = 5,
/obj/item/canvas = 3,
- /obj/item/toy/crayon/spraycan = 3)
+ /obj/item/toy/crayon/spraycan = 3,
+ /obj/item/dyespray=3,
+ )
contraband = list(/obj/item/dice/fudge = 9)
premium = list(/obj/item/melee/skateboard/pro = 3,
/obj/item/melee/skateboard/hoverboard = 1)
@@ -20,7 +22,7 @@
default_price = PRICE_CHEAP
extra_price = PRICE_ALMOST_EXPENSIVE
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
+ light_mask = "games-light-mask"
/obj/item/vending_refill/games
machine_name = "\improper Good Clean Fun"
diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm
index 81afab3a70..36bde6dd6b 100644
--- a/code/modules/vending/liberation.dm
+++ b/code/modules/vending/liberation.dm
@@ -2,15 +2,15 @@
name = "\improper Liberation Station"
desc = "An overwhelming amount of ancient patriotism washes over you just by looking at the machine."
icon_state = "liberationstation"
- product_slogans = "Liberation Station: Your one-stop shop for all things second ammendment!;Be a patriot today, pick up a gun!;Quality weapons for cheap prices!;Better dead than red!"
- product_ads = "Float like an astronaut, sting like a bullet!;Express your second ammendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?"
+ product_slogans = "Liberation Station: Your one-stop shop for all things second amendment!;Be a patriot today, pick up a gun!;Quality weapons for cheap prices!;Better dead than red!"
+ product_ads = "Float like an astronaut, sting like a bullet!;Express your second amendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?"
vend_reply = "Remember the name: Liberation Station!"
products = list(/obj/item/reagent_containers/food/snacks/burger/plain = 5, //O say can you see, by the dawn's early light
/obj/item/reagent_containers/food/snacks/burger/baseball = 3, //What so proudly we hailed at the twilight's last gleaming
/obj/item/reagent_containers/food/snacks/fries = 5, //Whose broad stripes and bright stars through the perilous fight
/obj/item/reagent_containers/food/drinks/beer/light = 10, //O'er the ramparts we watched, were so gallantly streaming?
/obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2,
- /obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2,
+ /obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2,
/obj/item/gun/ballistic/automatic/pistol/m1911 = 2,
/obj/item/gun/ballistic/automatic/proto/unrestricted = 2,
/obj/item/gun/ballistic/shotgun/automatic/combat = 2,
@@ -18,16 +18,16 @@
/obj/item/gun/ballistic/shotgun = 2,
/obj/item/gun/ballistic/automatic/ar = 2)
premium = list(/obj/item/ammo_box/magazine/smgm9mm = 2,
- /obj/item/ammo_box/magazine/m50 = 4,
- /obj/item/ammo_box/magazine/m45 = 2,
- /obj/item/ammo_box/magazine/m75 = 2,
+ /obj/item/ammo_box/magazine/m50 = 4,
+ /obj/item/ammo_box/magazine/m45 = 2,
+ /obj/item/ammo_box/magazine/m75 = 2,
/obj/item/reagent_containers/food/snacks/cheesyfries = 5,
/obj/item/reagent_containers/food/snacks/burger/baconburger = 5) //Premium burgers for the premium section
contraband = list(/obj/item/clothing/under/misc/patriotsuit = 3,
- /obj/item/bedsheet/patriot = 5,
+ /obj/item/bedsheet/patriot = 5,
/obj/item/reagent_containers/food/snacks/burger/superbite = 3) //U S A
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
resistance_flags = FIRE_PROOF
default_price = PRICE_ABOVE_NORMAL
extra_price = PRICE_ABOVE_EXPENSIVE
payment_department = ACCOUNT_SEC
+ light_mask = "liberation-light-mask"
diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm
index 9093d55b0d..eea1150abf 100644
--- a/code/modules/vending/liberation_toy.dm
+++ b/code/modules/vending/liberation_toy.dm
@@ -16,19 +16,16 @@
/obj/item/clothing/suit/syndicatefake = 5,
/obj/item/clothing/head/syndicatefake = 5) //OPS IN DORMS oh wait it's just an assistant
contraband = list(/obj/item/gun/ballistic/shotgun/toy/crossbow = 10, //Congrats, you unlocked the +18 setting!
- /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot = 10,
- /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot = 10,
- /obj/item/ammo_box/foambox/riot = 20,
- /obj/item/toy/katana = 10,
- /obj/item/dualsaber/toy = 5,
- /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item
+ /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot = 10,
+ /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot = 10,
+ /obj/item/ammo_box/foambox/riot = 20,
+ /obj/item/toy/katana = 10,
+ /obj/item/dualsaber/toy = 5,
+ /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/donksoft
default_price = PRICE_ABOVE_NORMAL
extra_price = PRICE_EXPENSIVE
- payment_department = NO_FREEBIES
-
-/obj/machinery/vending/toyliberationstation/Initialize()
- . = ..()
- cost_multiplier_per_dept = list("[ACCESS_SYNDICATE]" = 0)
+ payment_department = ACCOUNT_SRV
+ light_mask = "donksoft-light-mask"
diff --git a/code/modules/vending/magivend.dm b/code/modules/vending/magivend.dm
index 9dcd77e4ab..104f7b3c02 100644
--- a/code/modules/vending/magivend.dm
+++ b/code/modules/vending/magivend.dm
@@ -4,18 +4,19 @@
icon_state = "MagiVend"
product_slogans = "Sling spells the proper way with MagiVend!;Be your own Houdini! Use MagiVend!"
vend_reply = "Have an enchanted evening!"
- product_ads = "EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!;Now-magic proofing venders!"
+ product_ads = "FJKLFJSD;AJKFLBJAKL;1234 LOONIES LOL!;>MFW;Kill them fuckers!;GET DAT FUKKEN DISK;HONK!;EI NATH;Destroy the station!;Admin conspiracies since forever!;Space-time bending hardware!"
products = list(/obj/item/clothing/head/wizard = 1,
- /obj/item/clothing/suit/wizrobe = 1,
- /obj/item/clothing/head/wizard/red = 1,
- /obj/item/clothing/suit/wizrobe/red = 1,
- /obj/item/clothing/head/wizard/yellow = 1,
- /obj/item/clothing/suit/wizrobe/yellow = 1,
- /obj/item/clothing/shoes/sandal/magic = 1,
- /obj/item/staff = 2)
- contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave
+ /obj/item/clothing/suit/wizrobe = 1,
+ /obj/item/clothing/head/wizard/red = 1,
+ /obj/item/clothing/suit/wizrobe/red = 1,
+ /obj/item/clothing/head/wizard/yellow = 1,
+ /obj/item/clothing/suit/wizrobe/yellow = 1,
+ /obj/item/clothing/shoes/sandal/magic = 1,
+ /obj/item/staff = 2)
+ contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50, "magic" = 100)
resistance_flags = FIRE_PROOF
- default_price = PRICE_EXPENSIVE
+ default_price = 0 //Just in case, since it's primary use is storage.
extra_price = PRICE_ABOVE_EXPENSIVE
payment_department = ACCOUNT_SRV
+ light_mask = "magivend-light-mask"
diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm
index a24233b17c..0158547515 100644
--- a/code/modules/vending/medical.dm
+++ b/code/modules/vending/medical.dm
@@ -4,6 +4,7 @@
icon_state = "med"
icon_deny = "med-deny"
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!"
+ req_access = list(ACCESS_MEDICAL)
products = list(/obj/item/reagent_containers/syringe = 12,
/obj/item/reagent_containers/dropper = 3,
/obj/item/healthanalyzer = 4,
@@ -50,13 +51,11 @@
/obj/item/storage/briefcase/medical = 2,
/obj/item/plunger/reinforced = 2)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
- resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/medical
default_price = PRICE_ALMOST_CHEAP
extra_price = PRICE_ABOVE_NORMAL
payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
+ light_mask = "med-light-mask"
/obj/item/vending_refill/medical
machine_name = "NanoMed Plus"
@@ -64,8 +63,9 @@
/obj/machinery/vending/medical/syndicate_access
name = "\improper SyndiMed Plus"
- payment_department = NO_FREEBIES
+ req_access = list(ACCESS_SYNDICATE)
-/obj/machinery/vending/medical/syndicate_access/Initialize()
+
+/obj/machinery/vending/medical/syndicate_access/Initialize(mapload)
. = ..()
cost_multiplier_per_dept = list("[ACCESS_SYNDICATE]" = 0)
diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm
index 2d4c30080d..fdc062b2cb 100644
--- a/code/modules/vending/medical_wall.dm
+++ b/code/modules/vending/medical_wall.dm
@@ -18,14 +18,28 @@
contraband = list(/obj/item/reagent_containers/pill/tox = 2,
/obj/item/reagent_containers/pill/morphine = 2)
premium = list(/obj/item/reagent_containers/medspray/synthflesh = 2)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
- resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/wallmed
default_price = PRICE_FREE
extra_price = PRICE_NORMAL
payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
tiltable = FALSE
+ light_mask = "wallmed-light-mask"
+
+/obj/machinery/vending/wallmed/directional/north
+ dir = SOUTH
+ pixel_y = 32
+
+/obj/machinery/vending/wallmed/directional/south
+ dir = NORTH
+ pixel_y = -32
+
+/obj/machinery/vending/wallmed/directional/east
+ dir = WEST
+ pixel_x = 32
+
+/obj/machinery/vending/wallmed/directional/west
+ dir = EAST
+ pixel_x = -32
/obj/item/vending_refill/wallmed
machine_name = "NanoMed"
diff --git a/code/modules/vending/megaseed.dm b/code/modules/vending/megaseed.dm
index 45199298ca..790bf551b7 100644
--- a/code/modules/vending/megaseed.dm
+++ b/code/modules/vending/megaseed.dm
@@ -4,6 +4,7 @@
product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!"
product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!"
icon_state = "seeds"
+ light_mask = "seeds-light-mask"
products = list(/obj/item/seeds/aloe = 3,
/obj/item/seeds/ambrosia = 3,
/obj/item/seeds/apple = 3,
@@ -20,6 +21,7 @@
/obj/item/seeds/cotton = 3,
/obj/item/seeds/corn = 3,
/obj/item/seeds/eggplant = 3,
+ /obj/item/seeds/garlic = 3,
/obj/item/seeds/grape = 3,
/obj/item/seeds/grass = 3,
/obj/item/seeds/lemon = 3,
@@ -56,13 +58,11 @@
/obj/item/seeds/starthistle = 2,
/obj/item/seeds/random = 2)
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
refill_canister = /obj/item/vending_refill/hydroseeds
- resistance_flags = FIRE_PROOF
default_price = PRICE_ALMOST_CHEAP
extra_price = PRICE_NORMAL
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
/obj/item/vending_refill/hydroseeds
- icon_state = "refill_hydro"
+ machine_name = "MegaSeed Servitor"
+ icon_state = "refill_plant"
diff --git a/code/modules/vending/nutrimax.dm b/code/modules/vending/nutrimax.dm
index 40ca06b78b..38bab5c599 100644
--- a/code/modules/vending/nutrimax.dm
+++ b/code/modules/vending/nutrimax.dm
@@ -5,6 +5,7 @@
product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..."
icon_state = "nutri"
icon_deny = "nutri-deny"
+ light_mask = "nutri-light-mask"
products = list(/obj/item/reagent_containers/glass/bottle/nutrient/ez = 30,
/obj/item/reagent_containers/glass/bottle/nutrient/l4z = 20,
/obj/item/reagent_containers/glass/bottle/nutrient/rh = 10,
@@ -15,14 +16,12 @@
/obj/item/shovel/spade = 3,
/obj/item/plant_analyzer = 4)
contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,
- /obj/item/reagent_containers/glass/bottle/diethylamine = 5)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
+ /obj/item/reagent_containers/glass/bottle/diethylamine = 5)
refill_canister = /obj/item/vending_refill/hydronutrients
- resistance_flags = FIRE_PROOF
default_price = PRICE_REALLY_CHEAP
extra_price = PRICE_CHEAP
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
/obj/item/vending_refill/hydronutrients
- icon_state = "refill_hydro"
+ machine_name = "NutriMax"
+ icon_state = "refill_plant"
diff --git a/code/modules/vending/plasmaresearch.dm b/code/modules/vending/plasmaresearch.dm
index bb16570ab3..2bd022eeb2 100644
--- a/code/modules/vending/plasmaresearch.dm
+++ b/code/modules/vending/plasmaresearch.dm
@@ -1,10 +1,10 @@
//This one's from bay12
/obj/machinery/vending/plasmaresearch
- name = "\improper Toximate 3000"
+ name = "\improper Bombuddy 3000"
desc = "All the fine parts you need in one vending machine!"
products = list(/obj/item/clothing/under/rank/rnd/scientist = 6,
- /obj/item/clothing/suit/bio_suit = 6,
- /obj/item/clothing/head/bio_hood = 6,
+ /obj/item/clothing/suit/bio_suit = 6,
+ /obj/item/clothing/head/bio_hood = 6,
/obj/item/transfer_valve = 6,
/obj/item/assembly/timer = 6,
/obj/item/assembly/signaler = 6,
@@ -14,4 +14,3 @@
default_price = PRICE_EXPENSIVE
extra_price = PRICE_REALLY_EXPENSIVE
payment_department = ACCOUNT_SCI
- cost_multiplier_per_dept = list(ACCOUNT_SCI = 0)
diff --git a/code/modules/vending/robotics.dm b/code/modules/vending/robotics.dm
index 2d77b2fc51..714f05a60d 100644
--- a/code/modules/vending/robotics.dm
+++ b/code/modules/vending/robotics.dm
@@ -4,6 +4,8 @@
desc = "All the tools you need to create your own robot army."
icon_state = "robotics"
icon_deny = "robotics-deny"
+ light_mask = "robotics-light-mask"
+ req_access = list(ACCESS_ROBOTICS)
products = list(/obj/item/clothing/suit/toggle/labcoat = 4,
/obj/item/clothing/under/rank/rnd/roboticist = 4,
/obj/item/stack/cable_coil = 4,
@@ -14,13 +16,16 @@
/obj/item/healthanalyzer = 3,
/obj/item/scalpel = 2,
/obj/item/circular_saw = 2,
+ /obj/item/bonesetter = 2,
/obj/item/tank/internals/anesthetic = 2,
/obj/item/clothing/mask/breath/medical = 5,
/obj/item/screwdriver = 5,
- /obj/item/crowbar = 6,
+ /obj/item/crowbar = 5,
/obj/item/stack/medical/nanogel = 5)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
- resistance_flags = FIRE_PROOF
+ refill_canister = /obj/item/vending_refill/robotics
default_price = PRICE_EXPENSIVE
payment_department = ACCOUNT_SCI
- cost_multiplier_per_dept = list(ACCOUNT_SCI = 0)
+
+/obj/item/vending_refill/robotics
+ machine_name = "Robotech Deluxe"
+ icon_state = "refill_engi"
diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm
index c3540777ab..52fbd7dac4 100644
--- a/code/modules/vending/security.dm
+++ b/code/modules/vending/security.dm
@@ -1,9 +1,11 @@
/obj/machinery/vending/security
name = "\improper SecTech"
desc = "A security equipment vendor."
- product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?"
+ product_ads = "Crack communist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?"
icon_state = "sec"
icon_deny = "sec-deny"
+ light_mask = "sec-light-mask"
+ req_access = list(ACCESS_SECURITY)
products = list(/obj/item/restraints/handcuffs = 8,
/obj/item/restraints/handcuffs/cable/zipties = 10,
/obj/item/grenade/flashbang = 4,
@@ -17,20 +19,17 @@
/obj/item/storage/fancy/donut_box = 2,
/obj/item/storage/belt/sabre/secbelt = 1)
premium = list(/obj/item/coin/antagtoken = 1,
- /obj/item/clothing/head/helmet/blueshirt = 1,
- /obj/item/clothing/suit/armor/vest/blueshirt = 1,
+ /obj/item/clothing/head/helmet/blueshirt = 1,
+ /obj/item/clothing/suit/armor/vest/blueshirt = 1,
/obj/item/clothing/under/rank/security/officer/blueshirt = 1,
- /obj/item/clothing/gloves/tackler = 5,
- /obj/item/grenade/stingbang = 1,
+ /obj/item/clothing/gloves/tackler = 5,
+ /obj/item/grenade/stingbang = 1,
/obj/item/ssword_kit = 1,
/obj/item/storage/bag/ammo = 3)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
- resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/security
default_price = PRICE_ALMOST_EXPENSIVE
extra_price = PRICE_REALLY_EXPENSIVE
payment_department = ACCOUNT_SEC
- cost_multiplier_per_dept = list(ACCOUNT_SEC = 0)
/obj/machinery/vending/security/pre_throw(obj/item/I)
if(istype(I, /obj/item/grenade))
@@ -42,4 +41,4 @@
F.update_brightness()
/obj/item/vending_refill/security
- icon_state = "refill_games"
+ icon_state = "refill_sec"
diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm
index ff8fd46676..edd4802dc2 100644
--- a/code/modules/vending/snack.dm
+++ b/code/modules/vending/snack.dm
@@ -4,6 +4,7 @@
product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
icon_state = "snack"
+ light_mask = "snack-light-mask"
products = list(/obj/item/reagent_containers/food/snacks/candy = 5,
/obj/item/reagent_containers/food/snacks/chocolatebar = 5,
/obj/item/reagent_containers/food/drinks/dry_ramen = 5,
@@ -25,13 +26,11 @@
/obj/item/reagent_containers/food/snacks/chococoin = 1,
/obj/item/storage/box/marshmallow = 1,
/obj/item/storage/box/donkpockets = 2)
-
refill_canister = /obj/item/vending_refill/snack
canload_access_list = list(ACCESS_KITCHEN)
default_price = PRICE_REALLY_CHEAP
extra_price = PRICE_ALMOST_CHEAP
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
input_display_header = "Chef's Food Selection"
/obj/item/vending_refill/snack
diff --git a/code/modules/vending/sovietsoda.dm b/code/modules/vending/sovietsoda.dm
index 88aba484e1..f28dbd7116 100644
--- a/code/modules/vending/sovietsoda.dm
+++ b/code/modules/vending/sovietsoda.dm
@@ -2,11 +2,17 @@
name = "\improper BODA"
desc = "Old sweet water vending machine."
icon_state = "sovietsoda"
+ light_mask = "soviet-light-mask"
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
products = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/soda = 30)
contraband = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola = 20)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
resistance_flags = FIRE_PROOF
- default_price = PRICE_FREE
- extra_price = PRICE_FREE
+ refill_canister = /obj/item/vending_refill/sovietsoda
+ default_price = 1
+ extra_price = 2 //One credit for every state of FREEDOM
payment_department = NO_FREEBIES
+ light_color = COLOR_PALE_ORANGE
+
+/obj/item/vending_refill/sovietsoda
+ machine_name = "BODA"
+ icon_state = "refill_cola"
diff --git a/code/modules/vending/sustenance.dm b/code/modules/vending/sustenance.dm
index 2dcc1e99f7..9370cf0c24 100644
--- a/code/modules/vending/sustenance.dm
+++ b/code/modules/vending/sustenance.dm
@@ -2,21 +2,24 @@
name = "\improper Sustenance Vendor"
desc = "A vending machine which vends food, as required by section 47-C of the NT's Prisoner Ethical Treatment Agreement."
product_slogans = "Enjoy your meal.;Enough calories to support strenuous labor."
- product_ads = "Sufficiently healthy.;Efficiently produced tofu!;Mmm! So good!;Have a meal.;You need food to live!;Have some more candy corn!;Try our new ice cups!"
+ product_ads = "Sufficiently healthy.;Efficiently produced tofu!;Mmm! So good!;Have a meal.;You need food to live!;Even prisoners deserve their daily bread!;Have some more candy corn!;Try our new ice cups!"
+ light_mask = "snack-light-mask"
icon_state = "sustenance"
products = list(/obj/item/reagent_containers/food/snacks/tofu = 24,
/obj/item/reagent_containers/food/drinks/ice/sustanance = 12,
- /obj/item/reagent_containers/food/snacks/candy_corn = 6)
+ /obj/item/reagent_containers/food/snacks/candy_corn = 6
+ )
contraband = list(/obj/item/kitchen/knife = 6,
/obj/item/reagent_containers/food/drinks/coffee = 12,
/obj/item/tank/internals/emergency_oxygen = 6,
- /obj/item/clothing/mask/breath = 6)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
+ /obj/item/clothing/mask/breath = 6
+ )
+
refill_canister = /obj/item/vending_refill/sustenance
- resistance_flags = FIRE_PROOF
default_price = PRICE_FREE
extra_price = PRICE_FREE
payment_department = NO_FREEBIES
/obj/item/vending_refill/sustenance
- icon_state = "refill_cook"
+ machine_name = "Sustenance Vendor"
+ icon_state = "refill_snack"
diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm
index c5095ebff8..683f2d9f23 100644
--- a/code/modules/vending/toys.dm
+++ b/code/modules/vending/toys.dm
@@ -5,6 +5,7 @@
product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get permabrigged!"
product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!"
vend_reply = "Come back for more!"
+ light_mask = "donksoft-light-mask"
circuit = /obj/item/circuitboard/machine/vending/donksofttoyvendor
products = list(
/obj/item/gun/ballistic/automatic/toy/unrestricted = 10,
@@ -22,8 +23,6 @@
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10,
/obj/item/toy/katana = 10,
/obj/item/dualsaber/toy = 5)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50)
- resistance_flags = FIRE_PROOF
refill_canister = /obj/item/vending_refill/donksoft
default_price = PRICE_ABOVE_NORMAL
extra_price = PRICE_EXPENSIVE
diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm
index eebb07938b..e1a5b69d72 100644
--- a/code/modules/vending/wardrobes.dm
+++ b/code/modules/vending/wardrobes.dm
@@ -6,6 +6,7 @@
extra_price = PRICE_EXPENSIVE
payment_department = NO_FREEBIES
input_display_header = "Returned Clothing"
+ light_mask = "wardrobe-light-mask"
/obj/machinery/vending/wardrobe/canLoadItem(obj/item/I,mob/user)
return (I.type in products)
@@ -35,51 +36,11 @@
/obj/item/clothing/head/beret/sec/navyofficer = 5)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
payment_department = ACCOUNT_SEC
- cost_multiplier_per_dept = list(ACCOUNT_SEC = 0)
- default_price = PRICE_ABOVE_NORMAL
- extra_price = PRICE_EXPENSIVE
+ light_color = COLOR_MOSTLY_PURE_RED
/obj/item/vending_refill/wardrobe/sec_wardrobe
machine_name = "SecDrobe"
-
-/obj/machinery/vending/wardrobe/det_wardrobe
- name = "\improper DetDrobe"
- desc = "A machine for all your detective needs, as long as you need clothes."
- icon_state = "detdrobe"
- product_ads = "Apply your brilliant deductive methods in style!"
- vend_reply = "Thank you for using the DetDrobe!"
- products = list(/obj/item/clothing/under/rank/security/detective = 2,
- /obj/item/clothing/under/rank/security/detective/skirt = 2,
- /obj/item/clothing/under/rank/security/detective/brown = 2,
- /obj/item/clothing/under/rank/security/detective/brown/brown2 = 2,
- /obj/item/clothing/under/rank/security/officer/blueshirt/seccorp/detcorp = 2,
- /obj/item/clothing/under/rank/security/officer/util = 2,
- /obj/item/clothing/shoes/sneakers/brown = 2,
- /obj/item/clothing/suit/det_suit = 2,
- /obj/item/clothing/head/fedora/det_hat = 2,
- /obj/item/clothing/under/rank/security/detective/grey = 2,
- /obj/item/clothing/under/rank/security/detective/grey/skirt = 2,
- /obj/item/clothing/accessory/waistcoat = 2,
- /obj/item/clothing/shoes/laceup = 2,
- /obj/item/clothing/suit/det_suit/grey = 1,
- /obj/item/clothing/suit/det_suit/forensicsred = 1,
- /obj/item/clothing/suit/det_suit/forensicsred/long = 1,
- /obj/item/clothing/suit/det_suit/forensicsblue = 1,
- /obj/item/clothing/suit/det_suit/forensicsblue/long = 1,
- /obj/item/clothing/head/fedora = 2,
- /obj/item/clothing/gloves/color/black = 2,
- /obj/item/clothing/gloves/color/latex = 2,
- /obj/item/reagent_containers/food/drinks/flask/det = 2,
- /obj/item/storage/fancy/cigarettes = 5)
- premium = list(/obj/item/clothing/head/flatcap = 1)
- refill_canister = /obj/item/vending_refill/wardrobe/det_wardrobe
- extra_price = 350
- payment_department = ACCOUNT_SEC
-
-/obj/item/vending_refill/wardrobe/det_wardrobe
- machine_name = "DetDrobe"
-
/obj/machinery/vending/wardrobe/medi_wardrobe
name = "\improper MediDrobe"
desc = "A vending machine rumoured to be capable of dispensing clothing for medical personnel."
@@ -118,7 +79,6 @@
/obj/item/clothing/suit/toggle/labcoat/emt/highvis = 5)
refill_canister = /obj/item/vending_refill/wardrobe/medi_wardrobe
payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
/obj/item/vending_refill/wardrobe/medi_wardrobe
machine_name = "MediDrobe"
@@ -149,7 +109,7 @@
/obj/item/clothing/head/hardhat/weldhat = 3)
refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe
payment_department = ACCOUNT_ENG
- cost_multiplier_per_dept = list(ACCOUNT_ENG = 0)
+ light_color = COLOR_VIVID_YELLOW
/obj/item/vending_refill/wardrobe/engi_wardrobe
machine_name = "EngiDrobe"
@@ -172,7 +132,7 @@
/obj/item/clothing/shoes/sneakers/black = 5)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
payment_department = ACCOUNT_ENG
- cost_multiplier_per_dept = list(ACCOUNT_ENG = 0)
+ light_color = COLOR_VIVID_YELLOW
/obj/item/vending_refill/wardrobe/atmos_wardrobe
machine_name = "AtmosDrobe"
@@ -195,7 +155,6 @@
/obj/item/radio/headset/headset_cargo = 3)
refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe
payment_department = ACCOUNT_CAR
- cost_multiplier_per_dept = list(ACCOUNT_CAR = 0)
/obj/item/vending_refill/wardrobe/cargo_wardrobe
machine_name = "CargoDrobe"
@@ -223,17 +182,16 @@
/obj/item/clothing/under/misc/mechsuitblue = 1)
contraband = list(/obj/item/clothing/suit/hooded/techpriest = 2)
refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe
+ extra_price = PRICE_EXPENSIVE * 1.2
payment_department = ACCOUNT_SCI
- cost_multiplier_per_dept = list(ACCOUNT_SCI = 0)
-
/obj/item/vending_refill/wardrobe/robo_wardrobe
machine_name = "RoboDrobe"
/obj/machinery/vending/wardrobe/science_wardrobe
name = "SciDrobe"
- desc = "A simple vending machine suitable to dispense well tailored science clothing. Endorsed by Cubans."
+ desc = "A simple vending machine suitable to dispense well tailored science clothing. Endorsed by Space Cubans."
icon_state = "scidrobe"
- product_ads = "Longing for the smell of flesh plasma? Buy your science clothing now!;Made with 10% Auxetics, so you don't have to worry losing your arm!"
+ product_ads = "Longing for the smell of plasma burnt flesh? Buy your science clothing now!;Made with 10% Auxetics, so you don't have to worry about losing your arm!"
vend_reply = "Thank you for using the SciDrobe!"
products = list(/obj/item/clothing/accessory/pocketprotector = 5,
/obj/item/clothing/head/beret/sci = 3,
@@ -251,8 +209,6 @@
/obj/item/clothing/mask/gas = 5)
refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe
payment_department = ACCOUNT_SCI
- cost_multiplier_per_dept = list(ACCOUNT_SCI = 0)
-
/obj/item/vending_refill/wardrobe/science_wardrobe
machine_name = "SciDrobe"
@@ -274,7 +230,7 @@
/obj/item/clothing/mask/bandana = 4)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
+ light_color = LIGHT_COLOR_ELECTRIC_GREEN
/obj/item/vending_refill/wardrobe/hydro_wardrobe
machine_name = "HyDrobe"
@@ -299,9 +255,7 @@
/obj/item/clothing/glasses/regular/jamjar = 1,
/obj/item/storage/bag/books = 1)
refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe
- payment_department = ACCOUNT_CIV
- cost_multiplier_per_dept = list(ACCOUNT_CIV = 0)
-
+ payment_department = ACCOUNT_SRV
/obj/item/vending_refill/wardrobe/curator_wardrobe
machine_name = "CuraDrobe"
@@ -331,8 +285,6 @@
/obj/item/storage/belt/bandolier = 1)
refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
-
/obj/item/vending_refill/wardrobe/bar_wardrobe
machine_name = "BarDrobe"
@@ -340,8 +292,8 @@
name = "ChefDrobe"
desc = "This vending machine might not dispense meat, but it certainly dispenses chef related clothing."
icon_state = "chefdrobe"
- product_ads = "Our clothes are guaranteed to protect you from food splatters!;Now stocking recipe books!"
- vend_reply = "Thank you for using the ChefDrobe!;Just like your grandmother's old recipes!"
+ product_ads = "Our clothes are guaranteed to protect you from food splatters!"
+ vend_reply = "Thank you for using the ChefDrobe!"
products = list(/obj/item/clothing/under/suit/waiter = 3,
/obj/item/radio/headset/headset_srv = 4,
/obj/item/clothing/accessory/waistcoat = 3,
@@ -358,8 +310,6 @@
/obj/item/book/granter/crafting_recipe/coldcooking = 2)
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
-
/obj/item/vending_refill/wardrobe/chef_wardrobe
machine_name = "ChefDrobe"
@@ -390,8 +340,10 @@
/obj/item/screwdriver = 2,
/obj/item/stack/cable_coil/random = 4)
refill_canister = /obj/item/vending_refill/wardrobe/jani_wardrobe
+ default_price = PRICE_CHEAP
+ extra_price = PRICE_EXPENSIVE * 0.8
payment_department = ACCOUNT_SRV
- cost_multiplier_per_dept = list(ACCOUNT_SRV = 0)
+ light_color = COLOR_STRONG_MAGENTA
/obj/item/vending_refill/wardrobe/jani_wardrobe
machine_name = "JaniDrobe"
@@ -423,18 +375,16 @@
/obj/item/clothing/shoes/laceup = 3,
/obj/item/clothing/accessory/lawyers_badge = 3)
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
- payment_department = ACCOUNT_CIV
- cost_multiplier_per_dept = list(ACCOUNT_CIV = 0)
-
+ payment_department = ACCOUNT_SRV
/obj/item/vending_refill/wardrobe/law_wardrobe
machine_name = "LawDrobe"
/obj/machinery/vending/wardrobe/chap_wardrobe
- name = "ChapDrobe"
- desc = "This most blessed and holy machine vends clothing only suitable for chaplains to gaze upon."
+ name = "DeusVend"
+ desc = "God wills your purchase."
icon_state = "chapdrobe"
product_ads = "Are you being bothered by cultists or pesky revenants? Then come and dress like the holy man!;Clothes for men of the cloth!"
- vend_reply = "Thank you for using the ChapDrobe!"
+ vend_reply = "Thank you for using the DeusVend!"
products = list(/obj/item/choice_beacon/holy = 1,
/obj/item/storage/backpack/cultpack = 2,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 2,
@@ -451,11 +401,9 @@
premium = list(/obj/item/toy/plush/plushvar = 1,
/obj/item/toy/plush/narplush = 1)
refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe
- payment_department = ACCOUNT_CIV
- cost_multiplier_per_dept = list(ACCOUNT_CIV = 0)
-
+ payment_department = ACCOUNT_SRV
/obj/item/vending_refill/wardrobe/chap_wardrobe
- machine_name = "ChapDrobe"
+ machine_name = "DeusVend"
/obj/machinery/vending/wardrobe/chem_wardrobe
name = "ChemDrobe"
@@ -475,8 +423,6 @@
/obj/item/fermichem/pHbooklet = 3)
refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe
payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
-
/obj/item/vending_refill/wardrobe/chem_wardrobe
machine_name = "ChemDrobe"
@@ -494,9 +440,7 @@
/obj/item/storage/backpack/genetics = 3,
/obj/item/storage/backpack/satchel/gen = 3)
refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe
- payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
-
+ payment_department = ACCOUNT_SCI
/obj/item/vending_refill/wardrobe/gene_wardrobe
machine_name = "GeneDrobe"
@@ -517,11 +461,46 @@
/obj/item/storage/backpack/satchel/vir = 3)
refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe
payment_department = ACCOUNT_MED
- cost_multiplier_per_dept = list(ACCOUNT_MED = 0)
-
/obj/item/vending_refill/wardrobe/viro_wardrobe
machine_name = "ViroDrobe"
+/obj/machinery/vending/wardrobe/det_wardrobe
+ name = "\improper DetDrobe"
+ desc = "A machine for all your detective needs, as long as you need clothes."
+ icon_state = "detdrobe"
+ product_ads = "Apply your brilliant deductive methods in style!"
+ vend_reply = "Thank you for using the DetDrobe!"
+ products = list(/obj/item/clothing/under/rank/security/detective = 2,
+ /obj/item/clothing/under/rank/security/detective/skirt = 2,
+ /obj/item/clothing/under/rank/security/detective/brown = 2,
+ /obj/item/clothing/under/rank/security/detective/brown/brown2 = 2,
+ /obj/item/clothing/under/rank/security/officer/blueshirt/seccorp/detcorp = 2,
+ /obj/item/clothing/under/rank/security/officer/util = 2,
+ /obj/item/clothing/shoes/sneakers/brown = 2,
+ /obj/item/clothing/suit/det_suit = 2,
+ /obj/item/clothing/head/fedora/det_hat = 2,
+ /obj/item/clothing/under/rank/security/detective/grey = 2,
+ /obj/item/clothing/under/rank/security/detective/grey/skirt = 2,
+ /obj/item/clothing/accessory/waistcoat = 2,
+ /obj/item/clothing/shoes/laceup = 2,
+ /obj/item/clothing/suit/det_suit/grey = 1,
+ /obj/item/clothing/suit/det_suit/forensicsred = 1,
+ /obj/item/clothing/suit/det_suit/forensicsred/long = 1,
+ /obj/item/clothing/suit/det_suit/forensicsblue = 1,
+ /obj/item/clothing/suit/det_suit/forensicsblue/long = 1,
+ /obj/item/clothing/head/fedora = 2,
+ /obj/item/clothing/gloves/color/black = 2,
+ /obj/item/clothing/gloves/color/latex = 2,
+ /obj/item/reagent_containers/food/drinks/flask/det = 2,
+ /obj/item/storage/fancy/cigarettes = 5)
+ premium = list(/obj/item/clothing/head/flatcap = 1)
+ refill_canister = /obj/item/vending_refill/wardrobe/det_wardrobe
+ extra_price = PRICE_EXPENSIVE * 1.75
+ payment_department = ACCOUNT_SEC
+
+/obj/item/vending_refill/wardrobe/det_wardrobe
+ machine_name = "DetDrobe"
+
/obj/machinery/vending/wardrobe/cap_wardrobe
name = "Captain's Wardrobe"
desc = "The latest and greatest in Nanotrasen fashion for your great leader."
@@ -552,10 +531,6 @@
default_price = PRICE_ALMOST_EXPENSIVE
extra_price = PRICE_ABOVE_EXPENSIVE
-/obj/machinery/vending/wardrobe/cap_wardrobe/Initialize()
- . = ..()
- cost_multiplier_per_dept = list("[ACCESS_CAPTAIN]" = 0)
-
/obj/item/vending_refill/wardrobe/cap_wardrobe
machine_name = "Captain's Wardrobe"
icon_state = "refill_caps"
diff --git a/code/modules/vending/youtool.dm b/code/modules/vending/youtool.dm
index 2119197aed..4b8a8c27e5 100644
--- a/code/modules/vending/youtool.dm
+++ b/code/modules/vending/youtool.dm
@@ -3,6 +3,7 @@
desc = "Tools for tools."
icon_state = "tool"
icon_deny = "tool-deny"
+ light_mask = "tool-light-mask"
products = list(/obj/item/stack/cable_coil/random = 15,
/obj/item/crowbar = 10,
/obj/item/weldingtool = 6,
@@ -19,13 +20,11 @@
/obj/item/multitool = 2)
premium = list(/obj/item/clothing/gloves/color/yellow = 2,
/obj/item/weldingtool/hugetank = 2)
- armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70)
- refill_canister = /obj/item/vending_refill/tool
- resistance_flags = FIRE_PROOF
+ refill_canister = /obj/item/vending_refill/youtool
default_price = PRICE_REALLY_CHEAP
extra_price = PRICE_EXPENSIVE
payment_department = ACCOUNT_ENG
- cost_multiplier_per_dept = list(ACCOUNT_ENG = 0)
-/obj/item/vending_refill/tool
+/obj/item/vending_refill/youtool
+ machine_name = "YouTool"
icon_state = "refill_engi"
diff --git a/code/modules/wiremod/components/abstract/compare.dm b/code/modules/wiremod/components/abstract/compare.dm
new file mode 100644
index 0000000000..ef6ba171b7
--- /dev/null
+++ b/code/modules/wiremod/components/abstract/compare.dm
@@ -0,0 +1,58 @@
+/**
+ * # Compare Component
+ *
+ * Abstract component to build conditional components
+ */
+/obj/item/circuit_component/compare
+ display_name = "Compare"
+
+ /// The amount of input ports to have
+ var/input_port_amount = 4
+
+ /// The trigger for the true/false signals
+ var/datum/port/input/compare
+
+ /// Signals sent on compare
+ var/datum/port/output/true
+ var/datum/port/output/false
+
+ /// The result from the output
+ var/datum/port/output/result
+
+ var/list/datum/port/input/compare_ports = list()
+
+/obj/item/circuit_component/compare/Initialize()
+ . = ..()
+ for(var/port_id in 1 to input_port_amount)
+ var/letter = ascii2text(text2ascii("A") + (port_id-1))
+ compare_ports += add_input_port(letter, PORT_TYPE_ANY)
+
+ load_custom_ports()
+ compare = add_input_port("Compare", PORT_TYPE_SIGNAL)
+
+ true = add_output_port("True", PORT_TYPE_SIGNAL)
+ false = add_output_port("False", PORT_TYPE_SIGNAL)
+ result = add_output_port("Result", PORT_TYPE_NUMBER)
+
+/**
+ * Used by derivatives to load their own ports in for custom use.
+ */
+/obj/item/circuit_component/compare/proc/load_custom_ports()
+ return
+
+/obj/item/circuit_component/compare/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/logic_result = do_comparisons(compare_ports)
+ if(COMPONENT_TRIGGERED_BY(compare, port))
+ if(logic_result)
+ true.set_output(COMPONENT_SIGNAL)
+ else
+ false.set_output(COMPONENT_SIGNAL)
+ result.set_output(logic_result)
+
+/// Do the comparisons and return a result
+/obj/item/circuit_component/compare/proc/do_comparisons(list/ports)
+ return FALSE
diff --git a/code/modules/wiremod/components/abstract/module.dm b/code/modules/wiremod/components/abstract/module.dm
new file mode 100644
index 0000000000..a3c04b2a11
--- /dev/null
+++ b/code/modules/wiremod/components/abstract/module.dm
@@ -0,0 +1,306 @@
+/**
+ * # Module Component
+ *
+ * A component that has an input, output
+ */
+/obj/item/circuit_component/module
+ display_name = "Module"
+ desc = "A component that has other components within it, acting like a function. Use it in your hand to control the amount of input and output ports it has, as well as being able to access the integrated circuit contained inside."
+
+ var/obj/item/integrated_circuit/module/internal_circuit
+
+ var/obj/item/circuit_component/module_input/input_component
+ var/obj/item/circuit_component/module_output/output_component
+
+ /// Linked ports that follow a `first_port = second_port` keyed structure.
+ var/list/linked_ports = list()
+
+ var/port_limit = 10
+
+/obj/item/integrated_circuit/module
+ var/obj/item/circuit_component/module/attached_module
+
+/obj/item/integrated_circuit/module/ui_host(mob/user)
+ . = ..()
+ if(. == src)
+ return attached_module
+
+/obj/item/integrated_circuit/module/set_display_name(new_name)
+ . = ..()
+ attached_module.display_name = new_name
+ attached_module.name = "module ([new_name])"
+
+/obj/item/integrated_circuit/module/load_component(type)
+ if(!attached_module)
+ return ..()
+
+ if(ispath(type, /obj/item/circuit_component/module_input))
+ return attached_module.input_component
+
+ if(ispath(type, /obj/item/circuit_component/module_output))
+ return attached_module.output_component
+
+ return ..()
+
+/obj/item/integrated_circuit/module/Destroy()
+ attached_module = null
+ return ..()
+
+/obj/item/circuit_component/module_input
+ display_name = "Input"
+ desc = "A component that receives data from the module it is attached to"
+
+ removable = FALSE
+
+ /// The currently attached module
+ var/obj/item/circuit_component/module/attached_module
+
+/obj/item/circuit_component/module_input/Destroy()
+ attached_module = null
+ return ..()
+
+/obj/item/circuit_component/module_output
+ display_name = "Output"
+ desc = "A component that outputs data to the module it is attached to."
+
+ removable = FALSE
+
+ /// The currently attached module
+ var/obj/item/circuit_component/module/attached_module
+
+/obj/item/circuit_component/module_output/input_received(datum/port/input/port)
+ . = ..()
+ if(!port)
+ return
+ // We don't check the parent here because frankly, we don't care. We only sync our input with the module's output
+ var/datum/port/output/port_to_update = attached_module.linked_ports[port]
+ if(!port_to_update)
+ CRASH("[port.type] doesn't have a linked port in [type]!")
+
+ port_to_update.set_output(port.value)
+
+/obj/item/circuit_component/module/input_received(datum/port/input/port)
+ . = ..()
+ if(!port)
+ return
+ var/datum/port/output/port_to_update = linked_ports[port]
+ if(!port_to_update)
+ CRASH("[port.type] doesn't have a linked port in [type]!")
+
+ port_to_update.set_output(port.value)
+
+/obj/item/circuit_component/module_output/Destroy()
+ attached_module = null
+ return ..()
+
+/obj/item/circuit_component/module/Initialize()
+ . = ..()
+ internal_circuit = new(src)
+ internal_circuit.attached_module = src
+
+ input_component = new(internal_circuit)
+ input_component.attached_module = src
+ internal_circuit.add_component(input_component)
+ input_component.rel_x = 0
+ input_component.rel_y = 200
+
+ output_component = new(internal_circuit)
+ output_component.attached_module = src
+ internal_circuit.add_component(output_component)
+ output_component.rel_x = 400
+ output_component.rel_y = 200
+
+/obj/item/circuit_component/module/save_data_to_list(list/component_data)
+ . = ..()
+ component_data["integrated_circuit"] = internal_circuit.convert_to_json()
+
+ var/list/input_data = list()
+ for(var/datum/port/input/input_port as anything in input_ports)
+ input_data += list(list(
+ "name" = input_port.name,
+ "type" = input_port.datatype,
+ ))
+
+ var/list/output_data = list()
+ for(var/datum/port/output/output_port as anything in output_ports)
+ output_data += list(list(
+ "name" = output_port.name,
+ "type" = output_port.datatype,
+ ))
+
+ component_data["input_ports"] = input_data
+ component_data["output_ports"] = output_data
+
+/obj/item/circuit_component/module/load_data_from_list(list/component_data)
+ . = ..()
+
+ var/list/input_ports = component_data["input_ports"]
+ for(var/list/port_data as anything in input_ports)
+ add_and_link_input_port(port_data["name"], port_data["type"])
+
+ var/list/output_ports = component_data["output_ports"]
+ for(var/list/port_data as anything in output_ports)
+ add_and_link_output_port(port_data["name"], port_data["type"])
+
+ if(component_data["integrated_circuit"])
+ internal_circuit.load_circuit_data(component_data["integrated_circuit"])
+
+/obj/item/circuit_component/module/proc/add_and_link_input_port(name, type)
+ var/datum/port/new_port = add_input_port(name, type)
+ linked_ports[new_port] = input_component.add_output_port(name, type)
+
+/obj/item/circuit_component/module/proc/add_and_link_output_port(name, type)
+ var/datum/port/new_port = output_component.add_input_port(name, type)
+ linked_ports[new_port] = add_output_port(name, type)
+
+/obj/item/circuit_component/module/add_to(obj/item/integrated_circuit/added_to)
+ . = ..()
+ RegisterSignal(added_to, COMSIG_CIRCUIT_SET_CELL, .proc/handle_set_cell)
+ RegisterSignal(added_to, COMSIG_CIRCUIT_SET_ON, .proc/handle_set_on)
+ RegisterSignal(added_to, COMSIG_CIRCUIT_SET_SHELL, .proc/handle_set_shell)
+ internal_circuit.set_cell(added_to.cell)
+ internal_circuit.set_shell(added_to.shell)
+ internal_circuit.set_on(added_to.on)
+
+
+/obj/item/circuit_component/module/removed_from(obj/item/integrated_circuit/removed_from)
+ internal_circuit.set_cell(null)
+ internal_circuit.set_on(FALSE)
+ internal_circuit.remove_current_shell()
+ UnregisterSignal(removed_from, list(
+ COMSIG_CIRCUIT_SET_CELL,
+ COMSIG_CIRCUIT_SET_ON,
+ COMSIG_CIRCUIT_SET_SHELL,
+ ))
+ return ..()
+
+/obj/item/circuit_component/module/proc/handle_set_cell(datum/source, obj/item/stock_parts/cell/cell)
+ SIGNAL_HANDLER
+ internal_circuit.set_cell(cell)
+
+/obj/item/circuit_component/module/proc/handle_set_on(datum/source, new_value)
+ SIGNAL_HANDLER
+ internal_circuit.set_on(new_value)
+
+/obj/item/circuit_component/module/proc/handle_set_shell(datum/source, atom/movable/new_shell)
+ SIGNAL_HANDLER
+ internal_circuit.set_shell(new_shell)
+
+/obj/item/circuit_component/module/Destroy()
+ QDEL_NULL(input_component)
+ QDEL_NULL(output_component)
+ QDEL_NULL(internal_circuit)
+ linked_ports = null
+ return ..()
+
+/obj/item/circuit_component/module/ui_data(mob/user)
+ . = list()
+ .["input_ports"] = list()
+ for(var/datum/port/input/input_port as anything in input_ports)
+ .["input_ports"] += list(list(
+ "name" = input_port.name,
+ "type" = input_port.datatype,
+ ))
+
+ .["output_ports"] = list()
+ for(var/datum/port/output/output_port as anything in output_ports)
+ .["output_ports"] += list(list(
+ "name" = output_port.name,
+ "type" = output_port.datatype,
+ ))
+
+/obj/item/circuit_component/module/ui_static_data(mob/user)
+ . = list()
+ .["global_port_types"] = GLOB.wiremod_basic_types
+
+/obj/item/circuit_component/module/attackby(obj/item/I, mob/living/user, params)
+ if(istype(I, /obj/item/circuit_component))
+ internal_circuit.attackby(I, user, params)
+ return
+ return ..()
+
+#define WITHIN_RANGE(id, table) (id >= 1 && id <= length(table))
+
+/obj/item/circuit_component/module/ui_act(action, list/params)
+ . = ..()
+ if(.)
+ return
+
+ switch(action)
+ if("open_internal_circuit")
+ internal_circuit.interact(usr)
+ . = TRUE
+ if("add_input_port")
+ if(length(input_ports) > port_limit)
+ return
+ add_and_link_input_port("Input Port", PORT_TYPE_ANY)
+ . = TRUE
+ if("remove_input_port")
+ var/port_id = text2num(params["port_id"])
+ if(!WITHIN_RANGE(port_id, input_ports))
+ return
+ var/datum/port/removed_port = input_ports[port_id]
+ linked_ports -= removed_port
+ remove_input_port(removed_port)
+ input_component.remove_output_port(input_component.output_ports[port_id])
+ . = TRUE
+ if("add_output_port")
+ if(length(output_ports) > port_limit)
+ return
+ add_and_link_output_port("Output Port", PORT_TYPE_ANY)
+ . = TRUE
+ if("remove_output_port")
+ var/port_id = text2num(params["port_id"])
+ if(!WITHIN_RANGE(port_id, output_ports))
+ return
+
+ var/datum/port/removed_port = output_component.input_ports[port_id]
+ linked_ports -= removed_port
+ remove_output_port(output_ports[port_id])
+ output_component.remove_input_port(removed_port)
+ . = TRUE
+ if("set_port_name", "set_port_type")
+ var/port_id = text2num(params["port_id"])
+ var/is_input = params["is_input"]
+
+ var/list/ports_to_use
+ var/list/internal_ports_to_use
+ if(is_input)
+ ports_to_use = input_ports
+ internal_ports_to_use = input_component.output_ports
+ else
+ ports_to_use = output_ports
+ internal_ports_to_use = output_component.input_ports
+
+ if(!WITHIN_RANGE(port_id, ports_to_use))
+ return
+
+ var/datum/port/component_port = ports_to_use[port_id]
+ var/datum/port/internal_component_port = internal_ports_to_use[port_id]
+
+ if(action == "set_port_type")
+ var/type = params["port_type"]
+ if(!(type in GLOB.wiremod_basic_types))
+ return
+ component_port.set_datatype(type)
+ internal_component_port.set_datatype(type)
+ else
+ var/port_name = params["port_name"]
+ if(!port_name)
+ return
+ port_name = strip_html(port_name, PORT_MAX_NAME_LENGTH)
+ component_port.name = port_name
+ internal_component_port.name = port_name
+ . = TRUE
+
+ if(.)
+ SStgui.update_uis(internal_circuit)
+
+#undef WITHIN_RANGE
+
+/obj/item/circuit_component/module/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "CircuitModule", name)
+ ui.open()
+ ui.set_autoupdate(FALSE)
diff --git a/code/modules/wiremod/components/action/light.dm b/code/modules/wiremod/components/action/light.dm
new file mode 100644
index 0000000000..14427eae0e
--- /dev/null
+++ b/code/modules/wiremod/components/action/light.dm
@@ -0,0 +1,68 @@
+/**
+ * # Light Component
+ *
+ * Emits a light of a specific brightness and colour. Requires a shell.
+ */
+/obj/item/circuit_component/light
+ display_name = "Light"
+ desc = "A component that emits a light of a specific brightness and colour. Requires a shell."
+
+ /// The colours of the light
+ var/datum/port/input/red
+ var/datum/port/input/green
+ var/datum/port/input/blue
+
+ /// The brightness
+ var/datum/port/input/brightness
+
+ /// Whether the light is on or not
+ var/datum/port/input/on
+
+ var/max_power = 5
+ var/min_lightness = 0.4
+ var/shell_light_color
+
+/obj/item/circuit_component/light/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Maximum Brightness: [max_power]", "orange", "lightbulb")
+
+/obj/item/circuit_component/light/Initialize()
+ . = ..()
+ red = add_input_port("Red", PORT_TYPE_NUMBER)
+ green = add_input_port("Green", PORT_TYPE_NUMBER)
+ blue = add_input_port("Blue", PORT_TYPE_NUMBER)
+ brightness = add_input_port("Brightness", PORT_TYPE_NUMBER)
+
+ on = add_input_port("On", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/light/register_shell(atom/movable/shell)
+ . = ..()
+ TRIGGER_CIRCUIT_COMPONENT(src, null)
+
+/obj/item/circuit_component/light/unregister_shell(atom/movable/shell)
+ shell.set_light_on(FALSE)
+ return ..()
+
+/obj/item/circuit_component/light/input_received(datum/port/input/port)
+ . = ..()
+ brightness.set_value(clamp(brightness.value || 0, 0, max_power))
+ red.set_value(clamp(red.value, 0, 255))
+ blue.set_value(clamp(blue.value, 0, 255))
+ green.set_value(clamp(green.value, 0, 255))
+ var/list/hsl = rgb2hsl(red.value || 0, green.value || 0, blue.value || 0)
+ var/list/light_col = hsl2rgb(hsl[1], hsl[2], max(min_lightness, hsl[3]))
+ shell_light_color = rgb(light_col[1], light_col[2], light_col[3])
+ if(.)
+ return
+
+ if(parent.shell)
+ set_atom_light(parent.shell)
+
+/obj/item/circuit_component/light/proc/set_atom_light(atom/movable/target_atom)
+ // Clamp anyways just for safety
+ var/bright_val = min(max(brightness.value || 0, 0), max_power)
+
+ target_atom.set_light_power(bright_val)
+ target_atom.set_light_range(bright_val)
+ target_atom.set_light_color(shell_light_color)
+ target_atom.set_light_on(!!on.value)
diff --git a/code/modules/wiremod/components/action/mmi.dm b/code/modules/wiremod/components/action/mmi.dm
new file mode 100644
index 0000000000..9c242059a6
--- /dev/null
+++ b/code/modules/wiremod/components/action/mmi.dm
@@ -0,0 +1,175 @@
+/**
+ * # Man-Machine Interface Component
+ *
+ * Allows an MMI to be inserted into a shell, allowing it to be linked up. Requires a shell.
+ */
+/obj/item/circuit_component/mmi
+ display_name = "Man-Machine Interface"
+ desc = "A component that allows MMI to enter shells to send output signals."
+
+ /// The message to send to the MMI in the shell.
+ var/datum/port/input/message
+ /// Sends the current MMI a message
+ var/datum/port/input/send
+ /// Ejects the current MMI
+ var/datum/port/input/eject
+
+ /// Called when the MMI tries moving north
+ var/datum/port/output/north
+ /// Called when the MMI tries moving east
+ var/datum/port/output/east
+ /// Called when the MMI tries moving south
+ var/datum/port/output/south
+ /// Called when the MMI tries moving west
+ var/datum/port/output/west
+
+ /// Returns what the MMI last clicked on.
+ var/datum/port/output/clicked_atom
+ /// Called when the MMI clicks.
+ var/datum/port/output/attack
+ /// Called when the MMI right clicks.
+ var/datum/port/output/secondary_attack
+
+ /// The current MMI card
+ var/obj/item/mmi/brain
+
+ /// Maximum length of the message that can be sent to the MMI
+ var/max_length = 300
+
+/obj/item/circuit_component/mmi/Initialize()
+ . = ..()
+ message = add_input_port("Message", PORT_TYPE_STRING)
+ send = add_input_port("Send Message", PORT_TYPE_SIGNAL)
+ eject = add_input_port("Eject", PORT_TYPE_SIGNAL)
+
+ north = add_output_port("North", PORT_TYPE_SIGNAL)
+ east = add_output_port("East", PORT_TYPE_SIGNAL)
+ south = add_output_port("South", PORT_TYPE_SIGNAL)
+ west = add_output_port("West", PORT_TYPE_SIGNAL)
+
+ attack = add_output_port("Attack", PORT_TYPE_SIGNAL)
+ secondary_attack = add_output_port("Secondary Attack", PORT_TYPE_SIGNAL)
+ clicked_atom = add_output_port("Target Entity", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/mmi/Destroy()
+ remove_current_brain()
+ return ..()
+
+/obj/item/circuit_component/mmi/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(!brain)
+ return
+
+ if(COMPONENT_TRIGGERED_BY(eject, port))
+ remove_current_brain()
+ if(COMPONENT_TRIGGERED_BY(send, port))
+ if(!message.value)
+ return
+
+ var/msg_str = copytext(html_encode(message.value), 1, max_length)
+
+ var/mob/living/target = brain.brainmob
+ if(!target)
+ return
+
+ to_chat(target, "[span_bold("You hear a message in your ear: ")][msg_str]")
+
+
+/obj/item/circuit_component/mmi/register_shell(atom/movable/shell)
+ . = ..()
+ RegisterSignal(shell, COMSIG_PARENT_ATTACKBY, .proc/handle_attack_by)
+
+/obj/item/circuit_component/mmi/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, COMSIG_PARENT_ATTACKBY)
+ remove_current_brain()
+ return ..()
+
+/obj/item/circuit_component/mmi/proc/handle_attack_by(atom/movable/shell, obj/item/item, mob/living/attacker)
+ SIGNAL_HANDLER
+ if(istype(item, /obj/item/mmi))
+ var/obj/item/mmi/target_mmi = item
+ if(!target_mmi.brainmob)
+ return
+ add_mmi(item)
+ return COMPONENT_NO_AFTERATTACK
+
+/obj/item/circuit_component/mmi/proc/add_mmi(obj/item/mmi/to_add)
+ remove_current_brain()
+
+ to_add.forceMove(src)
+ if(to_add.brainmob)
+ update_mmi_mob(to_add, null, to_add.brainmob)
+ brain = to_add
+ RegisterSignal(to_add, COMSIG_PARENT_QDELETING, .proc/remove_current_brain)
+ RegisterSignal(to_add, COMSIG_MOVABLE_MOVED, .proc/mmi_moved)
+
+/obj/item/circuit_component/mmi/proc/mmi_moved(atom/movable/mmi)
+ SIGNAL_HANDLER
+
+ if(mmi.loc != src)
+ remove_current_brain()
+
+/obj/item/circuit_component/mmi/proc/remove_current_brain()
+ SIGNAL_HANDLER
+ if(!brain)
+ return
+
+ if(brain.brainmob)
+ update_mmi_mob(brain, brain.brainmob)
+ UnregisterSignal(brain, list(
+ COMSIG_PARENT_QDELETING,
+ COMSIG_MOVABLE_MOVED
+ ))
+ if(brain.loc == src)
+ brain.forceMove(drop_location())
+ brain = null
+
+/obj/item/circuit_component/mmi/proc/update_mmi_mob(datum/source, mob/living/old_mmi, mob/living/new_mmi)
+ SIGNAL_HANDLER
+ if(old_mmi)
+ old_mmi.remote_control = null
+ UnregisterSignal(old_mmi, COMSIG_MOB_CLICKON)
+ if(new_mmi)
+ new_mmi.remote_control = src
+ RegisterSignal(new_mmi, COMSIG_MOB_CLICKON, .proc/handle_mmi_attack)
+
+/obj/item/circuit_component/mmi/relaymove(mob/living/user, direct)
+ if(user != brain.brainmob)
+ return ..()
+
+ if(direct & NORTH)
+ north.set_output(COMPONENT_SIGNAL)
+ if(direct & WEST)
+ west.set_output(COMPONENT_SIGNAL)
+ if(direct & EAST)
+ east.set_output(COMPONENT_SIGNAL)
+ if(direct & SOUTH)
+ south.set_output(COMPONENT_SIGNAL)
+
+ return TRUE
+
+/obj/item/circuit_component/mmi/proc/handle_mmi_attack(mob/living/source, atom/target, list/mods)
+ SIGNAL_HANDLER
+ var/list/modifiers = params2list(mods)
+ if(modifiers[RIGHT_CLICK])
+ clicked_atom.set_output(target)
+ secondary_attack.set_output(COMPONENT_SIGNAL)
+ . = COMSIG_MOB_CANCEL_CLICKON
+ else if(modifiers[LEFT_CLICK] && !modifiers[SHIFT_CLICK] && !modifiers[ALT_CLICK] && !modifiers[CTRL_CLICK])
+ clicked_atom.set_output(target)
+ attack.set_output(COMPONENT_SIGNAL)
+ . = COMSIG_MOB_CANCEL_CLICKON
+
+/obj/item/circuit_component/mmi/add_to(obj/item/integrated_circuit/add_to)
+ . = ..()
+ if(HAS_TRAIT(add_to, TRAIT_COMPONENT_MMI))
+ return FALSE
+ ADD_TRAIT(add_to, TRAIT_COMPONENT_MMI, src)
+
+/obj/item/circuit_component/mmi/removed_from(obj/item/integrated_circuit/removed_from)
+ REMOVE_TRAIT(removed_from, TRAIT_COMPONENT_MMI, src)
+ remove_current_brain()
+ return ..()
diff --git a/code/modules/wiremod/components/action/pathfind.dm b/code/modules/wiremod/components/action/pathfind.dm
new file mode 100644
index 0000000000..10856e0de8
--- /dev/null
+++ b/code/modules/wiremod/components/action/pathfind.dm
@@ -0,0 +1,113 @@
+/**
+ * # Pathfinding component
+ *
+ * Calcualtes a path, returns a list of entities. Each entity is the next step in the path. Can be used with the direction component to move.
+ */
+/obj/item/circuit_component/pathfind
+ display_name = "Pathfinder"
+ desc = "When triggered, the next step to the target's location as an entity. This can be used with the direction component and the drone shell to make it move on its own. The Id Card input port is for considering ID access when pathing, it does not give the shell actual access."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/datum/port/input/input_X
+ var/datum/port/input/input_Y
+ var/datum/port/input/id_card
+
+ var/datum/port/output/output
+ var/datum/port/output/finished
+ var/datum/port/output/failed
+ var/datum/port/output/reason_failed
+
+ var/list/path
+ var/turf/old_dest
+ var/turf/next_turf
+
+ // Cooldown to limit how frequently we can path to the same location.
+ var/same_path_cooldown = 5 SECONDS
+ var/different_path_cooldown = 30 SECONDS
+
+ var/max_range = 60
+
+/obj/item/circuit_component/pathfind/get_ui_notices()
+ . = ..()
+ // Not necessary to show the same path cooldown, since it doesn't change much for the player
+ . += create_ui_notice("Pathfinding Cooldown: [DisplayTimeText(different_path_cooldown)]", "orange", "stopwatch")
+ . += create_ui_notice("Maximum Range: [max_range] tiles", "orange", "info")
+
+/obj/item/circuit_component/pathfind/Initialize()
+ . = ..()
+ input_X = add_input_port("Target X", PORT_TYPE_NUMBER, FALSE)
+ input_Y = add_input_port("Target Y", PORT_TYPE_NUMBER, FALSE)
+ id_card = add_input_port("ID Card", PORT_TYPE_ATOM, FALSE)
+
+ output = add_output_port("Next step", PORT_TYPE_ATOM)
+ finished = add_output_port("Arrived to destination", PORT_TYPE_SIGNAL)
+ failed = add_output_port("Failed", PORT_TYPE_SIGNAL)
+ reason_failed = add_output_port("Fail reason", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/pathfind/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/target_X = input_X.value
+ if(isnull(target_X))
+ return
+
+ var/target_Y = input_Y.value
+ if(isnull(target_Y))
+ return
+
+ var/atom/path_id = id_card.value
+ if(path_id && !istype(path_id, /obj/item/card/id))
+ path_id = null
+ failed.set_output(COMPONENT_SIGNAL)
+ reason_failed.set_output("Object marked is not an ID! Using no ID instead.")
+
+ // Get both the current turf and the destination's turf
+ var/turf/current_turf = get_turf(src)
+ var/turf/destination = locate(target_X, target_Y, current_turf?.z)
+
+ // We're already here! No need to do anything.
+ if(current_turf == destination)
+ finished.set_output(COMPONENT_SIGNAL)
+ old_dest = null
+ TIMER_COOLDOWN_END(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME)
+ next_turf = null
+ return
+
+ // If we're going to the same place and the cooldown hasn't subsided, we're probably on the same path as before
+ if (destination == old_dest && TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME))
+
+ // Check if the current turf is the same as the current turf we're supposed to be in. If so, then we set the next step as the next turf on the list
+ if(current_turf == next_turf)
+ popleft(path)
+ next_turf = get_turf(path[1])
+ output.set_output(next_turf)
+
+ // Restart the cooldown since we don't need a new path ( TIMER_COOLDOWN_START might restart the timer by itself and i dont need to call TIMER_COOLDOWN_END, but better safe than sorry )
+ TIMER_COOLDOWN_END(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME)
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME, same_path_cooldown)
+
+
+ else // Either we're not going to the same place or the cooldown is over. Either way, we need a new path
+
+ if(destination != old_dest && TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_PATHFIND_DIF))
+ failed.set_output(COMPONENT_SIGNAL)
+ reason_failed.set_output("Cooldown still active!")
+ return
+
+ TIMER_COOLDOWN_END(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME)
+
+ old_dest = destination
+ path = get_path_to(src, destination, max_range, id=path_id)
+ if(length(path) == 0 || !path)// Check if we can even path there
+ next_turf = null
+ failed.set_output(COMPONENT_SIGNAL)
+ reason_failed.set_output("Can't go there!")
+ return
+ else
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_PATHFIND_DIF, different_path_cooldown)
+ next_turf = get_turf(path[1])
+ output.set_output(next_turf)
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_PATHFIND_SAME, same_path_cooldown)
+
diff --git a/code/modules/wiremod/components/action/pull.dm b/code/modules/wiremod/components/action/pull.dm
new file mode 100644
index 0000000000..ecaa6bd3aa
--- /dev/null
+++ b/code/modules/wiremod/components/action/pull.dm
@@ -0,0 +1,31 @@
+/**
+ * # Pull Component
+ *
+ * Tells the shell to start pulling on a designated atom. Only works on movable shells.
+ */
+/obj/item/circuit_component/pull
+ display_name = "Start Pulling"
+ desc = "A component that can force the shell to pull entities. Only works for drone shells."
+
+ /// Frequency input
+ var/datum/port/input/target
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/pull/Initialize()
+ . = ..()
+ target = add_input_port("Target", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/pull/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/atom/target_atom = target.value
+ if(!target_atom)
+ return
+
+ var/mob/shell = parent.shell
+ if(!istype(shell) || get_dist(shell, target_atom) > 1 || shell.z != target_atom.z)
+ return
+
+ shell.start_pulling(target_atom)
diff --git a/code/modules/wiremod/components/action/radio.dm b/code/modules/wiremod/components/action/radio.dm
new file mode 100644
index 0000000000..540b79f7cf
--- /dev/null
+++ b/code/modules/wiremod/components/action/radio.dm
@@ -0,0 +1,74 @@
+#define COMP_RADIO_PUBLIC "public"
+#define COMP_RADIO_PRIVATE "private"
+
+/**
+ * # Radio Component
+ *
+ * Listens out for signals on the designated frequencies and sends signals on designated frequencies
+ */
+/obj/item/circuit_component/radio
+ display_name = "Radio"
+ desc = "A component that can listen and send frequencies. If set to private, the component will only receive signals from other components attached to circuitboards with the same owner id."
+
+ /// The publicity options. Controls whether it's public or private.
+ var/datum/port/input/option/public_options
+
+ /// Frequency input
+ var/datum/port/input/freq
+ /// Signal input
+ var/datum/port/input/code
+
+ /// Current frequency value
+ var/current_freq = DEFAULT_SIGNALER_CODE
+
+ var/datum/radio_frequency/radio_connection
+
+/obj/item/circuit_component/radio/populate_options()
+ var/static/component_options = list(
+ COMP_RADIO_PUBLIC,
+ COMP_RADIO_PRIVATE,
+ )
+ public_options = add_option_port("Encryption Options", component_options)
+
+/obj/item/circuit_component/radio/Initialize()
+ . = ..()
+ freq = add_input_port("Frequency", PORT_TYPE_NUMBER, default = FREQ_SIGNALER)
+ code = add_input_port("Code", PORT_TYPE_NUMBER, default = DEFAULT_SIGNALER_CODE)
+ TRIGGER_CIRCUIT_COMPONENT(src, null)
+ // These are cleaned up on the parent
+ trigger_input = add_input_port("Send", PORT_TYPE_SIGNAL)
+ trigger_output = add_output_port("Received", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/radio/Destroy()
+ SSradio.remove_object(src, current_freq)
+ return ..()
+
+/obj/item/circuit_component/radio/input_received(datum/port/input/port)
+ . = ..()
+ freq.set_value(sanitize_frequency(freq.value, TRUE))
+ if(.)
+ return
+ var/frequency = freq.value
+
+ SSradio.remove_object(src, current_freq)
+ radio_connection = SSradio.add_object(src, frequency, RADIO_SIGNALER)
+ current_freq = frequency
+
+ if(COMPONENT_TRIGGERED_BY(trigger_input, port))
+ var/datum/signal/signal = new(list("code" = round(code.value) || 0, "key" = parent?.owner_id))
+ radio_connection.post_signal(src, signal)
+
+/obj/item/circuit_component/radio/receive_signal(datum/signal/signal)
+ . = FALSE
+ if(!signal)
+ return
+ if(signal.data["code"] != round(code.value || 0))
+ return
+
+ if(public_options.value == COMP_RADIO_PRIVATE && parent?.owner_id != signal.data["key"])
+ return
+
+ trigger_output.set_output(COMPONENT_SIGNAL)
+
+#undef COMP_RADIO_PUBLIC
+#undef COMP_RADIO_PRIVATE
diff --git a/code/modules/wiremod/components/action/soundemitter.dm b/code/modules/wiremod/components/action/soundemitter.dm
new file mode 100644
index 0000000000..6d18978c53
--- /dev/null
+++ b/code/modules/wiremod/components/action/soundemitter.dm
@@ -0,0 +1,66 @@
+/**
+ * # Sound Emitter Component
+ *
+ * A component that emits a sound when it receives an input.
+ */
+/obj/item/circuit_component/soundemitter
+ display_name = "Sound Emitter"
+ desc = "A component that emits a sound when it receives an input. The frequency is a multiplier which determines the speed at which the sound is played"
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// Sound to play
+ var/datum/port/input/option/sound_file
+
+ /// Volume of the sound when played
+ var/datum/port/input/volume
+
+ /// Frequency of the sound when played
+ var/datum/port/input/frequency
+
+ /// The cooldown for this component of how often it can play sounds.
+ var/sound_cooldown = 2 SECONDS
+
+ var/list/options_map
+
+/obj/item/circuit_component/soundemitter/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Sound Cooldown: [DisplayTimeText(sound_cooldown)]", "orange", "stopwatch")
+
+
+/obj/item/circuit_component/soundemitter/Initialize()
+ . = ..()
+ volume = add_input_port("Volume", PORT_TYPE_NUMBER, default = 35)
+ frequency = add_input_port("Frequency", PORT_TYPE_NUMBER, default = 0)
+
+/obj/item/circuit_component/soundemitter/populate_options()
+ var/static/component_options = list(
+ "Buzz" = 'sound/machines/buzz-sigh.ogg',
+ "Buzz Twice" = 'sound/machines/buzz-two.ogg',
+ "Chime" = 'sound/machines/chime.ogg',
+ "Honk" = 'sound/items/bikehorn.ogg',
+ "Ping" = 'sound/machines/ping.ogg',
+ "Sad Trombone" = 'sound/misc/sadtrombone.ogg',
+ "Warn" = 'sound/machines/warning-buzzer.ogg',
+ "Slow Clap" = 'sound/machines/slowclap.ogg',
+ )
+ sound_file = add_option_port("Sound Option", component_options)
+ options_map = component_options
+
+
+/obj/item/circuit_component/soundemitter/input_received(datum/port/input/port)
+ . = ..()
+ volume.set_value(clamp(volume.value, 0, 100))
+ frequency.set_value(clamp(frequency.value, -100, 100))
+ if(.)
+ return
+
+ if(TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_SOUNDEMITTER))
+ return
+
+ var/sound_to_play = options_map[sound_file.value]
+ if(!sound_to_play)
+ return
+
+ playsound(src, sound_to_play, volume.value, frequency != 0, frequency = frequency.value)
+
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_SOUNDEMITTER, sound_cooldown)
diff --git a/code/modules/wiremod/components/action/speech.dm b/code/modules/wiremod/components/action/speech.dm
new file mode 100644
index 0000000000..6732a2058a
--- /dev/null
+++ b/code/modules/wiremod/components/action/speech.dm
@@ -0,0 +1,40 @@
+/**
+ * # Speech Component
+ *
+ * Sends a message. Requires a shell.
+ */
+/obj/item/circuit_component/speech
+ display_name = "Speech"
+ desc = "A component that sends a message. Requires a shell."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The message to send
+ var/datum/port/input/message
+
+ /// The cooldown for this component of how often it can send speech messages.
+ var/speech_cooldown = 1 SECONDS
+
+/obj/item/circuit_component/speech/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Speech Cooldown: [DisplayTimeText(speech_cooldown)]", "orange", "stopwatch")
+
+/obj/item/circuit_component/speech/Initialize()
+ . = ..()
+ message = add_input_port("Message", PORT_TYPE_STRING, FALSE)
+
+/obj/item/circuit_component/speech/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_SPEECH))
+ return
+
+ if(message.value)
+ var/atom/movable/shell = parent.shell
+ // Prevents appear as the individual component if there is a shell.
+ if(shell)
+ shell.say(message.value)
+ else
+ say(message.value)
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_SPEECH, speech_cooldown)
diff --git a/code/modules/wiremod/components/admin/getvar.dm b/code/modules/wiremod/components/admin/getvar.dm
new file mode 100644
index 0000000000..cef8341f38
--- /dev/null
+++ b/code/modules/wiremod/components/admin/getvar.dm
@@ -0,0 +1,42 @@
+/**
+ * # Get Variable Component
+ *
+ * A component that gets a variable on an object
+ */
+/obj/item/circuit_component/get_variable
+ display_name = "Get Variable"
+ desc = "A component that gets a variable on an object."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ /// Entity to get variable of
+ var/datum/port/input/entity
+
+ /// Variable name
+ var/datum/port/input/variable_name
+
+ /// Variable value
+ var/datum/port/output/output_value
+
+
+/obj/item/circuit_component/get_variable/Initialize()
+ . = ..()
+ entity = add_input_port("Target", PORT_TYPE_ATOM)
+ variable_name = add_input_port("Variable Name", PORT_TYPE_STRING)
+
+ output_value = add_output_port("Output Value", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/get_variable/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+ var/atom/object = entity.value
+ var/var_name = variable_name.value
+ if(!var_name || !object)
+ output_value.set_output(null)
+ return
+
+ if(!object.can_vv_get(var_name) || !(var_name in object.vars))
+ output_value.set_output(null)
+ return
+
+ output_value.set_output(object.vars[var_name])
diff --git a/code/modules/wiremod/components/admin/proccall.dm b/code/modules/wiremod/components/admin/proccall.dm
new file mode 100644
index 0000000000..1349c81636
--- /dev/null
+++ b/code/modules/wiremod/components/admin/proccall.dm
@@ -0,0 +1,72 @@
+#define COMP_PROC_GLOBAL "Global"
+#define COMP_PROC_OBJECT "Object"
+
+
+/**
+ * # Proc Call Component
+ *
+ * A component that calls a proc on an object and outputs the return value
+ */
+/obj/item/circuit_component/proccall
+ display_name = "Proc Call"
+ desc = "A component that calls a proc on an object."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ var/datum/port/input/option/proccall_options
+
+ /// Entity to proccall on
+ var/datum/port/input/entity
+
+ /// Proc to call
+ var/datum/port/input/proc_name
+
+ /// Arguments
+ var/datum/port/input/arguments
+
+ /// Returns the output from the proccall
+ var/datum/port/output/output_value
+
+/obj/item/circuit_component/proccall/populate_options()
+ var/static/list/component_options = list(
+ COMP_PROC_OBJECT,
+ COMP_PROC_GLOBAL,
+ )
+
+ proccall_options = add_option_port("Proccall Options", component_options)
+
+/obj/item/circuit_component/proccall/Initialize()
+ . = ..()
+ entity = add_input_port("Target", PORT_TYPE_ATOM)
+ proc_name = add_input_port("Proc Name", PORT_TYPE_STRING)
+ arguments = add_input_port("Arguments", PORT_TYPE_LIST)
+
+ output_value = add_output_port("Output Value", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/proccall/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/called_on
+ if(proccall_options.value == COMP_PROC_OBJECT)
+ called_on = entity.value
+ else
+ called_on = GLOBAL_PROC
+
+ if(!called_on)
+ return
+
+ var/to_invoke = proc_name.value
+ var/params = arguments.value || list()
+
+ if(!to_invoke)
+ return
+
+ GLOB.AdminProcCaller = "CHAT_[parent.display_name]" //_ won't show up in ckeys so it'll never match with a real admin
+ var/result = WrapAdminProcCall(called_on, to_invoke, params)
+ GLOB.AdminProcCaller = null
+
+ output_value.set_output(result)
+
+#undef COMP_PROC_GLOBAL
+#undef COMP_PROC_OBJECT
diff --git a/code/modules/wiremod/components/admin/sdql.dm b/code/modules/wiremod/components/admin/sdql.dm
new file mode 100644
index 0000000000..871c3f247e
--- /dev/null
+++ b/code/modules/wiremod/components/admin/sdql.dm
@@ -0,0 +1,36 @@
+/**
+ * # SDQL Component
+ *
+ * A component that performs an sdql operation
+ */
+/obj/item/circuit_component/sdql_operation
+ display_name = "SDQL Operation"
+ desc = "A component that performs an SDQL operation when invoked."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ /// SDQL Operation to invoke
+ var/datum/port/input/sdql_operation
+
+ var/datum/port/output/results
+
+
+/obj/item/circuit_component/sdql_operation/Initialize()
+ . = ..()
+ sdql_operation = add_input_port("SDQL String", PORT_TYPE_STRING)
+ results = add_output_port("Result", PORT_TYPE_LIST)
+
+/obj/item/circuit_component/sdql_operation/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/operation = sdql_operation.value
+
+ if(GLOB.AdminProcCaller || !operation)
+ return TRUE
+
+ GLOB.AdminProcCaller = "CHAT_[parent.display_name]" //_ won't show up in ckeys so it'll never match with a real admin
+ var/list/result = world.SDQL2_query(operation, parent.get_creator_admin(), parent.get_creator())
+ GLOB.AdminProcCaller = null
+
+ results.set_output(result)
diff --git a/code/modules/wiremod/components/admin/setvar.dm b/code/modules/wiremod/components/admin/setvar.dm
new file mode 100644
index 0000000000..0c66450cc9
--- /dev/null
+++ b/code/modules/wiremod/components/admin/setvar.dm
@@ -0,0 +1,36 @@
+/**
+ * # Set Variable Component
+ *
+ * A component that sets a variable on an object
+ */
+/obj/item/circuit_component/set_variable
+ display_name = "Set Variable"
+ desc = "A component that sets a variable on an object."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ /// Entity to set variable of
+ var/datum/port/input/entity
+
+ /// Variable name
+ var/datum/port/input/variable_name
+
+ /// New value to set the variable name to.
+ var/datum/port/input/new_value
+
+
+/obj/item/circuit_component/set_variable/Initialize()
+ . = ..()
+ entity = add_input_port("Target", PORT_TYPE_ATOM)
+ variable_name = add_input_port("Variable Name", PORT_TYPE_STRING)
+ new_value = add_input_port("New Value", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/set_variable/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+ var/atom/object = entity.value
+ var/var_name = variable_name.value
+ if(!var_name || !object)
+ return
+
+ object.vv_edit_var(var_name, new_value.value)
diff --git a/code/modules/wiremod/components/admin/spawn.dm b/code/modules/wiremod/components/admin/spawn.dm
new file mode 100644
index 0000000000..2d3697598b
--- /dev/null
+++ b/code/modules/wiremod/components/admin/spawn.dm
@@ -0,0 +1,47 @@
+/**
+ * # Spawn Atom Component
+ *
+ * Spawns an atom.
+ */
+/obj/item/circuit_component/spawn_atom
+ display_name = "Spawn Atom"
+ desc = "Spawns an atom at a desired location"
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ /// The input path to convert into a typepath
+ var/datum/port/input/input_path
+
+ /// The turf to spawn them at
+ var/datum/port/input/spawn_at
+
+ /// Parameters to pass to the atom being spawned
+ var/datum/port/input/parameters
+
+ /// The result from the output
+ var/datum/port/output/spawned_atom
+
+/obj/item/circuit_component/spawn_atom/Initialize()
+ . = ..()
+ input_path = add_input_port("Type", PORT_TYPE_ANY)
+ spawn_at = add_input_port("Spawn At", PORT_TYPE_ATOM)
+ parameters = add_input_port("Parameters", PORT_TYPE_LIST)
+
+ spawned_atom = add_output_port("Spawned Atom", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/spawn_atom/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/typepath = input_path.value
+
+ if(!ispath(typepath, /atom))
+ return
+
+ var/list/params = parameters.value
+ if(!params)
+ params = list()
+
+ params.Insert(1, spawn_at.value)
+
+ spawned_atom.set_output(new typepath(arglist(params)))
diff --git a/code/modules/wiremod/components/admin/to_type.dm b/code/modules/wiremod/components/admin/to_type.dm
new file mode 100644
index 0000000000..e4a34223bb
--- /dev/null
+++ b/code/modules/wiremod/components/admin/to_type.dm
@@ -0,0 +1,28 @@
+/**
+ * # To Type Component
+ *
+ * Converts a string into a typepath. Useful for adding components.
+ */
+/obj/item/circuit_component/to_type
+ display_name = "String To Type"
+ desc = "Converts a string into a typepath. Useful for adding components."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL|CIRCUIT_FLAG_ADMIN
+
+ /// The input path to convert into a typepath
+ var/datum/port/input/input_path
+
+ /// The type output
+ var/datum/port/output/type_output
+
+/obj/item/circuit_component/to_type/Initialize()
+ . = ..()
+ input_path = add_input_port("Type", PORT_TYPE_STRING)
+ type_output = add_output_port("Typepath", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/to_type/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ type_output.set_output(text2path(input_path.value))
+
diff --git a/code/modules/wiremod/components/atom/direction.dm b/code/modules/wiremod/components/atom/direction.dm
new file mode 100644
index 0000000000..140720a2d3
--- /dev/null
+++ b/code/modules/wiremod/components/atom/direction.dm
@@ -0,0 +1,66 @@
+/**
+ * # Direction Component
+ *
+ * Return the direction of a mob relative to the component
+ */
+/obj/item/circuit_component/direction
+ display_name = "Get Direction"
+ desc = "A component that returns the direction of itself and an entity."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ // Directions outputs
+ var/datum/port/output/north
+ var/datum/port/output/south
+ var/datum/port/output/east
+ var/datum/port/output/west
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// Maximum range for a valid direction to be returned
+ var/max_range = 7
+
+/obj/item/circuit_component/direction/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Maximum Range: [max_range] tiles", "orange", "info")
+
+/obj/item/circuit_component/direction/Initialize()
+ . = ..()
+ input_port = add_input_port("Organism", PORT_TYPE_ATOM)
+
+ output = add_output_port("Direction", PORT_TYPE_STRING)
+
+ north = add_output_port("North", PORT_TYPE_SIGNAL)
+ east = add_output_port("East", PORT_TYPE_SIGNAL)
+ south = add_output_port("South", PORT_TYPE_SIGNAL)
+ west = add_output_port("West", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/direction/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/atom/object = input_port.value
+ if(!object)
+ return
+ var/turf/location = get_turf(src)
+
+ if(object.z != location.z || get_dist(location, object) > max_range)
+ output.set_output(null)
+ return
+
+ var/direction = get_dir(location, get_turf(object))
+ output.set_output(dir2text(direction))
+
+ if(direction & NORTH)
+ north.set_output(COMPONENT_SIGNAL)
+ if(direction & SOUTH)
+ south.set_output(COMPONENT_SIGNAL)
+ if(direction & EAST)
+ east.set_output(COMPONENT_SIGNAL)
+ if(direction & WEST)
+ west.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/components/atom/gps.dm b/code/modules/wiremod/components/atom/gps.dm
new file mode 100644
index 0000000000..cdf61385a0
--- /dev/null
+++ b/code/modules/wiremod/components/atom/gps.dm
@@ -0,0 +1,34 @@
+/**
+ * # GPS Component
+ *
+ * Return the location of this
+ */
+/obj/item/circuit_component/gps
+ display_name = "Internal GPS"
+ desc = "A component that returns the xyz co-ordinates of itself."
+
+ /// The result from the output
+ var/datum/port/output/x_pos
+ var/datum/port/output/y_pos
+ var/datum/port/output/z_pos
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/gps/Initialize()
+ . = ..()
+
+ x_pos = add_output_port("X", PORT_TYPE_NUMBER)
+ y_pos = add_output_port("Y", PORT_TYPE_NUMBER)
+ z_pos = add_output_port("Z", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/gps/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/turf/location = get_turf(src)
+
+ x_pos.set_output(location?.x)
+ y_pos.set_output(location?.y)
+ z_pos.set_output(location?.z)
+
diff --git a/code/modules/wiremod/components/atom/health.dm b/code/modules/wiremod/components/atom/health.dm
new file mode 100644
index 0000000000..7849180f9a
--- /dev/null
+++ b/code/modules/wiremod/components/atom/health.dm
@@ -0,0 +1,62 @@
+/**
+ * # Get Health Component
+ *
+ * Return the health of a mob
+ */
+/obj/item/circuit_component/health
+ display_name = "Get Health"
+ desc = "A component that returns the health of an organism."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// Brute damage
+ var/datum/port/output/brute
+ /// Burn damage
+ var/datum/port/output/burn
+ /// Toxin damage
+ var/datum/port/output/toxin
+ /// Oxyloss damage
+ var/datum/port/output/oxy
+ /// Health
+ var/datum/port/output/health
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/max_range = 5
+
+/obj/item/circuit_component/health/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Maximum Range: [max_range] tiles", "orange", "info")
+
+/obj/item/circuit_component/health/Initialize()
+ . = ..()
+ input_port = add_input_port("Organism", PORT_TYPE_ATOM)
+
+ brute = add_output_port("Brute Damage", PORT_TYPE_NUMBER)
+ burn = add_output_port("Burn Damage", PORT_TYPE_NUMBER)
+ toxin = add_output_port("Toxin Damage", PORT_TYPE_NUMBER)
+ oxy = add_output_port("Suffocation Damage", PORT_TYPE_NUMBER)
+ health = add_output_port("Health", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/health/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/mob/living/organism = input_port.value
+ var/turf/current_turf = get_turf(src)
+ if(!istype(organism) || get_dist(current_turf, organism) > max_range || current_turf.z != organism.z)
+ brute.set_output(null)
+ burn.set_output(null)
+ toxin.set_output(null)
+ oxy.set_output(null)
+ health.set_output(null)
+ return
+
+ brute.set_output(organism.getBruteLoss())
+ burn.set_output(organism.getFireLoss())
+ toxin.set_output(organism.getToxLoss())
+ oxy.set_output(organism.getOxyLoss())
+ health.set_output(organism.health)
+
diff --git a/code/modules/wiremod/components/atom/hear.dm b/code/modules/wiremod/components/atom/hear.dm
new file mode 100644
index 0000000000..23fbba1e0a
--- /dev/null
+++ b/code/modules/wiremod/components/atom/hear.dm
@@ -0,0 +1,35 @@
+/**
+ * # Hear Component
+ *
+ * Listens for messages. Requires a shell.
+ */
+/obj/item/circuit_component/hear
+ display_name = "Voice Activator"
+ desc = "A component that listens for messages. Requires a shell."
+
+ /// The message heard
+ var/datum/port/output/message_port
+ /// The language heard
+ var/datum/port/output/language_port
+ /// The speaker
+ var/datum/port/output/speaker_port
+ /// The trigger sent when this event occurs
+ var/datum/port/output/trigger_port
+
+/obj/item/circuit_component/hear/Initialize()
+ . = ..()
+ message_port = add_output_port("Message", PORT_TYPE_STRING)
+ language_port = add_output_port("Language", PORT_TYPE_STRING)
+ speaker_port = add_output_port("Speaker", PORT_TYPE_ATOM)
+ trigger_port = add_output_port("Triggered", PORT_TYPE_SIGNAL)
+ become_hearing_sensitive(ROUNDSTART_TRAIT)
+
+/obj/item/circuit_component/hear/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, list/message_mods)
+ if(speaker == parent?.shell)
+ return
+
+ message_port.set_output(raw_message)
+ if(message_language)
+ language_port.set_output(initial(message_language.name))
+ speaker_port.set_output(speaker)
+ trigger_port.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/components/atom/self.dm b/code/modules/wiremod/components/atom/self.dm
new file mode 100644
index 0000000000..7389a19f69
--- /dev/null
+++ b/code/modules/wiremod/components/atom/self.dm
@@ -0,0 +1,21 @@
+/**
+ * # Self Component
+ *
+ * Return the current shell.
+ */
+/obj/item/circuit_component/self
+ display_name = "Self"
+ desc = "A component that returns the current shell."
+
+ /// The shell this component is attached to.
+ var/datum/port/output/output
+
+/obj/item/circuit_component/self/Initialize()
+ . = ..()
+ output = add_output_port("Self", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/self/register_shell(atom/movable/shell)
+ output.set_output(shell)
+
+/obj/item/circuit_component/self/unregister_shell(atom/movable/shell)
+ output.set_output(null)
diff --git a/code/modules/wiremod/components/atom/species.dm b/code/modules/wiremod/components/atom/species.dm
new file mode 100644
index 0000000000..9404a37697
--- /dev/null
+++ b/code/modules/wiremod/components/atom/species.dm
@@ -0,0 +1,35 @@
+/**
+ * # Get Species Component
+ *
+ * Return the species of a mob
+ */
+/obj/item/circuit_component/species
+ display_name = "Get Species"
+ desc = "A component that returns the species of its input."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/species/Initialize()
+ . = ..()
+ input_port = add_input_port("Organism", PORT_TYPE_ATOM)
+
+ output = add_output_port("Species", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/species/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/mob/living/carbon/human/human = input_port.value
+ if(!istype(human) || !human.has_dna())
+ output.set_output(null)
+ return
+
+ output.set_output(human.dna.species.name)
+
diff --git a/code/modules/wiremod/components/hud/bar_overlay.dm b/code/modules/wiremod/components/hud/bar_overlay.dm
new file mode 100644
index 0000000000..f7ecfb1e1f
--- /dev/null
+++ b/code/modules/wiremod/components/hud/bar_overlay.dm
@@ -0,0 +1,62 @@
+#define COMP_BAR_OVERLAY_VERTICAL "Vertical"
+#define COMP_BAR_OVERLAY_HORIZONTAL "Horizontal"
+
+/**
+ * # Bar Overlay Component
+ *
+ * Basically an advanced verion of object overlay component that shows a horizontal/vertical bar.
+ * Requires a BCI shell.
+ */
+
+/obj/item/circuit_component/object_overlay/bar
+ display_name = "Bar Overlay"
+ desc = "Requires a BCI shell. A component that shows a bar overlay ontop of an object from a range of 0 to 100."
+
+ var/datum/port/input/option/bar_overlay_options
+ var/datum/port/input/bar_number
+
+ var/overlay_limit = 10
+
+/obj/item/circuit_component/object_overlay/bar/Initialize()
+ . = ..()
+ bar_number = add_input_port("Number", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/object_overlay/bar/populate_options()
+ var/static/component_options_bar = list(
+ COMP_BAR_OVERLAY_VERTICAL = "barvert",
+ COMP_BAR_OVERLAY_HORIZONTAL = "barhoriz"
+ )
+ bar_overlay_options = add_option_port("Bar Overlay Options", component_options_bar)
+ options_map = component_options_bar
+
+/obj/item/circuit_component/object_overlay/bar/show_to_owner(atom/target_atom, mob/living/owner)
+ if(LAZYLEN(active_overlays) >= overlay_limit)
+ return
+
+ var/current_option = bar_overlay_options.value
+
+ if(active_overlays[target_atom])
+ QDEL_NULL(active_overlays[target_atom])
+
+ var/number_clear = clamp(bar_number.value, 0, 100)
+ if(current_option == COMP_BAR_OVERLAY_HORIZONTAL)
+ number_clear = round(number_clear / 6.25) * 6.25
+ else if(current_option == COMP_BAR_OVERLAY_VERTICAL)
+ number_clear = round(number_clear / 10) * 10
+ var/image/cool_overlay = image(icon = 'icons/hud/screen_bci.dmi', loc = target_atom, icon_state = "[options_map[current_option]][number_clear]", layer = RIPPLE_LAYER)
+
+ if(image_pixel_x.value)
+ cool_overlay.pixel_x = image_pixel_x.value
+
+ if(image_pixel_y.value)
+ cool_overlay.pixel_y = image_pixel_y.value
+
+ active_overlays[target_atom] = WEAKREF(target_atom.add_alt_appearance(
+ /datum/atom_hud/alternate_appearance/basic/one_person,
+ "bar_overlay_[REF(src)]",
+ cool_overlay,
+ owner,
+ ))
+
+#undef COMP_BAR_OVERLAY_VERTICAL
+#undef COMP_BAR_OVERLAY_HORIZONTAL
diff --git a/code/modules/wiremod/components/hud/counter_overlay.dm b/code/modules/wiremod/components/hud/counter_overlay.dm
new file mode 100644
index 0000000000..ecce816e74
--- /dev/null
+++ b/code/modules/wiremod/components/hud/counter_overlay.dm
@@ -0,0 +1,103 @@
+/**
+ * # Counter Overlay Component
+ *
+ * Shows an counter overlay.
+ * Requires a BCI shell.
+ */
+
+/obj/item/circuit_component/counter_overlay
+ display_name = "Counter Overlay"
+ desc = "A component that shows an three digit counter. Requires a BCI shell."
+
+ required_shells = list(/obj/item/organ/cyberimp/bci)
+
+ var/datum/port/input/counter_number
+
+ var/datum/port/input/image_pixel_x
+ var/datum/port/input/image_pixel_y
+
+ var/datum/port/input/signal_update
+
+ var/obj/item/organ/cyberimp/bci/bci
+ var/list/numbers = list()
+ var/counter_appearance
+
+/obj/item/circuit_component/counter_overlay/Initialize()
+ . = ..()
+ counter_number = add_input_port("Displayed Number", PORT_TYPE_NUMBER)
+
+ signal_update = add_input_port("Update Overlay", PORT_TYPE_SIGNAL)
+
+ image_pixel_x = add_input_port("X-Axis Shift", PORT_TYPE_NUMBER)
+ image_pixel_y = add_input_port("Y-Axis Shift", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/counter_overlay/register_shell(atom/movable/shell)
+ if(istype(shell, /obj/item/organ/cyberimp/bci))
+ bci = shell
+ RegisterSignal(shell, COMSIG_ORGAN_REMOVED, .proc/on_organ_removed)
+
+/obj/item/circuit_component/counter_overlay/unregister_shell(atom/movable/shell)
+ bci = null
+ QDEL_NULL(counter_appearance)
+ for(var/number in numbers)
+ QDEL_NULL(number)
+ UnregisterSignal(shell, COMSIG_ORGAN_REMOVED)
+
+/obj/item/circuit_component/counter_overlay/input_received(datum/port/input/port)
+ . = ..()
+
+ if(. || !bci)
+ return
+
+ var/mob/living/owner = bci.owner
+
+ if(!owner || !istype(owner) || !owner.client)
+ return
+
+ for(var/number in numbers)
+ QDEL_NULL(number)
+ numbers = list()
+
+ QDEL_NULL(counter_appearance)
+ var/image/counter = image(icon = 'icons/hud/screen_bci.dmi', icon_state = "hud_numbers", loc = owner)
+ if(image_pixel_x.value)
+ counter.pixel_x = image_pixel_x.value
+ if(image_pixel_y.value)
+ counter.pixel_y = image_pixel_y.value
+
+ counter_appearance = WEAKREF(owner.add_alt_appearance(
+ /datum/atom_hud/alternate_appearance/basic/one_person,
+ "counter_overlay_[REF(src)]",
+ counter,
+ owner,
+ ))
+
+ var/cleared_number = clamp(round(counter_number.value), 0, 999)
+
+ for(var/i = 1 to 3)
+ var/cur_num = round(cleared_number / (10 ** (3 - i))) % 10
+ var/image/number = image(icon = 'icons/hud/screen_bci.dmi', icon_state = "hud_number_[cur_num]", loc = owner)
+
+ if(image_pixel_x.value)
+ number.pixel_x = image_pixel_x.value + (i - 1) * 9
+ if(image_pixel_y.value)
+ number.pixel_y = image_pixel_y.value
+
+ numbers.Add(WEAKREF(owner.add_alt_appearance(
+ /datum/atom_hud/alternate_appearance/basic/one_person,
+ "counter_overlay_[REF(src)]_[i]",
+ number,
+ owner,
+ )))
+
+/obj/item/circuit_component/counter_overlay/proc/on_organ_removed(datum/source, mob/living/carbon/owner)
+ SIGNAL_HANDLER
+ QDEL_NULL(counter_appearance)
+ for(var/number in numbers)
+ QDEL_NULL(number)
+
+/obj/item/circuit_component/counter_overlay/Destroy()
+ QDEL_NULL(counter_appearance)
+ for(var/number in numbers)
+ QDEL_NULL(number)
+ return ..()
diff --git a/code/modules/wiremod/components/hud/object_overlay.dm b/code/modules/wiremod/components/hud/object_overlay.dm
new file mode 100644
index 0000000000..2cab4a57fa
--- /dev/null
+++ b/code/modules/wiremod/components/hud/object_overlay.dm
@@ -0,0 +1,122 @@
+/**
+ * # Object Overlay Component
+ *
+ * Shows an overlay ontop of an object. Toggleable.
+ * Requires a BCI shell.
+ */
+
+#define OBJECT_OVERLAY_LIMIT 10
+
+/obj/item/circuit_component/object_overlay
+ display_name = "Object Overlay"
+ desc = "Requires a BCI shell. A component that shows an overlay on top of an object."
+
+ required_shells = list(/obj/item/organ/cyberimp/bci)
+
+ var/datum/port/input/option/object_overlay_options
+
+ /// Target atom
+ var/datum/port/input/target
+
+ var/datum/port/input/image_pixel_x
+ var/datum/port/input/image_pixel_y
+
+ /// On/Off signals
+ var/datum/port/input/signal_on
+ var/datum/port/input/signal_off
+
+ var/obj/item/organ/cyberimp/bci/bci
+ var/list/active_overlays = list()
+ var/list/options_map
+
+/obj/item/circuit_component/object_overlay/Initialize()
+ . = ..()
+ target = add_input_port("Target", PORT_TYPE_ATOM)
+
+ signal_on = add_input_port("Create Overlay", PORT_TYPE_SIGNAL)
+ signal_off = add_input_port("Remove Overlay", PORT_TYPE_SIGNAL)
+
+ image_pixel_x = add_input_port("X-Axis Shift", PORT_TYPE_NUMBER)
+ image_pixel_y = add_input_port("Y-Axis Shift", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/object_overlay/Destroy()
+ for(var/active_overlay in active_overlays)
+ QDEL_NULL(active_overlay)
+ return ..()
+
+/obj/item/circuit_component/object_overlay/populate_options()
+ var/static/component_options = list(
+ "Corners (Blue)" = "hud_corners",
+ "Corners (Red)" = "hud_corners_red",
+ "Circle (Blue)" = "hud_circle",
+ "Circle (Red)" = "hud_circle_red",
+ "Small Corners (Blue)" = "hud_corners_small",
+ "Small Corners (Red)" = "hud_corners_small_red",
+ "Triangle (Blue)" = "hud_triangle",
+ "Triangle (Red)" = "hud_triangle_red",
+ "HUD mark (Blue)" = "hud_mark",
+ "HUD mark (Red)" = "hud_mark_red"
+ )
+ object_overlay_options = add_option_port("Object", component_options)
+ options_map = component_options
+
+/obj/item/circuit_component/object_overlay/register_shell(atom/movable/shell)
+ if(istype(shell, /obj/item/organ/cyberimp/bci))
+ bci = shell
+ RegisterSignal(shell, COMSIG_ORGAN_REMOVED, .proc/on_organ_removed)
+
+/obj/item/circuit_component/object_overlay/unregister_shell(atom/movable/shell)
+ bci = null
+ UnregisterSignal(shell, COMSIG_ORGAN_REMOVED)
+
+/obj/item/circuit_component/object_overlay/input_received(datum/port/input/port)
+ . = ..()
+
+ if(. || !bci)
+ return
+
+ var/mob/living/owner = bci.owner
+ var/atom/target_atom = target.value
+
+ if(!owner || !istype(owner) || !owner.client || !target_atom)
+ return
+
+ if(COMPONENT_TRIGGERED_BY(signal_on, port))
+ show_to_owner(target_atom, owner)
+
+ if(COMPONENT_TRIGGERED_BY(signal_off, port) && (target_atom in active_overlays))
+ QDEL_NULL(active_overlays[target_atom])
+ active_overlays.Remove(target_atom)
+
+/obj/item/circuit_component/object_overlay/proc/show_to_owner(atom/target_atom, mob/living/owner)
+ if(LAZYLEN(active_overlays) >= OBJECT_OVERLAY_LIMIT)
+ return
+
+ if(active_overlays[target_atom])
+ QDEL_NULL(active_overlays[target_atom])
+
+ var/image/cool_overlay = image(icon = 'icons/hud/screen_bci.dmi', loc = target_atom, icon_state = options_map[object_overlay_options.value], layer = RIPPLE_LAYER)
+
+ if(image_pixel_x.value)
+ cool_overlay.pixel_x = image_pixel_x.value
+
+ if(image_pixel_y.value)
+ cool_overlay.pixel_y = image_pixel_y.value
+
+ var/alt_appearance = WEAKREF(target_atom.add_alt_appearance(
+ /datum/atom_hud/alternate_appearance/basic/one_person,
+ "object_overlay_[REF(src)]",
+ cool_overlay,
+ owner,
+ ))
+
+ active_overlays[target_atom] = alt_appearance
+
+/obj/item/circuit_component/object_overlay/proc/on_organ_removed(datum/source, mob/living/carbon/owner)
+ SIGNAL_HANDLER
+
+ for(var/atom/target_atom in active_overlays)
+ QDEL_NULL(active_overlays[target_atom])
+ active_overlays.Remove(target_atom)
+
+#undef OBJECT_OVERLAY_LIMIT
diff --git a/code/modules/wiremod/components/hud/target_intercept.dm b/code/modules/wiremod/components/hud/target_intercept.dm
new file mode 100644
index 0000000000..2a19264b00
--- /dev/null
+++ b/code/modules/wiremod/components/hud/target_intercept.dm
@@ -0,0 +1,64 @@
+/**
+ * # Target Intercept Component
+ *
+ * When activated intercepts next click and outputs clicked atom.
+ * Requires a BCI shell.
+ */
+
+/obj/item/circuit_component/target_intercept
+ display_name = "Target Intercept"
+ desc = "Requires a BCI shell. When activated, this component will allow user to target an object using their brain and will output the reference to said object."
+
+ required_shells = list(/obj/item/organ/cyberimp/bci)
+
+ var/datum/port/output/clicked_atom
+
+ var/obj/item/organ/cyberimp/bci/bci
+ var/intercept_cooldown = 1 SECONDS
+
+/obj/item/circuit_component/target_intercept/Initialize()
+ . = ..()
+ trigger_input = add_input_port("Activate", PORT_TYPE_SIGNAL)
+ trigger_output = add_output_port("Triggered", PORT_TYPE_SIGNAL)
+ clicked_atom = add_output_port("Targeted Object", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/target_intercept/register_shell(atom/movable/shell)
+ if(istype(shell, /obj/item/organ/cyberimp/bci))
+ bci = shell
+ RegisterSignal(shell, COMSIG_ORGAN_REMOVED, .proc/on_organ_removed)
+
+/obj/item/circuit_component/target_intercept/unregister_shell(atom/movable/shell)
+ bci = null
+ UnregisterSignal(shell, COMSIG_ORGAN_REMOVED)
+
+/obj/item/circuit_component/target_intercept/input_received(datum/port/input/port)
+ . = ..()
+
+ if(. || !bci)
+ return
+
+ var/mob/living/owner = bci.owner
+ if(!owner || !istype(owner) || !owner.client)
+ return
+
+ if(TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_TARGET_INTERCEPT))
+ return
+
+ to_chat(owner, "Left-click to trigger target interceptor!")
+ owner.client.click_intercept = src
+
+/obj/item/circuit_component/target_intercept/proc/on_organ_removed(datum/source, mob/living/carbon/owner)
+ SIGNAL_HANDLER
+
+ if(owner.client && owner.client.click_intercept == src)
+ owner.client.click_intercept = null
+
+/obj/item/circuit_component/target_intercept/proc/InterceptClickOn(mob/user, params, atom/object)
+ user.client.click_intercept = null
+ clicked_atom.set_output(object)
+ trigger_output.set_output(COMPONENT_SIGNAL)
+ TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_TARGET_INTERCEPT, intercept_cooldown)
+
+/obj/item/circuit_component/target_intercept/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Target Interception Cooldown: [DisplayTimeText(intercept_cooldown)]", "orange", "stopwatch")
diff --git a/code/modules/wiremod/components/list/concat.dm b/code/modules/wiremod/components/list/concat.dm
new file mode 100644
index 0000000000..32e16758d3
--- /dev/null
+++ b/code/modules/wiremod/components/list/concat.dm
@@ -0,0 +1,48 @@
+/**
+ * # Concat List Component
+ *
+ * Concatenates a list with a separator
+ */
+/obj/item/circuit_component/concat_list
+ display_name = "Concatenate List"
+ desc = "A component that joins up a list with a separator into a single string."
+
+ /// The input port
+ var/datum/port/input/list_port
+
+ /// The seperator
+ var/datum/port/input/separator
+
+ /// The result from the output
+ var/datum/port/output/output
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/concat_list/Initialize()
+ . = ..()
+ list_port = add_input_port("List", PORT_TYPE_LIST)
+ separator = add_input_port("Seperator", PORT_TYPE_STRING)
+
+ output = add_output_port("Output", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/concat_list/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/seperator = separator.value
+ if(!seperator)
+ return
+
+ var/list/list_input = list_port.value
+ if(!list_input)
+ return
+
+ var/list/text_list = list()
+ for(var/entry in list_input)
+ if(isatom(entry))
+ text_list += PORT_TYPE_ATOM
+ else
+ text_list += "[entry]"
+
+ output.set_output(text_list.Join(seperator))
+
diff --git a/code/modules/wiremod/components/list/get_column.dm b/code/modules/wiremod/components/list/get_column.dm
new file mode 100644
index 0000000000..07ff7ef11b
--- /dev/null
+++ b/code/modules/wiremod/components/list/get_column.dm
@@ -0,0 +1,42 @@
+/**
+ * # Get Column Component
+ *
+ * Gets the column of a table and returns it as a regular list.
+ */
+/obj/item/circuit_component/get_column
+ display_name = "Get Column"
+ desc = "Gets the column of a table and returns it as a regular list."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The list to perform the filter on
+ var/datum/port/input/received_table
+
+ /// The name of the column to check
+ var/datum/port/input/column_name
+
+ /// The filtered list
+ var/datum/port/output/output_list
+
+/obj/item/circuit_component/get_column/Initialize()
+ . = ..()
+ received_table = add_input_port("Input", PORT_TYPE_TABLE)
+ column_name = add_input_port("Column Name", PORT_TYPE_STRING)
+ output_list = add_output_port("Output", PORT_TYPE_LIST)
+
+/obj/item/circuit_component/get_column/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/list/input_list = received_table.value
+ if(!islist(input_list) || isnum(column_name.value))
+ return
+
+ var/list/new_list = list()
+ for(var/list/entry in input_list)
+ var/anything = entry[column_name.value]
+ if(islist(anything))
+ continue
+ new_list += anything
+
+ output_list.set_output(new_list)
diff --git a/code/modules/wiremod/components/list/index.dm b/code/modules/wiremod/components/list/index.dm
new file mode 100644
index 0000000000..d51a60e2bf
--- /dev/null
+++ b/code/modules/wiremod/components/list/index.dm
@@ -0,0 +1,42 @@
+/**
+ * # Index Component
+ *
+ * Return the index of a list
+ */
+/obj/item/circuit_component/index
+ display_name = "Index List"
+ desc = "A component that returns the value of a list at a given index."
+
+ /// The input port
+ var/datum/port/input/list_port
+ var/datum/port/input/index_port
+
+ /// The result from the output
+ var/datum/port/output/output
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/index/Initialize()
+ . = ..()
+ index_port = add_input_port("Index", PORT_TYPE_ANY)
+ list_port = add_input_port("List", PORT_TYPE_LIST)
+
+ output = add_output_port("Value", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/index/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/index = index_port.value
+ var/list/list_input = list_port.value
+
+ if(!islist(list_input) || !index)
+ output.set_output(null)
+ return
+
+ if(isnum(index) && (index < 1 || index > length(list_input)))
+ output.set_output(null)
+ return
+
+ output.set_output(list_input[index])
+
diff --git a/code/modules/wiremod/components/list/index_table.dm b/code/modules/wiremod/components/list/index_table.dm
new file mode 100644
index 0000000000..376bc46465
--- /dev/null
+++ b/code/modules/wiremod/components/list/index_table.dm
@@ -0,0 +1,42 @@
+/**
+ * # Index Table Component
+ *
+ * Gets the row of a table using the index inputted. Will return no value if the index is invalid or a proper table is not returned.
+ */
+/obj/item/circuit_component/index_table
+ display_name = "Index Table"
+ desc = "Gets the row of a table using the index inputted. Will return no value if the index is invalid or a proper table is not returned."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The list to perform the filter on
+ var/datum/port/input/received_table
+
+ /// The target index
+ var/datum/port/input/target_index
+
+ /// The filtered list
+ var/datum/port/output/output_list
+
+/obj/item/circuit_component/index_table/Initialize()
+ . = ..()
+ received_table = add_input_port("Input", PORT_TYPE_TABLE)
+ target_index = add_input_port("Index", PORT_TYPE_NUMBER)
+
+ output_list = add_output_port("Output", PORT_TYPE_LIST)
+
+/obj/item/circuit_component/index_table/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/list/target_list = received_table.value
+ if(!islist(target_list) || !length(target_list))
+ output_list.set_output(null)
+ return
+
+ var/index = target_index.value
+ if(index < 1 || index > length(target_list))
+ output_list.set_output(null)
+ return
+
+ output_list.set_output(target_list[index])
diff --git a/code/modules/wiremod/components/list/list_literal.dm b/code/modules/wiremod/components/list/list_literal.dm
new file mode 100644
index 0000000000..e9bd741606
--- /dev/null
+++ b/code/modules/wiremod/components/list/list_literal.dm
@@ -0,0 +1,86 @@
+/**
+ * # List Literal Component
+ *
+ * Return a list literal.
+ */
+/obj/item/circuit_component/list_literal
+ display_name = "List Literal"
+ desc = "A component that returns the value of a list at a given index. Attack in hand to increase list size, right click to decrease list size."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The inputs used to create the list
+ var/list/datum/port/input/entry_ports = list()
+ /// The result from the output
+ var/datum/port/output/list_output
+
+ var/length = 0
+
+ var/default_list_size = 2
+
+ var/min_size = 1
+ var/max_size = 20
+
+/obj/item/circuit_component/list_literal/save_data_to_list(list/component_data)
+ . = ..()
+ component_data["length"] = length
+
+/obj/item/circuit_component/list_literal/load_data_from_list(list/component_data)
+ set_list_size(component_data["length"])
+
+ return ..()
+
+/obj/item/circuit_component/list_literal/proc/set_list_size(new_size)
+ if(new_size <= 0)
+ for(var/datum/port/input/port in entry_ports)
+ remove_input_port(port)
+ entry_ports = list()
+ length = 0
+ return
+
+ while(length > new_size)
+ var/index = length(entry_ports)
+ var/entry_port = entry_ports[index]
+ entry_ports -= entry_port
+ remove_input_port(entry_port)
+ length--
+
+ while(length < new_size)
+ length++
+ var/index = length(input_ports)
+ if(trigger_input)
+ index -= 1
+ entry_ports += add_input_port("Index [index+1]", PORT_TYPE_ANY, index = index+1)
+
+/obj/item/circuit_component/list_literal/Initialize()
+ . = ..()
+ set_list_size(default_list_size)
+ list_output = add_output_port("Value", PORT_TYPE_LIST)
+
+/obj/item/circuit_component/list_literal/Destroy()
+ list_output = null
+ return ..()
+
+// Increases list length
+/obj/item/circuit_component/list_literal/attack_self(mob/user, list/modifiers)
+ . = ..()
+ set_list_size(min(length + 1, max_size))
+ balloon_alert(user, "new size is now [length]")
+
+// Decreases list length
+/obj/item/circuit_component/list_literal/attack_self_secondary(mob/user, list/modifiers)
+ . = ..()
+ set_list_size(max(length - 1, min_size))
+ balloon_alert(user, "new size is now [length]")
+
+/obj/item/circuit_component/list_literal/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/list/new_literal = list()
+ for(var/datum/port/input/entry_port as anything in entry_ports)
+ // Prevents lists from merging together
+ new_literal += list(entry_port.value)
+
+ list_output.set_output(new_literal)
+
diff --git a/code/modules/wiremod/components/list/select.dm b/code/modules/wiremod/components/list/select.dm
new file mode 100644
index 0000000000..8eba84d034
--- /dev/null
+++ b/code/modules/wiremod/components/list/select.dm
@@ -0,0 +1,93 @@
+/**
+ * # Select Component
+ *
+ * Selects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.
+ */
+/obj/item/circuit_component/select
+ display_name = "Select Query"
+ desc = "A component used with USB cables that can perform select queries on a list based on the column name selected. The values are then compared with the comparison input."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/datum/port/input/option/comparison_options
+
+ /// The list to perform the filter on
+ var/datum/port/input/received_table
+
+ /// The name of the column to check
+ var/datum/port/input/column_name
+
+ /// The input to compare with
+ var/datum/port/input/comparison_input
+
+ /// The filtered list
+ var/datum/port/output/filtered_table
+
+ var/current_type = PORT_TYPE_ANY
+
+/obj/item/circuit_component/select/populate_options()
+ var/static/component_options = list(
+ COMP_COMPARISON_EQUAL,
+ COMP_COMPARISON_NOT_EQUAL,
+ COMP_COMPARISON_GREATER_THAN,
+ COMP_COMPARISON_LESS_THAN,
+ COMP_COMPARISON_GREATER_THAN_OR_EQUAL,
+ COMP_COMPARISON_LESS_THAN_OR_EQUAL,
+ )
+ comparison_options = add_option_port("Comparison Options", component_options)
+
+/obj/item/circuit_component/select/Initialize()
+ . = ..()
+ received_table = add_input_port("Input", PORT_TYPE_TABLE)
+ column_name = add_input_port("Column Name", PORT_TYPE_STRING)
+ comparison_input = add_input_port("Comparison Input", PORT_TYPE_ANY)
+
+ filtered_table = add_output_port("Output", PORT_TYPE_TABLE)
+
+/obj/item/circuit_component/select/input_received(datum/port/input/port)
+ . = ..()
+ var/current_option = comparison_options.value
+
+ switch(current_option)
+ if(COMP_COMPARISON_EQUAL, COMP_COMPARISON_NOT_EQUAL)
+ if(current_type != PORT_TYPE_ANY)
+ current_type = PORT_TYPE_ANY
+ comparison_input.set_datatype(PORT_TYPE_ANY)
+ else
+ if(current_type != PORT_TYPE_NUMBER)
+ current_type = PORT_TYPE_NUMBER
+ comparison_input.set_datatype(PORT_TYPE_NUMBER)
+
+ if(.)
+ return
+
+ var/list/input_list = received_table.value
+ if(!islist(input_list) || isnum(column_name.value))
+ return
+
+ var/comparison_value = comparison_input.value
+ var/list/new_list = list()
+ for(var/list/entry in input_list)
+ var/anything = entry[column_name.value]
+ if(islist(anything))
+ continue
+ if(current_option != COMP_COMPARISON_EQUAL && current_option != COMP_COMPARISON_NOT_EQUAL && !isnum(anything))
+ continue
+ var/add_to_list = FALSE
+ switch(current_option)
+ if(COMP_COMPARISON_EQUAL)
+ add_to_list = anything == comparison_value
+ if(COMP_COMPARISON_NOT_EQUAL)
+ add_to_list = anything != comparison_value
+ if(COMP_COMPARISON_GREATER_THAN)
+ add_to_list = anything > comparison_value
+ if(COMP_COMPARISON_GREATER_THAN_OR_EQUAL)
+ add_to_list = anything >= comparison_value
+ if(COMP_COMPARISON_LESS_THAN)
+ add_to_list = anything < comparison_value
+ if(COMP_COMPARISON_LESS_THAN_OR_EQUAL)
+ add_to_list = anything <= comparison_value
+
+ if(add_to_list)
+ new_list += list(entry)
+
+ filtered_table.set_output(new_list)
diff --git a/code/modules/wiremod/components/list/split.dm b/code/modules/wiremod/components/list/split.dm
new file mode 100644
index 0000000000..27af366fac
--- /dev/null
+++ b/code/modules/wiremod/components/list/split.dm
@@ -0,0 +1,42 @@
+/**
+ * # Split component
+ *
+ * Splits a string
+ */
+/obj/item/circuit_component/split
+ display_name = "Split"
+ desc = "Splits a string by the separator, turning it into a list"
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The seperator
+ var/datum/port/input/separator
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/split/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_STRING)
+ separator = add_input_port("Seperator", PORT_TYPE_STRING)
+ output = add_output_port("Output", PORT_TYPE_LIST)
+
+/obj/item/circuit_component/split/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/separator_value = separator.value
+ if(isnull(separator_value))
+ return
+
+ var/value = input_port.value
+ if(isnull(value))
+ return
+
+ var/list/result = splittext(value,separator_value)
+
+ output.set_output(result)
diff --git a/code/modules/wiremod/components/math/arithmetic.dm b/code/modules/wiremod/components/math/arithmetic.dm
new file mode 100644
index 0000000000..77c8b93b25
--- /dev/null
+++ b/code/modules/wiremod/components/math/arithmetic.dm
@@ -0,0 +1,88 @@
+#define COMP_ARITHMETIC_ADD "Add"
+#define COMP_ARITHMETIC_SUBTRACT "Subtract"
+#define COMP_ARITHMETIC_MULTIPLY "Multiply"
+#define COMP_ARITHMETIC_DIVIDE "Divide"
+#define COMP_ARITHMETIC_MIN "Minimum"
+#define COMP_ARITHMETIC_MAX "Maximum"
+
+/**
+ * # Arithmetic Component
+ *
+ * General arithmetic unit with add/sub/mult/divide capabilities
+ * This one only works with numbers.
+ */
+/obj/item/circuit_component/arithmetic
+ display_name = "Arithmetic"
+ desc = "General arithmetic component with arithmetic capabilities."
+
+ /// The amount of input ports to have
+ var/input_port_amount = 4
+
+ var/datum/port/input/option/arithmetic_option
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ var/list/arithmetic_ports
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/arithmetic/populate_options()
+ var/static/component_options = list(
+ COMP_ARITHMETIC_ADD,
+ COMP_ARITHMETIC_SUBTRACT,
+ COMP_ARITHMETIC_MULTIPLY,
+ COMP_ARITHMETIC_DIVIDE,
+ COMP_ARITHMETIC_MIN,
+ COMP_ARITHMETIC_MAX,
+ )
+ arithmetic_option = add_option_port("Arithmetic Option", component_options)
+
+/obj/item/circuit_component/arithmetic/Initialize()
+ . = ..()
+ arithmetic_ports = list()
+ for(var/port_id in 1 to input_port_amount)
+ var/letter = ascii2text(text2ascii("A") + (port_id-1))
+ arithmetic_ports += add_input_port(letter, PORT_TYPE_NUMBER)
+
+ output = add_output_port("Output", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/arithmetic/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/list/ports = arithmetic_ports.Copy()
+ var/datum/port/input/first_port = popleft(ports)
+ var/result = first_port.value
+
+ for(var/datum/port/input/input_port as anything in ports)
+ var/value = input_port.value
+ if(isnull(value))
+ continue
+
+ switch(arithmetic_option.value)
+ if(COMP_ARITHMETIC_ADD)
+ result += value
+ if(COMP_ARITHMETIC_SUBTRACT)
+ result -= value
+ if(COMP_ARITHMETIC_MULTIPLY)
+ result *= value
+ if(COMP_ARITHMETIC_DIVIDE)
+ // Protect from div by zero errors.
+ if(value == 0)
+ result = null
+ break
+ result /= value
+ if(COMP_ARITHMETIC_MAX)
+ result = max(result, value)
+ if(COMP_ARITHMETIC_MIN)
+ result = min(result, value)
+
+ output.set_output(result)
+
+#undef COMP_ARITHMETIC_ADD
+#undef COMP_ARITHMETIC_SUBTRACT
+#undef COMP_ARITHMETIC_MULTIPLY
+#undef COMP_ARITHMETIC_DIVIDE
+#undef COMP_ARITHMETIC_MIN
+#undef COMP_ARITHMETIC_MAX
diff --git a/code/modules/wiremod/components/math/comparison.dm b/code/modules/wiremod/components/math/comparison.dm
new file mode 100644
index 0000000000..0415b04568
--- /dev/null
+++ b/code/modules/wiremod/components/math/comparison.dm
@@ -0,0 +1,62 @@
+/**
+ * # Comparison Component
+ *
+ * Compares two objects
+ */
+/obj/item/circuit_component/compare/comparison
+ display_name = "Comparison"
+ desc = "A component that compares two objects."
+
+ var/datum/port/input/option/comparison_option
+
+ input_port_amount = 2
+ var/current_type = PORT_TYPE_ANY
+
+/obj/item/circuit_component/compare/comparison/populate_options()
+ var/static/component_options = list(
+ COMP_COMPARISON_EQUAL,
+ COMP_COMPARISON_NOT_EQUAL,
+ COMP_COMPARISON_GREATER_THAN,
+ COMP_COMPARISON_LESS_THAN,
+ COMP_COMPARISON_GREATER_THAN_OR_EQUAL,
+ COMP_COMPARISON_LESS_THAN_OR_EQUAL,
+ )
+ comparison_option = add_option_port("Comparison Option", component_options)
+
+/obj/item/circuit_component/compare/comparison/input_received(datum/port/input/port)
+ switch(comparison_option.value)
+ if(COMP_COMPARISON_EQUAL, COMP_COMPARISON_NOT_EQUAL)
+ if(current_type != PORT_TYPE_ANY)
+ current_type = PORT_TYPE_ANY
+ compare_ports[1].set_datatype(PORT_TYPE_ANY)
+ compare_ports[2].set_datatype(PORT_TYPE_ANY)
+ else
+ if(current_type != PORT_TYPE_NUMBER)
+ current_type = PORT_TYPE_NUMBER
+ compare_ports[1].set_datatype(PORT_TYPE_NUMBER)
+ compare_ports[2].set_datatype(PORT_TYPE_NUMBER)
+ return ..()
+
+
+/obj/item/circuit_component/compare/comparison/do_comparisons(list/ports)
+ if(length(ports) < input_port_amount)
+ return FALSE
+
+ // Comparison component only compares the first two ports
+ var/input1 = compare_ports[1].value
+ var/input2 = compare_ports[2].value
+ var/current_option = comparison_option.value
+
+ switch(current_option)
+ if(COMP_COMPARISON_EQUAL)
+ return input1 == input2
+ if(COMP_COMPARISON_NOT_EQUAL)
+ return input1 != input2
+ if(COMP_COMPARISON_GREATER_THAN)
+ return input1 > input2
+ if(COMP_COMPARISON_GREATER_THAN_OR_EQUAL)
+ return input1 >= input2
+ if(COMP_COMPARISON_LESS_THAN)
+ return input1 < input2
+ if(COMP_COMPARISON_LESS_THAN_OR_EQUAL)
+ return input1 <= input2
diff --git a/code/modules/wiremod/components/math/length.dm b/code/modules/wiremod/components/math/length.dm
new file mode 100644
index 0000000000..d6702c9b5d
--- /dev/null
+++ b/code/modules/wiremod/components/math/length.dm
@@ -0,0 +1,29 @@
+/**
+ * # Length Component
+ *
+ * Return the length of an input
+ */
+/obj/item/circuit_component/length
+ display_name = "Length"
+ desc = "A component that returns the length of its input."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/output
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/length/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_ANY)
+
+ output = add_output_port("Length", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/length/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ output.set_output(length(input_port.value))
+
diff --git a/code/modules/wiremod/components/math/logic.dm b/code/modules/wiremod/components/math/logic.dm
new file mode 100644
index 0000000000..9f632a9242
--- /dev/null
+++ b/code/modules/wiremod/components/math/logic.dm
@@ -0,0 +1,57 @@
+#define COMP_LOGIC_AND "AND"
+#define COMP_LOGIC_OR "OR"
+#define COMP_LOGIC_XOR "XOR"
+
+/**
+ * # Logic Component
+ *
+ * General logic unit with AND OR capabilities
+ */
+/obj/item/circuit_component/compare/logic
+ display_name = "Logic"
+ desc = "A component with 'and' and 'or' capabilities."
+
+ var/datum/port/input/option/logic_options
+
+/obj/item/circuit_component/compare/logic/populate_options()
+ var/static/component_options = list(
+ COMP_LOGIC_AND,
+ COMP_LOGIC_OR,
+ COMP_LOGIC_XOR,
+ )
+ logic_options = add_option_port("Logic Options", component_options)
+
+/obj/item/circuit_component/compare/logic/do_comparisons(list/ports)
+ . = FALSE
+ var/current_option = logic_options.value
+
+ // Used by XOR
+ var/total_ports = 0
+ var/total_true_ports = 0
+ for(var/datum/port/input/port as anything in ports)
+ if(isnull(port.value) && length(port.connected_ports) == 0)
+ continue
+
+ total_ports += 1
+ switch(current_option)
+ if(COMP_LOGIC_AND)
+ if(!port.value)
+ return FALSE
+ . = TRUE
+ if(COMP_LOGIC_OR)
+ if(port.value)
+ return TRUE
+ if(COMP_LOGIC_XOR)
+ if(port.value)
+ . = TRUE
+ total_true_ports += 1
+
+ if(current_option == COMP_LOGIC_XOR)
+ if(total_ports == total_true_ports)
+ return FALSE
+ if(.)
+ return TRUE
+
+#undef COMP_LOGIC_AND
+#undef COMP_LOGIC_OR
+#undef COMP_LOGIC_XOR
diff --git a/code/modules/wiremod/components/math/not.dm b/code/modules/wiremod/components/math/not.dm
new file mode 100644
index 0000000000..6a55024b54
--- /dev/null
+++ b/code/modules/wiremod/components/math/not.dm
@@ -0,0 +1,29 @@
+/**
+ * # Logic Component
+ *
+ * General logic unit with AND OR capabilities
+ */
+/obj/item/circuit_component/not
+ display_name = "Not"
+ desc = "A component that inverts its input."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/result
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/not/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_ANY)
+
+ result = add_output_port("Result", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/not/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ result.set_output(!input_port.value)
+
diff --git a/code/modules/wiremod/components/math/random.dm b/code/modules/wiremod/components/math/random.dm
new file mode 100644
index 0000000000..548376ed8d
--- /dev/null
+++ b/code/modules/wiremod/components/math/random.dm
@@ -0,0 +1,40 @@
+/**
+ * # Random Component
+ *
+ * Generates a random number between specific values
+ */
+/obj/item/circuit_component/random
+ display_name = "Random"
+ desc = "A component that returns random values."
+
+ /// The minimum value that the random number can be
+ var/datum/port/input/minimum
+ /// The maximum value that the random number can be
+ var/datum/port/input/maximum
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The result from the output
+ var/datum/port/output/output
+
+/obj/item/circuit_component/random/Initialize()
+ . = ..()
+ minimum = add_input_port("Minimum", PORT_TYPE_NUMBER, FALSE)
+ maximum = add_input_port("Maximum", PORT_TYPE_NUMBER, FALSE)
+
+ output = add_output_port("Output", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/random/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/min_val = minimum.value || 0
+ var/max_val = maximum.value || 0
+
+ if(max_val < min_val)
+ output.set_output(0)
+ return
+
+ output.set_output(rand(min_val, max_val))
+
diff --git a/code/modules/wiremod/components/ntnet/ntnet_receive.dm b/code/modules/wiremod/components/ntnet/ntnet_receive.dm
new file mode 100644
index 0000000000..0bcb1c5ed0
--- /dev/null
+++ b/code/modules/wiremod/components/ntnet/ntnet_receive.dm
@@ -0,0 +1,62 @@
+/**
+ * # NTNet Receiver Component
+ *
+ * Receives data through NTNet.
+ */
+
+/obj/item/circuit_component/ntnet_receive
+ display_name = "NTNet Receiver"
+ desc = "Receives data packages through NTNet. If Encryption Key is set then only signals with the same Encryption Key will be received."
+
+ circuit_flags = CIRCUIT_FLAG_OUTPUT_SIGNAL //trigger_output
+
+ network_id = __NETWORK_CIRCUITS
+
+ var/datum/port/input/push_hid
+ var/datum/port/output/hid
+ var/datum/port/output/data_package
+ var/datum/port/output/secondary_package
+ var/datum/port/input/enc_key
+ var/datum/port/input/option/data_type_options
+ var/datum/port/input/option/secondary_data_type_options
+
+/obj/item/circuit_component/ntnet_receive/Initialize()
+ . = ..()
+ data_package = add_output_port("Data Package", PORT_TYPE_ANY)
+ secondary_package = add_output_port("Secondary Package", PORT_TYPE_ANY)
+ enc_key = add_input_port("Encryption Key", PORT_TYPE_STRING)
+ RegisterSignal(src, COMSIG_COMPONENT_NTNET_RECEIVE, .proc/ntnet_receive)
+
+/obj/item/circuit_component/ntnet_receive/populate_options()
+ var/static/component_options = list(
+ PORT_TYPE_ANY,
+ PORT_TYPE_STRING,
+ PORT_TYPE_NUMBER,
+ PORT_TYPE_LIST,
+ PORT_TYPE_ATOM,
+ )
+ data_type_options = add_option_port("Data Type", component_options)
+ secondary_data_type_options = add_option_port("Secondary Data Type", component_options)
+
+/obj/item/circuit_component/ntnet_receive/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(COMPONENT_TRIGGERED_BY(data_type_options, port))
+ data_package.set_datatype(data_type_options.value)
+
+ if(COMPONENT_TRIGGERED_BY(secondary_data_type_options, port))
+ secondary_package.set_datatype(secondary_data_type_options.value)
+
+ return TRUE
+
+/obj/item/circuit_component/ntnet_receive/proc/ntnet_receive(datum/source, datum/netdata/data)
+ SIGNAL_HANDLER
+
+ if(data.data["enc_key"] != enc_key.value)
+ return
+
+ data_package.set_output(data.data["data"])
+ secondary_package.set_output(data.data["data_secondary"])
+ trigger_output.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/components/ntnet/ntnet_send.dm b/code/modules/wiremod/components/ntnet/ntnet_send.dm
new file mode 100644
index 0000000000..33d9370fae
--- /dev/null
+++ b/code/modules/wiremod/components/ntnet/ntnet_send.dm
@@ -0,0 +1,29 @@
+/**
+ * # NTNet Transmitter Component
+ *
+ * Sends a data package through NTNet
+ */
+
+/obj/item/circuit_component/ntnet_send
+ display_name = "NTNet Transmitter"
+ desc = "Sends a data package through NTNet. If Encryption Key is set then transmitted data will be only picked up by receivers with the same Encryption Key."
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL
+
+ network_id = __NETWORK_CIRCUITS
+
+ var/datum/port/input/data_package
+ var/datum/port/input/secondary_package
+ var/datum/port/input/enc_key
+
+/obj/item/circuit_component/ntnet_send/Initialize()
+ . = ..()
+ data_package = add_input_port("Data Package", PORT_TYPE_ANY)
+ secondary_package = add_input_port("Secondary Package", PORT_TYPE_ANY)
+ enc_key = add_input_port("Encryption Key", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/ntnet_send/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+ ntnet_send(list("data" = data_package.value, "data_secondary" = secondary_package.value, "enc_key" = enc_key.value))
diff --git a/code/modules/wiremod/components/sensors/pressuresensor.dm b/code/modules/wiremod/components/sensors/pressuresensor.dm
new file mode 100644
index 0000000000..25f39b9c8e
--- /dev/null
+++ b/code/modules/wiremod/components/sensors/pressuresensor.dm
@@ -0,0 +1,36 @@
+/**
+ * # Pressure Sensor
+ *
+ * Returns the pressure of the tile
+ */
+/obj/item/circuit_component/pressuresensor
+ display_name = "Pressure Sensor"
+ desc = "Outputs the current pressure of the tile"
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The result from the output
+ var/datum/port/output/result
+
+/obj/item/circuit_component/pressuresensor/Initialize()
+ . = ..()
+ result = add_output_port("Result", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/pressuresensor/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+ //Get current turf
+ var/turf/location = get_turf(src)
+ if(!location)
+ result.set_output(null)
+ return
+ //Get environment info
+ var/datum/gas_mixture/environment = location.return_air()
+ var/total_moles = environment.total_moles()
+ var/pressure = environment.return_pressure()
+ if(total_moles)
+ //If there's atmos, return pressure
+ result.set_output(round(pressure,1))
+ else
+ result.set_output(0)
diff --git a/code/modules/wiremod/components/sensors/tempsensor.dm b/code/modules/wiremod/components/sensors/tempsensor.dm
new file mode 100644
index 0000000000..bb2410ce77
--- /dev/null
+++ b/code/modules/wiremod/components/sensors/tempsensor.dm
@@ -0,0 +1,36 @@
+/**
+ * # Temperature Sensor
+ *
+ * Returns the temperature of the tile
+ */
+/obj/item/circuit_component/tempsensor
+ display_name = "Temperature Sensor"
+ desc = "Outputs the current temperature of the tile"
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The result from the output
+ var/datum/port/output/result
+
+/obj/item/circuit_component/tempsensor/Initialize()
+ . = ..()
+ result = add_output_port("Result", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/tempsensor/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+ //Get current turf
+ var/turf/location = get_turf(src)
+ if(!location)
+ result.set_output(null)
+ return
+ //Get environment info
+ var/datum/gas_mixture/environment = location.return_air()
+ var/total_moles = environment.total_moles()
+ if(total_moles)
+ //If there's atmos, return temperature
+ result.set_output(round(environment.temperature,1))
+ else
+ result.set_output(0)
+
diff --git a/code/modules/wiremod/components/string/concat.dm b/code/modules/wiremod/components/string/concat.dm
new file mode 100644
index 0000000000..55dd5530a1
--- /dev/null
+++ b/code/modules/wiremod/components/string/concat.dm
@@ -0,0 +1,42 @@
+/**
+ * # Concatenate Component
+ *
+ * General string concatenation component. Puts strings together.
+ */
+/obj/item/circuit_component/concat
+ display_name = "Concatenate"
+ desc = "A component that combines strings."
+
+ /// The amount of input ports to have
+ var/input_port_amount = 4
+
+ /// The result from the output
+ var/datum/port/output/output
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/concat/Initialize()
+ . = ..()
+ for(var/port_id in 1 to input_port_amount)
+ var/letter = ascii2text(text2ascii("A") + (port_id-1))
+ add_input_port(letter, PORT_TYPE_STRING)
+
+ output = add_output_port("Output", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/concat/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/result = ""
+ var/list/ports = input_ports.Copy()
+ ports -= trigger_input
+
+ for(var/datum/port/input/input_port as anything in ports)
+ var/value = input_port.value
+ if(isnull(value))
+ continue
+
+ result += "[value]"
+
+ output.set_output(result)
+
diff --git a/code/modules/wiremod/components/string/contains.dm b/code/modules/wiremod/components/string/contains.dm
new file mode 100644
index 0000000000..61b5e0ca22
--- /dev/null
+++ b/code/modules/wiremod/components/string/contains.dm
@@ -0,0 +1,35 @@
+/**
+ * # String Contains Component
+ *
+ * Checks if a string contains a word/letter
+ */
+/obj/item/circuit_component/compare/contains
+ display_name = "String Contains"
+ desc = "Checks if a string contains a word/letter"
+
+ input_port_amount = 0
+
+ var/datum/port/input/needle
+ var/datum/port/input/haystack
+
+/obj/item/circuit_component/compare/contains/load_custom_ports()
+ needle = add_input_port("Needle", PORT_TYPE_STRING)
+ haystack = add_input_port("Haystack", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/compare/contains/Destroy()
+ needle = null
+ haystack = null
+ return ..()
+
+
+/obj/item/circuit_component/compare/contains/do_comparisons(list/ports)
+ if(length(ports) < input_port_amount)
+ return
+
+ var/to_find = needle.value
+ var/to_search = haystack.value
+
+ if(!to_find || !to_search)
+ return
+
+ return findtext(to_search, to_find)
diff --git a/code/modules/wiremod/components/string/textcase.dm b/code/modules/wiremod/components/string/textcase.dm
new file mode 100644
index 0000000000..a021074433
--- /dev/null
+++ b/code/modules/wiremod/components/string/textcase.dm
@@ -0,0 +1,54 @@
+#define COMP_TEXT_LOWER "To Lower"
+#define COMP_TEXT_UPPER "To Upper"
+
+/**
+ * # Text Component
+ *
+ * Either makes the text upper case or lower case.
+ */
+/obj/item/circuit_component/textcase
+ display_name = "Text Case"
+ desc = "A component that makes its input uppercase or lowercase."
+
+ var/datum/port/input/option/textcase_options
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result of the text operation
+ var/datum/port/output/output
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/textcase/populate_options()
+ var/static/component_options = list(
+ COMP_TEXT_LOWER,
+ COMP_TEXT_UPPER,
+ )
+ textcase_options = add_option_port("Textcase Options", component_options)
+
+/obj/item/circuit_component/textcase/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_STRING)
+ output = add_output_port("Output", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/textcase/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/value = input_port.value
+ if(isnull(value))
+ return
+
+ var/result
+ switch(textcase_options.value)
+ if(COMP_TEXT_LOWER)
+ result = lowertext(value)
+ if(COMP_TEXT_UPPER)
+ result = uppertext(value)
+
+ output.set_output(result)
+
+#undef COMP_TEXT_LOWER
+#undef COMP_TEXT_UPPER
diff --git a/code/modules/wiremod/components/string/tonumber.dm b/code/modules/wiremod/components/string/tonumber.dm
new file mode 100644
index 0000000000..6012ab339d
--- /dev/null
+++ b/code/modules/wiremod/components/string/tonumber.dm
@@ -0,0 +1,29 @@
+/**
+ * #To Number Component
+ *
+ * Converts a string into a Number
+ */
+/obj/item/circuit_component/tonumber
+ display_name = "To Number"
+ desc = "A component that converts its input (a string) to a number. If there's text in the input, it'll only consider it if it starts with a number. It will take that number and ignore the rest."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+/obj/item/circuit_component/tonumber/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_STRING)
+
+ output = add_output_port("Output", PORT_TYPE_NUMBER)
+
+/obj/item/circuit_component/tonumber/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ output.set_output(text2num(input_port.value))
diff --git a/code/modules/wiremod/components/string/tostring.dm b/code/modules/wiremod/components/string/tostring.dm
new file mode 100644
index 0000000000..bc044f157a
--- /dev/null
+++ b/code/modules/wiremod/components/string/tostring.dm
@@ -0,0 +1,40 @@
+/**
+ * # To String Component
+ *
+ * Converts any value into a string
+ */
+/obj/item/circuit_component/tostring
+ display_name = "To String"
+ desc = "A component that converts its input to text."
+
+ /// The input port
+ var/datum/port/input/input_port
+
+ /// The result from the output
+ var/datum/port/output/output
+
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/max_range = 5
+
+/obj/item/circuit_component/tostring/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_ANY)
+
+ output = add_output_port("Output", PORT_TYPE_STRING)
+
+/obj/item/circuit_component/tostring/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/value = input_port.value
+ if(isatom(value))
+ var/turf/location = get_turf(src)
+ var/atom/object = value
+ if(object.z != location.z || get_dist(location, object) > max_range)
+ output.set_output(PORT_TYPE_ATOM)
+ return
+
+ output.set_output("[value]")
+
diff --git a/code/modules/wiremod/components/utility/clock.dm b/code/modules/wiremod/components/utility/clock.dm
new file mode 100644
index 0000000000..4c570b0ec5
--- /dev/null
+++ b/code/modules/wiremod/components/utility/clock.dm
@@ -0,0 +1,57 @@
+/**
+ * # Clock Component
+ *
+ * Fires every tick of the circuit timer SS
+ */
+/obj/item/circuit_component/clock
+ display_name = "Clock"
+ desc = "A component that repeatedly fires."
+
+ /// Whether the clock is on or not
+ var/datum/port/input/on
+
+ /// The signal from this clock component
+ var/datum/port/output/signal
+
+/obj/item/circuit_component/clock/get_ui_notices()
+ . = ..()
+ . += create_ui_notice("Clock Interval: [DisplayTimeText(COMP_CLOCK_DELAY)]", "orange", "clock")
+
+/obj/item/circuit_component/clock/Initialize()
+ . = ..()
+ on = add_input_port("On", PORT_TYPE_NUMBER)
+
+ signal = add_output_port("Signal", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/clock/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(on.value)
+ start_process()
+ else
+ stop_process()
+
+/obj/item/circuit_component/clock/Destroy()
+ stop_process()
+ return ..()
+
+/obj/item/circuit_component/clock/process(delta_time)
+ signal.set_output(COMPONENT_SIGNAL)
+
+/**
+ * Adds the component to the SSclock_component process list
+ *
+ * Starts ticking to send signals between periods of time
+ */
+/obj/item/circuit_component/clock/proc/start_process()
+ START_PROCESSING(SSclock_component, src)
+
+/**
+ * Removes the component to the SSclock_component process list
+ *
+ * Signals stop getting sent.
+ */
+/obj/item/circuit_component/clock/proc/stop_process()
+ STOP_PROCESSING(SSclock_component, src)
diff --git a/code/modules/wiremod/components/utility/delay.dm b/code/modules/wiremod/components/utility/delay.dm
new file mode 100644
index 0000000000..37fa5a79f6
--- /dev/null
+++ b/code/modules/wiremod/components/utility/delay.dm
@@ -0,0 +1,43 @@
+/// The minimum delay value that the delay component can have.
+#define COMP_DELAY_MIN_VALUE 0.1
+
+/**
+ * # Delay Component
+ *
+ * Delays a signal by a specified duration.
+ */
+/obj/item/circuit_component/delay
+ display_name = "Delay"
+ desc = "A component that delays a signal by a specified duration."
+
+ /// Amount to delay by
+ var/datum/port/input/delay_amount
+ /// Input signal to fire the delay
+ var/datum/port/input/trigger
+
+ /// The output of the signal
+ var/datum/port/output/output
+
+/obj/item/circuit_component/delay/Initialize()
+ . = ..()
+ delay_amount = add_input_port("Delay", PORT_TYPE_NUMBER, FALSE)
+ trigger = add_input_port("Trigger", PORT_TYPE_SIGNAL)
+
+ output = add_output_port("Result", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/delay/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(!COMPONENT_TRIGGERED_BY(trigger, port))
+ return
+
+ var/delay = delay_amount.value
+ if(delay > COMP_DELAY_MIN_VALUE)
+ // Convert delay into deciseconds
+ addtimer(CALLBACK(output, /datum/port/output.proc/set_output, trigger.value), delay*10)
+ else
+ output.set_output(trigger.value)
+
+#undef COMP_DELAY_MIN_VALUE
diff --git a/code/modules/wiremod/components/utility/getter.dm b/code/modules/wiremod/components/utility/getter.dm
new file mode 100644
index 0000000000..7bca3083da
--- /dev/null
+++ b/code/modules/wiremod/components/utility/getter.dm
@@ -0,0 +1,70 @@
+/**
+ * # Getter Component
+ *
+ * Gets the current value from a variable.
+ */
+/obj/item/circuit_component/getter
+ display_name = "Variable Getter"
+ desc = "A component that gets a variable globally on the circuit."
+
+ /// Variable name
+ var/datum/port/input/option/variable_name
+
+ /// The value of the variable
+ var/datum/port/output/value
+
+ var/datum/circuit_variable/current_variable
+
+/obj/item/circuit_component/getter/populate_options()
+ variable_name = add_option_port("Variable", null)
+
+/obj/item/circuit_component/getter/add_to(obj/item/integrated_circuit/added_to)
+ . = ..()
+ variable_name.possible_options = added_to.circuit_variables
+
+/obj/item/circuit_component/getter/removed_from(obj/item/integrated_circuit/removed_from)
+ variable_name.possible_options = null
+ return ..()
+
+/obj/item/circuit_component/getter/Initialize()
+ . = ..()
+ value = add_output_port("Value", PORT_TYPE_ANY)
+
+/obj/item/circuit_component/getter/input_received(datum/port/input/port)
+ . = ..()
+ // We don't care much about the parent's return value. We only care if the parent exists
+ // since this should never really fail.
+ if(!parent)
+ return
+
+ var/variable_string = variable_name.value
+ if(!variable_string)
+ remove_current_variable()
+ value.set_output(null)
+ return
+
+ var/datum/circuit_variable/variable = parent.circuit_variables[variable_string]
+ if(!variable)
+ remove_current_variable()
+ value.set_output(null)
+ return
+
+ set_current_variable(variable)
+ value.set_output(variable.value)
+
+/obj/item/circuit_component/getter/proc/remove_current_variable()
+ SIGNAL_HANDLER
+ if(current_variable)
+ current_variable.remove_listener(src)
+ UnregisterSignal(current_variable, COMSIG_PARENT_QDELETING)
+ current_variable = null
+
+/obj/item/circuit_component/getter/proc/set_current_variable(datum/circuit_variable/variable)
+ if(variable == current_variable)
+ return
+
+ remove_current_variable()
+ current_variable = variable
+ current_variable.add_listener(src)
+ RegisterSignal(current_variable, COMSIG_PARENT_QDELETING, .proc/remove_current_variable)
+ value.set_datatype(variable.datatype)
diff --git a/code/modules/wiremod/components/utility/router.dm b/code/modules/wiremod/components/utility/router.dm
new file mode 100644
index 0000000000..4086392f5b
--- /dev/null
+++ b/code/modules/wiremod/components/utility/router.dm
@@ -0,0 +1,82 @@
+/**
+ * # Router Component
+ *
+ * Writes one of multiple inputs to one of multiple outputs.
+ */
+/obj/item/circuit_component/router
+ display_name = "Router"
+ desc = "Copies the input chosen by \"Input Selector\" to the output chosen by \"Output Selector\"."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/datum/port/input/option/router_options
+
+ /// Which ports to connect.
+ var/datum/port/input/input_selector
+ var/datum/port/input/output_selector
+
+ /// How many ports to have.
+ var/input_port_amount = 4
+ var/output_port_amount = 4
+
+ /// Current type of the ports
+ var/current_type
+
+ /// The ports to route.
+ var/list/datum/port/input/ins
+ var/list/datum/port/output/outs
+
+/obj/item/circuit_component/router/populate_options()
+ var/static/component_options = list(
+ PORT_TYPE_ANY,
+ PORT_TYPE_STRING,
+ PORT_TYPE_NUMBER,
+ PORT_TYPE_LIST,
+ PORT_TYPE_ATOM,
+ )
+ router_options = add_option_port("Router Options", component_options)
+
+/obj/item/circuit_component/router/Initialize()
+ . = ..()
+ current_type = router_options.value
+ if(input_port_amount > 1)
+ input_selector = add_input_port("Input Selector", PORT_TYPE_NUMBER, default = 1)
+ if(output_port_amount > 1)
+ output_selector = add_input_port("Output Selector", PORT_TYPE_NUMBER, default = 1)
+ ins = list()
+ for(var/port_id in 1 to input_port_amount)
+ ins += add_input_port(input_port_amount > 1 ? "Input [port_id]" : "Input", current_type)
+ outs = list()
+ for(var/port_id in 1 to output_port_amount)
+ outs += add_output_port(output_port_amount > 1 ? "Output [port_id]" : "Output", current_type)
+
+/obj/item/circuit_component/router/Destroy()
+ input_selector = null
+ output_selector = null
+ ins.Cut()
+ ins = null
+ outs.Cut()
+ outs = null
+ return ..()
+
+
+// If I is in range, L[I]. If I is out of range, wrap around.
+#define WRAPACCESS(L, I) L[(((I||1)-1)%length(L)+length(L))%length(L)+1]
+/obj/item/circuit_component/router/input_received(datum/port/input/port)
+ . = ..()
+ var/current_option = router_options.value
+ if(current_type != current_option)
+ current_type = current_option
+ for(var/datum/port/input/input as anything in ins)
+ input.set_datatype(current_type)
+ for(var/datum/port/output/output as anything in outs)
+ output.set_datatype(current_type)
+ if(.)
+ return
+ var/datum/port/input/input = WRAPACCESS(ins, input_selector ? input_selector.value : 1)
+ var/datum/port/output/output = WRAPACCESS(outs, output_selector ? output_selector.value : 1)
+ output.set_output(input.value)
+
+/obj/item/circuit_component/router/multiplexer
+ display_name = "Multiplexer"
+ desc = "Copies the input chosen by \"Input Selector\" to the output."
+ output_port_amount = 1
diff --git a/code/modules/wiremod/components/utility/setter.dm b/code/modules/wiremod/components/utility/setter.dm
new file mode 100644
index 0000000000..614e700798
--- /dev/null
+++ b/code/modules/wiremod/components/utility/setter.dm
@@ -0,0 +1,58 @@
+/**
+ * # Setter Component
+ *
+ * Stores the current input when triggered into a variable.
+ */
+/obj/item/circuit_component/setter
+ display_name = "Variable Setter"
+ desc = "A component that sets a variable globally on the circuit."
+
+ circuit_flags = CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// Variable name
+ var/datum/port/input/option/variable_name
+
+ /// The input to store
+ var/datum/port/input/input_port
+ /// The trigger to store the current value of the input
+ var/datum/port/input/trigger
+
+ var/current_type
+
+/obj/item/circuit_component/setter/populate_options()
+ variable_name = add_option_port("Variable", null)
+
+/obj/item/circuit_component/setter/add_to(obj/item/integrated_circuit/added_to)
+ . = ..()
+ variable_name.possible_options = added_to.circuit_variables
+
+/obj/item/circuit_component/setter/removed_from(obj/item/integrated_circuit/removed_from)
+ variable_name.possible_options = null
+ return ..()
+
+/obj/item/circuit_component/setter/Initialize()
+ . = ..()
+ input_port = add_input_port("Input", PORT_TYPE_ANY)
+ trigger = add_input_port("Store", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/setter/input_received(datum/port/input/port)
+ . = ..()
+ var/variable_string = variable_name.value
+ if(!variable_string)
+ return
+
+ var/datum/circuit_variable/variable = parent.circuit_variables[variable_string]
+ if(!variable)
+ return
+
+ if(variable.datatype != current_type)
+ current_type = variable.datatype
+ input_port.set_datatype(current_type)
+
+ if(.)
+ return
+
+ if(!COMPONENT_TRIGGERED_BY(trigger, port))
+ return TRUE
+
+ variable.set_value(input_port.value)
diff --git a/code/modules/wiremod/components/utility/typecast.dm b/code/modules/wiremod/components/utility/typecast.dm
new file mode 100644
index 0000000000..ee204c332e
--- /dev/null
+++ b/code/modules/wiremod/components/utility/typecast.dm
@@ -0,0 +1,60 @@
+/**
+ * # Typecast Component
+ *
+ * A component that casts a value to a type if it matches or outputs null.
+ */
+/obj/item/circuit_component/typecast
+ display_name = "Typecast"
+ desc = "A component that casts a value to a type if it matches or outputs null."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/datum/port/input/option/typecast_options
+
+ var/datum/port/input/input_value
+
+ var/datum/port/output/output_value
+
+ var/current_type
+
+/obj/item/circuit_component/typecast/Initialize()
+ . = ..()
+ current_type = typecast_options.value
+ input_value = add_input_port("Input", PORT_TYPE_ANY)
+ output_value = add_output_port("Output", current_type)
+
+/obj/item/circuit_component/typecast/populate_options()
+ var/static/list/component_options = list(
+ PORT_TYPE_STRING,
+ PORT_TYPE_NUMBER,
+ PORT_TYPE_LIST,
+ PORT_TYPE_ATOM,
+ )
+ typecast_options = add_option_port("Typecast Options", component_options)
+
+/obj/item/circuit_component/typecast/input_received(datum/port/input/port)
+ . = ..()
+ var/current_option = typecast_options.value
+ if(current_type != current_option)
+ current_type = current_option
+ output_value.set_datatype(current_type)
+
+ if(.)
+ return
+
+ var/value = input_value.value
+ var/value_to_set = null
+ switch(current_option)
+ if(PORT_TYPE_STRING)
+ if(istext(value))
+ value_to_set = value
+ if(PORT_TYPE_NUMBER)
+ if(isnum(value))
+ value_to_set = value
+ if(PORT_TYPE_LIST)
+ if(islist(value))
+ value_to_set = value
+ if(PORT_TYPE_ATOM)
+ if(isatom(value))
+ value_to_set = value
+
+ output_value.set_output(value_to_set)
diff --git a/code/modules/wiremod/components/utility/typecheck.dm b/code/modules/wiremod/components/utility/typecheck.dm
new file mode 100644
index 0000000000..8caa009fd8
--- /dev/null
+++ b/code/modules/wiremod/components/utility/typecheck.dm
@@ -0,0 +1,51 @@
+#define COMP_TYPECHECK_MOB "organism"
+#define COMP_TYPECHECK_HUMAN "humanoid"
+
+/**
+ * # Typecheck Component
+ *
+ * Checks the type of a value
+ */
+/obj/item/circuit_component/compare/typecheck
+ display_name = "Typecheck"
+ desc = "A component that checks the type of its input."
+
+ input_port_amount = 1
+ var/datum/port/input/option/typecheck_options
+
+/obj/item/circuit_component/compare/typecheck/populate_options()
+ var/static/component_options = list(
+ PORT_TYPE_STRING,
+ PORT_TYPE_NUMBER,
+ PORT_TYPE_LIST,
+ PORT_TYPE_ATOM,
+ COMP_TYPECHECK_MOB,
+ COMP_TYPECHECK_HUMAN,
+ )
+ typecheck_options = add_option_port("Typecheck Options", component_options)
+
+/obj/item/circuit_component/compare/typecheck/do_comparisons(list/ports)
+ if(!length(ports))
+ return
+ . = FALSE
+
+ // We're only comparing the first port/value. There shouldn't be any more.
+ var/datum/port/input/input_port = ports[1]
+ var/input_val = input_port.value
+ switch(typecheck_options.value)
+ if(PORT_TYPE_STRING)
+ return istext(input_val)
+ if(PORT_TYPE_NUMBER)
+ return isnum(input_val)
+ if(PORT_TYPE_LIST)
+ return islist(input_val)
+ if(PORT_TYPE_ATOM)
+ return isatom(input_val)
+ if(COMP_TYPECHECK_MOB)
+ return ismob(input_val)
+ if(COMP_TYPECHECK_HUMAN)
+ return ishuman(input_val)
+
+
+#undef COMP_TYPECHECK_MOB
+#undef COMP_TYPECHECK_HUMAN
diff --git a/code/modules/wiremod/core/admin_panel.dm b/code/modules/wiremod/core/admin_panel.dm
new file mode 100644
index 0000000000..33af02f514
--- /dev/null
+++ b/code/modules/wiremod/core/admin_panel.dm
@@ -0,0 +1,75 @@
+/// An admin verb to view all circuits, plus useful information
+/datum/admins/proc/view_all_circuits()
+ set category = "Admin.Game"
+ set name = "View All Circuits"
+
+ var/static/datum/circuit_admin_panel/circuit_admin_panel = new
+ circuit_admin_panel.ui_interact(usr)
+
+/datum/circuit_admin_panel
+
+/datum/circuit_admin_panel/ui_static_data(mob/user)
+ var/list/data = list()
+ data["circuits"] = list()
+
+ for (var/obj/item/integrated_circuit/circuit as anything in GLOB.integrated_circuits)
+ var/datum/mind/inserter = circuit.inserter_mind?.resolve()
+
+ data["circuits"] += list(list(
+ "ref" = REF(circuit),
+ "name" = "[circuit.name] in [loc_name(circuit)]",
+ "creator" = circuit.get_creator(),
+ "has_inserter" = !isnull(inserter),
+ ))
+
+ return data
+
+/datum/circuit_admin_panel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if (.)
+ return .
+
+ if (!istext(params["circuit"]))
+ return FALSE
+
+ var/obj/item/integrated_circuit/circuit = locate(params["circuit"])
+ if (!istype(circuit))
+ to_chat(usr, span_warning("That circuit no longer exists."))
+ return FALSE
+
+ switch (action)
+ if ("duplicate_circuit")
+ if (alert(usr, "This will spawn the new circuit at where you are, are you sure?", "Confirm", "Yes", "No") != "Yes")
+ return FALSE
+
+ var/list/errors = list()
+
+ var/obj/item/integrated_circuit/loaded/new_circuit = new(usr.drop_location())
+ new_circuit.load_circuit_data(circuit.convert_to_json(), errors)
+
+ if (length(errors))
+ to_chat(usr, span_warning("Somehow, duplicating the circuit failed:"))
+ for (var/error in errors)
+ to_chat(usr, span_warning(error))
+ if ("follow_circuit")
+ usr.client?.admin_follow(circuit)
+ if ("save_circuit")
+ circuit.attempt_save_to(usr.client)
+ if ("vv_circuit")
+ usr.client?.debug_variables(circuit)
+ if ("open_circuit")
+ circuit.ui_interact(usr)
+ if ("open_player_panel")
+ var/datum/mind/inserter = circuit.inserter_mind?.resolve()
+ usr.client?.holder?.show_player_panel(inserter?.current)
+
+ return TRUE
+
+/datum/circuit_admin_panel/ui_state(mob/user)
+ return GLOB.admin_state
+
+/datum/circuit_admin_panel/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "CircuitAdminPanel")
+ ui.open()
diff --git a/code/modules/wiremod/core/component.dm b/code/modules/wiremod/core/component.dm
new file mode 100644
index 0000000000..0939debc3c
--- /dev/null
+++ b/code/modules/wiremod/core/component.dm
@@ -0,0 +1,270 @@
+/**
+ * # Integrated Circuit Component
+ *
+ * A component that performs a function when given an input
+ *
+ * Can be attached to an integrated circuitboard, where it can then
+ * be connected between other components to provide an output or to receive
+ * an input. This is the base type of all components
+ */
+/obj/item/circuit_component
+ name = COMPONENT_DEFAULT_NAME
+ icon = 'icons/obj/module.dmi'
+ icon_state = "component"
+ inhand_icon_state = "electronic"
+
+ /// The name of the component shown on the UI
+ var/display_name = "Generic"
+
+ /// The integrated_circuit that this component is attached to.
+ var/obj/item/integrated_circuit/parent
+
+ /// A list that contains the outpurt ports on this component
+ /// Used to connect between the ports
+ var/list/datum/port/output/output_ports = list()
+
+ /// A list that contains the components the input ports on this component
+ /// Used to connect between the ports
+ var/list/datum/port/input/input_ports = list()
+
+ /// Generic trigger input for triggering this component
+ var/datum/port/input/trigger_input
+ var/datum/port/output/trigger_output
+
+ /// The flags of the circuit to control basic generalised behaviour.
+ var/circuit_flags = NONE
+
+ /// Used to determine the x position of the component within the UI
+ var/rel_x = 0
+ /// Used to determine the y position of the component within the UI
+ var/rel_y = 0
+
+ /// The power usage whenever this component receives an input
+ var/power_usage_per_input = 1
+
+ // Whether the component is removable or not. Only affects user UI
+ var/removable = TRUE
+
+ // Defines which shells support this component. Only used as an informational guide, does not restrict placing these components in circuits.
+ var/required_shells = null
+
+/// Called when the option ports should be set up
+/obj/item/circuit_component/proc/populate_options()
+ return
+
+/// Extension of add_input_port. Simplifies the code to make an option port to reduce boilerplate
+/obj/item/circuit_component/proc/add_option_port(name, list/list_to_use)
+ return add_input_port(name, PORT_TYPE_OPTION, port_type = /datum/port/input/option, extra_args = list("possible_options" = list_to_use))
+
+/obj/item/circuit_component/Initialize()
+ . = ..()
+ if(name == COMPONENT_DEFAULT_NAME)
+ name = "[lowertext(display_name)] [COMPONENT_DEFAULT_NAME]"
+ populate_options()
+
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/item/circuit_component/LateInitialize()
+ . = ..()
+ if(circuit_flags & CIRCUIT_FLAG_INPUT_SIGNAL)
+ trigger_input = add_input_port("Trigger", PORT_TYPE_SIGNAL)
+ if(circuit_flags & CIRCUIT_FLAG_OUTPUT_SIGNAL)
+ trigger_output = add_output_port("Triggered", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/Destroy()
+ if(parent)
+ // Prevents a Destroy() recursion
+ var/obj/item/integrated_circuit/old_parent = parent
+ parent = null
+ old_parent.remove_component(src)
+
+ trigger_input = null
+ trigger_output = null
+
+ QDEL_LIST(output_ports)
+ QDEL_LIST(input_ports)
+ return ..()
+
+/**
+ * Called when a shell is registered from the component/the component is added to a circuit.
+ *
+ * Register all signals here on the shell.
+ * Arguments:
+ * * shell - Shell being registered
+ */
+/obj/item/circuit_component/proc/register_shell(atom/movable/shell)
+ return
+
+/**
+ * Called when a shell is unregistered from the component/the component is removed from a circuit.
+ *
+ * Unregister all signals here on the shell.
+ * Arguments:
+ * * shell - Shell being unregistered
+ */
+/obj/item/circuit_component/proc/unregister_shell(atom/movable/shell)
+ return
+
+/**
+ * Disconnects a component from other components
+ *
+ * Disconnects both the input and output ports of the component
+ */
+/obj/item/circuit_component/proc/disconnect()
+ for(var/datum/port/output/port_to_disconnect as anything in output_ports)
+ port_to_disconnect.disconnect_all()
+
+ for(var/datum/port/input/port_to_disconnect as anything in input_ports)
+ port_to_disconnect.disconnect_all()
+
+/**
+ * Adds an input port and returns it
+ *
+ * Arguments:
+ * * name - The name of the input port
+ * * type - The datatype it handles
+ * * trigger - Whether this input port triggers an update on the component when updated.
+ */
+/obj/item/circuit_component/proc/add_input_port(name, type, trigger = TRUE, default = null, index = null, port_type = /datum/port/input, extra_args = null)
+ var/list/arguments = list(src)
+ arguments += args
+ if(extra_args)
+ arguments += extra_args
+ var/datum/port/input/input_port = new port_type(arglist(arguments))
+ if(index)
+ input_ports.Insert(index, input_port)
+ else
+ input_ports += input_port
+ if(parent)
+ SStgui.update_uis(parent)
+ return input_port
+
+/**
+ * Removes an input port and deletes it. This will not cleanup any references made by derivatives of the circuit component
+ *
+ * Arguments:
+ * * input_port - The input port to remove.
+ */
+/obj/item/circuit_component/proc/remove_input_port(datum/port/input/input_port)
+ input_ports -= input_port
+ qdel(input_port)
+ if(parent)
+ SStgui.update_uis(parent)
+
+/**
+ * Adds an output port and returns it
+ *
+ * Arguments:
+ * * name - The name of the output port
+ * * type - The datatype it handles.
+ */
+/obj/item/circuit_component/proc/add_output_port(name, type)
+ var/list/arguments = list(src)
+ arguments += args
+ var/datum/port/output/output_port = new(arglist(arguments))
+ output_ports += output_port
+ return output_port
+
+/**
+ * Removes an output port and deletes it. This will not cleanup any references made by derivatives of the circuit component
+ *
+ * Arguments:
+ * * output_port - The output port to remove.
+ */
+/obj/item/circuit_component/proc/remove_output_port(datum/port/output/output_port)
+ output_ports -= output_port
+ qdel(output_port)
+ if(parent)
+ SStgui.update_uis(parent)
+
+/**
+ * Called whenever an input is received from one of the ports.
+ *
+ * Return value indicates that the circuit should not do anything. Also prevents an output signal.
+ * Arguments:
+ * * port - Can be null. The port that sent the input
+ */
+/obj/item/circuit_component/proc/input_received(datum/port/input/port)
+ SHOULD_CALL_PARENT(TRUE)
+ if(!parent?.on)
+ return TRUE
+
+ if(!parent.admin_only)
+ if(circuit_flags & CIRCUIT_FLAG_ADMIN)
+ message_admins("[display_name] tried to execute on [parent.get_creator_admin()] that has admin_only set to 0")
+ return TRUE
+
+ var/obj/item/stock_parts/cell/cell = parent.get_cell()
+ if(!cell?.use(power_usage_per_input))
+ return TRUE
+
+ if((circuit_flags & CIRCUIT_FLAG_INPUT_SIGNAL) && !COMPONENT_TRIGGERED_BY(trigger_input, port))
+ return TRUE
+
+/// Called when this component is about to be added to an integrated_circuit.
+/obj/item/circuit_component/proc/add_to(obj/item/integrated_circuit/added_to)
+ return TRUE
+
+/// Called when this component is removed from an integrated_circuit.
+/obj/item/circuit_component/proc/removed_from(obj/item/integrated_circuit/removed_from)
+ return
+
+/**
+ * Gets the UI notices to be displayed on the CircuitInfo panel.
+ *
+ * Returns a list of buttons in the following format
+ * list(
+ * "icon" = ICON(string)
+ * "content" = CONTENT(string)
+ * "color" = COLOR(string, not a hex)
+ * )
+ */
+/obj/item/circuit_component/proc/get_ui_notices()
+ . = list()
+
+ if(!removable)
+ . += create_ui_notice("Unremovable", "red", "lock")
+
+ if(length(required_shells))
+ . += create_ui_notice("Supported Shells:", "green", "notes-medical")
+ for(var/atom/movable/shell as anything in required_shells)
+ . += create_ui_notice(initial(shell.name), "green", "plus-square")
+
+ if(length(input_ports))
+ . += create_ui_notice("Power Usage Per Input: [power_usage_per_input]", "orange", "bolt")
+
+/**
+ * Creates a UI notice entry to be used in get_ui_notices()
+ *
+ * Returns a list that can then be added to the return list in get_ui_notices()
+ */
+/obj/item/circuit_component/proc/create_ui_notice(content, color, icon)
+ SHOULD_BE_PURE(TRUE)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ return list(list(
+ "icon" = icon,
+ "content" = content,
+ "color" = color,
+ ))
+
+/**
+ * Creates a table UI notice entry to be used in get_ui_notices()
+ *
+ * Returns a list that can then be added to the return list in get_ui_notices()
+ * Used by components to list their available columns. Recommended to use at the end of get_ui_notices()
+ */
+/obj/item/circuit_component/proc/create_table_notices(list/entries)
+ SHOULD_BE_PURE(TRUE)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ . = list()
+ . += create_ui_notice("Available Columns:", "grey", "question-circle")
+
+
+ for(var/entry in entries)
+ . += create_ui_notice("Column Name: '[entry]'", "grey", "columns")
+
+/obj/item/circuit_component/proc/register_usb_parent(atom/movable/parent)
+ return
+
+/obj/item/circuit_component/proc/unregister_usb_parent(atom/movable/parent)
+ return
diff --git a/code/modules/wiremod/core/component_printer.dm b/code/modules/wiremod/core/component_printer.dm
new file mode 100644
index 0000000000..7400aafbf2
--- /dev/null
+++ b/code/modules/wiremod/core/component_printer.dm
@@ -0,0 +1,394 @@
+/// Component printer, creates components for integrated circuits.
+/obj/machinery/component_printer
+ name = "component printer"
+ desc = "Produces components for the creation of integrated circuits."
+ icon = 'icons/obj/wiremod_fab.dmi'
+ icon_state = "fab-idle"
+ circuit = /obj/item/circuitboard/machine/component_printer
+
+ /// The internal material bus
+ var/datum/component/remote_materials/materials
+
+ density = TRUE
+
+ /// The techweb the printer will get researched designs from
+ var/datum/techweb/techweb
+
+/obj/machinery/component_printer/Initialize(mapload)
+ . = ..()
+
+ techweb = SSresearch.science_tech
+
+ materials = AddComponent( \
+ /datum/component/remote_materials, \
+ "component_printer", \
+ mapload, \
+ mat_container_flags = BREAKDOWN_FLAGS_LATHE, \
+ )
+
+/obj/machinery/component_printer/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ComponentPrinter", name)
+ ui.open()
+
+/obj/machinery/component_printer/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/spritesheet/sheetmaterials)
+ )
+
+/obj/machinery/component_printer/ui_act(action, list/params)
+ . = ..()
+ if (.)
+ return
+
+ switch (action)
+ if ("print")
+ var/design_id = params["designId"]
+ if (!techweb.researched_designs[design_id])
+ return TRUE
+
+ var/datum/design/design = SSresearch.techweb_design_by_id(design_id)
+ if (!(design.build_type & COMPONENT_PRINTER))
+ return TRUE
+
+ if (materials.on_hold())
+ say("Mineral access is on hold, please contact the quartermaster.")
+ return TRUE
+
+ if (!materials.mat_container?.has_materials(design.materials))
+ say("Not enough materials.")
+ return TRUE
+
+ balloon_alert_to_viewers("printed [design.name]")
+ materials.mat_container?.use_materials(design.materials)
+ materials.silo_log(src, "printed", -1, design.name, design.materials)
+ var/atom/printed_design = new design.build_path(drop_location())
+ printed_design.pixel_x = printed_design.base_pixel_x + rand(-5, 5)
+ printed_design.pixel_y = printed_design.base_pixel_y + rand(-5, 5)
+ if ("remove_mat")
+ var/datum/material/material = locate(params["ref"])
+ var/amount = text2num(params["amount"])
+
+ if (!amount)
+ return TRUE
+
+ // SAFETY: eject_sheets checks for valid mats
+ materials.eject_sheets(material, amount)
+
+ return TRUE
+
+/obj/machinery/component_printer/ui_data(mob/user)
+ var/list/data = list()
+ data["materials"] = materials.mat_container.ui_data()
+ return data
+
+/obj/machinery/component_printer/ui_static_data(mob/user)
+ var/list/data = list()
+
+ var/list/designs = list()
+
+ // for (var/datum/design/component/component_design_type as anything in subtypesof(/datum/design/component))
+ for (var/researched_design_id in techweb.researched_designs)
+ var/datum/design/design = SSresearch.techweb_design_by_id(researched_design_id)
+ if (!(design.build_type & COMPONENT_PRINTER))
+ continue
+
+ designs[researched_design_id] = list(
+ "name" = design.name,
+ "description" = design.desc,
+ "materials" = get_material_cost_data(design.materials),
+ "categories" = design.category,
+ )
+
+ data["designs"] = designs
+
+ return data
+
+/obj/machinery/component_printer/crowbar_act(mob/living/user, obj/item/tool)
+ if(..())
+ return TRUE
+ return default_deconstruction_crowbar(tool)
+
+/obj/machinery/component_printer/screwdriver_act(mob/living/user, obj/item/tool)
+ if(..())
+ return TRUE
+ return default_deconstruction_screwdriver(user, "fab-o", "fab-idle", tool)
+
+/obj/machinery/component_printer/proc/get_material_cost_data(list/materials)
+ var/list/data = list()
+
+ for (var/datum/material/material_type as anything in materials)
+ data[initial(material_type.name)] = materials[material_type]
+
+ return data
+
+/obj/item/circuitboard/machine/component_printer
+ name = "\improper Component Printer (Machine Board)"
+ greyscale_colors = CIRCUIT_COLOR_SCIENCE
+ build_path = /obj/machinery/component_printer
+ req_components = list(
+ /obj/item/stock_parts/matter_bin = 2,
+ /obj/item/stock_parts/manipulator = 2,
+ /obj/item/reagent_containers/glass/beaker = 2,
+ )
+
+/obj/machinery/debug_component_printer
+ name = "debug component printer"
+ desc = "Produces components for the creation of integrated circuits."
+ icon = 'icons/obj/wiremod_fab.dmi'
+ icon_state = "fab-idle"
+
+ /// All of the possible circuit designs stored by this debug printer
+ var/list/all_circuit_designs
+
+ density = TRUE
+
+/obj/machinery/debug_component_printer/Initialize()
+ . = ..()
+ all_circuit_designs = list()
+
+ for(var/id in SSresearch.techweb_designs)
+ var/datum/design/design = SSresearch.techweb_design_by_id(id)
+ if((design.build_type & COMPONENT_PRINTER) && design.build_path)
+ all_circuit_designs[design.build_path] = list(
+ "name" = design.name,
+ "description" = design.desc,
+ "materials" = design.materials,
+ "categories" = design.category
+ )
+
+ for(var/obj/item/circuit_component/component as anything in subtypesof(/obj/item/circuit_component))
+ var/categories = list("Inaccessible")
+ if(initial(component.circuit_flags) & CIRCUIT_FLAG_ADMIN)
+ categories = list("Admin")
+ if(!(component in all_circuit_designs))
+ all_circuit_designs[component] = list(
+ "name" = initial(component.display_name),
+ "description" = initial(component.desc),
+ "materials" = list(),
+ "categories" = categories,
+ )
+
+/obj/machinery/debug_component_printer/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ComponentPrinter", name)
+ ui.open()
+
+/obj/machinery/debug_component_printer/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/spritesheet/sheetmaterials)
+ )
+
+/obj/machinery/debug_component_printer/ui_act(action, list/params)
+ . = ..()
+ if (.)
+ return
+
+ switch (action)
+ if ("print")
+ var/build_path = text2path(params["designId"])
+ if (!build_path)
+ return TRUE
+
+ var/list/design = all_circuit_designs[build_path]
+ if(!design)
+ return TRUE
+
+ balloon_alert_to_viewers("printed [design["name"]]")
+ var/atom/printed_design = new build_path(drop_location())
+ printed_design.pixel_x = printed_design.base_pixel_x + rand(-5, 5)
+ printed_design.pixel_y = printed_design.base_pixel_y + rand(-5, 5)
+
+ return TRUE
+
+/obj/machinery/debug_component_printer/ui_static_data(mob/user)
+ var/list/data = list()
+
+ data["materials"] = list()
+ data["designs"] = all_circuit_designs
+
+ return data
+
+/// Module duplicator, allows you to save and recreate module components.
+/obj/machinery/module_duplicator
+ name = "module duplicator"
+ desc = "Allows you to duplicate module components so that you don't have to recreate them. Scan a module component over this machine to add it as an entry."
+ icon = 'icons/obj/wiremod_fab.dmi'
+ icon_state = "module-fab-idle"
+ circuit = /obj/item/circuitboard/machine/module_duplicator
+
+ /// The internal material bus
+ var/datum/component/remote_materials/materials
+
+ density = TRUE
+
+ var/list/scanned_designs = list()
+
+ var/cost_per_component = 1000
+
+/obj/machinery/module_duplicator/Initialize(mapload)
+ . = ..()
+
+ materials = AddComponent( \
+ /datum/component/remote_materials, \
+ "module_duplicator", \
+ mapload, \
+ mat_container_flags = BREAKDOWN_FLAGS_LATHE, \
+ )
+
+/obj/machinery/module_duplicator/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ComponentPrinter", name)
+ ui.open()
+
+/obj/machinery/module_duplicator/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/spritesheet/sheetmaterials)
+ )
+
+/obj/machinery/module_duplicator/ui_act(action, list/params)
+ . = ..()
+ if (.)
+ return
+
+ switch (action)
+ if ("print")
+ var/design_id = text2num(params["designId"])
+
+ if (design_id < 1 || design_id > length(scanned_designs))
+ return TRUE
+
+ var/list/design = scanned_designs[design_id]
+
+ if (materials.on_hold())
+ say("Mineral access is on hold, please contact the quartermaster.")
+ return TRUE
+
+ if (!materials.mat_container?.has_materials(design["materials"]))
+ say("Not enough materials.")
+ return TRUE
+
+ balloon_alert_to_viewers("printed [design["name"]]")
+ materials.mat_container?.use_materials(design["materials"])
+ materials.silo_log(src, "printed", -1, design["name"], design["materials"])
+ print_module(design)
+ if ("remove_mat")
+ var/datum/material/material = locate(params["ref"])
+ var/amount = text2num(params["amount"])
+
+ if (!amount)
+ return TRUE
+
+ // SAFETY: eject_sheets checks for valid mats
+ materials.eject_sheets(material, amount)
+
+ return TRUE
+
+/obj/machinery/module_duplicator/proc/print_module(list/design)
+ flick("module-fab-print", src)
+ addtimer(CALLBACK(src, .proc/finish_module_print, design), 1.6 SECONDS)
+
+/obj/machinery/module_duplicator/proc/finish_module_print(list/design)
+ var/obj/item/circuit_component/module/module = new(drop_location())
+ module.load_data_from_list(design["dupe_data"])
+ module.pixel_x = module.base_pixel_x + rand(-5, 5)
+ module.pixel_y = module.base_pixel_y + rand(-5, 5)
+
+/obj/machinery/module_duplicator/attackby(obj/item/weapon, mob/user, params)
+ if(!istype(weapon, /obj/item/circuit_component/module))
+ return ..()
+
+ var/obj/item/circuit_component/module/module = weapon
+ if(module.circuit_flags & CIRCUIT_FLAG_UNDUPEABLE)
+ balloon_alert(user, "module cannot be saved!")
+ return ..()
+
+ if(module.display_name == initial(module.display_name))
+ balloon_alert(user, "module needs a name!")
+ return ..()
+
+ for(var/list/component_data as anything in scanned_designs)
+ if(component_data["name"] == module.display_name)
+ balloon_alert(user, "module name already exists!")
+ return ..()
+
+ var/total_cost = 0
+ for(var/obj/item/circuit_component/component as anything in module.internal_circuit.attached_components)
+ if(component.circuit_flags & CIRCUIT_FLAG_UNDUPEABLE)
+ balloon_alert(user, "module contains prohibited components!")
+ return ..()
+
+ total_cost += cost_per_component
+
+ var/list/data = list()
+
+ data["dupe_data"] = list()
+ module.save_data_to_list(data["dupe_data"])
+
+ data["name"] = module.display_name
+ data["desc"] = "A module that has been loaded in by [user]."
+ data["materials"] = list(/datum/material/glass = total_cost)
+
+ flick("module-fab-scan", src)
+ addtimer(CALLBACK(src, .proc/finish_module_scan, user, data), 1.4 SECONDS)
+
+/obj/machinery/module_duplicator/proc/finish_module_scan(mob/user, data)
+ scanned_designs += list(data)
+
+ balloon_alert(user, "module has been saved.")
+ playsound(src, 'sound/machines/ping.ogg', 50)
+
+/obj/machinery/module_duplicator/ui_data(mob/user)
+ var/list/data = list()
+ data["materials"] = materials.mat_container.ui_data()
+ return data
+
+/obj/machinery/module_duplicator/ui_static_data(mob/user)
+ var/list/data = list()
+
+ var/list/designs = list()
+
+ var/index = 1
+ for (var/list/design as anything in scanned_designs)
+ designs["[index]"] = list(
+ "name" = design["name"],
+ "description" = design["desc"],
+ "materials" = get_material_cost_data(design["materials"]),
+ "categories" = list("Circuitry"),
+ )
+ index++
+
+ data["designs"] = designs
+
+ return data
+
+/obj/machinery/module_duplicator/crowbar_act(mob/living/user, obj/item/tool)
+ if(..())
+ return TRUE
+ return default_deconstruction_crowbar(tool)
+
+/obj/machinery/module_duplicator/screwdriver_act(mob/living/user, obj/item/tool)
+ if(..())
+ return TRUE
+ return default_deconstruction_screwdriver(user, "module-fab-o", "module-fab-idle", tool)
+
+/obj/machinery/module_duplicator/proc/get_material_cost_data(list/materials)
+ var/list/data = list()
+
+ for (var/datum/material/material_type as anything in materials)
+ data[initial(material_type.name)] = materials[material_type]
+
+ return data
+
+/obj/item/circuitboard/machine/module_duplicator
+ name = "\improper Module Duplicator (Machine Board)"
+ greyscale_colors = CIRCUIT_COLOR_SCIENCE
+ build_path = /obj/machinery/module_duplicator
+ req_components = list(
+ /obj/item/stock_parts/matter_bin = 2,
+ /obj/item/stock_parts/manipulator = 2,
+ /obj/item/reagent_containers/glass/beaker = 2,
+ )
diff --git a/code/modules/wiremod/core/datatypes.dm b/code/modules/wiremod/core/datatypes.dm
new file mode 100644
index 0000000000..b81ad0876b
--- /dev/null
+++ b/code/modules/wiremod/core/datatypes.dm
@@ -0,0 +1,91 @@
+// An assoc list of all the possible datatypes.
+GLOBAL_LIST_INIT(circuit_datatypes, generate_circuit_datatypes())
+
+/proc/generate_circuit_datatypes()
+ var/list/datatypes_by_key = list()
+ for(var/datum/circuit_datatype/type as anything in subtypesof(/datum/circuit_datatype))
+ if(!initial(type.datatype))
+ continue
+ datatypes_by_key[initial(type.datatype)] = new type()
+ return datatypes_by_key
+
+/**
+ * A circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.
+ */
+/datum/circuit_datatype
+ /// The key. Used to identify the datatype. Should be a define.
+ var/datatype
+
+ /// The color of the port in the UI. Doesn't work with hex colours.
+ var/color = "blue"
+
+ /// The flags of the circuit datatype
+ var/datatype_flags = 0
+
+/**
+ * Returns the value to be set for the port
+ *
+ * Used for implicit conversions between outputs and inputs (e.g. number -> string)
+ * and applying/removing signals on inputs
+ */
+/datum/circuit_datatype/proc/convert_value(datum/port/port, value_to_convert)
+ return value_to_convert
+
+/**
+ * Determines if a datatype is compatible with another port of a different type.
+ * Note: This is ALWAYS called on the input port, never on the output port.
+ * Inputs need to care about what types they're receiving, output ports don't have to care.
+ *
+ * Arguments:
+ * * datatype_to_check - The datatype to check
+ */
+/datum/circuit_datatype/proc/can_receive_from_datatype(datatype_to_check)
+ return datatype == datatype_to_check // This is already done by default on the input port.
+
+/**
+ * Called when the datatype is given to a port.
+ *
+ * Arguments:
+ * * gained_port - The gained port.
+ */
+/datum/circuit_datatype/proc/on_gain(datum/port/gained_port)
+ return
+
+/**
+ * Called when the datatype is removed from a port.
+ *
+ * Arguments:
+ * * lost_port - The removed port.
+ */
+/datum/circuit_datatype/proc/on_loss(datum/port/lost_port)
+ return
+
+/**
+ * Determines if a port is compatible with this datatype.
+ * This WILL throw a runtime if it returns false. This is for sanity checking and it should not return false
+ * unless under extraordinary circumstances or people fail to write proper code.
+ *
+ * Arguments:
+ * * port - The port to check if it is compatible.
+ */
+/datum/circuit_datatype/proc/is_compatible(datum/port/port)
+ return TRUE
+
+/**
+ * The data to send to the UI attached to the port. Received by the type in FUNDAMENTAL_PORT_TYPES
+ *
+ * Arguments:
+ * * port - The port sending the data.
+ */
+/datum/circuit_datatype/proc/datatype_ui_data(datum/port/port)
+ return
+
+/**
+ * When an input is manually set by a player. This is where extra sanitizing can happen. Will still call convert_value()
+ *
+ * Arguments:
+ * * port - The port sending the data.
+ * *
+ */
+/datum/circuit_datatype/proc/handle_manual_input(datum/port/input/port, mob/user, user_input)
+ return user_input
diff --git a/code/modules/wiremod/core/duplicator.dm b/code/modules/wiremod/core/duplicator.dm
new file mode 100644
index 0000000000..fd215255ba
--- /dev/null
+++ b/code/modules/wiremod/core/duplicator.dm
@@ -0,0 +1,227 @@
+#define LOG_ERROR(list, error) if(list) { list.Add(error) }
+
+// Determines if a port can have a predefined input value if it is of this type.
+GLOBAL_LIST_INIT(circuit_dupe_whitelisted_types, list(
+ PORT_TYPE_NUMBER,
+ PORT_TYPE_STRING,
+ PORT_TYPE_LIST,
+ PORT_TYPE_ANY,
+ PORT_TYPE_OPTION,
+))
+
+/// Loads a circuit based on json data at a location. Can also load usb connections, such as arrest consoles.
+/obj/item/integrated_circuit/proc/load_circuit_data(json_data, list/errors)
+ var/list/general_data = json_decode(json_data)
+
+ if(!general_data)
+ LOG_ERROR(errors, "Invalid json format!")
+ return
+
+ if(general_data["display_name"])
+ set_display_name(general_data["display_name"])
+
+ var/list/variable_data = general_data["variables"]
+ for(var/list/variable as anything in variable_data)
+ var/variable_name = variable["name"]
+ circuit_variables[variable_name] = new /datum/circuit_variable(variable_name, variable["datatype"])
+
+ admin_only = general_data["admin_only"]
+
+ var/list/circuit_data = general_data["components"]
+ var/list/identifiers_to_circuit = list()
+ for(var/identifier in circuit_data)
+ var/list/component_data = circuit_data[identifier]
+ var/type = text2path(component_data["type"])
+ if(!ispath(type, /obj/item/circuit_component))
+ LOG_ERROR(errors, "Invalid path for circuit component, expected [/obj/item/circuit_component], got [type]")
+ continue
+ var/obj/item/circuit_component/component = load_component(type)
+ identifiers_to_circuit[identifier] = component
+ component.load_data_from_list(component_data)
+
+ var/list/input_ports_data = component_data["input_ports_stored_data"]
+ for(var/port_name in input_ports_data)
+ var/datum/port/input/port
+ var/list/port_data = input_ports_data[port_name]
+ for(var/datum/port/input/port_to_check as anything in component.input_ports)
+ if(port_to_check.name == port_name)
+ port = port_to_check
+ break
+
+ port.set_input(port_data["stored_data"])
+
+ var/list/external_objects = general_data["external_objects"]
+ for(var/identifier in external_objects)
+ var/list/object_data = external_objects[identifier]
+ var/type = text2path(object_data["type"])
+ if(!ispath(type))
+ LOG_ERROR(errors, "Invalid path for external object, expected a path, got [type]")
+ continue
+ var/atom/movable/object = new type(drop_location())
+ var/list/connected_components = list()
+ for(var/component_id in object_data["connected_components"])
+ var/obj/item/circuit_component/component = identifiers_to_circuit[component_id]
+ if(!component)
+ continue
+ connected_components += component
+ SEND_SIGNAL(object, COMSIG_MOVABLE_CIRCUIT_LOADED, src, connected_components)
+
+ for(var/identifier in identifiers_to_circuit)
+ var/obj/item/circuit_component/component = identifiers_to_circuit[identifier]
+ var/list/component_data = circuit_data[identifier]
+
+ var/list/connections = component_data["connections"]
+ for(var/port_name in connections)
+ var/datum/port/input/port
+ var/list/connection_data = connections[port_name]
+ for(var/datum/port/input/port_to_check as anything in component.input_ports)
+ if(port_to_check.name == port_name)
+ port = port_to_check
+ break
+
+ if(!port)
+ LOG_ERROR(errors, "Port [port_name] not found for [component.type].")
+ continue
+
+ if(connection_data["stored_data"])
+ if(!(port.datatype in GLOB.circuit_dupe_whitelisted_types))
+ continue
+ port.set_input(connection_data["stored_data"])
+ continue
+
+ // The || list(connected_data) is for backwards compatibility with when inputs could only be connected to up to one output.
+ for(var/list/output_data in (connection_data["connected_ports"] || list(connection_data)))
+ var/obj/item/circuit_component/connected_component = identifiers_to_circuit[output_data["component_id"]]
+ if(!connected_component)
+ LOG_ERROR(errors, "No connected component found for [component.type] for port [connection_data["port_name"]]. (connected component identifier: [connection_data["component_id"]])")
+ continue
+
+ var/datum/port/output/output_port
+ var/output_port_name = output_data["port_name"]
+ for(var/datum/port/output/port_to_check as anything in connected_component.output_ports)
+ if(port_to_check.name == output_port_name)
+ output_port = port_to_check
+ break
+
+ if(!output_port)
+ LOG_ERROR(errors, "No output port found for [component.type] for port [output_port_name] on component [connected_component.type]")
+ continue
+
+ port.connect(output_port)
+
+#undef LOG_ERROR
+
+/// Converts a circuit into json.
+/obj/item/integrated_circuit/proc/convert_to_json()
+ var/list/circuit_to_identifiers = list()
+ var/list/identifiers = list()
+ var/list/external_objects = list() // Objects that are connected to a component. These objects will be linked to the components.
+ for(var/obj/item/circuit_component/component as anything in attached_components)
+ var/identifier = "[component.type][length(identifiers)]"
+ identifiers += identifier
+ circuit_to_identifiers[component] = identifier
+ var/list/objects = list()
+ SEND_SIGNAL(component, COMSIG_CIRCUIT_COMPONENT_SAVE, objects)
+
+ for(var/atom/movable/object as anything in objects)
+ if(object in external_objects)
+ external_objects[object] += identifier
+ continue
+ external_objects[object] = list(identifier)
+
+ var/list/circuit_data = list()
+ for(var/obj/item/circuit_component/component as anything in circuit_to_identifiers)
+ var/identifier = circuit_to_identifiers[component]
+ var/list/component_data = list()
+
+ component_data["type"] = component.type
+
+ var/list/connections = list()
+ var/list/input_ports_stored_data = list()
+ for(var/datum/port/input/input as anything in component.input_ports)
+ var/list/connection_data = list()
+ if(!length(input.connected_ports))
+ if(isnull(input.value) || !(input.datatype in GLOB.circuit_dupe_whitelisted_types))
+ continue
+ connection_data["stored_data"] = input.value
+ input_ports_stored_data[input.name] = connection_data
+ continue
+ connection_data["connected_ports"] = list()
+ for(var/datum/port/output/output as anything in input.connected_ports)
+ connection_data["connected_ports"] += list(list(
+ "component_id" = circuit_to_identifiers[output.connected_component],
+ "port_name" = output.name,
+ ))
+ connections[input.name] = connection_data
+ component_data["connections"] = connections
+ component_data["input_ports_stored_data"] = input_ports_stored_data
+
+ component.save_data_to_list(component_data)
+ circuit_data[identifier] = component_data
+
+ var/external_objects_key = list()
+ for(var/atom/movable/object as anything in external_objects)
+ var/list/new_data = list()
+ new_data["type"] = object.type
+ new_data["connected_components"] = external_objects[object]
+ external_objects_key["[object.type][length(external_objects_key)]"] = new_data
+
+ var/list/general_data = list()
+ general_data["components"] = circuit_data
+ general_data["external_objects"] = external_objects_key
+ general_data["display_name"] = display_name
+ general_data["admin_only"] = admin_only
+
+ var/list/variables = list()
+ for(var/variable_identifier in circuit_variables)
+ var/list/new_data = list()
+ var/datum/circuit_variable/variable = circuit_variables[variable_identifier]
+ new_data["name"] = variable.name
+ new_data["datatype"] = variable.datatype
+ variables += list(new_data)
+ general_data["variables"] = variables
+
+ return json_encode(general_data)
+
+/obj/item/integrated_circuit/proc/load_component(type)
+ var/obj/item/circuit_component/component = new type(src)
+ add_component(component)
+ return component
+
+/// Saves data to a list. Shouldn't be used unless you are quite literally saving the data of a component to a list. Input value is the list to save the data to
+/obj/item/circuit_component/proc/save_data_to_list(list/component_data)
+ component_data["rel_x"] = rel_x
+ component_data["rel_y"] = rel_y
+
+/// Loads data from a list
+/obj/item/circuit_component/proc/load_data_from_list(list/component_data)
+ rel_x = component_data["rel_x"]
+ rel_y = component_data["rel_y"]
+
+/client/proc/load_circuit()
+ set name = "Load Circuit"
+ set category = "Admin.Fun"
+
+ if(!check_rights(R_VAREDIT))
+ return
+
+ var/list/errors = list()
+
+ var/option = alert(usr, "Load by file or direct input?", "Load by file or string", "File", "Direct Input")
+ var/txt
+ switch(option)
+ if("File")
+ txt = file2text(tgui_input_num(usr, "Input File") as file|null)
+ if("Direct Input")
+ txt = tgui_input_num(usr, "Input JSON", "Input JSON") as text|null
+
+ if(!txt)
+ return
+
+ var/obj/item/integrated_circuit/loaded/circuit = new(mob.drop_location())
+ circuit.load_circuit_data(txt, errors)
+
+ if(length(errors))
+ to_chat(src, span_warning("The following errors were found whilst compiling the circuit data:"))
+ for(var/error in errors)
+ to_chat(src, span_warning(error))
diff --git a/code/modules/wiremod/core/integrated_circuit.dm b/code/modules/wiremod/core/integrated_circuit.dm
new file mode 100644
index 0000000000..f69caa7542
--- /dev/null
+++ b/code/modules/wiremod/core/integrated_circuit.dm
@@ -0,0 +1,600 @@
+/// A list of all integrated circuits
+GLOBAL_LIST_EMPTY_TYPED(integrated_circuits, /obj/item/integrated_circuit)
+
+/**
+ * # Integrated Circuitboard
+ *
+ * A circuitboard that holds components that work together
+ *
+ * Has a limited amount of power.
+ */
+/obj/item/integrated_circuit
+ name = "integrated circuit"
+ desc = "By inserting components and a cell into this, wiring them up, and putting them into a shell, anyone can pretend to be a programmer."
+ icon = 'icons/obj/module.dmi'
+ icon_state = "integrated_circuit"
+ inhand_icon_state = "electronic"
+
+ /// The name that appears on the shell.
+ var/display_name = ""
+
+ /// The max length of the name.
+ var/label_max_length = 24
+
+ /// The power of the integrated circuit
+ var/obj/item/stock_parts/cell/cell
+
+ /// The shell that this circuitboard is attached to. Used by components.
+ var/atom/movable/shell
+
+ /// The attached components
+ var/list/obj/item/circuit_component/attached_components = list()
+
+ /// Whether the integrated circuit is on or not. Handled by the shell.
+ var/on = FALSE
+
+ /// Whether the integrated circuit is locked or not. Handled by the shell.
+ var/locked = FALSE
+
+ /// Whether the integrated circuit is admin only. Disables power usage and allows admin circuits to be attached, at the cost of making it inaccessible to regular users.
+ var/admin_only = FALSE
+
+ /// The ID that is authorized to unlock/lock the shell so that the circuit can/cannot be removed.
+ var/datum/weakref/owner_id
+
+ /// The current examined component. Used in IntegratedCircuit UI
+ var/datum/weakref/examined_component
+
+ /// Set by the shell. Holds the reference to the owner who inserted the component into the shell.
+ var/datum/weakref/inserter_mind
+
+ /// Variables stored on this integrated circuit. with a `variable_name = value` structure
+ var/list/datum/circuit_variable/circuit_variables = list()
+
+ /// The maximum amount of setters and getters a circuit can have
+ var/max_setters_and_getters = 30
+
+ /// The current setter and getter count the circuit has.
+ var/setter_and_getter_count = 0
+
+ /// X position of the examined_component
+ var/examined_rel_x = 0
+
+ /// Y position of the examined component
+ var/examined_rel_y = 0
+
+ /// The X position of the screen. Used for adding components
+ var/screen_x = 0
+
+ /// The Y position of the screen. Used for adding components.
+ var/screen_y = 0
+
+/obj/item/integrated_circuit/Initialize()
+ . = ..()
+
+ GLOB.integrated_circuits += src
+
+ RegisterSignal(src, COMSIG_ATOM_USB_CABLE_TRY_ATTACH, .proc/on_atom_usb_cable_try_attach)
+
+/obj/item/integrated_circuit/loaded/Initialize()
+ . = ..()
+ set_cell(new /obj/item/stock_parts/cell/high(src))
+
+/obj/item/integrated_circuit/Destroy()
+ for(var/obj/item/circuit_component/to_delete in attached_components)
+ remove_component(to_delete)
+ qdel(to_delete)
+ QDEL_LIST(circuit_variables)
+ attached_components.Cut()
+ shell = null
+ examined_component = null
+ owner_id = null
+ QDEL_NULL(cell)
+ GLOB.integrated_circuits -= src
+ return ..()
+
+/obj/item/integrated_circuit/examine(mob/user)
+ . = ..()
+ if(cell)
+ . += span_notice("The charge meter reads [cell ? round(cell.percent(), 1) : 0]%.")
+ else
+ . += span_notice("There is no power cell installed.")
+
+/obj/item/integrated_circuit/proc/set_cell(obj/item/stock_parts/cell_to_set)
+ SEND_SIGNAL(src, COMSIG_CIRCUIT_SET_CELL, cell_to_set)
+ cell = cell_to_set
+
+/obj/item/integrated_circuit/attackby(obj/item/I, mob/living/user, params)
+ . = ..()
+ if(istype(I, /obj/item/circuit_component))
+ add_component_manually(I, user)
+ return
+
+ if(istype(I, /obj/item/stock_parts/cell))
+ if(cell)
+ balloon_alert(user, "there already is a cell inside!")
+ return
+ if(!user.transferItemToLoc(I, src))
+ return
+ set_cell(I)
+ I.add_fingerprint(user)
+ user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src]."))
+ return
+
+ if(istype(I, /obj/item/card/id))
+ balloon_alert(user, "owner id set for [I]")
+ owner_id = WEAKREF(I)
+ return
+
+ if(I.tool_behaviour == TOOL_SCREWDRIVER)
+ if(!cell)
+ return
+ I.play_tool_sound(src)
+ user.visible_message(span_notice("[user] unscrews the power cell from [src]."), span_notice("You unscrew the power cell from [src]."))
+ cell.forceMove(drop_location())
+ set_cell(null)
+ return
+
+/**
+ * Registers an movable atom as a shell
+ *
+ * No functionality is done here. This is so that input components
+ * can properly register any signals on the shell.
+ * Arguments:
+ * * new_shell - The new shell to register.
+ */
+/obj/item/integrated_circuit/proc/set_shell(atom/movable/new_shell)
+ remove_current_shell()
+ set_on(TRUE)
+ SEND_SIGNAL(src, COMSIG_CIRCUIT_SET_SHELL, new_shell)
+ shell = new_shell
+ RegisterSignal(shell, COMSIG_PARENT_QDELETING, .proc/remove_current_shell)
+ for(var/obj/item/circuit_component/attached_component as anything in attached_components)
+ attached_component.register_shell(shell)
+ // Their input ports may be updated with user values, but the outputs haven't updated
+ // because on is FALSE
+ TRIGGER_CIRCUIT_COMPONENT(attached_component, null)
+
+/**
+ * Unregisters the current shell attached to this circuit.
+ */
+/obj/item/integrated_circuit/proc/remove_current_shell()
+ SIGNAL_HANDLER
+ if(!shell)
+ return
+ shell.name = initial(shell.name)
+ for(var/obj/item/circuit_component/attached_component as anything in attached_components)
+ attached_component.unregister_shell(shell)
+ UnregisterSignal(shell, COMSIG_PARENT_QDELETING)
+ shell = null
+ set_on(FALSE)
+ SEND_SIGNAL(src, COMSIG_CIRCUIT_SHELL_REMOVED)
+
+/obj/item/integrated_circuit/proc/set_on(new_value)
+ SEND_SIGNAL(src, COMSIG_CIRCUIT_SET_ON, new_value)
+ on = new_value
+
+/**
+ * Adds a component to the circuitboard
+ *
+ * Once the component is added, the ports can be attached to other components
+ */
+/obj/item/integrated_circuit/proc/add_component(obj/item/circuit_component/to_add, mob/living/user)
+ if(to_add.parent)
+ return
+
+ if(SEND_SIGNAL(src, COMSIG_CIRCUIT_ADD_COMPONENT, to_add, user) & COMPONENT_CANCEL_ADD_COMPONENT)
+ return
+
+ if(!to_add.add_to(src))
+ return
+
+ var/success = FALSE
+ if(user)
+ success = user.transferItemToLoc(to_add, src)
+ else
+ success = to_add.forceMove(src)
+
+ if(!success)
+ return
+
+ to_add.rel_x = rand(COMPONENT_MIN_RANDOM_POS, COMPONENT_MAX_RANDOM_POS) - screen_x
+ to_add.rel_y = rand(COMPONENT_MIN_RANDOM_POS, COMPONENT_MAX_RANDOM_POS) - screen_y
+ to_add.parent = src
+ attached_components += to_add
+ RegisterSignal(to_add, COMSIG_MOVABLE_MOVED, .proc/component_move_handler)
+ SStgui.update_uis(src)
+
+ if(shell)
+ to_add.register_shell(shell)
+ return TRUE
+
+/**
+ * Adds a component to the circuitboard through a manual action.
+ */
+/obj/item/integrated_circuit/proc/add_component_manually(obj/item/circuit_component/to_add, mob/living/user)
+ if (SEND_SIGNAL(src, COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY, to_add, user) & COMPONENT_CANCEL_ADD_COMPONENT)
+ return
+
+ return add_component(to_add, user)
+
+/obj/item/integrated_circuit/proc/component_move_handler(obj/item/circuit_component/source)
+ SIGNAL_HANDLER
+ if(source.loc != src)
+ remove_component(source)
+
+/**
+ * Removes a component to the circuitboard
+ *
+ * This removes all connects between the ports
+ */
+/obj/item/integrated_circuit/proc/remove_component(obj/item/circuit_component/to_remove)
+ if(shell)
+ to_remove.unregister_shell(shell)
+
+ UnregisterSignal(to_remove, COMSIG_MOVABLE_MOVED)
+ attached_components -= to_remove
+ to_remove.disconnect()
+ to_remove.parent = null
+ SEND_SIGNAL(to_remove, COMSIG_CIRCUIT_COMPONENT_REMOVED, src)
+ SStgui.update_uis(src)
+ to_remove.removed_from(src)
+
+/obj/item/integrated_circuit/get_cell()
+ return cell
+
+/obj/item/integrated_circuit/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/simple/circuit_assets)
+ )
+
+/obj/item/integrated_circuit/ui_static_data(mob/user)
+ . = list()
+ .["global_basic_types"] = GLOB.wiremod_basic_types
+ .["screen_x"] = screen_x
+ .["screen_y"] = screen_y
+
+/obj/item/integrated_circuit/ui_data(mob/user)
+ . = list()
+ .["components"] = list()
+ for(var/obj/item/circuit_component/component as anything in attached_components)
+ if (component.circuit_flags & CIRCUIT_FLAG_HIDDEN)
+ .["components"] += null
+ continue
+
+ var/list/component_data = list()
+ component_data["input_ports"] = list()
+ for(var/datum/port/input/port as anything in component.input_ports)
+ var/current_data = port.value
+ if(isatom(current_data)) // Prevent passing the name of the atom.
+ current_data = null
+ var/list/connected_to = list()
+ for(var/datum/port/output/output as anything in port.connected_ports)
+ connected_to += REF(output)
+ component_data["input_ports"] += list(list(
+ "name" = port.name,
+ "type" = port.datatype,
+ "ref" = REF(port), // The ref is the identifier to work out what it is connected to
+ "connected_to" = connected_to,
+ "color" = port.color,
+ "current_data" = current_data,
+ "datatype_data" = port.datatype_ui_data(user),
+ ))
+ component_data["output_ports"] = list()
+ for(var/datum/port/output/port as anything in component.output_ports)
+ component_data["output_ports"] += list(list(
+ "name" = port.name,
+ "type" = port.datatype,
+ "ref" = REF(port),
+ "color" = port.color,
+ ))
+
+ component_data["name"] = component.display_name
+ component_data["x"] = component.rel_x
+ component_data["y"] = component.rel_y
+ component_data["removable"] = component.removable
+ .["components"] += list(component_data)
+
+ .["variables"] = list()
+ for(var/variable_name in circuit_variables)
+ var/datum/circuit_variable/variable = circuit_variables[variable_name]
+ var/list/variable_data = list()
+ variable_data["name"] = variable.name
+ variable_data["datatype"] = variable.datatype
+ variable_data["color"] = variable.color
+ .["variables"] += list(variable_data)
+
+
+ .["display_name"] = display_name
+
+ var/obj/item/circuit_component/examined
+ if(examined_component)
+ examined = examined_component.resolve()
+
+ .["examined_name"] = examined?.display_name
+ .["examined_desc"] = examined?.desc
+ .["examined_notices"] = examined?.get_ui_notices()
+ .["examined_rel_x"] = examined_rel_x
+ .["examined_rel_y"] = examined_rel_y
+
+ .["is_admin"] = check_rights_for(user.client, R_VAREDIT)
+
+/obj/item/integrated_circuit/ui_host(mob/user)
+ if(shell)
+ return shell
+ return ..()
+
+/obj/item/integrated_circuit/can_interact(mob/user)
+ if(locked)
+ return FALSE
+ return ..()
+
+/obj/item/integrated_circuit/ui_status(mob/user)
+ . = ..()
+
+ if (isobserver(user))
+ . = max(., UI_UPDATE)
+
+ // Extra protection because ui_state will not close the UI if they already have the ui open,
+ // as ui_state is only set during
+ if(admin_only)
+ if(!check_rights_for(user.client, R_VAREDIT))
+ return UI_CLOSE
+ else
+ return UI_INTERACTIVE
+
+/obj/item/integrated_circuit/ui_state(mob/user)
+ if(!shell)
+ return GLOB.hands_state
+ return GLOB.physical_obscured_state
+
+/obj/item/integrated_circuit/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "IntegratedCircuit", name)
+ ui.open()
+ ui.set_autoupdate(FALSE)
+
+#define WITHIN_RANGE(id, table) (id >= 1 && id <= length(table))
+
+/obj/item/integrated_circuit/ui_act(action, list/params)
+ . = ..()
+ if(.)
+ return
+
+ switch(action)
+ if("add_connection")
+ var/input_component_id = text2num(params["input_component_id"])
+ var/output_component_id = text2num(params["output_component_id"])
+ var/input_port_id = text2num(params["input_port_id"])
+ var/output_port_id = text2num(params["output_port_id"])
+ if(!WITHIN_RANGE(input_component_id, attached_components) || !WITHIN_RANGE(output_component_id, attached_components))
+ return
+ var/obj/item/circuit_component/input_component = attached_components[input_component_id]
+ var/obj/item/circuit_component/output_component = attached_components[output_component_id]
+
+ if(!WITHIN_RANGE(input_port_id, input_component.input_ports) || !WITHIN_RANGE(output_port_id, output_component.output_ports))
+ return
+ var/datum/port/input/input_port = input_component.input_ports[input_port_id]
+ var/datum/port/output/output_port = output_component.output_ports[output_port_id]
+
+ if(!input_port.can_receive_from_datatype(output_port.datatype))
+ return
+ input_port.connect(output_port)
+ . = TRUE
+ if("remove_connection")
+ var/component_id = text2num(params["component_id"])
+ var/is_input = params["is_input"]
+ var/port_id = text2num(params["port_id"])
+
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ var/obj/item/circuit_component/component = attached_components[component_id]
+
+ var/list/port_table
+ if(is_input)
+ port_table = component.input_ports
+ else
+ port_table = component.output_ports
+
+ if(!WITHIN_RANGE(port_id, port_table))
+ return
+
+ var/datum/port/port = port_table[port_id]
+ port.disconnect_all()
+ . = TRUE
+ if("detach_component")
+ var/component_id = text2num(params["component_id"])
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ var/obj/item/circuit_component/component = attached_components[component_id]
+ if(!component.removable)
+ return
+ component.disconnect()
+ remove_component(component)
+ if(component.loc == src)
+ usr.put_in_hands(component)
+ . = TRUE
+ if("set_component_coordinates")
+ var/component_id = text2num(params["component_id"])
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ var/obj/item/circuit_component/component = attached_components[component_id]
+ component.rel_x = min(max(-COMPONENT_MAX_POS, text2num(params["rel_x"])), COMPONENT_MAX_POS)
+ component.rel_y = min(max(-COMPONENT_MAX_POS, text2num(params["rel_y"])), COMPONENT_MAX_POS)
+ . = TRUE
+ if("set_component_input")
+ var/component_id = text2num(params["component_id"])
+ var/port_id = text2num(params["port_id"])
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ var/obj/item/circuit_component/component = attached_components[component_id]
+ if(!WITHIN_RANGE(port_id, component.input_ports))
+ return
+ var/datum/port/input/port = component.input_ports[port_id]
+
+ if(params["set_null"])
+ port.set_input(null)
+ return TRUE
+
+ if(params["marked_atom"])
+ if(port.datatype != PORT_TYPE_ATOM && port.datatype != PORT_TYPE_ANY)
+ return
+ var/obj/item/multitool/circuit/marker = usr.get_active_held_item()
+ if(!istype(marker))
+ var/client/user = usr.client
+ if(!check_rights_for(user, R_VAREDIT))
+ return TRUE
+ var/atom/marked_atom = user.holder.marked_datum
+ if(!marked_atom)
+ return TRUE
+ port.set_input(marked_atom)
+ balloon_alert(usr, "updated [port.name]'s value to marked object.")
+ return TRUE
+ if(!marker.marked_atom)
+ port.set_input(null)
+ marker.say("Cleared port ('[port.name]')'s value.")
+ return TRUE
+ marker.say("Updated port ('[port.name]')'s value to the marked entity.")
+ port.set_input(marker.marked_atom)
+ return TRUE
+
+ var/user_input = port.handle_manual_input(usr, params["input"])
+ if(isnull(user_input))
+ return TRUE
+ port.set_input(user_input)
+ . = TRUE
+ if("get_component_value")
+ var/component_id = text2num(params["component_id"])
+ var/port_id = text2num(params["port_id"])
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ var/obj/item/circuit_component/component = attached_components[component_id]
+ if(!WITHIN_RANGE(port_id, component.output_ports))
+ return
+
+ var/datum/port/output/port = component.output_ports[port_id]
+ var/value = port.value
+ if(isatom(value))
+ value = PORT_TYPE_ATOM
+ else if(isnull(value))
+ value = "null"
+ var/string_form = copytext("[value]", 1, PORT_MAX_STRING_DISPLAY)
+ if(length(string_form) >= PORT_MAX_STRING_DISPLAY-1)
+ string_form += "..."
+ balloon_alert(usr, "[port.name] value: [string_form]")
+ . = TRUE
+ if("set_display_name")
+ var/new_name = params["display_name"]
+
+ if(new_name)
+ set_display_name(strip_html(params["display_name"], label_max_length))
+ else
+ set_display_name("")
+
+ if(shell)
+ if(display_name != "")
+ shell.name = "[initial(shell.name)] ([display_name])"
+ else
+ shell.name = initial(shell.name)
+
+ . = TRUE
+ if("set_examined_component")
+ var/component_id = text2num(params["component_id"])
+ if(!WITHIN_RANGE(component_id, attached_components))
+ return
+ examined_component = WEAKREF(attached_components[component_id])
+ examined_rel_x = text2num(params["x"])
+ examined_rel_y = text2num(params["y"])
+ . = TRUE
+ if("remove_examined_component")
+ examined_component = null
+ . = TRUE
+ if("save_circuit")
+ return attempt_save_to(usr.client)
+ if("add_variable")
+ var/variable_identifier = trim(copytext(params["variable_name"], 1, PORT_MAX_NAME_LENGTH))
+ if(variable_identifier in circuit_variables)
+ return TRUE
+ if(variable_identifier == "")
+ return TRUE
+ var/variable_datatype = params["variable_datatype"]
+ if(!(variable_datatype in GLOB.wiremod_basic_types))
+ return
+
+ circuit_variables[variable_identifier] = new /datum/circuit_variable(variable_identifier, variable_datatype)
+ . = TRUE
+ if("remove_variable")
+ var/variable_identifier = params["variable_name"]
+ if(!(variable_identifier in circuit_variables))
+ return
+ var/datum/circuit_variable/variable = circuit_variables[variable_identifier]
+ if(!variable)
+ return
+ circuit_variables -= variable_identifier
+ qdel(variable)
+ . = TRUE
+ if("add_setter_or_getter")
+ if(setter_and_getter_count >= max_setters_and_getters)
+ balloon_alert(usr, "setter and getter count at maximum capacity")
+ return
+ var/designated_type = /obj/item/circuit_component/getter
+ if(params["is_setter"])
+ designated_type = /obj/item/circuit_component/setter
+ var/obj/item/circuit_component/component = new designated_type(src)
+ if(!add_component(component, usr))
+ qdel(component)
+ return
+ RegisterSignal(component, COMSIG_CIRCUIT_COMPONENT_REMOVED, .proc/clear_setter_or_getter)
+ setter_and_getter_count++
+ if("move_screen")
+ screen_x = text2num(params["screen_x"])
+ screen_y = text2num(params["screen_y"])
+
+/obj/item/integrated_circuit/proc/clear_setter_or_getter(datum/source)
+ SIGNAL_HANDLER
+ // This'll also be called in the Destroy() override of /obj/item/circuit_component
+ if(!QDELING(source))
+ qdel(source)
+ setter_and_getter_count--
+
+/obj/item/integrated_circuit/proc/on_atom_usb_cable_try_attach(datum/source, obj/item/usb_cable/usb_cable, mob/user)
+ SIGNAL_HANDLER
+ usb_cable.balloon_alert(user, "circuit needs to be in a compatible shell")
+ return COMSIG_CANCEL_USB_CABLE_ATTACK
+
+#undef WITHIN_RANGE
+
+/// Sets the display name that appears on the shell.
+/obj/item/integrated_circuit/proc/set_display_name(new_name)
+ display_name = new_name
+
+/**
+ * Returns the creator of the integrated circuit. Used in admin messages and other related things.
+ */
+/obj/item/integrated_circuit/proc/get_creator_admin()
+ return get_creator(include_link = TRUE)
+
+/**
+ * Returns the creator of the integrated circuit. Used in admin logs and other related things.
+ */
+/obj/item/integrated_circuit/proc/get_creator(include_link = FALSE)
+ var/datum/mind/inserter
+ if(inserter_mind)
+ inserter = inserter_mind.resolve()
+
+ var/obj/item/card/id/id_card
+ if(owner_id)
+ id_card = owner_id.resolve()
+
+ return "[src] (Shell: [shell || "*null*"], Inserter: [key_name(inserter, include_link)], Owner ID: [id_card?.name || "*null*"])"
+
+/// Attempts to save a circuit to a given client
+/obj/item/integrated_circuit/proc/attempt_save_to(client/saver)
+ if(!check_rights_for(saver, R_VAREDIT))
+ return FALSE
+ var/temp_file = file("data/CircuitDownloadTempFile")
+ fdel(temp_file)
+ WRITE_FILE(temp_file, convert_to_json())
+ DIRECT_OUTPUT(saver, ftp(temp_file, "[display_name || "circuit"].json"))
+ return TRUE
diff --git a/code/modules/wiremod/core/marker.dm b/code/modules/wiremod/core/marker.dm
new file mode 100644
index 0000000000..82d34be37a
--- /dev/null
+++ b/code/modules/wiremod/core/marker.dm
@@ -0,0 +1,60 @@
+/obj/item/multitool/circuit
+ name = "circuit multitool"
+ desc = "A circuit multitool. Used to mark entities which can then be uploaded to components by pressing the upload button on a port. \
+ Acts as a normal multitool otherwise. Use in hand to clear marked entity so that you can mark another entity."
+ icon_state = "multitool_circuit"
+
+ /// The marked atom of this multitool
+ var/atom/marked_atom
+
+/obj/item/multitool/circuit/Destroy()
+ marked_atom = null
+ return ..()
+
+/obj/item/multitool/circuit/examine(mob/user)
+ . = ..()
+ . += span_notice("It has [marked_atom? "a" : "no"] marked entity registered.")
+
+/obj/item/multitool/circuit/attack_self(mob/user, modifiers)
+ . = ..()
+ if(.)
+ return
+ if(!marked_atom)
+ return
+
+ say("Cleared marked targets.")
+ clear_marked_atom()
+ return TRUE
+
+/obj/item/multitool/circuit/melee_attack_chain(mob/user, atom/target, params)
+ var/is_right_clicking = LAZYACCESS(params2list(params), RIGHT_CLICK)
+
+ if(marked_atom || !user.Adjacent(target) || is_right_clicking)
+ return ..()
+
+ say("Marked [target].")
+ marked_atom = target
+ RegisterSignal(marked_atom, COMSIG_PARENT_QDELETING, .proc/cleanup_marked_atom)
+ update_icon()
+ flick("multitool_circuit_flick", src)
+ playsound(src.loc, 'sound/misc/compiler-stage2.ogg', 30, TRUE)
+ return TRUE
+
+/obj/item/multitool/circuit/update_overlays()
+ . = ..()
+ cut_overlays()
+ if(marked_atom)
+ . += "marked_overlay"
+
+/// Clears the current marked atom
+/obj/item/multitool/circuit/proc/clear_marked_atom()
+ if(!marked_atom)
+ return
+ UnregisterSignal(marked_atom, COMSIG_PARENT_QDELETING)
+ marked_atom = null
+ update_icon()
+
+/obj/item/multitool/circuit/proc/cleanup_marked_atom(datum/source)
+ SIGNAL_HANDLER
+ if(source == marked_atom)
+ clear_marked_atom()
diff --git a/code/modules/wiremod/core/port.dm b/code/modules/wiremod/core/port.dm
new file mode 100644
index 0000000000..a58016743f
--- /dev/null
+++ b/code/modules/wiremod/core/port.dm
@@ -0,0 +1,216 @@
+/**
+ * # Component Port
+ *
+ * A port used by a component. Connects to other ports.
+ */
+/datum/port
+ /// The component this port is attached to
+ var/obj/item/circuit_component/connected_component
+
+ /// Name of the port. Used when displaying the port.
+ var/name
+
+ /// The port type. Ports can only connect to each other if the type matches
+ var/datatype
+
+ /// The value that's currently in the port. It's of the above type.
+ var/value
+
+ /// The default port type. Stores the original datatype of the port set on Initialize.
+ var/datum/circuit_datatype/datatype_handler
+
+ /// The port color. If unset, appears as blue.
+ var/color
+
+/datum/port/New(obj/item/circuit_component/to_connect, name, datatype)
+ if(!to_connect)
+ qdel(src)
+ return
+ . = ..()
+ connected_component = to_connect
+ src.name = name
+ set_datatype(datatype)
+
+/datum/port/Destroy(force)
+ disconnect_all()
+ connected_component = null
+ datatype_handler = null
+ return ..()
+
+/**
+ * Sets the port's value to value.
+ * Casts to the port's datatype (e.g. number -> string), and assumes this can be done.
+ */
+/datum/port/proc/set_value(value, force = FALSE)
+ if(src.value != value || force)
+ if(isatom(value))
+ UnregisterSignal(value, COMSIG_PARENT_QDELETING)
+ src.value = datatype_handler.convert_value(src, value)
+ if(isatom(value))
+ RegisterSignal(value, COMSIG_PARENT_QDELETING, .proc/null_value)
+ SEND_SIGNAL(src, COMSIG_PORT_SET_VALUE, value)
+
+/**
+ * Updates the value of the input and calls input_received on the connected component
+ */
+/datum/port/input/proc/set_input(value)
+ if(QDELETED(src)) //Pain
+ return
+ set_value(value)
+ if(trigger)
+ TRIGGER_CIRCUIT_COMPONENT(connected_component, src)
+
+/datum/port/output/proc/set_output(value)
+ set_value(value)
+
+/**
+ * Sets the datatype of the port.
+ *
+ * Arguments:
+ * * new_type - The type this port is to be set to.
+ */
+/datum/port/proc/set_datatype(type_to_set)
+ if(type_to_set == datatype)
+ return
+
+ if(datatype_handler)
+ datatype_handler.on_loss(src)
+ datatype_handler = null
+
+ var/datum/circuit_datatype/handler = GLOB.circuit_datatypes[type_to_set]
+ if(!handler || !handler.is_compatible(src))
+ type_to_set = PORT_TYPE_ANY
+ handler = GLOB.circuit_datatypes[type_to_set]
+ // We can't leave this port without a type or else it'll just keep spewing out unnecessary and unneeded runtimes as well as leaving the circuit in a broken state.
+ stack_trace("[src] port attempted to be set to an incompatible datatype! (target datatype to set: [type_to_set])")
+
+ datatype = type_to_set
+ datatype_handler = handler
+ color = datatype_handler.color
+ datatype_handler.on_gain(src)
+ src.value = datatype_handler.convert_value(src, value)
+ SEND_SIGNAL(src, COMSIG_PORT_SET_TYPE, type_to_set)
+ if(connected_component?.parent)
+ SStgui.update_uis(connected_component.parent)
+
+/datum/port/input/set_datatype(new_type)
+ for(var/datum/port/output/output as anything in connected_ports)
+ check_type(output)
+ ..()
+
+/**
+ * Returns the data from the datatype
+ */
+/datum/port/proc/datatype_ui_data()
+ return datatype_handler.datatype_ui_data(src)
+
+/**
+ * # Output Port
+ *
+ * An output port that many input ports can connect to
+ *
+ * Sends a signal whenever the output value is changed
+ */
+/datum/port/output
+
+/**
+ * Disconnects a port from all other ports.
+ *
+ * Called by [/obj/item/circuit_component] whenever it is disconnected from
+ * an integrated circuit
+ */
+/datum/port/proc/disconnect_all()
+ SEND_SIGNAL(src, COMSIG_PORT_DISCONNECT)
+
+/datum/port/input/disconnect_all()
+ ..()
+ for(var/datum/port/output/output as anything in connected_ports)
+ disconnect(output)
+
+/datum/port/input/proc/disconnect(datum/port/output/output)
+ connected_ports -= output
+ UnregisterSignal(output, COMSIG_PORT_SET_VALUE)
+ UnregisterSignal(output, COMSIG_PORT_SET_TYPE)
+ UnregisterSignal(output, COMSIG_PORT_DISCONNECT)
+
+/// Do our part in setting all source references anywhere to null.
+/datum/port/proc/on_value_qdeleting(datum/source)
+ SIGNAL_HANDLER
+ if(value == source)
+ value = null
+ else
+ stack_trace("Impossible? [src] should only receive COMSIG_PARENT_QDELETING from an atom currently in the port, not [source].")
+
+/**
+ * # Input Port
+ *
+ * An input port remembers connected output ports.
+ *
+ * Registers the PORT_SET_VALUE signal on each connected port,
+ * and keeps its value equal to the last such signal received.
+ */
+/datum/port/input
+ /// Whether this port triggers an update whenever an output is received.
+ var/trigger = FALSE
+
+ /// The ports this port is wired to.
+ var/list/datum/port/output/connected_ports
+
+/datum/port/input/New(obj/item/circuit_component/to_connect, name, datatype, trigger, default)
+ . = ..()
+ set_value(default)
+ src.trigger = trigger
+ src.connected_ports = list()
+
+/**
+ * Introduces two ports to one another.
+ */
+/datum/port/input/proc/connect(datum/port/output/output)
+ connected_ports |= output
+ RegisterSignal(output, COMSIG_PORT_SET_VALUE, .proc/receive_value)
+ RegisterSignal(output, COMSIG_PORT_SET_TYPE, .proc/check_type)
+ RegisterSignal(output, COMSIG_PORT_DISCONNECT, .proc/disconnect)
+ // For signals, we don't update the input to prevent sending a signal when connecting ports.
+ if(!(datatype_handler.datatype_flags & DATATYPE_FLAG_AVOID_VALUE_UPDATE))
+ set_input(output.value)
+
+/**
+ * Determines if a datatype is compatible with another port of a different type.
+ *
+ * Arguments:
+ * * other_datatype - The datatype to check
+ */
+/datum/port/input/proc/can_receive_from_datatype(datatype_to_check)
+ return datatype_handler.can_receive_from_datatype(datatype_to_check)
+
+/**
+ * Determines if a datatype is compatible with another port of a different type.
+ *
+ * Arguments:
+ * * other_datatype - The datatype to check
+ */
+/datum/port/input/proc/handle_manual_input(mob/user, manual_input)
+ if(datatype_handler.datatype_flags & DATATYPE_FLAG_ALLOW_MANUAL_INPUT)
+ return datatype_handler.handle_manual_input(src, user, manual_input)
+ return null
+
+/**
+ * Mirror value updates from connected output ports after an input_receive_delay.
+ */
+/datum/port/input/proc/receive_value(datum/port/output/output, value)
+ SIGNAL_HANDLER
+ SScircuit_component.add_callback(CALLBACK(src, .proc/set_input, value))
+
+/// Signal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.
+/datum/port/proc/null_value(datum/source)
+ SIGNAL_HANDLER
+ if(value == source)
+ value = null
+
+/**
+ * Handle type updates from connected output ports, breaking uncastable connections.
+ */
+/datum/port/input/proc/check_type(datum/port/output/output)
+ SIGNAL_HANDLER
+ if(!can_receive_from_datatype(output.datatype))
+ disconnect(output)
diff --git a/code/modules/wiremod/core/usb_cable.dm b/code/modules/wiremod/core/usb_cable.dm
new file mode 100644
index 0000000000..df0dec936c
--- /dev/null
+++ b/code/modules/wiremod/core/usb_cable.dm
@@ -0,0 +1,123 @@
+/// A cable that can connect integrated circuits to anything with a USB port, such as computers and machines.
+/obj/item/usb_cable
+ name = "usb cable"
+ desc = "A cable that can connect integrated circuits to anything with a USB port, such as computers and machines."
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "usb_cable"
+ inhand_icon_state = "coil"
+ base_icon_state = "coil"
+ w_class = WEIGHT_CLASS_TINY
+ custom_materials = list(/datum/material/iron = 75)
+
+ /// The currently connected circuit
+ var/obj/item/integrated_circuit/attached_circuit
+
+/obj/item/usb_cable/Destroy()
+ attached_circuit = null
+ STOP_PROCESSING(SSobj, src)
+ return ..()
+
+/obj/item/usb_cable/Initialize()
+ . = ..()
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/on_moved)
+
+/obj/item/usb_cable/examine(mob/user)
+ . = ..()
+
+ if (!isnull(attached_circuit))
+ . += span_notice("It is attached to [attached_circuit.shell || attached_circuit].")
+
+// Look, I'm not happy about this either, but moving an object doesn't call Moved if it's inside something else.
+// There's good reason for this, but there's no element or similar yet to track it as far as I know.
+// SSobj runs infrequently, this is only ran while there's an attached circuit, its performance cost is negligible.
+/obj/item/usb_cable/process(delta_time)
+ if (!check_in_range())
+ return PROCESS_KILL
+
+/obj/item/usb_cable/pre_attack(atom/target, mob/living/user, params)
+ . = ..()
+ if (.)
+ return
+
+ if (prob(1))
+ balloon_alert(user, "wrong way, god damnit")
+ return TRUE
+
+ var/signal_result = SEND_SIGNAL(target, COMSIG_ATOM_USB_CABLE_TRY_ATTACH, src, user)
+
+ var/last_attached_circuit = attached_circuit
+ if (signal_result & COMSIG_USB_CABLE_CONNECTED_TO_CIRCUIT)
+ if (isnull(attached_circuit))
+ CRASH("Producers of COMSIG_USB_CABLE_CONNECTED_TO_CIRCUIT must set attached_circuit")
+ balloon_alert(user, "connected to circuit\nconnect to a port")
+
+ playsound(src, 'sound/machines/pda_button1.ogg', 20, TRUE)
+
+ if (last_attached_circuit != attached_circuit)
+ if (!isnull(last_attached_circuit))
+ unregister_circuit_signals(last_attached_circuit)
+ register_circuit_signals()
+
+ START_PROCESSING(SSobj, src)
+
+ return TRUE
+
+ if (signal_result & COMSIG_USB_CABLE_ATTACHED)
+ // Short messages are better to read
+ var/connection_description = "port"
+ if (istype(target, /obj/machinery/computer))
+ connection_description = "computer"
+ else if (ismachinery(target))
+ connection_description = "machine"
+
+ balloon_alert(user, "connected to [connection_description]")
+ playsound(src, 'sound/items/screwdriver2.ogg', 20, TRUE)
+
+ return TRUE
+
+ if (signal_result & COMSIG_CANCEL_USB_CABLE_ATTACK)
+ return TRUE
+
+ return FALSE
+
+/obj/item/usb_cable/suicide_act(mob/user)
+ user.visible_message(span_suicide("[user] is wrapping [src] around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!"))
+ return OXYLOSS
+
+/obj/item/usb_cable/proc/register_circuit_signals()
+ RegisterSignal(attached_circuit, COMSIG_MOVABLE_MOVED, .proc/on_moved)
+ RegisterSignal(attached_circuit, COMSIG_PARENT_QDELETING, .proc/on_circuit_qdeling)
+ RegisterSignal(attached_circuit.shell, COMSIG_MOVABLE_MOVED, .proc/on_moved)
+
+/obj/item/usb_cable/proc/unregister_circuit_signals(obj/item/integrated_circuit/old_circuit)
+ UnregisterSignal(attached_circuit, list(
+ COMSIG_MOVABLE_MOVED,
+ COMSIG_PARENT_QDELETING,
+ ))
+
+ UnregisterSignal(attached_circuit.shell, COMSIG_MOVABLE_MOVED)
+
+/obj/item/usb_cable/proc/on_moved()
+ SIGNAL_HANDLER
+
+ check_in_range()
+
+/obj/item/usb_cable/proc/check_in_range()
+ if (isnull(attached_circuit))
+ STOP_PROCESSING(SSobj, src)
+ return FALSE
+
+ if (!IN_GIVEN_RANGE(attached_circuit, src, USB_CABLE_MAX_RANGE))
+ balloon_alert_to_viewers("detached, too far away")
+ unregister_circuit_signals(attached_circuit)
+ attached_circuit = null
+ STOP_PROCESSING(SSobj, src)
+ return FALSE
+
+ return TRUE
+
+/obj/item/usb_cable/proc/on_circuit_qdeling()
+ SIGNAL_HANDLER
+
+ attached_circuit = null
+ STOP_PROCESSING(SSobj, src)
diff --git a/code/modules/wiremod/core/variable.dm b/code/modules/wiremod/core/variable.dm
new file mode 100644
index 0000000000..62d5239ade
--- /dev/null
+++ b/code/modules/wiremod/core/variable.dm
@@ -0,0 +1,49 @@
+/**
+ * A circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).
+ *
+ * Used in integrated circuits for setter and getter circuit components.
+ */
+/datum/circuit_variable
+ /// The display name of the circuit variable
+ var/name
+
+ /// The datatype of the circuit variable. Used by the setter and getter circuit components
+ var/datatype
+
+ /// The colour that appears in the UI. The value is set to the datatype's matching colour
+ var/color
+
+ /// The current value held by the variable.
+ var/value
+
+ /// The components that are currently listening. Triggers them when the value is updated.
+ var/list/obj/item/circuit_component/listeners
+
+/datum/circuit_variable/New(name, datatype)
+ . = ..()
+ src.name = name
+ src.datatype = datatype
+
+ var/datum/circuit_datatype/circuit_datatype = GLOB.circuit_datatypes[datatype]
+
+ src.listeners = list()
+ src.color = circuit_datatype.color
+
+
+/datum/circuit_variable/Destroy(force, ...)
+ listeners = null
+ return ..()
+
+/// Sets the value of the circuit component and triggers the appropriate listeners
+/datum/circuit_variable/proc/set_value(new_value)
+ value = new_value
+ for(var/obj/item/circuit_component/component as anything in listeners)
+ TRIGGER_CIRCUIT_COMPONENT(component, null)
+
+/// Adds a listener to receive inputs when the variable has a value that is set.
+/datum/circuit_variable/proc/add_listener(obj/item/circuit_component/to_add)
+ listeners += to_add
+
+/// Removes a listener to receive inputs when the variable has a value that is set. Listener will usually clean themselves up
+/datum/circuit_variable/proc/remove_listener(obj/item/circuit_component/to_remove)
+ listeners -= to_remove
diff --git a/code/modules/wiremod/datatypes/any.dm b/code/modules/wiremod/datatypes/any.dm
new file mode 100644
index 0000000000..a8a2f8457f
--- /dev/null
+++ b/code/modules/wiremod/datatypes/any.dm
@@ -0,0 +1,10 @@
+/datum/circuit_datatype/any
+ datatype = PORT_TYPE_ANY
+ color = "blue"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT
+
+/datum/circuit_datatype/any/can_receive_from_datatype(datatype_to_check)
+ return TRUE
+
+/datum/circuit_datatype/any/handle_manual_input(datum/port/input/port, mob/user, user_input)
+ return text2num(user_input) || user_input
diff --git a/code/modules/wiremod/datatypes/basic.dm b/code/modules/wiremod/datatypes/basic.dm
new file mode 100644
index 0000000000..d112f2b9d9
--- /dev/null
+++ b/code/modules/wiremod/datatypes/basic.dm
@@ -0,0 +1,9 @@
+// This file is for types that do not have any special conversion behaviour
+
+/datum/circuit_datatype/list_type
+ datatype = PORT_TYPE_LIST
+ color = "white"
+
+/datum/circuit_datatype/table
+ datatype = PORT_TYPE_TABLE
+ color = "grey"
diff --git a/code/modules/wiremod/datatypes/entity.dm b/code/modules/wiremod/datatypes/entity.dm
new file mode 100644
index 0000000000..44e00b9c6c
--- /dev/null
+++ b/code/modules/wiremod/datatypes/entity.dm
@@ -0,0 +1,10 @@
+/datum/circuit_datatype/entity
+ datatype = PORT_TYPE_ATOM
+ color = "purple"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT
+
+/datum/circuit_datatype/entity/convert_value(datum/port/port, value_to_convert)
+ var/atom/object = value_to_convert
+ if(QDELETED(object))
+ return null
+ return object
diff --git a/code/modules/wiremod/datatypes/number.dm b/code/modules/wiremod/datatypes/number.dm
new file mode 100644
index 0000000000..7013340249
--- /dev/null
+++ b/code/modules/wiremod/datatypes/number.dm
@@ -0,0 +1,14 @@
+/datum/circuit_datatype/number
+ datatype = PORT_TYPE_NUMBER
+ color = "green"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT
+
+/datum/circuit_datatype/number/can_receive_from_datatype(datatype_to_check)
+ . = ..()
+ if(.)
+ return
+
+ return datatype_to_check == PORT_TYPE_NUMBER
+
+/datum/circuit_datatype/number/handle_manual_input(datum/port/input/port, mob/user, user_input)
+ return text2num(user_input)
diff --git a/code/modules/wiremod/datatypes/option.dm b/code/modules/wiremod/datatypes/option.dm
new file mode 100644
index 0000000000..c6de346c9d
--- /dev/null
+++ b/code/modules/wiremod/datatypes/option.dm
@@ -0,0 +1,33 @@
+/datum/port/input/option
+ var/list/possible_options
+
+/datum/port/input/option/New(obj/item/circuit_component/to_connect, name, datatype, trigger, default, possible_options)
+ . = ..()
+ src.possible_options = possible_options
+ set_value(default, force = TRUE)
+
+/datum/circuit_datatype/option
+ datatype = PORT_TYPE_OPTION
+ color = "violet"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT
+
+/datum/circuit_datatype/option/is_compatible(datum/port/gained_port)
+ return istype(gained_port, /datum/port/input/option)
+
+/datum/circuit_datatype/option/can_receive_from_datatype(datatype_to_check)
+ . = ..()
+ if(.)
+ return
+
+ return datatype_to_check == PORT_TYPE_STRING
+
+/datum/circuit_datatype/option/convert_value(datum/port/input/option/port, value_to_convert)
+ if(!port.possible_options)
+ return null
+
+ if(value_to_convert in port.possible_options)
+ return value_to_convert
+ return port.possible_options[1]
+
+/datum/circuit_datatype/option/datatype_ui_data(datum/port/input/option/port)
+ return port.possible_options
diff --git a/code/modules/wiremod/datatypes/signal.dm b/code/modules/wiremod/datatypes/signal.dm
new file mode 100644
index 0000000000..2226f509fc
--- /dev/null
+++ b/code/modules/wiremod/datatypes/signal.dm
@@ -0,0 +1,17 @@
+/datum/circuit_datatype/signal
+ datatype = PORT_TYPE_SIGNAL
+ color = "teal"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT|DATATYPE_FLAG_AVOID_VALUE_UPDATE
+
+/datum/circuit_datatype/signal/can_receive_from_datatype(datatype_to_check)
+ . = ..()
+ if(.)
+ return
+
+ return datatype_to_check == PORT_TYPE_NUMBER
+
+/datum/circuit_datatype/signal/handle_manual_input(datum/port/input/port, mob/user, user_input)
+ var/atom/parent = port.connected_component
+ if(parent)
+ parent.balloon_alert(user, "triggered [port.name]")
+ return COMPONENT_SIGNAL
diff --git a/code/modules/wiremod/datatypes/string.dm b/code/modules/wiremod/datatypes/string.dm
new file mode 100644
index 0000000000..99c61b4a29
--- /dev/null
+++ b/code/modules/wiremod/datatypes/string.dm
@@ -0,0 +1,17 @@
+/datum/circuit_datatype/string
+ datatype = PORT_TYPE_STRING
+ color = "orange"
+ datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT
+
+/datum/circuit_datatype/string/can_receive_from_datatype(datatype_to_check)
+ return TRUE
+
+/datum/circuit_datatype/string/convert_value(datum/port/port, value_to_convert)
+ if(isnull(value_to_convert))
+ return
+
+ // So that they can't easily get the name like this.
+ if(isatom(value_to_convert))
+ return PORT_TYPE_ATOM
+ else
+ return copytext("[value_to_convert]", 1, PORT_MAX_STRING_LENGTH)
diff --git a/code/modules/wiremod/preset/hello_world.dm b/code/modules/wiremod/preset/hello_world.dm
new file mode 100644
index 0000000000..9aee88a300
--- /dev/null
+++ b/code/modules/wiremod/preset/hello_world.dm
@@ -0,0 +1,14 @@
+/**
+ * # Hello World preset
+ *
+ * Says "Hello World" when triggered. Needs to be wired up and connected first.
+ */
+/obj/item/integrated_circuit/loaded/hello_world
+
+/obj/item/integrated_circuit/loaded/hello_world/Initialize()
+ . = ..()
+ var/obj/item/circuit_component/speech/speech = new()
+ add_component(speech)
+
+ speech.message.set_input("Hello World")
+
diff --git a/code/modules/wiremod/preset/speech_relay.dm b/code/modules/wiremod/preset/speech_relay.dm
new file mode 100644
index 0000000000..5e5284bdeb
--- /dev/null
+++ b/code/modules/wiremod/preset/speech_relay.dm
@@ -0,0 +1,20 @@
+/**
+ * # Speech Relay preset
+ *
+ * Acts like poly. Says whatever it hears.
+ */
+/obj/item/integrated_circuit/loaded/speech_relay
+
+/obj/item/integrated_circuit/loaded/speech_relay/Initialize()
+ . = ..()
+ var/obj/item/circuit_component/hear/hear = new()
+ add_component(hear)
+ hear.rel_x = 100
+ hear.rel_y = 200
+
+ var/obj/item/circuit_component/speech/speech = new()
+ add_component(speech)
+ speech.rel_x = 400
+ speech.rel_y = 200
+
+ speech.message.connect(hear.message_port)
diff --git a/code/modules/wiremod/shell/airlock.dm b/code/modules/wiremod/shell/airlock.dm
new file mode 100644
index 0000000000..b44bb40d02
--- /dev/null
+++ b/code/modules/wiremod/shell/airlock.dm
@@ -0,0 +1,133 @@
+/datum/wires/airlock/shell
+ holder_type = /obj/machinery/door/airlock/shell
+ proper_name = "Circuit Airlock"
+
+/datum/wires/airlock/shell/on_cut(wire, mend)
+ // Don't allow them to re-enable autoclose.
+ if(wire == WIRE_TIMING)
+ return
+ return ..()
+
+/obj/machinery/door/airlock/shell
+ name = "circuit airlock"
+ autoclose = FALSE
+
+/obj/machinery/door/airlock/shell/Initialize()
+ . = ..()
+ AddComponent( \
+ /datum/component/shell, \
+ unremovable_circuit_components = list(new /obj/item/circuit_component/airlock), \
+ capacity = SHELL_CAPACITY_LARGE, \
+ shell_flags = SHELL_FLAG_ALLOW_FAILURE_ACTION \
+ )
+
+/obj/machinery/door/airlock/shell/check_access(obj/item/I)
+ return FALSE
+
+/obj/machinery/door/airlock/shell/canAIControl(mob/user)
+ return FALSE
+
+/obj/machinery/door/airlock/shell/canAIHack(mob/user)
+ return FALSE
+
+/obj/machinery/door/airlock/shell/set_wires()
+ return new /datum/wires/airlock/shell(src)
+
+/obj/item/circuit_component/airlock
+ display_name = "Airlock"
+ desc = "The general interface with an airlock. Includes general statuses of the airlock"
+
+ /// Called when attack_hand is called on the shell.
+ var/obj/machinery/door/airlock/attached_airlock
+
+ /// Bolts the airlock (if possible)
+ var/datum/port/input/bolt
+ /// Unbolts the airlock (if possible)
+ var/datum/port/input/unbolt
+ /// Opens the airlock (if possible)
+ var/datum/port/input/open
+ /// Closes the airlock (if possible)
+ var/datum/port/input/close
+
+ /// Contains whether the airlock is open or not
+ var/datum/port/output/is_open
+ /// Contains whether the airlock is bolted or not
+ var/datum/port/output/is_bolted
+
+ /// Called when the airlock is opened.
+ var/datum/port/output/opened
+ /// Called when the airlock is closed
+ var/datum/port/output/closed
+
+ /// Called when the airlock is bolted
+ var/datum/port/output/bolted
+ /// Called when the airlock is unbolted
+ var/datum/port/output/unbolted
+
+/obj/item/circuit_component/airlock/Initialize()
+ . = ..()
+ // Input Signals
+ bolt = add_input_port("Bolt", PORT_TYPE_SIGNAL)
+ unbolt = add_input_port("Unbolt", PORT_TYPE_SIGNAL)
+ open = add_input_port("Open", PORT_TYPE_SIGNAL)
+ close = add_input_port("Close", PORT_TYPE_SIGNAL)
+ // States
+ is_open = add_output_port("Is Open", PORT_TYPE_NUMBER)
+ is_bolted = add_output_port("Is Bolted", PORT_TYPE_NUMBER)
+ // Output Signals
+ opened = add_output_port("Opened", PORT_TYPE_SIGNAL)
+ closed = add_output_port("Closed", PORT_TYPE_SIGNAL)
+ bolted = add_output_port("Bolted", PORT_TYPE_SIGNAL)
+ unbolted = add_output_port("Unbolted", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/airlock/register_shell(atom/movable/shell)
+ . = ..()
+ if(istype(shell, /obj/machinery/door/airlock))
+ attached_airlock = shell
+ RegisterSignal(shell, COMSIG_AIRLOCK_SET_BOLT, .proc/on_airlock_set_bolted)
+ RegisterSignal(shell, COMSIG_AIRLOCK_OPEN, .proc/on_airlock_open)
+ RegisterSignal(shell, COMSIG_AIRLOCK_CLOSE, .proc/on_airlock_closed)
+
+/obj/item/circuit_component/airlock/unregister_shell(atom/movable/shell)
+ attached_airlock = null
+ UnregisterSignal(shell, list(
+ COMSIG_AIRLOCK_SET_BOLT,
+ COMSIG_AIRLOCK_OPEN,
+ COMSIG_AIRLOCK_CLOSE,
+ ))
+ return ..()
+
+/obj/item/circuit_component/airlock/proc/on_airlock_set_bolted(datum/source, should_bolt)
+ SIGNAL_HANDLER
+ is_bolted.set_output(should_bolt)
+ if(should_bolt)
+ bolted.set_output(COMPONENT_SIGNAL)
+ else
+ unbolted.set_output(COMPONENT_SIGNAL)
+
+/obj/item/circuit_component/airlock/proc/on_airlock_open(datum/source, force)
+ SIGNAL_HANDLER
+ is_open.set_output(TRUE)
+ opened.set_output(COMPONENT_SIGNAL)
+
+/obj/item/circuit_component/airlock/proc/on_airlock_closed(datum/source, forced)
+ SIGNAL_HANDLER
+ is_open.set_output(FALSE)
+ closed.set_output(COMPONENT_SIGNAL)
+
+/obj/item/circuit_component/airlock/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(!attached_airlock)
+ return
+
+ if(COMPONENT_TRIGGERED_BY(bolt, port))
+ attached_airlock.bolt()
+ if(COMPONENT_TRIGGERED_BY(unbolt, port))
+ attached_airlock.unbolt()
+ if(COMPONENT_TRIGGERED_BY(open, port) && attached_airlock.density)
+ INVOKE_ASYNC(attached_airlock, /obj/machinery/door/airlock.proc/open)
+ if(COMPONENT_TRIGGERED_BY(close, port) && !attached_airlock.density)
+ INVOKE_ASYNC(attached_airlock, /obj/machinery/door/airlock.proc/close)
diff --git a/code/modules/wiremod/shell/bot.dm b/code/modules/wiremod/shell/bot.dm
new file mode 100644
index 0000000000..f3c9fcae8d
--- /dev/null
+++ b/code/modules/wiremod/shell/bot.dm
@@ -0,0 +1,55 @@
+/**
+ * # Bot
+ *
+ * Immobile (but not dense) shells that can interact with world.
+ */
+/obj/structure/bot
+ name = "bot"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_medium_box"
+
+ density = FALSE
+ light_system = MOVABLE_LIGHT
+ light_on = FALSE
+
+/obj/structure/bot/Initialize()
+ . = ..()
+ AddComponent( \
+ /datum/component/shell, \
+ unremovable_circuit_components = list(new /obj/item/circuit_component/bot), \
+ capacity = SHELL_CAPACITY_LARGE, \
+ shell_flags = SHELL_FLAG_USB_PORT, \
+ )
+
+/obj/item/circuit_component/bot
+ display_name = "Bot"
+ desc = "Triggers when someone interacts with the bot."
+
+ /// Called when attack_hand is called on the shell.
+ var/datum/port/output/signal
+ /// The user who used the bot
+ var/datum/port/output/entity
+
+/obj/item/circuit_component/bot/Initialize()
+ . = ..()
+ entity = add_output_port("User", PORT_TYPE_ATOM)
+ signal = add_output_port("Signal", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/bot/Destroy()
+ signal = null
+ entity = null
+ return ..()
+
+/obj/item/circuit_component/bot/register_shell(atom/movable/shell)
+ RegisterSignal(shell, COMSIG_ATOM_ATTACK_HAND, .proc/on_attack_hand)
+
+/obj/item/circuit_component/bot/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, COMSIG_ATOM_ATTACK_HAND)
+
+/obj/item/circuit_component/bot/proc/on_attack_hand(atom/source, mob/user)
+ SIGNAL_HANDLER
+ source.balloon_alert(user, "pushed button")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ entity.set_output(user)
+ signal.set_output(COMPONENT_SIGNAL)
+
diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm
new file mode 100644
index 0000000000..d288edbc2d
--- /dev/null
+++ b/code/modules/wiremod/shell/brain_computer_interface.dm
@@ -0,0 +1,553 @@
+/obj/item/organ/cyberimp/bci
+ name = "brain-computer interface"
+ desc = "An implant that can be placed in a user's head to control circuits using their brain."
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "bci"
+ zone = BODY_ZONE_HEAD
+ w_class = WEIGHT_CLASS_TINY
+
+/obj/item/organ/cyberimp/bci/Initialize()
+ . = ..()
+
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/bci_core,
+ new /obj/item/circuit_component/bci_action(null, "One"),
+ new /obj/item/circuit_component/bci_action(null, "Two"),
+ new /obj/item/circuit_component/bci_action(null, "Three"),
+ ), SHELL_CAPACITY_SMALL)
+
+/obj/item/organ/cyberimp/bci/Insert(mob/living/carbon/reciever, special, drop_if_replaced)
+ . = ..()
+
+ // Organs are put in nullspace, but this breaks circuit interactions
+ forceMove(reciever)
+
+/obj/item/organ/cyberimp/bci/say(message, bubble_type, list/spans, sanitize, datum/language/language, ignore_spam, forced)
+ if (owner)
+ // Otherwise say_dead will be called.
+ // It's intentional that a circuit for a dead person does not speak from the shell.
+ if (owner.stat == DEAD)
+ return
+
+ owner.say(message, forced = "circuit speech")
+ else
+ return ..()
+
+/obj/item/circuit_component/bci_action
+ display_name = "BCI Action"
+ desc = "Represents an action the user can take when implanted with the brain-computer interface."
+ required_shells = list(/obj/item/organ/cyberimp/bci)
+
+ /// The icon of the button
+ var/datum/port/input/option/icon_options
+
+ /// The name to use for the button
+ var/datum/port/input/button_name
+
+ /// Called when the user presses the button
+ var/datum/port/output/signal
+
+ /// A reference to the action button itself
+ var/datum/action/innate/bci_action/bci_action
+
+/obj/item/circuit_component/bci_action/Initialize(mapload, default_icon)
+ . = ..()
+
+ if (!isnull(default_icon))
+ icon_options.set_input(default_icon)
+
+ button_name = add_input_port("Name", PORT_TYPE_STRING)
+
+ signal = add_output_port("Signal", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/bci_action/Destroy()
+ QDEL_NULL(bci_action)
+ return ..()
+
+/obj/item/circuit_component/bci_action/populate_options()
+ var/static/action_options = list(
+ "Blank",
+
+ "One",
+ "Two",
+ "Three",
+ "Four",
+ "Five",
+
+ "Blood",
+ "Bomb",
+ "Brain",
+ "Brain Damage",
+ "Cross",
+ "Electricity",
+ "Exclamation",
+ "Heart",
+ "Id",
+ "Info",
+ "Injection",
+ "Magnetism",
+ "Minus",
+ "Network",
+ "Plus",
+ "Power",
+ "Question",
+ "Radioactive",
+ "Reaction",
+ "Repair",
+ "Say",
+ "Scan",
+ "Shield",
+ "Skull",
+ "Sleep",
+ "Wireless",
+ )
+
+ icon_options = add_option_port("Icon", action_options)
+
+/obj/item/circuit_component/bci_action/register_shell(atom/movable/shell)
+ var/obj/item/organ/cyberimp/bci/bci = shell
+
+ bci_action = new(src)
+ update_action()
+
+ bci.actions += list(bci_action)
+
+/obj/item/circuit_component/bci_action/unregister_shell(atom/movable/shell)
+ var/obj/item/organ/cyberimp/bci/bci = shell
+
+ bci.actions -= bci_action
+ QDEL_NULL(bci_action)
+
+/obj/item/circuit_component/bci_action/input_received(datum/port/input/port)
+ . = ..()
+
+ if (.)
+ return
+
+ if (!isnull(bci_action))
+ update_action()
+
+/obj/item/circuit_component/bci_action/proc/update_action()
+ bci_action.name = button_name.value
+ bci_action.button_icon_state = "bci_[replacetextEx(lowertext(icon_options.value), " ", "_")]"
+
+/datum/action/innate/bci_action
+ name = "Action"
+ icon_icon = 'icons/mob/actions/actions_items.dmi'
+ check_flags = AB_CHECK_CONSCIOUS
+ button_icon_state = "bci_power"
+
+ var/obj/item/circuit_component/bci_action/circuit_component
+
+/datum/action/innate/bci_action/New(obj/item/circuit_component/bci_action/circuit_component)
+ ..()
+
+ src.circuit_component = circuit_component
+
+/datum/action/innate/bci_action/Destroy()
+ circuit_component.bci_action = null
+ circuit_component = null
+
+ return ..()
+
+/datum/action/innate/bci_action/Activate()
+ circuit_component.signal.set_output(COMPONENT_SIGNAL)
+
+/obj/item/circuit_component/bci_core
+ display_name = "BCI Core"
+ desc = "Controls the core operations of the BCI."
+
+ /// A reference to the action button to look at charge/get info
+ var/datum/action/innate/bci_charge_action/charge_action
+
+ var/datum/port/input/message
+ var/datum/port/input/send_message_signal
+
+ var/datum/port/output/user_port
+
+ var/datum/weakref/user
+
+/obj/item/circuit_component/bci_core/Initialize()
+ . = ..()
+
+ message = add_input_port("Message", PORT_TYPE_STRING)
+ send_message_signal = add_input_port("Send Message", PORT_TYPE_SIGNAL)
+
+ user_port = add_output_port("User", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/bci_core/Destroy()
+ QDEL_NULL(charge_action)
+ return ..()
+
+/obj/item/circuit_component/bci_core/register_shell(atom/movable/shell)
+ var/obj/item/organ/cyberimp/bci/bci = shell
+
+ charge_action = new(src)
+ bci.actions += list(charge_action)
+
+ RegisterSignal(shell, COMSIG_ORGAN_IMPLANTED, .proc/on_organ_implanted)
+ RegisterSignal(shell, COMSIG_ORGAN_REMOVED, .proc/on_organ_removed)
+
+/obj/item/circuit_component/bci_core/unregister_shell(atom/movable/shell)
+ var/obj/item/organ/cyberimp/bci/bci = shell
+
+ bci.actions -= charge_action
+ QDEL_NULL(charge_action)
+
+ UnregisterSignal(shell, list(
+ COMSIG_ORGAN_IMPLANTED,
+ COMSIG_ORGAN_REMOVED,
+ ))
+
+/obj/item/circuit_component/bci_core/input_received(datum/port/input/port)
+ . = ..()
+ if (.)
+ return .
+
+ if (COMPONENT_TRIGGERED_BY(send_message_signal, port))
+ var/sent_message = trim(message.value)
+ if (!sent_message)
+ return
+
+ var/mob/living/carbon/resolved_owner = user?.resolve()
+ if (isnull(resolved_owner))
+ return
+
+ if (resolved_owner.stat == DEAD)
+ return
+
+ to_chat(resolved_owner, "You hear a strange, robotic voice in your head... \"[span_robot("[html_encode(sent_message)]")]\"")
+
+/obj/item/circuit_component/bci_core/proc/on_organ_implanted(datum/source, mob/living/carbon/owner)
+ SIGNAL_HANDLER
+
+ user_port.set_output(owner)
+ user = WEAKREF(owner)
+
+ RegisterSignal(owner, COMSIG_PARENT_EXAMINE, .proc/on_examine)
+ RegisterSignal(owner, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/on_borg_charge)
+ RegisterSignal(owner, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_electrocute)
+
+/obj/item/circuit_component/bci_core/proc/on_organ_removed(datum/source, mob/living/carbon/owner)
+ SIGNAL_HANDLER
+
+ user_port.set_output(null)
+ user = null
+
+ UnregisterSignal(owner, list(
+ COMSIG_PARENT_EXAMINE,
+ COMSIG_PROCESS_BORGCHARGER_OCCUPANT,
+ COMSIG_LIVING_ELECTROCUTE_ACT,
+ ))
+
+/obj/item/circuit_component/bci_core/proc/on_borg_charge(datum/source, amount)
+ SIGNAL_HANDLER
+
+ if (isnull(parent.cell))
+ return
+
+ parent.cell.give(amount)
+
+/obj/item/circuit_component/bci_core/proc/on_electrocute(datum/source, shock_damage, siemens_coefficient, flags)
+ SIGNAL_HANDLER
+
+ if (isnull(parent.cell))
+ return
+
+ if (flags & SHOCK_ILLUSION)
+ return
+
+ parent.cell.give(shock_damage * 2)
+ to_chat(source, span_notice("You absorb some of the shock into your [parent.name]!"))
+
+/obj/item/circuit_component/bci_core/proc/on_examine(datum/source, mob/mob, list/examine_text)
+ SIGNAL_HANDLER
+
+ if (isobserver(mob))
+ examine_text += span_notice("[source.p_they(capitalized = TRUE)] [source.p_have()] \a [parent] implanted in [source.p_them()].")
+
+/obj/item/circuit_component/bci_core/Topic(href, list/href_list)
+ ..()
+
+ if (!isobserver(usr))
+ return
+
+ if (href_list["open_bci"])
+ parent.attack_ghost(usr)
+
+/datum/action/innate/bci_charge_action
+ name = "Check BCI Charge"
+ check_flags = NONE
+ icon_icon = 'icons/obj/power.dmi'
+ button_icon_state = "cell"
+
+ var/obj/item/circuit_component/bci_core/circuit_component
+
+/datum/action/innate/bci_charge_action/New(obj/item/circuit_component/bci_core/circuit_component)
+ ..()
+
+ src.circuit_component = circuit_component
+
+ button.maptext_x = 2
+ button.maptext_y = 0
+ update_maptext()
+
+ START_PROCESSING(SSobj, src)
+
+/datum/action/innate/bci_charge_action/Destroy()
+ circuit_component.charge_action = null
+ circuit_component = null
+
+ STOP_PROCESSING(SSobj, src)
+
+ return ..()
+
+/datum/action/innate/bci_charge_action/Trigger()
+ var/obj/item/stock_parts/cell/cell = circuit_component.parent.cell
+
+ if (isnull(cell))
+ to_chat(owner, span_boldwarning("[circuit_component.parent] has no power cell."))
+ else
+ to_chat(owner, span_info("[circuit_component.parent]'s [cell.name] has [cell.percent()]% charge left."))
+ to_chat(owner, span_info("You can recharge it by using a cyborg recharging station."))
+
+/datum/action/innate/bci_charge_action/process(delta_time)
+ update_maptext()
+
+/datum/action/innate/bci_charge_action/proc/update_maptext()
+ var/obj/item/stock_parts/cell/cell = circuit_component.parent.cell
+ button.maptext = cell ? MAPTEXT("[cell.percent()]%") : ""
+
+/obj/machinery/bci_implanter
+ name = "brain-computer interface manipulation chamber"
+ desc = "A machine that, when given a brain-computer interface, will implant it into an occupant. Otherwise, will remove any brain-computer interfaces they already have."
+ circuit = /obj/item/circuitboard/machine/bci_implanter
+ icon = 'icons/obj/machines/bci_implanter.dmi'
+ icon_state = "bci_implanter"
+ base_icon_state = "bci_implanter"
+ layer = ABOVE_WINDOW_LAYER
+ use_power = IDLE_POWER_USE
+ anchored = TRUE
+ density = TRUE
+ obj_flags = NO_BUILD // Becomes undense when the door is open
+ idle_power_usage = 50
+ active_power_usage = 300
+
+ var/busy = FALSE
+ var/busy_icon_state
+ var/locked = FALSE
+
+ var/datum/weakref/bci_to_implant
+
+ COOLDOWN_DECLARE(message_cooldown)
+
+/obj/machinery/bci_implanter/Initialize()
+ . = ..()
+ occupant_typecache = typecacheof(/mob/living/carbon)
+
+/obj/machinery/bci_implanter/Destroy()
+ QDEL_NULL(bci_to_implant)
+ return ..()
+
+/obj/machinery/bci_implanter/examine(mob/user)
+ . = ..()
+
+ if (isnull(bci_to_implant?.resolve()))
+ . += span_notice("There is no BCI inserted.")
+ else
+ . += span_notice("Right-click to remove current BCI.")
+
+/obj/machinery/bci_implanter/proc/set_busy(status, working_icon)
+ busy = status
+ busy_icon_state = working_icon
+ update_appearance()
+
+/obj/machinery/bci_implanter/update_icon_state()
+ if (occupant)
+ icon_state = busy ? busy_icon_state : "[base_icon_state]_occupied"
+ return ..()
+ icon_state = "[base_icon_state][state_open ? "_open" : null]"
+ return ..()
+
+/obj/machinery/bci_implanter/update_overlays()
+ var/list/overlays = ..()
+
+ if ((stat & MAINT) || panel_open)
+ overlays += "maint"
+ return overlays
+
+ if (stat & (NOPOWER|BROKEN))
+ return overlays
+
+ if (busy || locked)
+ overlays += "red"
+ if (locked)
+ overlays += "bolted"
+ return overlays
+
+ overlays += "green"
+
+ return overlays
+
+/obj/machinery/bci_implanter/attack_hand_secondary(mob/user, list/modifiers)
+ . = ..()
+ if (. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN)
+ return .
+
+ if(!user.Adjacent(src))
+ return
+
+ if (locked)
+ balloon_alert(user, "it's locked!")
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+ var/obj/item/organ/cyberimp/bci/bci_to_implant_resolved = bci_to_implant?.resolve()
+ if (isnull(bci_to_implant_resolved))
+ balloon_alert(user, "no bci inserted!")
+ else
+ user.put_in_hands(bci_to_implant_resolved)
+ balloon_alert(user, "ejected bci")
+
+ bci_to_implant = null
+
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+/obj/machinery/bci_implanter/attackby(obj/item/weapon, mob/user, params)
+ var/obj/item/organ/cyberimp/bci/new_bci = weapon
+ if (istype(new_bci))
+ if (!(locate(/obj/item/integrated_circuit) in new_bci))
+ balloon_alert(user, "bci has no circuit!")
+ return
+
+ var/obj/item/organ/cyberimp/bci/previous_bci_to_implant = bci_to_implant?.resolve()
+
+ bci_to_implant = WEAKREF(weapon)
+ weapon.forceMove(src)
+
+ if (isnull(previous_bci_to_implant))
+ balloon_alert(user, "inserted bci")
+ else
+ balloon_alert(user, "swapped bci")
+ user.put_in_hands(previous_bci_to_implant)
+
+ return
+
+ return ..()
+
+/obj/machinery/bci_implanter/attackby_secondary(obj/item/weapon, mob/user, params)
+ if (!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, weapon))
+ update_appearance()
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+ if (default_pry_open(weapon))
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+ if (default_deconstruction_crowbar(weapon))
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
+
+/obj/machinery/bci_implanter/proc/start_process()
+ if (stat & (NOPOWER|BROKEN))
+ return
+ if ((stat & MAINT) || panel_open)
+ return
+ if (!occupant || busy)
+ return
+
+ var/locked_state = locked
+ locked = TRUE
+
+ set_busy(TRUE, "[initial(icon_state)]_raising")
+ addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"), 1 SECONDS)
+ addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"), 2 SECONDS)
+ addtimer(CALLBACK(src, .proc/complete_process, locked_state), 3 SECONDS)
+
+/obj/machinery/bci_implanter/proc/complete_process(locked_state)
+ locked = locked_state
+ set_busy(FALSE)
+
+ var/mob/living/carbon/carbon_occupant = occupant
+ if (!istype(carbon_occupant))
+ return
+
+ playsound(loc, 'sound/machines/ping.ogg', 30, FALSE)
+
+ var/obj/item/organ/cyberimp/bci/bci_organ = carbon_occupant.getorgan(/obj/item/organ/cyberimp/bci)
+ var/obj/item/organ/cyberimp/bci/bci_to_implant_resolved = bci_to_implant?.resolve()
+
+ if (bci_organ)
+ bci_organ.Remove(carbon_occupant)
+
+ if (isnull(bci_to_implant_resolved))
+ say("Occupant's previous brain-computer interface has been transferred to internal storage unit.")
+ bci_organ.forceMove(src)
+ bci_to_implant = WEAKREF(bci_organ)
+ else
+ say("Occupant's previous brain-computer interface has been ejected.")
+ bci_organ.forceMove(drop_location())
+ else if (!isnull(bci_to_implant_resolved))
+ say("Occupant has been injected with [bci_to_implant_resolved].")
+ bci_to_implant_resolved.Insert(carbon_occupant)
+ bci_to_implant = null
+
+/obj/machinery/bci_implanter/open_machine()
+ if(state_open)
+ return FALSE
+
+ ..()
+
+ return TRUE
+
+/obj/machinery/bci_implanter/close_machine(mob/living/carbon/user)
+ if(!state_open)
+ return FALSE
+
+ ..()
+
+ var/mob/living/carbon/carbon_occupant = occupant
+ if (istype(occupant))
+ var/obj/item/organ/cyberimp/bci/existing_bci_organ = carbon_occupant.getorgan(/obj/item/organ/cyberimp/bci)
+ if (isnull(existing_bci_organ) && isnull(bci_to_implant?.resolve()))
+ say("No brain-computer interface inserted, and occupant does not have one. Insert a BCI to implant one.")
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE)
+ return FALSE
+
+ addtimer(CALLBACK(src, .proc/start_process), 1 SECONDS)
+ return TRUE
+
+/obj/machinery/bci_implanter/relaymove(mob/living/user, direction)
+ var/message
+
+ if (locked)
+ message = "it won't budge!"
+ else if (user.stat != CONSCIOUS)
+ message = "you don't have the energy!"
+
+ if (!isnull(message))
+ if (COOLDOWN_FINISHED(src, message_cooldown))
+ COOLDOWN_START(src, message_cooldown, 5 SECONDS)
+ balloon_alert(user, message)
+
+ return
+
+ open_machine()
+
+/obj/machinery/bci_implanter/interact(mob/user)
+ if (state_open)
+ close_machine(null, user)
+ return
+ else if (locked)
+ balloon_alert(user, "it's locked!")
+ return
+
+ open_machine()
+
+/obj/item/circuitboard/machine/bci_implanter
+ name = "Brain-Computer Interface Manipulation Chamber (Machine Board)"
+ greyscale_colors = CIRCUIT_COLOR_SCIENCE
+ build_path = /obj/machinery/bci_implanter
+ req_components = list(
+ /obj/item/stock_parts/micro_laser = 2,
+ /obj/item/stock_parts/manipulator = 1,
+ )
diff --git a/code/modules/wiremod/shell/compact_remote.dm b/code/modules/wiremod/shell/compact_remote.dm
new file mode 100644
index 0000000000..d5fe33e285
--- /dev/null
+++ b/code/modules/wiremod/shell/compact_remote.dm
@@ -0,0 +1,51 @@
+/**
+ * # Compact Remote
+ *
+ * A handheld device with one big button.
+ */
+/obj/item/compact_remote
+ name = "compact remote"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_small_simple"
+ inhand_icon_state = "electronic"
+ worn_icon_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_on = FALSE
+
+/obj/item/compact_remote/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/compact_remote()
+ ), SHELL_CAPACITY_SMALL)
+
+/obj/item/circuit_component/compact_remote
+ display_name = "Compact Remote"
+ desc = "Used to receive inputs from the compact remote shell. Use the shell in hand to trigger the output signal."
+
+ /// Called when attack_self is called on the shell.
+ var/datum/port/output/signal
+ /// The user who used the bot
+ var/datum/port/output/entity
+
+/obj/item/circuit_component/compact_remote/Initialize()
+ . = ..()
+ entity = add_output_port("User", PORT_TYPE_ATOM)
+ signal = add_output_port("Signal", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/compact_remote/register_shell(atom/movable/shell)
+ RegisterSignal(shell, COMSIG_ITEM_ATTACK_SELF, .proc/send_trigger)
+
+/obj/item/circuit_component/compact_remote/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, COMSIG_ITEM_ATTACK_SELF)
+
+/**
+ * Called when the shell item is used in hand.
+ */
+/obj/item/circuit_component/compact_remote/proc/send_trigger(atom/source, mob/user)
+ SIGNAL_HANDLER
+ source.balloon_alert(user, "clicked primary button")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ entity.set_output(user)
+ signal.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/shell/controller.dm b/code/modules/wiremod/shell/controller.dm
new file mode 100644
index 0000000000..d3af0ca88e
--- /dev/null
+++ b/code/modules/wiremod/shell/controller.dm
@@ -0,0 +1,89 @@
+/**
+ * # Compact Remote
+ *
+ * A handheld device with several buttons.
+ * In game, this translates to having different signals for normal usage, alt-clicking, and ctrl-clicking when in your hand.
+ */
+/obj/item/controller
+ name = "controller"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_small_calc"
+ inhand_icon_state = "electronic"
+ worn_icon_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_on = FALSE
+
+/obj/item/controller/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/controller()
+ ), SHELL_CAPACITY_MEDIUM)
+
+/obj/item/circuit_component/controller
+ display_name = "Controller"
+ desc = "Used to receive inputs from the controller shell. Use the shell in hand to trigger the output signal. Alt-click for the alternate signal. Right click for the extra signal."
+
+ /// The three separate buttons that are called in attack_hand on the shell.
+ var/datum/port/output/signal
+ var/datum/port/output/alt
+ var/datum/port/output/right
+
+ /// The entity output
+ var/datum/port/output/entity
+
+/obj/item/circuit_component/controller/Initialize()
+ . = ..()
+ entity = add_output_port("User", PORT_TYPE_ATOM)
+ signal = add_output_port("Signal", PORT_TYPE_SIGNAL)
+ alt = add_output_port("Alternate Signal", PORT_TYPE_SIGNAL)
+ right = add_output_port("Extra Signal", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/controller/register_shell(atom/movable/shell)
+ RegisterSignal(shell, COMSIG_ITEM_ATTACK_SELF, .proc/send_trigger)
+ RegisterSignal(shell, COMSIG_CLICK_ALT, .proc/send_alternate_signal)
+ RegisterSignal(shell, COMSIG_ITEM_ATTACK_SELF_SECONDARY, .proc/send_right_signal)
+
+/obj/item/circuit_component/controller/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, list(
+ COMSIG_ITEM_ATTACK_SELF,
+ COMSIG_ITEM_ATTACK_SELF_SECONDARY,
+ COMSIG_CLICK_ALT,
+ ))
+
+/**
+ * Called when the shell item is used in hand
+ */
+/obj/item/circuit_component/controller/proc/send_trigger(atom/source, mob/user)
+ SIGNAL_HANDLER
+ if(!user.Adjacent(source))
+ return
+ source.balloon_alert(user, "clicked primary button")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ entity.set_output(user)
+ signal.set_output(COMPONENT_SIGNAL)
+
+/**
+ * Called when the shell item is alt-clicked
+ */
+/obj/item/circuit_component/controller/proc/send_alternate_signal(atom/source, mob/user)
+ SIGNAL_HANDLER
+ if(!user.Adjacent(source))
+ return
+ source.balloon_alert(user, "clicked alternate button")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ entity.set_output(user)
+ alt.set_output(COMPONENT_SIGNAL)
+
+/**
+ * Called when the shell item is right-clicked in active hand
+ */
+/obj/item/circuit_component/controller/proc/send_right_signal(atom/source, mob/user)
+ SIGNAL_HANDLER
+ if(!user.Adjacent(source))
+ return
+ source.balloon_alert(user, "clicked extra button")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ entity.set_output(user)
+ right.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm
new file mode 100644
index 0000000000..d091f20b65
--- /dev/null
+++ b/code/modules/wiremod/shell/drone.dm
@@ -0,0 +1,82 @@
+/**
+ * # Drone
+ *
+ * A movable mob that can be fed inputs on which direction to travel.
+ */
+/mob/living/circuit_drone
+ name = "drone"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_medium_med"
+ living_flags = 0
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_on = FALSE
+
+/mob/living/circuit_drone/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/bot_circuit()
+ ), SHELL_CAPACITY_LARGE)
+
+/mob/living/circuit_drone/updatehealth()
+ . = ..()
+ if(health < 0)
+ gib(no_brain = TRUE, no_organs = TRUE, no_bodyparts = TRUE)
+
+/mob/living/circuit_drone/spawn_gibs()
+ new /obj/effect/gibspawner/robot(drop_location(), src, get_static_viruses())
+
+/obj/item/circuit_component/bot_circuit
+ display_name = "Drone"
+ desc = "Used to send movement output signals to the drone shell."
+
+ /// The inputs to allow for the drone to move
+ var/datum/port/input/north
+ var/datum/port/input/east
+ var/datum/port/input/south
+ var/datum/port/input/west
+
+ // Done like this so that travelling diagonally is more simple
+ COOLDOWN_DECLARE(north_delay)
+ COOLDOWN_DECLARE(east_delay)
+ COOLDOWN_DECLARE(south_delay)
+ COOLDOWN_DECLARE(west_delay)
+
+ /// Delay between each movement
+ var/move_delay = 0.2 SECONDS
+
+/obj/item/circuit_component/bot_circuit/Initialize()
+ . = ..()
+ north = add_input_port("Move North", PORT_TYPE_SIGNAL)
+ east = add_input_port("Move East", PORT_TYPE_SIGNAL)
+ south = add_input_port("Move South", PORT_TYPE_SIGNAL)
+ west = add_input_port("Move West", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/bot_circuit/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ var/mob/living/shell = parent.shell
+ if(!istype(shell) || shell.stat)
+ return
+
+ var/direction
+
+ if(COMPONENT_TRIGGERED_BY(north, port) && COOLDOWN_FINISHED(src, north_delay))
+ direction = NORTH
+ COOLDOWN_START(src, north_delay, move_delay)
+ else if(COMPONENT_TRIGGERED_BY(east, port) && COOLDOWN_FINISHED(src, east_delay))
+ direction = EAST
+ COOLDOWN_START(src, east_delay, move_delay)
+ else if(COMPONENT_TRIGGERED_BY(south, port) && COOLDOWN_FINISHED(src, south_delay))
+ direction = SOUTH
+ COOLDOWN_START(src, south_delay, move_delay)
+ else if(COMPONENT_TRIGGERED_BY(west, port) && COOLDOWN_FINISHED(src, west_delay))
+ direction = WEST
+ COOLDOWN_START(src, west_delay, move_delay)
+
+ if(!direction)
+ return
+
+ if(shell.Process_Spacemove(direction))
+ shell.Move(get_step(shell, direction), direction)
diff --git a/code/modules/wiremod/shell/moneybot.dm b/code/modules/wiremod/shell/moneybot.dm
new file mode 100644
index 0000000000..fe3cd30733
--- /dev/null
+++ b/code/modules/wiremod/shell/moneybot.dm
@@ -0,0 +1,140 @@
+/**
+ * # Money Bot
+ *
+ * Immobile (but not dense) shell that can receive and dispense money.
+ */
+/obj/structure/money_bot
+ name = "money bot"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_large"
+
+ density = FALSE
+ light_system = MOVABLE_LIGHT
+ light_on = FALSE
+
+ var/stored_money = 0
+
+/obj/structure/money_bot/deconstruct(disassembled)
+ new /obj/item/holochip(drop_location(), stored_money)
+ return ..()
+
+/obj/structure/money_bot/proc/add_money(to_add)
+ stored_money += to_add
+ SEND_SIGNAL(src, COMSIG_MONEYBOT_ADD_MONEY, to_add)
+
+/obj/structure/money_bot/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/money_bot(),
+ new /obj/item/circuit_component/money_dispenser()
+ ), SHELL_CAPACITY_LARGE)
+
+/obj/structure/money_bot/wrench_act(mob/living/user, obj/item/tool)
+ set_anchored(!anchored)
+ tool.play_tool_sound(src)
+ balloon_alert(user, "You [anchored?"secure":"unsecure"] [src].")
+ return TRUE
+
+
+/obj/item/circuit_component/money_dispenser
+ display_name = "Money Dispenser"
+ desc = "Used to dispense money from the money bot. Money is taken from the internal storage of money."
+ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ /// The amount of money to dispense
+ var/datum/port/input/dispense_amount
+
+ /// Outputs a signal when it fails to output any money.
+ var/datum/port/output/on_fail
+
+ var/obj/structure/money_bot/attached_bot
+
+/obj/item/circuit_component/money_dispenser/Initialize()
+ . = ..()
+ dispense_amount = add_input_port("Amount", PORT_TYPE_NUMBER)
+ on_fail = add_output_port("On Failed", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/money_dispenser/register_shell(atom/movable/shell)
+ . = ..()
+ if(istype(shell, /obj/structure/money_bot))
+ attached_bot = shell
+
+/obj/item/circuit_component/money_dispenser/unregister_shell(atom/movable/shell)
+ attached_bot = null
+ return ..()
+
+/obj/item/circuit_component/money_dispenser/input_received(datum/port/input/port)
+ . = ..()
+ if(.)
+ return
+
+ if(!attached_bot)
+ return
+
+ var/to_dispense = clamp(dispense_amount.value, 0, attached_bot.stored_money)
+ if(!to_dispense)
+ on_fail.set_output(COMPONENT_SIGNAL)
+ return
+
+ attached_bot.add_money(-to_dispense)
+ new /obj/item/holochip(drop_location(), to_dispense)
+
+/obj/item/circuit_component/money_bot
+ display_name = "Money Bot"
+ var/obj/structure/money_bot/attached_bot
+ desc = "Used to receive input signals when money is inserted into the money bot shell and also keep track of the total money in the shell."
+
+ /// Total money in the shell
+ var/datum/port/output/total_money
+ /// Amount of the last money inputted into the shell
+ var/datum/port/output/money_input
+ /// Trigger for when money is inputted into the shell
+ var/datum/port/output/money_trigger
+ /// The person who input the money
+ var/datum/port/output/entity
+
+/obj/item/circuit_component/money_bot/Initialize()
+ . = ..()
+ total_money = add_output_port("Total Money", PORT_TYPE_NUMBER)
+ money_input = add_output_port("Last Input Money", PORT_TYPE_NUMBER)
+ entity = add_output_port("User", PORT_TYPE_ATOM)
+ money_trigger = add_output_port("Money Input", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/money_bot/register_shell(atom/movable/shell)
+ . = ..()
+ if(istype(shell, /obj/structure/money_bot))
+ attached_bot = shell
+ total_money.set_output(attached_bot.stored_money)
+ RegisterSignal(shell, COMSIG_PARENT_ATTACKBY, .proc/handle_money_insert)
+ RegisterSignal(shell, COMSIG_MONEYBOT_ADD_MONEY, .proc/handle_money_update)
+
+/obj/item/circuit_component/money_bot/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, list(
+ COMSIG_PARENT_ATTACKBY,
+ COMSIG_MONEYBOT_ADD_MONEY,
+ ))
+ total_money.set_output(null)
+ attached_bot = null
+ return ..()
+
+/obj/item/circuit_component/money_bot/proc/handle_money_insert(atom/source, obj/item/item, mob/living/attacker)
+ SIGNAL_HANDLER
+ if(!attached_bot || !iscash(item))
+ return
+
+ var/amount_to_insert = item.get_item_credit_value()
+ if(!amount_to_insert)
+ balloon_alert(attacker, "this has no value!")
+ return
+
+ attached_bot.add_money(amount_to_insert)
+ balloon_alert(attacker, "inserted [amount_to_insert] credits.")
+ money_input.set_output(amount_to_insert)
+ entity.set_output(attacker)
+ money_trigger.set_output(COMPONENT_SIGNAL)
+ qdel(item)
+
+/obj/item/circuit_component/money_bot/proc/handle_money_update(atom/source)
+ SIGNAL_HANDLER
+ if(attached_bot)
+ total_money.set_output(attached_bot.stored_money)
diff --git a/code/modules/wiremod/shell/scanner.dm b/code/modules/wiremod/shell/scanner.dm
new file mode 100644
index 0000000000..fd46910914
--- /dev/null
+++ b/code/modules/wiremod/shell/scanner.dm
@@ -0,0 +1,62 @@
+/**
+ * # Scanner
+ *
+ * A handheld device that lets you flash it over people.
+ */
+/obj/item/wiremod_scanner
+ name = "scanner"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_small"
+ inhand_icon_state = "electronic"
+ worn_icon_state = "electronic"
+ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
+ light_system = MOVABLE_LIGHT_DIRECTIONAL
+ light_on = FALSE
+
+/obj/item/wiremod_scanner/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/wiremod_scanner()
+ ), SHELL_CAPACITY_SMALL)
+
+/obj/item/circuit_component/wiremod_scanner
+ display_name = "Scanner"
+ desc = "Used to receive scanned entities from the scanner."
+
+ /// Called when afterattack is called on the shell.
+ var/datum/port/output/signal
+
+ /// The attacker
+ var/datum/port/output/attacker
+
+ /// The entity being attacked
+ var/datum/port/output/attacking
+
+
+
+/obj/item/circuit_component/wiremod_scanner/Initialize()
+ . = ..()
+ attacker = add_output_port("Scanner", PORT_TYPE_ATOM)
+ attacking = add_output_port("Scanned Entity", PORT_TYPE_ATOM)
+ signal = add_output_port("Scanned", PORT_TYPE_SIGNAL)
+
+/obj/item/circuit_component/wiremod_scanner/register_shell(atom/movable/shell)
+ RegisterSignal(shell, COMSIG_ITEM_AFTERATTACK, .proc/handle_afterattack)
+
+/obj/item/circuit_component/wiremod_scanner/unregister_shell(atom/movable/shell)
+ UnregisterSignal(shell, COMSIG_ITEM_AFTERATTACK)
+
+/**
+ * Called when the shell item attacks something
+ */
+/obj/item/circuit_component/wiremod_scanner/proc/handle_afterattack(atom/source, atom/target, mob/user, proximity_flag)
+ SIGNAL_HANDLER
+ if(!proximity_flag)
+ return
+ source.balloon_alert(user, "scanned object")
+ playsound(source, get_sfx("terminal_type"), 25, FALSE)
+ attacker.set_output(user)
+ attacking.set_output(target)
+ signal.set_output(COMPONENT_SIGNAL)
+
diff --git a/code/modules/wiremod/shell/scanner_gate.dm b/code/modules/wiremod/shell/scanner_gate.dm
new file mode 100644
index 0000000000..312c690bd8
--- /dev/null
+++ b/code/modules/wiremod/shell/scanner_gate.dm
@@ -0,0 +1,66 @@
+/obj/structure/scanner_gate_shell
+ name = "circuit scanner gate"
+ desc = "A gate able to perform mid-depth scans on any organisms who pass under it."
+ icon = 'icons/obj/machines/scangate.dmi'
+ icon_state = "scangate_black"
+ var/scanline_timer
+
+/obj/structure/scanner_gate_shell/Initialize()
+ . = ..()
+ set_scanline("passive")
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = .proc/on_entered,
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+ AddComponent(/datum/component/shell, list(
+ new /obj/item/circuit_component/scanner_gate()
+ ), SHELL_CAPACITY_LARGE, SHELL_FLAG_REQUIRE_ANCHOR)
+
+/obj/structure/scanner_gate_shell/wrench_act(mob/living/user, obj/item/tool)
+ set_anchored(!anchored)
+ tool.play_tool_sound(src)
+ balloon_alert(user, "You [anchored?"secure":"unsecure"] [src].")
+ return TRUE
+
+/obj/structure/scanner_gate_shell/proc/on_entered(datum/source, atom/movable/AM)
+ SIGNAL_HANDLER
+ set_scanline("scanning", 10)
+ SEND_SIGNAL(src, COMSIG_SCANGATE_SHELL_PASS, AM)
+
+/obj/structure/scanner_gate_shell/proc/set_scanline(type, duration)
+ cut_overlays()
+ deltimer(scanline_timer)
+ add_overlay(type)
+ if(duration)
+ scanline_timer = addtimer(CALLBACK(src, .proc/set_scanline, "passive"), duration, TIMER_STOPPABLE)
+
+/obj/item/circuit_component/scanner_gate
+ display_name = "Scanner Gate"
+ desc = "A gate able to perform mid-depth scans on any object that pass through it."
+
+ circuit_flags = CIRCUIT_FLAG_OUTPUT_SIGNAL
+
+ var/datum/port/output/scanned
+
+ var/obj/structure/scanner_gate_shell/attached_gate
+
+/obj/item/circuit_component/scanner_gate/Initialize()
+ . = ..()
+ scanned = add_output_port("Scanned Object", PORT_TYPE_ATOM)
+
+/obj/item/circuit_component/scanner_gate/register_shell(atom/movable/shell)
+ . = ..()
+ if(istype(shell, /obj/structure/scanner_gate_shell))
+ attached_gate = shell
+ RegisterSignal(attached_gate, COMSIG_SCANGATE_SHELL_PASS, .proc/on_trigger)
+
+/obj/item/circuit_component/scanner_gate/unregister_shell(atom/movable/shell)
+ UnregisterSignal(attached_gate, COMSIG_SCANGATE_SHELL_PASS)
+ attached_gate = null
+ return ..()
+
+/obj/item/circuit_component/scanner_gate/proc/on_trigger(datum/source, atom/movable/passed)
+ SIGNAL_HANDLER
+ scanned.set_output(passed)
+ trigger_output.set_output(COMPONENT_SIGNAL)
diff --git a/code/modules/wiremod/shell/server.dm b/code/modules/wiremod/shell/server.dm
new file mode 100644
index 0000000000..5e5a44f897
--- /dev/null
+++ b/code/modules/wiremod/shell/server.dm
@@ -0,0 +1,24 @@
+/**
+ * # Server
+ *
+ * Immobile (but not dense) shells that can interact with
+ * world.
+ */
+/obj/structure/server
+ name = "server"
+ icon = 'icons/obj/wiremod.dmi'
+ icon_state = "setup_stationary"
+
+ density = TRUE
+ light_system = MOVABLE_LIGHT
+ light_on = FALSE
+
+/obj/structure/server/Initialize()
+ . = ..()
+ AddComponent(/datum/component/shell, null, SHELL_CAPACITY_VERY_LARGE, SHELL_FLAG_REQUIRE_ANCHOR|SHELL_FLAG_USB_PORT)
+
+/obj/structure/server/wrench_act(mob/living/user, obj/item/tool)
+ set_anchored(!anchored)
+ tool.play_tool_sound(src)
+ balloon_alert(user, "You [anchored?"secure":"unsecure"] [src].")
+ return TRUE
diff --git a/code/modules/wiremod/shell/shell_items.dm b/code/modules/wiremod/shell/shell_items.dm
new file mode 100644
index 0000000000..4e6673e7c8
--- /dev/null
+++ b/code/modules/wiremod/shell/shell_items.dm
@@ -0,0 +1,65 @@
+/**
+ * # Shell Item
+ *
+ * Printed out by protolathes. Screwdriver to complete the shell.
+ */
+/obj/item/shell
+ name = "assembly"
+ desc = "A shell assembly that can be completed by screwdrivering it."
+ icon = 'icons/obj/wiremod.dmi'
+ var/shell_to_spawn
+ var/screw_delay = 3 SECONDS
+
+/obj/item/shell/screwdriver_act(mob/living/user, obj/item/tool)
+ user.visible_message(span_notice("[user] begins finishing [src]."), span_notice("You begin finishing [src]."))
+ tool.play_tool_sound(src)
+ if(!do_after(user, screw_delay, src))
+ return
+ user.visible_message(span_notice("[user] finishes [src]."), span_notice("You finish [src]."))
+
+ var/turf/drop_loc = drop_location()
+
+ qdel(src)
+ if(drop_loc)
+ new shell_to_spawn(drop_loc)
+
+ return TRUE
+
+/obj/item/shell/bot
+ name = "bot assembly"
+ icon_state = "setup_medium_box-open"
+ shell_to_spawn = /obj/structure/bot
+
+/obj/item/shell/money_bot
+ name = "money bot assembly"
+ icon_state = "setup_large-open"
+ shell_to_spawn = /obj/structure/money_bot
+
+/obj/item/shell/drone
+ name = "drone assembly"
+ icon_state = "setup_medium_med-open"
+ shell_to_spawn = /mob/living/circuit_drone
+
+/obj/item/shell/server
+ name = "server assembly"
+ icon_state = "setup_stationary-open"
+ shell_to_spawn = /obj/structure/server
+ screw_delay = 10 SECONDS
+
+/obj/item/shell/airlock
+ name = "circuit airlock assembly"
+ icon = 'icons/obj/doors/airlocks/station/public.dmi'
+ icon_state = "construction"
+ shell_to_spawn = /obj/machinery/door/airlock/shell
+ screw_delay = 10 SECONDS
+
+/obj/item/shell/bci
+ name = "brain-computer interface assembly"
+ icon_state = "bci-open"
+ shell_to_spawn = /obj/item/organ/cyberimp/bci
+
+/obj/item/shell/scanner_gate
+ name = "scanner gate assembly"
+ icon = 'icons/obj/machines/scangate.dmi'
+ icon_state = "scangate_black_open"
+ shell_to_spawn = /obj/structure/scanner_gate_shell
diff --git a/config/dynamic.json b/config/dynamic.json
index bed7b4b387..b229658e3a 100644
--- a/config/dynamic.json
+++ b/config/dynamic.json
@@ -65,6 +65,10 @@
"Clock Cult": {
"weight": 3
+ },
+
+ "Families": {
+ "weight": 3
}
},
@@ -117,6 +121,10 @@
"weight": 4
},
+ "Family Head Aspirants": {
+ "weight": 3
+ },
+
"Spiders": {
"weight": 0
}
diff --git a/config/entries/general.txt b/config/entries/general.txt
index 5fc3512c60..7fef691006 100644
--- a/config/entries/general.txt
+++ b/config/entries/general.txt
@@ -503,3 +503,6 @@ PAI_CUSTOM_HOLOFORMS
## Enables monstermos/"equalization" step in atmos.
# ATMOS_EQUALIZATION_ENABLED
+
+## Do station renames from the station charter require admin approval to pass, as opposed to autoapproving if not denied.
+STATION_NAME_NEEDS_APPROVAL
diff --git a/config/entries/logging.txt b/config/entries/logging.txt
index 1690dbfacf..31692afccb 100644
--- a/config/entries/logging.txt
+++ b/config/entries/logging.txt
@@ -13,6 +13,9 @@ LOG_SAY
## log client access (logon/logoff)
LOG_ACCESS
+## Enables log entries for logins that failed due to suspicious circumstances (banned player, CID randomiser, spoofed BYOND version, etc.) to a dedicated file.
+LOG_SUSPICIOUS_LOGIN
+
## log game actions (start of round, results, etc.)
LOG_GAME
diff --git a/dependencies.sh b/dependencies.sh
index aca82a3a05..4474cc8736 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -21,7 +21,7 @@ export SPACEMAN_DMM_VERSION=suite-1.7
export PYTHON_VERSION=3.6.8
# Auxmos git tag
-export AUXMOS_VERSION=v0.2.3
+export AUXMOS_VERSION=v0.3.0
# Extools git tag
export EXTOOLS_VERSION=v0.0.7
diff --git a/html/88x31.png b/html/88x31.png
deleted file mode 100644
index 0f2a0f1072..0000000000
Binary files a/html/88x31.png and /dev/null differ
diff --git a/html/archivedchangelog.html b/html/archivedchangelog.html
deleted file mode 100644
index b586ae9d51..0000000000
--- a/html/archivedchangelog.html
+++ /dev/null
@@ -1,9051 +0,0 @@
-
-
01 April 2015
-
ACCount updated:
-
-
You can now replace test range firing pins with any other pin.
-
The plasma cutter is now a gun that comes in the mining vending machine. Use it to mine fast but expensively.
-
It's also cheaper in RnD, and there's an advanced version of it there too. Yay!
-
Ripleys and Firefighters have been buffed significantly. Go wild.
-
Precious mesons are cheaper in RnD.
-
Now you can mine bluespace crystals. They are extremely rare.
-
You can make remote bombs out of gibtonite. Figure out how.
-
Gibtonite is a bit less stable. Do not hit it with anything heavy.
-
-
Fayrik updated:
-
-
Added a bowman headset for death squads and ERTs.
-
Deathsquad radio channel is now called the Centcom radio channel.
-
Fixed the admin buttons not spawning ERT Medic gear properly.
-
Expanded Emergency Shuttle dock to allow for more round end griff.
-
All 7 ERT members now spawn geared, not just the first 4.
-
Spawning an ERT or Deathsquad no longer stops a second ERT or Deathsquad from being spawned.
-
Pulse rifles now have 80 shots, not 40.
-
Deathsquads now use loyalty pinned Pulse rifles.
-
-
Gun Hog updated:
-
-
NTSL has been updated! It can now read and modify verbs (says, yells, asks)! You can set your own using $say, $yell, $ask, and $exclaim variables in your scripts.
-
NTSL can now also modify the font, italics, and bolding of radio messages in four ways! In a script, place $loud, $wacky, $emphasis, and/or $robot in a vector to $filters.
-
-
Jordie0608 updated:
-
-
The admin's old player panel has been removed and the new one has taken it's name.
-
-
NikNakFlak updated:
-
-
Adds the ability to shave corgis.
-
-
Sawu updated:
-
-
Spraycans for Revheads: instant use crayons that can be used on walls.
-
Spraycans can be used as ghetto pepper spray and leave their target with colored faces that can be removed with space cleaner.
-
-
Xhuis updated:
-
-
Area ambience and ship ambience are now separate toggles. If you want one type of ambience but not the other, you only need to switch off the type you don't want.
-
Added cigar cases. They come in three flavors and can be bought from cigarette machines.
-
-
-
30 March 2015
-
AnturK updated:
-
-
Added new wizard spell : Lightning Bolt
-
-
Dannno updated:
-
-
Added a hammer and gavel. Court is now in session.
-
-
Iamgoofball updated:
-
-
You can now *flip.
-
Objects now spin when thrown. Please report any oddities.
-
-
RemieRichards updated:
-
-
Monkeys can now wear ANY mask, not just ones they had specific icons for.
-
Monkeys can now wear HATS, That's right, Monkey Hats!
-
-
Szunti updated:
-
-
Mining mobs vision adapted to darkness of the asteroids.
-
-
phil235 updated:
-
-
All slimes are now simple animals instead of carbon life forms.
-
Remove crit status from brain and slimes.
-
Simple animal aliens can now see in the dark like regular aliens.
-
-
pudl updated:
-
-
The detective's forensic scanner has been resprited.
-
So has the cargo tagger.
-
And the RPED.
-
-
tedward1337 updated:
-
-
Admins now have a button to use Bluespace Artillery at their will.
-
-
xxalpha updated:
-
-
You will no longer be slowed down by anything if you use a jetpack in zero gravity.
-
Engineering hardsuits come with an inbuilt jetpack. Requires an internals tank in suit storage and is slower than a normal jetpack.
-
-
-
25 March 2015
-
AnturK updated:
-
-
Added an arrow graffiti, made arrow and body graffiti face the same way as the user
-
New changeling ability : Last Resort : Explode and infect corpses if the situation looks grim
-
-
Fayrik updated:
-
-
Deleted the toy crossbow that wasn't a gun, but flung projectiles like a gun. Why was that even a thing?
-
Added an abstract new type of reusable ammo.
-
Added three new foam force guns and a foam force crossbow, all of which take the new foam dart ammo.
-
Added foam force dart boxes to the autolathe, and two crates orderable from cargo containing the new guns.
-
Added two new donksoft guns, the syndicate's own brand of Foam Force. Available in all good uplinks!
-
New crossbow can be won as an arcade prize.
-
All kinds of ammo containers can now be used to rapidly collect live ammunition on the ground.
-
Speedloaders and traditional ammo boxes can now be restocked.
-
Security bots now react to being shot.
-
-
MrPerson updated:
-
-
Added a preference toggle for hearing instruments play as suggested by PKPenguin321.
-
-
Pennwick updated:
-
-
Added a buildable Chem Master, board is in Circuit Imprinter.
-
-
Wjohnston updated:
-
-
Finally fixed the gulag shuttle missing a redemption console.
-
-
-
24 March 2015
-
Cheridan updated:
-
-
Adds pet collars. Use them to rename pets; Can also be worn if you're a weirdo.
-
Adds the matyr objective to be dead at the round's end. You can get this objective if you have no others that would need you to survive.
-
-
Dannno updated:
-
-
GAR glasses return. Yes, I got permission. Just who the hell do you think I am?
-
-
Incoming5643 updated:
-
-
Summon Events has been reworked to be a bit less manic.
-
Summon Events will turn off if the wizard and all apprentices die. Any lingering effects are not reversed however.
-
Improving Summon Events will reduce the average time between events, but not the minimum time between events.
-
Departmental Uprising has been made admin only for being an RP heavy event that creates antags in an enviroment that doesn't really support that.
-
-
Mandurrrh updated:
-
-
Added a cyborg upgrade module for the satchel of holding.
-
-
Miauw updated:
-
-
Added a fancy white dress and a jester outfit. Sprites by Nienhaus.
-
-
Steelpoint, RemieRichards, and Gun Hog updated:
-
-
Nanotrasen Security has authorized modifications to the standard issue helmets for officers. These helmets are now issued with a mounted camera, automatically synced to your assigned station's camera network. In addition, the helmets also include mounting points for the Seclite model of flashlights, found in your station's security vendors.
-
Nanotrasen Security helmets are designed for easy repairs in the field. Officers may remove their Seclite attachment with any screwdriver, and the camera's assembly may be pried off with a crowbar. The assembly is also compatible with analyzer upgrades for scanning through the station's structure, and EMP shielding is possible by applying a sheet of plasma.
-
-
-
22 March 2015
-
Iamgoofball updated:
-
-
Fixes Morphine not knocking you out.
-
Hotline no longer exists. Poppies now have Saline-Glucose Solution.
-
Muriatic Acid, Caustic Soda, and Hydrogen Chloride have been removed, along with the secondary meth recipe. The original recipe still works.
-
Foam now produces more bang for your buck when mixed. Your foam grenades should be larger now to account for the slowdown.
-
Adds Stabilizing Agent. This chemical will prevent the effects of certain reactions from taking place in the container it is in, such as Smoke Powder and Flash Powder, allowing you to get the raw forms of the powders for heating up later.
-
Smoke Powder and Flash Powder can now be mixed along with Stabilizing Agent in order to produce a powder version of the effects. You can then heat these powders to 374K to get the effects.
-
Mixing them without Stabilizing Agent gives the default effects.
-
Adds Sonic Powder, a chemical that deafens and stuns within 5 tiles of the reaction. It also follows the reaction rules of the other 2 powders.
-
Liquid Dark Matter and Sorium also now work like the powders do.
-
CLF3 now has a higher chance of making plating tiles, and the burn damage caused by it scales based on your fire stacks.
-
Adds Pyrosium. This reagent heats up mobs by 30 degrees every 3 seconds if it has oxygen to react with. Useful for when you want a delayed mix inside of someone.
-
Adds Cryostylane. This reagent does the opposite of Pyrosium, but it still requires oxygen to react with.
-
Adds Phlogiston. This reagent ignites you and gives you a single fire stack every 3 seconds. Burn damage from this chemical scales up with the fire stacks you have. Counter this with literally any chemical that purges other chems.
-
Smoke now transfers reagents to the mob, and applies touch reactions on them. This means smoke can run out of reagents, no more infinite acid smoke. It also only works on mobs, use the new Reagent Foam(tm) for your hellfoam needs. I suggest a CLF3 Fluoroacid Black Powder mix.
-
Added a derelict medibot to the code, will place a few on the derelict when this PR is merged as to prevent mapping conflicts.
-
Adds Initropidril. 33% chance to hit with 5-25 TOX damage every 3 seconds, and a 5-10% chance to either stun, cause lots of oxygen damage, or cause your heart to stop. Get it from the traitor Poison Kit.
-
Adds Pancuronium. Paralyses you after 30 seconds, with a 7% chance to cause 3-5 loss of breath. Get it from the traitor Poison Kit.
-
Adds Sodium Thiopental. Knocks you out after 30 seconds, and destroys your stamina. Get it from the traitor Poison Kit.
-
Adds Sulfonal. +1 TOX per 3 seconds, knocks you out in 66 seconds. Mix it with Acetone, Diethylamine, and Sulfur.
-
Adds Amantin. On the last second it is in you, it hits you with a stack of TOX damage based on how long it's been in you. Get it from the traitor Poison Kit.
-
Adds Lipolicide. +1 TOX unless you have nutriment in you. Mix it with Mercury, Diethylamine, and Ephedrine.
-
Adds Coiine. +2 TOX and +5 loss of breath every 3 seconds. Get it from the traitor Poison Kit.
-
Adds Curare. +1 TOX, +1 OXY, paralyzes after 33 seconds. Get it from the traitor Poison Kit.
-
Adds a reagent_deleted() proc to reagents for effects upon the last time it processes in you, like with Amantin.
-
Neurotoxin required temperature for mixing has been set to 674K, it was 370K for some reason.
-
-
xxalpha updated:
-
-
Added Cybernetic Implants: Security HUD, Medical HUD, X-Ray, Thermals, Anti-Drop, Anti-Stun. All implants are researchable and producible by R&D and Robotics.
-
-
-
21 March 2015
-
Chocobro updated:
-
-
Checkered skirts can be adjusted to be worn shorter.
-
-
Incoming5643 updated:
-
-
Player controller uplifted mobs will be attacked by gold core mobs of different species.
-
-
Jordie0608 updated:
-
-
The backup shuttle will no longer be called if the emergency shuttle is coming.
-
-
MMMiracles updated:
-
-
Adds 3 new bear-based foods.
-
Beary Pie -1 Plain Pie, 1 berry, 1 bear steak
-
Filet Migrawr - 5u of Manlydorf, 1 bear steak, 1 lighter(not used in crafting)
-
Bearger - 1 bun, 1 bear steak
-
-
Phil235 updated:
-
-
Silicons are no longer blinded by welding.
-
-
Xhuis updated:
-
-
A new software update has given the Orion Trail game a cheat code menu. While you can't access this normally (that's for a later software update), maybe an emag could do it...?
-
-
Zelacks updated:
-
-
The chemical implant action button should now correctly inject all chemicals when pressed.
-
-
pudl updated:
-
-
Adds normal security headsets to security lockers.
-
-
xxalpha updated:
-
-
Fixed cables on catwalks being destroyed when creating plating floor.
-
Portable machines can be mounted on any turf that could hold a cable.
-
-
-
19 March 2015
-
Dannno updated:
-
-
Adds a few cosmetic glasses to the autodrobe and clothing vendors.
-
-
Gun Hog updated:
-
-
Explosion relics will now destroy themselves in their own explosion.
-
The Experimentor can no longer re-roll the function of an already scanned relic.
-
-
Incoming5643 updated:
-
-
Ghosts are now asked if they want to become a sentient slime.
-
-
JJRcop updated:
-
-
Adds the :rollie: and :ambrosia: emojis.
-
-
MMMiracles updated:
-
-
ERT suits now use helmet toggling like hardsuits.
-
-
Menshin updated:
-
-
Fixed mechs ballistic guns not firing bullets.
-
-
Xhuis updated:
-
-
Allows alt-clicking to adjust breath masks, flip caps, and unlock/lock closets.
-
-
xxalpha updated:
-
-
Fixed jetpack trail animation.
-
-
-
17 March 2015
-
CandyClownTG updated:
-
-
Syndicate cigarettes' non-healing Doctor's Delight replaced with Omnizine.
-
-
Fayrik updated:
-
-
Expanded the Centcom area for better station-Centcom interaction.
-
-
Iamgoofball updated:
-
-
Acid blobs are less likely to melt equipment.
-
-
MMMiracles updated:
-
-
Adds the ability to spike bears on a meatspike for their pelt. Yields 5 meat instead of the usual 3 from a knife.
-
-
Thunder12345 updated:
-
-
Two new shotgun shells. Ion shell, shotgun version of ion rifle, built with 1 x techshell, 1 x ultra microlaser, 1 x ansible crystal.
-
Laser slug, regular laser shot in a shotgun shell, build with 1 x techshell, 1 x high power microlaser, 1 x advanced capacitor.
-
Improvised shotgun shells can now be constructed with 1 x grenade casing, 1 x metal sheet, 1 x cable, 10 units welding fuel. Can be packed with a further 5 units of gunpowder to turn it into a potentially lethal diceroll.
-
FRAG-12 shotgun shells are no longer duds, now explosive.
-
-
phil235 updated:
-
-
Makes the message when you're attacked slightly bigger for better visibility.
-
-
-
15 March 2015
-
Ahammer18 updated:
-
-
Adds ass photocopying for drones
-
-
Gun Hog updated:
-
-
Nanotrasen has approved distribution of Loyalty Implant Firing Pin designs. They can be fabricated with sufficient research into weapons technology. If inserted into a firearm, it will only fire upon successful interface with a user's Loyalty Implant.
-
-
Incoming5643 updated:
-
-
Utilizing a new magic mirror found in the den, wizards can now customize their appearance to a high degree before descending upon the station.
-
-
Miauw updated:
-
-
Firing delay for tasers has been shortened.
-
-
RemieRichards updated:
-
-
Beginning major rework and refactor of messy Ninja code.
-
Roleplay based, kill deathsquad and kill alien queen objectives removed.
-
Kamikaze mode removed.
-
AIs and pAIs can no longer be integrated into a ninja suit.
-
Energy blade power replaced by an energy katana that can be dropped but is more deadly.
-
Energy katana can emag any object it hits.
-
-
phil235 updated:
-
-
Bookbags have a new sprite and can hold bibles.
-
Adds egg yolk reagent. You can break eggs in open reagent containers or blend them to get egg yolk.
-
Changes how doughs are made. 10water+15flour chem reaction for dough. 15flour+15eggyolk+5sugar for cake batter (or alternatively soymilk instead of the eggyolk for vegans).
-
Change customizable snack max volume to 60 and buffs nutriment amount in doughs.
-
Doors can damage mechs by crushing them now.
-
The tablecrafting window now also shows partial recipes in grey, if there's some of the things required for the recipe on the table. Recipe requirements are now also shown next to the names of recipes listed in the window.
-
-
-
11 March 2015
-
MMMiracles updated:
-
-
Adds a new vending machine, the Liberation Station. Consult your local patriot for more details.
-
Adds a patriotic jumpsuit and freedom sheets. Consult your local patriot for more details.
-
-
Miauw updated:
-
-
Added a toggle for ghosts that allows them to hear radio chatter without having to hover near intercoms/over people with headsets.
-
-
-
10 March 2015
-
Ahammer18 updated:
-
-
Adds the Slimecake and Slimecake slice.
-
-
AnturK updated:
-
-
Non-player Alien Queens/Drones now spread weeds. Can also lay eggs when enabled.
-
-
Incoming5643 updated:
-
-
Nanotrasen scientists have recently reported mutations within the pink family line of slimes. Station scientists are encouraged to investigate.
-
-
Paprika updated:
-
-
Reworked reskinning and renaming guns, and added the ability to reskin the bartender's shotgun. Click it with an empty active hand to reskin. Warning, you can only do this once! Rename by hitting it with a pen. This also works with miner shotguns now.
-
-
RemieRichards updated:
-
-
Embedding from explosions has been tweaked, they will always throw objects fast enough to get embedded if they can.
-
Damage taken when embedded spears and throwing stars fall out has been increased.
-
Damage dealt by objects getting embedded has been decreased.
-
-
Sometinyprick updated:
-
-
The Horsemask spell has now been altered, instead of just a horse mask it will now choose between three animal masks including the horse mask.
-
-
Xhuis updated:
-
-
You can now burn papers using lighters, welders, or matches. Useful for secret messages.
-
-
phil235 updated:
-
-
Airlocks with their safety on no longer closes on dense objects (like mechs or tables).
-
Aliens, slimes, monkeys and ventcrawler mobs can now climb into disposal. Cyborgs and very large mobs can no longer climb into it.
-
Stuffing another mob in a disposal unit is now only done via grabbing.
-
Coffee now causes jittering only when you overdose on it.
-
Turrets now target occupied mechs and don't target drones.
-
-
-
08 March 2015
-
Dannno updated:
-
-
Added more barsigns, sprites by yours truly.
-
-
Ikarrus updated:
-
-
Gang mode has been reworked to functionality without some of it's features.
-
Gang membership visibility, conversion pens and weapons are removed until fixed.
-
Gang bosses have been given uplinks to use in the meantime.
-
Chance of deconversion from repeated head trauma has been increased.
-
-
Incoming5643 updated:
-
-
The skeleton and zombie hordes have been quelled, at least for the time being.
-
-
Mandurrrh updated:
-
-
Added the ability to stop table climbers by clicking the table if present.
-
-
Paprika updated:
-
-
Labcoats and uniforms no longer use action buttons and object verbs to adjust their aesthetic style. Alt click them to adjust.
-
Alt click a PDA with an ID inside to eject the ID.
-
Renamed 'remove ID' verb to 'eject ID' so it's not immediately next to 'remove pen'.
-
Rebalanced the flash protection of thermal scanners. Syndicate thermals have the same flash weakness as the meson scanners they come disguised as.
-
-
Xhuis updated:
-
-
Adds the Adminbus and Coderbus bar signs.
-
Added a mining satchel of holding to R&D that can hold an infinite amount of ores. It requires gold and uranium, in addition to a decently high bluespace and materials research.
-
-
phil235 updated:
-
-
Harvesting meat from dead simple animals now takes time, has a sound, and can be done with any sharp weapon.
-
-
pudl updated:
-
-
Updated the sprite for Fire extinguishers.
-
-
xxalpha updated:
-
-
Disposable lighters now come in more colors of the rainbow.
-
-
-
05 March 2015
-
Jordie0608 updated:
-
-
Server hosts can set a config option to make an unseen changelog pop up on connection.
-
-
MrPerson updated:
-
-
Expanded the on-screen alerts you get on the top-right of your screen. You can shift-click them to get a description of what's wrong and maybe how to fix it.
-
Getting buckled to something will show an alert of what you're buckled to. If you're not handcuffed, you can click the alert to unbuckle.
-
-
RemieRichards updated:
-
-
Added Necromantic Stones as a buyable item for wizards
-
Necromantic Stones can cause up to 3 people to rise up as Skeleton Thralls bound to the wielder of the stone
-
Skeleton Thralls have a 33% Chance to drop all their gear on the floor and autoequip a more fitting thematic uniform
-
Allows the blob to reroll it's chemical for a cost.
-
-
phil235 updated:
-
-
Adds a lot of new plants to botany (red beet, parsnip, snap corn, blumpkin, rice, oat, vanilla, steel cap, mimana, blue cherries, holy melon, geranium, lily, sweet potato) and two new reagents (vanilla, rice).
-
Fixes taser stun duration being longer due to jitter animation.
-
-
-
03 March 2015
-
Delimusca updated:
-
-
Improvised heating! use lighters or other heat sources to heat beakers, bottles, etc.
-
-
Gun Hog updated:
-
-
We have purged the xenomicrobes contamination in the E.X.P.E.R.I-MENTOR using sulfuric acid. Take care not to be exposed should it leak!
-
-
Iamgoofball updated:
-
-
Colorful reagent can be washed off with water now.
-
Oxygen blob deals breath loss damage.
-
Radioactive blobs irradiate for more.
-
-
Ikarrus updated:
-
-
Antagonist roles are now restricted by player client age.
-
-
Jordie0608 updated:
-
-
The server's current local time is now displayed in status panel in ISO date format (YYYY-MM-DD hh:mm)
-
-
Mandurrrh updated:
-
-
Added the ability to see pda messages as a ghost with GHOSTWHISPER toggled on.
-
Removed the degrees symbol from Kelvin units on atmos meters because not gramatically correct
-
-
RemieRichards updated:
-
-
Drones now see either Static, Black icons or Roguelike style lettering instead of actual mob icons
-
Icons for the above, from VG's SkowronX
-
Many icon procs for the above, from VG's ComicIronic
-
Drones moved into their own folder
-
Drone.dm replaced with seperate files for each functionality
-
Drones now have 2 skins to choose from, Maintenance Drone (Current drones) and Repair Drone (A modified VG/Bay sprite)
-
Much more support for alternate skins on drones
-
-
Xhuis updated:
-
-
Added four new emoji: :1997:, :rune:, :blob:, and :onisoma:.
-
-
xxalpha updated:
-
-
Added a surgery table and tools to the Nuke Ops ship.
-
Added Engineering Scanner Goggles to Engivend, Engineering Secure Closets and Research.
-
Doubled T-ray scanner range.
-
-
-
01 March 2015
-
Dannno updated:
-
-
Resprited all owl items. Wings are now a seperate toggleable suit item.
-
Added The Griffin costume, arch nemesis of The Owl. Found in the autodrobe.
-
Added admin-only Owl hardsuit. Only for the most vengeful souls.
-
Added Owl and Griffin merchandise; The Nest barsign, Owl/Griffin toys and posters.
-
-
Iamgoofball updated:
-
-
Fixes the recipe for meth.
-
Fixes sorium blobs flinging themselves.
-
-
Incoming5643 updated:
-
-
On servers where malfunction, wizard, and blob rounds do not end with the death of the primary antagonist, new antagonists from traitor and changeling derivative modes will now sometimes spawn. This depends on the state of the station, the state of the crew, and the server's gamemode probabilities. Server owners should consider revising their configuration choices
-
If you would like to opt out of this midround chance, a new toggle to disable it can be found in your preferences
-
-
Mandurrh updated:
-
-
The barsign can be emagged and EMP'd; EMP'd signs can be repaired with a screwdriver and cables.
-
-
Menshin updated:
-
-
Fixed the protolathe not requiring displayed amount of materials to make items.
-
-
MrStonedOne updated:
-
-
Adds a Panic Bunker!
-
This will prevent any player who has never connected before from connecting. (Admins are exempt)
-
Can be enabled per-round by any admin with +SERVER or for longer periods via the config.
-
Also adds some other config options relating to new joins, server operators should consult their configuration file for more details.
-
Fixes toggle darkness vision hiding other ghosts.
-
Admins fucking around with ghost icon and icon states in VV are going to want to change the icon and icon state of the ghostimage var of the ghost to change the image shown to ghosts who have darkness disabled. doing this via mass edit is not yet supported.
-
New ghost verb, toggle ghost vision. Switches the ghost's invisibility vision between that of a ghost and that of a human. So ghosts can hide other ghosts and in general get the old behaviour of toggle darkness.
-
-
Paprika updated:
-
-
Messages with two exclamation marks will be yelled in bold.
-
-
Phil235 updated:
-
-
Cultists can't summon narsie until their sacrifice objective is complete.
-
-
Razharas updated:
-
-
Vines now can grow on any tiles that is not dense, including space, shuttles, centcomm tiles and so on.
-
Added 'Bluespace' mutation to vines, makes them be able to grow through absolutely everything.
-
Added 'Space Proofing' mutation to vines, after they grow if the tile under them is space it will become special vinetile, which is just resprited regular floor, if the vine on the vinetile dies the vineturf changes back to space.
-
Made vines spreading speed depend on the seed's production, can be both slower and faster than current.
-
Made vines mutation chance be 1/10th of the potency of the seed it is spawned from.
-
Special chemicals added to vine seeds durning their growth can increase/decrease their potency and productivity.
-
Special chemicals now can remove good, bad or neutral mutations from vine seeds while they are growing, cultivating actually helpful vines is now possible.
-
Plant analyzers now show the vine seeds mutations.
-
Buffed numbers in some of the more useless mutations.
-
-
Steelpoint updated:
-
-
Reworked and expanded areas of the derelict station. Featuring a repairable gravity generator, turret filled computer core and functional solars.
-
-
Vekter updated:
-
-
Chemists, Geneticists, Virologists, Scientists, and Botanists will now spawn with alternative backpacks and satchels in their lockers. Try them out!
-
-
-
25 February 2015
-
Cheridan updated:
-
-
Foam now carries reagents, similarly to smoke. Have fun with that.
-
-
Dannno updated:
-
-
Altered the sprite for security hardsuits. The old sprite is now a HoS specific hardsuit.
-
-
Delimusca updated:
-
-
Turret's guns replaced by a heavy energy cannon.
-
Firing a heavy weapon sindlehandedly can make it recoil out of your hands.
-
-
Gun Hog updated:
-
-
Nanotrasen has released new design specifications for the prototype combination of standard night-vision equipment and Optical Meson Scanners. We believe that this will address the concerns many Shaft Miners have concerning visiblity in a potentially unsafe environment.
-
Fixed malf AI's turret upgrade power not working.
-
-
Iamgoofball updated:
-
-
You can now go into hyperglycaemic shock from having over 200u of Sugar in your body at once. Treat it with Insulin.
-
Insulin has been added. Use it to treat hyperglycaemic shock. You can get it from medical vendors and the Cargo medicine supplies crate.
-
Medvendor contents have been reduced from medical having everything they need at roundstart level, and toxin bottles are now back in the vendor.
-
Medical Analyzers now have 2 modes, Medical Scan and Chemical Scan. You can swap between modes by clicking on it in hand.
-
Medical scan is default behavior. Chemical scan shows all the reagents inside the mob at the time, along with any addictions the mob has. It will show if a reagent is overdosing.
-
Tobacco and Space Tobacco have Nicotine in them now.
-
Adds Methamphetamine to the game. Mix it with Ephedrine, Iodine, Phosphorous, and Hydrogen at 374K.
-
Or, look around in Maintenance for Muriatic Acid, Caustic Soda, and Hydrogen Chloride. Recipes are also available for these.
-
Adds Saltpetre. Mix it with Potassium, Nitrogen, and Oxygen.
-
Adds Bath Salts, mix it with Bad Food, Saltpetre, Nutriment, Space Cleaner, Universal Enzyme, Tea, and Mercury at 374K.
-
Adds Aranesp. Mix it with Epinephrine, Atropine, and Morphine.
-
Adds Hotline. Get it from Poppy plants.
-
Strange Reagent revival was changed. It now won't gib but won't do anything above a 100 BRUTE or BURN threshold.
-
Carpet now applies carpet tiles to whatever flooring it hits. Mix it with Space Drugs and Blood.
-
Colorful Reagent colors have been improved drastically and now are more varied and nicer looking.
-
Corn Starch has been added. Get it from juicing Corn.
-
Corn Syrup has been added. Mix it with Corn Starch and S-Acid.
-
Corgium has been added. Mix it with Nutriment, Colorful Reagent, Strange Reagent, and Blood at 374K.
-
Adds Quantum Hair Dye. Mix it with Colorful Reagent, Radium, and Space Drugs.
-
Adds Barber's Aid. Mix it with Carpet, Radium, and Space Drugs.
-
Adds Concentrated Barber's Aid. Mix it with Barber's Aid and Unstable Mutagen.
-
Re-adds Chlorine Trifluoride. Mix it with Chlorine and Fluorine at 424K.
-
Adds Black Powder. Mix it with Saltpetre, Charcoal, and Sulfur. Ignite it for an explosion at 474K
-
Finally nerfs Salglu Solution. It's no longer tricord 2.0.
-
Salt recipe is now Water + Sodium + Chlorine due to problems with recipe mixing.
-
-
Incoming5643 updated:
-
-
A new event has been added to the wizards summon events spell that gives the game a distictively more roleplaying flair.
-
Optional population cap functionality has been added to the game. By default all caps are disabled. Server owners should refer to config.txt to see their list of options.
-
Medical borgs now have access to a deployable onboard roller bed. Should the bed become lost, any roller bed may be used in its place.
-
-
Mandurrh updated:
-
-
Added interchangeable bar signs
-
Added bays fountain machines for the bar. Soda and Beer. Allowing bartenders to have easier access to mix drinks and making more to make their job a little less boring
-
Added color tiles to the light up floor tiles.
-
Added metal, glass, and cable to bar back room at round start for bartender to make colored light dance floors.
-
Fixes clown cuffing both mobs and two pairs of cuffs appearing.
-
Fixes clown not being able to use his stamp as antag so no meta.
-
Fixes sleepypen bug. Instead of only dispensing 50u it dispenses the full 55u.
-
Fixed silicons not being able to pass through holotape.
-
-
Menshin updated:
-
-
Getting into regenerative statis now puts the changeling into unconscious state.
-
Fixed changeling 'Revive' not working.
-
-
Paprika updated:
-
-
Added an assistant cap, unlimited by default.
-
Batons now slowly lose power when left on.
-
Batons, flashbangs and handcuffs can be seen when stored in a belt.
-
Computers now emit light when they're on or bluescreened.
-
Added hotkeys for OOC and custom emotes. Press O and M when in hotkey mode. Remember not to ick in ock!
-
Added megaphones for the HoS, HoP, and QM.
-
Goliath tentacles no longer stun you if you cross them. They will only stun you if you don't move away from them in time. They can do up to 15 damage now, in addition to stunning you.
-
Changed a lot of mining gear and prices. The resonator can now have up to 3 fields active at once, but the fields need to detonate before they crush rocks. Tweak the time before the fields detonate with a screwdriver and upgrade the amount of fields at once with sheets of diamond.
-
Overhauled straight mining tools. The sonic jackhammer is now the wall-crushing tool, the diamond drill simply mines really fast. Borgs can now get upgraded with the diamond mining tool with only a single sheet of diamond and an upgrade module, they don't need illegal tech modules.
-
Mining drills and the sonic jackhammer now draw power when they drill down mineral walls. They can be recharged using any type of weapon recharger or by replacing the cell using a screwdriver on them.
-
Space now emits a dim light to adjacent tiles.
-
Syndicate shotguns now start with buckshot instead of stunslugs.
-
Fixed welding tools using fuel when being switched on.
-
Added a firing delay between shooting electrodes.
-
Changed the stun revolver from a high-capacity taser to a disabler with extra capacity.
-
Added a unique stun pistol for the head of security. It is a double capacity taser with no shot delay and a loyalty pin, though it lacks a disable mode.
-
-
RandomMarine updated:
-
-
New brute treatment kit crate for cargo.
-
-
RemieRichards updated:
-
-
Explosions will now blow (throw) items away from the epicenter
-
Sharp items can now embedd themselves in a human's limbs
-
Embedded items have a chance to do some damage (based on w_class) each life() call
-
Embedded items have a chance to fall out doing some more damage, but removing the object
-
Adds a surgery to remove Embdedded objects
-
Adds throwing stars as an uplink item (100% chance to embedd)
-
Items placed on tables now center to exactly where you clicked.
-
-
Steelpoint updated:
-
-
SS13's Head of Security has received a new attempted 1:1 recreation of a Old Earth weapon, the Captain's Antique Laser Gun.
-
This gun features three firing modes, Tase, Laser and Disable. However this gun lacks the capability to recharge in the field, and is extreamly expensive.
-
INTERCEPTED TRANSMISSION REPORT: The Syndicate have expressed a interest in this new weapon, and have instructed field agents to do whatever they can to steal this weapon.
-
-
TheVekter updated:
-
-
Box's vault nuke has been replaced with immobile Nuclear Self-Destruct Mechanism.
-
Vault's new green floor tiles turn flashing red when Self-Destruct is activated.
-
-
Xhuis updated:
-
-
Syndicate contacts have discovered new ways to manipulate alarms. Malfunctioning AIs, as well as normal emags, can now disable the safeties on air and fire alarms.
-
When one emags an air alarm, its safeties are disabled, giving it the Flood environmental type, which disables scrubbers as well as vent pressure checks. Burn, pigs, burn!
-
When one emags a fire alarm, its thermal sesnsors are disabled. This will prevent automatic alerts due to the alarm being unable to recognize high temperatures.
-
Malf AIs gain two new modules, both of which disable ALL air alarm safeties and thermal sensors. These are separate abilities.
-
Air and fire alarms have notifications on their interface about the current safety status. One only has to glance at one to see that it's been tampered with.
-
-
phil235 updated:
-
-
Fixed arcade machines being usable from inside lockers to dupe rewards.
-
Silicons can no longer be grabbed by anyone. No more silicon choking
-
Custom food can now be renamed using a pen.
-
-
xxalpha updated:
-
-
Added new graffiti: cyka, prolizard, antilizard
-
-
-
18 February 2015
-
Dannno updated:
-
-
Added proper slurring when drunk.
-
-
Deantwo updated:
-
-
Updated the ChemMaster's UI to the station default along with some functionality improvements.
-
You can now spam the 'Ready' button as much as you want without it setting you 'Not ready' again.
-
-
Dorsidwarf updated:
-
-
Added the ability to call Central Command for the nuclear authentication codes. This requires a captain-level ID and admin approval, and warns the crew.
-
-
Gun Hog updated:
-
-
E.X.P.E.R.I-MENTOR meteor storm event replaced with a fireball that targets random nearby mob.
-
EMP event range reduced.
-
Self-duplicating relics limited to 10 copies.
-
Nanotrasen has released a firmware patch for the Ore Redemption Machine, which now allows the station AI, cyborgs, and maintenance drones to smelt raw resources without the need of a valid identification card installed.
-
Nanotrasen scientists have completed their designs for a lightweight, compacted anti-armor ion weapon, without loss of efficiency. In theory, such a weapon could easily fit within standard issue backpacks and satchels. With sufficient research into weapons technology and materials, Nanotrasen believes a working prototype can be fabricated.
-
-
Iamgoofball updated:
-
-
Buffs the shit out of Styptic Powder and Silver Sulf, they're now viable to use. Synthflesh is still good for general treatment, but overall Styptic and Silver Sulf deal with their respective damage types way better now.
-
Improves kinetic accelerator's mining strength.
-
The kinetic accelerator's cooldown can be decreased by tweaking the thermal exchanger with a screwdriver.
-
The range can be increased with plasma sheets
-
-
Incoming5643 updated:
-
-
Medical borgs have been given full surgery tools which they can't fail a procedure with.
-
Medical borgs also have rechargeable gauze.
-
Borg hypo's omnizine replaced with salbutamol, salglu and charcoal.
-
Slime and Jelly mutant races now actually contain slime jelly. While playing as these races you will naturally produce it internally from your nutrition, so be sure to stay well fed as losing too much is dangerous to your health! Beware of chems that clear toxins, as they can be rapidly fatal to you!
-
-
Jordie0608 updated:
-
-
Veil render and rifts changed to spawn with vars, rifts can be closed with a nullrod.
-
-
Lo6a4evskiy updated:
-
-
General record now contains a species field and a photo of the crewmember. Security record consoles allow you to update it with a photo taken in-game (with detective's camera, for example, or AI's).
-
Expanded functionality of security HUDs to display rank and photos.
-
Medical HUDs allow user to change others' mental and physical status. Currently has no gameplay effect other than changing records.
-
Medical HUDs can perform an examination at the distance, similrarly to how attacking yourself with help intent works. Has limited ability to detect suffocation and toxin damage.
-
-
Menshin updated:
-
-
Solar control computers remade with NanoUI
-
-
Paprika updated:
-
-
Added rnd requirements to borg upgrades and tweaked the prices.
-
Changed some clothing around. Added a turtleneck for the HoS. Removed 'civillian' armor and gave normal armor to the bartender and HoP. Added flash protection to the HoS' eyepatch, it functions like sunglasses now. Additionally, added the ability to store ammo on your shoulder holster as detective.
-
Removed the defib steal objective. Added a compact defibrillator for the CMO that equips to the belt. Removed defibrillators from RND. Removed the requirement for people to not wear armor to revive them with defibs. Doubled defib timers (10 minutes before permadeath).
-
Flashlights can be attached to pulse carbines.
-
Miners spawn with a brute patch.
-
Mining station's sleeper has been replaced with an IV drip and more medkits.
-
Added hard-light holotape. This holographic police or engineering hazard tape will block entry if you're running, so you need to walk to pass it. This is to help people not sprint into breaches or crime scenes.
-
Fixed being able to sling the strapless improvised shotgun on your back.
-
Reverted the price of the ebow to 12tc and removed the range limit of its bolts.
-
-
Sometinyprick updated:
-
-
Novely pig mask prize from arcade machines, can be toggled to make you squeal like a pig.
-
-
Steelpoint updated:
-
-
Security Cyborgs Advance Taser have been replaced with a Disabler.
-
-
TZK13 updated:
-
-
Adds plaid skirts and new schoolgirl outfits to the autodrobe
-
Novaflowers apply a firestack for every 20 potency they have.
-
You can now juice whole watermelons instead of slices.
-
Advancements in the field of virology by Nanotrasen's finest have uncovered three new disease symptoms for further research:
-
Ocular Restoration heals any eye trauma experienced by the infected patient.
-
Revitiligo increases the pigmentation levels of the infected patient's skin.
-
Spontaneous Combustion ignites the infected patient without warning.
-
-
Vekter updated:
-
-
Added shot glasses! Can be obtained from the Booze-o-Mat.
-
A new premium vodka has been added to the game, hidden in a special spot.
-
Due to constant attempts to break into the station's safe, the contents have been relocated and have not been replaced. We promise. There is absolutely NO reason to break into the vault's safe anymore.
-
Each shot glass now holds 15 units, and the drinker takes all 15 in one gulp instead of 5 at a time. This means you can mix certain shots (namely, the B-52 and Toxins Special) in a shot glass. Both drinks have been made exclusive to shot glasses and will no longer show their specific sprite in a normal glass.
-
Added new sprites for most alcohol in shot glasses. Everything else will show up as 'shot of... what?'.
-
Fixed shot glasses turning into regular glasses when filled.
-
Fixed tequila bottle sprites not showing up.
-
Fixed a typo!
-
Roboticists will now start with a full toolbelt instead of a toolbox.
-
-
drovidi updated:
-
-
Blobs who burst in space will be given a 30 second warning before dying.
-
If a blob does die from bursting in space, a new crewmember will be infected.
-
If there are no blobs or infected crew left after bursting, the round will now end properly, rather than becoming endless.
-
-
phil235 updated:
-
-
You no longer need to cut the syphon wire to deconstruct air alarms.
-
Cooking overhaul: microwave recipes are converted to tablecraft recipes.
-
Added customizable food (burger,sandwich,spaghettis,soup,salad,cake,bread,kebab,pie) with specific color depending on ingredients used.
-
Added new food ingredients (dough, flat dough, cake batter, pie dough, doughslice, bun, raw pastry base, pastry base, raw cutlet, cutlet, pizzabread). Dough is made by mixing egg and flour, then transformed by using knife, rollingpin, milk and microwave. Meat is now sliceable into rawcutlets (specific color for each meat type).
-
Changed food recipes a bit (replacing stuff with new food ingredients).
-
Repurposed the microwave to actually cook certain food items(no reagents required), renamed it microwave oven and added a power setting to it.
-
Bowl is no longer trash but a beaker-like container that is used in salad&soup recipes. Also, milk and soymilk cartons as well as flour packs are now condiment bottles.
-
Changed the hunger system a bit, sugar becomes a normal reagent again. Faster nutrition drain is now handled by a variable in junk food. Also added a slight buff to vitamin.
-
-
xxalpha updated:
-
-
You now hear the voice of the chosen deity in prayers.
-
-
-
05 February 2015
-
Danno updated:
-
-
Added suicide messages for all gun types and various different items.
-
-
Paprika updated:
-
-
Compacted ERT room by removing equipment rooms, filler rooms and pre-spawned mechs.
-
Rebalanced Pulse weapons to have more shots, faster charge, EMP immunity and modified sprites.
-
ERT spawns fully equipped with no-slowdown suits.
-
Added blood and bleeding. If you take enough brute damage on a certain limb, you will start bleeding, and will need to patch your bleeding with gauze from medbay. You can replace lost blood by eating nutritious food and waiting for your heart to reproduce it, or by getting a blood transfusion from an IV drip.
-
-
Vekter updated:
-
-
Added a toy red button to the Arcade cabinets.
-
-
-
04 February 2015
-
Danno updated:
-
-
Fixes dufflebag's storage capacity.
-
-
Deantwo updated:
-
-
Removes duplicate fluorine from Chemical Dispenser.
-
Added GoonChems to the Portable Chem Dispenser.
-
Added cancel buttons to the ChemMaster and CondiMaster when making bottles, pills, etc.
-
-
Delimusca updated:
-
-
Added new foam armblade toy to arcade prizes.
-
Slimes can drag themselves to mobs to start feeding.
-
Attacking another slime will pull them off their victim if they're feeding or steal some of their mass.
-
-
GunHog updated:
-
-
Five new silicon emotes: *buzz2, *chime, *honk, *sad and *warn
-
-
Incoming5643 updated:
-
-
New contraband crate containing fifty butterflies.
-
Shuttle will now always arrive, but won't launch in rounds where it would've been previously auto-recalled.
-
-
Menshin updated:
-
-
Fixed being unable to place cables on plating.
-
-
Paprika updated:
-
-
Helmets for hardsuits are stored inside the suit and cannot be equipped without the suit on.
-
EVA space suits are now lighter for faster movement but lack flash or welding protection, don't hide your identity and have less radiation protection.
-
-
Perakp updated:
-
-
Tweaked slowdown due to coldness when in in low gravity.
-
-
Steelpoint updated:
-
-
ERT base equipment rooms are now access restriction to each role.
-
ERT commander spawns wearing hardsuit for identification.
-
Two boxes of metal foam grenades added for ERT engineers.
-
Deep space sensors recently detected the derelict remains of the NTSS Omen, a outdated Medical Frigate thought lost, within close proximity to Space Station 13.
-
If any SS13 EVA Personal are able to locate this ship, they will be able to pilot it back to the station for recovery. The ship may also have cordinates for other locations.
-
-
Xhuis updated:
-
-
Changelings now have the ability Strained Muscles, which lets them move at inhuman speeds at the cost of rapid stamina damage. It costs one evolution points=.
-
Changelings now have the ability Augmented Eyesight, which lets them see creatures through walls and see in the dark. It costs two evolution points.
-
After many failed raids, the Syndicate have finally done something about poor communications between cyborgs and operatives.
-
Syndicate Cyborgs now come equipped with operative pinpointers, which will automatically point to the nearest nuclear operative.
-
Handheld crew monitors can now be stored in medical belts.
-
-
-
26 January 2015
-
Dannno updated:
-
-
Added fannypacks of multiple colors, 3 of which are accessible from the clothing vendor.
-
Added dufflebags to multiple lockers throughout the station and to the syndicate shuttle, more storage slots at the cost of move speed.
-
-
Deantwo updated:
-
-
Fixed some bugs in PDA's NTRC Chatroom feature.
-
You can now use PaperBBCode/PenCode when writing news articles on the newscaster.
-
PDA's Notekeeper now uses PaperBBCode/PenCode rather than HTML.
-
Scanning paper with your PDA is now more informative.
-
-
Firecage updated:
-
-
We, at NanoTrasen, have recently upgraded the Kitchen Spikes to include the skin of both Monkeys and Aliens when you harvest their flesh!
-
In other news, a station in a nearby Sector has been making monkey and xeno costumes. We are not sure why.
-
Added the ability to reform mineral floortiles back into sheets/bars
-
-
Ikarrus updated:
-
-
Added a new config option MINIMAL_ACCESS_THRESHOLD that can be used to automatically give players more access during low-population rounds. See game_options.txt for more information.
-
-
Lo6a4evskiy updated:
-
-
The kitchen now contains a brand new food cart. It can store foods and liquids, mix them into cocktails and dispense where needed. Food delivery has never been easier!
-
-
fleure updated:
-
-
Added briefcase filled with cash to uplink.
-
-
-
21 January 2015
-
Iamgoofball updated:
-
-
Addiction and Overdosing has been added to Chemistry.
-
Deal with Overdosing by purging the ODing chemical with Calomel or Penetic Acid.
-
Deal with Addiction by either going cold turkey on it and weathering the effects, eventually causing the addiction to subside, or by taking more of the addictive substance to keep the effects down.
-
Cryoxadane was heavily buffed. Clonex was removed as it was merged into Cryox.
-
Fixes a shitton of stuff adding Morphine instead of Ephedrine. Sorry, miners.
-
Fixes instances of Alkysine not being replaced with Mannitol. Same with Ryetalyn being replaced with Mutadone.
-
Adds Itching Powder. Welding Fuel and Ammonia.
-
Adds Antihol. Ethanol and Charcoal.
-
Adds Triple Citrus. Lemon Juice, Lime Juice, and Orange Juice.
Morphine replaces sleep toxin now, not Hyperzine. Hyperzine is replaced by Ephedrine now.
-
Cryotubes will now autoeject you once you are fully healed.
-
Synthflesh damage values have been fixed.
-
Charcoal has been buffed to heal 3 TOX damage a cycle and it purges other chemicals faster.
-
Saline-Glucose Solution has been buffed. It now has a 50% chance per cycle to heal 3 BRUTE and BURN per tick.
-
Fixes Strange Reagent revivals dying right after being revived. They'll still need immediate medical treatment, however.
-
Cryoxadone has had a recipe change. It is now Stable Plasma, Acetone, and Unstable Mutagen.
-
Adds 9 new Disabilites and 2 new genetic powers.
-
You can now heat donk pockets once more. Rejoice.
-
-
-
17 January 2015
-
Cheridan updated:
-
-
The lockbox system for R&D has been replaced with a firing pin system. Ask the Warden or HoS for firing pins to allow normal operation of your firearms. Want to test them out at the range? Try printing a test-range pin.
-
Nuke Ops have used this new technology to lock some of their heavier weapons so that crew cannot use them. These implants replace their explosive implants.
-
Explosive implants are now purchasable in the uplink, and are much stronger.
-
-
Firecage updated:
-
-
NanoTrasen would like to report that our Mechanical Engineers at NTEngiCore has recently upgraded the capacity of the machines known as Biogenerators. They are now have the added ability to create various belts, and also weed/plantkillers and cartons of milk and cream!
-
-
Iamgoofball (Look Ma, I didn't mispell my name this time!) updated:
In recipes that used removed reagents, they have been replaced with their goon chemistry counterpart:
-
Hyperzine -> Morphine
-
Inaprovaline -> Epinephrine
-
Kelotane -> Saline-Glucose Solution
-
Bicardine -> Saline-Glucose Solution
-
Dermaline -> Saline-Glucose Solution
-
Dexalin -> Salbutamol
-
Dexalin Plus -> Salbutamol
-
Tricordrazine -> Omnizine
-
Anti-Toxin -> Charcoal
-
Hydronalin -> Penetic Acid
-
Arithrazine -> Penetic Acid
-
Imidazoline -> Oculine
-
Mannitol -> Alkysine
-
Ryetalyn -> Mutadone
-
-
Steelpoint updated:
-
-
The Emergency Response Team project has been activated by Nanotrasen. The ERT are a seven man squad that can be deployed by the Central Command (admins) to attempt to rescue the station from a overwhelming threat, or to render assistance in dealing with a significant problem.
-
The ERT consists of a single Commander, two Security Officers, two Engineering Officers and two Medical Officers. The Commander is preselected when the squad is being spawned in, however the remaining six officers are free to select their role in the squad.
-
Two new Pulse gun variants have been added to the game. They are the Pulse Carbine and the Pulse Pistol, both have significantly smaller ammunition capacities than the Pulse Rifle, however they both can fit in a backpack and the pistol can fit in a pocket. All ERT Officers have a Pulse Pistol for a sidearm, however the Security Officers get a Pulse Carbine as their primary longarm.
-
-
phil235 updated:
-
-
The two library consoles are now real buildable computers. The circuitboard design is available in R&D.
-
-
sawu-tg updated:
-
-
Added a new R&D machine, to replace the telescience room. The Machine is based on RND and various interdepartmental creations.
-
-
-
14 January 2015
-
Boggart updated:
-
-
Adds a new spell: Repulse. (Cooldown: 40 seconds, 15 at max upgrade.) Repulse throws objects and creatures within 5 tiles of the caster away and stuns them for a very short time. Distance thrown decreases as the distance from the caster increases. (Max of 5, minimum of 3) Casting it while standing over someone will stun them for longer and cause brute damage but will not throw them.
-
Fixes the Exosuit Control Console having the unpowered icon state while powered.
-
-
Iamgootball updated:
-
-
Added Goonstation Chemistry!
-
Adds 14 medicines!
-
Adds 3 pyrotechnics!
-
Adds 3 drugs with actual gameplay uses!
-
Adds 7 toxins!
-
Adds a Chemical Heater for some new recipes!
-
Adds Chemical Patches for touch based applications!
-
Adds a Traitor Poison Kit!
-
Adds Morphine Medipens!
-
Adds Morphine bottles to Cargo!
-
-
-
13 January 2015
-
Dannno updated:
-
-
Adds a bandanas in basic colors to lockers in the station. Activate in hand to switch between head and mask modes.
-
Adds more colored jumpsuits to the mixed locker.
-
-
Incoming5643 updated:
-
-
Player controlled slimes can now change their face to match AI controlled slimes in kawaiiness. use *help as a slime to find the commands.
-
-
Studley updated:
-
-
Fixed NTSL division.
-
Added new NTSL math functions, including 'sin,' 'cos,' 'asin,' 'acos,' and 'log.'
-
-
-
06 January 2015
-
JJRcop, Nienhaus updated:
-
-
Adds emoji to OOC chat.
-
-
-
27 December 2014
-
Dorsidwarf updated:
-
-
Buffs the RCD from 30 matter units to max capacity 100, and increases the value of matter charges.
-
-
Paprika updated:
-
-
Taser electrodes now have a limited range of 7 tiles.
-
The energy gun's stun mode has been replaced with a disable mode.
-
Security officers will now spawn with tasers.
-
Disabler beams now go through windows and grilles.
-
Disabler beams now do 33 stamina damage instead of 34. This means they will only stun in 3 hits on someone that is NOT 100% healthy.
-
Most ballistic projectiles now do stamina damage in addition to their regular damage instead of stunning. This includes nuke op c-20r .45, detective's revolver, etc. They are effectively better than disablers at stunning people, as well as do significant damage, but they do not stun instantly like a taser. Expect engagements to be a little longer and plan ahead for this.
-
Added an advanced taser for RnD, the child of a disabler and a taser.
-
-
Tkdrg updated:
-
-
Envoys from the distant Viji sector have brought an exotic contraption to Centcomm. Known as the 'supermatter shard', it is a fragment of an ancient alien artifact, believed to have a dangerous and mysterious power. This precious item has been made available to the Space Station 13 cargo team for the cost of a hundred supply points, as a reward for all your hard work. Good luck, and stay safe.
-
-
-
16 December 2014
-
Paprika updated:
-
-
Reverted security armor and helmets to the old (Grey) style of armor/helmets.
-
Updated security jumpsuits to be more consistent across officer/warden/HoS ranks.
-
Added tactical armor and helmets to replace the largely unused bulletproof vest in the armory. This armor has higher bullet and explosive resistance than normal armor, and uses the previous, more military armor/helmet sprites.
-
Added a new injury doll to go along with the overall health meter. This will show you locational overall limb-based burn/brute damage, so you can tell the difference between being hurt with burn/brute or toxins/stamina damage which does not affect limbs.
-
Reverted some UI icons back to their older status and changed some around for readability. Thank you for your feedback.
-
-
Thunder12345 updated:
-
-
Added a new FRAG-12 explosive shotgun shell, built from the unloaded technological shell, using tablecrafting. Constructed using an unloaded technological tech shell, 5 units sulphuric acid, 5 units polytrinic acid, 5 units glycerol, and requires a screwdriver.
-
-
phil235 updated:
-
-
Change to the hunger system. Eating food with sugar temporarily worsens your nutrition drop rate. Eating too much sugar too quickly can make you temporarily unable to eat any sugary food. The nutritional effect of sugar depends on how hungry you are thus it cannot easily raise your nutrition level past well fed and is best used when hungry. Lots of sugar can make you a bit jittery at times. Eating food with vitamin (new reagent) counteracts the sugar effects and can give you temporary buffs when well fed: it lowers your chance to catch or spread viruses,it makes your body's metabolism more efficient that is it keeps healing reagents longer and evacuate toxins faster and reduces damage from radioactive reagents. Your metabolism gets less efficient if starving.
-
New hunger hud icons: starving, hungry, fed, well fed, full, fat.
-
Snack vending machine get a chef compartment that can be loaded with non-sugary food by hand or with a tray by anyone with kitchen access (unless you hack the machine with multitool or emag). The food can be unloaded by anyone, like regular snacks
-
Cargo can get a nutritious pizza crate order for 60 points.
-
Grown and cooked food gets some vitamin while junk food gets less nutriment and more sugar (only hot donkpocket and ramen don't have sugar)
-
The number of junk food in snack vending machine is lowered from 6 to 5 of each type.
-
Fixing not being able to load an omelette du fromage on a tray.
-
-
-
10 December 2014
-
GunHog updated:
-
-
The Nanotrasen firmware update 12.05.14 for station AI units and cyborgs includes a patch to give them more control of their automatic speech systems. They can now chose if the message should be broadcasted with their installed radio system and any frequency available to them.
-
-
Paprika updated:
-
-
Added winter coats and winter boots! Bundle up for space xmas! They are available in most wardrobe and job lockers, and come with special features depending on the flavor!
-
-
Paprka updated:
-
-
Added a new weapon for syndicate boarding parties, the C-90gl assault rifle. This is a hybrid rifle with a lot of damage and a grenade launcher alt-fire. Purchasable for 18TC.
-
Suppressors can now be used on the protolathe SMG and the C-20r.
-
-
RemieRichards updated:
-
-
Sounds in areas of low pressure (E.g. Space) are now much quieter
-
To hear someone in space you need to be stood next to them, or use a radio
-
-
as334 updated:
-
-
We've discovered that slimes react to the introduction of certain chemicals in their bloodstream. Inaprovaline will decrease the slimes children's chance of mutation, and plasma will increase it.
-
We've also found that feeding slimes solid plasma bars makes them more friendly to humans.
-
-
-
08 December 2014
-
Ergovisavi updated:
-
-
Allows using replica pods to clone people without bodies.
-
Speeds up replica pod cloning by adjusting the starting production.
-
Replica pods will now only create plantmen.
-
Mixing blood in a beaker or taking it from a suicide victim will render the blood sample useless for replica pod cloning.
-
-
GunHog updated:
-
-
Our top Nanotrasen scientists have provided improved specifications for the Rapid Part Exchange Device (RPED)! The RPED can now contain up to 50 machine components, and will display identical items in groups when using its inventory interface.
-
Note that power cells, being somewhat bulkier, will take up more space inside the device. In addition, the RPED's firmware has also been updated to assist in new machine construction! Simply have the required components inside the RPED, apply it to an unfinished machine with its circuit board installed, and watch as the device does the work!
-
Nanotrasen has updated station bound Artificial Intelligence unit design specifications to include an integrated subspace radio transmitter. The transmitter is programmed with all standard department channels, along with the inclusion of its private channel. It is accessed using :o in its interface.
-
{INCOMING CLASSIFIED SYNDICATE TRANSMISSION} Greetings, agents! Today, we are happy to announce that we have successfully reverse engineered the new subspace radio found in Nanotrasen's newest AI build plans. We have included our encryption data into these transmitters.
-
Should you be deployed with one of our agent AIs, it may be wise of you to purchase a syndicate encryption key in order to contact it securely. Remember, as with other agents, a Syndicate AI is unlikely to be of the same Syndicate corporation as you, and you both may actually have conflicting mission parameters! Your channel, as always, is accessed using :t.
-
-
Paprika updated:
-
-
Changed the way flashbang protection works. Currently, only security helmets (and their derivatives like swat and riot), and some hardsuit helmets have flashbang protection. Ear items like earmuffs and 'bowman' headsets (alternative, larger headsets) have flashbang protection as well, so you're able to go hatless as security. The Head of security, warden, and detective's hat do NOT have flashbang protection, but their earpieces do, from the 'noise' part of the flashbang. The flashbang blind still works as before, with only sunglasses/hardsuit helmets protecting you.
-
-
Tkdrg updated:
-
-
Security/Medical HUDs are now more responsive and less laggy.
-
-
-
10 November 2014
-
Menshin updated:
-
-
Made meteors more threatening.
-
Added three levels of danger for meteors waves, randomly selected at spawn.
-
Rumors speaks of a very rare meteor of unfathomable destructive power in the station sector...
-
Fixed infinigib/infinisplosion with meteors bumping
-
-
Paprika updated:
-
-
Added a defibrillator and an EMT alternative clothing set for medical doctors. These defibrillators will revive the recently deceased as long as their souls are occupying their body and they have no outstanding brute or burn damage.
-
Yes, they actually work now too!
-
Added a way for you to unload a round from a chambered projectile weapon. Simply click on the gun when it is in your active hand, and assuming it does not have a magazine, the round should pop out. You can also use this system to unload individual bullets from magazines and ammo boxes, like the detective's speed loaders.
-
Added glass tables and overhauled how table construction works. Now, you need to build a frame using either metal rods or wood planks, and then place a top on the table.
-
Table disassembly now works in two stages. Screwdriver the table to remove the top of it and reduce it back to a frame. Frames can be moved around and walked on top of. Wrench the table to deconstruct it entirely back to parts, this is quicker and much more like the old fashion. To deconstruct a frame, use your wrench on it as well.
-
Fixed traitor med analyzers not fitting in medical belts.
-
Fixed syringe box bug with medipens.
-
-
Perakp updated:
-
-
Added escape-with-identity objective for changelings. Completion requires the changeling to have transformed to their target and be wearing an ID card with the target's name on it when escaping.
-
Changelings can absorb someone even if they have that DNA in storage already.
-
Fixes hivemind being lost when readapting evolutions.
-
-
-
04 November 2014
-
MrPerson updated:
-
-
You can use AI Upload modules directly on unslaved cyborgs to change their laws. The panel has to be open to do this.
-
Newly emagged cyborgs get locked down for a little bit until their new laws get shown. Thank you to whoever bitched about it on singulo and filed an issue report.
-
-
Paprika updated:
-
-
Added an advanced mop for the janitor, available at the protolathe. This hi-tech custodian's friend can mop twice as many floor tiles before needing to return to your bucket!
-
Moved holosign projector to the protolathe and gave the janitor back his old signs. We hope you've enjoyed this free trial run of holo projectors, but our budget is tight!
-
Added a holosign projector to the janitor module for cyborgs.
-
Soap now has a delay. Different soap types clean faster than others, but expect to put it some extra arm work if you want to clean that fresh blood!
-
-
Tkdrg updated:
-
-
Cutting-edge research in a secret Nanotransen lab has shed light into a revolutionary form of communication technology known as 'chat'. The Personal Data Assistants of Space Station 13 have been deployed with an experimental module implementing this system, dubbed 'Nanotransen Relay Chat'.
-
-
-
30 October 2014
-
MrPerson updated:
-
-
Everything now drifts in space, not just mobs.
-
Mechs are just as maneuverable in space as you are.
-
Being weightless now slows movement down by a lot rather than speeding it up. Having your hands full will make movement even slower.
-
Removed spaceslipping (You slipped! x1000)
-
Jetpacking after being thrown out a mass driver will cancel out your momentum.
-
Shooting a gun causes you to drift the other direction like spraying a fire extinguisher.
-
-
-
27 October 2014
-
Jordie0608 updated:
-
-
Adds a new riot shotgun that spawns in the armory with a 6 round beanbag magazine.
-
-
Paprika updated:
-
-
Allowed constructs to assist in activating most runes. This includes conversion runes, but does NOT include sacrifice runes.
-
-
Patchouli Knowledge updated:
-
-
In light of the recent achievements of the Robotics department, new and upgraded exosuit schematics were delivered to SS13 exosuit fabricators as a reward from CentComm.
-
The countless hours of research, experimentation, and reverse-engineering of wrecks from the mining asteroid have paid off - the Research team has rediscovered the process of building Phazon exosuits. The parts and circuits have been made available in the exofabs and circuit printers.
-
The APLU Ripley exosuit has been refitted with asteroid mining purposes in mind. Its armour plating will provide extra protection against the brute attacks of asteroid alien lifeforms, and protect from gibtonite explosions. The leg servos were upgraded to provide faster movement.
-
There are rumours of some creative shaft miners discovering a way of augmenting APLU Ripley armour with trophy hides from goliath-type asteroid lifeforms...
-
Durand construction routines now require a phasic scanner module and a super capacitor to match Nanotrasen industry standards.
-
The exosuit fire extinguisher now boasts a larger watertank, and carries a whole 1000u of water from the old 200u tank.
-
The exosuit plasma converter's efficiency has been vastly improved upon, and its fuel consumption has been cut to nearly half of old values.
-
The exosuit sleeper interiors have been refitted to allow the occupants more freedom of movement, and the occupants may now eject at will.
-
The armour plating on all exosuits was fitted with reactive deflection systems specifically designed to stop the rapid slashes from xenomorph threats.
-
The Firefighter Ripley chassis were moved from the Exosuit Equipment section to the APLU Ripley section of exofab menus.
-
Fixed some minor errors in the exosuit construction message syntax.
-
-
phil235 updated:
-
-
Closets and its children can no longer contain a near infinite amount of mobs. Large mobs (juggernaut, alien emperess, etc) don't fit, small mobs (mouse, parrot, etc) still fit in the same amounts, human-sized mob (humanoid, slime, etc) fit but maximum two per body bag and three for all the other closets. Adding bluespace body bag to R&D, it can hold even large mobs and in large amounts.
-
girders and displaced girders now have a chance to let projectiles pass through them.
-
-
-
19 October 2014
-
Donkie updated:
-
-
Major atmos update. Featuring pretty colors.
-
4-Way pipes added.
-
Flip-able trinary devices (mixer & filter).
-
Pipe-painter added.
-
Most pipe icons have been tweaked with shading and such, making it look more uniform.
-
-
JJRcop updated:
-
-
We have managed to re-discover drones! We improved the formula, and have discovered some cool stuff.
-
After some fiddling with audio recognition, drones can now understand human speech!
-
One of our engineers found some screws that were loose on some of our tests, screwing them in made the drone work as if it had just come out of robotics.
-
We had to sacrifice some of our NT brand EMP protection for the speech recognition, so drones can get damaged if subjected to heavy EMP radiation.
-
We figured out why drones couldn't remove objects from people, that has been fixed.
-
The standby light wasn't wired correctly.
-
Unfortunately one of our assistants tasked with transporting the only copy of the data dropped the flash drive in hot water because he wanted to see what "drone tea" tasted like. You'll have to discover them again.
-
-
Lo6a4evskiy updated:
-
-
Station's crayons have been upgraded to the version 2.0 of ColourOS. Don't worry, they are still edible!
-
Many items now have different stripping delays. Heavier and more armored pieces of clothing are generally more difficult to take off someone else, while smaller items can be very easy to snatch. Pockets always take 4 seconds to search.
-
-
MrPerson updated:
-
-
Implants are activated via action buttons on the top-left corner of your screen instead of emotes.
-
-
Paprika updated:
-
-
Added zipties for security and nuke operatives. These have a slightly shorter 'breakout time' as normal cuffs but they are destroyed upon removal. Beepsky and sec borgs now use these by default.
-
Changed the medical HUD in the tactical medkit to a night vision HUD so syndicate medics don't stumble around in the dark. Can be purchased through nuke op uplinks.
-
Added a second roboticist roundstart job slot.
-
Added a third cargo tech job slot.
-
-
Paprka updated:
-
-
Added undershirts as a companion piece to jumpsuit adjusting. Beat the heat with a comfortable tank top, or warm up with an extra layer tshirt!
-
Added a holographic sign projector to replace the old wet floor signs to encourage janitors to warn crewmembers about wet floors.
-
-
optimumtact updated:
-
-
Medical supplies crate now comes with a boxy full of bodybags
-
-
-
09 October 2014
-
Paprika updated:
-
-
Added inaprovaline MediPens (autoinjectors) that replace inaprovaline syringes in medkits. Like the syringes, these can be used to stabilize patients in critical condition, but require no medical knowledge to use.
-
Reverted the mining scanner to a manual scanner.
-
Buffed the rate of the automatic scanner
-
Added automatic scanner to equipment locker. It is also available by redeeming your voucher.
-
Reduced the size of the mining jetpack, it now fits in backpacks. The capacity of the jetpack has been reduced as well, however.
-
Removed resonator from the mining voucher redemption. Replaced it with a mining drill.
-
-
-
08 October 2014
-
Cheridan updated:
-
-
Flash mechanics changed. Instead of a knockdown effect, it will cause a stumbling effect. This includes area-flashing. The five-use-per-minute limit has been removed. "Synthetic" flashes made in the protolathe are now normal flashes.
-
-
Paprika updated:
-
-
Added a unique shield to the Head of Security's locker. It can be concealed for storage and activated like an energy shield, but functions like a riot shield. It can also be made at the protolathe.
-
Marauders: Due to your extremely great performance as of late, we've added a new equipment room on Mother Base. A lot of your equipment has been moved to this room, as well as some new equipment added onto the Mothership. Take some extra time to familiarize yourself with the placement of your equipment.
-
Oh, and you guys have a space carp now too.
-
-
Paprka updated:
-
-
Added jumpsuit adjusting. Adjust your jumpsuit to wear it more casually by rolling it down or roll up those sleeves of that hard-worn suit!
-
Added a grey alternative to the detective's suit and trenchcoat. Now you can be a noir private investigator!
-
-
Tkdrg updated:
-
-
Space Station 13 has been deployed with transit tube dispensers. Central Command encourages the engineering department to repair and improve the station using this equipment.
-
-
-
05 October 2014
-
Ikarrus updated:
-
-
Character Save Files will now remember Species.
-
-
Miauw updated:
-
-
Added 5 new maintenance ambience tracks, made by Cuboos.
-
-
Nobalm updated:
-
-
Added examine descriptions to twenty eight objects.
-
-
Paprika updated:
-
-
Due to some payroll cuts affecting lower-rank crewmembers on Space Station 13, we fear that uprisings and mutinies might be approaching. To help defend themselves, all heads of staff have been given telescopic batons to subdue attackers should they be assaulted during their shifts.
-
Toolbelts can now hold pocket fire extinguishers. Atmos technicians spawn with them.
-
Remember those magboots we had our undercover agents steal? Well we've finally reverse engineered them. Not only that, but we gave them a killer paintjob. They will be available in the uplinks of boarding parties we send out to Nanoscum stations.
-
Listen up, Marauders! The Syndicate has recently cut back funding into boarding parties. What this means is no more hi-tech fancy energy guns. We've had to roll back to using cheaper, mass-produced automatic shotguns. But in retrospect, could this possibly be a downgrade?
-
-
-
01 October 2014
-
Cheridan updated:
-
-
Experienced smugglers have joined the Syndicate, adding their bag of tricks to its arsenal. These tricky pouches can even fit under floor plating!
-
-
Ikarrus updated:
-
-
Adds Gang War, a new game mode still in alpha development.
-
-
Incoming5643 updated:
-
-
After a public relations nightmare in which a horde of 30 assistants violently dismembered a sole commander the revolution has begin tactically reducing their initial presence in stations with weak command structures. Should stations add to their command staff during the shift additional support will be provided.
-
Too many instances of crying CMOs hiding in the lockers of supposedly secured revoulutionary stations has lead to a crackdown on revolutionary policy. You must kill or maroon the entire command staff, reguardless of when they reached the station.
-
Intense study into the underlying structure of the universe has revealed that everything fits into a massive SPACECUBE. This deep and profound understanding has led to a revolution in cross surface movement, and spacemen can look forward to a new era of predictable and safe space-fairing.
-
-
Jordie0608 updated:
-
-
Grille damage update, humans now deal less unarmed damage to grilles while projectiles and items deal more.
-
Replaced all AI turrets with porta-turrets that work on LoS instead of area and can be individually configured
-
-
Miauw updated:
-
-
Voice changer masks work again.
-
You can now turn voice changer masks on/off by activating them in your hand. They start off.
-
The amount of TC has been increased to 20, but the price of all items has been doubled as well
-
With this, the prices of stealthy items has been slightly decreased and the prices of offensive items slightly increased (+/- 1 TC)
-
-
RemieRichards, JJRcop updated:
-
-
New research in the area of robotics has been published on Maintenance Drones, little robots capable of repairing and improving the station. Unfortunately, all of the research was lost in a catastrophic server fire, but we know they can be made, so it's up to you to re-discover them! Make us proud!
-
-
phil235 updated:
-
-
Changed all clone damage descriptions to use the term cellular damage to avoid confusion with genetics mutations.
-
-
-
07 September 2014
-
Gun Hog updated:
-
-
Nanotrasen scientists have released a Heads-Up-Display (HUD) upgrade for all AI and Cyborg units! Cyborgs have had Medical sensors and a Security datacore integrated into their core hardware, replacing the need for a specific module.
-
AI units are now able to have suit sensor or crew manifest data displayed to them as a visual overlay. When viewing a crewmember with suit sensors set to health monitoring, the health status will be available on the AI's medical HUD. In Security mode, the role as printed on the crewmember's ID card will be displayed to the AI.
-
Any entity with a Security or Medical HUD active will recieve appropriate messages on that HUD.
-
-
Ikarrus updated:
-
-
Server Operators: A new config option added to restrict command and security roles to humans only. Simply add/uncomment the line ENFORCE_HUMAN_AUTHORITY in game_options.txt.
-
Players: To check if this config option is enabled on your server, type show-server-revision into the game's command line.
-
-
-
-
06 September 2014
-
Ikarrus updated:
-
-
Tampered supply ordering consoles can now order dangerous devices directly from the Syndicate for 140 points.
-
Securitrons line units will no longer arrest individuals without IDs if their faces can still be read.
-
Enemy Agent ID cards have been reported to be able to interfere with the new securitron threat assessment protocols.
-
The Syndicate base has been modified to only allow the leading operative to launch the mission.
-
-
-
-
04 September 2014
-
KyrahAbattoir updated:
-
-
All the objects found in BoxStation maintenance are now randomized at round start.
-
-
-
03 September 2014
-
Ikarrus updated:
-
-
Cost of Syndicate bombs increased to 6 telecrystals.
-
-
JStheguy updated:
-
-
Many new posters have been added.
-
-
-
01 September 2014
-
ChuckTheSheep updated:
-
-
Adds preference toggle for intent selection mode.
-
Direct selection mode switches intent to the one you click on instead of cycling them.
-
-
-
Ikarrus updated:
-
-
New more detailed End-Round report.
-
Removes count of readied players from the lobby.
-
-
-
Jordie0608 updated:
-
-
Virology has been made the right color.
-
-
Miauw updated:
-
-
A major rework of saycode has been completed which fixes numerous issues and improves functionality.
-
Please report any issues you notice with any form of messaging to Github.
-
-
-
-
31 August 2014
-
Tokiko1 updated:
-
-
Adds two new hairstyles.
-
-
-
30 August 2014
-
Ikarrus updated:
-
-
Space Station 13 has been authorized to requisition additional Tank Transfer Valves from Centcom's supply lines for the price of 60 cargo points.
-
-
-
26 August 2014
-
Ikarrus updated:
-
-
Security forces are advised to increase scrutiny on personnel coming into contact with AI systems. Central Intelligence suggests that Syndicate terrorist groups may have begun targeting our AIs for destruction.
-
For the preservation of corporate assets, Central Command would like to remind all personnel that evacuating during an emergency is mandatory. We suspect that terrorist groups may be attempting to abduct marooned personnel who failed to evacuate.
-
R&D; teams have released an urgent update to station teleporters. To eliminate the risk of mutation, personnel are advised to calibrate teleporters before attempting each use.
-
Centcom has approved the Captain's request to rig the display case in his office with a burglar alarm. Any attempts to breach the case will now trigger a lockdown of the room.
-
**Crew Monitoring Consoles now scan their own Z-level for suit sensors, instead of only scanning Z1.
-
**Server operators can now set a name for the station in config.txt. Simply add the line "STATIONNAME Space Station 13" anywhere on the text file. Replace Space Station 13 with your station name of choice.
-
-
-
-
24 August 2014
-
Ikarrus updated:
-
-
Ore redemption machine can now smelt plasteel.
-
Mulebot speed has been vastly increased by up to 300%.
-
Removed exploit where false walls can be used to cheese the AI chamber's defenses
-
-
-
21 August 2014
-
Ikarrus updated:
-
-
The Phase Shift ability will no longer instantly gib players. Instead, they will be knocked out for a few seconds. Mechas will be damaged.
-
The Phase Slayer ability will no longer instantly gib players. Instead, they will be dealt 190 brute damage. Mechas will be dealt 380 damage.
-
ADMIN: Most Event buttons have been moved out of the secrets menu and into a Fun verb.
-
-
-
20 August 2014
-
Cheridan updated:
-
-
Three new shotgun shells added. Create them by first researching and printing an unloaded tech shell in R&D.; Afterwards, use table-crafting with the appropriate components with a screwdriver in-hand.
Dragonsbreath: tech shell + 5 phosphorus (in container).
-
Incendiary rounds now leave a blazing trail as they pass. This includes existing incendiary rounds, new dragonsbreath rounds, and the Dark Gygax's carbine.
-
-
-
19 August 2014
-
Ikarrus updated:
-
-
Brig cells and labour shuttle have both been modified to send a message to all security HUDs whenever a prisoner is automatically released.
-
The labour camp has been outfitted with a points checking console to allow prisoners to check their quota progress easier and better explain the punishment system of forced labour.
-
-
-
18 August 2014
-
Iamgoofball updated:
-
-
25 new hairstyles have been added.
-
-
-
15 August 2014
-
AndroidSFV updated:
-
-
AI photography has been extended to Cyborgs. While connected to an AI, all images taken by cyborgs will be placed in the AI's album, and viewable by the AI and all linked Cyborgs.
-
When a Cyborgs AI link wire is pulsed, the images from the Cyborgs image album will be synced with the AI it gets linked to.
-
Additonally, Cyborgs are able to attach images to newscaster feeds from whichever album is active for them. Cyborgs are also mobile, inefficent, printers of same images.
-
-
-
11 August 2014
-
Ikarrus updated:
-
-
Boxstation map updates:
- -Singularity engine walled from from outer space
- -Shutters for exterior Science windows
- -Teleporter board moved from RD's Office to Tech Storage now that the teleporter can be built again.
- -Security Deputy Armbands (red) added in HoS's Office
-
-
-
14 July 2014
-
Miauw updated:
-
-
Added a new mutetoxin that can be made with 2 parts uranium, 1 part water and 1 part carbon and makes people mute temporarily
-
Parapens were renamed to sleepy pens and now contain 30 units of mutetoxin and 30 units of sleeptoxin instead of zombie powder.
-
C4 can no longer be attached to mobs
-
Reduced the C4 price to 1 telecrystal
-
-
-
07 July 2014
-
Firecage updated:
-
-
We, of the NanoTrasen Botany Research and Developent(NTBiRD), has some important announcements for the Botany staff aboard our stations.
-
We have recently released a new strain of Tower Cap. It is now ensured that more planks can be gotten from a single log.
-
Head Scientist [REDACTED] is thanked for his new strain of Blood Tomatoes. It now not only contains human blood, but also chunks of human flesh!
-
We have also discovered a way to replant the infamous Cash Trees and 'Eggy' plants. We can now harvest their seeds, and the rare products are inside the fruit shells.
-
Similar to the new variety of Tower Caps, it is now possible to get various grass flooring depending on the plants potency!
-
Our sponsors at Knitters United has released a new variation of the botany Aprons and Coveralls which can hold a larger variety of items!
-
A new version of Plant-B-Gone was produced which are much more lethal to plants, yet at the same time has no extra effect on humans besides the norm.
-
-
Paprika updated:
-
-
Tweaked mining turf mineral droprates and reverted mesons to the 'old' style of mesons. This means mesons will be more powerful with the added side effect of not being able to track individual light sources through walls and such. This is a trial run; please provide feedback on the /tg/ codebase section of the forum.
-
-
-
05 July 2014
-
Firecage updated:
-
-
Recently the Space Wizard Federation, with some assistance from the Cult of Nar-Sie, recently created a new strain of Killer Tomato. A sad side effect is this effected all current and future Killer Tomato strains in our galaxy. They are now reported to be extremely violent and deadly, use extreme caution when growing them.
-
-
-
03 July 2014
-
Miauw updated:
-
-
Added slot machines to the game
-
Slot machines use reels. All prizes except for jackpots can be won on all lines
-
Simply put a coin into one of the slot machines in the bar to play!
-
Slot machines can also be emagged.
-
-
-
01 July 2014
-
Ikarrus updated:
-
-
Central Security has approved an upgrade of the Securitron line of bots to a newer model. Highlights include:
-
-An optional setting to arrest personnel without an ID on their uniform (Disabled by default)
-
-An optional setting to notify security personnel of arrests made by the bots (Enabled by default)
-
-A new "Weapon Permit" access type that securitrons will use during their weapons checks. Personnel who work with weapons will be granted this access by default. More can be assigned by the station's Head of Security and Personnel.
-
-A more robust threat assessment algorithm to improve accuracy in identifying perpetrators.
-
-
Rolan7 updated:
-
-
Fixed the irrigation system in hydroponics trays. Adding at least 30 units of liquid at once will activate the system, sharing the reagents between all connected trays.
-
Changelings can communicate while muzzled or monkified, and being monkified doesn't stop them from taking human form.
-
Mimes cannot break the laws of physics unless their vow is currently active.
-
Trays are rewritten to make sense and so borgs can actually use them. Service borgs can discretely carry small objects, hint hint. The items are easily knocked out of them.
-
-
-
20 June 2014
-
Ikarrus updated:
-
-
The 'Enter Exosuit' button was removed, and you have to click + drag yourself to enter a mech now; like you would to enter a disposal unit.
-
-
-
12 June 2014
-
Cheridan updated:
-
-
NT Baton Refurbishment Team Notice: 'Released' option in security records has been renamed 'Discharged', and the sechud icon has been changed from a blue R to a blue D. Stop beating your released prisoners, dummies; they're not revheads.
-
NT Entertainment Department Notice: The prize-dispensing mechanism in Arcade machines has been replaced with a cheaper gas-powered motor. It should still be completely safe, unless an electromagnetic field disrupts it!
-
Pill code tweaked. In short, you can feed monkeys pills now #whoa
-
Casings ejected from guns will now spin #wow
-
-
-
11 June 2014
-
Ikarrus updated:
-
-
Having the nuke disk will no longer prevent you from using teleporters or crossing Z-levels. Leaving the Z-level however, will cause you to "suddenly lose" the disk.
-
Pulled objects will now transition with you when as you transition Z-levels in space.
-
-
Malkevin updated:
-
-
IEDs have been removed
-
Firebombs have been added
-
They're as reliable and predictable as you would expect from a soda can filled with flammable liquid and set off with an igniter contected to two wires. Use your branes and take proper precautions or leave a charred corpse, your choice.
-
-
-
06 June 2014
-
Gun Hog updated:
-
-
Nanotrasen programmers have discovered a potential exploit involving a station's door control networks. With sufficient computing power, the network can be overloaded and forced to open or bolt closed every airlock at once.
-
Some reports suggest that the latest firmware update to Artifical Intelligence units installed in our research stations may contain this exploit. Any such reports that state that should a station's AI unit "malfunction", it may gain the ability to use this exploit to initate a full lockdown of the station. Fire locks and blast doors are also said to be affected.
-
Nanotrasen officially holds no validity to these reports. We recommend that station personnel disregard such rumors.
-
-
-
20 May 2014
-
Kelenius updated:
-
-
After the years of extensive research into xenobiology, and thousands of scientists lost to the slimes, we have finally come to admitting that we don't have a clue how they work. However, we've outlined a few facts, and managed to breed a new kind of slimes. They will be shipped to your station on the next shifts. They are different from the ones they are used to in the following:
-
Their sight is better than ever, and now they can finally see things that are not directly pressed against them. Beware, they may appear more aggressive!
-
Their memory has also become better, and they will now remember the people who fed them. As a note, you need to grab the monkey or push it to show to the slime that you're giving it to them, and it's not just walking in.
-
Apparently, not only we have studied them, but they have also studied us. Slimes are now capable of showing various emotions, mimicking humans. Use it to your advantage.
-
There are reports of slimes showing signs of sentience. Further research is recommended.
-
One of the reported signs is their speech capability. Following facts have been gathered: they talk more often to those who feed them; they react to being called by the number, but 'slimes' is also acceptable; they are able to understand being ordered to "follow" someone, or "stop". There is a report of slime releasing the assistant after a scientist shouted at it, and then calmly ordered a slime to stop.
-
We've made a modification of a health scanner that is intended for the use on slimes. Two are available in the smartfridge.
-
We've come to a conclusion that 5 units of reagents are not necessary to cause slime core reactions. You actually only need one unit.
-
-
-
16 May 2014
-
Menshin updated:
-
-
Thanks to Nanotrasen's Engineering division, the power wiring of the station has a received a complete overhaul. Here are the highlight features in CentCom report :
-
Improved way of connecting cables! Finished is the time of "laying and praying" : it's now as simple as matching ends of each cables!
-
Unified way of connecting machines! Every machine is connected to a powernet through a node cable (it still needs to be anchored to receive power though)!
-
Lots of improvements in the cable cutting tools! Gone is the odd magic of physically separated yet still connected powernets (contact CentCom Engineering Division if you still witness something weird, we always have a fired form ready for our engineers!)!
-
Any conscientious (or not!) Station Engineer may check an "updated wiring manual" at http://www.tgstation13.org/wiki/Wiring#Power_Wires
-
-
-
14 May 2014
-
Ikarrus updated:
-
-
A recent breakthrough in Plasma Materials Research has led to the development of a stronger, tougher plasteel alloy that can better resist extreme heat by up to four times. A live demonstration preformed during a press conference earlier today showed a segment of reinforced wall resisting an attack by Thermite. The corporation also announces that upgrades to its existing stations is already underway.
-
-
-
07 May 2014
-
/Tg/station Code Management updated:
-
-
/tg/station code is now under a feature freeze until 7th June 2014. This means that the team will be concentrating on fixing bugs instead of adding features for the month.
-
You can find more information about the feature freeze here. http://tgstation13.org/phpBB/viewtopic.php?f=5&t;=273
-
This is the perfect time to report bugs, which you can do so here. https://github.com/tgstation/-tg-station/issues/new
-
-
-
30 April 2014
-
Giacom updated:
-
-
You now have to give a reason when calling the shuttle.
-
The amount of time it takes for the shuttle to refuel is now a config option, the default is 20 minutes.
-
-
Gun Hog updated:
-
-
Certain Enemies of the Corporation have discovered a critical exploit in the firmware of several NanoTrasen robots that could prevent the safe shutdown of units corrupted by illegally modified ID cards, dubbed "cryptographic sequencers".
-
NanoTrasen requires more research into this exploit, this we have issued a patch for AI and Cyborg software to simulate this malfunction. All NanoTrasen AI units are advised to only allow testing in a safe and contained environment. The robot can safely be reset at any time.
-
Unfortunately, a robot corrupted by a "cryptographic sequencer" still cannot be reset by any means. NanoTrasen urges regular maintenance and care of all robots to reduce replacement costs.
-
-
-
27 April 2014
-
Ikarrus updated:
-
-
NT Human Resources announces an expansion of the List of Company-Approved Hair Styles, as well as more relaxed gender restrictions on hair styles. Check with your local company-sponsored hairstylist to learn more.
-
-
-
22 April 2014
-
Ikarrus updated:
-
-
ID Computers have been modified to allow Station Heads of Staff to assign and remove access to their departments, as well as stripping the rank of their subordinates. An ID computer on the bridge is available for the use of this function.
-
-
-
20 April 2014
-
Gun Hog updated:
-
-
NanoTrasen Emergency Alerts System 4.20 has been released!
-
In the unfortunate event of any nuclear device being armed, the station will enter Code Delta Alert.
-
Should the nuclear explosive be disarmed, the station shall automatically return to its previous alert level.
-
-
Steelpoint updated:
-
-
A new AI satellite has been constructed in orbit of Space Station 13!
-
The satellite exclusivly is used to hold a station's Artifical Intelligence Unit, the satellite contains a miried of turret and motion sensor defences. A transit tube network is used to connect the satellite to the station, with the transit room being located at engineering south of the engi escape pod.
-
The AI Upload however has been moved north slightly and is connected directly to the bridge.
-
In addition, the Gravity Generator has been relocated from its prior position in engineering to the location of the old AI Upload, increasing its defence and logical positioning.
-
-
-
11 April 2014
-
Jordie0608 updated:
-
-
Wood planks can be used to make wood walls and airlocks; flammability not included
-
-
-
10 April 2014
-
Ikarrus updated:
-
-
Centcom officials have announced a new initiative to combat misuse of their Emergency Shuttle Service. After the shuttle has been recalled several times over the course of a simple work shift, Centcom will attempt to trace the signal origin and pinpoint its source for station authorities.
-
-
Steelpoint updated:
-
-
Thanks to Nanotrasen's Construction division, the brig has recieved a overhaul in its design, to increase ease of movement, including an addition of a "prisioner release room" and a insanity ward.
-
Furthing concerns among commentators, Nanotrasen has shipped out additional security equipment to station armories, including Riot Shotguns, tear gas grenades, additional securitron units and military grade Ion Guns.
-
JaniCo have released a new unique product called the JaniBelt. Capable of holding most standard issue janitorial equipment, designed to help relive inventory management among station janitors. In addition the Jani Water Tank has had its reserve of space clenaer increased to 500 units, up from 250.
-
-
-
Validsalad updated:
-
-
After concerns raised by security personel, new armor has been shipped that covers the lower waist and readjusts the helmet for comfort.
-
In addition, the aging riot shield has been replaced with a newer, more modern, apperance.
-
-
-
-
03 April 2014
-
Ikarrus updated:
-
-
NT AI Firmware version 2554.03.03 includes a function to notify the master AI when a new cyborg is slaved to it.
-
-
-
02 April 2014
-
Giacom updated:
-
-
The syndicate suit is now black and red, because black and red is the new red.
-
The Ruskie DJ Station now has a classy orange syndicate suit.
-
Security officers have been equipped with the latest in flashlight technology. You can find a SecLite™ inside your security belt or you can dispense one from the security vending machine.
-
-
Ikarrus updated:
-
-
Nanotrasen Construction division is pleased to announce the unveiling of our brand now state-of-the-art Space Station 13 v2.1.3!
-
-Scaffolding used during construction has been repurposed as an expanded maintenance around the station.
-
-Our new Emergency Transport Shuttle Mk III will be making its debut in times of crisis. Includes a new cargo area and extra security features.
-
-A redesigned brig will give security staff more peace of mind with added security features
-
-The armory is now protected by a motion alarm.
-
-The armory is now equipped with security hardsuits.
-
-A new command EVA wing has been added to EVA Storage. Station heads of staff will be able to make use of suits stored here.
-
-A new garden area will be made publicly available for everyone to enjoy some R&R; during their company-endorsed break periods
-
-A new Testing Lab has been added to the Science department for any field experiments that need to be run.
-
-The mining ore redemption machine has been relocated to the Cargo Delivery Office.
-
-
-
01 April 2014
-
Aranclanos updated:
-
-
Made combat more hardcore for hardcore players like myself. This won't be reverted.
-
-
Malkevin updated:
-
-
Sacrifice Cult - Cult has received a massive overhaul to how it works, focusing more on cult magics and sacrificing unbelievers. The most important changes are:
-
Cult starts off with alot more cultists, 6 cultists below 30 players and 9 above. The HoP can no longer be a round start cultist but is still convertible.
-
Cultists start off with join, blood, self, and hell. These give the runes for the sacrifice and convert.
-
Conversions now require three cultists and converts no longer reward words, words must be obtained via sacrifice
-
Sacrificing players traps their soul in a soul stone, which can then be used on construct shells to implant the souls in them
-
Constructs shells can be summoned via a new rune (travel, hell, technology)
-
You can no longer convert the sacrifice target, you dozzy sods
-
Summoning Narsie when she is not an objective leads to !!FUN!!
-
Wrote a system to allow all mob types to be sacrificable - currently only corgis are in the new system
-
Holy Water will DECONVERT cultists, takes around 35 units and two minutes to succeed
-
Hitting a mob that contains holy water with a tome will convert that water to unholy water, conversely hitting any container that contains unholy water with a bible as chaplain will 'cleanse' the taint.
-
Unholy water works like a combination synaptazine and hyperzine, with a twist of branes dimarge and highly toxic to non-cultists
-
Cargo can order a religious supplies crate - it contains flasks of holy water, candles, bibles, and robes
-
Cultists have an innate ability to communicate to the cult hive mind (BE AWARE - THIS DOES A LOT OF DAMAGE), cultists can also communicate via the new Commune option on their tomes (the Read Tome option has been shifted under the Notes option)
-
-
MrStonedOne updated:
-
-
Cyborgs can now use AI click shortcuts. (shift click on doors opens them, etc) (including ones added below)
-
New silicon click shortcut: Control+Shift click on doors toggles access override
-
New silicon click shortcut: Control click turret controls toggles them on or off
-
New silicon click shortcut: Alt click turret controls toggles lethal on or off
-
Cyborg hotkey mode was massively improved. 1-3 selects module slot, q unloads the active module. use hotkeys-help as cyborg for more details
-
-
-
31 March 2014
-
Ikarrus updated:
-
-
Fabricator blueprints for cyborg parts have been updated to allow the debugging of cyborg units prior to boot. To access the debug functions, assemble a cyborg following standard procedure. Before inserting the MMI, use a multitool on the cyborg body. Note that this update also moves designation data into the system files, so pens can no longer be used to name cyborgs.
-
-
MrPerson updated:
-
-
Toggling the "Play admin midis" preference will pause any playing songs. Turning midis back on will resume the current song where it was.
-
If there's a song playing while you have midis off and you then turn midis on, the current song will begin playing for you.
-
-
-
28 March 2014
-
Aranclanos updated:
-
-
Workaround with the click cooldowns. They should feel faster. If you think that anything needs a click cooldown (like grilles, mobs, etc.), report it to me.
-
Here's the fun part, this is a test for the community and players, I hope I won't be forced to revert this and hear "this is why we can't have nice things". Again, if anything needs a cooldown, report it to me. Have fun with your fast clicks spessmans.
-
-
-
25 March 2014
-
Ikarrus updated:
-
-
A security review committee has approved an update to all Nanotrasen airlocks to better resist cryptographic attacks by the enemy.
-
*New internal wiring will be able to withstand attacks, and panel wires will no longer be left unusable after an attack.
- *Welding tools will now be able to cut through welded doors that have been damaged.
- *Damaged electronics are now removable and replaceable following standard procedure.
- *Airlocks will not be able to operate autonomously until the electronics are replaced.
-
Hair sprites have been given a visual lift. For best results, set your hair color to be slightly lighter than how you want it to look. For dark hair, do not use a color darker than 80% black.
-
-
-
22 March 2014
-
Giacom updated:
-
-
Gravity is no longer beamed from CentCom! Instead, there is a new gravity generator stored near Engineering that will provide all the gravity for the station and the z level. Please remember that it gives off a lot of radiation when charging or discharging, so wear protection.
-
-
MrPerson updated:
-
-
Added a new, somewhat experimental system to delete things. This is basically a port from /vg/, so big thanks to N3X15.
-
As a result, bombs and the singularity should be much less laggy.
-
There may be issues with "phantom objects" or other problems with stuff that's suppoed to be deleted or objects interacting with deleted objects. Please report any issues right away!
-
-
-
18 March 2014
-
Ikarrus updated:
-
-
NT R&D; releases AI Patch version 2553.03.18, allowing all Nanotrasen AIs to override the access restrictions on any airlock in case of emergency. Nanotrasen airlocks have been outfitted with new amber warning lights that will flash while the override is active. Should maintenance teams need to restore an airlock's restrictions without using the AI, pulsing the airlock's ID Scanner wire will reset the override.
-
-
-
17 March 2014
-
Giacom updated:
-
-
Machines that had their programming overriden by a Malf AI will no longer attack loyal cyborgs; they will still attack cyborgs that aren't loyal, to the Malf AI that hacked them, though.
-
You only require a single unit of blood to mutate viruses now, instead of 5.
-
-
-
15 March 2014
-
Steelpoint/Validsalad updated:
-
-
After a review with CentCom, all Security Officers will now begin their shifts with a Stun Baton in their backpack. To avoid inflating costs however all Stun Batons have been removed from Security lockers except from the brig.
-
After decades of usage CentCom has replaced the Security Uniform, Armor, Belt and Helmet with a newer, more modern design.
-
-
-
14 March 2014
-
Ikarrus and Nienhaus updated:
-
-
Nanotrasen Corporate announced a revised dress codes primarily affecting senior station officers. A new uniform for Heads of Personnel will be shipped out to all NT Research stations.
-
-
-
12 March 2014
-
Yota updated:
-
-
Cameras finally capture the direction you are facing.
-
-
-
10 March 2014
-
Giacom updated:
-
-
Added two new plasma-level disease symptoms, both are very !FUN! and mess with your genetics.
-
Virologists now only need to use a single unit of virus food, mutagen or plasma to generate symptoms. You can take a single unit by using a dropper, if you change its unit transfer amount in the object tab..
-
Changed the map to make it harder to escape from the Labor Camp. Please continue using it.
-
-
Miauw updated:
-
-
Added changeling space suits. These allow changelings to survive in space, internals are not needed. They do not provide any sort of armor and slow your chemical regeneration.
-
-
-
05 March 2014
-
Various Coders updated:
-
-
Ling rounds are LINGIER, with more lings at a given population.
-
Many simple animals can ventcrawl, including bats. All ventcrawlers must alt-click to ventcrawl.
-
An automatic tool to store and replace machine parts has been added to R&D.;
-
Most stuns have been reduced in from 10+ to 5 ticks in duration.
-
Shoes no longer speed you up.
-
Added fancy suits, which can be orderd from cargo.
-
Added sombrerors and ponches.
-
Cuff application time reduced 25%.
-
Fire will cause fuel tanks to explode.
-
Mutagen has been reduced in lethality. Notably, 15 units are not guaranteed to crit the recipient.
-
-
-
03 March 2014
-
ChuckTheSheep updated:
-
-
Round-end report now shows what items were bought with a traitor's or nuke-op's uplink and how many TCs they used.
-
-
Drovidi Corv updated:
-
-
Facehuggers no longer die to zero-force weapons or projectiles like lasertag beams.
-
-
Incoming5643 updated:
-
-
Improved blob spores to zombify people adjacent to their tile.
-
If a hand-teleporter is activated while you're stuck inside a wall, you'll automatically go through it.
-
-
Miauw updated:
-
-
Decreased the lethality of Mutagen in small doses.
-
-
TZK13 updated:
-
-
Added Incendiary Shotgun Shells made at a hacked autolathe; Xenos be wary.
-
-
-
26 February 2014
-
Incoming5643 updated:
-
-
Color blending Kitty Ears have returned.
-
-
-
-
-
25 February 2014
-
Incoming5643 updated:
-
-
Colored burgers! Include a crayon in your microwave when cooking a burger and it'll come out just like a Pretty Pattie.
-
Fixed AI's being able to interact with syndicate bombs.
-
-
-
-
-
24 February 2014
-
Ergovisavi updated:
-
-
Added Advanced Mesons and Night Vision Goggles to the protolathe.
-
-
Giacom updated:
-
-
Silicons no longer stop statues from moving when in sight.
-
Increased the health of statues.
-
Increased the range of statues's blinding spell.
-
-
HornyGranny updated:
-
-
Reduced the range of Violin notes.
-
Low quality violin midi-notes replaced with better .ogg-notes.
-
-
Incoming5643 updated:
-
-
Improved the Syndicate Implant bundle to contain freedom, uplink, EMP, adrenalin and explosive implanters.
-
Added Mineral Storeroom to R&D; containing the Ore Redemption Machine; no more assistants stealing your ore in the open hallway.
-
-
Miauw updated:
-
-
No more removing cursed horseheads.
-
-
Razharas updated:
-
-
Fixed infinite telecrystal exploit.
-
-
-
-
-
19 February 2014
-
Aranclanos updated:
-
-
Removed the chance of your hat falling off when slipping.
Mining has been significantly overhauled. Hostile alien life has infested the western asteroid! Miners are given an equipment voucher to obtain equipment to protect themselves. There is a spare voucher in the HoP's office, should someone want to switch to mining mid-shift.
-
The Ore Redemption Machine has been added just outside of the Science wing. Ore goes in, Sheets go out, and points are tallied on the machine. Insert your ID to claim points, then spend them on goods at Mining Equipment Lockers. You require specific accesses to tell the Ore Redemption Machine to unload its sheets.
-
Should you not care for being eaten alive by horrible alien life, it is suggested you stick to the eastern asteroid, where there is no hostile alien life... though the yield on ore is not as good.
-
Most ore is no longer visible to the naked eye. You must ping it with a Mining Scanner (Available in all mining lockers) to locate nearby ore. Make sure to equip your mesons first, or it won't be visible.
-
Mesons no longer remove the darkness overlay, you must properly light your environment. Hull breaches to space can still be clearly seen, and it will still protect you from the singulo.
-
Mineral spawn rates have been significantly tweaked to cut down on unnecessary inflation of mineral economy.
-
The asteroid no longer has ambient power on the entire asteroid. AI's who go onto asteroid turf will slowly die of power loss. Mining outposts are unaffected.
-
Fixed an issue where projectiles shot by simple mobs or thrown would hit multiple times.
-
-
Fleure updated:
-
-
Reduced chicken crates to contain 1-3 chicks, down from 3-6
-
Increased fertile chicken egg chance from 10% to 25%
-
-
Yota updated:
-
-
Photograph now rendered crisp and clean, so that we may enjoy them in their 0.009 megapixel goodness.
-
Cameras should now capture more of what they should, and less of what they shouldn't.
-
-
-
-
-
09 February 2014
-
ADamDirtyApe updated:
-
-
The lawyer now spawns with a Sec Headset.
-
-
Demas updated:
-
-
Banana peel size is based on banana size.
-
Bigger peels slip for longer than smaller ones. Remember that produce size is based on potency.
-
The clown now spawns with a decent sized banana.
-
The banana mortar now shoots 65 potency peels.
-
-
Giacom updated:
-
-
A new hostile statue mob, can only move when not being observed, tends to break lights and cause blindness.
-
-
Incoming5643 updated:
-
-
Blob Zombies! When a Blob Spore moves over a dead human body it will infect the body and revive it as a more powerful varient of the spore. Has double the health and deals more damage.
-
-
Neerti updated:
-
-
Sec Belts can now hold Stun Batons.
-
Stun Batons now only take 10 seconds to fully recharge.
-
-
Razharas updated:
-
-
Tables can now be used as an alternative way to craft makeshift items. Simply click-drag table to yourself bring up a list.
-
-
adrix89 updated:
-
-
Spray Bottles can no longer wet up to three tiles with water.
-
Spray Bottles have a third higher release volume that wets a single tile.
-
Water slip times are reduced to the same stun times as soap.
-
-
-
-
-
08 February 2014
-
MrPerson updated:
-
-
Added a NanoUI for the SMES
-
-
Razharas updated:
-
-
Adds more constructible and deconstructable machines!
-
Added constructible miniature chemical dispensers, upgradable
-
Sleepers are now constructible and upgradable, open and close like DNA scanners, and don't require a console
-
Cryogenic tubes are now constructible and upgradable, open and close like DNA scanners, and you can set the cryogenic tube's pipe's direction by opening its panel and wrenching it to connect it to piping
-
Telescience pads are now constructible and upgradable
-
Telescience consoles are now constructible
-
Telescience tweaked (you can save data on GPS units now)
-
Teleporters are now constructible and upgradable, the console has a new interface and you can lock onto places saved to GPS units in telescience
-
Teleporters start unconnected. You need to manually reconnect the console, station and hub by opening the panel of the station and applying wire cutters to it.
-
Biogenerators are now constructible and upgradable
-
Atmospherics heaters and freezers are now constructible and upgradable and can be rotated with a wrench when their panel is open to connect them to pipes. Screw the board to switch between heater and freezer.
-
Mech chargers are now constructible and upgradable
-
Microwaves are now constructible and upgradable
-
All kitchen machinery can now be wrenched free
-
SMES are now constructible
-
Dragging a human's sprite to a cryogenic tube or sleeper will put them inside and activate it if it's cryo
-
Constructible newscasters, their frames are made with autolathes
-
Constructible pandemics
-
Constructible power turbines and their computers
-
Constructible power compressors
-
Constructible vending machines. Screw the board to switch vendor type.
-
Constructible hydroponics trays
-
Sprites for all this
-
This update will have unforeseen bugs, please report those you find at https://github.com/tgstation/-tg-station/issues/new if you want them fixed.
-
As usual, machines are deconstructed by screwing open their panels and crowbarring them. While constructing machines, examining them will tell you what parts you're missing.
-
-
-
-
-
05 February 2014
-
Yota updated:
-
-
Handling a couple flashlights will no longer transform you into the sun. Each light source will have deminishing returns.
-
Inserting lights into containers should no longer dim other lights.
-
-
-
-
-
03 February 2014
-
Demas updated:
-
-
Changes windoor and newscaster attack messages to be consistent with windows and grilles. This removes the distracting boldness from windoor attack messages, which is reserved for userdanger, and names the attacker.
-
Thrown items now play a sound effect on impact. The volume of the sound is based on the item's throwforce and/or weight class.
-
The fireaxe now has 15 throwforce, when previously it had only 1. But why would you throw it away, anyway?
-
Projectiles now play a sound upon impact. The volume of the sound depends on the damage done by the projectile. Damageless projectiles such as electrodes have static volumes. Practise laser and laser tag beams have no impact sound.
-
Added sear.ogg for the impacts of damaging beams such as lasers. It may be replaced if player feedback proves negative.
-
-
-
-
-
02 February 2014
-
Demas updated:
-
-
Attack sounds for all melee weapons! No more silent attacks.
-
The volume of an object's attack sound is based on the weapon's force and/or weight class.
-
Welders, lighters, matches, cigarettes, energy swords and energy axes have different attack sounds based on whether they're on or off.
-
Weapons that do no damage play a tap sound. The exceptions are the bike horn, which still honks, and the banhammer, which plays adminhelp.ogg. Surely nothing can go wrong with that last one.
-
When you tap someone with an object, the message now uses "tapped" or "patted" instead of attacked. The horn still uses HONKED, and the banhammer still uses BANNED.
-
You won't get the "armour has blocked an attack" message for harmless attacks anymore.
-
Adds 5 force to the lighter when it's lit. Same as when you accidentally burn yourself lighting it.
-
Removes boldness from item attack messages on non-human mobs. The attack is bolded for a player controlling a non-human mob. Now your eyes won't jump to the chat when it's Pun Pun who's being brutalised.
-
Blood will no longer come out of non-human mobs if the attack is harmless.
-
Adds a period at the end of the catatonic human examine message. That's been bugging me for years.
-
The activation and deactivation sounds of toy swords, energy swords and energy shields are slightly quieter. Energy swords and shields are now slightly louder than toys.
-
You can no longer light things with burnt matches.
-
Match, cigarette and lighter attack verbs, forces and damage types change based on whether the object is lit or not.
-
Fixes a bug with the energy blade that kept it at weight class 5 after it was deactivated. Who cares, it disappears upon deactivation.
-
Changes the welder out of fuel message slightly to be less fragmented.
-
Removes dead air from a lot of weapon sound effects to make them more responsive. In other words, the fire extinguisher attack sound will play a lot sooner after you attack than before.
-
Equalised the peak volumes of most weapon sounds to be -0.1dB in an attempt to make volumes based on force more consistent across different sounds.
-
-
-
-
-
01 February 2014
-
Ergovisavi updated:
-
-
Walking Mushrooms will now attack and eat each other! They're all a little unique from each other, no two shrooms are exactly alike, and a better quality harvest means stronger Walking Shrooms. Pit them against each other for your entertainment.
-
Each mushroom will have a different colored cap to identify them. When mushrooms eat each other, they get stronger. The resulting mushroom will drop more slices when cut down to harvest, and will have better quality slices.
-
Don't hurt them yourself, though, or you'll bruise them, and mushrooms won't get stronger from eating a bruised mushroom. If your mushroom faints, feed it a mushroom such as a plump helmet to get it back on its feet. It will slowly regenerate to full health eventually.
-
-
-
-
-
30 January 2014
-
Balrog updated:
-
-
Syndicate Playing Cards can now be found on the Syndicate Mothership and purchased from uplinks for 1 telecrystal.
-
Syndicate Playing Cards are lethal weapons both in melee and when thrown, but make the user's true allegiance to the Syndicate obvious.
-
Sprites are courtesy of Nienhaus.
-
-
Demas updated:
-
-
Adds thud sounds to falling over
-
Known bug: Thuds play when cloning initialises or someone is put into cryo. This will be fixed.
-
-
Ergovisavi updated:
-
-
Gibtonite, the explosive ore, can now be found on the asteroid. It's very hard to tell between it and diamonds, at first glance.
-
Gibtonite deposits will blow up after a countdown when you attempt to mine it, but you can stop it with an analyzer at any time. It makes for a good mining explosive.
-
The closer you were to the explosion when you analyze the Gibtonite deposit, the better the Gibtonite you can get from it.
-
Once extracted, it must be struck with a pickaxe or drill to activate it, where it will go through its countdown again to explode!
-
Explosives will no longer destroy the ore inside of asteroid walls or lying on the floor.
-
-
Miauw updated:
-
-
Adds changeling arm blades that cost 20 chems and do 25 brute damage.
-
Arm blades can pry open unpowered doors, replace surgical saws in brain removal, slice tables and smash computers.
-
-
MrPerson updated:
-
-
Mobs now lie down via turning icons rather than preturned sprites.
-
You can lie down facing up or down and the turn can be 90 degrees clockwise or counterclockwise.
-
Resting will always make you lie to the right so you look good on beds.
-
Please report any bugs you find with this system.
-
-
Petethegoat updated:
-
-
Increased the walk speed. Legcuffed speed is unaffected, and is still suffering.
-
Sped up alien drones, they are now the same speed as sentinels.
-
-
-
-
-
28 January 2014
-
Demas updated:
-
-
Adds thud sounds to falling over
-
Known bug: Thuds play when cloning initialises or someone is put into cryo. This will be fixed.
-
-
-
-
-
26 January 2014
-
Balrog updated:
-
-
Syndicate Playing Cards can now be found on the Syndicate Mothership and purchased from uplinks for 1 telecrystal.
-
Syndicate Playing Cards are lethal weapons both in melee and when thrown, but make the user's true allegiance to the Syndicate obvious.
-
Sprites are courtesy of Nienhaus.
-
-
-
-
-
25 January 2014
-
Miauw updated:
-
-
Adds changeling arm blades that cost 20 chems and do 25 brute damage.
-
Arm blades can pry open unpowered doors, replace surgical saws in brain removal, slice tables and smash computers.
-
-
-
-
-
24 January 2014
-
Ergovisavi updated:
-
-
Gibtonite, the explosive ore, can now be found on the asteroid. It's very hard to tell between it and diamonds, at first glance.
-
Gibtonite deposits will blow up after a countdown when you attempt to mine it, but you can stop it with an analyzer at any time. It makes for a good mining explosive.
-
The closer you were to the explosion when you analyze the Gibtonite deposit, the better the Gibtonite you can get from it.
-
Once extracted, it must be struck with a pickaxe or drill to activate it, where it will go through its countdown again to explode!
-
Explosives will no longer destroy the ore inside of asteroid walls or lying on the floor.
-
-
-
-
-
21 January 2014
-
MrPerson updated:
-
-
Mobs now lie down via turning icons rather than preturned sprites.
-
You can lie down facing up or down and the turn can be 90 degrees clockwise or counterclockwise.
-
Resting will always make you lie to the right so you look good on beds.
-
Please report any bugs you find with this system.
-
-
-
-
-
19 January 2014
-
KazeEspada updated:
-
-
The water cooler is now stocked with paper cups. You can refill the cups by putting paper in it.
-
-
Rolan7 updated:
-
-
You can now sell mutant seeds, from hydroponics, to Centcom via the supply shuttle.
-
Fixes powersinks causing APCs to stop automatically recharging.
-
-
-
-
-
17 January 2014
-
ManeaterMildred updated:
-
-
Changed the way the Gygax worked. It now has less defense and shot deflection, but is faster and have less battery drain per step.
-
Nerfed the Carbine's brute damage and renamed it to FNX-99 "Hades" Carbine.
-
Nerfed the Gygax defense from 300 to 250.
- Nerfed the Gygax projectile deflection chance from 15 to 5.
- Buffed the Gygax speed from 3 to 2, making it faster.
- Reduced the battery use when moving from 5 to 3.
-
- The Mech Ion Rifle now has a faster cooldown, from 40 to 20.
- Nerfed the carbine's Brute Damage from 20 to 5.
-
- Please post feedback to these changes on the forums.
-
-
-
-
-
-
15 January 2014
-
Dumpdavidson updated:
-
-
EMPs affect the equipment of a human again.
-
EMP flashlight now recharges over time and its description no longer reveals the illegal nature of the device.
-
EMP implant now has two uses. EMP kit now contains two grenades.
-
-
-
-
-
14 January 2014
-
Fleure updated:
-
-
Added spider butchery.
-
Added spider meat, legs, and edible eggs.
-
Added new spider related meals.
-
-
Giacom updated:
-
-
Because of an emagged cyborg's explosion, the MMI will die with it.
-
The self-respiration symptom will now properly keep you from dying of oxygen loss.
-
The Stimulant symptom's activation chance was increased so you had a constant flow of hyperzine.
-
-
Incoming updated:
-
-
A new training bomb has been added to the armoury, which will allow you to train your wire cutting skills to disarm real syndicate bombs.
-
-
ManeaterMildred updated:
-
-
Updated research designs.
-
The Protolathe can now build a Ion Rifle.
-
The Exosuit Fabricator can now build a Mech Ion Rifle, a Mech Carbine and a Mech-Mounted Missile Rack.
-
-
SirBayer updated:
-
-
Armor now reduces damage by the protection percentage, instead of randomly deciding to half or full block damage by those percentages.
-
Shotguns, with buckshot shells, will fire a spread of pellets at your target, like a real shotgun blast.
-
-
-
-
-
12 January 2014
-
VistaPOWA updated:
-
-
Added Syndicate Cyborgs.
-
They can be ordered for 25 telecrystals by Nuclear Operatives. A ghost / observer with "Be Operative" ticked in their game options will be chosen to control it.
-
Their loadout is: Crowbar, Flash, Emag, Esword, Ebow, Laser Rifle. Each weapon costs 100 charge to fire, except the Esword, which has a 500 charge hitcost. Each borg is equipped with a 25k cell by default.
-
Syndicate borgs can hear the binary channel, but they won't show up on the Robotics Control computer or be visible to the AI. Their lawset is the standard emag one.
-
Added two cyborg recharging stations to the Syndicate Shuttle.
-
-
-
-
-
11 January 2014
-
Cheridan updated:
-
-
You can now upgrade laser pointers with micro laser parts. It will increase the chance of blinding people.
-
-
Errorage updated:
-
-
Cyborg modules now use a new UI, which is much quicker than a menu.
-
-
Giacom updated:
-
-
The game will now have all background operations disabled, this will result in smoother gameplay but may result in some spike lags, before being set back to normal. The gradually increasing lag should now be gone.
-
You can now emag the crusher, in disposals, to remove the safety. You can use a screwdriver to reset it to the default factory settings.
-
The toxin compensation symptom will stop giving you toxin damage while at full health.
-
-
JJRCop updated:
-
-
The new nuke toy can now be found in your local arcade machine.
-
-
-
-
-
10 January 2014
-
ChuckTheSheep updated:
-
-
Morgue Trays can detect players in their bodies and will now change colour depending on a few things. Red = Dead body with no player inside. Orange = No body but items. Green = A dead body with a player inside.
-
-
Giacom updated:
-
-
You can whisper while in critical, but you will immediately die afterwards DRAMATICALLY. The closer you are to death, the less you can say.
-
The wizard won't spawn so much smoke after they blink.
-
The detective's forensic scanner was upgraded so that it can now scan from afar.
-
Made the ghost's follow button less buggy. Please make an issue report if it still bugs out.
-
-
Rumia29, Nienhaus updated:
-
-
A new alt RD uniform spawns in his locker.
-
-
-
-
-
07 January 2014
-
Fleure updated:
-
-
Janitor now spawns with a service headset.
-
Backpack watertank slowdown decreased.
-
-
-
-
-
04 January 2014
-
Razharas updated:
-
-
Constructable machines now depend on R&D; parts!
-
DNA scanner: Laser quality lessens irradiation. Manipulator quality drastically improves precision (9x for best part) and scanner quality allows you to scan suicides/ling husks, with the best part enabling the cloner's autoprocess button, making it scan people in the scanner automatically.
-
Clone pod: Manipulator quality improves the speed of cloning. Scanning module quality affects with how much health people will be ejected, will they get negative mutation/no mutations/clean of all mutations/random good mutation, at best quality will enable clone console's autoprocess button and will try to clone all the dead people in records automatically, together with best DNA scanner parts cloning console will be able to work in full automatic regime autoscanning people and autocloning them.
-
Borg recharger: Capacitors' quality and powercell max charge affect the speed at which borgs recharge. Manipulator quality allows borg to be slowly repaired while inside the recharges, best manipulator allows even fire damage to be slowly repaired.
-
Portable power generators: Capacitors' quality produce more power. Better lasers consume less fuel and reduce heat production PACMAN with best parts can keep whole station powered with about sheet of plamsa per minute (approximately, wasn't potent enough to test).
-
Autolathe: Better manipulator reduces the production time and lowers the cost of things(they will also have less m_amt and g_amt to prevent production of infinity metal), stacks' cant be reduced in cost, because thatll make production of infinity metal/glass easy
-
Protolathe: Manipulators quality affects the cost of things(they will also have less m_amt and g_amt to prevent production of infinity metal), best manipulators reduces the cost 5 times (!)
-
Circuit imprinter: Manipulator quality affects the cost, best manipulator reduce cost(acid insluded) 4 times, i.e. 20 boards per 100 units of acid
-
Destructive analyzer: Better parts allow items with less reliability in. Redone how reliability is handled, you now see item reliability in the deconstruction menu and deconstructing items that has same or one point less research type level will rise the reliability of all known designs that has one or more research type requirements as the deconstructed item. Designs of the same type raise in reliability more. Critically broken things rise reliability of the design drastically. Whole reliability system is not used a lot but now at least on the R&D; part it finally matters.
-
-
-
-
-
02 January 2014
-
Demas updated:
-
-
Added different colours to departmental radio frequencies. Now you'll be able to filter out or pay attention to each frequency a lot easier.
-
-
Fleure updated:
-
-
Fixed bruisepacks and ointments not working.
-
Fixed injecting/stabbing mouth or eyes when only thick suit worn.
-
-
-
-
-
01 January 2014
-
Errorage updated:
-
-
The damage overlay for humans starts a little later than before. It used to start at 10 points of fire + brute damage, it now starts at 35.
-
-
-
-
-
31 December 2013
-
Fleure updated:
-
-
Paper no longer appears with words on it when blank input written or photocopied
-
Vending machine speaker toggle button now works
-
Building arcade machines works again
-
-
-
-
-
27 December 2013
-
Giacom updated:
-
-
Light explosions will no longer gib dead bodies anymore. C4 will function the same and gib anything attached.
-
Syringe gun projectiles will now display a message when shots are deflected by space suits, biosuits and etc...
-
You can now move out of sleepers by moving, again.
-
-
Miauw updated:
-
-
Monkeys now have a resist button on their HUD.
-
-
-
-
-
21 December 2013
-
Bobylein updated:
-
-
Labcoats can now store bottles, beakers, pills, pill bottles and paper.
-
-
Giacom updated:
-
-
The Labor Camp has been changed based on feedback. Ore boxes added, internals added, safety pickaxes/shovels (might revert if unliked).
-
Labor Camp prisoners, who have earned enough points for freedom, will now have to be alone in the shuttle to move it and to open the middle door; this is in order to prevent free'd prisoners from releasing their comrades.
-
Monkeys no longer walk away when being pulled or grabbed.
-
Anti-breach shield generators have a greater range, and will cover more exposed space tiles.
-
-
Jordie updated:
-
-
Blowing up borgs from the Robotics Console will now actually make them explode. Emagged Cyborgs will explode even more.
-
-
Nienhaus updated:
-
-
Added more poster.
-
-
Perakp updated:
-
-
You can no longer slip while laying down.
-
-
RobRichards, Validsalad updated:
-
-
Added new sprites for the sec-hailer, SWAT gear and riot armour.
-
-
-
-
-
18 December 2013
-
Adrinus updated:
-
-
Playing cards, just like the real thing! Play poker, blackjack, go fish, the limits are limitless! Recommended to use space cash as the poker chips for now
-
-
Giacom updated:
-
-
THE REALISM: Injectors such as syringes, parapens and hypos will not penetrate coveralls with thick material, this includes space suits, biosuits, bombsuits, and their head slot equivalent. Injectors now also consider where you aim, if you aim for the head it will try to use it through the head slot, otherwise it will aim for the body. To clarify, if you are wearing a space helmet and a doctor tries to inject you while aiming at your head, it will protect you until they aim for the unprotected body; same story for wearing a space suit and not a helmet.
-
The syndicate shuttle has been heavily upgraded with a brand new technology which allows the blast doors to the entrance of the shuttle to AUTOMATICALLY close. Whoa. This brand new technology will help keep out those snoopy crew members.
-
Lowered the cooldown of creating virus cultures to 5 seconds. You now only need to mix one unit of synaptizine, in a blood full of an advance virus, to get it to remove a random symptom.
-
-
Incoming updated:
-
-
Rounds will no longer end when the wizard dies and there are still apprentices or traitors/survivors..
-
-
JJRcop updated:
-
-
Transit tube tweaks. You can now put someone into a transit tube pod using grabs and you can empty a transit tube pod by clicking on it.
-
-
Jordie0608 updated:
-
-
Replaced the digital valves in atmospherics with pumps.
-
-
-
-
-
14 December 2013
-
Incoming updated:
-
-
Magic Mania! Powerful new magical tools and skills for wizard and crew alike!
-
Beware the new Summon Magic spell, which will grant the crew access to magical tools and spells and cause some to misuse it!
-
One Time Spellbooks that can be spawned during summon magic that can teach a low level magic skill to anyone! Beware the effects of reading pre-owned books, the magical rights management is potent!
-
Magical Wands that can be spawned during Summon Magic! They come in a variety of effects that mimic both classical wizard spells and all new ones. They come precharged but lack the means to refill them once their magical energy is depleted... Fire efficently!
-
Be aware of the new Charge spell, which can take normally useless spent wands and give them new life! This mysterious effect has been found to wear down the overall magical potency of wands over time however. Beyond wands the clever magical user can find ways to use this spell on other things that may benefit from a magical charge...
-
The Staff of Resurrection, which holds intense healing magics able to defeat death itself! Look out for this invaluable magical tool during castings of Summon Magic.
-
Be on the lookout for a new apprentice! This noble mage is a different beast from most wizards, trained in the arts of defending and healing. Too bad he still works for the wizard!
-
-
-
-
-
09 December 2013
-
Giacom updated:
-
-
New colourful ghost sprites for BYOND members. Sprites by anonus.
-
-
-
-
-
08 December 2013
-
Rolan7 updated:
-
-
Leather gloves can be used to removes lights.
-
Plant, ore, and trash bags have a new option to pick up all items of single type
-
Creating astroturf now works like sandstone, converting all the grass at once.
-
Uranium and radium can be used instead of mutagen. 10 can mutate species, 5 or 2 mutate traits. Highly toxic.
-
Plants require a little light to live. Mushroom require even less (2 units vs 4) and take less damage.
-
-
-
-
-
05 December 2013
-
Razharas updated:
-
-
Reworked how ling stings are done, now when you click a sting in the changeling tab it becomes current active sting, the icon of that sting appears under the chem counter, alt+clicking anyone will sting them with current sting, clicking the icon of the sting will unset it.
-
Monkeys have ling chem counter and active sting icons in their UI.
-
Going monkey -> human will try to equip the human with everything on the ground below it.
-
-
-
-
-
02 December 2013
-
Giacom updated:
-
-
A less annoying virology system! From now on, you can only get low level virus symptoms from virus food, medium level virus symptoms from unstable mutagen and high level virus symptoms from liquid plasma. You can find a list of symptoms, and which chemicals are required to get them, here: http://wiki.ss13.eu/index.php/Infections#Symptoms_Table
-
The virologist starts with a bottle of plasma in his smart fridge.
-
Made it so you cannot accidentally click in the gaps between chem masters.
-
-
-
-
-
01 December 2013
-
cookingboy3 updated:
-
-
Added three new buttons to the sandbox panel.
-
Removed canister menu, replaced it with buttons.
-
Players can no longer spawn "dangerous" canisters in sandbox, such as Plasma, N20, CO2, and Nitrogen.
-
-
-
-
-
30 November 2013
-
Yota updated:
-
-
The identification console will now require that ID and job names follow the same restrictions as player names.
-
NTSL scripts and parrots should now handle apostrophes and such properly. It's about time.
-
NTSL scripts now have a better sense of time.
-
-
-
-
-
28 November 2013
-
Malkevin updated:
-
-
Made the suit storage on the Captain's Tunic more useful than just a place to store your e-o2 tank. You can now store the nuke disk, stamps, medal box, flashes and melee weapons (mainly intended for the Chain of Command), and of course - smoking paraphernalia
-
-
-
-
-
27 November 2013
-
RobRichards updated:
-
-
Nanotrasen surgeons are now certified to perform Limb replacements, The robotic parts used in construction of Nanotrasen Cyborgs are the only parts authorized for crew augmentation, these replacement limbs can be repaired with standard welding tools and cables.
-
-
-
-
-
17 November 2013
-
Laharl Montgommery updated:
-
-
AI can now anchor and unanchor itself. In short, it means the AI can be dragged, if it wants to.
-
-
-
-
-
29 September 2013
-
RobRichards updated:
-
-
Nanotrasen Cyborg Upgrades:
-Standard issue Engineering cyborgs now come equipped with replacement floor tiles which they can replenish at recharge stations.
-
-
-
-
-
-
28 September 2013
-
Ergovisavi updated:
-
-
Mobs can now be lit on fire. Wearing a full firesuit (or similar) will protect you. Extinguishers, Showers, Space, Cryo, Resisting, being splashed with water can all extinguish you. Being splashed with fuel/ethanol/plasma makes you more flammable. Water makes you less flammable.
-
-
-
-
-
-
26 September 2013
-
Cheridan updated:
-
-
Nanotrasen Anomaly Primer:
- Unstable anomalies have been spotted in your region of space. These anomalies can be hazardous and destructive, though our initial encounters with these space oddities has discovered a method of neutralization. Method follows.
-
Step 1. Upon confirmation of an anomaly sighting, report its location. Early detection is key.
- Step 2. Using an atmospheric analyzer at short range, determine the frequency that the anomaly's core is fluctuating at.
- Step 3. Send a signal through the frequency using a radio signaller. Note that non-specialized signaller devices may possibly lack the frequency range needed.
- With the anomaly neutralized and the station brought out of danger, inspect the area for any remnants of the anomaly. Properly researched, we believe these events could provide vast amounts of valuable data.
- Did you find this report helpful?
-
-
-
-
-
-
-
21 September 2013
-
Malkevin updated:
-
-
Due to complaints about Security not announcing themselves before making arrests NT has now issued it's Sec team with loud hailer integrated gas masks, found in their standard equipment lockers. Users can adjust the mask's level of aggression with a screwdriver.
Juggernaut's ablative armor has been adjusted. They have a greater chance to reflect lasers however on reflection they take half damage instead of no damage, basically this adjustment means you should be able to kill a Juggernaut with two laser guns instead of four! Also their reflection spread has been greatly widened, enjoy the lightshow
-
Cargo can now order exile implants.
-
Checking a collector's last power output via analyzers has been moved to multitools, because that actually made sense (betcha didn't know this existed, I know I didn't)
-
Analyzers can now be used to check the gas level of the tank in a loaded radiation collector (yay no more crowbars), you can also use them on pipes to check gas levels (yay no more pipe meters)
-
-
-
-
-
-
-
17 September 2013
-
SuperSayu updated:
-
-
You can no longer strip people through windows and windoors
-
You can open doors by hand even if there is a firedoor in the way, making firedoor+airlock no longer an unbeatable combination
-
Ghosts can now click on anything to examine it, or double click to jump to a turf. Double clicking a mob, bot, or (heaven forbid) singularity/Nar-Sie will let you follow it. Double clicking your own corpse re-enters it.
-
AI can double click a mob to follow it, as well as double clicking turfs to jump.
-
Ventcrawling mobs can alt-click a vent to start ventcrawling.
-
Telekinesis is now part of the click system. You can click on buttons, items, etc, without having a telekinetic throw in hand; the throw will appear when you click on something you can move (with your mind).
-
-
-
-
-
-
13 September 2013
-
JJRcop updated:
-
-
We at Nanotrasen would like to assure you that we know the pain of waiting five minutes for the emergency shuttle to be dispatched in a high-alert situation due to our confirmation-of-distress policy. Therefore, we have amended our confirmation-of-distress policy so that, in the event of a red alert, the distress confirmation period is shortened to three minutes and we will hurry in preparing the shuttle for transit. This totals to 6 minutes, in hope that it will give our very expensive equipment a better chance of recovery.
-
-
-
-
-
-
3 September 2013
-
Cael_Aislinn updated:
-
-
Terbs Fun Week Day 5: Chef gets a Nanotrasen-issued icecream machine with four pre-approved icecream flavours and two official cone types.
-
-
-
-
-
-
2 September 2013
-
Cael_Aislinn updated:
-
-
Terbs Fun Week Day 4: Humans, aliens and cyborgs now show speech bubbles when they talk.
-
-
-
-
-
-
1 September 2013
-
Cael_Aislinn updated:
-
-
Terbs Fun Week Day 3: Detective can reskin his gun to one of five variants: Leopard Spots, Gold Trim, Black Panther, Peacemaker and the Original.
-
-
-
-
-
-
12 September 2013
-
AndroidSFV updated:
-
-
AI Photography: AIs now have two new verbs, Take Picture and View Picture. The pictures the AI takes are centered on the AI's eyeobj. You can use these pictures on a newscaster, and print them at a photocopier.
-
-
-
-
-
-
31 August 2013
-
Cael_Aislinn updated:
-
-
Terbs Fun Week Day 2: RD, lawyers and librarians now spawn with a laser pointer. Don't point them in anyone's eyes!
-
-
-
-
-
-
30 August 2013
-
Cael_Aislinn updated:
-
-
Terbs Fun Week Day 1: Added ghost chilis as a mutation of chili plants. Be careful, they're one of the hottest foods in the galaxy!
-
-
-
-
-
-
21 August 2013
-
Dumpdavidson updated:
-
-
Replaced the EMP grenades from the uplink with an EMP kit. The kit contains a grenade, an implant and a flashlight with 5 uses that can EMP any object or mob in melee range.
-
-
-
-
-
-
18 August 2013
-
Delicious updated:
-
-
Made time and date consistent across medical and security records, mecha logs and detective scanner reports
-
Added date to PDA
-
-
-
-
-
-
13 August 2013
-
Giacom updated:
-
-
Malf AIs now have a new power which will spawn a "borging machine". This machine will turn living humans into loyal cyborgs which the AI can use to take over the station with. The AI will limit themselves by using this ability, such as no shunting, and the machine will have a long cooldown usage.
-
-
-
-
-
-
-
-
-
12 August 2013
-
Giacom updated:
-
-
Changed the blob balance to make the blob start strong but grow slower, resulting in rounds where the blob doesn't instantly get killed off if found out and doesn't immediately dominate after being left alone long enough. AIs no longer have to quarantine the station.
-
-
-
-
-
-
10 August 2013
-
Malkevin updated:
-
-
Cargo Overhaul: Phase 1
-
Ported Bay's cargo computer categoy system
-
Crates have been tweaked significantly. Crates have been reduced to single item types where possible, namely with expensive crates such as weapons and armor. A total of 28 new crates have been added, including chemical and tracking implants, and raw materials can also be bought from cargo for a significant number of points (subject to change)
-
This was a pretty large edit of repetitive data, so no doubt I've made a mistake or two. Please report any bugs to the usual place
-
-
-
-
-
-
6 August 2013
-
Giacom updated:
-
-
NTSL no longer allows you to use a function within another function parameter. This was changed to help prevent server crashes; if your working script no longer compiles this is why.
-
-
-
-
-
-
5 August 2013
-
Kaze Espada updated:
-
-
Nanotrasen has recentely had to change its provider of alcoholic beverages to a provider of lower quality. Cases of the old ailment known as alcohol poisoning have returned. Bar goers are to be weary of this new condition.
-
-
-
-
-
-
4 August 2013
-
Giacom updated:
-
-
Nanotrasen has re-arranged the station blueprint designs to have non-essential APCs moved to the maintenance hallways. Non-essential rooms that aren't connected to a maintenance hallway will have their APC remain. Station Engineers will now have easy access to a room's APC without needing access themselves. Nanotrasen also wishes to remind you that you should not sabotage these easy to access APCs to cause distractions or to lockdown someone in a location. Thank you for reading.
-
-
-
-
-
-
31 July 2013
-
Ricotez updated:
-
-
Atmospherics now has its own hardsuit. Instead of radiation protection it offers fire protection.
-
-
-
-
-
-
21 July 2013
-
Malkevin updated:
-
-
Cultists now start with two words each, and the starting talisman no longer damages you when you use it
-
-
-
-
-
-
-
21 July 2013
-
Cheridan updated:
-
-
Instead of a level-up system where it is possible to acquire all the skills, each skill now costs 1 point, and you can pick up to 5.Husking people, instead of giving you more XP to buy skills, now gives you a skill reset, allowing you to pick new ones.
-
DNA Extract Sting is now free, and is your main mode of acquiring DNA. You can hold up to 5 DNAs, and as you acquire more, the oldest one is removed. If you're currently using the oldest DNA strand, you will be required to transform before gaining more.
-
New abilities! An UI indicator for chemical storage! Fun!
-
-
-
-
-
-
16 July 2013
-
Malkevin updated:
-
-
Summary of my recent changes: Added a muzzle and a box of Prisoner ID cards to the perma wing, RnD can make a new combined gas mask with welding visor, added some atmos analyzers to atmospherics, air alarm circuit boards have their own sprites, package wrapped objects will now loop back round to the mail chute instead of auto-rerouting to disposals, and the detective and captain have access to securitrons through their PDA cartridges.
-
-
-
-
-
15 July 2013
-
Giacom updated:
-
-
A new item has been added to the syndicate catalog. The AI detector is a device disguised as a multitool; it is not only able to be used as a real multitool but when it detects an AI looking at it, or it's holder, it will turn red to indicate to the holder that he should cease supiscious activities. A great and cheap, to produce, tool for undercover operations involving an AI as the security system.
-
-
-
-
-
-
7 July 2013
-
Giacom updated:
-
-
Revamped blob mode and the blob random event to spawn a player controlled overmind that can expand the blob and upgrade pieces that perform particular functions. This will use resources which the core can slowly generate or you can place blob pieces that will give you more resources.
-
-
-
-
-
27 June 2013
-
Ikarrus updated:
-
-
Nanotrasen R&D released a new firmware patch for their station AIs. Included among the changes is the new ability for AIs to interact with fire doors. R&D officials state they feel giving station AIs more influence could only lead to good things.
-
-
-
-
-
16 June 2013
-
Khub updated:
-
-
Job preferences menu now not only allows you to left-click the level (i.e. [Medium]) to raise it, but also to right-click it to lower it. That means you don't have to cycle through all the levels to get rid of a [Low].
-
-
-
-
-
-
15 June 2013
-
Carnie updated:
-
-
DNA-scanner pods (DNA-modifier + cloning), now open and close in a similar fashion to closets. This means you click on them to open/close them. This change was to fix a number of issues, like items being lost in the scanner-pods.
-
As a side-effect, borgs can now clone humans. No harm can become a dead human, so they are not necessarily lawbound to clone them, and such tasks are probably best left to qualified genetics staff.
-
-
Petethegoat updated:
-
-
Updated chemical grenades. The build process is much the same, except they require an igniter-X assembly instead of a single assembly item. You can also just use a cable coil to get regular grenade behaviour.
-
-
-
-
-
9 June 2013
-
Ikarrus updated:
-
-
Server operators may now allow latejoiners to become antagonists. Check game_options.txt for more information.
-
Server operators may now set how traitors and changelings scale to population. Check game_options.txt for more information.
-
-
-
-
-
6 June 2013
-
Giacom updated:
-
-
Emptying someone's pockets won't display a message. In theory you can now pickpocket!
-
-
-
-
-
-
4 June 2013
-
Dumpdavidson updated:
-
-
Headsets can no longer broadcast into a channel that is disabled. Headsets now have a button to turn off the power instead of the speaker. This button disables all communication functions. EMPs now force affected radios off for about 20 seconds.
-
-
-
-
-
2 June 2013
-
Ikarrus updated:
-
-
To reduce costs of security equipment, mounted flashers have been adjusted to use common handheld flashes as their flashbulbs. Although these flashbulbs are more prone to burnout, they can easily be replaced with wirecutters.
-
-
-
-
-
25 May 2013
-
Ikarrus updated:
-
-
CentCom announced some minor restructuring within Space Station 13's command structure. Most notable of these changes is the removal of the Head of Personnel's access to the security radio channel. CentCom officials have stated the intention was to make the HoP's role more specialized and less partial towards security.
-
-
-
-
-
14 May 2013
-
Ikarrus updated:
-
-
Nanotrasen seeks to further cut operating costs on experimental cyborg units.
- -Cyborg chassis will now be made from a cheaper but less durable design.
- -RCDs found on engineering models have been replaced with a smaller model to make room for a metal rods module.
- -Cyborg arms will no longer be long enough to allow for self-repairs.
- NOTE: A cyborg's individual modules have been found to become non-operational should the unit sustain too much structural damage.
-
-
-
-
-
11 May 2013
-
Malkevin updated:
-
-
SecHuds now check for valid clearance before allowing you to change someone's arrest status. There is only one way to bypass the ID check, and its not the usual way.
-
-
-
-
-
-
7 May 2013
-
Ikarrus updated:
-
-
As a part of the most recent round of budget cuts, toolboxes will now be made with a cheaper but heavier alloy. HR reminds employees to avoid being struck with toolboxes, as toolbox-related injuries are not covered under the company's standard health plan.
-
-
-
-
-
5 May 2013
-
Rolan7 updated:
-
-
Cargo manifests from CentComm may contain errors. Stamp them DENIED for refunds. Doesn't apply to secure or large crates. Check the orders console for CentComm feedback.
-
-
-
-
-
2 May 2013
-
Malkevin updated:
-
-
You can now weld four floor tiles together to make a metal sheet
-
The All-In-One Grinder can now grind Metal, Plasteel, Glass, Reinforced Glass, and Wood sheets
-
Made grey backpacks slightly less ugly
-
-
-
-
-
30 April 2013
-
Ikarrus updated:
-
-
Researchers have discovered that glass shards are, in fact, dangerous due to their typically sharp nature. Our internal Safety Committee advises that glass shards only be handled while using Nanotrasen-approved hand-protective equipment.
-
-
-
-
-
24 April 2013
-
Carnie updated:
-
-
DNA reworked: All SE blocks are randomised. DNA-modifier emitter strength affects the size of the change in the hex-character hit. Emitter duration makes it more likely to hit the character you click on. Almost all DNA-modifier functions are on one screen. Balancing -will- be off a bit. Is getting halk to hard/easy? Please report bugs/balancing issues/concerns here: http://forums.nanotrasen.com/viewtopic.php?f=15&t=13083 <3
-
-
-
-
-
26 April 2013
-
Aranclanos updated:
-
-
Exosuit fabricators will now need to be manually updated
-
-
Ikarrus updated:
-
-
Commanding Officers of Nanotrasen Stations have been issued a box of medals to be awarded to crew members who display exemplary conduct.
-
-
-
-
-
-
23 April 2013
-
Malkevin updated:
-
-
Replaced the captain's run of the mill armored vest with his very own unique vest. Offers slightly better bullet protection.
-
-
-
-
-
-
22 April 2013
-
Malkevin updated:
-
-
Overhauled the thermal insulation system
-
All clothing that protected from one side of the thermal spectrum now protects from the other.
-
Armor (although most don't have full coverage) protects between 160 to 600 kelvin
-
Firesuits protect between 60 to 30,000 kelvin (Note: Hotspot damage still exists)
-
CE's hardsuit got its firesuit level protection back
-
Bomb suits function as ghetto riot gear
-
-
-
-
-
22 April 2013
-
Cheridan updated:
-
-
Stungloves removed 5eva.
-
Don't rage yet. Makeshift stunprods(similar in function to stungloves) and spears are now craftable. Make them by using a rod on cable restraits, then adding something.
-
Stun batons/prods now work off power cells, which can be removed and replaced! Use a screwdriver to remove the battery.
-
-
-
-
-
-
17 April 2013
-
Giacom updated:
-
-
If the configuration option is enabled, AIs and or Cyborgs will not be able to communicate vocally. This means they cannot talk normally and need to use alternative methods to do so
-
-
-
-
-
-
10 April 2013
-
Cheridan updated:
-
-
You can now condense capsaicin into pepper spray with chemistry.
-
Pepper spray made slightly more effective.
-
Teargas grenades can be obtained in Weapons and Riot crates.
-
Riot crate comes with 2 sets of gear instead of 3, made cheaper. Beanbag crate removed entirely. Just make more at the autolathe instead. Bureaucracy crate cheaper, now has film roll.
-
NT bluespace engineers have ironed-out that little issue with the teleporter occasionally malfunctioning and dropping users into deep space. Please note, however, that bluespace teleporters are still sensitive experimental technology, and should be Test Fired before use to ensure proper function.
-
-
-
-
-
-
9 April 2013
-
Ikarrus updated:
-
-
Liquid Plasma have been found to have strange and unexpected results on virion cultures. The executive chief science officer urges virologists to explore the possibilities this new discovery could bring.
-
After years or research, our scientists have engineered this cutting-edge technology born from the science of shaving. The Electric Space-Razor 5000! It uses moisturizers to refuel your face while you shave with not three, not four, but FIVE lazer-precise inner blades for maximum comfort.
-
-
-
-
-
4 April 2013
-
Cheridan updated:
-
-
When an AI shunts into an APC, the pinpointer will begin tracking it. When the AI returns to its core, the pinpointer will go back to locating the nuke disc.
-
New sechud icons for sec officers/HoS, medical doctors, and loyalty implants.
-
-
-
-
-
28 March 2013
-
Carnie updated:
-
-
Empty character slots in your preferences screen will now randomize. So they won't initialise as bald, diaper-clad, white-guys.
-
Reworked the savefile versioning/updating code. Your preferences data is less likely to be lost.
-
-
-
-
-
14 March 2013
-
Major_sephiroth updated:
-
-
You can now light cigarettes with other cigarettes, and candles. And cigars. Light a cigar with a candle! It's possible now!
-
-
-
-
-
13 March 2013
-
Elo001 updated:
-
-
You can now open and close job slots for some jobs at any IDcomputer. There is a cooldown when opening or closing a position.
-
-
-
-
-
8 March 2013
-
Kor updated:
-
-
You can now construct/destroy bookcases. This is super exciting and game changing.
-
-
-
-
-
6 March 2013
-
Petethegoat updated:
-
-
Petethegoat says, "Added a new feature involvi-GLORF"
-
Overhauled how grabs work. There aren't any interesting mechanical differences yet, but they should be a lot more effective already. You don't have to double click them anymore. Report any bugs with grabbing directly to me, or on the issue tracker.
-
-
-
-
-
24 February 2013
-
Ikarrus updated:
-
-
AI has been moved back to the center of the station. Telecoms has been moved to engineering.
-
-
Faerdan updated:
-
-
Competely new UI overhaul! Most user interface have been converted.
-
-
-
-
22 February 2013
-
Petethegoat updated:
-
-
Added cavity implant surgery.
-
Additionally, surgery must now be performed with help intent. Some procedures have also been updated.
- As always, check the wiki for details.
-
-
-
-
-
18 February 2013
-
Ikarrus updated:
-
-
The AI has been moved to Research Division, and Telecomms has been moved into the former AI chamber. Affected areas: Telecoms Satellite, Research Division South & Command Sector.
-
-
Incoming updated:
-
-
Added three new types of surgery- lipoplasty, plastic surgery, and gender reassignment.
-
-
Kor updated:
-
-
The RD has lost access to telecomms, and basic engineers have gained it.
-
-
-
-
-
14 February 2013
-
Petethegoat updated:
-
-
Updated surgery: you now initiate surgery with surgical drapes or a bedsheet. Most procedures have changed, check the wiki for details. Currently it's pretty boring, but this paves the way for exciting new stuff- new procedures are very simple to add. Report any bugs directly to me, or on the issue tracker.
-
-
-
-
-
13 February 2013
-
Giacom updated:
-
-
There are now hackable wires for the PA computer. To open the interface, click on it while the wires are exposed/panel is open. All but one wire will do something interesting, see if you can figure it out. You can also attach signallers to the wires so have fun remotely releasing the singularity.
-
New staff of animation icon by Teh Wolf!
-
You can now hack plastic explosives (C4)!
-
You can now use NTSL to send signals! With the function signal(frequency, code) you can create some clever ways to trigger a bomb. NTSL also has two new additions; return in the global scope will now stop the remaining code from executing and NTSL now has "elseif"s, huzzah!
-
-
Kor "I'm quitting I swear" Phaeron updated:
-
-
You've been asking for it for years, it's finally here. Wizards can spend points to buy apprentices.
-
A new wizard artefact, the scrying orb.
-
The spellbook now has descriptions of spells/items visible BEFORE you purchase them.
-
-
Petethegoat updated:
-
-
Traitors with the station blueprints steal objective can now use a photo of the blueprints instead!
-
-
-
-
-
11 February 2013
-
SuperSayu updated:
-
-
Signallers, prox sensors, mouse traps and infrared beams can now be attacheed to grenades to create a variety of mines.
-
A slime core can be placed in a large grenade in place of a beaker. When the grenade goes off, the chemicals from the second container will be transfered to the slime core, triggering the usual reaction.
-
-
-
-
-
10 Feburary 2012
-
Ikarrus updated:
-
-
Implants can now be surgically removed. Hint: They're inside the skull.
-
-
-
-
-
07 February 2012
-
Giacom updated:
-
-
The return of the Nanotrasen Scripting Language! (NTSL) If you haven't heard of NTSL, it is a scripting language within a game for telecomms. Yes, you can create scripts to interact with the radio! For more information, head here: http://wiki.nanotrasen.com/index.php?title=NT_Script But before you do, if you are not an antag, do not create bad scripts which hinders communication.
-
Cameras, mulebots, APCs, radios and cyborgs can have signallers attached to their wires, like airlocks!
-
Cameras have non-randomized wires and the power wire when pulsed will now toggle the camera on and off.
-
Cyborgs have a new wire, the lockdown wire! It will disable/enable the lockdown of a Cyborg when pulsed.
-
The traffic control computer (or more commonly known as the computer which lets you add NTSL scripts) will now have a user log, which will log all user activity. Other users can then view that log and see who has been uploading naughty scripts!
-
NTSL has two new functions! time() and timestamp(format) will help you increase the range of types of scripts you can make, especially time(); since you can then make the scripts know the different between each execution by storing the results in memory.
-
Two new advance disease symptoms! Their names are "Longevity" and "Anti-Bodies Metabolism". Have fun experimenting with them!
-
-
-
-
-
-
31 January 2013
-
Kor "Even in death I still code" Phaeron updated:
-
-
Four new slime types with their own reactions and two new reactions for old slimes.
-
Put a suit of reactive teleport armour back in the RD's office.
-
Chemistry now has two dispensers (with half charge each) so both chemists can actually work at the same time.
-
-
-
-
-
-
27 January 2013
-
Ikarrus updated:
-
-
Security frequency chatter now appears in cyan (Similar to how command is gold)
-
Cheridan updated:
-
-
The plant bags in Hydroponics lockers have been replaced with upgraded models with seed-extraction tech. Activate with via right-click menu or Objects verb tab.
-
Obtaining grass tiles works a bit different now: grass is harvested as a normal plant item, clicking on it in-hand produces the tile.
-
-
-
-
-
26 January 2013
-
Pete updated:
-
-
Added hugging and kicking. I also updated the text styles for clicking on humans in most intents, but they should be pretty much the same.
-
-
-
-
-
25 January 2013
-
Errorage updated:
-
-
All the equipment you spawn with will now contain your fingerprints, giving the detective more ability to tell where items came from and if a crewmember has changed clothing.
-
-
-
Better explosions: Explosion spreading will now be determined by walls, airlocks and poddoors and not just a flat circle.
-
-
-
-
-
20 January 2013
-
Cheridan updated:
-
-
Chickens will now lay a certain number of eggs after being fed wheat, rather than just laying them whenever they felt like it. No more chickensplosions.
-
-
-
-
-
16 January 2013
-
-
Department Security can now be runned:
- Department Security decentralizes security by assigning each officer to a different department. They will be given the radio channel and access to their assigned department along with a security post. The brig has been remapped to be smaller to accomodate this change.
- To run DeptSec: Before compiling, server operators must tick jobs.dm (in WorkInProgress/Sigyn/Department Sec) and use map 2.1.1 instead of 2.1.0.
-
-
-
-
-
/tg/station 13 Presents
-
Directed by S0ldi3rKr4s0
-
& produced by Petethegoat
-
-
Curse of the Horseman.
-
-
-
-
-
12 January 2013
-
Cael Aislinn updated:
-
-
Spiders which will breed and spread through vents. Different classes of vents. AI controlled only at the moment.
-
Farm animals! Cows, goats and chickens are now available. You can order them at Cargo Bay.
-
-
Giacom updated:
-
-
Staff of animation mimics will no longer care whether you are holding the staff or not, they will never attack their creator.
-
Brainrot will only need alkysine to be cured.
-
New spider infestation event based on Cael's spiders. The announcement will be the same as alien infestations.
-
-
-
-
-
11 January 2013
-
Giacom updated:
-
-
Plasma (Air) will give the breather the plasma reagent, for a toxic effect, instead of just straight damage.
-
The agent card will now work inside PDAs/Wallets; meaning the AI won't be able to track you.
-
-
-
-
-
09 January 2013
-
Malkevin updated:
-
-
The owl mask now functions as a gasmask for increased crimestopping power.
-
-
-
Adds the missing icons for the arrest statuses of Parolled and Released, as well as a little blinking icon for chemical implants.
-
-
-
-
-
08 January 2013
-
Cael Aislinn & WJohnston updated:
-
-
Many new icons for aliens (death, sleeping, unconscious, neurotox, thrown/impregnated facehugger etc)
-
Alien larva can now be removed by dangerous and unnecessary surgery (and actually chestburst if they aren't).
-
Alien larva now have sprites to represent their growth: bloody at 0%, pale at 25% and 75% the normal deep red.
-
New icon overlays for representing alien embryo progression.
-
-
-
-
07 January 2013
-
Kor updated:
-
-
Four new slime types with their own extract reactions have been added. Sprites this time were created by Reisyn, SuperElement, and LePinkyFace.
-
-
-
-
02 January 2013
-
Kor updated:
-
-
Slime breeding! There are now 13 varities of slime, each with its own extract reaction (inject five units of plasma). Some of these reactions are reused from the old cores, some are new. As to breeding, each colour of slime has a series of other slimes it may mutate into when it reproduces.
-
-
Giacom updated:
-
-
You can now use wallets as IDs and equip them in your ID slot.
-
Firesuits are once again effective at protecting you from heat. The flames themselves will still hurt you, even with a firesuit. The damage protection is much better with a firesuit though.
-
Engineering starts with a PACMAN generator for jump starting the singularity if the power runs out of the SMES. 30 plasma spawns in Secure Storage inside the crate, to use as fuel for the generator.
-
-
-
-
31 December 2012
-
Giacom updated:
-
-
Simple animals (Corgis, Cats, Constructs, Mice, Etc...) can now pull people.
-
You can quickly stop pulling on someone by pulling them, while they're already being pulled by you. For example, CTRL+Click on something you are pulling to quickly stop pulling it.
-
-
-
-
30 December 2012
-
Giacom updated:
-
-
Emitters now require to be wired in order to work. When there is not enough power it will stop shooting until there is enough power, meaning you do not have to turn it back on, just get the power flowing.
-
You can order shield generators from cargo. Teleporter access is required to open the crate.
-
-
Ikarrus updated:
-
-
Map: Reorganized the Command Sector. The Captain has his own private quarters in addition to his office.
-
-
-
-
26 December 2012
-
Ikarrus updated:
-
-
An agent card is now required to use doors and controls on the Syndicate Shuttle (Nuke).
-
Scanning gas tanks is now a PDA-cart function. Only Atmos and Science PDA carts have this function. Have fun mislabelling gas tanks!
-
-
-
-
23 December 2012
-
Giacom updated:
-
-
The syndicate Military PDA will not show up on possible PDAs to message anymore, even when the receive/signal is turned on. You can still send messages and people can still reply to you.
-
You can now sell processed plasma for supply points. The conversion rate is 2 plasma sheets for 1 point. You must put the plasma in a crate for it to count.
-
The mecha toy prize promotion has officially ended. You can no longer redeem all 11 action mecha figures for a real mech. New toy redeeming promotions in the future will be considered.
-
-
-
-
21 December 2012
-
Ikarrus updated:
-
-
You can now use . to speak over headset department channels in addition to the : and # characters.
-
-
-
-
19 December 2012
-
Nodrak updated:
-
-
You can now use # to speak over headset department channels. For example say "#e Hello" will say "Hello" over the engineering channel. say ":e Hello" will still work as it always has.
-
-
-
-
16 December 2012
-
Giacom updated:
-
-
You can now create your own solar arrays! Order the solar pack crate and you'll receive 21 solar assemblies, 1 electronic which you can put into an assembly to make it a solar tracker and finally the solar computer circuit board. You will get more detailed instructions in the crate, on a piece of paper. Engineering will also start with this crate to help repair destroyed solar arrays.
-
-
Petethegoat updated:
-
-
Added a new option to the key authorisation devices. It removes the maintenance access requirement from all doors. It's irreversible, so only use it in an emergency!
-
-
-
-
15 December 2012
-
Ikarrus updated:
-
-
Swapped the locations of the Library and Chapel. Thanks to killerz104 for the remap.
-
Partial remap of atmos. Monitoring and Refill stations are now the same room.
-
Toxins Mixing should be working properly again.
-
-
-
-
12 December 2012
-
Ikarrus updated:
-
-
Robotics is now a full Science department.
-
Completely remapped Research Division, Robotics, Medbay, and the Library.
-
Partially remapped Cargo Bay, Mining Dock, Engineering, and Atmospherics.
-
Changed the access of the HoS and HoP. For a list, refer to their respective wikipages.
-
-
Errorage updated:
-
-
Miners now have to go through cargo to reach the Mining Dock.
-
-
Petethegoat updated:
-
-
The Detective's revolver no longer cares about how cool you look. It now spawns in his locker.
-
Added new inhands for most energy weapons, by Flashkirby!
-
-
Giacom updated:
-
-
Disintegrate (EI NATH) will leave behind the brain of the victim. Possible productive uses include: trophies, looking awesome as you gib someone and only their brain remains, people to talk to when you get an MMI, pocket brains, a way to get back into the game if the wizard didn't grab your brain and stuffed it into his bag.
-
-
-
-
07 December 2012
-
Giacom updated:
-
-
The detective's scanner was upgraded, it can now scan for reagents in items and living beings. Potential uses include, scanning dead bodies for leftover poison or scanning items to see if they have been spiked.
-
You can now attach photos to newscaster news feeds and wanted posters.
-
You can now emag buttons to remove access from them.
-
The CentComm. Report has been changed so it no longer names potential antagonists. It will just announce the potential round type instead.
-
-
-
-
05 December 2012
-
Cheridan updated:
-
-
Agent cards have been upgraded with microscanners, allowing operatives in the field to copy access levels off of other ID cards.
-
-
Ikarrus updated:
-
-
The Chief Medical Officer, Research Director, Chief Engineer, and Lawyers now have basic Brig access (corridor only)
-
Merged Mining and Cargo radio channels into the Supply Radio. To use the supply channel, use :u
-
Mining Dock remapped to be more compact and closer to cargo.
-
-
Giacom updated:
-
-
The wizard's fireball spell is once again dumbfire. It will fire in the direction of the wizard instead of having to choose from a list of targets and then home in on them.
-
-
-
-
-
02 December 2012
-
Giacom updated:
-
-
Added a new artefact called the "Staff of Animation". You can get it in the Wizard's Spellbook. It will animate objects and items, but not machines, to fight for you. The animated objects will not attack the bearer of the staff which animates them, meaning if you lose your staff, or if it gets stolen, your minions will turn on you.
-
-
-
-
-
30 November 2012
-
Petethegoat updated:
-
-
Janitor has recieved a slightly upgrade mop bucket. The old one is still there too.
-
-
Ikarrus updated:
-
-
Swapped the locations of the Vault and Tech Storage.
-
Cargo Techs, Miners, and Roboticists no longer start with gloves. They are still available from their lockers.
-
-
-
-
-
28 November 2012
-
Kor updated:
-
-
Slimes have replaced roros (finally)! Right now they are functionally identical, but massive expansion of slimes and xenobio is planned. Sprites are by Cheridan.
-
-
-
-
-
25 November 2012
-
Giacom updated:
-
-
Added new very high level symptoms which are only obtainable in the virus crate. Virus crate will also come with mutagen.
-
-
Petethegoat updated:
-
-
Removed clown planet! It'll return shortly in away mission form.
-
-
Ikarrus updated:
-
-
Added Gateway access. Only the RD, HoP, and Captain start with this.
-
New access levels in the brig: -Brig access now opens the front doors of the brig, as well as other lower-risk security areas. -Security access allows you into the break room and equipment lockers. -Holding Cells allows you to use brig timers and lets you in the Prison Wing. -The Detective no longer has Security Equipment access.
-
Significantly increased max cloneloss penalty for fresh clones to 40%.
-
-
-
-
-
23 November 2012
-
Giacom updated:
-
-
Simplified detective stuff. The high-res scanner is gone and instead the detective's normal scanner will instantly report all fingerprints, dna and cloth fibers in full. This was needed because the system took too long to work with and disencouraged detectives. Not only that, it made detectives less of a threat for antagonists and made possible scenerios, such as framing someone by changing fingerprints with someone else, impratical. To replace the computer, the detective will have a full medical computer with access to it. Not only that, but his useless filing cabinet will be replaced with an empty one for serious investigators. Along with this, are fingerprint cards and built-in PDA scanning, as all of security had access to it which was really the detective's thing. The new scanner will also log every finding and you can print them out as a report by clicking the scanner while it is in your active hand.
-
You can toggle the pressure of your sprayer by clicking on it while it is in your active hand. With pressure, the sprayer will spray 10 units on the floor, otherwise it sprays 5. You'll need to turn pressure on to spray water on the floor and make it slippery.
-
AIs in intellicards can no longer move their camera. This will limit them in ability but without making creating and carding an AI to have as a personel door opener impossible.
-
Telecommunication Busses can now be set to change the frequency of a signal. (Allowing you to say.. set the command channel to broadcast to the common channel).
-
Telecommunication was changed to be more effecient. Because of this, Relays don't need a broadcaster or a receiver and you can setup a relay on it's own. You can still disable sending and or receiving from the relay's interface.
-
-
Zelacks updated:
-
-
Plant Analysers now work on seed bags.
-
-
-
-
-
21 November 2012
-
Petethegoat updated:
-
-
The nuke shuttle can now travel at will, and to any location. When travelling from syndicate space to the station, (and vice versa), it will travel through hyperspace.
-
-
Carn updated:
-
-
Changed savefile structure. There's a bunch of unused files left lying around so old savefiles will be purged. Sorry for the inconvenience. Many preferences have been moved to the Preferences verb tab. Everything in that tab is persistent between rounds (it updates your savefile, so even DCing won't reset them). Enjoy x
-
-
Phol updated:
-
-
Added female sprites for most mutant races.
-
-
Cheridan updated:
-
-
SSU manufacturers have issued a product recall! It seems old models shipped with faulty wiring, causing them to short-circuit.
-
-
-
-
-
20 November 2012
-
Kor updated:
-
-
Added Exile Implants to the Gateway room. Someone implanted with an Exile Implant will be able to enter the away mission, but unable to return from it. Not only can they be used for getting rid of dangerous criminals, but revs/stationheads count as dead while on the away mission, and traitor/changeling/wizard assassination targets count as dead if they're on the away mission at round end, allowing for those objectives to be completed peacefully.
-
Added medical hardsuits, sprited by Majorsephiroth. Two of them spawn in EVA. Their most unique/medical oriented feature is being able to hold a medkit in the suit storage slot, allowing you to easily access medicine while keeping your hands free.
-
-
-
-
-
19 November 2012
-
Giacom updated:
-
-
Malf AIs can only shunt to APCs from their core. Meaning their core needs to be alive before they can shunt to another APC. Malf AIs can start a takeover inside an APC now.
-
When taking damage, the next sequence of the overlay will show for a bit before reverting to the overlay you should have. This allows you to know you are taking damage without having to check the text screen.
-
-
-
-
-
18 November 2012
-
Petethegoat updated:
-
-
Ported over BS12 style cameras. They now take a photo of a 3x3 area!
-
Catatonic people (those that have ghosted while alive) now count as dead for assasinate objectives.
-
-
-
-
-
17 November 2012
-
Donkie updated:
-
-
You can now deconstruct and construct Air Alarms and Fire Alarms. Read wiki on howto.
-
-
Giacom updated:
-
-
Medical Cyborgs no longer lose the reagents in their hypospray when switching modes.
-
Spaceacillin will now help stop the spread of diseases.
-
You can once again make floors slippery by spraying water. This was done by increasing the amount the sprayer uses, which is from 5 to 10. You can also empty your sprayer's contents onto the floor with a verb in the Object tab.
-
-
-
-
-
16 November 2012
-
Kor updated:
-
-
Fixed the syndicate teleporter door, making teleport assaults possible. It will once again open when you open the outter door.
-
-
-
-
-
-
15 November 2012
-
Giacom updated:
-
-
You can now name your advance diseases! You can't name already known diseases though.
-
Chemical implants can now hold 50 units instead of 10 units.
-
-
-
-
-
13 November 2012
-
Giacom updated:
-
-
More work to advance diseases. Please report any bugs to the bug tracker, I have tried everything that I can on my own but I'll need lots of people playing to fix the more minor bugs. You can find a guide to making your own diseases here: LINK!
-
Reduced the cost to use Hive Absorb from 40 to 20. This is to help encourage people to use this power more and to use team work.
-
New symptom added! See if you can find it.
-
You can now remove symptoms from a disease using synaptizine.
-
Kor: You can once again debrain changelings. They won't make anyone half-lings though, and you won't be able to tell if the body of a debrained changeling is a changeling by putting a player brain in there.
-
-
Nodrak updated:
-
-
Wizards can no longer cast spells when muzzled. It iss now actually possible to capture a live wizard without constantly injecting them with chloral.
-
You can no longer take bags of holding or mechs to the clown planet.
-
-
-
-
-
11 November 2012
-
Carn updated:
-
-
Admin-ranks changes
- Lots of changes. This is just a brief summary of the most recent changes; still working on proper documentation.
- All admins have access to view-vars, player-panel(for individual mobs), game panel and secrets panel. Most of the things on those pages have their own rights requirements. For instance, you can only use event orientated secrets in the secret panel if you have FUN rights. Debug secrets if you have DEBUG rights. etc.
- Spawn xeno and toggle gravity procs were moved into the secrets panel (fun).
- This may help with understanding which flags do what. Unfortuanately it's still somewhat vague.
- If you have any problems, feel free to PM me at irc.rizon.net #coderbus. I go by the username carn or carnie.
-
-
-
-
-
-
11 November 2012
-
Kor updated:
-
-
New cyborg upgrade available for production that requires illegal and combat tech
-
Summon Guns has a new gun type created by Ausops. It also lets the user know when its been cast now to prevent people trying to buy it multiple times
-
Grilles are no longer immortal in regards to solid projectiles, you can now shoot out windows.
-
-
-
-
-
09 November 2012
-
Giacom updated:
-
-
Cyborgs can now ping and beep! (Say "*beep" and "*ping") Thanks to Rahlzel for the proposal.
-
HULKS WILL NOW TALK IN ALL CAPS AND WILL RANDOMLY SAY HULK THINGS. Thanks to Brotemis for the proposal.
-
Sorry for the inconveniences with advance diseases. They are working much better now!
-
An improved APC sprite by TankNut!
-
-
-
-
-
-
05 November 2012
-
Giacom updated:
-
-
-
AIs can now tweak with a bot's setting like a human who unlocked the bot.
-
-
-
-
-
05 November 2012
-
Errorage updated:
-
-
Being in an area with extremely low pressure will now deal some damage, if you're not protected.
-
Space suits and the captain's armor now protect against pressure damage
-
Slightly lowered all environment damage intakes (temperature, oxygen deprevation) to make up for low pressure damage.
-
Pressure protection finally works properly. Items that protect from pressure (firesuits, space suits, fire helmets, ...) will now properly protect. The pressure damage indicator will update properly based on the pressure effects on you. Black (low) and red (high) mean you are taking damage.
-
Slightly slowed down the speed at which your body temperature changes if you are in a very hot or very cold area. The speed at which you recover from an abnormal body temperature remains the same.
-
-
-
-
-
-
03 November 2012
-
TankNut updated:
-
-
New APC sprite.
-
New Wraith sprite and jaunting animation.
-
-
-
-
-
03 November 2012
-
WJohnston updated:
-
-
New Ablative Armor sprite.
-
-
-
-
-
03 November 2012
-
Giacom updated:
-
-
-
Airborne diseases will not spread through walls now.
-
Reduced queen healing rate to 5. The maximum health will be enough.
-
Aliens can now clear hatched eggs by clicking on them.
-
-
-
-
-
02 November 2012
-
Errorage updated:
-
-
You can once again travel to the station, derelict, satellite and mining z-levels through space. You will also never loop into the same level on transition - So if you are exiting the derelict z-level, you will enter one of the other z-levels.
-
-
-
-
-
-
01 November 2012
-
Giacom updated:
-
-
Aliens now take x2 as much damage from fire based weaponary, instead of x1.5.
-
Doors are now weaker than walls; so normal weapons can destroy them much more easily.
-
-
-
-
-
31 October 2012
-
Giacom updated:
-
-
Advance evolving diseases! Virology can now create, mutate and mix advance diseases together. I replaced the two bottles of blood in Virology with the advance disease. I'll write a wiki article soon enough. Here's a tip: Putting mutagen or virus food (a mixture of milk, water and oxygen) in blood with an existing disease will mutate it to gain symptoms. It can potentially lose old symptoms in the process, so keep backups!
-
-
-
-
-
28 October 2012
-
Errorage updated:
-
-
You can now set your character's age up to 85. This used to be 45.
Added a medical records cabinet to the Detective's office.
-
Added a safe to the vault. Who'll be the first to crack it?
-
-
Nodrak updated:
-
-
The CE has a new pet!
-
-
-
-
-
25 October 2012
-
Flashkirby99 updated:
-
-
Added 18 new hairstyles!
-
-
-
-
-
24 October 2012
-
Giacom updated:
-
-
Throwing eggs will result in the reagents of the egg reacting to the target. (Which can be a turf, object or mob) This creates possibilities like chloral eggs, lube eggs, and many more.
-
Aliens can now acid walls and floors! Not R-Walls though.
-
Facehugger throw range reduced to 5, so aim at humans that are 2 tiles apart from the edge of your screen.
-
Making eggs is a little more expensive but secreting resin is cheaper. (Both cost 75 now)
-
Aliens no longer have a random duration of stunning humans, it's a constant value now of the lower based value.
-
Acid is less random and will be more reliable. Don't bother aciding stuff more than once, as it will waste plasma.
-
You can now target non-dense items (such as facehuggers) with a gun.
-
You can now shoot canisters, computers and windoors to break them.
-
-
-
-
-
18 October 2012
-
Giacom updated:
-
-
As an AI, you can type in the "track with camera" command and get a list of names to show up there. This also works with "list camera" verb. Remember to use space to auto-fill.
-
Welding goggles have been added. They are like welding helmets but they are for the glasses equipment slot. Science and the assembly line are given a pair.
-
Thanks to WJohnston for the welding goggle icons.
-
Small change to the Assembly Line. Instead of six normal flashes, the Assembly Line will instead have two normal flashes and eight synthetic flashes. Synthetic flashes only work once but are designed to be used in construction of Cyborgs.
-
Nar-Sie put on a few pounds. Thanks HornyGranny.
-
-
-
-
-
16 October 2012
-
Giacom updated:
-
-
New changeling powers!
-
Hive Channel/Hive Absorb. Allows you to share your DNA with other changelings, very expensive chemical wise to absorb (download), not so much to channel (upload)! You cannot achieve your objective by sharing DNA.
-
Mimic Voice! You can form your voice of a name you enter. You won't look like them but when you talk, people will hear the name of who you selected. While you're mimicing, you can't regenerate chemicals.
-
Extract DNA! A power that allows you to silently sting someone and take their DNA! Meaning you do not have to absorb someone to become them. Extracting their DNA doesn't count towards completing your objectives.
-
You can now get flares from red emergency toolboxes. Has a 50% chance of a flash-light or a flare spawning.
-
Flare icon by Ausops!
-
Thanks to RavingManiac (Smoke Carter), Roros now lay eggs which can grow into baby roros or be used for cooking recipes. Scientists will need to expose the egg to plasma for it to hatch; while it is orange (grown).
-
A new icon for the map spawned x-ray cameras. Icon by Krutchen.
-
-
-
-
-
13 October 2012
-
Giacom updated:
-
-
Facehuggers have a new animation, thanks to Sly.
-
Firelocks, glass-less airlocks and walls will stop heat.
-
Fires are now more deadly, especially the flames.
-
Fires will now break windows.
-
-
-
-
-
10 October 2012
-
Giacom updated:
-
-
Larva grow a little bit faster when on weeds or when breathing in plasma.
-
-
-
-
-
8 October 2012
-
Giacom updated:
-
-
Thanks to Skasi. Atmospherics has been changed to be made simpler and spawn with the new atmos features, such as the heaters.
-
Radio headsets can only be heard by people wearing them on their ear slot. This will let us do more fun stuff with headsets, such as a traitor encryption key which can listen to all the channels, but not talk in them.
-
-
-
Kor updated:
-
-
A pen no longer spawns in your pocket. Instead, each PDA will spawn with a pen already in it.
-
-
-
-
-
5 October 2012
-
Giacom updated:
-
-
Aliens can now be harmed by fire. They now also take double fire damage, meaning flame based weaponry is very effective.
-
Buffed alien facehuggers and eggs. Facehuggers don't go idle anymore, and they attach to anyone who walks past them. Eggs do the same; fully grown eggs will open to potential hosts. If you are still in the range of them, the facehugger inside will leap out and hug you. Removed "activate facehuggers", since it's useless now. Emote "roar" if you want to roar now.
-
There can be only one living queen at a time, if the queen dies then a drone can take her place as a princess.
-
Buffed queen regeneration a bit, so it's not the same as her underlings. It's also more important because there can only be one queen at a time.
-
Aliens don't slip in space anymore.
-
Hulks don't paralyze aliens anymore, they instead slow them down to a slow crawl. It is very effective for punching aliens out of weeds, so it can't regenerate it's health.
-
New egg opening and opened egg icons by WJohnston.
-
-
Aranclanos updated:
-
-
A buncha crud nobody cares about lol Added a light to the airlock wiring interface to show the status of the timing.
-
You can't fill sprays without being next to the dispenser.
-
Simple animals no longer freeze to death in places with normal temperature.
-
Mechs no longer freeze on the spot when they are using the Energy Relay on powerless areas.
-
Improvements to showers, they now clean gear on beltslot, back, ears and eyes. Showers only clean visible gear.
-
Replica pods works again! But you can't make potato people without a key or clone people who ghosted alive (Catatonic).
-
Engiborgs can deconstruct airlocks with their RCDs once again.
-
You can construct airlocks while standing on another airlock with RCDs.
-
-
-
-
-
3 October 2012
-
Agouri updated:
-
-
-
-
-
1 October 2012
-
Cheridan updated:
-
-
Wizards have a new artifact added to their spellbooks.
-
-
-
-
-
-
30 September 2012
-
Numbers updated:
-
-
Readded Volume Pumps - now they work as intended and are constructable
-
Readded Passive Gates - now they work as intended and are constructable
-
Readded Heat Exchangers - now they work as intended and are constructable
-
Added Heater - to warm up gasses to 300C
-
Pipe dispensers can produce the readded pieces.
-
New graphics for all of the above - courtesy by Ausops.
-
-
-
-
-
30 September 2012
-
Giacom updated:
-
-
Airlocks now use the Environmental power channel, since they are airlocks after-all. Meaning, when power is low the airlocks will still work until the environmental channel on the APC is turned off. This applies to all the door control buttons too. Pipe meters now use the environmental power channel. If you have any comments have this change, please let me know in the feedback section of the forums.
-
-
-
-
-
26 September 2012
-
Carnwennan updated:
-
-
Added new hotkeys. Type hotkeys-help for details or see the drop-down help menu at the top of the game window.
-
-
Aranclanos updated:
-
-
Mechs are once again spaceproof!
-
The YouTool machine is now all access
-
Cutting tower caps in hand no longer deletes the wood, and planks now auto stack
-
-
-
-
-
25 September 2012
-
Donkie updated:
-
-
Reworked the Piano, now really optimized and new interface!
-
-
-
-
-
24 September 2012
-
Petethegoat updated:
-
-
Hopefully fixed the stop midis button. It should now stop any midis that are currently playing.
-
-
-
-
-
23 September 2012
-
Petethegoat updated:
-
-
Fixed an exploit which would allow the janitor to magically mop floors.
-
Added lipstick~ It's not available on station, as Nanotrasen has deemed it contraband.
-
If you encounter any issues with computers, notify an admin, or ask for assistance on #coderbus, on irc.rizon.net.
-
-
Donkie updated:
-
-
Updated the Package Tagger with new interface!
-
You can now dispense, remove and retag sort junctions properly!
-
-
-
-
-
17 September 2012
-
Cheridan updated:
-
-
Metroids have been replaced with Rorobeasts. Roros are strange latex-based lifeforms that hate light, fun, and gloves.
-
-
-
-
-
17 September 2012
-
Carn updated:
-
-
F5 is now a hotkey for adminghosting. F8 toggles ghost-like invisibility for admins.
-
Catatonia makes you fall down. Admins appear braindead when admin-ghosting.
-
"Set-observe"/"Set-play" renamed and merged into "Aghost".
-
"Lay down/Get up" renamed to "Rest"
-
Closets can't be sold on the supply shuttle anymore
-
Fixed all dat light
-
-
-
-
-
13 September 2012
-
Carn updated:
-
-
New Hotkeys (Trial period). Details can be found in the help menu or via the hotkeys-help verb. It's all client-side. It shouldn't intefere with regular controls (except ctrl+A, ctrl+S, ctrl+D and ctrl+W).
-
-
-
-
-
10 September 2012
-
Giacom updated:
-
-
AIs can double click on mobs to instantly start tracking them.
-
-
-
-
-
Important note for server hosts!
-
Important note for server hosts!:
-
-
The file /code/defines/hub.dm was moved into /code/hub.dm. To get your server back on the hub, open /code/hub.dm and set the hub variables again. Sorry for the inconvenience.
-
-
-
-
8 September 2012
-
Carn updated:
-
-
Added an additional check to stop changelings sharing powers/becomming un-absorbable/etc by absorbing eachother and then rejuvinating from death.
-
Cloaked Aliens are now slightly easier to see, so they should avoid strongly lit areas when possible. They can still lay down to become even stealthier though. Let me know what you think, it's only a minor sprite change.
-
-
-
-
-
6 September 2012
-
Cheridan updated:
-
-
-Changes flour from an item to a container-held reagent. All recipes have been updated to use 5 units of reagent flour for every item required previously. This has a few advantages: The 16(!) sacks of flour previously in the kitchen cabinet have been condensed to an equivalent 3 sacks. Beer is now brewable with universal enzyme, and converting lots of wheat into flour should be less tedious. Also, flour grenades, etc. Because of this, flour is now obtained from the all-in-one blender rather than the processor, and spaghetti noodles are made with 5 units of flour in the microwave.
-
-
-
-
-
6 September 2012
-
Giacom updated:
-
-
Removed cameras from bots (NOT BORGS). They weren't working well with freelook and I felt that since they weren't used at all, they wouldn't be missed.
-
-
-
-
-
3 September 2012
-
Giacom updated:
-
-
Cameras has changed quite a bit. They are no longer created from grenade canisters, instead you make them from an autolathe. The construction and deconstruction for them has also changed, so look it up or experiment it with yourself to see how to setup the cameras now. Cameras also get wires, like airlocks and APCs. There's two duds, a focus wire, a power wire, an alarm wire and a light wire. Protip: You can see which one is the alarm wire by pulsing it.
-
Added a red phone and placed it in the Cyborg Station. Sprite by Pewtershmitz! You'll also find an AI restorer there, replacing the computer frame.
-
Cameras aren't all X-ray anymore. The AI won't be able to see what room you are in if there's no normal camera inside that room or if there's no X-ray camera nearby..
-
Cameras get upgrades! Currently there's X-ray, EMP-Proof and Motion. You'll find the EMP-Proof and Motion cameras in the normal places (Singularity Pen & EVA), the new X-ray cameras can be found in the Dormitory and Bathrooms, plus some extra ones to invade your privacy. See if you can smash them all.
-
Alien Larva can bite simple animals (see: Ian, Runtime, Mice) to kill them and gain a small amount of growing points.
-
Space travel was tweaked to be more random when changing Z levels. This will stop people and items from being stuck in an infinite loop, as they will eventually hit something to make them stop.
-
-
-
-
-
31 August 2012
-
Agouri updated:
-
-
Overhauled newscasters. No visual additions but the thing is much more robust and everything works as intended. Wanted issues are fixed. Admins, check out Access News Network under Fun.
-
-
-
-
-
30 August 2012
-
Giacom updated:
-
-
You can now create an EMP Pulse. Like an explosion, it is the mixing of two reagents that trigger this to happen. I will tell you the first required reagent. Uranium. Have fun!
-
I have made most chemicals need 3-5 or more chemicals in order to react to a turf. For instance, you need at least 5 units of thermite splashed on a wall for it to burn down."
-
The EMP kit, that you can buy through the uplink, has two more grenades in them now. Making the box full of EMP grenades!
-
Changed the EMP grenade's range to be much bigger.
-
-
-
-
-
29 August 2012
-
Nodrak updated:
-
-
Mice now work with the admin player panel. Admins can now turn players into mice with the 'Animalize' button in the player panel!
-
Space bear AI no longer runs when a player is controlling it. Admins can now turn players into space bears with the 'Animalize' button in the player panel!
-
The holodeck beach program once again has a beach.
-
The nuke op shuttle floor was pressure-washed a few days ago. We have since re-painted it with nanotrasen blood. Sorry for any confusion.
-
-
-
-
-
28 August 2012
-
Giacom updated:
-
-
You can now toggle the bolt light of airlocks. An extra wire, that controls the airlock's bolt light, has been added.
-
Aliens can now tell who is and who isn't infected. They get a special facehugger icon that appears over mobs that have been impregnated.
-
Cameras have temporary X-Ray for the time being.
-
-
-
-
-
August 26, 2012
-
Nodrak updated:
-
-
Admins now have an 'Animalize' button on a mob's player panel. This button allows admins to turn players into simple animals. There are a few exceptions. Mice, Parrots, Bears and Space Worms all have issues that, until fixed, prevent me from allowing players those transformations.
-
-
August 25, 2012
-
Carnwennan updated:
-
-
New lighting. It should look and feel the same as the old lighting whilst being less taxing on the server. Space has a minimum brightness (IC starlight) and areas that do not use dynamic lighting default to a lighting level of 4, so they aren't dark, but they aren't superbright. Replacing turfs should preserve dynamic lighting. Singulo/bombs should cause a lot less lighting-related lag. There are some minor known issues, see the commit log for details.
-
Admins can now access most controller datums with the "Debug Controller" verb. Time to break all the things!
-
Supply shuttle now uses a controller datum. This means admins can see/edit supply orders etc.
-
Changeling fakedeath can be initiated after death again. Next time you want something reverted, just ask rather than being obnoxious.
-
-
Giacom updated:
-
-
AIs can now look around like a ghost with the exception that they cannot see what cameras cannot see. Meaning if you're in maintenance, and there's no cameras near you, the AI will not know what you are doing. This also means there's no X-Ray vision cameras anymore.
-
AIs can add links to Telecommunication Machines. Added some cameras for areas that should have it but instead relied on cameras nearby for vision.
-
Choking has been changed. You have to stand still while lethally choking someone. It takes time to get into that lethal choke. When you are lethaling choking someone, they are still concious until the lack of oxygen knocks them out.
-
-
trubble_bass updated:
-
-
Nerfed the Neurotoxin drink, it is now less effective than a stunbaton. But more effective than a Beepsky Smash.
-
Updated descriptions on various cocktails to be more accurate or more relevant to the drink itself.
-
-
-
-
-
August 24, 2012
-
Sieve updated:
-
-
Floorbots now actually pull up tiles when emagged
-
All helper bots (excluding MULEs) have an access panel and maint panel, access being for behavior and maint for internal work
-
To open the maint panel, the access panel needs to be unlocked, then you use a screwdriver. There you can emag/repair it to your heart's content. (Emagging the access panel will also unlock it permanently)
-
Helper bots are now repaired by using a welder when their maint panel is open
-
-
-
-
-
August 23, 2012
-
Nodrak updated:
-
-
In-hand sprites once again update correctly when equipping items.
-
-
-
-
-
-
August 16, 2012
-
Errorage updated:
-
-
Changes were made to how heating and cooling of humans works.
-
You must wear both a space suit and space helmet to be protected from space! Likewise you must wear a firesuit and a fire helmet to be protected from fire! Fire helmets are red and white hardhats, found in all fire closets.
-
Fire suits now only protect from heat and space suits only protect from cold, so make your choice count.
-
-
-
-
-
-
August 14, 2012
-
Sieve updated:
-
-
DNA modifiers can be used if there is no occupant, primarily to handle the buffer.
-
Ion Rifles are only effected by max severity EMPs, so AOE from its own shot won't effect it
-
Pepper Spray fits on Sec belts again
-
-
-
-
-
August 11, 2012
-
Sieve updated:
-
-
Turrets now properly fire at simple_animals.
-
Borgs, AIs, and brains/MMIs can be sacrificed by cultists.
-
Grenades now automatically set throw on again.
-
-
-
-
-
August 6, 2012
-
Dingus updated:
-
-
Library has been redesigned. It's a whole lot more classy now.
-
Significant changes to Medbay. CMO's office is more centralized, genetics has a new exit into cryogenics, and a new break room has been installed
-
-
-
-
-
August 4, 2012
-
Icarus updated:
-
-
Changes to Med-Sci south and surrounding maintenance areas. Virology is more isolated and Science gets a new Misc. Research Lab.
-
Atmos techs get construction access now to do their little projects in.
-
Transformation Stings now work on living humans.
-
-
-
-
-
August 2, 2012
-
Errorage updated:
-
-
Gas masks now protect you from reagent smoke clouds
-
Changed the 'black overlay' you get when paralyzed, blind or in critical condition to include a small circle around you.
-
Dramatically lowered the amount of damage you get per breath while in critical condition. Critical condition now lasts for about 5 minutes if nothing is causing you any additional harm. This in combination with the new black image overlay is an attempt at making doctors more willing to help.
-
-
Icarus updated:
-
-
Borgs now have flashlights to allow them to see in lightless areas
-
Changes to Medbay: The sleeper and storage rooms have been swapped around. Hopefully this leads to more healing and less looting.
-
-
-
-
-
August 1, 2012
-
Sieve updated:
-
-
Borgs can now have an encryption key installed into their internal radios. Simply ID, open the panel, and use the key to insert it (Screwdriver to remove)
-
Due to that as well, borgs have a 'Toggle Broadcast Mode' button for their radios, which changes the broadcast type between station-bounced (Non-reliant on TComms), and subspace (Required for department channels)
-
Also changed the binary chat for consistency, now for the prefix is ':b' for everyone, not just one for humans and one for borgs/AIs/pAIs
-
Based on feedback, Nuke Op pinpointers now automagically change between shuttle and disk mode when the nuke is armed or disarmed.
-
-
-
-
-
01-August-2012
-
Carn updated:
-
-
Please update your BYOND clients! Ideally everybody should be running the latest version of byond (v496). People who fail to update to at least version 494 within a month's time may find themself unable to connect. Currently our code has no restrictions at all, which is rather bad. By getting the user-base to keep their clients up-to-date we can make use of newer BYOND features reliably.
-
-
Giacom updated:
-
-
I've made some adjustments to the Fireball spell. I've changed it to shoot in the player's facing direction instead of you having to pick a name from a list. It will explode upon contact of a person, if it hits an obstacle or if it shoots for too long. To make up for the fireball not being able to go diagonal I've shortened the cooldown to 10 seconds. It still can hurt you badly and knock you down if you shoot it at a wall. Lastly, it now lights up so it'll show up in dark rooms easily.
-
-
-
-
-
31 July 2012
-
Giacom updated:
-
-
Removed passive throwing. You need at least an aggressive hold of the mob before you can throw them.
-
New map changes by Ikarrus. AI Upload Foyer is now Secure Tech Access, and the outer door only requires Bridge access. Attached to it are two new rooms: The messaging server room and the communications relay. The comms relay room runs off its own SMES unit like the AI, so it won't be affected by powersinks
-
-
-
-
-
-
29 July 2012
-
Giacom updated:
-
-
All radios now only work in their Z level. This means that the CommSat has a few more additions to work with this change. There is now a new Telecomms Machine called the Relay which allows information to travel across Z levels. It it then linked to a new machine called the Hub, which will receive information from the Relays and send it to the buses. Because every Z level needs these relays, which are linked up with Receivers/Broadcasters, every Z level will get one. There is one in the station, in the RD's office, one in Telecomms as always, one in the Ruskie station which is turned off and hidden from the HUB's linked list. The last one is in Mining but the location for it has not been decided yet.
-
PDAs now need to be in a Z level with a functioning Relay/Comms Network in order to send messages. It will also send uncompressed (scrambled) messages like you would with the ordinary voice messages.
-
Added some of WJohnston's sprites. Added a new mining borg sprite, Added a new high tech security airlock, Added the new telecomm sprites for Relays. Hubs were given old Bus sprites.
-
-
-
-
-
29 July 2012
-
Errorage updated:
-
-
You can now use crayons to color eggs
-
Mice have invaded the station!
-
-
-
-
-
26 July 2012
-
Giacom updated:
-
-
Added a new mushroom for Hydroponics, the Reishi Mushroom! It is obtained like any other mushroom and it has relaxing properties.
-
-
-
-
-
July 25, 2012: The day of updates!
-
Nodrak updated:
-
-
Attacking mobs with items will now give new messages. Instead of "Monkeyman was attacked in the head with a wrench by Nodrak." it will read "Monkeyman was bashed in the head with a wrench by Nodrak." Diffrent items have diffrent verbs and some have multiple verbs.
-
Cultists can now read what words a rune was made with by examining the rune. Due to an error in the code, this was not possible before.
-
Clowns no longer have practice lasers or staves of change blow up in their face due to clumsyness.
-
Engineering cyborgs can now actually repair a cut AI wire in APCs.
-
I've removed a ton of pointless checks and redundant loops from metroid's which have been causing lag due to how often they get called. If metroids are behaving strangly ping me in #coderbus
-
-
Sieve updated:
-
-
Made a 'default' save slot (D), and whenever you connect it automatically selects the default slot to load from, but manually selecting a different slot will allow you to play on that one before it returns to default.
-
Added the ability to name your save slots with the '*'. Names can be up to 16 characters and contain letters, numbers, and basic symbols
-
The preview icon on the preference screen now takes into account any job you have set on high, and dresses up the icon accordingly. If assistant is set to 'yes', or AI/Cyborg are on high it will put the icon in a grey suit (So you can still customize).
-
Nuke Ops get a new pinpointer, changing modes with the verb will switch between pointing to the disk, and pointing to the shuttle. Also provides a notification when you leave the station z-level
-
Reworked how MMI Life() was done, now they will never lose consciousness, and many less things affect them now(Like deafening/blindness from explosions). However, they are vulnerable to EMPs, but all damage is temporary.
-
Clowns will no longer be killed trying to use holo eswords
-
Major tweaking to try and optimize many operations on the game's backend. Hopefully, this will reduce a large amount of lag by steamlining CPU-intensive operations, but at the same time there was so much changed that there is no real way for a small group to test everything. If anyone spots a bug involving being unable to 'find' mobs, characters, whatever, then put it on the issue tracker or at the very least let #coderbus know. We can't fix shit unless we know about it.
-
-
Icarus updated:
-
-
Players not buckled in when the emergency shuttle/pod starts moving get will get knocked down.
-
Added a YouTool vending machine to primary tool storage.
-
-
-
-
-
24 July 2012
-
Errorage updated:
-
-
Both the chef and bartender have access to the bar area so both can serve if the other is incompetent or does not exist. Bartender's shotgun and shaker were moved to his back room and the booze-o-mat is now ID restricted to the bartender.
-
Added powercells into vending machines in engineering
-
Gave two beartraps to the janitor for pest control purposes................
-
-
-
-
-
22 July 2012
-
Errorage updated:
-
-
Mech toys can now be redeemed at the quartermaster's for a great reward! If you collect the full set of 11 toys you should put them in a crate and send them to centcom via the supply shuttle.
-
Supply shuttle arrival time reduced to 2 minutes
-
Hopefully fixed the toy haul problem which made it possible to get a million toys from arcade machines.
-
-
Giacom updated:
-
-
You can now make newlines with your PDA notes.
-
You can now research and build the Light Replacer.
-
You can now store donuts in the donut box. The next donut you pull out will be the last one you put in.
-
APCs will auto-turn on if there is enough power in the grid, even if the powercell is below 30%. The APC needs to be charged for a long enough time before it starts turning equipment on, to avoid spazzing out. If you have any problems with it, such as equipment turning off and on repeatedly then please make an issue report with a screenshot of the APC.
-
-
-
-
-
18 July 2012
-
Giacom updated:
-
-
Added the Light Replacer. This is a device that can auto replace lights that are broken, missing or burnt. Currently it is found in the Janitor's closet and Janitor Borgs can equip it. You can refill it with glass, or if you're a Cyborg, just recharge. It is emaggable and will replace lights with rigged lights. The light's explosion was nerfed to help balance it and it is very noticable when you are holding an emagged Light Replacer.
-
The Janitor's equipment locator, on their PDA, will now tell you the direction of the equipment.
-
-
-
-
-
17 July 2012
-
Icarus updated:
-
-
Added department satchels
-
Added Captain's Backpack and Satchel
-
Added three new hairstyles by Sly: Gelled, Flat Top, and Pigtails. Hair list has also been sorted by grouping similar styles.
-
-
Giacom updated:
-
-
Added a new wire for Cyborgs. See if you can figure out what it does.
-
You can now fill any container with a sink. You can change the amount to fill, from sinks, by setting your container's transfer amount.
-
-
-
-
-
14 July 2012
-
Carn updated:
-
-
All living mobs can now ghost whenever they want. Essentially making the suicide verb obsolete. If you ghost whilst still alive however, you may not re-enter your body for the rest of the round.
-
Humans can no longer suicide whilst restrained (this is purely to prevent meta whilst I finish up the new FUN suicides)
-
Fixed dem evidence bags. Fixed metroids getting at it like rabbits. Fixed stuff like welding masks not hiding your face. Bunch of other things
-
-
Willox and Messycakes updated:
-
-
pAI Emoticons! Allows each pAI to set their screen to display an array of faces! Click on 'Screen Display' in the pAI OS for a list.
-
-
-
-
-
-
Saturday July 14th 2012
-
Giacom updated:
-
-
Added Russian Revolvers. This is a special Revolver that can only hold a single bullet randomly in it's chamber. This will allow you to play Russian Roulette with your fellow crew members! You can use it like a normal gun but you will need to cycle through the chamber slots until you hit the bullet. Only admin spawnable.
-
-
-
-
-
Friday July 13th 2012
-
Carn updated:
-
-
Added FLOORLENGTH HAIR. YEESSSSSSSS!!!! :3 If you like it say thanks to Ausops for fixing it up. Credits to Powerfulstation for the original sprite.
-
-
Giacom updated:
-
-
Save Slots! You can now have separate save slots for different character setups, with a customizable maximum of 3 slots per account. If you are wondering, you will not lose your old saved setup.
-
The character setup screen was updated to look nicer and to fit on the screen.
-
-
Icarus updated:
-
-
Added new Dwarf and Very Long hairstyles. Dwarf hair and beard by SuperCrayon.
-
-
-
-
-
Thursday July 12th 2012
-
Giacom updated:
-
-
pAI gets a better PDA that can actually receive messages from people. They can also instantly reply like everybody else now and they can toggle their receiver/signaller/ringer.
-
You can show the AI the notes on your PDA by holding it up to a camera. When you show up a paper/pda to the camera the AI can now click on your name to go to you, if you're near a camera. People who are Unknown will not have a link; which would've allowed the AI to track them.
-
Made the" common server" and the "preset right receiver" listen for frequencies 144.1 to 148.9. This will allow people to use different frequencies to talk to eachother without bothering the common channel. It will also allow Revs and Cultists to work with each other; everything is still logged though so it still has risks.
-
Increased the maximum frequency limit for handheld radios and intercoms. It will give you the option to just use station bounced radios on a higher frequency so that anyone with a headset can't simply tune in.
-
Created an All-In-One Grinder that is suppose to replace the blender, juicer and reagent grinder all together. Meaning any department that has a juicer, blender and grinder will instead get this. It will help people be more independent from Chemistry by recycling foods and plants.
-
-
-
-
-
Wednesday July 11th 2012
-
Nodrak, Cheridan and Icarus updated:
-
-
Added a couple of Emergency Shield Projectors to Engineering secure storage.
-
Note: Credit goes to Barhardar for the original code and functionality.
-
These devices can be used to quickly create an air-tight seal across a hull breach until repairs can been made.
-
Wrench them in place and activate them near a hull breach. The shield should extend to all space tiles in range.
-
They can be (un)locked by engineering IDs and can also be emagged and otherwise malfunction. As they can not be constructed, you can repair damage and malfunctions by opening the panel with a screwdriver and replacing the wires with a cable coil
-
-
Giacom updated:
-
-
Chemistry update: Pills can now be ground up in reagent grinders. You can now put custom amounts of reagent into things using chemmasters. Can now load pill-bottles into chemmasters for mass pill-production.
-
-
Carn updated:
-
-
Clicks on inventory slots with items in now act like a click on the thing in that slot. So clicking smaller things (like pens) is easier and you can remove clothing that borks/goes invisible. Please continure to report those kinds of bug though please. Thanks x
-
Can no longer interact with your inventory with a mech.
-
-
Errorage updated:
-
-
You can now only adminhelp once every 2 minutes so please provide all necesary information in one adminhelp instead of 5! Also reply to admins in PM-s and not additional adminhelps.
-
-
-
-
-
Saturday July 7th, 2012
-
Icarus updated:
-
-
A basketball simulation is now available at the holodeck. Credit to Sly and Ausops for the sprites.
-
-
-
-
-
Friday July 6th, 2012
-
Giacom updated:
-
-
Bottles can now be broken over people's heads! To do this, you must have the harm intent on and you must be targeting the person's head. This change affects alcoholic bottles only. It does not change pill bottles or chemistry bottles. Helmets help protect you from damage and the regents of the bottles will splash over the victim.
-
AI's now have access to a PDA. Note: It is not PDA-bomb-able
-
Health analyzers and medical PDAs now give a time of death when used on corpses.
-
-
-
-
-
Thursday July 5th, 2012
-
Carn updated:
-
-
Alien larva now chestburst even after their host has died.
-
Aliens can now slap facehuggers onto faces so they can infect mobs which lay down (or those stuck to nests).
-
Aliens can now slash security cameras to deactivate them.
-
-
-
-
-
Wednesday July 4th, 2012
-
39kk9t & Carn updated:
-
-
Added alien nests. They're basically beds made of thick sticky resin which aliums can 'stick' (buckle) people to for sexytimes
-
Weed nodes are no longer dense.
-
Queens can secrete resin for walls/nests/membranes
-
Various bugfixes
-
-
-
-
-
Saturday June 30th, 2012
-
Icarus updated:
-
-
Added Petethegoat's basic mirrors to the map. They allow you to change hairstyles.
-
Remapped Bar, Theatre, and Hydroponics. Bar and Kitchen are now more integrated with each other.
-
-
-
-
-
Thursday, June 28th
-
Nodrak updated:
-
-
I'm currently working on cleaning up and moving around a large portion of the mob code. These changes do not directly affect players; HOWEVER, bugs, oversights or simple mistakes may cause problems for players. While I have tested as much as I can, there may be some lingering bugs I have missed.
This part of the mob code cleanup mainly focuses on damage variables and procs. So if you suspect something related to taking, dealing or examining damage is not working as intended please fill out an issue report here and be as detailed as possible. This includes what you were doing, steps to reproduce the problem, who you were doing it to, what you were using ect... Thank you.
-
-
Carn updated:
-
-
Alien hunters will now cloak when using the 'stalk' movement intent. Whilst cloaked they will use up their plasma reserves. They can however cloak as long as they like. Using the Lay-down verb will allow them to remain cloaked without depleting their plasma reserves, hence allowing them to lay ambushes for unsuspecting prey. Should a hunter attack anybody, or get knocked down in any way, they will become visible. Hopefully this allows for more strategic/stealthy gameplay from aliens. On the other hand, I may have totally screwed the balance so feedback/other-ideas are welcome.
-
Removed the invisibility verb from the alien hunter caste.
-
-
-
-
-
Wednesday, June 27th
-
Errorage updated:
-
-
Fixed the bug which prevented you from editing book's titles and authors with a pen. Also fixed the bug which prevented you from ordering a book by it's SS13ID.
-
Added the F12 hotkey which hides most of the UI. Currently only works for humans.
-
-
Donkie updated:
-
-
Pizza boxes! Fully stackable, tagable (with pen), and everythingelse-able. Fantastic icons by supercrayon! Created with a sheet of cardboard.
-
-
-
-
-
Tuesday, June 26th
-
Errorage updated:
-
-
Changeling parasting now only weakens for 10 game ticks. It no longer silences your target.
-
-
-
-
-
Saturday, June 23rd
-
Donkie updated:
-
-
Reworked job randomizing system. Should be more fair.
-
List of players are now randomized before given antag, this means that declaring as fast as possible doesn't mean shit anymore!
-
-
Carn updated:
-
-
Putting a blindfold on a human with lightly damaged eyes will speed up the healing process. Similar with earmuffs.
-
More overlay bug fixes. Most of it to do with little robots and construction stuff. Bugs go here if you have 2 minutes http://nanotrasen.com/phpBB3/viewtopic.php?f=15&t=9077
-
Weakening is instant! That means if you stunbaton somebody they're gonna fall-down immediately.
-
-
Icarus updated:
-
-
Medical storage now requires Surgery access (Medical Doctors only)
-
-
-
-
-
Wednesday, June 20th
-
Nodrak updated:
-
-
AIs, Borgs are no longer able to be cultists or revolutionaries as their objectives completely contradict their laws. They can still be subverted of course.
-
pAI's no longer keep cult or rev icons.
-
Cheridan updated:
-
-
-Both Ambrosia forms have had their reagent contents modified to prevent going over the 50-unit cap at high potencies. Ambrosia Deus now contains space drugs instead of poison.
-
-Drinking milk removes capsaicin from your body. REALISM!
-
-Frost oil hurts less upon consumption.
-
-Liquid plasma can be converted into solid plasma sheets, by mixing 20 plasma, 5 iron, and 5 frost oil.
-
-Added effects for holy water injection on hydroponics plants.
-
-
-
-
-
Monday, June 18th
-
Giacom updated:
-
-
Fix for special characters on paper and from announcements
-
-
Sieve updated:
-
-
Various small bugfixes, check the commit log for full details
-
Fixed falsewalls not working
-
Made Lasertag ED-209's and turrets much more useful, including making their emag function more fitting
-
Added Mesons to the EngiVend to make up for how many lockers were removed
-
New Item: Sheet Snatcher. Right now only borgs have them, but they can hold up to 500 sheets of minerals (Of any combination), and auto-stacks them to boot. Used just like the mining satchels, meaning minerborgs can actually deliver metal
-
Mech drills can mine sand, and the diamond gets a much larger volume
-
If a borg has the satchel in its modules (Doesn't have to be the active one), it will auto-magically pick up any ores it walks over.
-
Bumping an asteroid wall with a pickaxe/drill in your hand makes you auto-magically start drilling the wall, making mining much less tedious (humans and borgs)(Also, gustavg's idea)
-
-
Icarus updated:
-
-
New afro hairstyles. Big Afro by Intigracy.
-
-
-
-
-
Friday, June 15th
-
Carnwennan updated:
-
-
First update for update_icons stuffs: Fixed husking and fatties Fixed floor tiles still appearing in hand when laying them Fixed runtimes with fatties.
-
Fixes for pre-existing bugs: Fixed being unable to put belts & backpacks on other people nodamage (godmode) now prevents all organ damage. It does not stop healing however. Nerd stuff...
-
-
-
Errorage updated:
-
-
Greatly reduced the amount of damage high pressure does.
-
Fire suits, firefighting helmets (red harhats) and the chief engineer's white hardhat now protect against high pressure.
-
-
Icarus updated:
-
-
Ported over ponytail sprites from Baystation
-
-
-
-
-
Thursday, June 14th
-
Carn updated:
-
-
FEAR NOT! You can now store a pen in your pda. (aka Best commit all commits)
-
-
-
-
-
Wednesday, June 13th
-
Carn updated:
-
-
Massive Mob-Icon Overhaul: A large amount of the mob code has been replaced. The systems replaced were causing immense performance issues so the following are very necessary optimisations. However, there is a downside: SS13 code is the equivilant of monkeys on typewriters. Despite weeks of constant coding/testing there -will- be things I've missed. The kinds of bugs I'm expecting are overlays not updating and/or in rare cases things not appearing in your hud. Most of these issues can be worked around simply by dropping the item and picking it back up. If all else fails ask an admin to regenerate your icons through view-vars. Please report any bugs to me on #coderbus IRC or make an issue on the tracker as a matter of urgency. I will fix them ASAP. Also a massive thankyou to Nodrak, Erro, Pete and Willox. :)
-
Massive rewrite of the overlays system (particularly for humans). Stuff is cached and only updates when necessary. In effect this means faster updates, less overheads/lag, and less reliance on the game-ticker.
-
Numerous bugfixes and tweaks for damage-procs and damage-overlays for humans. They should now be almost seamless, use very little overhead and update instantly.
-
TK grab can now be cancelled using the throw hotkey. (so now it toggles on/off like it used to).
-
Added verbs to the view-var drop-down list: "Regenerate Icons" will fix a mob's hud/overlays. "Set Mutantrace" will change a mob's mutantrace.
-
Damage icons were split up. They kinda look a bit crap so spriters feel free to replace them. Templates are provided in dam_human.dmi
-
More to come...
-
Cheridan updated:
-
-
-Added Lezowski's overalls to hydroponic supply closets. 50% chance per closet for them to replace the apron. -Removed some covers tags from things that made no sense to have them.
-
-
-
-
-
Monday, June 11th
-
Donkie updated:
-
-
Fixed being able to lock yourself in or out of a locker using the verb.
-
-
Xerux updated:
-
-
Added lightfixture creating.
-
-
Errorage updated:
-
-
You can now use the resist verb or UI button when welded or locked in a closet. Takes 2 minutes to get out tho (Same as getting out of handcuffs or unbuckling yourself)
-
Making single-pane windows will now make the window in the direction you're facing. If a window already exists in that direction it will make it 90 degrees to your left and so on.
-
-
-
-
-
Sunday, June 10th
-
Agouri updated:
-
-
Cyborgs and AIs can now use the newscaster. It was a mistake on my part, forgetting to finish that part of them.
-
-
-
-
-
Saturday, June 9th
-
Errorage updated:
-
-
You can now make restraints from cable. It takes 15 lengths of cable to make a pair of restraints, they are applied the same way as handcuffs and have the same effects. It however only takes 30s to remove them by using the resist verb or button. You can also remove them from someone by using wirecutters on the handcuffed person.
-
Added four new cable colors: pink, orange, cyan and white. Engineer belts spawn with yellow, red or orange cables while toolboxes and tool closets spawn with all 8 colors.
-
-
-
-
-
Thursday, June 7st
-
Icarus updated:
-
-
Added a second ZIS suit to engineering.
-
Remapped CE office and surrounding areas.
-
-
-
-
-
Wednesday, June 6th
-
Sieve updated:
-
-
Radiation now works properly, watch out for that Singularity!
-
Disposals are no longer the loudest machines in existence.
-
Building portable turrets with lasertag guns now makes them fire lasertag bolts based on team, and they will automatically target and prioritize people wearing opposing team gear.
-
The same can be done for ED-209s, simply using a lasertag vest and gun (same color) where you would use a security vest and taser in construction.
-
Added mineral walls and powered mineral door construction. More information can be found in the commit thread, but basically they are built the same way others are, apply mineral to girder for a mineral wall, mineral to airlock assembly for a powered mineral door.
Swap hands hotkey (page up) now cycles through borg modules.
-
-
Nodrak updated:
-
-
Cargo's 'shuttle: station' and 'shuttle: dock' has been changed to 'shuttle: station' and 'shuttle: away' to help avoid confusion.
-
-
Icarus updated:
-
-
Maintenance shafts changed around. Renamed, less windows, more turns, and expanded in a few areas.
-
-
Neek updated:
-
-
You can now add chemicals into cigarettes by injecting them directly or dipping individual cigarettes into a beaker. You can inject into cigarette packs directly to affect multiple cigarettes at once.
-
-
Willox updated:
-
-
You can now click individual blocks/subblocks in the genetics console instead of having to scroll through the blocks with a forward/back button!
-
-
-
-
-
Sunday, June 3rd
-
Donkie updated:
-
-
You can now Drag-Drop disposal pipes and machinery into the dispenser, in order to remove them.
-
You must now use wrench before welding a pipe to the ground
-
You can no longer remove a trunk untill the machinery ontop is unwelded and unwrenched
-
You are now forced to eject the disposal bin before unwelding it.
-
-
-
-
-
Friday, June 1st
-
SkyMarshal updated:
-
-
Readded fingerprints and detective work, after lots of debugging and optimization.
-
Any PDA with access to the Security Records can now, by the normal forensic scanner function, store data the same way as the detective's scanner. Scanning the PDA in the detective's computer will copy all scanned data into the database.
-
If something goes wrong, please contact SkyMarshal on the #bs12 channel on irc.sorcery.net
-
-
-
-
-
Friday, June 1st
-
Nodrak updated:
-
-
Windoor's are now constructable! Steps are found here.
-
-
-
-
-
Tuesday, May 29th
-
Nodrak updated:
-
-
Glass Doors are now breakable.
-
Added more treasures to the secret mining room.
-
Changed mineral lockers from secret mining rooms: Instead of giving you two stacks of everything, you get stacks of ore based on rarity
-
-
Icarus updated:
-
-
Moved Engineering and Bridge deliveries.
-
-
-
-
-
This 28th day of May, in the year of our Lord, Two Thousand Twelve
-
Cheridan updated:
-
-
-Adjusted balaclavas and added luchador masks. Wearing luchador masks give you latin charisma. They replace the boxing gloves in the fitness room. Boxing gloves are still available in the holodeck. -Fake moustache tweaked and given new sprites.
-
-
-
-
-
Monday, May 28th
-
Donkie updated:
-
-
You can now dispense Disposal Bins, Outlets and Chutes from the disposal dispenser. These are movable and you can attach them above open trunks with a wrench, then weld them to attach them completely. You can remove Bins by turning off their pump, then screwdriver, then weld, then wrench. Same with outlet and chute except for the pump part.
-
-
-
-
-
Saturday, May 26th
-
Icarus updated:
-
-
Ported over Flashkirby99's RIG suit sprites from Bay12
-
Department PDA Carts moved out of lockers and into head offices.
-
-
-
-
-
Wednesday, May 23rd
-
Cheridan updated:
-
-
-Reverted default UI sprites to Erro's old-style UI. Config options for UI color styles coming soon. -Driest Martinis will no longer be invisible. -Braincakes are now sliceable.
-
-Medical borg overhaul. Instead of a dozen random pills and syringes, they get a hypospray that can switch between auto-replenishing tricordrazine, inprovaline, and spaceacillin.
-
-
Errorage updated:
-
-
Some of the more pressing issues with the new user interface were addressed. These include the health indicator being too far up, the open inventory taking a lot of space, hotkey buttons not being removable and suit storage not being accessible enough.
-
A toggle-hotkey-buttons verb was added to the OOC tab, which hides the pull, drop and throw buttons for people who prefer to use hotkeys and never use the buttons.
-
Added a character setup option which allows you to pick between the Midnight, Orange and Old iconsets for the user interface.
-
-
-
-
-
Tuesday, May 22nd
-
Icarus updated:
-
-
RIG helmets can now be used as flashlights, just like hardhats. Credit to Sly for the sprites.
-
HoP's office has been remapped and made into his private office. Conference Room can now be accessed from the main hall.
-
-
-
-
-
Sunday, May 20th
-
Errorage updated:
-
-
The new user interface is here. If anything is broken or something should be done differently please post feedback on the forum. Spriters are encouraged to make new sprites for the UI.
-
When you receive a PDA message, the content is displayed to you if the PDA is located somewhere on your person (so not in your backpack). You will also get a reply button there. This will hopefully make PDA communication easier.
-
New hotkeys! delete is the now the 'stop dragging' hotkey, insert is the 'cycle intents' hotkey.
-
-
-
-
-
Saturday, May 19th
-
Doohl updated:
-
-
You can now swap hands by clicking with your middle mouse button (you have to click on a visible object though, that's the catch).
-
Tweaked the DNA modifier consoles a little bit so that it's much easier to see individual blocks instead of one jumbled mess of hexadecimal.
-
You can now properly emag AI turret controls and commsat turret controls.
-
-
Invisty updated:
-
-
Brand new ending animations!
-
-
-
-
-
Friday, May 18th
-
Errorage updated:
-
-
Removed hat storage, which was useless.
-
Implanting someone now takes 5 seconds, both people need to remain still. Implanting yourself remains instant.
-
Wallets once again spawn in the cabinets in the dormitory
-
Wallets now fit in pockets
-
-
-
-
-
Thursday, May 17th
-
Icarus updated:
-
-
Individual dorms now have a button inside that bolts/unbolts the door
-
New sprites for Cargo, HoP, and Captain's lockers
-
More department-specific door sprites. Most noticable changes in medsci and supply departments.
-
-
-
-
-
Tuesday, May 15th
-
Icarus updated:
-
-
Added WJohnston's scrubs to Medical Doctor lockers. Comes in blue, green, and purple.
-
Added two new syndicate bundles
-
Reduced cost of thermals to 3 telecrystals (formerly 4)
-
Singularity Beacons are now spawned from a smaller, portable device.
-
CMO and QM jumpsuits made more unique.
-
-
-
-
-
Monday, May 14th
-
Icarus updated:
-
-
Reinforced table parts are now made by using four metal rods on regular table parts. No plasteel involved.
-
Beakers, small and large can now be made/recycled in autolathes.
-
-
Nodrak updated:
-
-
Added a 'random item' button to traitor uplinks. You can potentially get ANY item that shows up on the traitor item list, provided you have enough crystals for it.
-
-
-
-
-
Friday, May 11th
-
Icarus updated:
-
-
New design for security. This should be the last time it sees major changes for a while.
-
Added a new construction area. What could it be for?
-
-
Petethegoat updated:
-
-
Readded the RD's genetics access.
-
RD is still without chemistry access, but I'm going to review this decision in a week and see if R&D is useless due to lack of acid.
-
Added Flashkirby99's SMES sprites!
-
-
Invisty updated:
-
-
Sexy new warpspace (or whatever) tiles.
-
-
Important changes below!
-
-
-
-
Thursday, May 10th
-
Sieve updated:
-
-
Reverted dismemberment, the recent gun changes, and Tarajans. Before you shit up the forums, read this:
-
Dismemberment was ported from Bay12, but only halfway, and there were several problems with it. I know many people really liked it, but as it stood it did not fit the playstyle here at all. This had to be removed, there is work on a more fitting system, but this had to be taken out first regardless, and the longer people beat around the bush the worse the situation got.
-
The gun change was made for no real reason and was pretty problematic, so reverting that should mean there are a lot less 'accidental suicides.'
-
Tarjans were reverted by request as well, and since keeping them working after removing dismemberment would be a stupid amount of work.
-
-
-
-
-
Sunday, May 6th
-
Cheridan updated:
-
-
-New booze sprites for the drinks that were removed! Re-enabled the recipes for the removed drinks. Get cracking, bartenders. -You now need 10 sheets of metal instead of 2 to make a gas canister, people can't FILL ENTIRE ROOMS WITH THEM.
-
-Emergency Toolboxes now contain smaller, lighter fire extinguishers that actually fit inside them!
-
-
-
-
-
Saturday, May 5th
-
Petethegoat updated:
-
-
RD get the fuck out of chemistry and genetics
-
CHEMISTS, DON'T BE DICKS TO RESEARCH, GIVE THEM ACID YOU TIGHT FUCKS
-
-
Icarus updated:
-
-
Updates to Sec, including a stationary scrubber for the prison area.
-
Swapped around cryogenics and the patient rooms in medbay.
-
-
-
-
-
Friday, May 4th
-
Cheridan updated:
-
-
-Added fat jumpsuit sprites for orange, pink, yellow, owl, security, and warden jumpsuits.
-
-Somatoray is hopefully more useful and less buggy when used on trays. -Botanists now have morgue access, because of their ability to clone via replica pods. Try not to get this removed like all your other access, okay hippies?
Added a verb to the PDA which you can use to remove an ID in it. If your active hand is empy, it puts it there otherwise it puts it on the floor under you.
-
-
-
-
-
Wednesday, April 27th
-
Cheridan updated:
-
-
-New sprites for lemons, oranges, and walking mushroom critters. -Added Invisty's new blob sprites.
-
-Added a new chemical: lipozine, a weight loss drug. Made with sodium chloride, ethanol, and radium.
-
-
-
-
-
Wednesday, April 25th
-
Ikarrus & Flazeo updated:
-
-
New layout for Security, including a prison area instead of permacells.
-
New layout for the library, bar, and botany.
-
Medbay and R&D now have three-tile halls.
-
-
Scroll down for more commits! There's a bunch of new shit.
-
-
-
-
Tuesday, April 24th
-
PolymorphBlue updated:
-
-
Fakedeath changelings can no longer have their brains cut out.
-
Rev checkwin changed to fire every five ticks (from twenty) and actually use the right objective type so revs being off station counts as success.
-
-
Sieve updated:
-
-
Powercells now have unique icons for cell types
-
Implemented mech construction sprite by WJohnston for the Ripley, Firefighter, Gygax, and Durand
-
Durand construction is reversible
-
Power Cells can now be made in Mechfabs, provided the proper research level has been achieved
-
Added a new item, the Synthetic Flash. Works just like a normal flash, except they can only withstand one use, but can be produced in the Mechfab(To replace the need for normal flashes)
-
Added a new type of gloves, ones that are cheap copies of the coveted Insulated Gloves, but be warned, quality control wasn't too thorough
-
Added a new Cyborg Upgrade, a jetpack for use by Miner Cyborgs. Can be refilled on any air canister
-
Miner Cyborgs now have a Diamond Drill equivalent along with an upgraded Ore Satchel
-
Mechfabs no longer brick if there are parts in the quene on sync
-
MMIs can be built in the Mechfabs again
-
Crabs are no longer immortal, and are now especially vulnerable to wirecutters
-
Bibles printed in the library now retain the religion's deity
-
Added Construction Sprites for the Ripley, Firefighter, Gygax, and Durand by WJohnston
-
Added Particle Accelerator sprites by Invisity
-
Added Power Cell, Synthetic Flash, Robot Upgrades, and made some modifications to the PA sprites
-
-
Petethegoat updated:
-
-
Added Invisty's field generator sprites.
-
-
-
-
-
April 1-22, 2012
-
Cheridan updated:
-
-
CATCHING UP ON MY CHANGELOG. Some of this has been in for a while: -Added carved pumpkins and corncob pipes. -Added mutations for ambrosia and lemon trees. -Added more wood items for tower cap wood construction. -Added soil to plant seeds in. Make it by crushing up sandstone. Soil does not have indicators like trays do! Watch your plants carefully!
-
-The biogenerator is now more robust. It can dispense fertilizer in batches, and make simple leather items. -RnD can create a new tool for botanists: The floral somatoray. Has two modes. Use it on your plants to induce mutations or boost yield.
-
-Added plump helmet biscuits, mushroom soup, pumpkin pie and slices, chawanmushi, and beet soup recipes for the chef to make.
-
-Added transparency to biohelmets. -Normalized grass harvests. -Changed the name of "Generic Weeds". -Blenders can now be filled directly from plant bags. -Added low chance for a species mutation whenever a plant's stats mutate. -You now get more descriptive messages when applying mutagen to plant trays. -Removed sugarcane seeds from the vending machine. Added the sugarcane seeds to the seeds crate.
-
-
-
-
-
Sunday, April 22nd
-
Petethegoat updated:
-
-
New gasmask sprites. Removed emergency gasmasks, so there's only one type now.
-
New shotgun sprites by Khodoque!
-
The barman's double-barrel actually works like a double-barrel instead of a pump-action! Rejoice!
-
Sneaky barmen may be able to illegally modify their shotgun, if they so choose.
-
Trimmed the changelog, vastly.
-
-
-
-
-
Saturday, April 21st
-
Errorage updated:
-
-
Maintenance door outside of tech storage now requires maintenance OR tech storage access instead of maintenance AND robotics accesses.
-
-
-
-
-
Thursday, April 19th
-
Carn updated:
-
-
Rewrote the cinematic system to try and simplify and optimise it. Please report any bugs asap to me or coderbus, thanks.
-
-
-
-
-
Tuesday, April 17th
-
Kor updated:
-
-
Engineering jobs now have their PDA spawn in their pocket, and their toolbelt on their belt
-
The nuke going off on station will now gib everyone on the Z level.
-
Two more core displays are available for the AI
-
The Artificer can now build cult floors and walls
-
-
-
Friday, April 13th
-
Sieve updated:
-
-
Updated the robotics layout.
-
-
Petethegoat updated:
-
-
Nerfed the librarian by removing the r-walls from his cubbyhole thing, fuck WGW readers hiding out in there.
-
-
-
-
Thursday, April 12th
-
Agouri updated:
-
-
Fixed the ability to move while lying down/resting.
-
Sleep has been fixed and works as intended again. Anaesthetic and toxins can now properly put people to sleep, permanently if you keep the administration stable. Sleeplocs are now viable again. The sleep button and *faint emote work again.
-
-
-
-
Wednesday, April 11th
-
PolymorphBlue updated:
-
-
Droppers are now used at the eyes, and thus, access to the eyes is required to have an effect.
-
-
-
-
-
-
April 10, the year of our lord 2012
-
Agouri updated:
-
-
CONTRABAND-CON UPDATE: Added posters. I'm sorry to add it seperately with the rest of contraband, but there was a lack of sprites for everything else. Hopefully, people will gain interest and get me some damn sprites this way :3
- As I said, this is an ongoing project of mine. So starting of, we've got...
-
POSTERS! Posters come in rolled packages that can adhere to any wall or r_wall, if it's uncluttered enough.
-
How they get on-board: The quartermaster can now set the receiver frequency of his supplycomp circuit board. A bit simplistic as of now, will work on it later. Building a supplycomp with a properly set up circuitboard will give access to the Contraband crate.
-
How they're used: Unfold the rolled poster on any wall or r_wall to create the poster. There are currently 17 designs, with the possibility of me adding more.
-
How to get rid of them: You can rip them using your hand... To cleanly extract them and not ruin them for future use, however, you can use a pair of wirecutters.
-
How they're classified: They're contraband, so it's perfectly okay for security officers to confiscate them. Punishment for contraband-providers (or end-users, if you want to go full nazi) is up to the situational commanding officers.
-
-
-
Nodrak updated:
-
-
Merged 'Game' and 'Lobby' tabs during pre-game into one tab
-
Added the little red x to the late-join job list
-
Late-joiners are warned if the shuttle is past the point of recall, and if the shuttle has already left the station
-
Late-joiners now see how long the round has been going on.
-
Mining shuttle computer no longer spits out both 'Shuttle has been sent' and 'The shuttle is already moving' every time.
-
-
-
-
-
-
Monday, April 9th
-
Petethegoat updated:
-
-
TORE OUT DETECTIVE WORK! THIS IS A TEMPORARY PATCH TO SEE IF THIS FIXES THE CRASHING.
-
DETECTIVE SCANNERS AND EVIDENCE BAGS (AND FINGERPRINTS) ARE GONE.
-
-
-
-
-
Sunday, April 8th
-
PolymorphBlue updated:
-
-
Secret little rooms now spawn on the mining asteroid, containing various artifacts.
-
Added the beginnings of a borg upgrade system. Currently, can be used to reset a borg's module.
Security officers can modify people's criminal status by simply examining them with a security hud on and clicking a link that will show up as part of the character's description.
-
Less jobs have maintenance access. The only jobs that will have it now are engineers, atmos techs, cargo techs, heads, and the detective.
-
Changed Runtime's sprite to look more catlike.
-
View Variables can now better list associative lists.
-
Miscellaneous bugfixes for the NT Script IDE.
-
-
PolymorphBlue updated:
-
-
Minor bugfixes to borg deathsquad, adds borg deathsquad to potential tensioner (set so high it's never going to happen)
-
Adds consiterable support for ERP! (If enabled.)
-
Increases cost for changeling unstun to 45
-
-
-
-
-
30 March 2012
-
Donkie updated:
-
-
You can now stick papers back in to paperbins, text will persist.
-
Added a [field] bbcode tag to the pen writing. Lets your start writing from that point.
-
Changed fonts a bit for papers to make [sign] stand out more.
-
-
Doohl updated:
-
-
Gave pill bottles the ability to scoop up pills like ore satchels scoop ore. (There you go, /vg/ Anon.)
-
Security Officers and Wardens now start with maintenance acceess.
-
-
-
-
-
29 March 2012
-
PolymorphBlue updated:
-
-
Exosuits now provide a message when someone is getting in, someone getting in must remain stationary and unstunned, and getting in takes four seconds.
-
-
-
-
-
28 March 2012
-
Carn updated:
-
-
Fixed turrets shooting people that leave the area and the telecomm turret controls.
-
-
Donkie updated:
-
-
Updated air alarm's GUI.
-
-
-
-
-
27 March 2012
-
Nodrak updated:
-
-
Security borgs now have modified tasers.
-
Security borgs have gone back to having the same movement speed as all other borgs.
-
-
-
-
-
23 March 2012
-
Doohl updated:
-
-
Escape shuttles/pods now spend about 2 minutes in high-speed transit before they reach centcom/recon shuttle. This is a warning: regular after-round shuttle grief is NOT OKAY while the shuttle is still in transit! Save it for when the shuttle gets to centcom! The purpose of this is to give potential antagonists and protagonists a chance to have a final showdown in the shuttle. The round does not end until the shutle comes to a stop and docks. Don't step outside while the shuttle is moving!
For example; if you are a traitor and have an escape-alone objective and a couple of people manage to squeeze in the shuttle, you have two minutes to kill/toss them out to win. Or you can just chill for the duration and reflect on the round.
-
-
-
Donkieyo updated:
-
-
A bunch new standard-namespace NTSL functions added! Check them out at the NT Script wiki page!
-
-
-
-
-
22 March 2012
-
Ricotez updated:
-
-
Medical Lockers, Security Lockers, Research Lockers, Warden Locker, CMO Locker, and RD locker all have new sprites.
-
Encryption keys now each have their own invidual sprites.
-
-
-
PolymorphBlue updated:
-
-
Added a prototype holodeck to fitness!
-
Assorted tensioner fixes
-
-
-
-
20 March 2012
-
Kor updated:
-
-
Lasertag vests and guns have been added to fitness.
-
Art storage has replaced the emergency storage near arrivals. Emergency storage has replaced chem storage (has anyone ever used that?)
-
Wraiths can now see in the dark
-
-
-
-
-
-
19 March 2012
-
PolymorphBlue updated:
-
-
Added LSD sting to modular changeling by popular demand.
-
Silence sting no longer provides a message to the victim.
-
Tensioner will no longer assign dead people as assassination targets.
-
-
-
-
-
18 March 2012
-
Quarxink updated:
-
-
The medical record computers can finally search for DNA and not just name and ID.
-
-
-
-
-
14 March 2012
-
PolymorphBlue updated:
-
-
Modular changeling added! Changelings now purchase the powers they want. Balancing still underway, but should be playable.
-
-
Petethegoat updated:
-
-
Janitor cyborgs have been massively upgraded. Suffice to say they're pretty ballin' now...
-
-
Nodrak updated:
-
-
You can now choose whether to spawn with a backpack, satchel, or nothing. Excess items will spawn in your hands if necessary.
-
You can now choose what kind of underwear you'd like to wear, per a request.
-
-
-
-
-
14 March 2012
-
Carn updated:
-
-
Added 6 female hairstyles -- credits go to Erthilo of Baystation. Added a male hairstyle -- credits go to WJohnston of TG. If you can sprite some unique and decent-looking hair sprites, feel free to PM me on the TG forums.
-
-
-
The way objects appear to be splattered with blood has been rewritten in an effort to fix stupid things happening with icons. It should be called far less frequently now. PLEASE, if you experience crashes that could in anyway be related to blood, report them with DETAILED information. Thanks
-
-
-
-
-
13 March 2012
-
Nodrak & Carn updated:
-
-
Fixed the way flashes break. Long story short: They'll never break on first use so rev don't get screwed over. They run out of charge temporarily when spammed but recharge. Spamming them also increases the chance of them breaking a little, so use them sparingly.
-
-
Doohl updated:
-
-
Ablative Armor now has a high chance of reflecting energy-based projectiles.
-
Riot shields were buffed; they now block more attacks and they will prevent their wielder from being pushed (most of the time).
-
-
-
-
-
12 March 2012
-
PolymorphBlue updated:
-
-
PDA messages now require an active messaging server to be properly sent.
-
-
-
-
-
11 March 2012
-
PolymorphBlue updated:
-
-
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock them with alt+click
-
Tratior borgs who hack themselves cannot be blown by the robotics console, and can override lockdowns.
-
Adds a new wire to doors that controls the time delay before they close. If pulsed, they close like a sliding glass door. If cut, they do not close by themselves.
-
Borgs who have died, ghosts, and are then blown up will now have their ghosts properly transfered to their dropped MMIs.
-
-
Carnwennan updated:
-
-
You can now request AI presence at a holopad for immediate private communication with the AI anywhere. AIs can click a quick button to zoom to the holopad.
-
-
-
-
-
08 March 2012
-
Nodrak and Carnwennan updated:
-
-
Nodrak: Fixed crayon boxes and stuff getting stuck in pockets.
-
Nodrak: 'Steal item' objectives will report correctly when wrapped up in paper now.
-
Carn: fixed the vent in the freezer...poor chef kept suffocating.
-
-
-
-
-
02 March 2012
-
Carn updated:
-
-
Fixed a number of issues with mob examining. Including: not being able to see burns unless they were bruised; vast amounts of grammar; and icons. Updated them to use stylesheet classes.
-
Borgs can no-longer drop their module items on conveyor belts.
-
Names input into the setup screen are now lower-cased and then have their first letters capitalised. This is to fix problems with BYOND's text-parsing system.
-
Runtime fix for lighting.
-
Over the next few commits I will be updating a tonne of item names to fix text-parsing. Please inform me if I've typoed anything.
-
-
-
-
-
03 March 2012
-
Petethegoat updated:
-
-
Removed cloakers. Removed Security's thermals. Added disguised thermals as a traitor item.
-
-
-
-
-
01 March 2012
-
SkyMarshal updated:
-
-
Tweak/Bugfix for Hallucinations. Much more robust.
-
-
-
-
-
01 March 2012
-
SkyMarshal updated:
-
-
Ported BS12 Detective Work System
-
-
-
-
-
1 March 2012
-
Petethegoat updated:
-
-
Head revolutionaries no longer spawn with traitor uplinks.
-
-
-
-
-
-
29 February 2012
-
SkyMarshal updated:
-
-
BS12 Hallucination and Dreaming port
-
-
-
-
-
-
-
29 February 2012
-
muskets updated:
-
-
Integrated BS12's improved uplink code
-
-
-
-
-
-
26 February 2012
-
Doohl updated:
-
-
The insane crashing has finally been fixed!
-
-
-
-
-
25 February 2012
-
Doohl updated:
-
-
Telecommunications has been refined, with many new features and modules implemented.
-
NTSL (Nanotrasen Scripting Language) is ONLINE! This is a brand new, fully operational scripting language embedded within SS13 itself. The intended purpose is to eventually expand this scripting language to Robotics and possibly other jobs, but for now you may play with the TCS (Traffic Control Systems) implementation of NTSL in the Telecommunications Satellite. Recommended you read the NT Script wiki page for information on how to use the language itself. Other than that, there's not a lot of documentation.
-
Radio systems have been further optimized, bugfixed, etc. Should be more stable.
-
Intercoms now require power to work.
-
-
-
-
-
-
24 February 2012
-
PolymorphBlue updated:
-
-
Headsets are now modular! Use a screwdriver on them to pop out their encrpytion keys, and use a key on one to put it in. A headset can hold two keys. Normal headsets start with 1 key, department headsets with two. The standard chip does nothing, and is not required for listening to the common radio.
-
Binary translators made into a encrpytion key, and fixed. They now broadcast to AIs properly.
-
-
-
-
-
23 February 2012
-
PolymorphBlue updated:
-
-
MMIs/pAIs no longer lip read, and thus can now hear in the dark.
-
Borg rechargers are no longer Faraday cages, and thus can now receive radio while they're recharging.
-
-
LastyScratch updated:
-
-
Glass airlocks now make a different sound than regular airlocks.
-
in 1997 nanotrasen's first AI malfunctioned
-
Toggle ambience probably works now!
-
Runtime is dead.
-
The Research Director's consoles were moved into the completely empty cage in the back of his office.
-
-
-
-
-
-
22 February 2012
-
PolymorphBlue updated:
-
-
Changed alt+click to ctrl+click for pulling.
-
-
Petethegoat updated:
-
-
New stationary scrubber sprites~
-
Removed the mint. Coins can still be found and used in vending machines. PACMANs now run off sheets.
-
-
coolity updated:
-
-
New sprites for HoS and Captain lockers.
-
New sprites for the orebox.
-
-
-
-
-
21 February 2012
-
Petethegoat updated:
-
-
The jetpacks now display correctly when worn.
-
Buckling to chairs no longer causes you to drop your weapon
-
-
Nodrak updated:
-
-
Ghosts now have a "Jump to Mob" verb.
-
-
Sieve updated:
-
-
Mining lanterns work properly once again!.
-
Skaer updated:
-
-
The armoury now includes a box of spare Sec cartridges.
-
-
-
-
-
19 February 2012
-
Petethegoat updated:
-
-
The jetpacks in EVA have been replaced with CO2 ones, painted a classy black.
-
Additionally, jetpacks will now run on gases other than oxygen, as you would expect.
-
Chair overhaul! You shouldn't notice anything different, but if you encounter bugs with chairs or beds, please report those asap.
-
New electric chair sprites, by myself.
-
Electric chairs will only electrocute people buckled into them.
-
Karma should be fixed.
-
-
KorPhaeron updated:
-
-
A new construct type: Artificer. It is capable of constructing defenses, repairing fellow constructs, and summoning raw materials to construct further constructs
-
Simple animals (constructs, Ian, etc) can now see their health in the Status tab
-
Detective's revolver is non-lethal again. Was fun while it lasted
-
-
-
-
-
18 February 2012
-
Petethegoat updated:
-
-
Foam has a reduced range to prevent spamming
-
-
Sieve updated:
-
-
Stopped the unholy Radium/Uranium/Carbon smoke that crashed the server. And for anyone that did this, you are a horrible person
-
Cleanbots clean dirt
-
Cleanbots automatically patrol on construction
-
Removed silicate because it is not useful enough for how much lag it caused
-
-
-
-
-
16 February 2012
-
Smoke Carter updated:
-
-
Newscasters now alert people of new feeds and wanted-alerts simultaneously.
-
-
-
-
-
15 February 2012
-
Kor updated:
-
-
Terrorists Win! Desert Eagles and Riot Shields now spawn on the syndicate shuttle, replacing the c20r
-
The Detectives gun still uses .38, but they're now fully lethal bullets. Go ahead, make his day.
-
The Veil Render has been nerfed, the Nar-Sie it spawns will not pull anchored objects. This is a temporary measure, more nerfs/reworking to come
-
-
-
-
-
14 February 2012
-
Carn updated:
-
-
Spacevines added to the random events.
-
The bug where doors kept opening when a borg tried to close them at close range is now fixed.
-
-
-
-
-
13 February 2012
-
Khodoque updated:
-
-
Security officers, the warden and the HoS have new jumpsuits.
-
-
Erro updated:
-
-
Clicking the internals button on your user interface (The one that shows if you have internals on or not) will now toggle internals even if they are in your pockets. (humans only) - It now works if your internals are on your back, suit storage, belt, hands and pockets.
-
The public autolathe has been removed. If you want some some stuff from a lathe, go to cargo.
-
-
Kor updated:
-
-
A new item, the null rod, protects the one bearing it from cult magic. One starts in the chaplains office, and this replaces the job based immunity he had. The null rod also is capable of dispelling runes upon hitting them (the bible can no longer do this)
-
Shooting fuel tanks with lasers or bullets now causes them to explode
-
A construct shell is now waiting to be found in space.
-
Chaplains can no longer self heal with the bible
-
Simple animals, including constructs, can now attack mechs and critters
-
-
-
-
-
-
12 February 2012
-
Erro updated:
-
-
You can no longer attach photos to ID cards. This never worked properly and if anything, it was misleading.
-
Backpacks can now hold 7 normal sized items (box size) as opposed to 6 normal sized items + 1 small item
-
Added several fire alarms to areas around the station including the brig, engineering and others
-
The atmospherics department now has a few hazard vests available for atmos techs to wear if they don't like the fire suit
-
Roboticist now have engineering + science headsets, virologists now have medsci headsets with medical + science channels
-
Added some headsets to the jobs that didn't have any extras: roboticist, qm, scientist, virologist and geneticist.
-
Station engineers now have construction site access (vacent office by arrivals)
-
Replaced a few airlocks with glass airlocks (detective, autolathe, assistant storage, robotics, checkpoint)
-
Removed the wall that was blocking the entrance to the theater
-
Made a small redesign for the HoP's office so that people running towards it from the escape hallway don't run right into the queue, annoying everyong
-
The engineering, command and security airlocks now glow green when closing instead of red to match all the other airlocks
-
The disposal units now auto trigger every 30 game ticks, if there is something (or someone) in them. So no more hiding in disposal units!
-
You can no longer control the disposal unit from within it. You will have to wait for it to trigger itself.
-
You can no longer strip items off of Ian while dead / a ghost
-
-
Pete updated:
-
-
Updated fitness, athletic shorts are now available!
-
-
-
-
-
-
11 February 2012
-
Erro updated:
-
-
You can now take individual crayons out of the crayon box the same way as from boxes
-
Clicking a grille with a glass or reinforced glass pane in your hand will glaze the grille from the direction you're looking from (don't forget to fasten the window tho)
-
When you click somewhere with the intent to interact, you will automaticaly face the item you're trying to interact with. This won't slow you down when running and firing guns behind you.
-
-
Kor updated:
-
-
A new passive mob ability: Relentless. Relentless mobs cannot be shoved (though may still swap places with help intent)
-
Alien Queens, Juggernaut constructs, and Medical Borgs are all Relentless. Maybe the medborg can actually drag people to medbay on time now
-
Two constructs, the Juggernaut and the Wraith are now available for wizards and cultists to use soul stones with
-
A new highly destructive artefact, Veil Render, is now available for wizards
-
A new one time use global spell, Summon Guns, is now available for wizards.
-
DEEPSTRIKING! There is now a partially constructed teleporter on the nuke shuttle, and for a large sum of telecrystals they may purchase the circuitboard needed to complete it.
-
The Chaplain is immune to cult stun, blind, deafen, and blood boil
-
-
-
-
-
10 February 2012
-
Quarxink updated:
-
-
Added a new toy: Water balloons. They can be filled with any reagent and when thrown apply the reagents to the tile and everything on it.
-
-
-
-
-
9 February 2012
-
Erro updated:
-
-
Engineering and security lockers now spawn with their respective backpacks in them so job-changers can look as they should. HoS locker now also contains an armored vest, for the convenience of the HoS who wants to play with one.
-
Slightly changed the spawn order of items in the CE and HoS lockers to make starting up a hint less tedious.
-
-
-
-
-
8 February 2012
-
ConstantA updated:
-
-
Added Exosuit Jetpack
-
Added Exosuit Nuclear Reactor (runs of normal, everyday uranium, maybe I'll switch it to run on enriched) - requires research (level 3 in Materials, Power Manipulation and Engineering)
-
Added Ripley construction steps sprites (courtesy of WJohnston - man, you're awesome)
-
Exosuit Sleeper can now inject occupant with reagents taken from Syringe Gun
-
Exosuit Cable Layer will now auto-dismantle floors
-
Exosuit Heavy Lazer cooldown increased, Scattershot now fires medium calibre ammo (less damage)
-
Exosuit wreckage can be pulled
-
EMP now drains half of current exosuit cell charge, not half of maximum charge.
-
Fixed several possible exosuit equipment runtimes
-
Introduced new markup to changelog. Javascript is extremely slow (in byond embedded browser) for some reason.
-
-
-
-
4 February 2012, World Cancer Day
-
Erro updated:
-
-
Examining humans now works a bit differently. Some external suits and helmets can hide certain pieces of clothing so you don't see them when examining. Glasses are also now displayed when examining.
-
The job selection screen has been changed a little to hopefully make making changes there easier.
-
-
-31 January 2012
-
-
Carn updated:
-
-
Grammar & various bug-fixes
-
Thank-you to everyone who reported spelling/grammar mistakes. I'm still working on it, so if you spot anymore please leave a comment here. There's still lots to fix.
-
Mining station areas should no longer lose air.
-
-
-
-
-30 January 2012(
-
-
Sieve updated:
-
-
This stuff is actually already implemented, it just didn't make it to the changelog
-
Firefighter Mech - A reinforced Ripley that is more resistant to better cope with fires, simply look in the Ripley Contruction manual for instructions.
-
Mech contruction now has sounds for each step, not just 1/4 of them.
-
Mech Fabricators are fixed, Manual Sync now works and certain reseach will reduce the time needed to build components.
-
Added special flaps to the mining station that disallow air-flow, removing the need to shuffle Ore Boxes through the Airlocks.
-
Each outpost has it's own system for the conveyors so they won't interfere with each other.
-
Powercell chargers have been buffed so now higher capacity cells are actually useable.
-
A diamond mech drill has been added. While it isn't any stronger than the standard drill, it is much faster.
-
-
-
-
-29 January 2012, got Comp Arch exams on Wednesday :(
-
-
Agouri updated:
-
-
UPDATE ON THE UPDATE: Newspapers are now fully working, sorry for that. Some minor icon bugs fixed. Now I'm free to work on the contest prizes :3
-
Newscasters are now LIVE! Bug reports, suggestions for extra uses, tears etc go here.
-
What ARE newscasters? Fans of the Transmetropolitan series might find them familiar. Basically, they're terminals connected to a station-wide news network. Users are able to submit channels of their own (one per identified user, with channels allowing feed stories by other people or, if you want the channel to be your very own SpaceJournal, being submit-locked to you), while others are able to read the channels, either through the terminals or a printed newspaper which contains every news-story circulating at the time of printing.
-
About censorship: You can censor channels and feed stories through Security casters, found in the HoS'es office and the Bridge. Alternatively, if you want a channel to stop operating completely, you can mark it with a D-Notice which will freeze it and make all its messages unreadable for the duration it is in effect. If you've got the access, of course.
-
Basically I think of the newscaster as nothing more as an additional Roleplaying tool. Grab a newspaper along with your donuts and coffee from the machines, read station rumors when you're manning your desk, be a station adventurer or journalist with your very own network journal!
-
I would ask for a bit of respect when using the machine, though. I removed all and any channel and story restrictions regarding content, so you might end up seeing channels that violate the rules, Report those to the admins.
-
Finally, due to the removal of the enforced "Channel" string, it's recommended to name your channels properly ("Station Paranormal Activity Channel" instead of "Station Paranormal Activity", for example")
-
-
-
-
-28 January 2012
-
-
BubbleWrap updated:
-
-
Arresting buff!
-
A person in handcuffs being pulled cannot be bumped out of the way, nor can the person pulling them. They can still push through a crowd (they get bumped back to behind the person being pulled, or pushed ahead depending on intent).
-
-
-
-27 January 2012
-
-
LastyScratch updated:
-
-
Toggle-Ambience now works properly and has been moved from the OOC tab to the Special Verbs tab to be with all the other toggles.
-
-
RavingManiac updated:
-
-
The bar now has a "stage" area for performances.
-
-
Blaank updated:
-
-
Added a vending machine to atmopherics reception desk that dispenses large
-oxygen tanks, plasma tanks, emergency oxegen tanks, extended capacity emergency
-oxygen tanks, and breath masks.
-
-
Petethegoat updated (for a bunch of other people):
-
-
Lattice is now removed when you create plating or floor (credit Donkieyo).
-
Monkeys now take damage while in crit (credit Nodrak).
-
The warden now has his own jacket. (credit Shiftyeyesshady).
-
Spectacular new dice that will display the proper side when rolled!! (credit TedJustice)
-
Spectacular new dice that will display the proper side when rolled!! (credit TedJustice)
-
-
Borg RCDs can no longer take down R-walls. (headcoder orders)
-
-
-19 January 2012
-
-
Petethegoat updated:
-
-
Exciting new pen additions! Get the low-down at the wiki.
-
-
-
-17 January 2012
-
-
Doohl updated:
-
-
Syndicate shuttle now starts with a All-In-One telecommunication machine, which acts as a mini-network for the syndie channel. It intercepts all station radio activity, too, how cool is that?
-
-
-
-15 January 2012
-
-
Doohl updated:
-
-
The radio overhaul 'Telecommunications' is now LIVE. Please submit any opinions/feedback in the forums and check the wiki article on Telecommunications for some more info for the curious.
-
The AI satellite has been replaced with a communications satellite. You can get there via teleporter or space, just like the AI satellite. I highly recommend not bum-rushing the new satellite, as you may be killed if you don't have access. It's a very secure place.
-
Once a human's toxicity level reaches a certain point, they begin throwing up. This is a natural, but overall ineffective method of purging toxins from the body.
-
You can now travel Z-levels in Nuclear Emergency mode (the nuke disk is still bound to the station). This means the nuclear agents can and probably will fly off into space to blow up the comm satellite and shut down communications.
-
-
-
-9 January 2012
-
-
ConstantA updated:
-
-
Reworked exosuit internal atmospherics (the situation when exosuit is set to take air from internal tank, otherwise cabin air = location air):
-
-
If current cabin presure is lower than "tank output pressure", the air will be taken from internal tank (if possible), to equalize cabin pressure to "tank output pressure"
-
If current cabin presure is higher than "tank output pressure", the air will be siphoned from cabin to location until cabin pressure is equal to "tank output pressure"
-
Tank air is not altered in any way even if it's overheated or overpressured - connect exosuit to atmos connector port to vent it
-
"Tank output pressure" can be set through Maintenance window - Initiate maintenance protocol to get the option
-
-
-
Fixed bug that prevented exosuit tank air updates if exosuit was connected to connector port
-
Combat exosuits melee won't gib dead mobs anymore
-
QM exosuit circuit crates cost lowered to 30 points
-
Exosuit plasma converter effectiveness +50%
-
-
-
-
-8 January 2012
-
-
Agouri updated:
-
-
I'm back home and resumed work on Newscasters and Contraband.
-
But I got bored and made cargo softcaps instead. Flippable! Enjoy, now all we need is deliverable pizzas.
-
Oh, also enjoy some new bodybag functionality and sounds I had ready a while ago, with sprites from Farart. Use a pen to create a visible tag on the bodybag. Wirecutters to cut it off. Also it's no longer weldable because it makes no goddamn sense.
-
-
-
-7 January 2012
-
-
Donkieyo updated:
-
-
You must now repair damaged plating with a welder before placing a floor tile.
-
You can now relabel canisters if they're under 1kPa.
-
-
Polymorph updated:
-
-
Dragging your PDA onto your person from your inventory will bring up the PDA screen.
-
You can now send emergancy messages to Centcomm (Or, with some.. tampering, the Syndicate.) via a comms console. (This occurs in much the fashion as a prayer.)
-
-
-3 January 2012
-
-
Erro updated:
-
-
Shift-clicking will now examine whatever you clicked on!
-
-
Polymorph updated:
-
-
Alt-clicking will now pull whatever you clicked on!
-
-
-
-1 January 2012 (12 more months until doomsday)
-
-
Doohl updated:
-
-
XENOS ARE NOW IMMUNE TO STUNNING! To compensate, stunning via tasers/batons now slows them down significantly.
-
-
-
Polymorph updated:
-
-
Doors no longer close if they have a mob in the tile. (Generally!) Door safties can now be overriden to close a door with a mob in the tile and injure them severely.
-
-
-
-
-29 December 2011
-
-
ConstantA updated:
-
-
Added some new Odysseus parts and tweaked old ones.
-
Added Exosuit Syringe Gun Module
-
New Odysseus sprites - courtesy of Veyveyr
-
-
Polymorph updated:
-
-
Air Alarms can now be hacked.
-
Too much of a good thing is just as bad as too little. Pressures over 3000 kPa will do brute damage.
-
-
-
-28 December 2011
-
-
RavingManiac updated:
-
-
Wrapped objects can now be labelled with a pen
-
Wrapped small packages can be picked up, and are now opened by being used on themselves
-
Mail office remapped such that packages flushed down disposals end up on a special table
-
Package wrappers placed in most of the station departments
-
In short, you can now mail things to other departments by wrapping the object, labelling it with the desired destination using a pen, and flushing it down disposals. At the mail room, the cargo tech will then tag and send the package to the department.
-
-
-
-27 December 2011
-
-
Errorage updated:
-
-
Engineering's been remapped
-
-
RavingManiac updated:
-
-
Refrigerators and freezer crates will now preserve meat
Circuit boards for Odysseus mech can be ordered by QM
-
Designs for them were added to R&D
-
-
-
Kor updated:
-
-
Soul Stones Added: Like intellicards for dead or dying humans! Full details are too long for the changelog
-
A belt full of six soul stones is available as an artefact for the wizard
-
Cultists can buy soulstones with their supply talisman
-
The chaplain has a single soulstone on his desk
-
The reactive teleport armour's test run is over. It no longer spawns in the RD's office.
-
-
-
-
-
-
-24 December 2011
-
-
Rockdtben updated:
-
-
Added sprites for soda can in left and right hands on mob: sodawater, tonic, purple_can, ice_tea_can, energy_drink, thirteen_loko, space_mountain_wind, dr_gibb, starkist, space-up, and lemon-lime.
-
-
-
-
-
-23 December 2011
-
-
ConstantA updated:
-
-
Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
-
Added Odysseus Medical Exosuit. Has integrated Medical Hud and ability to mount medical modules.
-
Added Sleeper Medical module for exosuits. Similar to common sleepers, but no ability to inject reagents.
-
Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
-
Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
-
You should be able to send messages to exosuit operators using Exosuit Control Console
-
Gygax armour and module capacity nerfed.
-
Exosuit weapon recharge time raised.
-
Bugfix: EMP actually drains exosuit cell and damages it
-
-
-
RavingManiac updated:
-
-
Meat will now spoil within three minutes at temperatures between 0C and 100C.
-
Rotten meat has the same nutritional value as normal meat, and can be used in
-the same recipes. However, it is toxic, and ingesting a badly-prepared big bite
-burger can kill you.
-
Because refrigeration serves a purpose now, the kitchen cold room freezing unit
-is turned off by default. Chefs should remember to turn the freezer on at the
-start of their shift.
-
-
-
-
-21 December 2011
-
-
RavingManiac updated:
-
-
Kitchen cold room is now cooled by a freezing unit. Temperature is about 240K by default, but can be raised to room temperature or lowered to lethal coldness.
-
-
-
-19 December 2011
-
-
Kor updated:
-
-
General/Misc Changes
-
-
Escape pods no longer go to the horrific gibbing chambers. Rather, they will be picked up by a salvage ship in deep space. (This basically changes nothing mechanics wise, just fluff)
-
An ion rifle now spawns on the nuclear operative shuttle. Maybe this will help with them getting destroyed by sec borgs every round?
-
-
-
Wizard Changes
-
-
The wizard can now purchase magic artefacts in addition to spells in a subsection of the spellbook.
-
The first (and currently only) new artefact is the Staff of Change, which functions as a self recharging energy weapon with some special effects.
-
The wizard has a new alternative set of robes on his shuttle.
-
-
-
Cult Changes
-
Cultists now each start with three words (join, blood, self). No more will you suffer at the hands of cultists who refuse to share words.
-
The starting supply talisman can now be used five times and can now be used to spawn armor and a blade.
-
Replaced the sprites on the cultist robes/hood.
-
-
-
-
-18 December 2011
-
-
Carnwennan updated:
-
-
Thanks to the wonders of modern technology and the Nanotrasen steel press Ian's head has been shaped to fit even more silly hats. The taxpayers will be pleased.
-
-
-
Doohl updated:
-
-
Vending machines got yet another overhaul! Good lord, when will they stop assfucking those damned vendors??
-
-
-
-
-17 December 2011
-
-
Erro updated:
-
-
Your direct supervisors are now displayed when you are assigned a job at round start or late join.
-
-
-
-
-14 December 2011
-
-
Erro updated:
-
-
Meteor mode is hopefully deadly again!
-
-
-
Kor updated:
-
-
Research director has a new toy: Reactive Teleport Armour. Click it in your hand to activate it and try it out!
-
-
-
-
-11 December 2011
-
-
NEO updated:
-
-
AIs actually consume power from APCs now
-
Bigass malf overhaul. tl;dr no more AI sat, instead you have to play whackamole with APCs.
-
-
-
-
-10 December 2011
-
-
Doohl updated:
-
-
Title music now plays in the pregame lobby. You can toggle this with a verb in "Special Verbs" if you really want to.
-
User Interface preferences now properly get transferred when you get cloned.
-
-
-
Erro updated:
-
-
Escape pods have been added to test the concept.
-
Escaping alone in a pod does not count towards the escape alone objective, it counts towards the escape alive objective tho. Escape alone only requires you to escape alone on the emergency shuttle, it doesn't require you to ensure all pods are empty. Cult members that escape on the pods do not ocunt towards the cult escaping acolyte number objective. Escaping on a pod is a valid way to survive meteor.
-
-
-
Polymorph updated:
-
-
Fire is now actually dangerous. Do not touch fire.
-
-
-
-
-
-
-8 December 2011
-
-
Errorage updated:
-
-
Fixed the comms console locking up when you tried to change the alert level.
-
Added a keycard authentication device, which is used for high-security events. The idea behind it is the same as the two-key thing from submarine movies. You select the event you wish to trigger on one of the devices and then swipe your ID, if someone swipes their ID on one of the other devices within 2 seconds, the event is enacted. These devices are in each of the head's offices and all heads have the access level to confirm an event, it can also be added to cards at the HoP's ID computer. The only event that can currently be enacted is Red alert.
-
-
-
Kor updated:
-
-
The chef now has a fancy dinner mint in his kitchen. It is only wafer thin!
-
-
-
-
-3 December 2011
-
-
Pete & Erro Christmas update:
-
-
Reinforced metal renamed to steel and steel floor tile renamed to metal floor tile to avoid confusion before it even happens.
-
It is no longer possible to make steel from metal or vice versa or from the autolathe. You can however make metal from the autolathe and still insert steel to increase the metal resource.
-
To make steel you can now use the mining smelting unit and smelt iron and plasma ore.
-
The RCD can no longer take down reinforced walls.
-
-
-
Errorage updated:
-
-
Grass plants in hydro now make grass floor tiles instead of the awkward patches.
-
-
-
Petethegoat updated:
-
-
Fixed all known vending machine issues.
-
Fixed a minor visual bug with emagged lockers.
-
Clarified some of the APC construction/deconstruction messages.
-
-
-
Numbers updated:
-
-
Potency variations tipped in favour of bigger changes over smaller periods of time.
-
-
-
PolymorphBlue updated:
-
-
Traitors in the escape shuttle's prison cell will now fail their objective.
-
Lockers are no longer soundproof! (or flashproof, for that matter)
-
Headrevs can no longer be borged, revs are dereved when borged.
-
Changeling husks are now borgable again (though not clonable) and genome requirements were lowered
-
De-revved revolutionaries had their message clarified a bit. You remember the person who flashed you, and so can out ONE revhead
-
Light tubes/bulbs can now be created in the autolathe. Recycle those broken lights!
-
-
-
-
-22 November 2011
-
-
Doohl updated:
-
-
The firing range now has a purpose. Go check it out; there's a few surprises!
-
-
-
-
-19 November 2011
-
-
Doohl updated:
-
-
Toggling admin midis will now DISABLE THE CURRENT MIDI OH MY GOSH!
-
-
-
Tobba updated:
-
-
We're looking for feedback on the updated chem dispenser! It no longer dispenses beakers of the reagent, and instead places a variable amount of the reagent into the beaker of your choosing.
-
-
-
Petethegoat updated:
-
-
Diagonal movement is gone on account of them proving to be a bad idea in practice. A grand experiment nonetheless.
-
-
-
Kor updated:
-
-
The PALADIN lawset in the AI upload has been replaced with the corporate lawset
-
-
-
-
-16 November 2011
-
-
Tobba updated:
-
-
Report any issues with the updated vending machines!
-
-
-
-
-16 November 2011
-
-
Petethegoat updated:
-
-
Security, Engineer, Medical, and Janitor borgs no longer get a choice of skin. This is for purposes of quick recognition, and is the first part of a series of upcoming cyborg updates.
-
-
-
-
-7 November 2011
-
-
Kor updated:
-
-
Repair bots (mechs) are now adminspawn only
-
Extra loyalty implants are now orderable via cargo bay (60 points for 4 implants)
-
Changeling regen stasis now takes two full minutes to use, but can be used while dead. Burning and gibbing are the only way to keep them dead now.
-
-
-
-
-29 October 2011
-
-
ConstantA updated:
-
-
Added step and turn sounds for mechs
-
Added another mecha equipment - plasma converter. Works similar to portable generator. Uses solid plasma as fuel. Can be refueled either by clicking on it with plasma in hand, or directly from mecha - selecting it and clicking on plasma.
-
Added mecha laser cannon.
-
Added damage absorption for mechs. Different mechs have different absorption for different types of damage.
-
Metal foam now blocks air movement.
-
-
-
Petethegoat updated:
-
-
Fixed sticking C4 to containers.
-
Rearranged the armoury, and changed the medical treatment room in Sec to an interrogation room.
-
Mr Fixit has been powered off and returned to the armoury. Deploying him every round is still recommended!
-
-
-
-
-29 October 2011
-
-
Petethegoat updated:
-
-
Stunglove overhaul: part one. Stun gloves are now made by wiring a pair of gloves, and then attaching a battery- this shows up on the object sprite, but not on your character. Stungloves use 2500 charge per stun! This means that some low capacity batteries will make useless stungloves. To get your old inconspicous gloves back, simply cut away the wire and battery. Note that insulated gloves lose their insulation when you wire them up! Yet to come: stungloves taking extra damage from shocked doors.
-
Removed sleepypens! Paralysis pens have been changed to look like normal pens instead of penlights, and have been slightly nerfed. They will paralyse for about fifteen seconds, and cause minor brain damage and dizziness.
-
Uplink Implants now have five telecrystals instead of four.
-
-
-
Doohl updated:
-
-
More hairs added and a very long beard.
-
Finally fixed the request console announcements going AMP AMP AMP all the time when you use punctuation.
-
-
-
-
-27 October 2011
-
-
Mport updated:
-
-
New WIP TK system added. To activate your TK click the throw button with an empty hand. This will bring up a tkgrab item. Click on a non-anchored (currently) non mob Object to select it as your "focus". Once a focus is selected so long as you are in range of the focus you can now click somewhere to throw the focus at the target. To quit using TK just drop the tkgrab item.
-
-
-
-
-21 October 2011, Tuesday:
-
-
Errorage updated:
-
-
Old keyboard hotkey layout option available again! home, end, page down and page up now once again do what they did before by default. To use diagonal movement you will need to use your numpad with NUM LOCK enabled.
- The new list of hotkeys is as follows: (Valid as of 21.10.2011)
-
-
Numpad with Num Lock enabled = movement in wanted direction.
-
Numpad with Num Lock disabled = as it was before. movement north-south-east-west and throw, drop, swap hands, use item on itself.
-
Page up (also numpad 9 with num lock disabled) = swap hands
-
Page down (also numpad 3 with num lock disabled) = use item in hand on itself
-
home (also numpad 7 with num lock disabled) = drop
-
end (also numpad 1 with num lock disabled) = throw
-
CTRL + A = throw
-
CTRL + S = swap hands
-
CTRL + D = drop
-
CTRL + W = use item in hand on itself
-
Numpad divide (/) = throw
-
Numpad multiply (*) = swap hands
-
Numpad subtract (-) = drop
-
Numpad add (+) = use item in hand on itself
-
- In short, use Num Lock to swap between the two layouts.
-
-
-
-
-
-18 October 2011, Tuesday:
-
-
Errorage updated:
-
-
You can now move diagonally! To do so, use the numpad. The keybaord has been remapped to make this possible:
-
There has been a tidal wave of bugfixes over the last 5 or so days. If you had previously tried something on the station, saw that it was bugged and never tried it again, chances are it got fixed. I don't want you to neglect using stuff because you think it was bugged, which it was at one point, but no longer is. Thanks, happy new semester to everyone~
-
-
-
Errorage updated:
-
-
When you're unconscious, paralyzed, sleeping, etc. you will still see the same blackness as always, but it will rarely flicker a bit to allow you to see a little of your surroundings.
-
-
-
Doohl updated:
-
-
New hairstyles! YOU never asked for this!
-
-
-
-
-11 October 2011:
-
-
ConstantA updated:
-
-
Added radios to exosuits. Setting can be found in 'Electronics' menu.
-
Exosuit maintenance can be initiated even if it's occupied. The pilot must permit maintenance through 'Permissions & Logging' - 'Permit maintenance protocols'. For combat exosuits it's disabled by default. While in maintenance mode, exosuit can't move or use equipment.
-
-
-
-
-8 October 2011:
-
-
Doohl updated:
-
-
You can put things on trays and mass-transport them now. To put stuff on trays, simply pick up a tray with items underneath/on top of it and they'll be automatically carried on top of the tray. Be careful not to make a mess~!
-
-
-
Mport updated:
-
-
Telekenesis now only allows you to pick up objects.
-
Stun gloves ignore intent.
-
Moved the loyalty implants to the HoS' locker.
-
Job system redone, remember to setup your prefs.
-
-
-
-
-2 October 2011:
-
-
Petethegoat updated:
-
-
Pandemic recharge speed is affected by the number of different types of antibodies in the blood sample. For maximum efficiency, use blood samples with only a single type of antibody. (Blood samples with two types of antibodies will still let the Pandemic recharge slightly faster than it used to.)
-
-
-
Errorage updated:
-
-
Opening a storage item on your belt will now display the proper number of slots even if the number is different from 7.
Xenomorphic aliens can now shape resin membranes (organic windows basically).
-
The AI can no longer see runes. Instead, they will see blood splatters.
-
-
-
-
-28 September 2011:
-
-
Rolan7 updated:
-
-
New method for job assignment. Remember to review your preferences. Send all your hate and bug reports to me.
-
-
-
Doohl updated:
-
-
Putting someone inside a cloning machine's DNA scanner will notify the person that they are about to be cloned. This completely removes the necessity to announce over OOC for someone to get back in their body.
-
-
-
-
-22 September 2011, OneWebDay:
-
-
Errorage updated:
-
-
Added an additional 9 colors, into which you can color bedsheets, jumpsuits, gloves and shoes at the washing machine.
-
A new click proc will need to be live-tested. The testing will be announced via OOC and you will get a message when it happens. When testing is going on, the new click proc will be used. If testing is going on and you notice a bug, please report it via adminhelp. If you find yourself unable to perform an action, you can double click (By that I mean spam the shit out of clicking) to use the old proc, which is unchanged and will behave like you're used to. Standard roleplay rules apply during tests, they're not an excuse to murder eachother.
-
-
-
-
-20 September 2011, 10 year anniversary of the declaration of the "war on terror":
-
-
Errorage updated:
-
-
You can no longer clone people who suicided. I REPEAT! You can no longer clone people who have suicided! So use suiciding more carefully and only if you ACTUALLY want to get out of a round. You can normally clone people who succumbed tho, so don't worry about that.
-
Washing your hands in the sink will now only wash your hands and gloves. You can wash items if you have them in your hands. Both of these actions are no longer instant tho.
-
-
-
-
-18 September 2011, World Water Monitoring Day:
-
-
Errorage updated:
-
-
Added the most fun activity in your every-day life. Laundry. Check the dormitory. (Sprites by Hempuli)
-
You can now change the color of jumpsuits, shoes, gloves and bedsheets using the washing machine.
-
Some religions (currently Islam, Scientology and Atheism) set your chapel's symbols to the symbols of that religion.
-
A new old-style cabinet's been added to the detective's office. (Sprite by Hempuli)
-
Runtime the cat ran away!! And it gets even worse! Mr. Deempisi met a premature end during an excursion to the kitchen's freezer! -- I was ORDERED to do this... don't kill me! :(
-
Kudzu can now be spawned (Currently admin-only. Will test a bit, balance it properly and add it as a random event) (Original code and sprites donated by I Said No)
-
-
-
Kor updated:
-
-
Added purple goggles to chemistry (you're welcome Lasty)
-
Added a third MMI to robotics and monkey cubes to xenobio (dont fucking spam them in the halls)
-
-
-
Mport updated:
-
-
Turns out tasers and a few other weapons were slightly bugged when it came to checking the internal powercell. Tasers and such gained an extra shot.
-
Ion Rifle shots lowered to 5 per charge.
-
-
-
-
-17 September 2011, Operation Market Garden remembrance day:
-
-
Errorage updated:
-
-
You can now insert a coin into vending machines. Some machines (currently only the cigarette vending machine) have special items that you can only get to with a coin. No, hacking will not let you get the items, coin only.
-
-
-
-
-14 September 2011:
-
-
Lasty updated:
-
-
Runtime now actually spawns in medbay because nobody cared whether it is a tiny smugfaced espeon that explodes violently on death or a spacecat that presumably doesn't.
-
You can no longer put someone into a sleeper and erase them from existence by climbing into the same sleeper.
-
Players who haven't entered the game will no longer be able to hear administrators in deadchat.
-
-
-
Pete updated:
-
-
Added new sprites for the light tube and glasses boxes.
-
Fixed the bug where syndicate bundles would have an emergency O2 tank and breath mask.
-
-
-
Mport, SECOND REMOVER OF SUNS updated:
-
-
Singularity absorbtion explosion range lowered and is now dependent on singularity size.
-
Bag of Holding no longer instakills singularity, and the chance for bombs to destroy a singularity has been changed from 10% to 25%.
-
Removed THE SUN.
-
Damage and stun duration from shocked doors has been lowered to account for a larger amount of energy in the powernet.
-
-
-
-13 September 2011:
-
-
Errorage updated:
-
-
Healing, attacking or 'gently tapping' Ian will now properly display the name of the attacker to all people.
Ian can now be healed with bruisepacks, unless he's already dead.
-
You can now walk over Ian when he's killed.
-
Ian will chase food, if you leave it on the floor. If he notices it and you pick it up, he'll chase you around, if you stay close enough.
-
-
-
-
-10 September 2011:
-
-
Errorage updated:
-
-
A new pet on the bridge.
-
The pet can now be buckled and will no longer escape from closed containers, such as closets or the cloning pods.
-
Vending machines and request consoles are the first to use the new in-built browser in the upper-right of the user interface. If feedback is positive on these, more machines will be added to this. Hoping that this will eventually reduce the number of popup micromanagement.
-
-
-
Lasty updated:
-
-
The collectible hats have been removed from the theatre, doomed to rot forever in the hat crates they spawned from. No longer shall you see racks full of "collectible hard hat"!
-
-
-
TLE updated:
-
-
You can now toggle the message for becoming a pAI on and off in your prefs.
-
-
-
Mport updated:
-
-
Synaptizine now once again helps you recover from being stunned, however it is now also slightly toxic and may cause a small amount of toxins damage for every tick that it is in your system.
-
Assembly updating!
-
Original blob is back, though it still has lava sprites.
-
The bug where you would spawn on the wizard shuttle for a second at the start of the round should no longer occur.
-
-
-
-
-8 September 2011:
-
-
Lasty updated:
-
-
Suicide has been changed to biting your tongue off instead of holding your breath, and examining someone who has comitted suicide will give you a message stating that their tongue is missing.
-
Chemsprayers are now large items instead of small, meaning they can no longer fit in your pocket.
Removed dumb/badly sprited drinks for barman. This is for you, people that love to play barman. Your job is now non-stupid again. EDIT: FIXED DRINK MIXING
Fixed the karma exploit! Uhangi can rest in peace knowing his -87 karma ways were not his own.
-
Added new ambient sound for space and the mines.
-
Examining an oxygen tank will now tell you if it is about to run out of air. If it is, you will recieve a beep and a message, and if not, then you'll just get the default "this is an oxygentank!" message.
Sleeper update! Sleepers can now only inject soporific, dermaline, bicaridine, and dexaline into people with 1% or more health. They can also inject inaprovaline into people with -100% or more health. Nothing can be injected into people who are dead.
-
-
-
Superxpdude updated:
-
-
Virology is now part of medbay, and as such the RD no longer has Virology access and the CMO and Virologist no longer have Research access.
-
-
-
Uhangi updated:
-
-
Electropacks, screwdrivers, headsets, radio signalers, and station bounced radios can now be constructed from the autolathe.
-
Added a courtroom to Centcom.
-
Fixed electropack bug regarding using screwdrivers on electropacks.
Updates made to the HoP's ID computer. New interface and removing a card will now put it directly in your hand, if it's empty. Using your card on the computer will place it in the appropriate spot. If it has access to edit cards it will put it as the authentication card, otherwise as the card to be modified. If you have two cards with ID computer access first insert the authentication card, then the one you wish to midify, or do it manually like before.
People who have been infected by facehuggers can no longer suicide.
-
Stammering has been reworked.
-
The chaplain can now no longer discern what ghosts are saying, instead receiving flavour text indicating that ghosts are speaking to him.
-
Walking Mushroom yield decreased from 4 to 1.
-
Glowshrooms now only spread on asteroid tiles.
-
Fixed rev round end message reporting everyone as dead.
-
Gave the changeling an unfat sting.
-
-
Erro updated:
-
-
R'n'D and Gas Storage locations have been swapped in order for R&D to be given a hallway-facing table, just like Chemistry.
-
Buckling someone to a chair now causes them to face in the same direction as the chair.
-
Conveyor will now move only 10 items per game cycle. This is to prevent miners from overloading the belts with 2000 pieces of ore and slowing down time by turning it on. Does not apply to mobs on belt.
-
-
Doohl updated:
-
-
New escape shuttle!
-
Metroids get hungry slower, but gain more nutrients from eating.
-
-
Kor updated:
-
-
Added Necronomicon bible (credit Joseph Curwen)
-
Removed Doc Scratch clothing from chaplain? locker and added as a random spawn in the theatre.
-
Shaft Miners now start with regular oxygen tanks.
-
Mutate now gives the wizard hulk and OPTIC BLAST instead of hulk and TK.
-
Spiderman suit is no longer armoured or space worthy.
-
Crayons
-
-
Superxpdude updated:
-
-
New, more appropriate arrivals message.
-
Shuttle escape doors fixed.
-
New RIG sprite.
-
-
Lasty updated:
-
-
Switched xenomorph weeds to run in the background, hopefully causing them to destroy the server slightly less.
-
-
Microwave updated:
-
-
Added sink to hydroponics
-
Cleaned up autolathe menu
-
Glasses and cups can now be filled with water from sinks.
-
-
-
-31 August 2011.
-
-
Lasty updated:
-
-
The costumes that spawn in the theatre are now randomized.
-
The kitchen now has a Smartfridge which can be directly loaded from the Botanist? plantbags. No more crates! (credit to Rolan7).
-
Snappops can now be acquired from the arcade machines. Amaze your friends! (credit to Petethegoat)
-
Bangindonk.ogg added to random end sounds list.
-
-
Urist McDorf updated:
-
-
Players can no longer be randomly assigned to Librarian, Atmospherics Technician, Chaplain, and Lawyer unless all other non-assisstant job slots are full or they have those jobs in their preferences.
-
Changeling mode now has multiple changelings.
-
-
Superpxdude updated:
-
-
The mail system actually works properly now! Probably!
-
Most hats had their ?eadspace?tag removed, meaning they will no longer substitute for a space helmet in protecting you from the dangers of space.
-
-
-
-28 August 2011.
-
-
Doohl updated:
-
-
Chaplains can now select different bible icons when they start. The selection is applied globally and the library's bible printer will print the same bibles.
-
Joy to the world! The Library's bible-printing function now has a one-minute cooldown. One minute may seem a little extreme, but it is necessary to prevent people from spamming the fuck out of everything with 100,000,000,000,000 carbon-copy bibles.
-
Tweaked Metroids a bit; they are slightly more aggressive and become hungrier faster. To compensate, they now move slightly slower.
-
-
-
-26 August 2011.
-
-
Mport updated:
-
-
Rev:
-
-
Station Heads or Head Revs who leave z1 will count as dead so long as they are off of the z level.
-
Once a player has been unconverted they may not be reconverted.
-
-
Cult:
-
-
Heads other than the Captain and HoS are now able to start as or be converted to a cultist.
-
New Item: Loyalty Implant, which will prevent revving/culting. 4 spawn in the armory.
-
If a rev (not cultist) is injected with one he will unconvert, if a revhead is injected it will display a resist message.
-
Loyalty Implants show up on the SecHud
-
New Machine: Loyalty Implanter - Is on the prison station, shove a guy inside it to implant a loyalty implant. It can implant 5 times before it needs a 10 minute cooldown.
-
-
-
-
-20 August 2011.
-
-
Doohl updated:
-
-
The smoke chemistry recipe has been upgraded! You can lace smoke with chemicals that can bathe people or enter their lungs through inhalation. Yes, this means you can make chloral hydrate smoke bombs. No, this doesn't mean you can make napalm smoke or foam smoke.
-
-
-
-16 August 2011.
-
-
Superxpdude updated:
-
-
Traitor item bundles: Contains a random selection of traitor gear
-
-
-
-
-
Uhangi updated:
-
-
.38 Special Ammo can now be made from unhacked autolathes
-
-
-
-15 August 2011.
-
-
Superxpdude updated:
-
-
NEW MINING STATION, POST YOUR OPINIONS AND BUGS HERE
-
Added some new awesome mining-related sprites by Petethegoat. All credit for the sprites goes to him.
-
-
-
-9 August 2011.
-
-
Mport updated:
-
-
Cyborgs once again have open cover/cell icons.
-
To override a cyborg's laws you must emag it when the cover is open.
-
Emags can unlock a cyborgs cover.
-
Xbow radiation damage has been lowered from 100 to 20 a hit
-
-
-
-5 August 2011.
-
-
Mport updated:
-
-
The various assemblies should be working now.
-
Old style bombs and suicide vests temporarily removed.
-
-
-
-3 August 2011.
-
-
Superxpdude updated:
-
-
Virology Airlock changed to no longer cycle air. Should work faster and prevent virologists from suffocating.
-
Server Room APC is now connected to the power grid.
-
Stun Batons now start OFF. Make sure to turn them on before hitting people with them.
-
-
-
-2 August 2011. The day the earth stood still.
-
-
Agouri updated:
-
-
SSUs now correctly cycle and dump the unlucky occupant when designated to supercycle, when the criteria to do so are met.
-
Fixed bugshit
-
You can now make normal martinis again, removed a silly recipe conflict (Thanks, muskets.). Good barmen are urged to blend the good ol' recipes since the new ones have sprites that SUCK ASS JESUS CHRIST
-
-
-
-
-
Doohl updated:
-
-
Speech bubbles: you can toggle them on in the character setup window. Basically, whenever someone around you talks, you see a speech bubble appear above them.
-
You can no longer create wizarditis and xenomicrobes with metroid cores.
-
Tweak: Using an exclamation mark as an AI, pAI, or cyborg will not longer get rid of the last exclamation mark.
-
-
-
-30 July 2011.
-
-
Superxpdude Updated:
-
-
Engineer and CE space helmets now have built-in lights.
-
-
Rockdtben updated:
-
-
Bugfix: Fixed a bug where you could dupe diamonds
-
-
Doohl updated:
-
-
New virus: Retrovirus. It basically screws over your DNA.
-
You can now do CTRL+MOVEMENT to face any direction you want. See those chairs in Medbay and the Escape Wing? You can do CTRL+EAST to actually RP that you're sitting on them. Is this cool or what?!
-
-
-
-29 July 2011. - Day of Forum revival!
-
-
Doohl updated:
-
-
Bugfix: Metroids should never "shut down" and just die in a corner when they begin starving. And so, hungry Metroids are a force to be feared.
-
The Cargo computers now have the ability to cancel pending orders to refund credits. This was put in place so that idiots couldn't waste all the cargo points and run off. However, if the shuttle is en route to the station you won't be able to cancel orders.
-
Bugfix: the manifest has been fixed! Additionally, the manfiest is now updated realtime; job changes and new arrivals will be automatically updated into the manifest. Joy!
-
Metroids, when wrestled off of someone's head or beaten off, now get stunned for a few seconds.
-
-
Agouri updated:
-
-
I was always bothered by how unprofessional it was of Nanotransen (in before >Nanotransen >professionalism) to just lay expensive spacesuits in racks and just let them be. Well, no more. Introducing...
-
Suit Storage Units. Rumored to actually be repurposed space radiators, these wondrous machines will store any kind of spacesuit in a clean and sterile environment.
-
The user can interact with the unit in various ways. You can start a UV cauterisation cycle to disinfect its contents, effectively sterilising and cleaning eveyrthing from the suits/helmets stored inside.
-
A sneaky yordle can also hide in it, if he so desires, or hack it, or lock it or do a plethora of shady stuff with it. Beware, though, there's plenty of dangerous things you can do with it, both to you and your target.
-
The Unit's control panel can be accessed by screwdriving it. That's all I'm willing to say, I'd like to let the players find out what each hack option does and doesn't. Will add more stuff later.
-
Added Command Space suit, Chief Engineer space suit and Chief Medical Officer spacesuit (In a new space that you'll probably notice by yourself) to make it easier for you to look like a special snowflake.
-
EVA and CMO office modified to accomodate the new suits and SSUs. Look, I'm not a competent mapper, okay? Fuck you too. A mapper is strongly recommended to rearrange my half assed shit.
-
Soda cans, cigarette packets, cigarettes and cigars as well as bullet casings are now considered trash and can be picked up by the trashbag. Now you can annoy the janitor even more!
-
Sprite credit goes to Alex Jones, his portfolio can be found here: http://bspbox.com. Thanks a lot, bro.
-
With the recent forum fuss and all that, I've got a thread to specifically contain rants and bug reports about this update. Click me
-
-
Uhangi updated:
-
-
EVA redesigned
-
An electropack is now available once again on the prison station
-
-
Errorage updated:
-
-
Hopefully fixed the derelict 'hotspots'. Derelict medbay has also been fixed.
-
-
-
-4 July - 28 July 2011.
-
-
-
Trubble Bass updated (committed by Superxpdude):
-
-
Hat crates. Hat Station 13.
-
-
Matty:
-
-
Engineers and miners now start off with the new industrial backpack.
-
-
Agouri:
-
-
Sleepers are now OP and heal every kind of damage.
-
Made cloning 30% faster, due to popular demand.
-
-
Superxpdude updated:
-
-
Added in the Submachine Gun to R&D.
-
Syndicate agents now have Mini-Uzis.
-
Added an exosuit recharged to the mining station.
-
New labcoats for scientists, virologists, chemists, and genetecists.
-
Moved the vault and added a bridge meeting room next to the HoP's office.
-
Deathsquad armor now functions like a space suit.
-
Added in security jackboots.
-
-
Uhangi updated:
-
-
Traitors can now purchase syndicate balloons, which serve no purpose other than to blow your cover. For a limited time only, you can get them at a bargain price - just 10 telecrystals!
-
Removed security shotguns from the armory. No fun allowed.
-
Changed some bullet damage stuff.
-
-
Microwave updated:
-
-
Monkey boxes:
-
Contains a score of monkey cubes, which you apply water to create monkies. Nanotrasen provides only the finest technology!
-
You can order monkey crates from the cargo bay. They contain monkey boxes.
-
Changed the amount of labels labelers have to 30. 10 was too low and 30 should not be too griefy.
-
Maximum label text length increased from 10 to 64.
-
You can no longer label people because they can just peel the labels off. Sorry, clowns!
-
Jelly dooonnuuuutsss! Happy birthday, officers!
-
Made xenomeat not give any nutrition.
-
Added some new reagents.
-
Made it possible to feed monkies and xenos things, as well as making it possible for them to eat themselves (please don't read that too literally).
-
Added in synthiflesh.
-
Plasma is now not used in reactions, instead, is treated as a catalyst that is not used up. This only applies to certain reactions.
-
Made it possible to grind more things in the chemistry grinder.
-
-
Errorage updated:
-
-
Increased environmental damage by a factor of 1.5.
-
Made firesuits a lot more resistant to heat. Previously, they stopped protecting at around 4,500 degrees. They now go up to around 10,000 (which is also the temperature which the floor starts melting)
-
Edited the quartermaster's office a bit.
-
Cargo technicians now have access to a cargo ordering console.
-
Added different-colored hardhats. The CE gets a white hardhat.
-
-
-
Rastaf.Zero updated:
-
-
Botanists get a new toy: Biogenerator. Insert biological items, recieve biological items.
-
Added roller beds, otherwise known as stretchers, to medbay. You can buckle people onto them and pull them.
-
Added egg-smashing and tomato-smashing decals.
-
-
Muskets updated:
-
-
The prepackaged songs (Space Asshole, Cuban Pete, Darkest Honk, etc) have been removed. This doesn't mean admins can't play midis, this just gets rid of a lot of unnecessary download time.
-
-
Firecage updated:
-
-
A whole bunch of new drinks and food. Seriously, there's alot!
-
New weapons such as the shock revolver and large energy crossbow.
-
Hydroponics can now grow a bunch more stuff. A lot of these new crops have some very interesting mutations.
-
Added a command for AIs to change their icon.
-
New costumes to the costume room.
-
-
Urist McDorf updated:
-
-
Adding shading to pills.
-
Detective's office noir look has been removed. The icon operations required to render everything in monochrome was too heavy on the players.
-
Added in an uplink implant.
-
-
Doohl updated:
-
-
A new alien race: Metroids! They are a mostly non-sentient race of jellyfish-like organisms that float in the air and feed on the life energy of other organisms. While most Metroids have never shown signs of self-awareness, they do exhibit signs of basic logic and reasoning skills as well as very sophisticated perception. Nanotrasen has shipped two baby Metroids for the xenobiology department. They should be handled with the utmost care - they are some of the deadliest beings in the known universe!
-
R&D gets a new toy: the freeze gun. Despite popular belief, this will not literally freeze things!
-
Every single chemical reagent has been assigned a color.
-
You can now see beakers fill up with chemicals. You can also observe how the colors mix inside the beakers. Spray bottles also will also show the color of whatever you're spraying.
-
Added a timestamp to combat logs.
-
Non-insulated gloves now need to be wrapped in wire in order to be electrified.
-
You can now shoot at people on the ground by simply clicking on the tile they're on.
-
Changeling husks are now uncloneable. To clarify: when a changeling sucks out a victim's DNA, the victim is said to become a "husk".
-
-
-
-4 July 2011.
-
-
Agouri updated:
-
- Medical stuff overhaul in preparation of Erro's big Medic update:
-
Sleepers are now able to heal every kind of damage. Drag your ass to medbay and ask a doctor to get you in one.
-
A lil' bit faster cloning (about 30% faster) due to popular demand.
-
Sleepers are now all located in the inner part of medbay, except for the examination room one.
-
Added Dermaline, burn-healing drug that outpowers kelotane (and kelotane is getting a major nerf, so be sure to know how to get this). Recipe is on the wiki if you need to make it.
-
Drugs no longer heal or metabolise when injected in dead bodies, fuck. Thank god you guys missed this major bug or we'd have cloning-by-injecting-healing-drugs.
-
Reminder to coders: Goddamn, update the changelog.
-
-
-
-
Matty updated:
-
-
New engineering backpacks. Enjoy!
-
-
-
-
-18 June 2011.
-
-
Agouri updated:
-
-
Bugfixes: The reagent grinding now works, allowing the miners to FINALLY bring plasma to the chemistry.
-
Bugfixes: Pill bottles and clipboards can now be removed from the pockets once placed there.
-
-
-
-
-7 June 2011.
-
-
TLE updated:
-
-
Wiped/suicided pAIs should be eligible for being candidates again (5 minute cooldown between prompts.)
-
pAIs are now affected by EMP bursts. pAIs hit with a burst will be silenced (no speech or PDA messaging) for two minutes and may have their directives or master modified. A sufficiently powerful EMP burst will have a 20% chance of killing a pAI.
-
-
-
Neo updated:
-
-
Nar-sie is now a more vengeful eldritch being. When summoned into our world, he first rewards his loyal cultists by chasing down and eating them first, then turns his attention to any remaining humans.
-
-
-
Darem updated:
-
-
Gun Code Overhaul Phase 1.
-
Taser guns shoot ONE WHOLE SHOT more then they do now.
-
Energy Crossbow has a slightly higher shot capacity (still automatically recharges).
-
Revolvers can either be loaded one shell at a time or all at once with an ammo box.
-
Shotguns no longer need to be pumped before firing (will change back in phase 2).
-
-
-
K0000 updated:
-
-
Arcane tome now has a "notes" option. Set English translations for runewords which come up when scribing runes. Attack an arcane tome with another arcane tome to copy your notes to the target tome.
-
Stun rune buffed considerably. Its a 1-use item so it deserved longer stun time.
-
Tome text: Added missing word description for stun rune.
-
-
-
-
-
-1 June 2011, Canadian Day Against Homophobia
-
-
Noise updated:
-
-
Changed holopad speaking to :h on request.
-
Ninja fixes, changes, etc. Refer to the code changelog for more info.
-
-
-
Neo updated:
-
-
Department radio chat now shows with the department name instead of the frequency.
-
-
-
Veyveyr updated:
-
-
Spent casing sprites + SMG sprite.
-
Sprites for 1x4 and 1x2 pod doors.
-
-
-
Errorage updated:
-
-
Fixed twohanded weapon throwing, which left the 'off-hand' object in your other hand.
-
Doors now hide items under them when closed, mobs are still always above.
-
Singularity engine emitter is now much quieter.
-
Mining station redesigned.
-
Atmospherics' misc gasses tank now starts with N2O.
-
Hitting the resist button while handcuffed and buckled to something will make you attempt to free yourself. The process is the same as trying to remove handcuffs. When the 2 minutes pass you will be unbuckled but still handcuffed.
-
-
-
ConstantA updated:
-
-
Added exosuit energy relay equipment. Uses area power (any power channel
-available) instead of powercell for movement and actions, recharges powercell.
-
Exosuits can be renamed. Command is in Permissions & Logging menu.
-
Lowered construction time for Ripley parts.
-
Exosuit wreckage can be salvaged for exosuit parts (torso, limbs etc).
-
Speed-up for mecha.
-
New malf-AI sprite. (Sprite donated by the D2K5 server)
-
-
-
Cheridan updated:
-
-
Updated mine floor and wall edge sprites.
-
-
-
Urist McDorf updated:
-
-
AIs no longer bleed when they reach 0HP (Critical health).
-
Added 2 more security HUDs to security.
-
Security HUDs now show if a person has a tracking implant.
-
-
-
Microwave updated:
-
-
Barman renamed to Bartender.
-
The amount of drink you get when mixing things in the bar has been rebalanced.
-
Fixed arrivals maintenance shaft not having air at round start.
-
-
-
Deuryn updated:
-
-
Meteors now do a bit more damage and they're not stopped by grills.
-
-
-
TLE updated:
-
-
Added personal AIs (pAI).
-
-
-
-
-
-19 May 2011
-
-
Errorage updated:
-
-
Asteroid floors can be built on by adding tiles
-
Mining satchels now fit in rig suit storage, on belts and in pockets.
-
Cables now come in four colors: Red, yellow, green and blue.
-
-
-
-
NEO updated:
-
-
Armour overhaul, phase 3. See rev notes for details.
-
AI cores should now block movement.
-
MMIs are now properly buildable with the mecha fabricator.
-
-
-
-
Urist updated:
-
-
Added sandstone and mineral doors. Mineral boors cannot be opened by the AI or NPCs.
-
Removed Imperium robes from map.
-
Added the ability to draw letters and graffiti with crayons.
-
Removed fire axes except for bridge and atmospherics.
-
-
-
-
Veyveyr updated:
-
-
New serviceborg sprite option.
-
Map changes to robotics; removed borg fabricators and added second exosuit fabricator.
-
Cyborg parts are now built from exosuit fabricators and benefit from research.
-
New exosuit fabricator and borg frame sprites.
-
-
-
-
-14 May 2011, late friday 13 update.
-
-
K0000 updated:
-
-
Cult updates:
-
New rune! Stun rune. When used as rune, briefly stuns everyone around (including cultists). When imbued into a talisman, hit someone to stun and briefly mute them. Spawnable with the starter talisman.
-
Imbue rune doesnt disappear after succesful invocation, only the source rune.
-
Chaplain's bible now has 20% chance to convert a cultist (was 10%), and gives a message on success.
-
Also, wrapping paper is back! Find it in the mailroom.
-
-
-
-
NEO updated:
-
-
Beginning of armor overhaul. Armor now has slightly better defence against melee, and weaker against shots. More coming soon...someday
-
Cyborgs finally drop their MMI when gibbed like they were supposed to back when I added MMIs. Round- start cyborgs use whatever name you have selected for your character for the brain that gets spawned for them.
-
-
-
-
Darem updated:
-
-
Chemistry update
-
In containers where there isn't a perfect ratio of reagents, reactions won't consume ALL of the related reagents (so if you mix 10 anti-toxin with 20 inaprovaline, you get 10 tricordrazine and 10 inaprovaline rather then just 10 tricodrazine)
-
Catalysts: some reactions might need presence of an element, while not directly consuming it.
-
Reactions changed to use catalysts: all recipes that require Universal Enzyme now require 5 units of the enzyme but the enzyme isn't consumed (So Tofu, Cheese, Moonshine, Wine, Vodka, and Kahlua recipes).
-
-
-
Errorage updated:
-
-
Smooth tables: Tables now automatically determine which direction and sprite they'll use. They will connect to any adjacent table unless there is a window between them (regular, reinforced, tinted, whichever)
-
-
-
-
-7 May 2011, Mother's day?
-
-
Agouri updated:
-
-
Fireaxes now work. Derp.
-
-
-
-
Erro updated:
-
-
New sprites for thermited walls and girders. Rework of thermited walls. Thermited walls leave a remnant damaged wall, crowbar it to scrap it.
-
More colors for the lightfloors CANCELLED/POSTPONED
DANGERCON UPDATE:Agouri and Erro updated(I'm in the DangerCon team now, nyoro~n :3):
-
-
Backpacks removed from all players. It was unrealistic. You can now had to the living quarters to get one from the personal closets there.
-
Any firearms now send you to critical in 1-2 shots. Doctors need to get the wounded man to surgery to provide good treatment. Guide for bullet removal is up on the wiki.
-
Brute packs and kelotane removed altogether to encourage use of surgery for heavy injury.
-
Just kidding
-
Fireaxe cabinets and Extinguisher wall-mounted closets now added around the station, thank Nanotransen for that.
-
Because of Nanotransen being Nanotransen, the fire cabinets are electrically operated. AIs can lock them and you can hack them if you want the precious axe inside and it's locked. The axe itself uses an experimental two-handed system, so while it's FUCKING ROBUST you need to wield it to fully unlock its capabilities. Pick up axe and click it in your hand to wield it, click it again or drop to unwield and carry it.You can also use it as a crowbar for cranking doors and firedoors open when wielded, utilising the lever on the back of the blade. And I didn't lie to you. It's fucking robust.
-
Fireaxe, when wielded, fully takes up your other hand as well. You can't switch hands and the fireaxe itself is unwieldy and won't fit anywhere.
-
A fireaxe cabinet can also be smashed if you've got a strong enough object in your hand.
-
EXTINGUISHER CLOSETS, made by dear Erro, can be found in abundance around the station. Click once to open them, again to retrieve the extinguisher, attack with extinguisher to place it back. Limited uses, but we've got plans for our little friend.
-
Sprite kudos go to: Cheridan for most of them, Khodoque for the fantastic fireaxe head. I merged those two. Also thanks to matty and Arcalane for giving it a shot.
-
Has the piano got TOO annoying? Try the fire axe...
-
Oh, and tou can now construct Light floors! To do it: Use wires on glass, then metal on the produced assembly, then place it on an uncovered floor like you would when replacing broken floor tiles. To deconstruct: Crowbar on light floor, use crowbar on produced assembly to remove metal, wirecutters to seperate the wires from the glass. Sprites by delicious Hempuli.
-
Got something to bitch about? Got a bug to report? Want to create drama? Did the clown destroy your piano while you were playing an amazing space remix of the moonlight sonata? Give it here
-
-
-
-
-
Rastaf.Zero updated:
-
-
New uniforms added for captain and chaplain, in their respective lockers. Credits to Farart.
-
-
-
-
Urist McDorf updated:
-
-
Mime and Clown now spawn with Crayons. You can eat those crayons. And use them for other nefarious purposes.
-
Health Scanners (A new type of Goggles) now spawn in medbay. Use them, doctors!
-
New Arcade toy.
-
Glowshrooms! What other lifeform will threaten the welfare of the station now?!
-
Bananas growable in hydroponics. Also soap is now on-board.
-
Added new "Lights out!" random event.
-
-
-
ConstantA updated:
-
-
Mech pilots are now immune to zapping, thank you very much.
-
-
-
-
-
-17 April 2011, World Hemophilia Day
-
-
Microwave updated:
-
-
Rabbit ears have a small tail, night vision goggle sprites updated.
-
Space tea has a nice, calming effect.
-
Space drugs? Liberty cap... something like that. Microwave, make your changelog entries more understandable!
-
Brobot merged with Service Borg with a Rapid Service Fabricator.
-
Arcade machine prizes look and sound realistic once again.
-
New arcade toy: Syndicate space suit costume, can hold arcade toys in suit storage.
-
Empty cap gun loaders can be recycled in an autolathe.
-
Seizure man has laying down sprites now. Update to wizard den.
-
Mech bay has two more borg chargers.
-
Beepsky is back!
-
Detective's office grille has been electrified.
-
You can now see if someone is wearing an emergency oxygen tank on their belt on the mob itself.
-
Lexorin - Now deals 3 oxygen damage per tick. Countered with Dexalin or Dexalin Pkus, which remove 2 units of it from your body per tick.
-
Bilk - Shares the effects of beer and milk. Disgusting!
-
Sugar - Gives nutrition!
-
Arithrazine - Now extremely good against radiation damage.
-
Hyronalin - Stronger radiation removal
-
Space cleaner spray bottles now contain enough cleaner for 50 uses. Making space cleaner now yields more cleaner.
-
-
-
Errorage updated:
-
-
Shuttle diagonal sprites now work for any kind of floor.
-
You can now make plaques from gold. Place them on a wall and engrave an epitaph.
-
Placed a single wall tile in the AI satellite so you don't have a clear LOS of the AI from the door.
-
Added arrivals lobby. (Map by Superxpdude, updated by Microwave)
-
Lattice now connects to the solar shields.
-
Law office maintenance is now connected with Tech storage maintenance. (Some rewiring dont in the area)
-
Xenobiology now has it's own access level. (Also fixed xeno pen access and blast doors)
-
You might soon start to see different airlocks and airlock assemblies around the station. (Sprites donated by Baystation 12)
-
Chemical storage added, discussion on which chemicals it should store is on the forums. You're welcome to contribute.
-
Hot fires will now melt floors.
-
Added a pair of market stalls south of the teleporter. LET THERE BE CLOWNMART!
-
Screwdrivers and wirecutters can now spawn in different colors.
-
Electrical toolboxes have a 5% chance of spawning a pair of insulated gloves. A set spawns in tech storage.
-
Oxygen canisters now spawn in emergency storage, near disposal, in the incinerator and the CE's office.
-
A plasma canister now spawns in toxins, near the maintenance door.
-
Wooden tables now look nicer.
-
-
-
Agouri updated:
-
-
2001 space suits added to AI Satellite!
-
New look for the 2001 space suit.
-
2001 space suit jetpack added.
-
Improved TRAYS!
-
-
-
Noise updated:
-
-
Thermals and mesons no longer give slightly better night vision.
-
NINJAS! (Too many things to list)
-
Wizards are no longer trackable by the AI when in their den.
-
Removed all old notes, except for the last one.
-
Nuke team now cannot return with their shuttle until the bomb is armed and counting down.
-
Energy blades can no longer cut through r-walls, walls take 7 seconds to cut through.
-
Turrets are now destructible. Bash them with stuff when they pop out or (more likely) die trying.
-
Updated Ripley Mech sprite.
-
-
-
Neo updated:
-
-
You can now aim guns at body parts, armor and helmets properly protect you from projectiles.
-
Cat ears now match the hair color of the wearer.
-
Robots can no longer stick their items onto/into things.
-
Meson, thermal and x-ray vision are now modules for borgs.
-
Welding now uses less fuel when on and idle but more when welding.
-
Hopefully fixed the bug when running into airlocks didn't open them and running into objects didn't push them.
-
-
-
HAL updated:
-
-
Added air alarm to security checkpoint, added cameras to aux. arrival docks so the AI can see everything.
-
Added fire alarm, fire locks and air alarm to delivery office.
-
-
-
ConstantA updated:
-
-
Added mecha DNA-locking. Only the person with matching UE can operate such mechs.
-
Added two mecha armor booster modules and a repair droid module.
-
Mech fabricator is now buildable.
-
Gygax construction is now reversible.
-
-
-
Rastaf0 and Farart updated:
-
-
Ghosts should now always properly hear people.
-
Monkeyized people (genetics or jungle fever disease) no longer lose their genetic mutations and diseases.
-
People who get bitten by monkeys get jungle fever.
-
Most chemicals should now heal and harm humans properly.
-
Many new (and updated) recipes for the microwave including Pizza, Meatball Soup, Hot Chili and many more.
-
Items should no longer spawn under vendomats and microwaves.
-
Runes are now drawn under doors and tables.
-
Penlights fit in medical belts.
-
People will scream if they get cremated while still alive.
-
Diseases should now properly make you loose health.
-
Monkeys wearing masks now get acid protection too.
-
You should probably turn off your stun baton before washing it.
-
latex loves + short piece of wire + some air from tank = balloon!
-
Kitchen was expanded, also a new look for the kitchen sink.
-
New dishware vending machine - dispenses knives, forks, trays and drinking glasses.
-
Water cooler was added to kitchen.
-
New uniform - Waiter Outfit. Chef can give it to his assistant.
-
-
-
Deeaych updated:
-
-
Updated satchel, bananimum, shovel, jackhammer and pick-in-hand sprites.
-
Many unneeded r-walls removed, detective's office reinforced.
-
Captain armor now acts as a space suit, added a unique captain's space helmet to captain's quarters.
-
Golems cannot speak, but should be perfectly spawnable. Also added golem fat sprite.
-
Security borgs have side sprites.
-
-
-
Matty406 updated:
-
-
AIs can now feel a little more dorfy.
-
Many ores, both raw and smelted, look much better.
-
-
-
Urist_McDorf updated:
-
-
You can now light other people's cigarettes by targeting their mouth with a lighter.
-
-
-
Veyveyr updated:
-
-
New tool sprites.
-
New sprites for smooth-lattice.
-
-
-
Muskets updated:
-
-
Kabobs now return the bar used to make them.
-
-
-
-
-
-2 April 2011, International Children's Book Day
-
-
Microwave updated:
-
-
New look for the mining cyborg, jackhammer, kitchen sink.
-
Singularity is now enclosed again (still airless tho).
-
Wizard has a new starting area.
-
Chemists and CMOs now have their own jumpsuits.
-
-
-
ConstantA updated:
-
-
You can now put Mind-machine-interface (MMI)'d brains into mecha.
-
-
-
Errorage updated:
-
-
Added smooth lattice.
-
-
-
-
-
-26 March 2011
-
-
Rastaf0 updated:
-
-
Food sprites from Farart
-
New food: popcorn (corn in microwave), tofuburger (tofu+flour in microwave), carpburger (carp meat+floor in microwave)
-
Medical belts are finally in medbay (credits belong to errorage, I only added it)
-
Pill bottles now can fit in containers (boxes, medbelts, etc) and in pockets.
-
Cutting camera now leaves fingerprints.
-
-
-
Microwave updated:
-
-
Armor Can hold revolvers, and so can the detective's coat.
-
Chef's apron is going live, it can carry a knife, and has a slight heat
-resistance (only slight don't run into a fire).
-
Kitty Ears!
-
Various food nutriment changes.
-
Added RIGs to the Mine EVA.
-
Night vision goggles. They have a range of five tiles.
-
Added Foods: Very Berry Pie, Tofu Pie, Tofu Kebab.
-
Modified foods: Custard Pie is now banana cream pie.
-
-
-
ConstantA updated:
-
-
Removed redundand steps from Gygax and HONK construction.
It is now possible to actually eat omelettes with the fork now, instead of just stabbing yourself (or others) in the eye with it.
-
Welding masks can now be flipped up or down. Note that when they're up they don't hide your identity or protect you from welding.
-
Reagent based healing should now work properly.
-
Revolver has been balanced and made cheaper.
-
Tasers now effect borgs.
-
Plastic explosives are now bought in single bricks.
-
Nuke team slightly buffed and their uplink updated with recently added items.
-
Player verbs have been reorganized into tabs.
-
Energy swords now come in blue, green, purple and red.
-
Cameras are now constructable and dismantlable. (Code donated by Powerful Station 13)
-
Updated the change network verb for AIs. (Code donated by Powerful Station 13)
-
Added gold, silver and diamond pickaxes to R&D which mine faster.
-
-
-
Agouri updated:
-
-
New look for the Request consoles.
-
-
-
Rastaf0 updated:
-
-
Brig cell timers should now tick closer-to-real seconds.
-
New look for food, including meat pie, carrot cake, loaded baked potato, omelette, pie, xenopie and others. (some sprites by Farart)
-
Hearing in lockers now works as intended.
-
Fixed electronic blink sprite.
-
Added the 'ghost ears' verb, which allows ghosts to not hear anything but deadcast.
-
-
-
XSI updated:
-
-
New AI core design.
-
HoP now has a coffee machine!
-
-
-
Veyveyr updated:
-
-
Replaced nuke storage with a vault.
-
Redesigned the mint, moved the public autolathe and n2o storage.
-
New look for the coin press. (Sprite by Cheridan)
-
-
-
Errorage updated:
-
-
You can now manually add coins into money bags, also fixed money bag interaction window formatting.
-
QM no longer has access to the entire mining station to stop him from stealing supplies.
-
New machine loading sprite for mining machinery. (sprites by Cheridan)
-
Added a messanging server to the server room. It'll be used for messanging, but ignore it for now.
-
The delivery office now requires delivery office access. It's also no longer called "Construction Zone"
-
Almost all the mecha parts now have sprites. (Sprites by Cheridan)
-
Tinted and frosted glass now look darker.
-
There are now more money sprites.
-
Department closets now contain the correct headsets.
-
-
-
Microwave updated:
-
-
Bicaridine now heals a lot better than before.
-
Added Diethylamine, Dry Ramen, Hot Ramen, Hell Ramen, Ice, Iced Coffee, Iced Tea, Hot Chocolate. Each with it's own effects.
-
Re-added pest spray to hydroponics.
-
Carrots now contain a little imidazoline.
-
HoS, Warden and Security Officer starting equipment changed.
-
New crate, which contains armored vests and helmets. Requires security access, costs 20.
-
Miner lockers now contain meson scanners and mining jumpsuits.
-
Food crate now contains milk, instead of meatballs. Lightbulb crates cost reduced to 5. Riot crates cost reduced to 20. Emergency crate contains 2 med bots instead of floor bots. Hydroponics crate no longer contains weed spray, pest spray. It's latex gloves were replaced with leather ones and an apron.
-
Added chef's apron (can hold a kitchen knife) and a new service borg sprite.
-
Autolathe can now construct kitchen knives.
-
Biosuit and syndicate space suits can now fit into backpacks.
-
Mime's mask can now be used as a gas mask.
-
Added welding helmet 'off' sprites.
-
-
-
-
-
-
-18 March 2011
-
-
Errorage updated:
-
-
You can now use the me command for emotes! It works the same as say "*custom" set to visible.
-
There is now a wave emote.
-
Enjoy your tea!
-
-
-
Deeaych updated:
-
-
The exam room has some extra prominence and features.
-
A new costume for the clown or mime to enjoy.
-
Service Cyborgs can be picked! Shaker, dropper, tray, pen, paper, and DOSH to show their class off. When emagged, the friendly butler-borg is able to serve up a deadly last meal.
-
It should now be possible to spawn as a cyborg at round start. Spawned cyborgs have a lower battery life than created cyborgs and begin the round in the AI Foyer.
-
-
-
Rastaf0 updated:
-
-
Fixed an issue with examining several objects in your hands (such as beakers).
-
Fixed bug with random last name being empty in rare cases.
-
-
-
hunterluthi updated:
-
-
It is now possible to make 3x3 sets of tables.
-
Fixed some missplaced grilles/lattices on the port solar.
-
There is now a breakroom for the station and atmos engineers. It has everything an intelligent young engineer needs. Namely, Cheesy Honkers and arcade games.
-
-
-
-
-15 March 2011, International Day Against Police Brutality
-
-
Errorage updated:
-
-
Autolathe deconstruction fixed.
-
Atmos Entrance fixed.
-
AI no longer gibs themselves if they click on the singularity.
-
Fixed all the issues I knew of about storage items.
-
Redesigned Assembly line and surrounding maintenance shafts.
-
Redesigned Tech storage. (Map by Veyveyr)
-
-
-
TLE updated:
-
-
Forum account activation added. Use the 'Activate Forum Account' verb.
-
-
-
Neo updated:
-
-
New R&D Item: The 'Bag of holding'. (Sprite by Cheridan)
-
Getting someone out of the cloner now leaves damage, which can only be fixed in the cryo tube.
-
New reagent: Clonexadone, for use with the cryo tube.
-
Fixed using syringes on plants.
-
-
-
Constanta updated:
-
-
Added queueing to fabricator.
-
-
-
Rastaf0 updated:
-
-
Air alarms upgraded.
-
Fixed problem with AI clicking on mulebot.
-
Airlock controller (as in EVA) now react to commands faster.
-
Fixed toxins mixing airlocks.
-
-
-
-
-6 March 2011
-
-
Neo updated:
-
-
Neo deserves a medal for all the bugfixing he's done! --errorage
-
-
-
Errorage updated:
-
-
No. I did not code on my birthday!
-
Windows can now be rotated clockwise and counter clockwise.
-
Window creating process slightly changed to make it easier.
-
Fixed the newly made reinforced windows bug where they weren't properly unfastened and unscrewed.
-
Examination room has a few windows now.
-
Can you tell I reinstalled Windows?
-
Robotics has health analyzers.
-
Bugfixing.
-
-
-
Deeyach updated:
-
-
Roboticists now spawn with a lab coat and an engineering pda
-
-
-
-
-2 March 2011, Wednesday
-
-
Errorage updated:
-
-
Mapping updates including Atmospherics department map fixes, CE's office and some lights being added here and there.
-
Mining once again given to the quartermaster and HoP. The CE has no business with mining.
-
Removed the overstuffed Atmos/Engineering supply room.
-
Replaced all 'engineering' doors in mining with maintenance doors as they were causing confusion as to which department mining belongs to.
-
The incinerator is now maintenance access only.
-
-
-
Neo updated:
-
-
New look for the advanced energy gun. (Sprite by Cheridan)
-
Mech fabricator accepts non-standard materials.
-
Mules accesses fixed, so they can be unlocked once again.
-
Atmospherics department mapping overhaul. (Map by Hawk_v3)
-
Added more name options to arcade machines.
-
-
-
ConstantA updated:
-
-
Added mecha control console and mecha tracking beacons.
-
Some changes to gygax construction.
-
-
-
Darem updated:
-
-
R&D minor bugfixes.
-
AI computer can now be deconstructed (right click and select 'accessinternals').
-
Server room updated, added server equipment to use with R&D.
-
Wizard and ghost teleport lists are now in alphabetical order, ghosts can now teleport to the mining station.
-
Rightclicking and examining a constructable frame now tells you what parts still need to be finished.
-
Large grenades added to R&D.
-
-
-
Deeyach updated:
-
-
Mining given to the CE. (Reverted by Errorage)
-
Clowns can now pick a new name upon entering the game (like wizards previously).
-
-
-
-
-24 February 2011, Thursday
-
-
Darem updated:
-
-
Lighting code fixed for mining and thermite.
-
R&D instruction manual added to the R&D lab.
-
Fixed R&D disk commands not working.
-
Added portable power generators which run on solid plasma.
-
You can now set the numer of coins to produce in the mint.
-
Added two more portable power generators to R&D.
-
-
-
Deeyach updated:
-
-
New uniform for roboticists
-
-
-
Neo updated:
-
-
Game speed increased
-
Mining stacking machine no longer devours stacks larger than 1 sheet (it was only increasing its stock by 1 when given a stacked stack)
-
Stackable uranium ore added (a better sprite is needed, contributions are welcome)
-
Made Meteor gamemode actually do stuff
-
Made a bigger class of meteor
-
New R&D item: Advanced Energy Gun
-
Law priority clarified with regards to ion laws and law 0.
-
-
-
-
Veyveyr updated:
-
-
Minor mapping fixes
-
-
-
Uhangi updated:
-
-
New red bomb suit for security.
-
-
-
-
Errorage updated:
-
-
Slight mapping change to arrival hallway.
-
-
-
-
-23 February 2011, Red Army Day
-
-
Uhangi updated:
-
-
Antitox and Inaprovaline now mixable via chemistry.
-
Explosive Ordinance Disosal (EOD) suits added to armory and security.
-
Large beaker now holds 100 units of chemicals. (code by Slith)
-
-
-
Rastaf0 updated:
-
-
Secbot interface updated.
-
Syringe auto-toggels mode when full.
-
Captain's flask volume increased.
-
-
-
Neo updated:
-
-
Fixed the 'be syndicate' choice to actually work on nuke rounds.
-
Syndicates no longer win if they detonate the nuke on their ship.
-
-
-
-
Errorage updated:
-
-
Added cloning manual. (Written by Perapsam)
-
-
-
K0000 updated:
-
-
Cult mode updates.
-
You can now read the arcane tome. It contains a simple guide for making runes.
-
Converting people doesnt give them word knowledge.
-
Sacrifice monkeys or humans to gain new words.
-
Total number of rune words set to 10
-
Some minor bugfixes.
-
-
-
-
-20 February 2011, Sunday
-
-
Errorage updated:
-
-
Slight updates to processing unit and stacking machine at the mining outpost.
-
Digging now yields sand, which can be smelted into glass.
-
Stacking machine can now stack reinforced metal, regular and reinforced glass too.
-
Engineers now have two copies of the singularity safety manual.
-
-
-
Neo updated:
-
-
Magboots now have a verb toggle like jumpsuit sensors.
-
Jumpsuit sensors are now in all jumpsuits, except tactical turtlenecks.
-
Tweaks to the AI report at round start.
-
Syndi-cakes now heal traitors/rev heads/etc much more than anyone else.
-
Containment fields zap once again.
-
Fire damage meter no longer lies about fire damage.
-
-
-
Darem updated:
-
-
Mass Spectrometer added to R&D. Load it with a syringe of blood and it will tell you the chemicals in it. Low reliability devices may yield false information.
-
Not all devices have a 100% reliability now.
-
Miners now have access to mint foyer and loading area. Only captain has access to the vault.
-
More stuff can be analyzed in the destructive analyzer, protolathe can produce intelicards.
-
-
-
Rastaf0 updated:
-
-
Added blast door button to atmospherics.
-
Toxins timer-igniter assemblies fixed.
-
Engineering secure storage expanded.
-
Added singularity telescreen.
-
-
-
-
-18 February 2011, Friday
-
-
Errorage updated:
-
-
New look for the bio suits. (Biosuit and hood sprites by Cheridan)
-
New radiation suits added along with radiation hoods and masks. Must wear complete set to get full protection.
-
-
-
Rastaf0 updated:
-
-
Binary translator cost reduced to 1 telecrystal.
-
-
AtomicTroop updated:
-
-
Mail Sorter job added.
-
Disposal system redone to allow for package transfers. Packages are routed to mail sorter room and then routed to the rest of the station
-
Disposal area moved. Old disposal area now just an incinerator and a small disposal into space.
-
New wrapping paper for sending packages.
-
-
-
Veyveyr updates:
-
-
New machine frame sprite.
-
Braincase sprites for mechs added. Not actually used, yet.
-
-
-
Darem updates:
-
-
Research and Development system is LIVE. Scientists can now research new advancements in technology. Not much can be made, right now, but the system is there. Technologies are researched by shoving items into the destructive analyzer. Circuit Imprinter, Destructive Analyzer, and Protolathe are controlled from the R&D console.
-
Autolathe, Protolathe, Destructive Analyzer, and Circuit Imprinter can now be built, taken apart, and upgraded. The basic frame for all of the above requires 5 metal.
-
-
-
-
-15 February 2011, Tuesday
-
-
Rastaf0 updated:
-
-
Added radio channels and headsets for miners (:h or :d ("diggers" lol)) and for cargo techs (:h or :q )
-
Added a personal headsets to HoP and QM.
-
Aliens now attack bots instead of opening control window.
-
All bots can be damaged and repaired.
-
All bots are effected to EMP now.
-
Atmos now starts with nitrous oxide in storage tank.
-
-
-
Veyveyr updated:
-
-
New look for the pipe dispenser.
-
-
Errorage updated:
-
-
Mining station will now charge properly.
-
Duffle bags (Money bags) can now be emptied.
-
-
-
-
-14 February 2011, Valentine's day
-
-
Errorage updated:
-
-
New Job! - Shaft Miners have finally been added and are available to play.
-
Mining outpost - A new mining outpost has been built, the mining dock on SS13 has been updated.
-
-
-
ConstantA updated:
-
-
Slight speed up for combat mechs..
-
Added H.O.N.K construction
-
Fixed bug with switching intent while in mecha.
-
-
-
-
-
12.02.2011, 01.00 GMT, r1021
-
-
Added Durand combat exosuit.
-
Players can modify operation permissions of newly constructed civilian mechs. Click on mech with ID card or PDA with ID inside.
-
Added robotics access to default mecha maintenance permissions (all mechs) and operation permissions (civilian models only).
-
Fixed double adminlog message of explosion proc.
-
Fixed accidental mecha wreckage deletion.
-
Tweaked mecha internal fire processing.
-
Added some mecha-related sounds.
-
Moved GaussRand to helpers.dm and added GaussRandRound helper proc.
-
Other small changes.
-
-
-
11.02.2011, r1001-1020
-
-
Headsets upgraded. Shortcuts for channels are: :command :security scie:nce :engineering :medical. Also there is :binary :whisper :traitor and old good :h for your department.
-
"One Click Queue" added: When you quickly click on two things in a row, it will automatically queue the second click and execute it after the default 'action delay' of 1 second after the first click. Previously you had to spam-click until 1 second had passed. THIS AFFECTS EVERYTHING. NEEDS TESTING. - Skie
-
EMP effects added for further revisions. - Darem
-
Big map changes in engineering/robotics/science wing. - errorage
-
Welder Fixed. Now burns your eyes again. - errorage
-
9x9 singularity sprite added. - Skie/Mport
-
Ghetto surgery added. - Neophyte
-
Nasty vent pump lag fixed. - Neophyte
-
Mech gameplay and building updates. - ConstantA
-
-
-
08.02.2011, r999-1000
-
-
The amount of power the station uses should be lower.
-
The singularity now changes size based upon how much energy it has
-
New Machine: Particle Accelerator.
-
It might need a better name/sprite but when put together properly and turned on it will shoot Accelerated Particles.
-
The particles irradiate mobs who get in the way and move through solid objects for a short time.
-
The Particle Accelerator parts are set up by using a Wrench followed by a Cable Coil, then finished with a screwdriver.
-
When you shoot the Singularity Generator with Accelerated Particles it will spawn a Singularity.
-
New layout for Engineering, might be changed up slightly in the next few days.
-
-
-
06.02.2011, r979
-
-
Jesus christ it's a new map what the fuck
-
Just kidding, it's only minor changes to medbay/mechbay/cybernetics/R&D/toxins/robotics/chapel/theatre
-
Okay so there's too many changes to list completely, but basically: toxins/R&D/virology/xenobiology are south through medbay; robotics/cybernetics/mechbay are where toxins used to be, the theatre and chapel are above medbay.
-
Theatre is a new place for the Clown and Mime to play, there are some costumes available, a stage and backstage, and seating for the audience.
-
R&D and Toxins have been combined together. R&D is still work in progress. You need to head south through medbay to get there.
-
Medbay has been re-arranged slightly. Honestly, it's nothing, I bet you won't even notice anything different. There's also a new surgery suite, complete with pre-op and post-op rooms.
-
Virology's been rearranged, but it is mostly in the same place still.
-
Xenobiology is work in progress. [There's some fun stuff still being coded]
-
The Chapel is now to the north. You'll probably be thinking something like "Goddamn, this place is fucking huge", but it's actually smaller than the previous chapel.
-
Robotics and related stuff is also work in progress - however, everything needed for making borgs is there. Note: de-braining will now be done by surgeons in medbay, rather than roboticists in robotics, in case you're wondering where your optable went.
-
I added color-coded pipes in the areas I was working on. Red pipes run from air siphons and feed into the waste loop; blue pipes run from air vents and pump whatever atmos is set to pump. Yeah, there's TWO pipe networks on the station, who knew? Well, some of you probably did, but I didn't!
-
This update brought to you by: veyveyr and Rookie, with help from friends! [Now you know who to strangle, please be gentle q_q]
-
-
-
05.02.2011, r968
-
-
This really needs to be updated more often.
-
Various map updates have been applied with many more to come. Expect overhauls!
-
Mining system nearing completion.
-
Massive overhaul to the electricity systems, the way singularity makes power, and various related functions.
-
Mime spawns with White Gloves instead of Latex Gloves (apparently there's a difference!)
-
A new event has been- CLANG! What the fuck was that?
-
Ion storm laws should be much more interesting.
-
Security reports should no longer list traitor heads/AIs as possible revs/cultists, nor should nuke operatives ever get named for anything.
-
Pens are much more versatile and user friendly.
-
Mech building is rapidly on its way! Ripleys can be built, consult your quartermasters.
-
Traitors now have several new things they can steal.
-
Some surgeries coded to accompany the new operating room and surgery tools.
-
Research and Design is continuing development and should be rolled out shortly.
-
Various sprites added, tweaked, scrapped and fixed.
-
-
-
Changelog
-
05.02.2011, r968
-
-
This really needs to be updated more often.
-
Various map updates have been applied with many more to come. Expect overhauls!
-
Mining system nearing completion.
-
Massive overhaul to the electricity systems, the way singularity makes power, and various related functions.
-
Mime spawns with White Gloves instead of Latex Gloves (apparently there's a difference!)
-
A new event has been- CLANG! What the fuck was that?
-
Ion storm laws should be much more interesting.
-
Security reports should no longer list traitor heads/AIs as possible revs/cultists, nor should nuke operatives ever get named for anything.
-
Pens are much more versatile and user friendly.
-
Mech building is rapidly on its way! Ripleys can be built, consult your quartermasters.
-
Traitors now have several new things they can steal.
-
Some surgeries coded to accompany the new operating room and surgery tools.
-
Research and Design is continuing development and should be rolled out shortly.
-
Various sprites added, tweaked, scrapped and fixed.
-
-
-
20.01.2011, r894
-
-
Pipes can now be removed and re-attached by wrenching them.
-
Mining system continues to develop. Still unaccessible to players.
-
Various map changes. Some minor lag causing things were fixed.
-
Admins have a new tool: They can now give any spell to anyone. Hurray!
-
Imadolazine now works. Maybe?
-
Singularity now releases itself if fed too much and will potentially explode.
-
Magboots now successfully prevent you from getting pulled into the singularity.
-
Strike teams immune to facehuggers. Why? I dunno.
-
Many reagent containers are adjustable so you can pour the exact amount you need.
-
No more emitters working in space, Collectors and collector controllers now ID lockable.
-
Christmas Contest plaque finally added. It's near the armor/warden's office.
-
Rocks fall, everyone dies.
-
All cyborgs and robots can now be named. Just use a pen on the cyborg's frame before the brain is inserted.
-
Knock spell now unbolts doors as well as opens them.
-
New cultist runs and other changes.
-
Added surgery tools for eventual surgery system.
-
Autolathe and Circuit Printer animations redone. Yay pretty icons.
-
AI law changes/uploads are now tracked (admin viewable).
-
Revheads now get a PDA uplink instead of a headset one.
-
Added a penlight.
-
Science Research and Development tech tree uploaded. Not really accessible by anyone yet, though.
-
-
-
14.01.2011, r853
-
-
Changlings Overhauled. Now function kinda like alium (using an internal chemical reserve instead of plasma) with each ability requiring a certain amount of chemicals to activate. Both venoms removed. Several "Dart" abiliites added. They allow the changling to deafen, blind, mute, paralyze, or even transform (dead) targets.
-
Carp meat now contaminated with Carpotoxin. Anti-toxin negates the poison, however.
-
New Reagent: Zombie Powder: Puts subjects into a deathlike state (they remain aware, though). Each unit of Zombie Powder requires 5 units of Carpotoxin, Sleeping Toxin, and Copper.
-
Various alium fixes.
-
Matches now available from smokes machine.
-
Megabomb bug fixed. Bombs with timers/signalers won't detonate after the timer/ signaler is removed.
-
New Disease: Rhumba Beat. Functions like GBS with a few exceptions. Not only available by admindickery.
-
More mining fixes/changes.
-
Ghost can now teleport to AI sat, Thunderdome, and Derelict.
-
New gimmick clothes
-
Constructing Glass Airlocks now use one sheet of R.Glass.
-
Windows mow always appear above grills and pipes always above lattices.
-
Added FireFighter mecha and various mecha fixes.
-
Deconstructed walls now leave proper floor tiles (that can be pried up like normal) and remember what kind of floor they were before the wall was made.
-
Carded AIs no longer take damage while in unpowered areas.
-
Chaplains can now name their religion at round start.
-
Napalm nerfed a bit. Produces ~25% less plasma but it's all concentrated in a single tile (will still spread, though).
-
Reagent bottles can, once again, be put into grenades.
-
Various minor map changes.
-
-
-
08.01.2011,8:00PST, r820
-
-
Holograms (AI controled psudo-mobs) added. Currently only admin spawn.
-
Pre-spawned pills no longer have randomized image.
-
Bridge reorganized.
-
Automated turrets now less dumb. Additionally, turrets won't target people laying down.
-
Cultists now automatically start known words for add cultist ritual. Also, converted cultists start knowning a word.
-
Supply ship no longer can transport monkeys. Also, monkeys are no longer orderable from QM.
-
Meat Crate added to QM.
-
Corn can now be blended in a blender to produce corn oil which is used to create glycern.
-
Request Consoles added across the station. Can be used to request things from departments (and slightly easier to notice then the radio).
-
Centcom reoragnized a fair bit. Not that players care but admins might enjoy it.
-
There is now a toggable verb that changes whether you'll turn into an alium or not.
-
Hair sprited modified.
-
Napalm and Incendiary Grenades both work now. Have fun setting things on fire.
-
Binary Translater traitor item added. It allows traitors to hear the AI (it functions like a headset).
-
New Disease: Pierrot's Throat. Enjoy, HONK!
-
Robotic Transformation (from Robrugers) and Xenomorph Transformation (from xenoburgers) now curable.
-
Mining added. Only accessible by admins (and those sent by admins). Very much WIP.
-
Alium Overhaul. Divided into multiple castes with distinct abilities.
-
New AI Modules: The goody two-shoes P.A.L.A.D.I.N. module and it's evil twin T.Y.R.A.N.T. Only the former actually spawns on the station.
-
Lizards added. They run away and shit.
-
PDA overhaul. Doesn't change anything for humans, just makes coders happy.
-
Firesuits redone to look less like pajamas and instead like firesuits. Fire lockers also added.
-
New Mecha: H.O.N.K.
-
Deployable barriers added. Can be locked and unlocked.
-
Mecha bay (with recharging stations) added.
-
Bunny Ears, Security Backpacks, Medical Backpacks, Clown Backpacks, and skirt added.
-
Various wizard changes. New Wizard Spell: Mind Swap. Swap your mind with the targets. Be careful, however: You may lose one of your spells. Wizards are no longer part of the crew and get a random name like the AI does. Wizards can change their known spells with their spellbook but only while on the wizard shuttle.
-
Circuit Imprinter: Using disks from the various deparments, new circuit boards and AI modules can be produced.
-
Heat Exchanging pipes added and various pipe/atmos changes.
-
Ghost/Observer teleport now works 100% of the time.
-
-
-
17.12.2010,11:00GMT
-
-
You need an agressive grip to table now, as well as being within one tile of the table (to nerf teletabling).
-
Teleport only runs once at the beginning of the round, hopefully reducing the lag in wizard rounds.
-
Wizards can't telepot back to their shuttle to afk now.
-
Someone added it a while ago and forgot to update the changelog - syndies in nuke need to move their shuttle to the station's zlevel first.
-
Bunch of other stuff.
-
-
-
Sunday, November 21, 3:34 PST
-
-
Bug fixes, not going into detail. Lots and lots of bug fixes, mostly regarding the new map
-
CMO has a more obvious lab coat, that looks nicer than the original
-
CMO also has a stamp now
-
QM has a denied stamp
-
Cyborgs got tweaked. Laws only update when checked. Also have wires that can be toyed
- with for various effects, including AI sync, and law control
-
Second construction site similar to the original
-
Prison station has been tweaked, now includes a lounge, and toilets
-
Detective's revolver starts with a reasonable number of bullets
-
Prison teleporter to the courtroom now exists
-
AI related stuff: More cameras, oh, and bug fixes!
-
Emergency storage moved
-
Random AI law changes. New law templates, and variables. Old variables were tweaked and some of the crappy templates were removed
-
Ghosts can teleport to the derelict now
-
Respriting of a bunch of stuff as well as graphical fixes
-
Kitchen is attached to the bar again
-
General map tweaks and fixes
-
Wardens fixed for rev rounds
-
5-unit pills now work
-
APCs added and moved
-
Cola machine added. Contains various flavours of soda. Also added new snacks to the now named snack machine. Water cooler added, just apply an empty glass to it
-
Salt & Pepper have been added, as part of the food overhaul
-
More bug fixes. There was a lot
-
-
-
Tuesday, November 16, 00:20 GMT
-
-
Cruazy Guest's map is now live.
-
Entire station has been rearranged.
-
Prison Station added, with Prison Shuttle to transport to and from.
-
New Job: Warden. Distributes security items.
-
The new map is still in testing, so please report any bugs or suggestions you have to the forums.
-
AI Liquid Dispensers, Codename SLIPPER, have been added to the AI core. They dispense cleaning foam twenty times each with a cooldown of ten seconds between uses. Mounted flashes have also been included.
-
Clown stamp added to clown's backpack.
-
-
-
Sunday, November 14, 18:05
-
-
Major food/drink code overhaul. Food items heal for more but not instantly. Poison, Drug, and "Heat" effects from food items are also non-instant.
-
Preperation for one-way containers and condiments.
New Food Item: Chaos Donut: 1 Hot Sauce + 1 Cold Sauce + 1 Flour + 1 Egg. Has a variable effect. NOT DEADLY (usually).
-
New Drug: Ethylredoxrazine: Carbon + Oxygen + Anti-Toxin. Binds strongly with Ethanol.
-
Tape Recorders added! Now you can actually PROVE someone said something!
-
Amospherics Overhaul Started: It actually works now. You can also build pipes and create function air and disposal systems!
-
Walls are now smooth.
-
Alcohol no longer gets you as wasted or for as long.
-
QM job split into QM and Cargo Technicians. QM has his own office.
-
Doors can no longer be disassembled unless powered down and unbolted.
-
New Job: Chief Medical Officer. Counts as a head of staff and is in charge of medbay. Has his/her own office and coat.
-
Wizarditis Bottle no longer in virus crate.
-
-
-
Friday, November 5, 19:29
-
-
The ban appeals URL can now be set in config.txt
-
Secret mode default probabilities in config.txt made sane
-
Admin send-to-thunderdome command fixed to no longer send people to the other team's spawn.
-
Having another disease no longer makes you immune to facehuggers.
-
Magboots are now available from EVA.
-
Changeling death timer shortened. Destroying the changeling's body no longer stops the death timer.
-
Cult mode fixes.
-
Fixed cyborgs pressing Cancel when choosing AIs.
-
The play MIDIs setting now carries over when ghosting.
-
Admins can now see if a cyborg is emagged via the player panel.
-
PAPERWORK UPDATE v1: Supply crates contain manifest slips, in a later update these will be returnable for supply points.
-
The Supply Ordering Console (Request computer in the QM lobby) can now print requisition forms for ordering crates. In conjunction with the rubber stamps, these can be used to demonstrate proper authorisation for supply orders.
-
Rubber stamps now spawn for each head of staff.
-
The use of DNA Injectors and fueltank detonations are now admin-logged.
-
Removed old debug code from gib()
-
-
-
Tuesday, November 2, 19:11(GMT)
-
-
Finished work on the "cult" gamemode. I'll still add features to it later, but it is safe to be put on secret rotation now.
-
Added an energy cutlass and made a pirate version of the space suit in preparation for a later nuke update.
-
Changeling now ends 15 minutes after changeling death, unless he's ressurected.
-
Further fixing of wizarditis teleporting into space.
-
Fixed the wise beard sprite.
-
Fixed missing sprite for monkeyburgers.
-
Fixed Beepsky automatically adding 2 treason points to EVERYONE.
-
-
-
-
Thursday, October 28, 19:30(GMT)
-
-
Sleepers and disposals now require two seconds to climb inside
-
-
Hydroponics crate ordered in QMs doesnt spawn too many items
-
Replacement lights crate can be ordered in QM.
-
Added space cleaner and hand labeler to Virology.
-
Welder fuel tanks now explode when you try to refuel a lit welder.
-
Made clown's mask work as a gas mask.
-
9 new cocktails: Irish Coffee, B-52, Margarita, Long Island Iced Tea, Whiskey Soda, Black Russian, Manhattan, Vodka and Tonic, Gin Fizz. Refer to the wiki for the recipes.
-
Kitchen update:
-
-
-New Microwave Recipies: Carrot Cake (3 Flour, 3 egg, 1 milk, 1 Carrot), Soylen Viridians (3 flour, 1 soybeans), Eggplant Parmigania (2 cheese, 1 eggplant), and Jelly Donuts (1 flour, 1 egg, 1 Berry Jam), Regular Cake (3 flour, 3 egg, 1 milk), Cheese Cake (3 flour, 3 egg, 1 milk), Meat Pies (1 meat of any kind, 2 flour), Wing Fang Chu (1 soysauce, 1 xeno meat), and Human and Monkey Kabob (2 human or monkey meat, metal rods).
-
- Ingredients from Processor: Soysauce, Coldsauce, Soylent Green, Berry Jam.
-
- Sink added to kitchen to clean all the inevitable blood stains and as preperation for future cooking changes.
-
- The food processor can't be abused to make tons of food now.
-
-
-
Multiple tweaks to virology and diseases:
-
-
- Added wizarditis disease.
-
- Spaceacillin no longer heals all viruses.
-
- Some diseases must be cured with two or more chemicals simultaneously.
-
- New Virology design including an airlock and quarantine chambers.
-
- Made vaccine bottles contain 3 portions of vaccine.
-
- Lots of minor bug fixes.
-
-
-
-
-
-
Monday, October 18, 06:24(GMT)
-
-
Added virology profession with a cosy lab in northwestern part of medbay.
-
Virology related things, like taking blood samples, making vaccines, splashing contagious blood all over the station and so on.
-
Added one pathetic disease.
-
Virus crates are now available from the quartermasters for 20 points.
-
The DNA console bug (issue #40) was fixed, but I still made the DNA pod to lock itself while mutating someone.
-
Added icons for unpowered CheMaster and Pandemic computers
-
Added some sign decals. The icons were already there, but unused for reasons unknown.
-
Some map-related changes.
-
-
-
Wednesday, October 13, 14:12(GMT)
-
-
Crawling through vents (alien) now takes time. The farther destination vent is, the more time it takes.
-
Cryo cell healing ability depends on wound severity. Grave wounds will heal slower. Use proper chemicals to speed up the process.
-
Added sink to the medbay.
-
Bugfixes:
-
-
- Some reagents were not metabolized, remaining in mob indefinitely (this includes Space Cola, Cryoxadone and cocktails Kahlua, Irish Cream and The Manly Dorf).
-
- Fixed placement bug with container contents window. Also, utility belt window now doesn't obscure view.
-
-
-
-
-
Sunday, October 10, 14:25(GMT)
-
-
Scrubbers in the area can be controlled by air alarms. Air alarm interface must be unlocked with an ID card (minimum access level - atmospheric technician), usable only by humans and AI. Panic syphon drains the air from affected room (simple syphoning does too, but much slower).
-
Sleeper consoles inject soporific and track the amounts of rejuvination chemicals and sleep toxins in occupants bloodstream.
-
Flashlights can be used to check if mob is dead, blind or has certain superpower. Aim for the eyes.
-
Radiation collectors and collector controls can be moved. Secured\unsecured with a wrench.
-
Air sensors report nitrogen and carbon dioxide in air composition(if set to).
-
Air Control console in Toxins.
-
Additional DNA console in genetics
-
Enough equipment to build another singularity engine can be found in engineering secure storage
-
Air scrubber, vent and air alarm added to library
-
Air alarm added to brig
-
Air scrubbers in Toxins turned on, set to filter toxins
-
Empty tanks, portable air pumps and similar can be filled with air in Aft Primary Hallway, just connect them to the port. Target pressure is set by Mixed Air Supply console in Atmospherics (defaults to 4000kPa).
-
-
-
Wednesday, October 6, 18:36
-
-
Fixed the Librarian's suit - its worn iconstate wasn't set.
-
Fixed some typos.
-
Monkey crates are now available from the quartermasters for 20 points.
-
Corpse props removed from zlevel 8 as they were causing issues with admin tools and the communications intercept.
-
Cleaned up the default config.txt
-
Added a readme.txt with installation instructions.
-
Changed the ban appeals link to point to our forums for now - this'll be a config file setting soon.
-
-
-
Tuesday, October 5, 01:41
-
-
Fixes to various nonworking cocktails.
-
More map and runtime error fixes.
-
Nuke operative headsets should be on an unreachable frequency like department headsets.
-
Another AI Malfunction change: Now once the AI thinks enough APCs have been hacked, it must press a button to start the timer, which alerts the station to its treachery.
-
Blob reskinned to magma and increased in power.
-
The HoS now has an armored greatcoat instead of a regular armor vest.
-
Admin logs now show who killswitched a cyborg.
-
The roboticist terminal now lets you see which AI a cyborg is linked to.
-
Malf AIs are no longer treated as inactive for the purpose of law updates and cyborg sync while hacking APCs.
-
Traitor AIs are now affected by Reset/Purge/Asimov modules, except law 0.
-
AI core construction sprites updated.
-
Securitrons removed from the Thunderdome.
-
An APC now supplies power to the bomb testing area, and has external cabling to supply it in turn.
-
A new variant freeform module has been added to the AI Upload room.
-
The changeling's neurotoxic dart has been made more powerful - this will likely be an optional upgrade from a set of choices, akin to wizard spells.
-
Some gimmick clothes moved to a different object path.
-
The chameleon jumpsuit should now be more useful - it includes job-specific jumpsuits as well as flat colours.
-
-
-
Wednesday, September 29, 15:40
-
-
Bartender update! Bartender now has a Booze-O-Mat vending machine dispensing spirits and glasses, which he can use to mix cocktails. Recipes for cocktails are available on the wiki.
-
The barman also now has a shotgun hidden under a table in the bar. He spawns with beanbag shells and blanks. Lethal ammo is obtainable from hacked autolathes.
-
Dead AIs can once more be intelicarded, however in order to be restored to functionality they must be repaired using a machine in the RD office.
-
Silicon-based lifeforms have metal gibs and motor oil instead of blood.
-
Aliens now have a death message.
-
Intelicarded AIs can now have their ability to interact with things within their view range reactivated by the person carrying the card.
-
New AI cores can be constructed from victimsvolunteers.
-
Verbs tweaked.
-
Intelicarded AIs can be deleted.
-
RD office redesigned, and the RD now spawns there.
-
The AI can now choose to destroy the station on winning a Malf round.
-
General bugfixes to AIs, constructed AIs and decoy AIs.
-
Hats no longer prevent choking.
-
Some extra gimmick costumes are now adminspawnable.
-
AI health is now displayed on their status tab.
-
AI upload module now requires you to select which AI to upload laws to in case of multiple AIs.
-
Cyborgs now choose an AI to sync laws with upon creation.
-
Law office redesigned.
-
Roboticists no longer have Engineering access.
-
More fixes to areas which had infinite power due to having no assosciated APC.
-
Meatbread slices are no longer infinite.
-
Malf rounds no longer end if a non-malfunctioning AI is killed.
-
Cigarettes now have directional sprites.
-
AI Core circuitboard spawns in the RD office.
-
AI Satellite now has cameras and properly-wired SMES batteries.
-
Decoy AIs can no longer be moved.
-
Several runtime errors have been fixed.
-
Nuke rounds will now end properly on a station or neutral victory.
-
Riot shields have been nerfed and are now only available in the armory and in riot crates.
-
Foam dart crossbows, cap guns and caps can now be won as arcade prizes.
-
AI Malfunction has been redesigned - the AI must now hack APCs in order to win. More APCs hacked makes the timer tick faster.
-
Hydroponics now has a MULEbot station.
-
Changeling mode has been added to the game and is now in testing.
-
Electrified airlocks should now only zap you once if you bump into them while running.
-
Chemistry and Toxins access has been removed from Botanists.
-
General bugfixes and map tweaks.
-
-
-
Sunday, September 26, 17:51
-
-
Riot shields! One in every security closet, and a few in armory. Also orderable from QM.
-
-
-
Tuesday, September 21, 17:51
-
-
New experimental UI for humans by Skie. Voice out if it has problems or you don't like it.
- ---> YOU CAN CHOOSE UI FROM PREFERENCES <---
-
Hydroponics: Now you can inject chemicals into plants with a syringe. Every reagent works differently.
-
Hydroponics: Added a small hoe for uprooting weeds safely. Botanists now have sissy aprons.
-
New random station/command names and verbs.
-
Dead AIs can no longer be intellicarded and the steal AI objective is now working.
-
Aliens now bleed when you hit them, as well as monkeys.
-
Hurt people and bodies leave blood behind if dragged around when they are lying. Sprites to be updated soon...
-
Fixed several run-time errors in the code. Also food doesn't deal damage anylonger in some cases.
-
Blobs and alien weeds slowed down some. Plant-b-gone buffed some.
-
Fixed monkeys and aliens not being able to deal damage to humans with items.
-
Monkeys now slip on wet floor.
-
-
-
Friday, September 17, 23:03
-
-
The Lawyer now starts in his snazzy new office.
-
Law Office accesslevel added. Currently, the Lawyer and the HoP begin with this.
-
Robotics access can now be added or removed from the HoP's computer.
-
Robotics, the captain's quarters, the cargo lobby and the staff heads office now have APCs and can lose power like the rest of the station.
-
Toxins mixing room is now a separate area for power and fire alarm purposes, as it already had its own APC.
-
-
-
Thursday, September 16, 20:11
-
-
Added the Lawyer job.
-
Doors can now be constructed and deconstructed. This is being playtested, expect the specifics to change.
-
Fixed certain jobs which were supposed to have stuff spawning in their backpack that just wasn't getting spawned.
-
-
-
Monday, September 13, 13:30
-
-
Bunch of new announcer sounds added
-
Minor lag fix implementation in the pipe system
-
You can now hear ghosts... sometimes
-
Seed bags and nutrients can now be pocketed
-
-
-
Monday, September 12, 12:48
-
-
New kitchen stuff: New recipes (Meatbread, Cheese, Omelette Du Fromage, Muffins), new chef's knife and trays (Spawn in the meat locker) and milk (spawns in the fridge). Recipes are as follows:
- -Cheese: milk on food processor
- -Cheese wedge: Slice the cheese wheel with the chef's knife
- -Omelette Du Fromage: 2 eggs 2 cheese wedges
- -Muffin: 2 eggs 1 flour 1 carton of milk
- -Meatbread: 3 meats (whatever meats) 3 flour 3 cheese. Can be sliced.
- Cheese_amount is actually displayed on the microwave.
-
Profession-special radio channels now have color.
-
AI card not stupidly lethal anymore, for anyone that didn't notice
-
HYDROPONICS OVERHAUL, credit goes to Skie and Numbers. Wood doesn't have the entity so the tower caps cannot be harvested. For now.
-
Bar is now barman-only, access-wise. No more shall the entire station trump inside the bar and choke the monkey.
-
Prepping ground for Barman update (SPRITE ME SOME GODDAMN BOTTLES)
-
-
Thursday, September 2, 22:45
-
-
Ghosts can no longer release the singularity.
-
Sprites added in preparation for a Hydroponics update
-
A decoy AI now spawns in the AI core during Malfunction rounds to reduce metagaming.
-
libmysql.dll added to distribution.
-
Aircode options restored to default configuration.
-
AIs properly enter powerloss mode if the APC in their area loses equipment power.
-
Hydroponics crates added to Hydroponics, containing Weed-B-Gone
-
Airlock electrification now actually works properly.
-
Karma database error message updated.
-
Cyborgs choosing the standard module no longer become invisible except for a pair of glowing red eyes.
-
Aliens now have a hivemind channel, accessed like departmental radio channels or robot talk with ':a'.
-
Full donut boxes no longer eat whatever item is used on them and disappear.
-
-
Monday, August 30, 16:24
-
-
PDA user interface has been given a graphical overhaul. Please report any problems with it on the issue tracker.
-
Personal lockers are once again available in the lockerroom
-
BUGFIX: Xenoburger iconstate was accidentally removed in an earlier revision. This has been fixed.
-
Some of the default messages have been changed.
-
Additional sprites added for plants and weeds in preparation for an expansion of Hydroponics.
-
A schema script is now available for setting up the SQL database.
-
-
-
Sunday, August 29, 05:09
-
-
The Robotics Crate no longer exists. Quartermasters can now order a MULEbot crate for 20 points, or a Robotics Assembly crate for 10 points. The latter provides 4 flashes, 3 proximity sensors, two 10k charge power cells and an electrical toolbox, and requires a roboticist or a head of staff to open.
-
Traitor AIs no longer lose their Law 0 in the event of power loss.
-
Administrators can now toggle the availiabilty of their right-click verbs to prevent accidental usage while playing.
-
Tool Storage vending machine is now a proper object. (code cleanup)
-
Buckets are now available from autolathes.
-
Four generic remote signaller PDA cartridges are now stocked in the Tool Storage vending machine.
-
AI status display density adjusted.
-
-
-
Thursday, August 26, 21:07
-
-
Open Source Release Thanks to Mport for releasable singularity code.
-
Cyborgs redone Thanks again to Mport for this, cyborgs are totally different now.
-
Engine Monitor PDA app is now Power Monitor PDA app, and actually works.
-
AI State Laws verb now allows the AI to choose which laws to state, in case of traitor AIs or laws ordering it not to state them. Hopefully this will cut down on 'OMG THE AI IS COPYING AND PASTING' metagaming.
-
Power Monitor circuitboard isn't mislabeled as Mass Driver Control any more.
-
Traitor and Rev-head clowns lose the clumsiness gene - this should make trying to flash people in Rev mode less of an exercise in frustration.
-
A sink has been added to the Fitness room - this lets you wash dirty and bloodstained clothing and equipment.
-
Blast doors and firedoors no longer open by just bumping into them.
-
The bar and kitchen now open onto the same seating area. The old cafeteria area is now used as a lockerroom to replace the old one which was displaced by Hydroponics.
-
The bar now has a space piano with which you can entertain and annoy the crew.
-
LIBRARY A library has been added to the station in the escape arm in order to educate the crew. The new Librarian job is available to manage it. Crewmembers can request and read books, or write and bind their own books for upload to a persistent database.
-
The supply of flashbangs available from Security has been reduced to cut down on people constantly flashbanging the escape shuttle.
-
InteliCards are available in various locations to allow the retrieval of valuable AI personality data in the event of catastrophic station damage.
-
-
-
Friday, August 06, 20:32
-
-
Hydroponics/Botany Added Credit goes to Skie and the folks over at the independent opensource SS13 branch, this is their code. It's lacking a lot, but it's a great start!
-
Way more tweaks than I can remember. Shouldn't wait so long between changelog updates.
-
-
Tuesday, July 13, 22:35
-
-
Singularity Engine Added Oh God we're all going to die (All credit on this one goes to Mport2004)
-
'Purge' AI module added - purges ALL laws (except for law 0). Will probably change this to a Syndicate only item
-
Cyborgs now spawn with a power cell. Should prevent stupid cyborg deaths (and also pave the way for starting as a cyborg once more bugs are fixed)
-
-
Saturday, July 10, 15:10
-
-
Examining a player will now tell you if their client has disconnected.
-
Examining a brain will now tell you if it's owner is still connected to the game.
-
Alien Queens can make facehuggers. Facehuggers can make larva. Larva can grow into xenos! Xenos can become queens! The circle of life~
-
Some powernet bug fixes: Bad list and division by zero.
-
-
Friday, July 09, 05:16
-
-
Tweaked crate costs for Quartermaster.
-
Increased metal available in Robotics.
-
Added department-specific headsets. Engineering, Medical, Command, and Security all receive special headsets capable of broadcasting on a standard frequency PLUS a secure frequency only available to headsets of the same type. Precede say messages with ":h" to use.
-
-
-
Tuesday, July 06, 19:16
-
-
Prayer command added.
-
State Laws command for AI added.
-
Disabled Lockdown command for AI. Too server heavy.
-
Crew manifest and various station databases should properly update when late arrivals join the game, now.
-
Quartermasters will receive 10 points every five minutes. This will probably be nerfed heavily, but we'll give it a shot anyhow.
-
Fixed a bug with doors/airlocks. (Thanks Mport2004)
-
-
-
Sunday, April 25, 18:53
-
-
- New graphics:
-
-
- Side Facing Sprites: Player sprites will now face in all directions when moving. Holy shit!
-
-
-
-
-
Monday 2.0, April 19, 2100
-
-
- New features:
-
-
- Disposal System: The station now has a fully functional disposal system for throwing away nuclear authentication disks and old, dirty clowns.
-
-
- Breakable Windows: Windows are breakable by projectiles and thrown items (including people), shards hurt your feet.
-
-
- Status Display: Station escape shuttle timers now function as status displays modifiable from the bridge.
-
-
- Space Heater: Space heaters for heating up cold spaces, in space.
-
-
-
- New items:
-
-
- Welding Mask: Helps engineers shield their eyes when welding.
-
-
- Utility Belt: Function as toolboxes equippable in the belt slot.
-
-
- Mouse Trap: Hurt your feet, especially if you aren't wearing shoes!
-
-
- Power Sink: Traitor item that rapidly drains power.
-
-
-
-
- New graphics:
-
-
- North Facing Sprites: Player sprites will now face north when moving north.
-
-
- Hidden Pipes: Pipes are now hidden underneath floor tiles.
-
-
-
-
- New robot: Medibot
-
-
- Automatically attempts to keep crewmembers alive by injecting them with stuff.
-
-
-
-
- New robot: Mulebot
-
-
- Allows quartermasters to automatically ship crates to different parts of the station.
-
-
-
-
-
-
Funday, December 31, 2099
-
"FINALLY, DEV IS OUT"
-
-
- Changes:
-
-
- Atmos system GREATLY OPTIMIZED!
-
-
- Brand new station layout!
-
-
- Robust chemical interaction system!
-
-
- HOLY FUCK PLAYING THIS GAME ISN'T LIKE TRODDING THROUGH MOLASSES ANYMORE
-
-
- Feature: If two players collide with "Help" intent, they swap positions.
-
-
-
-
-
-
Tuesday, February 23, 2010
-
-
- OH NO STRANGLING GOT NERFED: Insta-strangling (hopefully) removed. Victim no longer instantly loses consciousness.
-
-
-
-
Sunday, February 21, 2010
-
-
- Cloning Machine: The Geneticist spilled coffee on the Genetics Machine's revival module and it was too costly to replace!
-
-
- Clones may or may not have horrible genetic defects.
-
-
-
-
-
-
Thursday, February 18, 2010
-
-
- New feature: Obesity from overeating in a short period of time.
-
-
-
-
Sunday, February 14, 2010
-
-
- New feature: Station destruction cinematic if the crew loses in AI Malfunction or Nuclear Emergency.
-
-
- New Position: Tourist
-
-
- Centcom has entered the lucrative business of space tourism! Enjoy an event-filled vacation on the station, and try not to get killed.
-
-
- Guest accounts are now restricted to selecting Tourist in Character Setup.
-
-
-
-
-
-
Friday, February 5, 2010
-
-
- AI: Added 30 second cooldown to prevent spamming lockdowns.
-
-
-
-
Wednesday, February 2, 2010
-
-
- Feature: Character preview in Character Setup!
-
-
-
-
Tuesday, February 2, 2010
-
-
- New item: Drinking glasses that you can fill with water.
-
-
- Feature: Sounds now pan in stereo depending on your position from the source.
-
-
-
-
Saturday, December 5, 2009
-
-
- Traitor tweak: Agent cards can now be forged into a fake ID.
-
-
-
-
Friday, December 4, 2009
-
-
- Supply Dock 2.0: The Supply Dock has been redesigned and now features conveyer belts! Amazing!
-
-
- New uniforms: The Research Director, Chief Engineer, and the research jobs have new uniforms. The Head of Security has a cool new hat which happens to be his most prized possession.
-
-
- Merged research: The first act of the Research Director is to merge Toxins and Chemistry into a single Chemical Lab. Hooray!
-
-
- Robot tweak: You can now observe robots using the observe command.
-
-
- Stamps: The heads now have stamps to stamp papers with, for whatever reason.
-
-
-
-
Monday, November 30, 2009
-
-
- Supply Shuttle 1.0: Now you can order new supplies using Cargo Bay north of the autolathe.
-
-
- New containers: The game now features a variety of crates to hold all sorts of imaginary space supplies.
-
-
- New position: Quartermaster
-
-
- A master of supplies. Manages the cargo bay by taking shipments and distributing them to the crew.
-
-
-
-
- New position: Research Director
-
-
- The head of the SS13 research department. He directs research and makes sure that the research crew are working.
-
-
-
-
- New position: Chief Engineer
-
-
- Boss of all the engineers. Makes sure the engine is loaded and that the station has the necessary amount of power to run.
-
-
-
-
- New robot: Securibot
-
-
- Automatically stuns and handcuffs criminals listed in the security records. It's also really goddamn slow.
-
-
-
-
- New jumpsuits: Engineers and Atmos Techs have new jumpsuits to distinguish between them easier.
-
-
-
-
Friday, November 27, 2009
-
-
- Monkey AI 2.0: Monkeys will now get angry, going after random human targets with the ability to wield weapons, throw random objects, open doors, and break through glass/grilles. They're basically terminators.
-
-
- New gamemode: Monkey Survival
-
-
- Survive a horde of angry monkeys busting through the station's airvents and rampaging through the station for 25 minutes.
-
-
-
-
- New robots: Cleanbot and Floorbot
-
-
- Cleanbots automatically clean up messes and Floorbots repair floors.
-
-
-
-
- New spell: Mindblast
-
-
- Causes brain damage, progressively causing other players to become even more stupid.
-
-
-
-
- Alien Races
-
-
- Wizards may randomly spawn as illithids, who gain Mind Blast for free, and nuke agents may randomly spawn as lizardmen.
-
-
-
-
- Station shields: The station now has a toggleable forcefield that can only be destroyed by meteors or bombs. Takes a lot of station power to use.
-
-
- Traitor scaling: Number of traitors/wizards/agents now scales to number of players.
-
-
- New food item: Donk pockets
-
-
- Delicious and microwavable, gives a bigger health boost for traitors.
-
-
-
-
- Cigarettes: Now you can fulfill your horrible nicotine cravings. The detective starts with a zippo lighter and pack of cigarettes. Other packs can be be obtained via vending machines.
-
-
- Warning signs: The station is now filled with various warning signs and such.
-
-
- Updated graphics: Many, many objects have had their graphics updated including pipes, windows, tables, and closets. HUD graphics have been updated to be easier to understand.
-
-
- Lighting fixes: New turf is now correctly lit instead of being completely dark.
-
-
- Meteor fixes: The code and graphics for meteors has been fixed so the meteor gametype is more playable, sort of.
-
-
- Escape shuttle fix: The shuttle can now be called in Revolution and Malfunction, but the shuttle will be recalled before it arrives. This way players can no longer call the shuttle to figure out the game mode during secret.
-
-
- Changelog updated: New changelog entry for Thanksgiving thanks to Haruhi who will probably update the changelog from now on after almost a month of neglect.
-
-
-
-
Monday, November 3, 2009
-
-
- Bug fix: Made most pop-up windows respect the close button.
-
-
-
-
Sunday, October 25, 2009
-
-
- Randomized naming: Names for Central Command and Syndicate are now randomized.
-
-
-
-
Saturday, October 24, 2009
-
-
- Bug fix: PDAs had their code cleaned up. Notice any problems? Report them.
-
-
- New syndicate item: Detomatix Cartridge, allows remote detonation of PDAs (rather weak explosion)!
-
-
- Feature: Remotely detonating PDAs has a chance of failure depending on the PDA target, a critical failure will result in the detonation of your own PDA.
-
-
-
-
Monday, October 19, 2009
-
-
- Gibbing update: Gibbing stuff has been rewritten, robots now gib nicer.
-
-
- LIGHTING!!!: The station now has dynamic lighting and associated items.
-
-
-
-
Friday, October 16, 2009
-
-
- Poo v1.0~: This has caused many ragequits.
-
-
- Flushable toilets: You can now use toilets to place your vile, disgusting and irreprehensible excretions (you disgusting children). Just be careful what you flush!
-
-
-
Monday, October 12, 2009
-
-
- Feature: Emergency oxygen bottles can be clipped to your belt now.
-
-
- Clothing update: Bedsheets are now wearable.
-
-
- Updated HUD: A few minor tweaks to the inventory panel. Things might not be exactly where you're used to them being.
-
-
-
Monday, September 28, 2009
-
-
- New position: Chef
-
-
- Maintains the Cafeteria, has access to Kitchen and Freezer, Food creation will be in shortly.
-
-
-
-
- Food update: Food items now heal Brute/Burn damage. The amount recovered varies between items.
-
-
-
Saturday, August 29, 2009
-
-
- AI laws update: Nanotrasen has updated its AI laws to better reflect how they wish AIs to
- operate their stations.
-
-
- Traitor item change: E-mag renamed to Cryptographic Sequencer.
-
-
-
-
Friday, July 31, 2009
-
-
I'm really sorry everyone I just HAD to add a gib all verb.
-
Decided to add the creation of bombs to bombers list
-
Made the new bombing list EVEN BETTER!!!
-
Fixed a bug with admin jumping AND the traitor death message
-
Oops, fixed a bug that returned the right click pm thing thinking the admin was
- muted.
-
Made a new improved way of tracking who bombs shit.
-
More formatting shit.
-
Fixed up some mute code and made it so that if a player is muted they cannot PM
- us.
-
Adminhelps now logged in the admin file not ooc
-
Changed the way admin reviving is dealt with. (It was coded kind of weirdly
- before)
-
Added a few areas to the observe teleport. Fixed some adminjump things. Modified
- the paths of some areas.
-
You can now ban people who have logged out and admins can now jump to people
- using the player panel.
-
Added in jump to key coded in a much better way than showtime originally did it.
-
Fixed magical wind when laying pipes. They start out empty!!
-
Made blink safer. Fixed the crew-quarters to ai sattelite teleport problem.
-
Forgot the message again. Added an emp spell. thanks copy&paste.
-
OH MY GOD I HAVE RUINED ASAY
-
Added electronic items to the pipe dispenser
-
fixed a formatting error with the changelog (I didn't break it, it was showtime)
-
Fixed a formatting error
-
Cleaned up sandbox object spawn code
-
New and improved admin log so we can keep an eye on these fuckers
-
Fixed adminjump because I realise most people use it for the right click option
-
Mushed together jump to mob and jump to key
-
Fixed a compilation error and made my test room more secure!
-
-
-
Wednesday, July 29th, 2009
-
-
These are a collection of the updates from the last 6 days. I promise to update
- the changelog once a week. Note that this does not include all the changes in
- the past 6 days.
-
-
-
Multitools can now be used to measure the power in cables.
-
Fixed a bug where the canister message would repeat and spam the user when
- attackby analyzer. Fixed an admin formatting error.
-
Replaced all range checks with a in_range proc. pretty good chance I broke
- something or everything.
-
Mutations use bitfields
-
Fixed a bug with my traitor panel.
-
Fixed the turrets, ruined Pantaloons map (test map). Did some things with
- turrets and added a few areas.
-
Some stuff in here you know the usual shit. Bugfixes, formatting etc.
-
Stunbaton nerf.
-
Tempban longer than 1 year -> permaban.
-
Turfs > spawnable.
-
Shaking someone now slowly removes paralysis, stuns and the 'weakened' stuff.
-
CTF flags now check if someone has them equipped every 20 seconds, if they are
- not then they delete themselves and respawn.
-
Fixed the r-wall-welder-message-thing.
-
Change to the CTF code, flag captures can now only happen if your team has their
- flag in the starting position.
-
Pruning my test room.
-
Instead of the red and green team its now the American and Irish teams!
-
BACKUP BACKUP TELL ME WHAT YOU GONNA DO NOW Changed the monkey name code. Re-did
- my antimatter engine code so it actually puts out power now
-
dumb as fuck change, whoever did that, it already spawn ()'s inside the proc
- code, whoever did that, you are a fool and should read code before you modify
- it
-
Fixed a bug that gave everyone modify ticker variables you silly sausage.
-
Sorted the AIs track list.
-
Constructable filter inlets and filter controls.
-
Added in admin messages for when someone is banned.
-
Bannana and honk honk.
-
-
-
Saturday, June 27th, 2009
-
-
-
Pipe construction now works completely. //Nannek
-
Many many other things that never gets recorded in the changelog!!
-
-
-
Saturday, June 27th, 2009
-
-
The Michael Jackson Memorial Changelog Update
-
Pipe filters adjusted for more ideal environmentals //Pantaloons
-
Added in job tracking //Showtime
-
Crew Manifest and Security Records now automagically update when someone joins //Nannek
-
Fixed a bug where sometimes you get a screwdriver stuck in your hand //Pantaloons
-
Flamethrowers can now be disassembled //Pantaloons
-
OBJECTION! Added suits and briefcases //stuntwaffle
-
Added automatic brig lockers //Nannek
-
Added brig door control authorization and redid brig layout //Nannek
-
Emergency toolboxes now have radios and flashlights, and mechanical toolboxes now have crowbars //Pantaloons
-
New whisper system //lallander
-
Some more gay fixes //everybody
-
Some really cool fixes //everybody
-
Really boring code cleanup //Pantaloons
-
~~In Loving Memory of MJ~~ Sham on!
-
-
-
Friday, June 12th, 2009
-
-
Looking back through the SVN commit log, I spy...
-
Keelin doing some more performance enhancements
-
Fixed one person being all 3 revs at once (hopefully)
-
Some gay fixes
-
New admin system installed
-
Fixed a bug where mass drivers could be used to crash the server
-
Various pipe changes and fixes
-
-
-
Wednesday, June 3rd, 2009
-
-
Death commando deathmatch mode added.
-
-
-
Monday, June 1st, 2009
-
-
Ghosts can no longer wander from space into the dread blackness that lies beyond.
-
Those other losers probably did a bunch of other stuff since May 6th but they don't comment their revisions so fuck 'em.
-
-
-
-
Wednesday, May 6th, 2009
-
-
Crematorium
-
Goon? button makes all your dreams come true.
-
Restructured medbay
-
-
Monday, May 4th, 2009
-
-
Does anyone update this anymore?
-
New atmos computer promises to make atmos easier
-
Autolathe
-
Couple of map changes
-
Some computer code reorganised.
-
I'm pretty sure theres a couple things
-
-
Saturday, April 18th, 2009
-
-
Weld an open closet (only the normal kind), gayes.
-
Chaplin has a higher chance of hearing the dead.
-
New traitor objective
-
Power traitor objective removed
-
New job system implemented for latecomers.
-
Head of Research quits forever and ever, is replaced by Head of Security (who gets his own office)
-
-
-
Fri, April 10, 2009
-
-
Admins are now notified when the traitor is dead.
-
Unprison verb (again, for admins).
-
-
-
Wed&Thu, April 8&9, 2009
-
-
Medical redone, doctors do your jobs! (Tell me what you think of this
- compared to the old one)
-
Clickable tracking for the AI
-
Only the heads can launch the shuttle early now. Or an emag.
-
-
-
Mon&Tue, April 6&7, 2009
-
-
Sounds. Turn on your speakers & sound downloads.
-
Scan something with blood on it detective.
-
-
-
Sunday, April 5, 2009
-
-
A large icon for the headset, no reason it should be so small.
-
-
-
Saturday, April 4, 2009
-
-
Emergency closets now spawn an 'emergency gas mask' which are just recolored gas masks, no other difference other than making it obvious where the gas mask came from.
-
-
-
Wednesday, April 1, 2009
-
-
Constructable rocket launchers: 10 rods, 10 metal, 5 thermite and heated plasma from the prototype.
-
Emergency closets have randomized contents now.
-
Fixed a bug where someone who was jobbaned from being Captain could still be picked randomly
-
-
-
Friday, March 27, 2009
-
-
Fixed a bug where monkeys couldn't be stunned.
-
Change mode votes before game starts delays the game.
-
-
-
Thursday, March 26, 2009
-
-
The brig is now pimped out with special new gadgets.
-
Upgraded the admin traitor menu.
-
-
-
Tuesday, March 24, 2009
-
-
GALOSHES!
-
A certain item will now protect you from stun batons, tasers and stungloves when worn.
-
-
-
Monday, March 23, 2009 (EXPERIMENTAL)
-
-
Say / radio / death talk systems recoded, hopefully improving it.
-
Announcements of late joiners are now done by the AI if it's alive :-)
-
-
-
Monday, March 23, 2009
-
-
Random station names.
-
Changes to the message stylesheet.
-
Admin messages in OOC will now be colored red.
-
-
-
Saturday, March 21, 2009
-
-
Added a command to list your medals.
-
ETA no longer shows when it doesn't matter.
-
Nerfed the ability to spam shuttle restabalization.
-
Fixed the 'Ow My Balls!' medal to only apply from brute damage rather than both brute and burn damage.
-
-
-
Thursday, March 19, 2009
-
-
Job banning.
-
Genetic Researcher renamed to Geneticist.
-
Toxins Researcher renamed to Scientist.
-
Help reformatted.
-
Fixed a bug where combining bruise packs or ointments resulted in an incorrectly combined amount.
-
Renamed memory and add memory commands to Notes and Add Note.
-
-
-
Tuesday, March 17, 2009
-
-
Medals! MEDALS!
-
Trimmed the excessively long changelog.
-
-
-
Saturday, March 14, 2009
-
-
Janitor job complete! Report any bugs to adminhelp
-
-
-
Saturday, March 7, 2009
-
-
Wizard now needs his staff for spells
-
Be careful with APCs now okay?!
-
Fixed Memory and made it more efficient in the code
-
Crowbars now open apcs, not screwdrivers. They do something else entirely
-
Hackable APCs
-
When APCs are emagged they now stay unlocked
-
Re-did a shit tonne of admin stuff
-
New admin system is pretty much finished
-
FINALLY backpacks can now be looked in while on the ground.
-
-
-
Tuesday, February 24, 2009
-
-
Ghosts no longer able to open secret doors
-
Suicide vests now work as armor
-
Blood no longer comes out of the guy if you pull him due to lag
-
Admin panel has been touched up to include html tables
-
Mines now added, only spawnable right now however
-
Fixed the syndicate nuclear victory bug
-
Wizard now spawns with wizard outfit which he must wear to cast spells
-
Blood bug fixes
-
Fixed a dumb bug that meant I didn't have the power to kick admins
-
THUNDERDOME!
-
Several new facial hair options and a bitchin' mohawk
-
Blood by Culka
-
Nuke disk now spawns in ALL game modes so that during secret rounds the syndicate now have the element of surprise!
-
-
-
Saturday, February 22, 2009
-
-
Implemented unstable's "observer" mode
-
Halerina's wizard mode
-
Non-interesting stuff
-
Began addition to the new admin system - right now only available to coders for testing
-
Admins can now click on the multikeying offenders name to pm them, instead of hunting for them in the pm list
-
Halerina's chemistry system
-
You can now deathgasp without being dead, hopefully so people can fake their own deaths.
-
Redid Medlab
-
New chemist job
-
-
-
Thursday, February 19, 2009
-
-
New DNA system. 200th Revision special.
-
Various bugfixes
-
Maze
-
-
-
Monday, February 17, 2009
-
-
Added a new game mode into rotation.
-
Added an AI satellite
-
Lockdowns can be disabled with the communications console
-
Prison shuttle can be called on the comm console, but only if its enabled by admins first
-
When you slip into space you'll have a 50% chance of going to z=4 instead of z=3
-
-
-
Friday, February 13, 2009
-
-
Fixed Cakehat
-
Dead people can now see all turfs, mobs and objs not in their line of sight.
-
Modified the map slightly
-
Stungloves can now be "made"
-
Flashes can now have their bulbs burning out.
-
Batons can now be turned on and off for different effects. They also now have 10 uses before they need to be recharged.
-
-
-
Tuesday, February 10, 2009
-
-
Fixed all the autoclose bugs
-
Due to it being myself and Keelin's 100th revision we have added a super-secret special item. Don't ask because we won't tell! Figure it out!
-
-
-
Sunday, February 8, 2009
-
-
Modified doors in engineering so that they do not autoclose - Autoclose now handled by a variable
-
Fixed toxin researcher spawn bug
-
Changed the "You hear a faint voice" message.
-
Gave the host new commands to disable admin jumping, admin reviving and admin item spawning
-
Fixed some airlock autoclose bugs
-
Changed some doors to not autoclose.
-
Nerfed the toolbox down.
-
-
-
Friday, February 6, 2009
-
-
Doors now close after 15 seconds
-
Fixed some p cool bugs
-
Cakehat
-
Added another suit
-
Walls now take 5 seconds to build
-
Added sam0rz, thesoldierlljk and kelson's revolution gamemode. Thanks guys!
-
-
-
Thursday, February 5, 2009
-
-
Fixed a couple of bugs
-
Improved bar ;)
-
Beer acts like pills and syringes
-
-
-
Tuesday, February 3, 2009
-
-
Added 'Make AI' Option for Admins
-
Added dissolving pills in beer (cyanide and sleeping pills)
-
Modified engine AGAIN, but personally I love it now
-
-
-
Monday, February 2, 2009
-
-
Moved bar due to popular demand
-
Captains room is now a security checkpoint
-
Assistants now have access to maint tunnels again
-
Courtroom
-
Engine has been redone slightly to make it easier to load
-
Nerfed beer a lot more
-
-
-
Saturday, January 31, 2009
-
-
Added a bartender job + Bar
-
Captains panic room
-
Voice changer traitor item
-
Bartender suit
-
Made taking a table apart take longer
-
Balanced beer a bit more.
-
Assistants can no longer open external air locks and maint tunnels, sorry guys. Get a job you bums.
-
Engineers CAN access external air locks and maint tunnels.
-
Fixed traitor AI bug
-
-
-
Thursday, January 29, 2009
-
-
Added traitor menu for admins - The ability to turn people into "traitors" as well as keep track of their objectives.
-
Implemented Keelins revive system - Primary Admins can now revive people.
-
Moved and redid security to prevent clusterfucks and everyone just crowding around security.
-
Redid the brig to make it bigger and so that people can break others more easily out since it isn't right in security.
-
Moved and redid captains quarters/heads quarters. Captains made much smaller and heads is now more of a meeting room.
-
Added Stungloves and an axe - right now only admin spawnable.
-
Implemented Persh's adminjump back in - admins can now jump to set locations.
-
Added a feature that if someone logs off their character moves around and says things - Change what they say from the config/names/loggedsay.txt file.
-
Added in adminwho verb - tells the user if there are any admins on and who they are.
-
-
-
Saturday, January 10, 2009
-
-
Freedom implant has been changed so that it will have a random emote associated with it to activate it rather than always chuckle.
-
There is now a pinpointer tool for use in Nuclear Emergency. It works similar to the existing locator, in that it will detect the presence of nuclear disks and in what direction it is.
-
The nuke being detonated in Nuclear Emergency should now properly end the game.
-
Spacesuits now cause you to move slower when not in space.
-
Syndicate in Nuclear Emergency now have syndicate-themed spacesuits.
-
Blob mode should properly end now.
-
-
-
Wednesday, January 7, 2009
-
-
Syndicate Uplink has been changed up, allowing traitor more freedom in his ability to be... traitorus.
-
Syndicate Uplink can now spawn a ammo-357, syndicate card, energy sword, or timer bomb.
-
Fixed an issue where Syndicate Uplink looked different than a normal radio.
-
-
-
Monday, January 5, 2009
-
-
You can choose to be a nudist now.
-
Facial hair!
-
Added constructable flamethrowers.
-
Redid internal naming scheme for human/uniform sprites.
-
Helmet visors are now translucent.
-
Held item graphics corrected for basically everything, internally only uses one dmi file instead of two.
-
Config settings reorganized for.. organization.
-
Seperated male and female names.
-
Females have pink underwear.
-
Guests can no longer save/load profiles, as this just created useless profiles that weren't used again.
- Thanks to: /tg/station, Baystation 12, /vg/station, NTstation, CDK Station devs, FacepunchStation, GoonStation devs, the original SpaceStation developers and Invisty for the title image. Also a thanks to anybody who has contributed.
- Have a bug to report? Visit our Issue Tracker.
- Please ensure that the bug has not already been reported, use the template provided here!.
- Currently Active GitHub contributor list:-Click Here-
-
-
-
-
-
-
-
-
23 December 2021
-
Putnam3145 updated:
-
-
Atmos group processing heuristic no longer does opposite of intent
-
-
-
21 December 2021
-
ShizCalev updated:
-
-
Fixed an issue where you were able to remove flashlights/bayonets that were supposed to be permanently attached to a gun.
-
Fixed an issue where you were unable to remove flashlights & bayonets from certain weapons.
-
Fixed a potential issue where adding a flashlight to your helmet would've caused you to lose other action buttons.
-
Fixed a issue where guns with multiple action buttons would break all but one of those action buttons. tweak: If you have both a bayonet and a flashlight attached to your gun, you'll now be given a prompt on which you'd like to remove when using a screwdriver on it. tweak: Hacking a firing pin out of a gun is no longer done via a crafting menu - you can now do it by simply holding the gun in your hand and clicking it with a welder/screwdriver/wirecutters.
-
-
-
17 December 2021
-
DeltaFire15 updated:
-
-
The time for admins to cancel events is 30 seconds again.
-
-
SandPoot updated:
-
-
Fixes assembly holders.
-
-
-
13 December 2021
-
Putnam3145 updated:
-
-
Per-minute science output fixed
-
-
-
12 December 2021
-
DeltaFire15 updated:
-
-
Linters should no longer complain about afterattack sleeps.
-
-
-
11 December 2021
-
SandPoot updated:
-
-
Borg speech is now centralized even inside lockers or something like that.
-
-
bunny232 updated:
-
-
Cold blooded critters won't worry too much about the air around them being too hot even though their body temperature is the same as it.
-
The warm pool is no longer nearly boiling and the cool pool no longer goes below 0C.
-
-
-
09 December 2021
-
DeltaFire15 updated:
-
-
Linters should no longer scream.
-
-
Linzolle updated:
-
-
it now only snows on festivestation instead of every map
-
rain now triggers properly on spookystation
-
-
TripleShades updated:
-
-
(Pubby) Gives Robotic's Lab Surgery a cautery
-
-
keronshb updated:
-
-
Lets dynamic pick clock cultists midround
-
-
timothyteakettle updated:
-
-
being fat no longer makes you slower when floating
-
-
-
05 December 2021
-
Arturlang updated:
-
-
You can now put in LaTeX equations in TGUI paper if you insert them between two $ dollar signs
-
-
DeltaFire15 updated:
-
-
Fireman carry no longer drops the carried person if passing over a prone individual.
-
-
-
03 December 2021
-
TripleShades updated:
-
-
(Pubby) Holopad to surgery viewing area
-
-
-
02 December 2021
-
DeltaFire15 updated:
-
-
Synthetics gained quasi-immunity to most chemicals, excluding some core medical chems and a few specific disruptive ones.
-
Health analyzer, ChemMaster and chemical analyzer interactions with the chemical processing flag system.
-
System Cleaner should now always update health as opposed to before.
-
system cleaner is now twice as effective.
-
-
-
01 December 2021
-
DeltaFire15 updated:
-
-
Pellets now care about block woundwise
-
Pellet wound-bonus no longer stacks for the final calculation
-
Embeds no longer bypass full blocking.
-
Shields now work properly against unarmed / mob attacks.
-
-
-
28 November 2021
-
SandPoot updated:
-
-
Legless sprite for it
-
-
TripleShades updated:
-
-
(Meta) Adds meters to the refill/scrubber station outside Engineering
-
(Meta) Adds a small light fixture to southeast solar access
-
(Meta) Places an intercom to southeast solar access
-
(Meta) Gives a cautery to Robotics
-
(Meta) Camera to Incinerator
-
(Meta) Linen bin to dorms
-
(Box) Camera to Incinerator
-
(Box) Painting mounts to Library
-
(Pubby) Painting mounts to Library
-
(Meta) Removes the example tanks from the Atmospherics gas chambers tweak: (Box) Moves the Bar camera from out behind the soda dispenser tweak: (Box) Gives dorm room 6 a double bed to start tweak: (Pubby) Moves linen bin in washroom to a table tweak: (Delta) Moves the plant in Medbay's Storage to not be in front of a vendor tweak: (Delta) Moves the gas miners and labels inside the Atmoshperics gas chambers to the centers
-
(Box) Made the upper Execution Chamber airlock unable to be used by the AI
-
(Box) Moves prison cell 4 and 6's shutter button to the wall
-
-
keronshb updated:
-
-
FestiveMap
-
Specific Truck and Ambulance vector cars
-
Radials for those cars
-
-
-
25 November 2021
-
Arturlang updated:
-
-
Buldmode mapgen save tool
-
-
SandPoot updated:
-
-
Double Bed Type. Miners can also make Double Pod Beds to really feel like an Alaskan King.
-
Bedsheets to match! Try to share those big blankets with a lizard if you see that they're shivering!
-
Stuff that lets you interact with the benches and beds in-game, so that you too can enjoy being a king.
-
Ports the Double Bed sprites from Skyrat.
-
Dealt with some weirdness when buckling to beds.
-
-
-
24 November 2021
-
timothyteakettle updated:
-
-
oil drum now recognises synthetic anthormorphs as synths
-
-
-
23 November 2021
-
TripleShades updated:
-
-
(Pubby) Paramedic Office tweak: (Pubby) Moved Medbay delivery to the south hall entrance
-
(Pubby) Morgue wall being labeled as Bar
-
-
-
21 November 2021
-
DeltaFire15 updated:
-
-
Power cord implants can now also be connected to cells to recharge.
-
Synthetics can no longer bite power cells.
-
-
LetterN updated:
-
-
Search option on the cwc slab
-
-
MrJWhit updated:
-
-
Reduces the HP from loot piles to 100, from 300.
-
-
TripleShades updated:
-
-
(Pubby) Loot piles to maint halls remove: (Pubby) CMO's sex dungeon tweak: (Pubby) Surgery layout is now more open
-
-
keronshb updated:
-
-
Adds Cogscarab spell tweak: Cogscarabs gib now because I have no idea how to fix the issue of dead pogscarabs eating up the limit.
-
-
-
20 November 2021
-
SandPoot updated:
-
-
Acid will disappear when not existant.
-
Updates component Destroy code, might result in less component related runtimes.
-
-
-
19 November 2021
-
shellspeed1 updated:
-
-
An experimental smart dart repeater rifle has been added by NT. It accepts both a large and small hypovials and uses it to fill the smart darts it synthesizes. It can hold 6 smart darts and makes a new one every 20 seconds. To research it, grab the medical weaponry node. tweak: Reagent gun renamed to reagent repeater
-
reagent repeater now holds 6 syringes.
-
Reagent repeater and smart dart repeater rifle start with 4 syringes instead of a full clip.
-
reagent repeater synthesizes a new syringe every 20 seconds. tweak: smart dart guns now use the syringe gun as an inhands sprite.
-
-
-
18 November 2021
-
DeltaFire15 updated:
-
-
Devastation level explosions no longer delete your organs after gibbing you.
-
Adjusted all overrides of ex_act() and contents_explosion() to take account of current args for them.
-
Reebe can now be loaded via a proc. tweak: The clockwork relay in reebe is now indestructible and not deconstrutible to avoid some issues.
-
-
Putnam3145 updated:
-
-
Regal rat can no longer keep spawning stuff while dead
-
-
SandPoot updated:
-
-
When your statpanel doesn't load, you'll get a message with a button to fix it.
-
The fix chat message button now works.
-
-
keronshb updated:
-
-
Ball
-
Spookystation Map
-
Tree chopping/Grass cutting
-
Vectorcars
-
-
-
16 November 2021
-
Putnam3145 updated:
-
-
Lavaland can no longer go below 281 kelvins
-
-
TripleShades updated:
-
-
(Pubby) Engineering security checkpoint no longer has a duplicate records console
-
-
-
14 November 2021
-
TripleShades updated:
-
-
(Pubby) Surgery table to Brig Medical
-
(Pubby) Dirt decals added to Command maint
-
(Pubby) Decals and gavel block to Courtroom
-
(Pubby) Training bomb to Birg
-
(Pubby) Chapel stripper pole room
-
(Pubby) Command maint storage shed room tweak: (Pubby) Makes Arrivals atmos room into a main atmos grid room akin to what Meta has
-
(Pubby) Gulag shuttle spawning in a tile off from the airlocks
-
(Pubby) Air Injector in Medical maints having no power
-
(Pubby) Incorrect area on one side at AI Sat where the turrets are
-
(Pubby) Arrivals atmos is now linked to the main atmos grid
-
(Pubby) Medbay front airlocks access
-
-
keronshb updated:
-
-
Admins get messaged if dynamic midrounds fail to hijack
-
-
-
13 November 2021
-
Putnam3145 updated:
-
-
Chonker cubans pete now no longer have a reasonable chance to be unbeatable
-
-
-
11 November 2021
-
DrPainis updated:
-
-
The universe has realized that not every species uses hemoglobin again.
-
-
Putnam3145 updated:
-
-
"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM" is short for
-
-
-
10 November 2021
-
Ethan4303 updated:
-
-
Added two wire nodes under the engineering PA room Apc and under the HOS office APC
-
Added cables to connect the second floor relay to the power grid
-
Removed the generic broken computer from Hos Office
-
Fixed Hos office not having the Security records console
-
-
Putnam3145 updated:
-
-
Power alerts now work
-
No longer have too much O2 from too much CO2
-
-
SandPoot updated:
-
-
Crayon precision mode.
-
-
-
08 November 2021
-
timothyteakettle updated:
-
-
fixes party pod sprite
-
fixes red panda head marking
-
-
-
06 November 2021
-
Putnam3145 updated:
-
-
Ashwalkers should no longer suffocate on lavaland (and hypothetical other future problems)
-
A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma, for ashwalkers)
-
-
-
05 November 2021
-
keronshb updated:
-
-
removes required enemies
-
Lowers assassination threat threshold
-
-
-
31 October 2021
-
DeltaFire15 updated:
-
-
You can now drag things over prone people again.
-
-
DrPainis updated:
-
-
Walking no longer makes you fat.
-
-
keronshb updated:
-
-
Christmas trees are now indestructible
-
-
-
30 October 2021
-
keronshb updated:
-
-
Jacq can't burn in the cremator anymore
-
Jacq also can't be cheesed off station
-
Barth also cannot be destroyed
-
-
-
28 October 2021
-
Hatterhat updated:
-
-
Proto-kinetic gauntlets! Less straight damage, extra damage on backstabs, slows Lavaland fauna on counterhit. tweak: The glaive kit has been renamed to the premium kinetic melee kit, and now has a voucher for either a glaive or gauntlets.
-
NanoTrasen is rolling out a prototype Autoloom, hidden behind Botanical Engineering. It only processes cotton and logs. Despite its visual similarity to the recycler, it is entirely tamperproof.
-
-
Linzolle updated:
-
-
plasmamen now spawn in their proper outfit in the ghostcafe
-
-
Putnam3145 updated:
-
-
Removed minesweeper
-
-
keronshb updated:
-
-
-40 wound bonus for DSword
-
-20 Wound bonus for Hyper Eu
-
Fixes hyper eu's slowdown when it's not wielded
-
-
-
26 October 2021
-
WanderingFox95 updated:
-
-
bone anvils and bone ingots
-
bone anvil sprites
-
-
-
25 October 2021
-
Putnam3145 updated:
-
-
Vent pumps can now be set to siphoning via the air alarm UI
-
-
keronshb updated:
-
-
10k pirate spending money
-
-
-
-GoonStation 13 Development Team
-
- Coders: Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion
- Spriters: Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No
-
-
-
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
deleted file mode 100644
index 333a33d394..0000000000
--- a/html/changelogs/.all_changelog.yml
+++ /dev/null
@@ -1,30422 +0,0 @@
-DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
----
-2015-04-04:
- ACCount:
- - rscadd: Emergency welding tool added to emergency toolbox.
- - rscadd: Changed industrial welding tool sprite.
- - tweak: Replaced welder in syndicate toolbox with industrial one.
- - tweak: All tools in syndicate toolbox are red. Corporate style!
- - tweak: Red crowbar is a bit more robust.
- - bugfix: 'Fixed two bugs: welder icon disappearing and drone toolbox spawning with
- invisible cable coil.'
- AnturK:
- - rscadd: 'Picket signs: table crafted with a rod and two cardboard sheets, write
- on them with pen or crayon.'
- Cheridan:
- - wip: The bar's layout has been changed with a poker table and re-arranged seating.
- Dannno:
- - rscadd: Added gun lockers for shotguns and energy guns. Click on the lockers with
- an item to close them if they're full.
- Gun Hog:
- - rscadd: Nanotrasen research has finalized improvements for the experimental Reactive
- Teleport Armor. The armor is now made of a thinner, lightweight material which
- will not hinder movement. In addition, the armor shows an increase in responsiveness,
- activating in at least 50% of tests.
- Incoming:
- - rscadd: The iconic blood-red hardsuits of nuke ops can now be purchased for a
- moderate sum of 8 TC by traitors.
- Jordie0608:
- - tweak: Cyborg mining drills now use up their internal battery before drawing power
- from a borg's cell.
- - bugfix: Fixes cyborg mining drills not recharging.
- RemieRichards:
- - rscadd: Burning mobs will ignite others they bump into or when they are stepped
- on.
- Xhuis:
- - tweak: Malfunctioning AIs can no longer leave the station z-level. Upon doing
- this, they will fail the round.
- - tweak: Phazon exosuits now require an anomaly core as the final step in their
- construction.
- xxalpha:
- - rscadd: Added Nutriment Pump, Nutriment Pump Plus and Reviver implants.
- - tweak: Added origin technologies to all implants.
- - tweak: 'The following implants are now much harder to obtain: X-ray, Thermals,
- Anti-Stun, Nutriment Pump Plus, Reviver.'
- - tweak: Cauterizing a surgery wound will now heal some of the damage done by the
- bonesaw if it was used as part of the same surgery.
- - tweak: Added ability for Medical HUDs to detect cybernetic implants in humans.
-2015-04-09:
- Iamgoofball:
- - rscadd: Quite a lot of cleanables can now be scooped up with a beaker in order
- to acquire the contents.
- - rscadd: Light a piece of paper on fire with a lighter, and scoop up the ashes!
- - rscadd: Scoop up the flour the clown sprayed everywhere as a 'joke'!
- - rscadd: Scoop up the oil left behind by exploding robots for re-usage in chemistry!
- - rscadd: You can splash the contents of a beaker onto the floor to create a Chemical
- Pile! This pile can be heated or blown up and have the reagents take the effects.
- Make a string of black powder around a department in maint. and then heat it
- with a welder today!
- - rscadd: Reagents now can have processing effects when just sitting in a beaker.
- - rscadd: Pyrosium and Cryostylane now feed off of oxygen and heat/cool the beaker
- without having to be inside of a person!
- - rscadd: Reagents can now respond to explosions!
- - rscadd: Black Powder now instantly detonates if there is an explosion that effects
- it.
- - rscadd: Fire now heats up beakers and their contents!
- - rscadd: Activate some smoke powder in style by lighting the beaker on fire with
- a burning hot plasma fire!
- RemieRichards:
- - tweak: Ninja stars are summoned to your hand to be thrown rather than automatically
- targetting nearby mobs.
- - rscadd: 'Added Sword Recall: pulls your katana towards you, hitting mobs in the
- way. Free if within sight, cost scales with distance otherwise.'
- - rscadd: Enemies can be electrocuted by a ninja as the cost of his energy, stunning
- and injuring them.
- - rscdel: Removed SpiderOS, functions moved to status panel.
- - bugfix: Fixed energy nets not anchoring target, katana emag spam and sound delay.
- optimumtact:
- - bugfix: Mimes can't use megaphone without breaking their vow anymore.
- phil235:
- - tweak: Flying animals no longer triggers mouse traps, bear traps or mines.
-2015-04-11:
- Gun Hog:
- - tweak: Nanotrasen has approved an access upgrade for Cargo Technicians! They are
- now authorized to release minerals from the ore redemption machine, to allow
- proper inventory management and shipping.
- Iamgoofball:
- - tweak: Blobbernauts no longer deal chemical damage, brute damage increased however.
- Ikarrus:
- - experiment: Getting converted by a rev or cultist will stun you for a few seconds.
- Incoming5643:
- - bugfix: Fixes some AI malf powers being usable when dead.
- MrPerson:
- - tweak: Reduces movement speed penalty from being cold.
- Xhuis:
- - rscadd: Adds a pizza bomb traitor item for 4 telecrystals. It's a bomb, diguised
- as a pizza box. You can also attempt to defuse it by using wirecutters.
- kingofkosmos:
- - rscadd: Activating internals with an adjusted breath mask will automatically push
- it up to normal state.
- - tweak: Masks can now be adjusted when buckled to a chair.
- optimumtact:
- - tweak: Stun batons no longer lose charge over time when on.
- phil235:
- - tweak: The AI holopads now use a popup window just like computers and other machines.
- - rscdel: Nerfs kinetic accelerator and plasma cutters. Plasma cutter is no longer
- in the mining vendor. Reduces the drilling cost of all drills.
- - rscadd: Adding 40+ new food and drink recipes, mostly using the newest plants.
- Notably rice recipes, burritos, nachos, salads, pizzas.
- - tweak: Opening the tablecrafting window can now also be done by dragging the mouse
- from any food (that's on a table) onto you.
- - rscadd: The kitchen cabinet starts with one rice pack.
- - tweak: Glasses with unknown reagent will no longer be always brown but will take
- the color of their reagents.
-2015-04-13:
- AnturK:
- - rscadd: 'Spacemen have learned the basics of martial arts: Boxing, unleash it''s
- power by wearing Boxing Gloves.'
- - rscadd: While boxing you can't grab or disarm, but you hit harder with a knockout
- chance that scales off stamina damage above 50.
- - rscadd: Rumors have been heard of powerful martial styles avaliable only to the
- gods themselves.
- CosmicScientist:
- - rscadd: Added a dehydrated space carp to traitor items, bought with telecrystals.
- Use dehydrated space carp in hand to school them on loyalty. Add water to create
- a vicious murder machine just for the halibut.
- - tweak: The toy carp plushie now has attack verbs for fun, hit your friend with
- one today. I put my sole into this mod.
- - wip: If you can think of a better fish pun let minnow but I shouldn't leave it
- to salmon else.
- Ikarrus:
- - tweak: Gang bosses can no longer purchase certain potent traitor items but instead
- have access to some of a nuke op's arsenal of weapons.
- Incoming5643:
- - rscadd: 'Three new chemical types of blob can occur: Omnizine, Morphine and Space
- Drugs.'
- MrPerson:
- - experiment: New lighting system! Lighting now smoothly transfers from one lighting
- level to the next.
- Xhuis:
- - rscadd: There have been... odd sighting in Space Station 13's sector. Alien organisms
- have appeared on stations 57, 23, and outlying.
- - rscadd: Nanotrasen personnel have reason to believe that Space Station 13 is under
- attack by shadowlings. We have little intel on these creatures, but be on the
- lookout for odd behavior and dark areas. Use plenty of lights.
- Zelacks:
- - tweak: Defibs no longer have a minimum damage requirement for a successful revive.
- Patients will have 150 total damage on a successful revive.
- - tweak: Additional feedback is given for several failure states of the defib.
- xxalpha:
- - wip: Airlock crushing damage increased.
-2015-04-16:
- AnturK:
- - rscadd: Nanotrasen authorities are reporting sightings of unidentified space craft
- near space station 13. Report any strange sightings or mental breakdowns to
- central command.
- - rscadd: 'PS : Abductions are not covered by health insurance.'
- - rscadd: Shadowlings and their thralls now have HUD icons.
- - rscadd: Thralls learn their master's objectives when enthralled.
- - rscadd: Regenerate Chitin ability lets shadowlings re-equip their armor if lost.
- - tweak: Loyalty implanted people take 25% longer to enthrall, but lose their implant
- and become immune to re-implanting.
- - experiment: Shadowlings now have a message in their spawning text which specifies
- that cooperation is mandatory.
- - bugfix: Veil now works on equipped lights.
- - bugfix: Shadowlings now take correct amount of burn damage and in light and heal
- clone and brain damage in darkness.
- - bugfix: Fixes 'Round end code broke' displaying every round.
- - bugfix: Shadowlings who ascend will nore greentext properly.
- Gun Hog:
- - rscadd: Thinktronic Systems, LTD. has increased the Value of the Value-PAK PDA
- cartridge! Standard issue for Captain PDAs, it can now access security bots,
- medibots, cleanbots, and floorbots ALL AT ONCE! In addition, it can also connect
- to your station's Newscaster network at NO EXTRA CHARGE! As a Thank you for
- our contract with them, they have thrown in Newscaster access for the HumanResources9001
- cartridge, Heads of Personnel rejoice!
- - tweak: The Newscaster app has also gotten a free upgrade which allows it to display
- images and comments inside of posts!
- - bugfix: Nanotrasen has concurrently released a patch for bots which will allow
- off-station bots to properly patrol.
- Incoming5643:
- - rscadd: Changeling head slugs have been given player control, ventcrawling, and
- a short escape period after egg laying.
- MrStonedOne:
- - rscadd: Admin ghosts can now drag ghosts to mobs to put that ghost in control
- of that mob.
- Xhuis:
- - rscadd: Nanotrasen scientists have recently observed a strange genome shift in
- green slimes. Experiments have shown that injection of radium into an active
- green slime extract will create a very unstable mutation toxin. Use with caution.
-2015-04-19:
- AnturK:
- - bugfix: Observers can now see abductor hivemind messages.
- - rscadd: 'Adds advanced baton for abductors: Stun, Sleep and Cuff in one tool.'
- - rscadd: Abductor agents now have vest cameras.
- - imageadd: New sprites for abductors and their gear made by Ausops.
- Fayrik:
- - rscadd: Added jobban options for Abductors and Deathsquads.
- - tweak: Made admin antag spawning buttons more efficient and less prone to failure.
- Xhuis:
- - rscadd: Recent sightings aboard space stations shows that spirits seem to be manifesting
- as malevolent revenants and draining the life of crew. The chaplain may be helpful
- in stopping this new threat.
- kingofkosmos:
- - wip: Girder and machine frame construction protocols has been changed. They can
- now be secured/unsecured with a wrench and disassembled with a welder.
-2015-04-20:
- Fayrik:
- - rscadd: Abductors now get advanced camera consoles.
- - tweak: Redesigned Centcom again. There's a bar at the thunderdome now.
- - rscadd: Headsets can now be locked to a spesific frequency, this only occurs for
- nuke ops and deathsquads.
- - rscadd: The Centcom channel is now available over all z-levels, regardless of
- telecomms status.
- - tweak: The Deathsquad space suits have been upgraded to hardsuits.
- - rscadd: The Deathsquad now have thermal imaging huds, which can swap which hud
- they display on the fly.
- phil235:
- - tweak: Reagents are now back to being metabolized every tick. Fixes frost oil
- and capsaicin not working.
- - tweak: Fixes not being able to make sterilizine.
- - rscadd: Adding overdose to space drug, causing mild hallucination and toxin and
- brain damage.
- - tweak: Nerfed healing power of stimulant reagent. Buffed ephedrine a bit.
- - rscadd: Nitroglycerin can now be stabilized with stabilizing agent, and explodes
- when heated.
-2015-04-21:
- Ikarrus:
- - wip: Gang mode has had some considerable work done on it, including a new objective
- and currency dynamic.
- - rscadd: New objective: Claim half the station as territory by tagging it
- with spray cans supplied to gang bosses, but usable by any member.
- - wip: An area can only be tagged by one gang at a time, remove your opponent's
- tag or spray over it.
- - rscadd: New recruitment: Recruiment pens replace flashes, stab people to
- recruit them.
- - experiment: Recruitment is silent, but causes brief seizures and has a cooldown
- that scales upwards with a gang's size.
- - rscadd: New tool: The Gangtool is used by bosses and lieutenants to recall
- the shuttle and purchase supplies.
- - rscadd: Pistols, ammo, spraycans, recruitment pens and additional gangtools can
- all be bought.
- - tweak: Gangtools also alert the user of promotions, purchases and territory changes
- within the gang.
- - rscadd: Lieutenants are promoted from gang members when given their own gangtool;
- they're immune to deconversion and able to do anything a boss can except promotion.
- - rscadd: New currency: Influence is used to purchase with the gangtool and
- is generated every 5 minutes by each territory owned by the gang.
- - tweak: Thermite can be cleaned off walls now.
-2015-04-22:
- Incoming5643:
- - rscadd: 'Adds a new fun button for admins: ''Set Round End Sound''. You can use
- the set round end sound button to set the round end sound. Glad we cleared that
- up!'
- Miauw62:
- - wip: Very slightly expanded atmos and added an external airlock.
- Xhuis:
- - bugfix: A few issues have been fixed for revenants. In addition, the Mind Blast/Mind
- Spike sound effect has been removed.
- - rscadd: Adds the Hypnotize ability to revenants. It will cause a target to fall
- asleep after a short time.
- xxalpha:
- - rscadd: Added an Exosuit Mining Scanner to the robotics fabricator.
- - tweak: Buffed Ripley's movement and drilling speed in low pressure environments.
-2015-04-25:
- Boggart:
- - rscadd: Generalizes handheld instrument code and Ports Nienhaus's guitar, sounds
- by BartNixon of Tau Ceti.
- - rscadd: Fixes being unable to build disposal pipes on walls, makes changing the
- RPD's settings not affect pipes that are currently building, makes the RPD use
- the datum/browser ui, makes it use categories and makes it show the selected
- mode.
- Gun Hog:
- - rscadd: Nanotrasen has provided designs for fabrication of APC power control modules.
- You may print them at any autolathe.
- Ikarrus:
- - rscadd: Gangs can now purchase switchblades, a relatively cheap and decently robust
- melee weapon.
- - tweak: Gangs now require at least 66% control of the station to win.
- - tweak: Gang spraycan uses reduced to 15.
- - tweak: Pistol cost increased to 30 Influence
- - tweak: Promotions now start off cheap at 20 influence but get more expensive the
- more people you promote.
- Xhuis:
- - rscadd: Added a Create Antagonist button for revenants.
- - rscdel: Removed Mind Blast.
- - bugfix: Revenants no longer get killed by explosions.
- - tweak: Mind spike cooldown increased to 4 seconds.
- - tweak: Harvest now takes 8 seconds and requires you to be adjacent to the target.
- - tweak: Hypnotise sleeps targets for longer.
- - tweak: Revenant now starts with 3 strikes.
- phil235:
- - tweak: Telecom machines are now deconstructed the same way as all other constructable
- machines.
- - tweak: You can no longer overdose on nicotine but you can get addicted (very mild
- effects).
-2015-04-29:
- AndroidSFV:
- - tweak: Dehydrated carp now are friendly to both the imprinter of the plushie as
- well as any coded-in allies (I.E. Nuke Ops team), and unfriendly to carp of
- other origin othan than yourself or your coded-in allies. Dehydrated carp that
- are not imprinted will still have the same behavior as regular carp.
- AnturK:
- - rscadd: Advanced cameras now have all functionality of the abductor consoles.
- - tweak: Pinpoint teleportation takes 8 seconds and spawns a flashy silhouette at
- the target location. Can be used as distraction since it appears even if teleporter
- is empty.
- - bugfix: Abductors are now immune to viruses.
- - bugfix: Dissection surgery ignores clothes.
- - bugfix: Non-abductors can escape the ship by fiddling with consoles enough.
- - rscadd: Three new negative glands.
- - rscadd: Bloody glands spray blood everywhere and injure the host.
- - rscadd: Bodysnatch glands turn the host into a cocoon that hatches doppelgangers.
- - rscadd: Plasma glands cause the host to explode into a cloud of plasma.
- GoonOnMoon:
- - rscadd: Added a new assault rifle to the game for use by Nanotrasen fighting forces
- in special events. Also happens to be available in the Liberation Station vending
- machine and the summon guns spell usable by the wizard and badminnery.
- Iamgoofball:
- - rscdel: Acid blob has been removed.
- - tweak: Charcoal and Silver Sulf are more powerful now.
- - tweak: Styptic power and Silver Sulf metabolize at the default rate.
- Ikarrus:
- - rscadd: Spraycans and crayons can now draw Poseur Tags, aka Fake Gang Tags, as
- grafiti.
- - tweak: Influence income changed to provide weaker gangs a bigger boost, while
- slowing down stronger gangs to promote opportunity for comebacks.
- - tweak: Gangs only earn influence on territories they have held on to since the
- previous Status Report (the income calculation every 5 minutes). This places
- more significance on defending your existing territory.
- - bugfix: You must be in the territory physically to tag it now. So no more tagging
- everything from maint.
- - tweak: Gang income delay reduced to 3 minutes intervals.
- - tweak: Gang Capture goal reduced to 50%
- - tweak: Gang spraycan use increased to 20
- - tweak: Gang Boss icon is now a red [G] icon to make it stand out better from regular
- gang icons
- JJRcop:
- - tweak: TED's kill duration has been halved.
- - tweak: Escaping from the TED's field no longer kills you.
- RemieRichards:
- - rscadd: Adds Easels and canvases for custom drawings.
- - imageadd: Place a canvas on an easel and draw on it with crayons, clean one pixel
- with a rag or soap and activate it in-hand to erase the whole canvas.
- - rscadd: Ports VG's Ventcrawling overhaul!
- - tweak: Crawling through vents is no longer instant, you now have to move and navigate
- manually
- - rscadd: While inside pipes and other atmos machinery, you now see pipe vision
- phil235:
- - bugfix: Podplants are no longer unharvestable.
- - tweak: Choosing your clown, mime, cyborg and AI name as well as religion and deity
- is now done in the preferences window. As a chaplain , your bible's icon is
- now chosen by clicking the bible.
-2015-04-30:
- Fayrik:
- - rscadd: Ported NanoUI to most atmospherics equipment.
- TheVekter:
- - tweak: Hooch is now made with 2 parts Ethanol, 1 part Welder fuel and 1 part Universal
- Enzyme as a catalyst.
- - tweak: No-slip shoes are paintable, painting them doesn't remove no-slip properties.
-2015-05-01:
- Ikarrus:
- - rscadd: Gang bosses can now rally their gang to their location with their gangtool.
- - rscadd: Gangtools can no longer recall the shuttle if station integrity is lower
- than 70%
- - rscdel: Removed requirement to be in the territory to tag it.
- - tweak: Recruitment Pen cost reduced to 40.
- - bugfix: Communications console should now accurately print the (lack of a) location
- of the last shuttle call.
- Xhuis:
- - rscdel: Revenants will no longer spawn without admin intervention. They are pending
- a remake.
-2015-05-02:
- Boggart:
- - bugfix: Cryo tubes can no longer be used for ventcrawling.
- Ikarrus:
- - rscadd: Admins can choose the strength and size of Centcom teams to send, ranging
- from officials to deathsquads, with the 'Make Centcom Respone Team' button.
- phil235:
- - tweak: Space carps can no longer knock down anyone, but they now deal additional
- stamina damage to humans.
- - tweak: Radiation effects from uranium walls are nerfed to the level of uranium
- floor.
- - rscadd: You can no longer put an inactive MMI in a cyborg shell. Ghosted brains
- now get an alert when someone puts their brain in a MMI. You can now examine
- the MMI to see if its brain is active.
-2015-05-03:
- AnturK:
- - rscadd: Abductors can purchase spare gear with experimentation points.
- Ikarrus:
- - rscadd: Admins can now adjust the pre-game delay time.
- MrStonedOne:
- - experiment: MasterController and subsystem rejiggering!
- - rscadd: The MC can now dynamcially change the rate a subsystem is triggered based
- on how laggy it's being. This has been applied to atmos to allow for faster
- air processing without lagging the server
- - tweak: Pipes and atmos machinery now processes in tune with air, rather than seperately.
- - bugfix: Fixed hotspots and fire causing more lag than they needed to
- - bugfix: Fixed some objects not getting garbage collected because they didn't properly
- clear references in Destory()
- - tweak: The qdel subsystem will now limit its processing time to a 5th of a second
- each tick to prevent lag when a lot of deletes happen
- - bugfix: Fixed the ticker not showing a tip of the round if an admin forces the
- round to start immediately
-2015-05-04:
- Firecage:
- - bugfix: Emagged windoors can now be deconstructed.
- RemieRichards:
- - rscadd: Adds Plasmamen, a species that breathes plasma and bursts into flames
- if they don't wear special suits.
- - imageadd: New burning icon for all humanoid mobs.
- - imageadd: New sprite for Skeletons to match Plasmamen.
- oranges:
- - tweak: Thanks to recent advances in fork science, you no longer need to aim at
- your eyes to eat the food off a fork
- xxalpha:
- - rscadd: 'Adds a new barsign: ''The Net''.'
-2015-05-05:
- Firecage:
- - bugfix: Golems and skeletons no longer fall over when stepping on shards.
- Gun Hog:
- - bugfix: Mining borg diamond drill upgrade now functional.
- Ikarrus:
- - tweak: Doubled the initial charge of SMESs in Engineering.
- - tweak: Influence cap for gangs has been increased.
- incoming5643:
- - bugfix: All modes now select their antagonists before job selection, this means
- that a player who prefers roles normally immune to being certain antagonists
- (implanted roles/silicons) can still have a fair shot at every antagonist roll
- they opt into. If they're selected they simply will not end up with an incompatible
- job.
- - bugfix: As an example if someone loved to play Head of Security (humor me here)
- and had it set to high, and the only other jobs he had set were security officer
- at medium and botanist at low but he was selected to be a traitor, he would
- spawn as a botanist even if there ended up being no Head of Security.
- - experiment: Please give playing security another chance if you'd written it off
- because it affected your antag chances.
- xxalpha:
- - bugfix: Hulks can now break windoors.
- - bugfix: Fixed smoking pipe messages. Fixed emptying a smoking pipe with nothing
- in it.
-2015-05-06:
- Jordie0608:
- - bugfix: Borgs can now open lockers with the 'Toggle Open' verb.
- Thunder12345:
- - bugfix: Severed the cryo tube's connection to the spirit world. Ghosts will no
- longer be able to eject people from cryo. Please report further instances of
- poltergeist activity to your local exorcist.
- Xhuis:
- - tweak: Many minor technical changes have been made to cult.
- - rscadd: Cultist communications now show the name of the person using them. Emergency
- communications do not do this.
- - rscadd: Emergency communication does less damage.
- xxalpha:
- - rscadd: Engineering cyborgs can now pick their cable coil color whenever they
- want.
-2015-05-07:
- Xhuis:
- - rscadd: Emagged defibrillators will now do burn damage and stop the patient's
- heart if used in harm intent.
- - tweak: The previous stunning functionality of the emagged defibrillator has been
- moved to disarm intent.
- phil235:
- - tweak: Temperature effects from frost oil and capsaicin reagents and basilisk
- have been buffed to be significant again.
- xxalpha:
- - tweak: Hulks can now break windoors.
-2015-05-08:
- Firecage:
- - tweak: Mobs can now be buckled to operating tables.
- Gun Hog:
- - rscadd: 'Top scientists at Nanotrasen have made strong progress in Artificial
- Intelligence technology, and have completed a design for replicating a human
- mind: Positronic Brains. Prototypes produced on your research station should
- be compatible with all Man-Machine Interface compliant machines, be it Mechs,
- AIs, and even Cyborg bodies. Please note that Cyborgs created from artificial
- brains are called Androids.'
- - tweak: The pAI role preference and related jobbans have been renamed to properly
- reflect that they are not soley for pAI, but include drones and positroinc prains.
- astralenigma:
- - tweak: Cargo packages are now delivered with their manifests taped to the outside.
- Click on them with an open hand to remove them.
- optimumtact:
- - tweak: Machine frame and girder deconstruction now uses a screwdriver instead
- of welding tool.
-2015-05-09:
- Firecage:
- - tweak: Increased the manifestation chance of super powers.
- Ikarrus:
- - experiment: 'Loyalty implants will no longer survive deconverting a gangster.
- Security now needs to use two of them if they want the permanent effects: The
- first to deconvert them, and the second to make them loyal.'
- KorPhaeron:
- - tweak: Slime mutation chance now starts at 30%.
- - rscadd: Baby slimes have a -5% to 5% difference of their parent's mutation chance,
- allowing you to breed slimes that are more likely to mutate.
- - rscdel: Plasma and epinephrine no longer affect mutation chance of slimes.
- - rscadd: Red slime extract and plasma makes a potion that can increase mutation
- chance, Blue slime extract and plasma potions will decrease it.
-2015-05-10:
- AnturK:
- - bugfix: Fixed borg's cells draining much faster than they're meant to.
- Gun Hog:
- - tweak: Station bot performance greatly increased.
- - rscadd: Captain PDA cartridge now includes nearly all utilities and functions,
- including signaller and all bots! HoP now has janitor and quartermaster functions!
- The RD and Roboticists now have access to Floor, Clean, and Medibots!
- - tweak: Bot access on PDA is now one button across all PDAs. You will only see
- what bots you can access, however.
- - rscadd: Cartridges that include a signaller have been improved so they will work
- on a larger frequency range.
- - tweak: All bots now have Robotics access, so they may be set to patrol and released
- once constructed.
- - tweak: Roboticists now have access to bot navigation beacons. They are found under
- the floor tiles as patrol route nodes.
-2015-05-11:
- Firecage:
- - imageadd: New icons for Industrial and Experimental welding tools.
- Gun Hog:
- - rscdel: The power mechanic for mining drills and the jackhammer has been removed.
- They no longer require cells or recharging.
- - bugfix: The diamond drill upgrade for mining cyborgs has been fixed.
- Xhuis:
- - rscadd: Adds the pneumatic cannon, attach an air tank and shoot anything out of
- it.
- - rscadd: Improvised pneumatic cannons can be tablecrafted with a wrench, 4 metal,
- 2 pipes, a pipe manifold, a pipe valve and 8 package wrappers.
- spasticVerbalizer:
- - bugfix: False walls no longer stackable.
-2015-05-13:
- Firecage:
- - rscadd: Kudzu is now admin-logged in Investigate.
- GunHog:
- - tweak: Positronic brains are now entered by clicking on an empty one, in the same
- manner as drones.
- - rscadd: Ghosts are alerted when a new posibrain is made.
- Jordie0608:
- - rscadd: Borg reagent containers (beakers, spraybottles, shakers etc.) are no longer
- emptied when stowed.
- - bugfix: Fixes North and West Mining Outposts having empty SMESs.
- - bugfix: Aliens and slimes can smash metal foam again.
- - rscdel: Deconstructing reinforced walls no longer creates additional rods out
- of nowhere.
- - imageadd: Pepperspray now has inhand sprites.
- Xhuis:
- - bugfix: Fixes the recipe for pneumatic cannons; it now only requires a wrench,
- 4 metal, 2 pipes and 8 package wrappers .
-2015-05-15:
- xxalpha:
- - bugfix: Fixed emitter beams not being reflectable.
-2015-05-16:
- MartiUK:
- - bugfix: Fixed a typo when cleaning a Microwave.
- - bugfix: Fixed a typo when burning someone with a lighter.
-2015-05-20:
- xxalpha:
- - rscadd: Added three drone shells to the derelict.
-2015-05-22:
- Jordie0608:
- - tweak: Smothering someone with a damp rag when in harm intent will apply reagents
- onto them, for acid-burning their face; otherwise it will inject them, for drugging
- with chloral hydrate.
- - imageadd: The healthdoll is now blue when at full health to make it more clear
- when a body part is injured.
-2015-05-25:
- spasticVerbalizer:
- - tweak: Glass airlocks can now be made heat-proof by using a sheet of reinforced
- glass to create the window, regular glass creates a normal glass airlock.
- xxalpha:
- - bugfix: You can no longer drop items inside mechas nor machinery (this includes
- gas pipes, disposal pipes, cryopods, sleepers, etc.).
- - bugfix: Fixed exploit of changelings being able to keep thermal vision after resetting
- their powers.
- - bugfix: Fixed being able to implant NODROP items with cavity implant surgery.
-2015-05-26:
- CosmicScientist:
- - spellcheck: Corrected wording for the pAI, donksoft riot darts and some tip of
- the round tips.
- xxalpha:
- - bugfix: Fixed changeling revival.
-2015-05-30:
- duncathan:
- - bugfix: Fixes passive gates not auto-coloring.
- spasticVerbalizer:
- - tweak: Players trying to speak but unable to will now get a message.
-2015-05-31:
- duncathan:
- - tweak: Clarified the ability to retract changeling armblades.
-2015-06-04:
- Cuboos:
- - rscadd: Added casting and firing sounds for wizard spells and staves.
- - rscadd: A new title theme has been added.
- Gun Hog:
- - rscadd: Nanotrasen has approved the designs for destination taggers and hand labelers
- in the autolathe.
- Palpatine213:
- - tweak: Allows sechuds to have their id locks removed via emag as well as EMP
-2015-06-05:
- CandyClown:
- - tweak: Ointments, bruise packs, and gauze are now stacked to 6 instead of 5.
- CorruptComputer:
- - bugfix: Security lockers no longer spawn in front of each other on Box.
- - bugfix: Hooked up the scrubbers in QM's office on Box.
- - bugfix: Fixed bar disposals on Box
- - bugfix: Fixed the stacked heater+freezer in expirementor maint on Box
- - tweak: Made the turbine into Atmos and Engineering access only, and renamed the
- doors to Turbine on Box.
- Ikarrus:
- - rscadd: Gang Bosses will now be able to discreetly send messages to everyone in
- their gang for 5 influence a message.
- - tweak: Conversion pens now use a flat 60sec cooldown rate.
- KorPhaeron:
- - rscadd: You can now lay tiles on the asteroid. Go nuts building forts.
-2015-06-06:
- Incoming5643:
- - rscadd: Antagonists with escape alone can now escape with others on the shuttle,
- so long as they are also antagonists.
- - rscadd: Antagonists with escape alone can also win if non-antagonists are on the
- shuttle provided they are locked in the brig.
- - rscadd: Escaping to syndicate space on board the nuke op shuttle is now a valid
- way to escape the station.
- Jordie0608:
- - rscadd: Admin-delaying the round now works once it has finished.
-2015-06-07:
- Aranclanos:
- - rscadd: Malfunctioning AIs can preview placement of a Robotic Factory.
- Iamgoofball:
- - rscadd: Bicardine, Dexalin, Kelotane, Anti-toxin, Inaprovaline and Tricordrazine
- have been re-added.
- RemieRichards:
- - rscadd: Lizards can now wag their tails, emote *wag to start and *stopwag to stop.
- kingofkosmos:
- - tweak: Mops can now be wet from normal buckets and sinks.
-2015-06-08:
- AnturK:
- - imageadd: Improved the interface of Spellbooks.
- Cheridan:
- - tweak: Push-force from Atmospherics now depends on an entity's weight, heavier
- objects are less prone to being pushed.
- - rscadd: Magboots and No-Slip shoes now prevent pushing from spacewind.
- Firecage:
- - rscadd: Protolathes can now build Experimental Welding Tools.
-2015-06-09:
- Aranclanos:
- - wip: Structures and machines can now be built on shuttles.
- Iamgoofball:
- - rscadd: 'Adds the Bluespace Rapid Part Exchange Device: holds up to 400 stock
- parts and can be used to upgrade machines at range without needing to open their
- maintenance panel.'
- - rscadd: A new tier of stock parts have been added, they're very expensive to produce
- but provide ample improvements.
- - experiment: Many machines can now also be upgraded.
- - tweak: 'Emitter: Lasers decrease firing delay and Capacitors decrease power consumption.'
- - tweak: 'Gibber: Matter Bins increase yield of meat and Manipulators speed up operation
- time, at high level can gib creatures with clothes.'
- - tweak: 'Seed Extractor: Matter Bins increase storage and Manipulators multiply
- seed production.'
- - tweak: 'Monkey Recycler: Matter Bins increase the amount of monkey cubes produced
- and Manipulators reduce the monkey-to-cubes ratio to a minimum of 1-to-1.'
- - tweak: 'Crusher: Matter Bins increase material yield and Manipulators increase
- chance to yield materials, at high level there is a chance for rarer materials.'
- - tweak: 'Holopad: Capacitors increase an AI''s traversal range from the holopad.'
- - tweak: 'Smartfridge: Matter Bins increase storage.'
- - tweak: 'Processor: Matter Bins increase yield and Manipulators speed up operation
- time.'
- - tweak: 'Microwave: Matter Bins increase storage.'
- - tweak: 'Ore Redemption Machine: Matter Bins increase yield per ore, Lasers increase
- points per ore and Manipulators speed up operation time.'
- - tweak: 'Hydroponics Tray: Manipulators improve water and nutrients efficiency.'
- - tweak: 'Biogenerator: Matter Bins increase storage.'
- bananacreampie:
- - rscadd: Added several new options to the ghostform sprites
-2015-06-11:
- Cheridan:
- - rscdel: Removes the powerdrain for individiual active modules on cyborgs.
-2015-06-12:
- Ikarrus:
- - experiment: Gang Updates
- - rscadd: 'New objective: To win, Gangs must now buy a Dominator machine (50 influence)
- and defend it for a varying time frame. * The location of the dominator is
- broadcasted to the entire station the moment it is activated * The more territories
- the gang controls, the less time it will take * Gangs no longer win by capturing
- territories'
- - rscadd: A choice of gang outfits are now purchasable for 1 influence each
- - rscadd: Thompson SMGs aka "tommy guns" are now purchasable for 50 influence
- - rscadd: Bulletproof armor vests are now purchasable for 10 influence
- - tweak: Gang messages are now free to send
- - tweak: Prices of pistols and pens reduced to 20 and 30, respectively
- - tweak: Gang spraycans have been made a lot less obvious. They look nearly identical
- to regular ones, now.
- - rscdel: Gangs will no longer be notified how much territory the enemy controls
- Incoming5643:
- - rscadd: Growing tired of reports of slain members, the Wizard Federation has cautiously
- sactioned the dark path of lichdom. Beware of the powerful lich who hides his
- phylactery well, for he is immortal!
- - rscadd: The trick to defeating liches is to destroy either their body or their
- phylactery item before they can ressurect to it. The more a lich is slain the
- longer it will take him to make use of his phylactery and the more likely the
- crew is to catch him during a vunerable moment.
- - rscremove: Due to the addition of proper liching, skeletons as a choosable race
- from magic mirrors has been discontinued. My apologies to the powergamers. A
- special admin version of the mirror that allows for skeletons has also been
- added to the code.
- Miauw:
- - tweak: 'AIs have received several minor nerfs in order to increase antagonist
- counterplay:'
- - tweak: AI tracking is no longer instant, it takes an amount of time that increases
- with distance from the AI eye, up to 4 seconds. The AI detector item will light
- up when an AI begins tracking.
- - tweak: A random camera failure event has been added, which will break one or two
- random cameras.
- - tweak: You can no longer keep tracking people that are outside of your camera
- vision.
- - tweak: Camera wires have been removed. Screwdriver a camera to open the panel,
- then use wirecutters to disable it or a multitool to change the focus.
- - tweak: You can now hit cameras with items to break them. To repair a camera, simply
- open the panel and use wirecutters on it.
- - tweak: Camera alerts now only happen after a camera is reactivated.
- RemieRichards:
- - rscadd: New optional explosion effect ported from /vg/'s DeityLink, Explosions
- that are affected by Walls and Doors
-2015-06-14:
- Ikarrus:
- - rscadd: White suits added to gang outfits
- - tweak: Gang outfits are now free, but are now limited in stock (that replenishes
- over time)
- - tweak: While attempting a Hostile Takeover, gangs do not gain influence. Instead,
- the takeover timer will be reduced by how many territories they control.
- - tweak: Spraycan cost reduced to 5 influence.
- - tweak: Recruitment Pen cooldown increased to 2 minutes, but is reduced if the
- enemy gang has more members than yours.
- - tweak: Tommy guns no longer deal stamina damage.
- - rscdel: Gangtools can no longer recall the shuttle if the game mode is not Gang
- War
-2015-06-15:
- Incoming5643:
- - rscadd: Lizards can now choose from a wide varity of physical appearances in character
- creation! Sprites made by WJohn. Hiss Responsibly.
- Kor:
- - rscadd: A terrible new creature stalks the halls of SS13.
- - rscadd: The wizard has a new artefact related to said creature.
- - rscadd: Added a new sepia slime plasma reaction. Try it out!
- spasticVerbalizer:
- - bugfix: Drones can now properly quick-equip.
-2015-06-18:
- AnturK:
- - rscadd: Added new photo-over-pda function. Apply the photo to PDA to send it with
- your next message!
- Ikarrus:
- - rscadd: Department Management consoles have been added to Head of Staff offices.
- These will enable heads to modify ID's access to their department, as well as
- preform demotions.
- Miauw:
- - tweak: Bullets can now damage cameras.
- - tweak: Camera alarms now trigger 90 seconds after the first EMP pulse, instead
- of when all EMP pulses run out.
- - tweak: Makes the force required to damage cameras greater than or equal to ten
- instead of greater than ten.
- - tweak: Camera alarms now trigger when cameras are disabled with brute force or
- bullets.
- Xhuis:
- - rscadd: Nanotrasen scientists have determined that a delaminating supermatter
- shard combining with a gravitational singularity is an extremely bad idea. They
- advise keeping the two as far apart as possible.
- phil235:
- - rscdel: Nerfed the xray gun. Its range is now 15 tiles.
-2015-06-20:
- Dorsisdwarf:
- - tweak: Syndicate Bulldog Shotguns now use slug ammo instead of buckshot by default
- - rscadd: Nuke Ops can now buy team grab-bags of bulldog ammo at a discount.
- Ikarrus:
- - rscadd: Wearing your gang's outfit now increases influence and shortens takeover
- time faster.
- - rscadd: Added several more options for gang outfits
- - rscadd: Pinpointers will now point at active dominators.
- - tweak: Gang outfits are now slightly armored
- - tweak: Gang tags are now named 'graffiti' to make them harder to detect
- - tweak: Initial takeover timer is now capped at 5 minutes (50% control)
- - tweak: 'Server Operators: The default Delta Alert texts have changed. Please check
- if your game_options.txt is up to date.'
- - rscdel: Loyalty implants now treat gangs as it treats cultists. Implants can no
- longer deconvert gangsters, but it can still prevent recruitments.
- - tweak: Replaced tommy guns with 9mm 2-burst 32 mag uzis that costs 40 influence.
- Unlike tommy guns gangs will be able to purchase ammo for uzis.
- Jordie0608:
- - tweak: 'For Admins: Jump-to-Mob (JMP) notification command replaced with Follow
- (FLW).'
- - rscadd: Message and Follow links added to many notifications.
- - rscadd: New buttons to toggle nuke and set security level.
- - spellcheck: Flamethrowers are logged in attack_log.
- Thunder12345:
- - rscadd: Combat shotguns are now semi automatic, and will be pumped automatically
- after firing.
- - tweak: Combat shotgun capacity has been reduced to six shells.
- Xhuis:
- - rscadd: You will now trip over securitrons if you run over them whilst they are
- chasing a target.
- - rscadd: An admin-spawnable drone dispenser has been added that will automatically
- create drone shells when supplied with materials.
- - rscadd: Airlock charges are available to traitors and will cause a lethal explosion
- on the next person to open the door.
- - rscadd: Nuclear operatives can now buy drum magazines for their Bulldog shotguns
- filled with lethal poison-filled darts.
- - rscadd: When a malfunctioning AI declares Delta, all blue tiles in its core will
- begin flashing red.
- - rscadd: Back-worn cloaks have been added for all heads except the HoP. LARPers
- rejoice!
- - rscadd: More suicide messages have been added for a few items.
-2015-06-21:
- GunHog:
- - tweak: The Hostile Lockdown ability for Malfunctioning AIs has been nerfed. It
- now costs 30 CPU, is much more obvious, and automatically resets in 90 seconds.
- - tweak: Buffed the Upgrade Turrets Malfunction ability. Turrets will now fire heavy
- lasers instead of simply shooting faster.
- - rscadd: Nanotrasen has released an Artificial Intelligence firmware upgrade under
- the ID 41ST0L3MYB1K3. It contains drivers for interacting with all variants
- of exosuit technology, from the Ripley APLU design to even experimental Phazon
- units. Simply upload your AI to the exosuit's internal computer via the InteliCard
- device. Per safety regulations, the exosuit must have maintenance protocols
- enabled in order to remove an AI from it.
- - rscadd: Malfunctioning AIs may wirelessly steal mechs via a new power, Mech Domination.
- For 30 CPU, a Malf AI may permanently upload itself to a mech, ejecting any
- pilots. Malf AIs will still lose if they leave the Z-level, and the Malf will
- be gibbed if the mech is destroyed - they cannot be carded out of the mech or
- shunt to an APC.
- Iamgoofball:
- - rscdel: Blobs can no longer have Morphine as their chemical.
- duncathan:
- - tweak: Heat exchangers now update their color to match that of the pipe connected
- to them.
- - tweak: Heat exchangers are on longer dense.
-2015-06-22:
- Iamgoofball:
- - rscdel: Removed failure chance and delay when emagging an APC.
- KorPhaeron:
- - tweak: Rebalanced armor to be less effective, reducing the melee, bullet and/or
- laser damage reduction of all armor suits.
- LaharlMontogmmery:
- - rscadd: You can now click and drag a storage container to empty it's contents
- into another container, disposal bin or floor tile.
- Xhuis:
- - experiment: Revenants have received a considerable overhaul.
- - rscadd: Revenants will no longer share spawn points with space carp and will spawn
- in locations like the morgue and prisoner transfer center.
- - rscadd: Revenants can no longer cross tiles covered in holy water.
- - rscadd: Revenants have a new ability called Defile for 30E. It will cause robots
- to malfunction, holy water over tiles to evaporate, and a few other effects.
- - rscadd: Upon death, revenants will appear and play a sound before rapidly fading
- away and leaving behind glimmering residue as evidence of their demise.
- - rscadd: This residue lingers with the essence of the revenant. If left unattended,
- it may reform into a new revenant. Simply scattering it is enough to stop this,
- but it also has high research levels.
- - rscadd: Revenants now have fluff objectives as well as a set essence goal.
- - tweak: Revenanants will be revealed for longer when using abilities and also receive
- feedback on this revealing.
- - tweak: Revenants can now only spawn via random event with a specific amount of
- dead mobs on the station. The default for this is 10.
- - bugfix: Revenants can no longer use abilities from inside walls.
- - rscdel: Directly lethal abilities have been removed from revenants. In addition,
- they can no longer harvest unconscious people, only the dead.
-2015-06-23:
- Fayrik:
- - rscadd: NanoUI is now Telekenesis aware, but due to other constraints, NanoUI
- interfaces are read only at a distance.
- - tweak: Refactored all NanoUI interfaces to use a more universal proc.
- - tweak: Adjusted the refresh time of the NanoUI SubSystem. All interfaces will
- update less, but register mouse clicks faster.
- - bugfix: Removed automatic updates on atmospheric pumps, canisters and tanks, making
- them respond to button clicks much faster.
- - bugfix: Atmos alarm reset buttons work now. Probably.
- Iamgoofball:
- - rscadd: Adds a progress bar when performing actions.
- Ikarrus:
- - rscadd: New gang names with tags created by Joan
- - rscadd: C4 explosive can be purchased by gangs for 10 influence.
- - tweak: Recruitment pen cost increased to 50.
- - rscadd: Lieutenants recieve one free recruitment pen.
- - tweak: Recruitment pens are now stealthy and no longer give a tiny prick message.
- - tweak: Increased chance of deconversion with head trauma
- - tweak: Recalling the shuttle now takes about a minute to work, during which you
- won't be able to use your gangtool.
- - rscadd: Pinpointers no longer point at dominators. Instead, dominators will beep
- while active.
- - rscadd: Added puffer jackets and vests.
- - tweak: Increased gang outfit armor. It is moderately resistant to bullets now.
- - rscdel: Removed bulletproof vests from gangtool menu.
- Jordie0608:
- - rscadd: Admins can now flag ckeys to be alerted when they connect to the server.
- MrStonedOne:
- - rscadd: Admins can now reject poor adminhelps. This will tell the player how to
- construct a useful adminhelp and give them back their adminhelp verb
- RemieRichards:
- - tweak: Cumulative armour damage resistance is now capped at 90%, you will now
- always take at bare minimum, 10% of the incoming damage.
- - rscadd: Added a system for Armour Penetration to items, it works by temporarily
- (It does NOT damage the armour or anything) reducing the armour values by the
- AP value during the attack instance.
- - rscadd: 'The formula for AP is Armour-ArmourPenetration = AdjustedArmour and AdjustedArmour
- is used for all the remaining calculations instead of Armour (Eg: 80 Melee -
- 15 AP = 65 Melee).'
- - rscadd: The Ninja's Energy Katana has 15 AP, Xenomorphs have an inbuilt AP of
- 10.
- - tweak: You can now unwrench pipes who's internal pressures are greater than that
- of their environment...
- - rscadd: However it will throw you away from the pipe at extreme speed! (You are
- warned beforehand if the pipe will do this, allowing you to cancel)
- Vekter:
- - bugfix: Finally fixed immovable rods! They will now properly bisect the station
- (and crit anyone unlucky enough to be in their path).
- - tweak: Increased Meteor activity detected in the vicinity of the station. Be advised
- that many storms may be more violent than they once were.
- - rscadd: Gravitational anomalies will now throw items at mobs in their vicinity.
- Take care while scanning them.
- - rscadd: Flux anomalies explode much more violently now. Get there and destroy
- them, or risk losing half a department.
- xxalpha:
- - rscadd: 'Added a new Reviver implant: now it revives you from unconsciousness
- rather than death.'
- - rscadd: Added cybernetic implants and a cybernetic implants bundle to the Nuke
- Ops uplink.
- - bugfix: Fixed Nutriment pump implant printing.
- - tweak: Health Analyzers now have the ability to detect cybernetic implants.
- - tweak: X-Ray implants are now much harder to unlock.
-2015-06-24:
- Ikarrus:
- - rscadd: Request Console message sent to major departments will now be broadcasted
- on that department's radio.
- - rscadd: Request Consoles can be used to quicly declare a security, medical, or
- engineering emergency.
-2015-06-25:
- Iamgoofball:
- - rscadd: Changes up how Explosive Implants work.
- - rscadd: They have become Microbomb Implants. They cost 1 TC each. Each implant
- you inject increases the size of the explosion. You gib on usage, regardless
- of explosion size.
- - rscadd: A Macrobomb implant was added for 20 TC. It is the equivalent of injecting
- 20 microbombs.
- - rscadd: Nuke Ops start with microbomb implants again.
-2015-06-26:
- Ikarrus:
- - imageadd: Added a couple of new gang tag resprites by Joan.
- Kor:
- - tweak: Summon Guns has returned to its former glory. The spell will once again
- create antagonists, now with the objective to steal as many guns as possible.
- - tweak: Summon Guns once again costs a spell point, rather than granting one.
- phil235:
- - tweak: Buffs traitor stimpack (and adrenalin implant) to be more efficient against
- stuns/knockdowns.
- pudl:
- - rscadd: You can now play games of mastermind to unlock abandoned crates found
- throughout space.
-2015-06-27:
- Ikarrus:
- - rscadd: Some objects can be burned now.
- - rscadd: Bombs will shred your clothes, with respect to their layering and armor
- values. Exterior clothing will shield clothing underneath. Storage items will
- drop their contents when bombed this way.
- Laharl Montogmmery:
- - rscadd: 'Storage Content Transfer : Bluespace Boogaloo! You can now transfer the
- content of the BoH/BRPED into tiles/bins/bags out of your reach. Range is 7
- tiles.'
- MrStonedOne:
- - tweak: Admins will now receive a notification when one of them starts to reply
- to an adminhelp to cut down on multiple responses to adminhelps and let admins
- know when an adminhelp isn't getting replied to.
- - rscadd: The keyword finder in admin helps (adds a (?) link next to player names
- in the text of adminhelps) has been added for all player to admin pms, as well
- as admin say.
- NullQuery:
- - wip: Introduces html_interface, a module to streamline the management of browser
- windows.
- - rscadd: Adds playing cards that utilize a new HTML window management system.
- Vekter:
- - rscadd: Added a new military jacket to the Autodrobe and ClothesMate.
-2015-06-28:
- Ikarrus:
- - rscadd: Gang Lieutenants can buy gang tools now, but at a higher cost than the
- original boss
- - rscadd: Gang leaders can register additional gangtools to themselves for use as
- spares.
- - tweak: Number of maximum lieutenants lowered to 2
- - tweak: Pistol cost increased to 25 influence
- - tweak: Uzi cost increased to 50 influence
- - tweak: Uzi Ammo decreased to 20 influence
- - rscadd: Overcoats added to items the biogenerator can produce.
- - rscdel: Micro and Macro bomb implants are now restricted to the Nuclear game mode.
- phil235:
- - tweak: Smoke (and foam) no longer distribute more reagents than they have. The
- amount of clouds in a smoke now depends on the amount of smoke created. Acid
- no longer melts items on a mob at low volume, and the chances to melt them increases
- with the amount applied on the mob. Sprays can now contain acid again.
-2015-06-29:
- Ikarrus:
- - rscadd: Clothing has been separated out of equipment lockers into wardrobes to
- reduce clutter.
- Incoming5643:
- - rscadd: The secrets of the rainbow slimes have finally been revealed. To attain
- this rare blob you must breed a slime with a 100% mutation chance!
- - rscadd: Rainbow slime cores will generate a randomly colored slime when injected
- with plasma. It's a good plan B if the slimes aren't cooperating in terms of
- colors. You can get any color slime this way, pray to the RNG!
- Xhuis:
- - rscadd: The Sleeping Carp clan has made its presence known on Space Station 13.
- Some gangs will name themselves after this group and practice martial arts rather
- than using traditional gang weaponry. These shadowboxers are not to be taken
- lightly.
- oranges:
- - tweak: Thanks to a breakthrough in directed vector thrusting, all nanotrasen brand
- jetpacks have been greatly improved in speed and handling
-2015-07-01:
- Ikarrus:
- - rscadd: Multiple gang leaders are spawned at round start, the number which depends
- on server population
- - rscdel: Gangsters can no longer be promoted mid-game.
- - rscadd: Security can once again deconvert gangsters with loyalty implants
- - rscadd: Added an Implant Breaker item to the gangtool as a purchasable item for
- 10 influence each * They are a one-use item that destroys all implants in
- the target, including loyalty implants * They will also attempt to recruit
- the target before destroying itself
- - rscdel: Implanters no longer work if the target is wearing headgear. Remove them
- first.
- NullQuery:
- - tweak: The crew monitoring computer, AI crew monitoring popup and the handheld
- crew monitor now update automatically.
- - tweak: 'Crew monitoring: The health information has been turned into a health
- indicator. It goes from green to red. Hovering over the icon shows detailed
- information (if available).'
- - tweak: 'Crew monitoring: The location coordinates have been hidden. You can see
- them by hovering over the ''Location'' column.'
- - rscadd: 'Crew monitoring: A minimap has been added so you can easily see where
- people are.'
- - tweak: 'Crew monitoring: Players who are not in range of a camera are not shown
- on the minimap.'
- - tweak: 'Crew monitoring: AI players can quickly move to other locations or track
- players by clicking the minimap or items in the table.'
- - tweak: 'Crew monitoring: For AI players, health information always shows a white
- indicator instead of green-to-red. This is a deliberate limitation to prevent
- the AI from becoming too omnipresent.'
- phil235:
- - tweak: Space drug overdose no longer cause brute/brain damage but you hallucinate
- more. Space Drug Blob now makes you hallucinate even if you don't overdose on
- its space drug.
- xxalpha:
- - rscadd: 'Added a new traitor objective: steal the station''s self-destruct nuke
- plutonium core.'
-2015-07-02:
- Ikarrus:
- - rscadd: Throwing reagent containers such as drinks or beakers may spill their
- contents onto whatever they hit
- - rscadd: Slipping while carrying items in your hand may cause ~accidents~
- - tweak: Mounted and portable flashers can now only be burned out from overuse,
- similar to flashes.
- oranges:
- - tweak: Thanks to department budget cuts we've had to remove the security cameras
- built into officer helmets, Nanotrasen apologies for this inconvenience.
-2015-07-03:
- Ikarrus:
- - experiment: Added support for up to six gangs at a time. Admins may add additional
- gangs to any round.
- - experiment: Gang mode now has a chance to start with a third gang.
- - rscadd: Promotion of lieutenants have been re-added
- - rscadd: Every lieutenant promoted will lengthen the gang's recruitment cooldowns
- by one minute.
- - rscdel: Only gang bosses will be able to recall the shuttle from their gangtool.
- - rscadd: A recruitment pen that has not been used for a while will accumilate charges,
- so you are no longer punished for waiting to convert people.
- - rscadd: Gangs are now fully functional outside of gang mode.
- Ricotez:
- - rscadd: 'Added two categories of mutant bodyparts for humans with the same system
- that lizards use: ears and tails. Right now only admins can edit these.'
- - rscadd: Updated the system that checks for which jobs your character qualifies
- to be species-dependant. At this moment you won't notice any differences, but
- in the future coders can use this to be more specific about which jobs a species
- is allowed in under which circumstances.
- - imageadd: 'Added one option to both categories, taken from the kitty ears: a cat
- tail and cat ears.'
- - rscadd: 'Added a new button to the VV menu drop-down list for admins: Toggle Purrbation.
- Putting a human on purrbation will give them cat ears and a cat tail, and send
- them the message ''You suddenly feel valid.'' Using the button a second time
- removes the effects.'
- - wip: 'Adding categories for tattoos and scars is in the works. (Read: I need sprites!)'
- oranges:
- - tweak: Engineers in nanotrasen's safety equipment department announced the release
- of a new and improved version of the X25 taser trigger, previous triggers, which
- suffered from a long line of misfire problems were recalled enmasse. Nanotrasen
- refused to comment on rumours that the previous trigger design was the work
- of a saboteur.
-2015-07-04:
- Gun Hog:
- - tweak: The Ore Redemption Machine now allows users to release minerals without
- having to insert an ID first.
- Ikarrus:
- - bugfix: Fixed items that logically shouldn't spill, spilling their contents when
- thrown
- - bugfix: Fixed Bartender's non-spilling powers
- - bugfix: Fixed thrown beakers not applying their contents onto floors
- - bugfix: Fixed unable to transfer reagents between beakers you are holding
- - bugfix: Fixed bombs shredding clothes that should have been protected by covering
- clothes
- - bugfix: Fixed gang mode.
- MMMiracles:
- - rscadd: Added patriotic underwear apparel due to the most god damn american holiday
- being just around the corner.
- - rscadd: Also adds some other stuff for those inferior countires too, I guess.
-2015-07-05:
- AlexanderUlanH & Xhuis:
- - rscadd: Shadowling Ascendants have a new ability to send messages to the world.
- - bugfix: Glare now properly silences targets.
- - bugfix: Veil now turns off held lights.
- - tweak: Drain Thralls replaced with Drain Life, which targets all nearby humans.
- - rscadd: Spatial Relocation replaced with Black Recuperation which lets you revive
- a dead thrall every five minutes.
- - rscdel: Removed Vortex.
- - tweak: Shadowlings can now only enthrall five people before being forced to hatch;
- Hatched shadowlings can continue to enthrall however non-hatched ones can't
- pass the global limit.
- - tweak: Enthralling sends a message to all nearby humans.
- - tweak: Removed cooldown on Glacial Freeze.
- Ikarrus:
- - tweak: Reactive armor may now teleport user to space tiles. Be careful using it
- around space.
- Razharas:
- - tweak: Firing pins can now be removed by tablecrafting a gun with a plasmacutter,
- screwdriver and wirecutters.
- RemieRichards:
- - imageadd: Melee attacks with weapons now display and animation of the weapon over
- the target.
- - rscadd: Tablecrafting window now shows all recipies and has been split into categorized
- tabs.
- - rscdel: 30 item limit removed.
- Sabbat:
- - rscadd: Updated the cult armor rune to let you get additional equipment or abilities
- based on what you're wearing or holding. Some nerfed versions of wizard spells
- can be used by the cult in exchange for unique clothing, these spells require
- the cult robes or armor in order to use. No armor choices are mandatory, you
- will always have the option of the default choice.
- - rscadd: Zealot - Default armor rune. If none of the required clothing is worn
- this will be chosen automatically. Is the same as ever.
- - rscadd: Summoner - If you are wearing the wizard robe and hat when using the armor
- rune this choice will be available. User will receive magus robes and hat and
- nerfed versions of the summon shard and summon shell spells.
- - rscadd: Traveler - Available to people wearing EVA suit and helmet. Replaces the
- EVA suit and helmet with the cult space suit and space helmet. Gives you a sword.
- - rscadd: Marauder - Available to people wearing the captain's space suit and helmet.
- Same as Traveler except user is given a spell of summon creature (two creatures).
- They can and will attack the user.
- - rscadd: Trickster - Available if wearing the RD's reactive teleport armor. Gives
- you magus robes, a wand of doors, and a nerfed version of Blink.
- - rscadd: Physician - Available if wearing the CMO's labcoat. Gives you a wand of
- life.
- TheVekter:
- - rscadd: Ian now has a dog-bed in the HoP's office.
- nukeop:
- - rscadd: Uplinks now have a syndicate surgery bag containing surgery tools, a muzzle,
- a straightjacket and a syndicate MMI.
- - rscadd: Syndicate MMIs can only be placed in cyborgs to create an unlinked cyborg
- with syndicate laws.
-2015-07-06:
- Ikarrus:
- - tweak: Increased Uzi SMG cost to 60 influence.
- - tweak: Increased Uzi ammo cost to 40 influence.
- - tweak: Domination attempt limit is reduced to 1 per gang while the shuttle is
- docked with the station.
- - tweak: Gang bosses can promote and recall the shuttle using spare gangtools
- - bugfix: Fixed Gang bosses getting deconverted with head trauma
- - rscadd: Lizard characters can now get random names unique from humans.
-2015-07-07:
- Ikarrus:
- - bugfix: Fixed bug where gang messages would occasionally fail to send.
- - bugfix: Fixed bug that prevented implant breakers from recruiting security.
- - tweak: Implanters are now only blocked by helmets with THICKMATERIAL
- - rscdel: Light severity explosions no longer shred clothes.
- MMMiracles:
- - rscadd: Adds a new crate to cargo in the security section, for when desperate
- times call for desperate measures.
- NullQuery:
- - bugfix: Crew monitoring computers now sort by department and rank again.
- - tweak: 'Crew monitoring computer: Hovering over a dot on the minimap will now
- jump to the appropriate entry in the table.'
- - bugfix: sNPCs were given ID cards with blank assignments.
-2015-07-09:
- AlexanderUlanH:
- - rscadd: Riot Shotguns now spawn loaded with rubber pellet shells that deal high
- stamina damage.
- kingofkosmos:
- - tweak: Both beakers and drinking glasses can now be be drunk from, fed to mobs
- and splashed on mobs, turfs and most objects with harm intent.
- nukeop:
- - tweak: RCDs have a larger storage and can be loaded with glass, metal and plasteel.
- - rscadd: Grilles and Windows can be made with an RCD.
- - rscadd: Engi-Vend machine now has three RCDs.
- - rscdel: Removed RCD as a steal objective.
-2015-07-10:
- Ikarrus:
- - rscadd: 'New Changeling Ability: False Armblade Sting. It creates an undroppable
- armblade on the target temporarily. It will appear exactly like a real one,
- except you can''t do anything with it.'
- - tweak: Transform stings are no longer stealthy.
-2015-07-11:
- Dorsidwarf:
- - tweak: Due to a new Syndicate budget, uplink implants are now only 14 TC.
- - tweak: In order to facilitate inter-agent communication, Syndicate Encryption
- Keys have been reduced to 2TC. They retain the ability to intercept all channels
- and speak on a private frequency.
- Ikarrus:
- - tweak: Robotic augmentations have been made a bit more difficult to maintain.
-2015-07-13:
- Ikarrus:
- - imageadd: Loyalty Implant HUD Icon has been updated.
- duncathan:
- - tweak: Greatly shortened the time it takes to lay pipes with the RPD and to unwrench
- pipes in general.
- - rscadd: Added Optical T-Ray scanners to R&D and Atmospheric Technician closets.
- Optical T-Ray Scanners function identically to a handheld scanner.
-2015-07-14:
- AnturK:
- - rscadd: New species of mimic was spotted in the wilderness of space. Watch out!
- Jordie0608:
- - rscadd: Added a Local Narrate verb for admins.
-2015-07-17:
- Ikarrus:
- - bugfix: Virology is no longer all-access.
- - rscadd: Changelings now have the ability to swap forms with another being.
- - tweak: Halved Domination Time.
- - tweak: Reinforced windows and windoors are a bit more resistant to fires and blasts.
- MrStonedOne:
- - tweak: 'Scrubbers now use power: 10w + 10w for every gas its configured to filter.
- (60w for siphon)'
- - rscadd: Scrubbers can now be configured to operate on a 3x3 range via the air
- alarm at a high cost (ranging from 100w to 1000w depending on how many tiles
- are near it that aren't blocked and how much power it's using normally)
- - tweak: Huge portable scrubbers (like in toxins storage) now use a 3x3 range rather
- then a higher volume rate
- - bugfix: Fixed issue with atmos not allowing low levels of plasma to spread
- - bugfix: Fixed issue with atmos not adding or removing plasma overlays in some
- cases
- - tweak: Panic siphon now uses a 3x3 area range rather then increasing the scrubbers
- intake rate by 8x
- - tweak: Replace air uses 3x3 range for the first stage
- - rscadd: 'Air alarms now have 3 new environmental modes:'
- - rscadd: Siphon - Panic siphon without the panic, operates on a 1 tile range
- - rscadd: Contaminated - Activates all gas filters and 3x3 scrubbing mode
- - rscadd: Refill Air - 3 times the normal vent output
-2015-07-18:
- AlexanderUlanH:
- - tweak: Reduced stun duration of tabling to be closer to other stuns.
- Iamgoofball:
- - tweak: The Bioterror Chemical Sprayer is now filled with a more deadly mix of
- chemicals.
- RemieRichards:
- - tweak: Changelings now regenerate chemicals and geneticdamage while dead, but
- only up to specific caps (50% of their max chem storage, and 50 geneticdamage)
- - tweak: Fakedeath's length has been reduced from 80s dead (1 minute 20) to 40s
- dead
- - rscadd: Changelings now get to see the last 8 messages the person they absorbed
- said, to allow them to better impersonate their victim's speech patterns
- Steelpoint:
- - tweak: Reduced weight of Sechailer, it now fits in boxes.
- phil:
- - tweak: Smoke and foam touch reactions gets buffed.
- - rscadd: Reagent dispensers (watertank, fueltank) tells you how much reagents they
- have left when examined.
- - tweak: Liquid dark matter blob spore smoke now cannot throw you. The effects of
- sorium, blob sorium, liquid dark matter and blob liquid dark matter are now
- scaled by their volume. Sorium/LDM blob's touch now throws the mobs who are
- close but simply moves the mobs that are further away.
-2015-07-19:
- Gun Hog:
- - rscadd: Nanotrasen advancements in cyborg technology now allow for integrated
- headlamps! As such, the flashlight package normally used as a module is now
- seamlessly merged with their systems!
- Ikarrus:
- - rscadd: Asimov's subject of "human beings" can now be modified by uploaders.
- - rscadd: Eaxmining AI modules while adjacent to them will show you what laws it
- will upload.
- MMMiracles:
- - soundadd: Adds a TWANG sound effect when hitting things with a guitar.
-2015-07-20:
- AnturK:
- - tweak: Lightning Bolt now always bounces 5 times and deals 15 to 50 burn damage
- to each target depending on the chargeup
- KorPaheron:
- - rscadd: Added the Multiverse Sword, a new wizard artifact that can summon clones
- of yourself from other universes, allowing for dangerous amounts of recursion.
- phil235:
- - tweak: Mechs no longer use object verbs and the exosuit interface tab. They now
- use action buttons. Mechs now have a cycle equipment action button to change
- weapon faster than by using the view stats window. Mechs get two special alerts
- when their battery or health is low. Mechs now properly consume energy when
- moving and having their lights on. Using a mech tool that takes time to act
- now shows a progress bar (e.g. mech drill).
- - rscadd: Mechs now have a cycle equipment action button to change weapon faster
- than by using the view stats window.
- - rscadd: Mechs get two special alerts when their battery or health is low.
- - tweak: Mechs now properly consume energy when moving and having their lights on.
- - rscadd: Using a mech tool that takes time to act now shows a progress bar (e.g.
- mech drill).
-2015-07-21:
- Fayrik:
- - tweak: Syndicate Donksoft gear now costs less.
- Xhuis:
- - rscadd: Firelocks may now be constructed and deconstructed with standard tools.
- Circuit boards can be produced at a standard autolathe.
- phil235:
- - tweak: Thrown things no longer bounces off walls, unless they're in no gravity.
- Heavy items and mobs thrown can push the mobs and non anchored objects they
- land on. Throwing a mob onto a mob in no gravity will push each one in opposite
- direction. Thrown mobs landing on wall, or dense object or mob gets stunned
- and a bit injured. The damage when mob hit a wall is nerfed.
-2015-07-23:
- NullQuery:
- - tweak: 'Crew monitoring: The minimap now supports scaling. You can zoom in and
- out using the buttons. Hovering over an entry in the table centers the minimap
- on that part of the screen.'
- - tweak: 'Crew monitoring: If the window is wide enough the health indicator will
- expand to show full health data (if available).'
- - tweak: 'Crew monitoring: Clicking on the area name will now copy the coordinates
- to your clipboard.'
- - tweak: 'Crew monitoring: The AI can view health information again, but there is
- a 5 second delay between updates for everyone watching.'
- freerealestate:
- - rscadd: Added resist hotkeys for borgs and humans. With hotkeys mode, use CTRL+C
- or C as a human and CTRL+C, C or END as a borg. With hotkeys mode off, use CTRL+C
- as a human and END as a borg.
- xxalpha:
- - bugfix: Changeling augmented eyesight night vision is now working.
-2015-07-24:
- Incoming5643:
- - rscadd: The spells disintegrate and flesh to stone have had their mechanics changed.
- Using these spells will spawn a special touch weapon in a free hand (your dominant
- hand if possible) that can then be used to inflict the spell on the target of
- your choice. Having the touch weapon out is obvious, this is not a stealth based
- change. Clicking the spell while the hand is out will let you return the charge
- without using it.
- - rscdel: The spell won't begin to recharge until the hand attack is either used
- or returned. Additionally these changes mean you can no longer use these spells
- while stunned or handcuffed. As a suggestion remember that the mutate spell
- allows you to break out of cuffs very easily, and warping abilities will keep
- you from getting cuffed to begin with!
-2015-07-25:
- Dorsisdwarf:
- - tweak: Due to a fire sale at Syndicate HQ, many of the more interesting traitor
- gadgets have been cut in price dramatically. Please take this opportunity to
- make full use, as we cannot guarantee that the sale will last!
- bgobandit:
- - bugfix: Under pressure from the Animal Rights Consortium, Nanotrasen has improved
- conditions at its cat and dog breeding facilities. Cats and pugs are now much
- more responsive to their owners.
- duncathan:
- - tweak: Restores RPD delay on disposals machines.
- xxalpha:
- - tweak: Agent IDs are now rewrittable.
-2015-07-26:
- Phil235:
- - rscadd: Sechailers will now break when used too often.
- - imageadd: Mechs now have new action button sprites.
- Steelpoint:
- - rscadd: Security Officers now spawn with a security breathmask in their internals
- box.
- - imageadd: Abductor's batons now changes color with modes.
- - imageadd: Unique sprites for Abductor hand cuffs and paper.
- goosefraba19:
- - imageadd: Updated the Power Monitoring Console with better alignment and colorized
- readouts.
-2015-07-27:
- Bgobandit:
- - bugfix: Burgers can now be made from corgi meat again.
- Ikarrus:
- - rscadd: Added shutters to the armory to allow quick access when needed.
- - bugfix: Security can now use the Brig external airlocks.
- - rscadd: Added a join queue when the server has exceeded the population cap.
- - tweak: Decreased the cost of Body Swap and removed it's genetic damage.
- kingofkosmos:
- - rscadd: Added a link to re-enter corpse to alert when your body is placed in a
- cloning scanner.
-2015-07-28:
- Anonus:
- - imageadd: New gang tags for Omni and Prima gangs.
- Chiefwaffles:
- - rscadd: After realizing how often AIs tend to 'disappear', Central Command has
- authorized the shipment of the Automated Announcement System to take over the
- AI's responsibility of announcing new arrivals.
- - rscadd: In addition, users are able to configure the messages to their liking.
- Early testing has shown that this feature may be vulnerable to malicious external
- elements!
- - rscadd: The station's R&D software has been updated so it can now succesfully
- create its own prototype AAS board once the prerequisite levels have been met.
- Dorsisdwarf:
- - tweak: Increased the cost of Bioterror darts to 6TC.
- Incoming5643:
- - experiment: Double Agents no longer know they're Double Agents and not just standard
- Traitors.
- xxalpha:
- - rscdel: Removed Anti-Drop and Nutriment Pump implants from Nuclear Operative's
- uplink.
-2015-07-29:
- AnturK:
- - rscadd: Aliens can now mine through asteroid rock.
- GunHog:
- - tweak: Cyborg headlamps have a short cooldown before reactivation when forcibly
- deactivated.
- - bugfix: Shadowling's Veil now shuts down headlamps for the ability's entire duration.
- Kor:
- - rscadd: Eating the heart of a Slaughter Demon will grant you dark powers.
- freerealestate:
- - bugfix: Fixed bug where copying with ctrl+C didn't work due to it being assigned
- to resist.
- - rscadd: Changed resist to B (hotkeys mode) and ctrl+B (either mode) instead.
- - rscdel: Removed End resist from cyborgs.
-2015-07-30:
- Gun Hog:
- - tweak: The Reactivate Camera power for Malfunctining AIs now costs 10 CPU, and
- works on the entire camera network, up to 30 cameras fixed.
- - tweak: The Upgrade Cameras power now costs 35 CPU, upgrades all cameras in the
- network to have EMP proofing, X-ray, and gives the AI night-vision.
- Ikarrus:
- - rscadd: Door Access buttons can now be emagged to remove access restrictions.
- LordPidey:
- - rscadd: Added a new medication, Miner's Salve. It heals brute/burn damage over
- time, and has the side effect of making the patient think their wounds are fully
- healed. It is mixed with water+iron+oil, or grind a twinkie, a sheet of metal,
- and a sheet of plasma.
- - rscadd: Added a grinder to the mining station.
- Midaychi:
- - rscadd: Random loot has been added to the derelict as salvage for drones.
- Scones:
- - rscadd: Adds a Rice Hat to the biogenerator.
-2015-08-02:
- Incoming5643:
- - rscadd: Syndicate toolboxes now come with never before seen red insulated gloves.
- Steelpoint:
- - bugfix: Fixed multiple mapping errors for Boxstation and the mining base.
- - rscadd: A circuit imprinter and exosuit fabrication board have been added to tech
- storage.
- SvartaSvansen:
- - rscadd: Our lizard engineers have worked hard and managed to improve Centcom airlocks
- so they no longer disintegrate when the electronics are removed!
- - tweak: Put a safety net in place so future airlocks without assemblies produce
- the default assembly instead of disintegrating.
-2015-08-04:
- Kor:
- - rscadd: Soulstones will now attempt to pull ghosts from beyond if the targeted
- corpse has no soul.
- Summoner99:
- - rscadd: Added the *roar emote back to Alien Larva
- - bugfix: Fixed aliens not being able to do the *hiss and *screech emotes
- - tweak: 'Changed how the plural emote system works and now some emotes have plural
- versions, example is: *hiss and *hisses.'
-2015-08-05:
- CoreOverload:
- - rscadd: Implants, implant cases and implanters got RnD levels and can be DA'ed
- for science.
- - rscadd: Surgically removed implant can be placed into an implant case. Remove
- implant with empty implant case in inactive hand.
- - rscadd: Surgical steps now got progress bars.
- - rscadd: You can cancel a surgery by using drape on operable body part again. This
- works only before you perform surgery's first step.
- - rscadd: Operating computer shows next step for surgeries. No more alt-tabbing
- to view next step on wiki while operating.
- - tweak: You cannot start two surgeries on one body part at once. You can start
- two multiloc surgeries (i.e. two augumentations) on diffirent body parts at
- once.
- - tweak: Monkey <-> Human transformations now keep your internal organs, cyberimplants
- and xeno embryos included.
- Ikarrus:
- - rscdel: Head beatings no longer deconvert gangsters.
- LordPidey:
- - rscadd: 'Added a new chemical. Spray tan. It is made by mixing orange juice with
- oil or corn oil. Warning: overexposure may result in orange douchebaggery.'
- Xhuis:
- - rscadd: Shadowling thralls can now be deconverted via surgery or borging.
- - rscadd: Thralls can be revealed by examining them. They can hide this by wearing
- a mask.
- - rscadd: Thralls have a few minor abilities they can use in addition to night vision.
- - rscadd: Hatch-exclusive abilities can no longer be used if you are not the shadowling
- mutant race.
- - rscadd: Ascendants are now immune to bombs and singularities. Honk.
- - rscadd: A Centcom report has been added for shadowlings.
- - tweak: Ascending no longer kills all shadowling thralls. This allows antagonists
- who were enthralled to succeed along with the ascendants.
- - tweak: Annihilate now has different sound and a shorter delay before the target
- explodes. In addition, it now works on all mobs, instead of just humans.
- - bugfix: Glacial Blast now properly has no cooldown if used while phase shifting.
- - bugfix: Fixes a runtime if a target with no mind is enthralled.
- bgobandit:
- - rscadd: Nanotrasen scientists have achieved the tremendous breakthrough of injecting
- gold slime extracts with water. Pets ensued.
-2015-08-06:
- AnturK:
- - rscadd: Adds the voodoo doll as a mining treasure, link it with a victim with
- an item previously held by them.
- - rscadd: Once linked the voodoo doll can be used to injure, confuse and control
- the victim.
- Core0verlad:
- - tweak: Items can now be removed from storage containers inside storage containers.
- - imageadd: Beds and bedsheets have new sprites.
- - rscdel: MMIs are no longer ID locked.
- KorPhaeron:
- - tweak: Slaughter Demon's have had their health reduced to 200 and their speed
- reduced but they get a speed boost when exiting blood.
- MrPerson:
- - rscadd: Items stacks now automatically merge unless thrown when moved onto the
- same tile.
-2015-08-07:
- KorPhaeron:
- - rscadd: Added a new Guardian Mob that can be summoned to manifest inside a mob.
- - rscadd: Guardians can communicate with their host and materialize themselves to
- protect their host with magic powers.
- - rscadd: Guardians are invincible but cannot live without or too far from their
- host, they also relay injuries they suffer to the host.
- Phil235:
- - bugfix: Fixed being able to run into your own bullet.
- RemieRichards:
- - rscadd: You no longer need to click on an item in a storage container to remove
- it, clicking anywhere around the item works.
- bustygoku:
- - rscdel: Removed the chance for a disease to make you a carrier on transfer.
- phil235:
- - tweak: The plasma cutter's fire rate is now a bit lower but its projectile can
- pierce multiple asteroid walls and its range isn't lowered in pressurized environment
- anymore.
-2015-08-09:
- RemieRichards:
- - rscadd: 'Nanotrasen Mandatory FunCo Subsidiary: CoderbusGames, would like to announce
- an update to Orion Trail!'
- - rscadd: 'Spaceports: Buy/Sell Crew, Trade Fuel for Food, Trade Food for Fuel,
- Buy Spare Electronics, Engine Parts and Hull Plates, or maybe you think you''re
- tough enough to attack the spaceport?'
- - rscadd: 'Changelings: Changelings can now sneak into your crew, Changelings eat
- double the standard food ration and have a chance to Ambush the rest of the
- crew!'
- - rscadd: 'Kill Crewmembers: Do you suspect changelings? or dont feel you have enough
- food rations? Just shoot somebody in the head, at any time!'
-2015-08-12:
- CosmicScientist:
- - rscadd: Added Space Carp costume to the code, get it from an autodrobe near you.
- - rscadd: Added Ian costume to the code, take his place under the HoP's hand, get
- it from an autodrobe or corgi hide, keep it away from washing machines or it'll
- meat its end as clothing.
- - rscadd: Added Space Carp spacesuit to the code, I know what I'm praying for.
- bgobandit:
- - rscadd: After multiple complaints from WaffleCo food activists, Nanotrasen has
- added real chocolate, berry juice and blue flavouring to its ice cream products.
-2015-08-13:
- CoreOverload:
- - rscadd: 'Added a new 8TC traitor item: subspace storage implant. It allows you
- to store two box-sized items in (almost) undetectable storage. '
- - tweak: Changed the way most of the surgical operations work. See wiki for new
- steps.
- - tweak: You can cancel step 2+ surgeries with drapes and cautery in inactive hand.
- - tweak: Defib no longer works on humans who have no heart. Changeling/thrall/cult/strange
- reagent revives are still working, and this is intended.
- - rscadd: You can eat all organs raw now, with exception for brains and cyberimplants.
- - rscadd: Some xenos abilities are linked to their organs. Play with xenos' guts
- for fun and profit!
- RemieRichards:
- - rscadd: Modifying a string (Text) variable with View Variables or View Variables
- Mass Modify now allows you to embed variables like real byond strings, For example
- the variable real_name; you could set a text var to [real_name] and it would
- be replaced with the actual contents of the var, This allows for Mass fixing
- of certain variables but it's also useful for badmin gimmickery
-2015-08-15:
- Miauw:
- - rscadd: Changeling transformations have been upgraded to also include clothing
- instead of just DNA.
- - tweak: Patches no longer work on dead people.
- - rscadd: Added 15-force edaggers that function like pens when off.
- MrPerson:
- - rscadd: Objects being dragged will no longer get shoved out of your grasp by space
- wind. Retrieving dead bodies should be possible.
- RemieRichards:
- - rscadd: Added Changeling Team Objectives, these are handed out to all lings, with
- the chance of a round having one being 20*number_of_lings% (3 lings = 60%)
- - rscadd: 'Impersonate Department (Team Objective): As many members of a department
- as can reasonably be picked are chosen for the lings to kill, replace and escape
- as'
- - rscadd: 'Impersonate Heads (Team Objective): 3 to 6 Heads of Staff are chosen
- for the lings to kill, replace and escape as'
- - tweak: If the Changelings have a Team Objective, their usual Kill, Maroon, Etc.
- objectives will not pick other changelings, to discourage backstabbing in teamling
- - tweak: Changeling Engorged Glands is now the default storage and regen rate, Engorged
- Glands remains for an extra boost
- - rscadd: Armblades can now be used to open powered doors, however it takes 10 seconds
- of the changeling standing still, Their ability to instantly open unpowered
- doors remains unchanged
- - rscdel: Debrain objective is no longer handed out to lings, it's as good as broken
- these days
- - rscadd: Changelings may now purchase a togglable version of the Chameleon Skin
- genetics mutation, for 2 DNA
-2015-08-16:
- Joan:
- - rscadd: Revenants will now occasionally spawn as an event.
- - tweak: Revenants gain more energy from Harvesting, and can Harvest from people
- in crit.
- - tweak: Revenant powers are more effective, and no longer freeze you in place,
- besides Harvest.
- - tweak: Slain Revenants will respawn much faster.
- - bugfix: Fixed a whole bunch of revenant bugs, including one that caused the objective
- to always fail.
- Kor:
- - rscadd: The wizard can now stop time.
- MMMiracles:
- - tweak: Revamps bioterror darts into a less-lethal, syringe form. Removed the coniine
- and spore toxins to keep it solely for quiet take-downs.
-2015-08-18:
- CoreOverload:
- - rscadd: Added a new low-tech eye cyberimplant in RnD - welding shield implant.
- - rscadd: Implanter and empty implant case added to protolathe.
- - rscadd: You can sell tech disks and maxed reliability design disks in cargo for
- supply points.
- - tweak: DA menu shows current research levels.
- - tweak: You can print cyberimplants in updated mech fab.
- Supermichael777:
- - bugfix: Added an ooc hotkey for borgs = O. They simply didn't have one and it
- was a consistency issue
- - rscadd: Also added Ctrl+O as an any mode keycombo so you dont have to backspace
- and type ooc. Added to hotkey mode to remain consistent with all other Ctrl
- combos
- bustygoku:
- - tweak: Most backpacks now have 21 or more slots, but are still weight restricted.
- What this means is that you can have a lot of tiny weight items, but only 7
- medium items just like before.
- phil235:
- - tweak: Janicart rider no longer slip on wet floor or bananas. Moving on a floor
- tile with lube while buckled (chair, roller bed, etc) will make you fall off.
-2015-08-19:
- Joan:
- - rscadd: Added a new revenant ability; Malfunction. It does bad stuff to machines.
- - tweak: Defile and Overload Lights now briefly stun the revenant.
- - tweak: You can now Harvest a target by clicking on them while next to them.
- - bugfix: Harvesting no longer leaves you draining if the target is deleted mid-drain
- attempt.
- - rscdel: Defile no longer emags bots or disables cyborgs, Malfunction does that
- now.
- Kor:
- - rscadd: The Ranged and Scout guardian types have been merged, and gained a new
- surveillance snare ability.
- SconesC:
- - rscadd: Added Military Belts to traitor uplinks.
- bgobandit:
- - rscadd: CentComm now offers its cargo department toys, as well as detective gear
- so their boss can figure out which tech wasted all the points on them.
- phil235:
- - rscadd: You can now partially protect yourself from blob attack effects by wearing
- impermeable clothes like hardsuits, medical clothes, masks, etc. Max protection
- effect is capped at 50%.
- - rscdel: Splashing someone with chemicals no longer injects those chemicals in
- their body.
- - bugfix: Fixes splashing acid on items or floor with items not having any effect.
-2015-08-28:
- bgobandit:
- - bugfix: 'Overheard at CentComm: ''This burn kit said salicyclic acid would heal
- my burns! WHO MADE THIS SHIT?'' A muffled honking is heard in the background.
- (Burn first-aid kits now contain an appropriate burn pill.)'
- - rscadd: Oxandrolone, a new burn healing medication, has been added to burn first-aid
- kits and to chemistry. Ingesting 25 units or more causes burn and brute damage.
-2015-09-01:
- Dorsidwarf:
- - tweak: Changelings' Digital Camoflague ability now renders them totally invisible
- to the AI
- ExcessiveUseOfCobblestone:
- - rscadd: Added health analyzer to the autolathe.
- - tweak: Moved Cloning board to Medical Machinery section.
- - tweak: Moved Telesci stuff to Teleporter section.
- Fox P McCloud:
- - tweak: Adds the emitter board to to the circuit imprinter for R&D.
- Gun Hog:
- - tweak: The Disable RCD Malfunction power is now Destroy RCDs! It costs 25 CPU
- (down from 50), causes RCDs to explode, can be used multiple times, and no longer
- affects cyborgs.
- Kor:
- - rscadd: Revheads and Gang leaders now spawn with chameleon security HUDs, for
- keeping track of loyalty implanted crew.
- - rscadd: Syndicate thermals now have a chameleon function as well, allowing you
- to disguise the goggles to match your job.
- Miauw:
- - tweak: Edaggers actually work now and have been buffed to 18 brute and 2 TC.
- Oisin100:
- - rscadd: Nanotransen discover ancient human knowledge confirming that trees produce
- Oxygen From Carbon Dioxide
- - tweak: Trees now require Oxygen to live. And will die in extreme temperatures
- Xhuis:
- - rscadd: The arcade machines have been stocked with a xenomorph action figure that
- comes with realistic sounds!
- - rscadd: Darksight now has its own icon.
- - rscadd: Empowered thralls have been added. While obvious, they are more powerful
- and can resist dethralling while conscious. Only 5 can exist at one time.
- - rscadd: Shadowlings can now change their night vision radius by using the action
- button their eyes (glasses) now provide.
- - tweak: Torches are dimmer, being as bright as flashlights, and no longer fit on
- belts.
- - tweak: Black Recuperation now has a 1 minute cooldown, down from 5. It can also
- be used to empower living thralls.
- - tweak: Guise can now be used outside of darkness and makes the user more invisible
- than before.
- - bugfix: Enthrall now functions properly when a shadowling is not hatched, allowing
- them to enthrall up to 5 people before hatching.
- xxalpha:
- - tweak: Blood crawling is now a spell.
- - rscadd: Engineering cyborgs now have a constant magpulse.
- - tweak: Changed foam spreading to be like gas spreading.
-2015-09-05:
- Shadowlight213:
- - rscadd: The syndicate have taken notice of the camera bug's woeful underuse, and
- have managed to combine all of its upgrades into one!
-2015-09-06:
- Fox P McCloud:
- - bugfix: Fixes gold sheets having plasma as their material.
- Xhuis:
- - bugfix: Nanotrasen inspectors have discovered a fault in the buckles of chairs
- and beds. This has been fixed and you are now able to buckle again.
-2015-09-07:
- xxalpha:
- - tweak: Changed xeno weed spread to be like gas spread.
-2015-09-09:
- Joan:
- - rscadd: New blob chemical; Cryogenic Liquid. Cools down targets.
- - tweak: Tweaked names, colors, and effects of remaining blob chemicals;
- - tweak: Skin Ripper is now Ripping Tendrils and does minor stamina damage, in addition
- to the brute damage.
- - tweak: Toxic Goop is now Envenomed Filaments and injects targets with spore toxin
- and causes hallucinations, in addition to the toxin damage.
- - tweak: Lung Destroying Toxin is now Lexorin Jelly and does brute damage instead
- of toxin damage. The oxygen loss it causes can also no longer crit you in one
- hit.
- - tweak: Explosive Gelatin is now Kinetic Gelatin and does random brute damage,
- instead of randomly exploding targets.
- - rscdel: Skin Melter, Radioactive Liquid, Omnizine, and Space Drugs blob chemicals
- are gone.
- bgobandit:
- - rscadd: Nanotrasen has commissioned two new corporate motivational posters for
- your perusal and edification.
- - rscadd: Nanotrasen also wishes to remind the crew that non-authorized posters
- ARE CONTRABAND. Especially those new ones with Rule 34. Perverts.
-2015-09-11:
- CosmicScientist:
- - tweak: Drone dispenser now has a var for its cooldown, get var editing.
-2015-09-13:
- Fox P McCloud:
- - bugfix: Fixes an exploit and inconsistency issue with a few material amounts on
- a few items and designs.
- - bugfix: Fixes Bibles/holy books not properly revealing runes.
- - bugfix: fixes stimulants not properly applying its speedbuff.
- Gun Hog:
- - tweak: Nanotrasen scientists have proposed a refined prototype design for the
- nuclear powered Advanced Energy guns to include a taser function along with
- the disable and kill modes. Addtionally, they have modified the chassis blueprint
- to include a hardpoint for attachable seclites.
- Iamgoofball:
- - tweak: Reduced the cost of changeling armor to 1 and increased it's armor values.
- Jordie0608:
- - rscadd: You can now view the reason of a jobban from character setup.
- xxalpha:
- - rscadd: Drying agent splashed on galoshes will turn them into absorbent galoshes
- that dry wet floors they walk on.
- - rscadd: Drying agent can be made with ethanol, sodium and stable plasma.
-2015-09-14:
- Fox P McCloud:
- - tweak: Adds a mining voucher to the Quartermaster's locker.
- Thunder12345:
- - rscadd: The captain has been issued with a new jacket for formal occasions.
- - tweak: Research has shown that is is possible to build technological shotshells
- without the need for silver. The design blueprints supplied to your station
- have been updated accordingly.
- xxalpha:
- - bugfix: Fixed not being able to grab things from storage while inside aliens.
- - bugfix: Fixed two progress bars when devouring.
- - rscadd: Shields will now block alien hunter pounces.
- - tweak: Alien hunters health reduced to 125 from 150. Alien sentinels health increased
- to 150 from 125.
- - tweak: Alien hunters will no longer be transparent when stalking, this ability
- was given to alien sentinels.
- - tweak: Alien slashing now deals constant 20 damage but has a chance to miss.
- - tweak: Reduced alien disarm stun duration vs cyborgs, from 7 seconds to 2 seconds.
- - tweak: Alien sentinels now move as fast as humans.
- - tweak: Facehuggers and alien eggs layers increased to be higher than resin walls.
-2015-09-16:
- Razharas:
- - tweak: Replaces the space cube with space torus. Space levels are now each round
- randomly placed on the grid with at least one neigbour, any side of the space
- level that doesnt have neigbour will loop either onto itself or onto the opposite
- side of the furthest straight-connected space level on the same axis.
- Supermichael777:
- - tweak: The detomax pda cartridge no longer blows its user up.
- Xhuis:
- - experimental: Cultists will now be able to create all runes without needing to
- research or collect words. This is subject to change.
- - tweak: Cult code has been significantly improved and will run much faster and
- be more responsive.
- - tweak: Conversion runes can now be invoked with less than three cultists, but
- take a small amount of time to convert the target.
- - tweak: Armor runes will only outfit the user with standard armor, rather than
- having different loadouts for different worn clothing items.
- - tweak: Astral Journey runes will now pull the user back to the rune if they are
- moved. The user also has a different color while on the rune.
- - tweak: Free Cultist has been removed. Summon Cultist now works even if the target
- is restrained.
- - tweak: Sacrifice and Raise Dead runes now offer more precise target selection.
- - soundadd: Sacrifice runes now have different sounds, and gib rather than dust
- (assuming the target is not a silicon).
- - tweak: There is no longer a maximum cap on active runes.
- - tweak: Runes have been renamed to Rites. For instance, the Teleport rune is now
- the Rite of Translocation. The only exception to this is the rune to summon
- Nar-Sie, which is a Ritual.
- - tweak: Nar-Sie now has a new summon sound.
- - tweak: The Nar-Sie summon rune has a new 3x3 sprite.
- - tweak: The stun rune no longer stuns cultists.
- - rscadd: The Rite of False Truths had been added, that will make all nearby runes
- appear as if they were drawn in crayon.
- - rscadd: Runes can now be examined by cultists to determine their name, function,
- and words.
- phil235:
- - tweak: Riot and energy shield users now have a chance to block things thrown at
- them as well as xeno leaping at them.
-2015-09-17:
- bgobandit:
- - rscadd: Meatspikes can now be constructed and deconstructed with metal and rods,
- as well as wrenched and unwrenched! Humans and corgis can be used on them as
- well.
- xxalpha:
- - tweak: 'Reworked nuke deconstruction: Standardized steps, partial reparation (use
- metal) to contain radiation.'
- - rscadd: New portable nuke, self-destruct terminal, syndie screwdriver sprites
- by WJohnston.
-2015-09-19:
- Xhuis:
- - rscadd: Shadowlings are now able to sacrifice a thrall to extend the shuttle timer
- by 15 minutes. This will not stack.
- - bugfix: Additional abilities granted by Collective Mind will now properly have
- icons.
- - bugfix: Shadowlings now have their antagonism removed if turned into a silicon.
- - tweak: The order of abilities unlocked by Collective Mind has been changed. It
- now starts with Sonic Screech.
- - tweak: Veil now destroys glowshrooms in a much larger radius than before.
-2015-09-20:
- Xhuis:
- - tweak: Rites have been renamed to their old runes, which reflect their functionality.
- - tweak: Examining a talisman no longer opens the paper GUI.
- - tweak: Armor talismans have been re-added.
- - tweak: EMP talismans now have the same range as their rune counterpart.
- - tweak: Some talismans now cost health to use, costing more or less depending on
- their effect.
- - tweak: Scribing runes now deals 0.1 brute damage instead of 1.
- - tweak: Bind Talisman runes no longer deal 5 brute damage when invoking.
- - tweak: Rune shapes and colors are now identical to their old versions.
- - tweak: Conversion runes can no longer be used by yourself, and require a static
- 2 cultists.
-2015-09-22:
- Kor:
- - rscadd: A new admin command, Offer Control to Ghosts, can be found in the view
- variables menu. It will randomly select a willing candidate from among dead
- players, providing a fair method of replacing antagonists.
- Xhuis:
- - tweak: When a morph changes form, a message is shown to nearby people. This also
- happens upon undisguising.
- - tweak: Morphs now have an attack sound and message.
- - tweak: The Spawn Morph event now plays a sound to the chosen candidate.
- - tweak: Slaughter demons (and other creatures with blood crawl) now take two seconds
- to emerge from blood pools. Entering is still instantaneous.
- - tweak: The demon heart's sprite has been updated.
- - tweak: Eating a demon heart now surgically implants the heart into your chest.
- If the heart is removed from you, you lose the ability. Someone else can eat
- the heart to gain the ability.
- - tweak: Blood Crawl no longer has a 1-second cooldown, instead having none.
- - tweak: You can no longer hold items when attempting to Blood Crawl, nor can you
- use any items while Blood Crawling.
- - tweak: Creatures that can Blood Crawl now take two seconds to emerge from blood
- pools.
- - tweak: Slaughter demons now store devoured creatures, and will drop them upon
- death.
- - tweak: Revenants now have the ability to speak to the dead.
- - tweak: Revenant abilities now have icons.
- - tweak: Malfunction no longer EMPs a specific area - it will instead EMP nearby
- machines directly and stun cyborgs. Dominators are immune to this.
- - tweak: Revenants now have directional sprites.
- - tweak: Overload Lights now has a smaller radius.
- - tweak: Defile no longer corrupts tiles.
- - tweak: When glimmering residue reforms, the game will attempt to place the old
- revenant in control of the new one. If this cannot be done, it will find a random
- candidate.
- - tweak: Revenants can no longer see ghosts. They can see other revenants, however,
- and ghosts can still see revenants.
- - tweak: The Spawn Slaughter Demon event now plays a sound to the chosen candidate.
- phil235:
- - rscdel: Lizards and other non human species can no longer acquire the hulk mutation.
- Hulks no longer have red eyes
- - bugfix: Monkeys now always have dna and a blood type (compatible with humans).
- - bugfix: Monkey transformation no longer deletes the human's clothes.
- - bugfix: Space Retrovirus now correctly transfers dna SE to the infected human.
- - bugfix: Changeling's Anatomic Panacea removes alien embryo again.
- - bugfix: Cloning someone now correctly sets up their dna UE.
- - bugfix: Fixes the laser eyes mutation not giving glowing red eyes to the human.
- - bugfix: Using changeling readaptation now properly removes all evolutions bought
- (arm blade, chameleon skin, organic suit).
- xxalpha:
- - rscadd: Added a researchable cyborg self-repair module to the robotics fabricator.
-2015-09-23:
- Xhuis:
- - rscadd: Syndicate medical cyborgs have been added.
- - rscadd: The Dart Pistol is now available from the uplink for 4 telecrystals. It
- functions as a pocket-sized syringe gun with a quieter firing sound.
- - tweak: Boxes of riot foam darts now cost 2 telecrystals, down from 10, and are
- available to traitors.
- - tweak: Foam dart pistols now cost 3 telecrystals, down from 6.
- - tweak: Syndicate cyborg teleporters now allow a choice between Assault and Medical
- cyborgs.
- - tweak: Syndicate cyborgs are now distinguished as Syndicate Assault.
- - tweak: Syndicate cyborg energy swords now cost 50 energy per use, down from 500.
- - tweak: Airlock charges now cost 2 telecrystals, down from 5.
- - tweak: Airlock charges are much more powerful.
- - tweak: There is no longer a 25% chance to detonate an airlock charge while removing
- it.
- - tweak: The description of many uplink items has been changed to better reflect
- their use.
-2015-09-24:
- Jordie0608:
- - tweak: Advanced energy guns now only critically fail after successive minor failures.
- Cease firing after multiple recent minor failures to avoid critical ones.
- Kor:
- - rscadd: Guardian Spirit types and powers have been heavily reworked. Full details
- of each type are available on the wiki.
- - rscadd: Guardian damage transfer to users now deals cloneloss if their user is
- in crit.
- - rscadd: Guardians are now undergoing a trial run in the traitor uplink, under
- the name of Holoparasites.
- - rscadd: You can now hang human mobs (dead or alive) from meatspikes. Escaping
- the meatspike will further damage the victim.
- - rscdel: You can no longer slam humans into the meatspike as an attack.
-2015-09-25:
- Xhuis:
- - rscadd: Changelings have a new ablity, Biodegrade. Costing 30 chemicals and having
- an unlock cost of 1, it allows them to dissolve handcuffs and straight jackets
- in 3 seconds, and escape from lockers in 7.
- - tweak: Fleshmend's effectiveness is now halved each time it is used in a short
- time span.
- - tweak: Last Resort now blinds and confuses nearby humans and briefly disables
- silicons upon use.
- - tweak: Headslugs now have 50 health, up from 20.
-2015-09-26:
- MMMiracles:
- - rscadd: Nanotrasen's genetic researchers have rediscovered the inactive dwarfism
- genetic defect inside all bipedal humanoids. Suffer not the short to live.
- WJohnston:
- - tweak: Repiped the entire station. Atmosia and the disposals loop were not touched.
- - tweak: Moved mulebot delivery from misc lab to RnD.
-2015-09-28:
- Feemjmeem:
- - bugfix: Rechargers can now be wrenched and unwrenched by cyborgs.
- - bugfix: Rechargers no longer stop working forever if you move them from an unpowered
- area to a powered area, and now actually look powered off when they are.
- - bugfix: Guns and batons can no longer be placed in unwrenched chargers.
- Razharas:
- - rscadd: Added button to preferences menu that kills all currently playing sounds
- when pressed, now you can kill midis and any other sounds for real.
- phil235:
- - bugfix: Fixed the syndicate cyborg's grenade launcher.
- - tweak: You can modify the dna of corpses again.
-2015-09-29:
- Kor:
- - bugfix: The Chaos holoparasite can now actually set people on fire properly.
- - tweak: Guardian powers are now used via alt+click rather than shift+click.
- - tweak: Added an alert chime for ghosts when someone is summoning a Guardian.
-2015-10-04:
- Fox P McCloud:
- - tweak: Adds a bar of soap to the janitor's locker.
- - rscadd: Re-adds the advanced mop as a researchable R&D item.
- - rscadd: Adds a bluespace trashbag as a researchable R&D item; can hold large quantities
- of garbage.
- Jordie0608:
- - rscadd: Added Special Verb 'Create Poll', an in-game interface to create server
- polls for admins with +permissions.
- MrPerson:
- - rscdel: Removed NTSL. Sorry. People could write scripts that crashed the server,
- and this is the only thing that can be done to prevent them from doing that.
- MrStonedOne:
- - rscdel: Removed feature where quick consecutive ghost orbits while moving could
- be used to fuck with your sprite
- - bugfix: Fixed ghosts losing floating animation when returning from an orbit
- - bugfix: Fixed logic error that prevented orbit's automatic cancel when the orbiting
- thing moved in certain situations.
- - rscadd: Ghost Orbit size now changes based on the icon size of the thing they
- are orbiting (for that sweet sweet singulo orbiting action)
- - tweak: Removed needless checks in ghost orbit, you can now orbit yourself and
- restart an orbit around the thing you are already orbiting
- Xhuis:
- - rscadd: Syndicate Medical cyborgs now have cryptographic sequencers.
- - rscdel: Syndicate Medical cyborgs no longer have syringes.
- - tweak: Restorative Nanites now heal much more damage per type.
- - bugfix: Operative pinpointers now actually point toward the nearest operative.
- - bugfix: Syndicate Assault cyborgs no longer start with medical supplies.
- - bugfix: Energy saws now have a proper icon.
- - bugfix: Non-operatives can now longer use operative pinpointers or Syndicate cyborg
- teleporters.
- - tweak: Doctor's Delight now requires cryoxadone in its recipe instead of omnizine.
- - tweak: Doctor's Delight now restores half a point of brute, burn, toxin, and oxygen
- damage per tick.
- - tweak: Doctor's Delight now drains nutrition while it's in your system (that is,
- unless you're a doctor).
- - bugfix: Syndicate roboticists have given Syndicate medical cyborgs sharper hypospray
- needles - they are now able to penetrate armor.
-2015-10-06:
- Gun Hog, for WJohnston:
- - rscadd: 'Add new Xenomorph caste: The Praetorian. Drones may become this on their
- way to growing into a full queen, and a queen may promote one if there is not
- one already.'
- - tweak: Xenomorph queens are now GIGANTIC, along with the new Praetorian. Together,
- they are considered royals.
- - tweak: Queens are now significantly tougher to make up for their huge size.
- - bugfix: All forms of dead xenomorph may now be grabbed and placed on a surgery
- table for organ harvesting!
- Xhuis:
- - rscadd: Maintenance drones now have a more descriptive message when examined.
- - tweak: A recent Nanotrasen firmware update to drones has increased vulnerability
- to foreign influences. Please periodically check drones for abnormal behavior
- or status LED malfunction. Note, however, that cryptographic sequencers will
- not incur this behavior.
- - tweak: In response to complaints about rogue drones, Nanotrasen engineers have
- allowed factory resets on all drones by simply using a wrench.
- - experiment: Central Command reminds drones to immediately retreat, if possible,
- when a law override is begun. Not doing so may anger the gods and incur their
- wrath!
- - rscadd: Some virus symptoms that had no messages now have them.
- - rscadd: 'New virology symptom: Weakness. This will cause stamina damage and fainting
- spells.'
- - tweak: Many virus symptom messages have been changed to be more threatening.
-2015-10-07:
- Kor:
- - rscadd: The alien queen can now perform a tail sweep attack, throwing back and
- stunning all nearby foes.
-2015-10-13:
- AnturK:
- - rscadd: Display cases can now be built using 5 wood planks and 10 glass sheets.
- - rscadd: Add airlock electronics to open it with id later, otherwise you'll have
- to use crowbar
- - tweak: Broken display cases can be fixed with glass sheets or removed using crowbar
- - tweak: Added start_showpiece_type variable for mappers to create custom displays
- - rscadd: Syndicate Lone Operatives spotted near the nanotrasen stations! Keep the
- disk safe!
- - tweak: Admin spawned nuclear operatives will now have access to nukeop equipment
- Gun Hog:
- - rscadd: Nanotrasen's research team has released a new, high tech design for Science
- Goggles, which previously did nothing! They new come fitted with a portable
- scanning module which will display the potential research data gained from experimenting
- with an object. Nanotrasen has also released drivers which shall enable the
- prototype hardsuit's built in scan visor.
- - rscadd: Supporting this new design, Nanotrasen has seen fit to provide blueprints
- for Science Goggles to the station's protolathe.
- Kor:
- - tweak: Gang implanters now only break implants/deconvert gangsters, meaning you
- will have to use a pen to convert them afterwards.
- - rscadd: An important function, accessible via alt+click, has been restored to
- the detectives hat.
- - sounddel: When Nar-Sie is created, they now use the old sound effect.
- Steelpoint:
- - rscadd: The Chief Medical Officers 'Medical Hardsuit' has been added to the CMO's
- office. Boasts the usage of lightweight materials allowing fast movement while
- wearing the suit as well as complete biological protection to airborne and similar
- pathogens.
- - rscadd: The Head of Security's personal 'HoS Hardsuit' has been added to the HoS's
- office. This Hardsuit is slightly more armored than the regular Security Hardsuit.
- - rscadd: The Research Directors 'Prototype Hardsuit' has been added to the RD's
- office. This Hardsuit offers the highest levels of protection against explosive,
- as well as biological, attacks, as well as fireproofing.
- - rscdel: The Command EVA space suits, due to budget concerns, have been removed
- and reloacted to another space station.
- Xhuis:
- - rscdel: All instances of autorifles have been removed from Security.
- - rscadd: The armory has been re-mapped.
- - tweak: The spell book has received a rebalancing! There are now ten uses by default,
- but most spells cost two uses. Some underused spells, like Blind, Smoke, and
- Forcewall, only cost a single use.
- - experiment: After searching through the Sleeping Carp's ancient monastery in deep
- space, more secrets have been uncovered of their traditional fighting techniques.
- - tweak: Members of the Sleeping Carp gang are now able to deflect all ranged projectiles.
- - tweak: Members of the Sleeping Carp gang are now uanble to use any type of ranged
- weaponry. Doing so would be dishonorable.
- - tweak: The Sleeping Carp martial art's effects are more damaging, and many stuns
- have been increased in duration.
- phil235:
- - bugfix: Fixes critical bug causing multiple hits from single projectile.
- - bugfix: Fixes not being able to shoot a mob on same tile as the shooter.
- - bugfix: Clicking your mob (without targeting your mouth) no longer causes you
- to shoot yourself.
- - bugfix: Fixes not being able to shoot non human mobs at point blank.
- - rscdel: Morphs no longer automatically drop the things they swallowed, you have
- to butcher their corpse to retrieve their contents.
- - bugfix: butchering a corpse no longer also attacks it.
- - rscdel: Dipping cigarette (to asbsorb liquids) in a glass can now only be done
- with an unlit cigarette. Lit cigarette now heats up the glass content (like
- other heat sources).
- - bugfix: Fixes trashbag not being able to pickup drinks and ammo casings.
- - tweak: Slimes now attaches themselves to mobs via buckling.
-2015-10-16:
- MrStonedOne:
- - rscadd: Added a reconnect option to the file menu. This will allow you to reconnect
- to the game server without closing and re-opening the game window. This should
- also prevent another byond ad from playing during reconnections.
- Xhuis:
- - rscadd: A gamebreaking bug has been fixed with buckets. You can now wear them
- on your head.
- bgobandit:
- - rscadd: The Grape Growers Consortium has complained that Nanotrasen kitchens do
- not use their products enough. HQ has come up with a few recipes to pacify them.
- Goddamn winos.
-2015-10-19:
- AnturK:
- - rscadd: Handheld T-Ray Scanners now detect critters in pipes.
- Kor:
- - tweak: Weapons and projectiles that are armour piercing now have an increased
- chance to bypass riot shields.
- - tweak: Slipping on lube now deals slightly more damage, but is concentrated on
- a random body part, rather than spread to your entire body.
- - tweak: Slipping on water no longer deals damage
- - rscadd: You can now attach grenades and C4 to spears to create explosive lances.
- This is done via table crafting. Alt+click the spear to set a war cry.
- Shadowlight213:
- - rscadd: In response to reports of stranded drones, Nanotrasen has added magnets
- to drone legs. They are no longer affected by lack of gravity or spacewind!
- - bugfix: Drones can now set Airlock access on RCDs.
- bgobandit:
- - rscadd: Nanotrasen loves recycling! In the highly unlikely occasion that your
- space station accumulates gibs, scoop 'em up and bring them to chemistry to
- recycle into soap, candles, or even delicious meat product!
- - rscadd: L3 biohazard closets now contain bio-bag satchels for the safe collection
- of biowaste products, such as slime extracts.
- phil235:
- - rscdel: Removing Smile, Swedish, Chav and Elvis mutations from genetics. These
- mutation can still be acquired via adminspawned dna injector.
- - rscadd: Added a dna injector for laser eyes mutation for admin use.
- - bugfix: Fixes winter coat hood sprite appearing as a bucket.
- - bugfix: Fixes using razor on non human shaving non existent hair.
- - bugfix: Fixes chair deconstruction dropping too much metal.
- - bugfix: Fixes snapcorn not giving seeds.
- - bugfix: Fixes portable chem dispenser.
- - tweak: Changing the transfer amount of all reagent containers (beaker, bucket,
- glass) is now done by clicking them, similar to spray. Reagent dispensers (watertank,
- fueltank, pepperspray dispenser) no longer have their own transfer amounts and
- use the reagent container's transfer amount instead (except for sprays which
- get 50u for faster refilling).
-2015-10-23:
- Incoming5643:
- - rscadd: 'Syndicate bomb payloads will now detonate if set on fire long enough.
- Note that the casings for the bombs is fireproof, so if you want to set fire
- to a bombcore you''ll need to remove it from the case first (cut all wires,
- then crowbar it out). A reassurance from our explosives department: it is, and
- always has been, impossible to detonate a syndicate bomb that isn''t ticking
- with wirecutters alone.'
- Xhuis:
- - rscadd: Geiger counters have been added and are obtainable from autolathes and
- EngiVends. They will measure the severity of radiation pulses while in your
- pockets, belt, or hands. One can scan a mob's radiation level by switching to
- Help intent and clicking on it. These counters never really discard the radiation
- they store, and rumor has it this can be used in nefarious ways...
- - tweak: When a mob is impacted by radiation, the radiation is now relayed to all
- items on the mob.
-2015-10-24:
- Kor:
- - rscadd: The friendly gold slime reaction now spawns three mobs.
- phil235:
- - tweak: Changed the effects of alcohol to be more realistic. The effects of alcohol
- now appear twice as fast. Drunkenness now scales with how much alcohol is in
- you, not how long you've been drinking. This means drinking very little but
- continuously no longer makes you very drunk, or confused/slurring for a long
- time or give you alcohol poisoning. The dizziness and slurring effects now properly
- scale with how drunk you are (and dizziness is generally more pronounced).
-2015-10-25:
- Incoming5643:
- - rscadd: The spell Charge has been added to the spellbook. It can be used to extend
- the life of magic and energy weapons and even reset the cooldowns of held wizards!
- It cannot reset your own cooldowns.
- - rscadd: The Staff of Healing has been added to the spellbook. Heals all damage
- and raises the dead! Can't be used on yourself however.
- - bugfix: The exploit that allowed you to use the staff of healing on yourself by
- suicide has been fixed.
- Jordie0608:
- - rscadd: You can now selectively mute non-admin players from OOC with the Ignore
- verb in the OOC tab.
- Tkdrg:
- - rscadd: Added chainsaws. They can be tablecrafted using a circular saw, a plasteel
- sheet, some cable coil, and a welding tool. Don't forget to turn it on!
-2015-10-26:
- Fox P McCloud:
- - tweak: Standardizes the slowdown of most spacesuits to 1 as opposed to 2.
- Incoming5643:
- - rscadd: 48x48 pixel mode (x1.5 zoom) has been added to the Icons menu (top left).
- While playing in 32x32 or 64x64 will still provide a clearer looking station,
- for those of us with resolutions that fall into the gap between the two zooms
- this can provide a more consistant looking station than stretch to fit.
- - rscadd: 96x96 pixel mode (x3 zoom) has also been added for our players who enjoy
- looking at spacemen on their 4k monitors at a crisp and consistent scale.
- - tweak: The lich spell has been subjected to some gentle nerfing. When you die
- a string of energy will tie your new body to your old body for a short time,
- aiding others in determining your location. The duration of this beam scales
- with the number of deaths you've avoided.
- - tweak: Additionally the post revival stun now also scales in this way.
- - tweak: The spell will also fail if the item and the wizard don't share the same
- z level, though the nature of space means the odds of the item (or the wizard)
- looping around back to the station is pretty high.
- - rscadd: The spell is still really good.
-2015-10-27:
- Joan:
- - bugfix: You can now click on things under timestop effects, instead of clicking
- the effect and looking like a fool.
- Kor:
- - rscadd: Added a zombie mob that turns its kills into more zombies. Currently adminspawn
- and xenobio only.
- - rscadd: Using water with a red slime extract will now yield a speed potion. Using
- the speed potion on an item of clothing will paint it red and remove its slowdown.
- MrStonedOne:
- - rscadd: You may now access the setup character screen when not in the lobby via
- the game preferences verb in the preferences tab
- - rscadd: The round end restart delay can now be configured by server operators.
- New servers will default to 90 seconds while old servers will default to the
- old 25 seconds until they import the config option to their server.
-2015-10-28:
- Tkdrg:
- - rscadd: Added a Ghost On-screen HUD. It can be toggled using the "Toggle Ghost
- HUD" verb. Thank you Razharas for the sprites!
- - rscadd: Ghosts can now use the "Toggle med/sec HUD" verb to see the basic secHUD
- (jobs only) or the medHUD of humans.
- - rscadd: Ghost will now get clickable icon alerts from events such as being put
- in a cloner, drones being created, Nar-sie being summoned, among others. The
- older chat messages were kept. These alerts can not be toggled.
-2015-10-29:
- Kor:
- - tweak: Slightly changed what items spawn on the captain vs in his locker, hopefully
- saving some annoying inventory shuffle at roundstart.
-2015-10-30:
- Incoming5643:
- - rscadd: Slimepeople can now split if they contain 200 units of slime jelly, and
- slimepeople will now slowly generate slime jelly up to 200 units provided they
- are very well fed. Split slimepeople are NOT player controlled, but rather the
- original slime person can swap between the two mobs at will. If one of the slimepeople
- should die under player control, the player won't be able to swap back to their
- living body. Splitting only creates a new body, any items you have on you are
- not duplicated.
- - rscadd: Slimepeople now take half damage from sources of heat, but double damage
- from sources of cold. Lasers good, Space bad.
-2015-11-01:
- Gun Hog:
- - rscadd: Nanotrasen listens! After numerous complaints and petitions from Security
- personnel regarding energy weapon upkeep, we have authorized the construction
- and maintenance of your station's weapon rechargers. As an added bonus, we have
- also provided a more modular design for the devices, allowing for greater recharge
- rates if fitted with a more efficient capacitor!
- - rscadd: Added Diagnostic HUDs! They can be used to view the health and cell status
- of borgs and mechs. Silicons have them built in, Roboticists get two in their
- locker, and the RD's hardsuit has one built in.
- Incoming5643:
- - rscadd: The number of roundstart head revolutionaries nows depends on the roundstart
- security force as well as the roundstart heads
- - rscadd: The maximum number of head revs is 3, the minimum is 1. If there is fewer
- than three station heads there will never be more than that number of head revs
- at roundstart. For every three vacant security roles (Head of Security/Warden/Security
- Officer/Detective) at roundstart the number of starting head revs will be reduced
- by 1.
- - rscadd: Head revolutionaries can be gained during play if the security/head roles
- are filled. They are drawn from existing revolutionaries.
- - rscadd: Added dental implant surgery. While targeting the mouth drill a hole in
- a tooth then stick a pill in there for hands free later use.
- Kor:
- - rscadd: Added an experimental control console for Xenobiology. Ask the admins
- if you'd like to try it out. It may not work on maps other than Box if they
- have renamed the Xenobiology Lab.
- - rscadd: Injecting blood into a cerulean slime will yield a special one use set
- of blueprints that will allow you to expand the territory your camera can cover.
- Kor and Remie:
- - rscadd: Added as series of laser reflector structures, the frame of which can
- be built with 5 metal sheets.
- - rscadd: Completing the frame with 5 glass sheets creates a mirror that will reflect
- lasers at a 90 degree angle.
- - rscadd: Completing the frame with 10 reinforced glass sheets creates a double
- sided mirror that reflects lasers at a 90 degree angle.
- - rscadd: Completing the frame with a single diamond sheet creates a box that will
- redirect all lasers that hit it from any angle in a single direction.
- MMMiracles:
- - tweak: Energy Swords can now embed when thrown for a 75% chance. Embedding
-2015-11-05:
- AnturK:
- - rscadd: Added wild shapeshift spell for wizards.
-2015-11-08:
- Cuboos:
- - soundadd: Added a new and better sounding flashbang sound and a ringing sound
- for flashbang deaf effect
- JJRcop:
- - tweak: Chronosuits have had their movement revised, they now take time to teleport
- depending on how far you've traveled, and don't teleport automatically anymore
- unless you stop moving for a short moment, or press the new ' Teleport Now'
- button.
- - rscadd: Added new outfit that allows admins to dress people up in the chrono equipment
- easier.
- Jalleo:
- - tweak: Due to a recently discovered report it turns out The Wizard Federation
- has devised a way for CEOs to stop having some teas from their Smartfridges
- due to this change all smartfridges will temporarily be unable to stack contents.
- Joan:
- - tweak: Revenant draining now takes about 5 seconds to complete and can be interrupted
- by dragging the target away.
- - tweak: Revenants can now tell if they are currently visible.
- - tweak: Revenant ability costs tweaked; Defile now costs 40 essence to cast, Overload
- Lights now costs 45 essence to cast, and Malfunction now costs 50 essence to
- cast.
- - tweak: Malfunction now affects non-machine objects, even if they're not being
- held by a human.
- - tweak: Defile does an extremely low amount of toxin damage to humans and confuses,
- but does much less stamina damage and stuns the revenant for slightly longer.
- - tweak: Overload Lights will no longer shock if the light is broken after a light
- is chosen to shock an area.
- Kor:
- - rscadd: Using water on a dark blue slime extract will now yield a new potion capable
- of completely fireproofing clothing items.
- - rscadd: You can once again click+drag mobs into disposal units. Xenobiologists
- rejoice.
- Xhuis:
- - tweak: Shadowling abilities now require the user to be human.
- - tweak: Enthralling now takes 21 seconds (down from 30).
- - tweak: Regenerate Chitin has been renamed to Rapid Re-Hatch.
- - tweak: Dethralling surgery's final step now requires a flash, penlight, or flashlight.
- - tweak: Dethralling surgery now produces a black tumor, which has a high biological
- tech origin but dies quickly in the light.
- - rscdel: Shadowlings no longer have Enthrall before hatching.
- - rscadd: Shadowling clothing now has icons to better reflect its existence.
- - rscdel: Ascendant Broadcast has been removed.
- - rscdel: Destroy Engines is now removed from the user after it is used once.
-2015-11-11:
- AnturK:
- - tweak: DNA Injectors now grant temporary powers on every use. Duration dependent
- on activated powers and machine upgrades
- - rscadd: 'Delayed Transfer added to DNA Scanner - It will activate on the next
- closing of scanner door '
- - rscadd: 'UI+UE injectors/buffer transfers added for convinience '
- - tweak: Injector creation timeout cut in half
- Firecage:
- - rscadd: NanoTrasen specialists has developed a new type of operating table. You
- can now make one yourself with only some rods and a sheet of silver!
- Kor:
- - rscadd: Adds immovable and indestructible reflector structures for badmin use.
- - rscadd: The Mjolnir has been added to the wizards spellbook.
- - rscadd: The Singularity Hammer has been added to the wizards spellbook.
- - rscadd: The Supermatter Sword has been added to the wizards spellbook.
- - rscadd: The Veil Render has been added to the wizards spellbook.
- - rscadd: Trigger Multiverse War (give the entire crew multiswords) has been added
- to the wizards spellbook, at a cost of 8 points.
- - rscadd: Converting (to cultist, rev, or gangster) a jobbaned player will now automatically
- offer control of their character to ghosts.
- - rscadd: Emergency Response Teams and Deathsquads no longer accept non-human members
- if the server is configured to bar mutants from being heads of staff.
- LordPidey:
- - rscadd: Nanotransen doctors have re-approved Saline-Glucose Solution for usage
- in IV drips, when blood supplies are low. Simple pills will not suffice.
- MMMiracles:
- - tweak: Water slips have been nerfed to a more reasonable duration. It is still
- a guaranteed way to disarm an opponent and obtain their weapon, but you can
- no longer manage to cuff/choke everyone who manages to slip without a problem.
- MrStonedOne:
- - bugfix: Fixes the smartfridge not stacking items.
- Xhuis:
- - soundadd: The emergency shuttle now plays unique sounds (thanks to Cuboos for
- creating them) when launching from the station and arriving at Central Command.
- torger597:
- - rscadd: Added a syringe to boxed poison kits.
-2015-11-12:
- Dunc:
- - rscdel: DNA injectors have been restored to their original permanent RNG state
- from the impermanent guaranteed state.
- Xhuis:
- - rscadd: Reagents can no longer be determined by examining a reagent container
- without the proper apparatus. Silicons and ghosts can always see reagents.
- - rscadd: Science goggles now allow reagents to be seen on examine. In addition,
- chemists now start wearing them. The bartender has a pair that looks and functions
- like sunglasses.
-2015-11-13:
- as334:
- - rscadd: Nanotrasen has hired a brand new supply of ~~expendable labor~~ *LOYAL
- CREW MEMBERS* please welcome them with open arms.
- - rscadd: Plasmamen are now a playable race. They require plasma gas to survive
- and will ignite in oxygen environments.
-2015-11-15:
- CosmicScientist:
- - tweak: Hopefully made the dehydrated carp's uplink description 100% clear.
- - tweak: Made the dehydrated carp cost 1 TC (instead of 3) to help with your traitor
- gear combos.
- Incoming5643:
- - tweak: The supermatter sword was being far too kind in the hands of men. They
- should now have the desired effect when swung at people.
- Joan:
- - tweak: Anomalies move more often, are resistant to explosions and will only be
- destroyed if they are in devastation range. You shouldn't bomb them, though.
- - tweak: Hyper-energetic flux anomaly will shock mobs that run into it, or if it
- runs into them.
- - tweak: Bluespace anomaly will occasionally teleport mobs away from it in a small
- radius.
- - tweak: Vortex anomalies will sometimes throw objects at nearby living mobs.
- - tweak: Pyroclastic anomalies will produce bigger, hotter fires, and if not disabled,
- it will release an additional burst of flame. In addition, the resulting slime
- will be rabid and thus attack much more aggressively.
- - bugfix: Gravitational anomalies will now properly throw objects at nearby living
- things.
- MrStonedOne:
- - bugfix: Away mission loading will no longer improperly expand the width of the
- game world to two times the size of the away mission map.
- - tweak: This should also improve the speed of loading away missions, since the
- game doesn't have to resize the world
- RemieRichards:
- - rscadd: Deities now start off with the ability to place 1 free turret
- - tweak: HoG Claymores now do 30 Brute (Down from 40) but now have 15 Armour Penetration
- (Up from 0)
- - bugfix: Killing the other god objective is fixed
- - tweak: Turrets will no longer attack handcuffed people
- - rscadd: Followers are now informed of their god's death
- - rscadd: Followers are now informed of the location of their god's nexus when it
- is placed
- - tweak: Gods can no longer place structures near the enemy god's nexus
-2015-11-16:
- Gun Hog:
- - tweak: The Combat tech requirement for Loyalty Firing Pins has been reduced from
- 6 to 5.
- Joan:
- - tweak: Plasmamen can now man the bar.
- - tweak: Defile no longer directly affects mobs. Instead, it rips up floors and
- opens most machines and lockers.
- - rscadd: Blight added. Blight infects humans with a virus that does a set amount
- of damage over time and is relatively easily cured. Blight also badly affects
- nonhuman mobs and other living things.
- - experiment: While the cure to Blight is simple, it's not in this changelog. Use
- a medical analyzer to find the cure.
- - tweak: Tweaked costs and stuntimes of abilities;
- - tweak: Defile now costs 30 essence and stuns for about a second.
- - tweak: Overload Lights now costs 40 essence.
- - tweak: Malfunction now costs 45 essence.
- - rscadd: Blight costs 50 essence and 200 essence to unlock.
- - imageadd: Transmit has a new, spookier icon.
- - bugfix: Revenant abilities can be given to non-revenants, and will work as normal
- spells instead of runtiming.
- bgobandit:
- - rscadd: Blood packs can now be labeled with a pen.
-2015-11-17:
- Xhuis:
- - tweak: Many medicines have received rebalancing. Expect underused chemicals like
- Oxandralone to be much more effective in restoring damage.
- - tweak: Many toxins are now more or less efficient.
- - tweak: The descriptions of many reagents have been made more accurate.
- - rscadd: 'New poison: Heparin. Made from Formaldehyde, Sodium, Chlorine, and Lithium.
- Functions as an anticoagulant, inducing uncontrollable bleeding and small amounts
- of bruising.'
- - rscadd: 'New poison: Teslium. Made from Plasma, Silver, and Black Powder, heated
- to 400K. Modifies examine text and induces periodic shocks in the victim as
- well as making all shocks against them more damaging.'
- - rscadd: Two Chemistry books have been placed in the lab. When used, they will
- link to the wiki page for chemistry in the same vein as other wiki books.
-2015-11-18:
- oranges:
- - tweak: Nanotrasen apologies for a recent bad batch of synthflesh that was shipped
- to the station, any rumours of death or serious injury are false and should
- be reported to your nearest political officer. At most, only light burns would
- result.
- phil235:
- - bugfix: Remotely detonating a planted c4 with a signaler now works again.
-2015-11-19:
- Joan:
- - rscadd: Constructs have action buttons for their spells.
- - imageadd: The Juggernaut forcewall now has a new, more cult-appropriate sprite.
- - imageadd: Cult floors and walls now have a glow effect when being created.
- - bugfix: Nar-Sie and Artificers will properly produce cult flooring.
- - spellcheck: Nar-Sie is a she.
-2015-11-20:
- AnturK:
- - tweak: Staff of Doors now creates random types of doors.
- Incoming5643:
- - bugfix: Setting your species to something other than human (if available) once
- again saves properly. Note that if you join a round where your species setting
- is no longer valid it will be reset to human.
- PKPenguin321:
- - tweak: Healing Fountains in Hand of God now give cultists a better and more culty
- healing chemical instead of Doctor's Delight.
- kingofkosmos:
- - rscadd: Added the ability to upgrade your grab by clicking the grabbed mob repeatedly.
- octareenroon91:
- - rscadd: Add the four-color pen, which writes in black, red, green, and blue.
- - rscadd: Adds two such pens to the Bureaucracy supply pack.
-2015-11-21:
- Joan:
- - rscadd: Blobs now have a hud, with jump to node, create storage blob, create resource
- blob, create node blob, create factory blob, readapt chemical, relocate core,
- and jump to core buttons.
- - tweak: Manual blob expansion is now triggered by clicking anything next to a blob
- tile, instead of by ctrl-click.
- - tweak: 'Rally Spores no longer has a cost. Reminder: You can middle-click anything
- you can see to rally spores to it.'
- - tweak: Creating a Shield Blob with hotkeys is now ctrl-click instead of alt-click.
- - rscadd: Removing a blob now refunds some points based on the blob type, usually
- around 40% of initial cost. Hotkey for removal is alt-click.
- - rscadd: Blobs now have the *Blob Help* verb which will pull up useful information,
- including what your reagent does.
- - tweak: Storage Blobs now cost 20, from 40. Storage Blobs also cannot be removed
- by blob removal.
- - tweak: Readapt Chemical now costs 40, from 50.
- octareenroon91:
- - rscadd: Add numbers and a star graffiti to crayon/spraycan designs.
-2015-11-23:
- octareenroon91:
- - rscadd: Spilling oxygen or nitrogen will obtain a release of the corresponding
- atmospheric gas in the effected tile.
- - rscadd: 'Carbon Dioxide has been added as a reagent. Recipe: 2:1 carbon:oxygen,
- heated to 777K.'
- - rscadd: Spilling CO2 will produce CO2 gas.
-2015-11-24:
- Kor:
- - rscadd: Added a lava turf. Expect to see it in away missions or in admin 'events'
-2015-11-25:
- Incoming5643:
- - experiment: A number of popular stunning spells have undergone balance changes.
- Note that for the most part the stuns themselves are untouched.
- - experiment: 'Lightning Bolt Changes:'
- - rscdel: You can no longer throw the bolt whenever you want, it will fire itself
- once it's done charging.
- - rscadd: Getting hit by a bolt will do a flat 30 burn now, as opposed to scaling
- with how long the wizard spent charging the spell. Unless said wizard made a
- habit of charging lightning bolt to near maximum every time this is a buff to
- damage.
- - rscdel: Every time the bolt jumps the next shock will do five less burn damage.
- - rscadd: Lightning bolts can still jump back to the same body, so the maximum number
- of bolts you can be hit by in a single casting is three, and the maximum amount
- of damage you could take for that is 60 burn.
- - experiment: 'Magic Missile Changes:'
- - rscdel: Cooldown raised to 20 seconds, up from 15
- - rscadd: Cooldown reduction from taking the spell multiple times raised from 1.5
- seconds to 3.5 seconds. Rank 5 magic missile now has a cooldown of 6 seconds,
- down from 9, and is effectively a permastun.
- - experiment: 'Time Stop Changes:'
- - rscadd: Time Stop field now persists for 10 seconds, up from 9
- - rscdel: Cooldown raised to 50 seconds, up from 40
- - rscadd: Cooldown reduction from taking the spell multiple times raised from 7.75
- seconds to 10 seconds. Rank 5 time stop now has a cooldown of 10 seconds, up
- from 9, and is effectively a permastun.
- Kor:
- - rscadd: Escape pods can now be launched to the asteroid during red and delta level
- security alerts. Pods launched in this manner will not travel to Centcomm at
- the end of the round.
- - rscadd: Each pod is now equipped with a safe that contains two emergency space
- suits and mining pickaxes. This safe will only open during red or delta level
- security alerts.
- MrStonedOne:
- - bugfix: fixes interfaces (like the "ready" button) being unresponsive for the
- first minute or two after connecting.
- - tweak: Burn related code has been changed
- - tweak: This will give a small buff to fires by making them burn for longer
- - tweak: This will give a massive nerf to plasma related bombs
- - tweak: I am actively seeking feedback, if the nerf to bombs is too bad we can
- still tweak stuff
- PKPenguin321:
- - rscadd: Chainsaws (both arm-mounted and not arm-mounted) can now be used in surgeries
- as a ghetto sawing tool. Arm-mounted chainsaws are a teeny bit more precise
- than regular ol' everyday chainsaws.
- YotaXP:
- - tweak: Spruced up the preview icons on the Character Setup dialog.
- incoming5643:
- - rscdel: Citing shenanigan quality concerns the wizard federation has withdrawn
- supermatter swords and veil renderers from spellbooks.
- neersighted:
- - bugfix: Make Airlock Electronics use standard ID checks, allowing Drones to use
- them.
-2015-11-26:
- neersighted:
- - tweak: Cyborg Toner is now refilled by recharging stations.
- oranges:
- - tweak: Removed the 'gloves' from the sailor dress which looked weird since it
- was a blouse basically
- - tweak: Made the skirt on the blue/red skirts less blocky,
- - tweak: Made the striped dress consistent at every direction
-2015-11-27:
- AnturK:
- - rscadd: Turret control panels can now be made through frames available at autolathe.
- - rscadd: Unlocked turrets can be linked with built controls with multiool
- JJRcop:
- - bugfix: Restores golem shock immunity.
- Kor and Ausops:
- - rscadd: Added four different suits of medieval plate armour.
- - rscadd: The Chaplain starts with a suit of Templar armour in his locker. God wills
- it!
- - rscadd: Rumour has it that Nanotrasen is now training a new elite unit of soldiers
- to deal with paranormal threats. Corporate was unable to be reached for comment.
- MMMiracles:
- - rscadd: Adds a brand new away mission for the gateway called 'Caves'.
- - rscadd: The away mission has multiple levels to explore and could be quite dangerous,
- running in without proper preparation is unadvised.
- YotaXP:
- - bugfix: Drones can now use the pick-up verb, and watertanks no longer get jammed
- in their internal storage.
- bgobandit:
- - rscadd: Due to changes in Nanotrasen's mining supply chain, ore redemption machines
- now offer a variety of upgraded items! However, certain items are more expensive.
- Point values for minerals have been adjusted to reflect their scarcity.
- - rscadd: Nanotrasen R&D has discovered how to improve upon the resonator and kinetic
- accelerator.
- - rscadd: After a colossal tectonic event on Nanotrasen's asteroid, ores are distributed
- more randomly.
- - rscadd: Bluespace crystals have been discovered to be ore. They will now fit into
- satchels and ore boxes.
- - rscadd: Mech advanced mining scanners now include meson functionality.
- neersighted:
- - bugfix: Wooden Barricades now take bullet damage.
- - tweak: Rebalance Wooden Barricade damage.
-2015-11-28:
- TechnoAlchemisto:
- - tweak: Cloaks are now worn in your exosuit slot!
-2015-11-29:
- Firecage:
- - rscadd: Hand tools now have variable operating speeds.
- GunHog:
- - tweak: Nanotrasen has improved the interface for the hand-held teleportation device.
- It will now provide the user with the name of the destination tracking beacon.
- JJRcop:
- - bugfix: Fixes changeling Hive Absorb DNA ability runtime.
- Joan:
- - imageadd: When sacrificing a target with the sacrifice rune, Nar-Sie herself will
- briefly appear to consume them.
- - imageadd: When an artificer repairs a construct, there is a visible beam between
- it and the target.
- - imageadd: When reviving a target with the raise dead rune, there is a visible
- beam between the two corpses used.
- - imageadd: When draining a target with the blood drain rune, there is a visible
- beam between you and the rune.
- - imageadd: Construct sprites are now consistent and all bob in the air.
- - rscadd: Most cult messages now use the cult span classes, though visible messages
- from cult things generally do not.
- - bugfix: Examining a cultist talisman as a cultist no longer causes the paper popup
- to appear.
- - bugfix: You no longer need to press two buttons to read a cultist tome.
- - spellcheck: Cult should have a few less typos and grammatical errors.
- - spellcheck: The sacrifice rune now uses the proper invocation.
- KorPhaeron:
- - rscadd: Guardians and holoparasites can now be manually recalled by their master.
- - rscadd: The ghost controlling a guardian or holoparasite can be repicked by their
- master, only one use which is removed when a new ghost is chosen.
- MrStonedOne:
- - rscadd: Re-adds 100% chance timed injectors, as it was removed over a misunderstanding.
- - bugfix: Fixes bug with injectors having a 100% power chance despite not being
- timed
- - bugfix: Fixes the excessive amount of time it took the game to initialize.
- - bugfix: Fixes some interface bugs.
- - rscadd: when an interface window has to send a lot of resources before it can
- open, it will now tell you with a "sending resources" line so you know why it's
- not opening right away.
- PKPenguin321:
- - rscadd: Teleprods can now be constructed. Make them via tablecrafting, or by putting
- a bluespace crystal onto a stunprod. They warp the target to a random nearby
- area (which may include space/the inside of a wall) in addition to giving the
- victim a brief stun. Like stunprods, they require a power cell to function.
- - rscadd: Teleprods can have their crystal removed and be made back into stunprods
- by using them in your hand when they have no cell installed.
- - imageadd: Mounted chainsaws now have a unique inhand sprite.
- Remie + Kor:
- - tweak: Holopads now use AltClick to request the AI
- Shadowlight213:
- - tweak: Syndie melee mobs have been buffed.
- TheNightingale:
- - rscadd: Nuclear operatives can now buy the Elite Syndicate Hardsuit for 8 TC that
- has better armor and fireproofing.
- - tweak: Added throwing stars and Syndicate playing cards to nuclear operative's
- uplink.
- Yolopanther12:
- - rscadd: Added the ability to use a box of lights on a light replacer to more quickly
- refill it to capacity.
- incoming5643:
- - rscadd: OOC will now take steps to try and prevent accidental IC from people who
- mistakenly use OOC instead of say. This doesn't catch all mistakes, so please
- don't test it.
- ktccd:
- - bugfix: Blob pieces on some areas no longer count for blob mode victory (Such
- as space or asteroid).
- - bugfix: Blobcode no longer spawns and destroys blobs uselessly, which fixes other
- stuff too.
- - bugfix: Asteroid areas are no longer valid gang territory.
- neersighted:
- - experiment: Nanotrasen would like to announce NanoUI 2.0, now being rolled out
- across all our stations. Existing NanoUI devices have been updated, and more
- will be added soon. Please report any bugs to Nanotrasen Support.
- - tweak: Many NanoUI interfaces have had +/- buttons replaced with input fields.
- - tweak: Some NanoUI interfaces have had more information added.
- - bugfix: Drones can now interact with NanoUI windows.
- swankcookie:
- - bugfix: Fixes issue of space-Christians forgetting about the true, humbling values
- of space-Christmas.
- - rscadd: Adds snowmen outfits
-2015-11-30:
- neersighted:
- - bugfix: Nanotrasen would like to apologize for Chemistry being stuck on NanoUI
- 1.0... Please report any further bugs to Nanotrasen Support.
- - tweak: NanoUI becomes... difficult to operate with brain damage. Who would have
- guessed?
- - tweak: Telekinesis enables you to use NanoUI at a distance.
- - bugfix: Canisters require physical proximity to actuate...
- - bugfix: NanoUI no longer leaks memory on click.
-2015-12-01:
- Kor:
- - rscadd: The away mission Listening Post, originally mapped by Petethegoat, has
- removed as a mission. It is now present in normal deep space.
- neersighted:
- - tweak: Attack animations are now directional!
- - rscadd: Nanotrasen brand Airlock Electronics now sport our latest NanoUI interface!
- Upgrade your electronics today!
- - bugfix: Cryo now knocks you out.
- - bugfix: Resisting out of cryo has a delay.
- - rscadd: Cryo auto-ejection can now be configured.
- - rscdel: Remove Cryo eject verb (resist out).
- - bugfix: Cryo works... Love, neersighted
- swankcookie:
- - tweak: Switches cloak usage to overclothing slot
-2015-12-02:
- GunHog:
- - bugfix: Nanotrasen has discovered a flaw in the weapon recharging station's design
- that makes it incompatible with the Rapid Part Exchange Device. This has been
- corrected.
- neersighted:
- - tweak: You can now stop pulling by trying to pull the same object again.
- - rscadd: Nanotrasen is proud to announce that even the dead can use our state of
- the art NanoUI technology.
-2015-12-03:
- Joan:
- - rscadd: Artificers now have feedback when healing other constructs, showing how
- much health the target has.
- - tweak: Constructs can move in space.
- - imageadd: Fixes cult flooring not lining up with normal floors.
- - imageadd: Fixes a juggernaut back spine not glowing where it should.
- Spudboy:
- - tweak: Realigned the librarian's PDA.
- Swankcookie:
- - bugfix: Cakehat now creates light
- YotaXP:
- - rscadd: Rolled out a new line of space heaters around the station. This new model
- has the functionality to cool down the environment, as well as heat it. Additionally,
- they can be built and upgraded like any other machine.
- neersighted:
- - bugfix: Dominator now shows the correct area name on non-Box maps.
- - bugfix: Unwrenching atmos pipes is less... nuts...
- - bugfix: You don't get hopelessly spun when standing on a unwrenched pipe... Don't
- try it, though.
- - tweak: You can now cancel pulling by Ctrl+Clicking anything else
- - tweak: Chemistry Dispensers now have a built-in drain!
-2015-12-05:
- Joan:
- - rscdel: Magic missiles no longer do damage.
-2015-12-06:
- Gun Hog:
- - rscadd: Nanotrasen is proud to announce that it has improved its Diagnostic HUD
- firmware to include the station's automated robot population! New features include
- integrity tracking, Off/On status, and mode tracking! If your little robot friend
- suddenly manages to acquire free will, you will be able to track that as well!
- - tweak: Artificial Intelligence units may find that their bot management interface
- now shows when a robot gains free will. This is also displayed on the Personal
- Data Assistant's bot control interface.
- neersighted:
- - bugfix: Cryo now properly checks it is on before healing...
-2015-12-07:
- octareenroon91:
- - rscadd: Wallets now use the access of all IDs stored inside them.
- - rscadd: As the accesses of all IDs are merged, two IDs in a wallet may grant access
- to a door that neither one alone would open.
- - bugfix: Wallets used to be useless for access if the first ID card put into it
- was taken out, until another ID card was put back in. That should not happen
- anymore.
-2015-12-08:
- Joan:
- - experiment: Revenants can no longer move through walls and windows while revealed,
- though they can move through tables, plastic flaps, mobs, and other similarly
- thin objects.
- - tweak: Defile now reveals for 4 seconds, from 8.
- - tweak: Overload lights now reveals for 10 seconds, from 8.
- - tweak: Blight now reveals for 6 seconds, from 8.
- - rscadd: Blight has a higher chance of applying stamina damage to the infected.
- Kor:
- - rscadd: The blocking system has been completely overhauled. Any held item, exosuit,
- or jumpsuit can now have a chance to block, or a custom on hit effect. Different
- shields can now have different block chances.
- - rscadd: The clowns jumpsuit now honks when you beat the owner.
- - rscadd: There is a new (admin only for now) suit of reactive armour that ignites
- attackers instead of warping you.
- - rscadd: Shields will no longer block hugs. Give peace a chance.
- neersighted:
- - tweak: MC tab reworked, more items made available.
- - rscadd: Admins can now click entries in the MC tab to debug.
-2015-12-09:
- GunHog:
- - tweak: Nanotrasen has discovered new strains of Xenomorph which resist penetration
- by known injection devices, including syringes. This seems to only extend to
- the large 'Royal' strains, designed 'Queen' and 'Praetorian'. Extreme caution
- is advised should these specimens escape containment.
- - rscadd: Ghosts may now use Diagnostic HUD.
- - tweak: Feedback added for which HUD is active.
- Kor:
- - rscadd: Security barricades now block gunfire 80% of the time while deployed.
- - rscadd: Standing adjacent to barricades will allow you to shoot over them.
- MrStonedOne:
- - rscadd: noslip floors make you slightly faster
- Shadowlight213:
- - rscadd: Admins can now interact with mos of the station's machinery as if they
- were an AI when ghosting.
- incoming5643:
- - rscadd: a mutation of glowshrooms, glowcaps, have recently been discovered in
- botany.
- ktccd:
- - bugfix: Blobs now require the correct amount of blobs to win that scales depending
- on number of blobs, instead of a set value of 700.
-2015-12-12:
- Joan:
- - tweak: The blob Split Consciousness ability now requires a node under the overmind's
- selector, instead of picking the oldest living node to spawn a core on.
- - bugfix: Revenant antagonist preference can once again be toggled from the Game
- Preferences menu.
- Kor:
- - rscadd: You now have a chance to flip while attacking with a dualsaber.
- - rscadd: Bluespace survival capsules have been added to escape pod safes.
- - rscadd: Standing between activating shield generators now has disastrous consequences.
- Lo6a4evskiy:
- - bugfix: Ninja drains power properly, no more infinite stealth.
- RemieRichards:
- - rscadd: Adds a Synth Species
- - rscadd: Species can now react to being force set by admins, used for Synth species
-2015-12-13:
- Kor:
- - rscadd: Adds reactive stealth armor. Admin spawn only.
-2015-12-15:
- Incoming5643:
- - rscadd: The summon events... event "RPG loot" now allows for items to have bonuses
- of up to +15!
- - rscadd: The "RPG loot" event now also improves the damage reduction of armor!
- - rscadd: Check out the item mall for new item fortification scrolls!
- as334:
- - rscadd: New research has shown that when when plasma reaches a high enough temperature
- in the presence of a carbon catalyst, it undergoes a violent and powerful fusion
- reaction.
- - rscadd: Adds a new gas reaction, fusion. Heat up plasma and carbon dioxide in
- order to produce large amounts of energy and heat.
- oranges:
- - tweak: hulk no longer stuns
- - tweak: John Cena
-2015-12-16:
- AnturK:
- - rscadd: Medical Beam Gun now available for Nuclear Operatives and ERT Medics.
- Joan:
- - tweak: Revenant Overload Lights reveal time lowered from 10 seconds to 8 seconds,
- shock damage increased from 18 to 20.
- - tweak: Revenant Blight reveal time lowered from 6 seconds to 5 seconds.
- Kor:
- - rscadd: Styptic once again works in patches.
- - rscadd: Nuke Op team leaders can now activate challenge mode if more than 50 players
- are online.
- - rscadd: Xenobio mobs will no longer spontaneously murder their friends if you
- give them sentience
- The-Albinobigfoot:
- - bugfix: The Wishgranter now displays its faith in humans with curbed enthusiasm.
- Tkdrg:
- - experiment: Cult has been overhauled in an attempt to make the gamemode more fun.
- - rscdel: Cult onversion and stunpapers have been removed. So have most cult objectives.
- - tweak: The cult's single objective is now defend and feed a large construct shell
- in order to summon the Geometer.
- - tweak: The cult must sacrifice souls in order to acquire summoning orbs, which
- must be inserted inside said shell.
- - tweak: The large construct shell can be procured by using a summoning orb in hand,
- but it is vulnerable to attack.
- - tweak: Once enough orbs are inserted, the station will go Delta. After three minutes,
- the cult will have won.
- - rscadd: Cult communications now no longer damage you when done without a tome.
- - rscadd: Cultists now start with a sacrificial dagger, with bleeding effects and
- high throwing damage.
- - rscadd: Most existing runes were buffed, merged, or removed. A Immolate rune and
- a Time Stop rune were added. Experiment!
- - experiment: Each cultist now gets a random set of runes in their tomes. Pool together
- your knowledge in order to thrive.
- neersighted:
- - experiment: NanoUI 3.0
- - experiment: Completely rewrite NanoUI frontend; rework backend.
- - tweak: Re-design NanoUI interface to be much more attractive.
- - tweak: Reduce NanoUI LOC count/resource size.
- - tweak: Reduce NanoUI tickrate; make UIs update properly.
- - rscadd: Add chromeless NanoUI mode.
- - rscadd: NanoUI's chromeless mode can be toggled with the 'Fancy NanoUI' preference.
- - bugfix: Allow NanoUI to work on IE8-IE11, and Edge.
- - bugfix: Close holes that allow NanoUI href spoofing.
-2015-12-17:
- Kor:
- - rscadd: Security barricades are now deployed via grenade. You can no longer move
- them after they've been deployed, you must destroy them.
- - rscadd: You can now shoot through wooden barricades while adjacent, while any
- other gunfire has a 50% chance of being blocked.
- - rscadd: There are no longer restrictions against implanting the nuclear disk in
- people.
- - rscadd: If the station is destroyed in a nuclear blast, any surviving traitors
- will complete their "escape alive" objective regardless of their location.
- - rscadd: Hulks now lose hulk when going into crit, rather than at 25 health.
- - rscadd: Shuttles will no longer drag random tiles of space with them. This means
- you can be thrown out of partially destroyed escape shuttles very easily.
- - rscadd: The people and objects on destroyed tiles won't be along for the ride
- when the shuttle moves either.
- - rscadd: Adds hardsuits with built in energy shielding. CTF and security versions
- are admin only.
- - rscadd: Nuclear operatives can buy a shielded hardsuit for 30tc.
- - rscadd: Traitors can now buy a Mulligan for 4 telecrystals, a syringe that completely
- randomizes your name and appearance.
- - rscadd: The spy bundle now includes a switchblade and Mulligan.
- MMMiracles:
- - rscadd: A set of coordinates have recently reappeared on the Nanotrasen gateway
- project. Ask your local central official about participation.
- MrStonedOne:
- - tweak: 'Ghosts can now double click on ANY movable thing (ie: not a turf) to orbit
- it'
- PKPenguin321:
- - rscadd: Dope golden necklaces have been added. They're a jumpsuit attachment like
- ties and are completely cosmetic.
- - rscadd: Dope necklaces can be bought from the clothesmate with a coin. Three are
- in the clothesmate by default, so you can get your posse going. Gangs that aren't
- Sleeping Carp can also purchase necklaces for 1 influence each. Dope.
- xxalpha:
- - tweak: Restores the ability to bolt and unbolt operating airlocks.
-2015-12-18:
- Incoming5643:
- - rscadd: Soon to be blobs in blob mode can now burst at their choosing. However
- they will still burst if they wait too long.
- - rscadd: Burst responsibly.
- Joan:
- - rscadd: 'New blob chemicals:'
- - rscadd: Pressurized Slime, which is grey, does low brute, oxygen, and stamina
- damage, but releases water when damaged or destroyed.
- - rscadd: Energized Fibers, which is light yellow, does low burn damage, high stamina
- damage, and heals if hit with stamina damage.
- - rscadd: Hallucinogenic Nectar, which is pink, does low toxin damage, causes vivid
- hallucinations, and does some bonus toxin damage over time.
- - tweak: Replaces Kinetic Gelatin with Reactive Gelatin, which does less brute damage,
- but if hit with brute damage in melee, damages all nearby objects.
- - wip: 'Changes three of the old blob chemicals:'
- - tweak: Ripping Tendrils does slightly more stamina damage
- - tweak: Envenomed Filaments no longer causes hallucinations, but does some stamina
- damage in addition to toxin damage over time.
- - tweak: Cryogenic Liquid will freeze targets more effectively.
- Kor:
- - rscadd: Shooting someone who is holding a grenade has a chance to set the grenade
- off.
- - rscadd: Shooting someone who is holding a flamethrower has a chance to rupture
- the fuel tank.
- - tweak: Shields have a bonus against blocking thrown projectiles.
- Swankcookie:
- - rscadd: lanterns no longer turn into flashlights when you pick them up.
- bgobandit:
- - rscadd: Lizard tails can now be severed by surgeons with a circular saw and cautery,
- and attached the same way augmented limbs are.
- - rscadd: The Animal Rights Consortium is horrified by Nanotrasen stations' sudden
- rise of illegal lizard tail trade, with such atrocities as lizardskin hats,
- lizard whips, lizard clubs and even lizard kebab!
- neersighted:
- - tweak: NanoUI should now load much faster, as the filesize and file count have
- been reduced
-2015-12-20:
- Joan:
- - tweak: Reduces Lexorin Jelly's oxygen damage significantly.
- - experiment: Blobbernaut chemical application on attack is back, but much less
- absurd this time; blobbernauts with an overmind will do 70% of the normal chem
- damage(plus 4) and attack at a much slower rate than the blob itself can.
- - wip: As an example, a blobbernaut with the Ripping Tendrils chemical would do
- 14.5 brute and 10.5 stamina damage per hit.
- Kor:
- - rscadd: Adds reactive tesla armour. Adminspawn only.
- - rscadd: Adds the legendary spear, Grey Tide. Admin only.
- - rscadd: Nuke Ops can now purchase penetrator rounds for their sniper rifles.
- - rscadd: Nuke ops can now purchase additional team members for 25 telecrystals.
- They don't come with any gear other than a pistol however, so remember to save
- some points for them.
- - rscadd: Nuke Ops now have an assault pod. A 30tc targeting device will allow you
- to select any area on the station as its landing zone. The pod is one way, so
- don't forget your nuke.
- - rscdel: The teleporter board is no longer available for purchase in the uplink.
- - rscdel: After finding absolutely nothing of value, Nanotrasen away teams placed
- charges and scuttled the abandoned space hotel.
- - rscadd: Metastation now has xenobiology computers.
- - rscadd: Metastation now has escape pod computers.
- - rscadd: A distress signal has been detected broadcasting in an asteroid field
- near Space Station 13.
- - rscadd: Clicking the (F) follow link for AI speech will now make you orbit their
- camera eye.
- MMMiracles:
- - tweak: The SAW has been revamped slightly. It now requires a free hand to fire,
- but includes 4 new ammo variants along with a TC cost decrease for both the
- gun and the ammo boxes.
- MrStonedOne:
- - bugfix: Fixes ghost orbit breaking ghost floating
- - bugfix: Fixes orbiting ever breaking golem spawning
- - bugfix: 'Fixes orbiting ever preventing that ghost from showing up in pictures
- taken by ghost cameras resdel: Fixes being able to break your ghost sprite by
- multiple quick consecutive orbits (FINAL SOLUTION, PROVE ME WRONG YOU CAN''T)'
- Remie:
- - rscadd: 'Byond members can now choose how their ghost orbits things, their choices
- are: Circle, Triangle, Square, Pentagon and Hexagon!'
- - tweak: orbit() should be much cheaper for clients now, allowing those of you with
- potato PCs to survive mega ghost swirling better.
- incoming5643:
- - bugfix: the terror of double tailed lizards and featureless clones should now
- be over
- - rscdel: the emote *stopwag no longer works, just *wag again to stop instead
-2015-12-21:
- AnturK:
- - tweak: Ghost HUD and Ghost Inquisitiveness toggles are now persistent between
- rounds.
- Kor:
- - rscadd: Malfunctioning AIs have been merged with traitor AIs. They no longer appear
- in their own mode.
- - rscadd: Hacking APCs now gives you points to spend on your modules. Save up enough
- points and you can buy a doomsday device on a 450 second timer.
- - rscadd: The detectives revolver reskins on alt click now.
- - rscadd: You can now dual wield guns. Firing a gun will automatically fire the
- gun held in your off hand if you are on harm intent.
- LanCartwright:
- - tweak: The TC costs for nuke ops have been rebalanced. Guns, viscerators and mechs
- are cheaper, ammo and borgs are more expensive.
- - rscadd: Most guns can now be bought in bundles, together with some ammo and freebies
- for a special discount.
- The-Albinobigfoot:
- - rscadd: Nuclear Operative families may once again requisition ultra-adhesive footwear.
-2015-12-22:
- Iamgoofball:
- - rscadd: Tesla engine has been added alongside the singularity engine to all maps.
- Joan:
- - wip: 'Adds three new blob chemicals:'
- - rscadd: Replicating Foam, which is brown, does brute damage, has bonus expansion,
- and has a chance to expand when damaged.
- - rscadd: Sporing Pods, which is light orange, does low toxin damage, and has a
- chance to produce weak spores when expanding or killed.
- - rscadd: Synchronous Mesh, which is teal, does brute damage and bonus damage for
- each blob tile near the target, and splits damage taken between nearby blobs.
- - experiment: Synchronous Mesh blobs take 25% more damage, to compensate for the
- spread damage.
- Kor:
- - rscadd: Cayenne will no longer be targeted by the syndicate turrets.
- - tweak: Energy shields now only reflect energy projectiles.
- - rscadd: Added accelerator sniper rounds to uplink, a weak projectile that ramps
- up damage the farther it flies.
- MMMiracles:
- - bugfix: Saber magazines have been dropped to 21 per magazine. When asked, Nanotrasens
- official ballistic department replied "There is indeed such a thing as too much
- bullet."
- Xhuis:
- - tweak: Stun batons can now be blocked by shields, blocked hits don't deduct charge.
- xxalpha:
- - rscadd: Janitor cyborgs now have a bottle of drying agent.
-2015-12-25:
- Joan:
- - rscdel: The blob Split Consciousness ability has been removed.
- - tweak: The blob mode now spawns more roundstart blobs, instead.
- Kor:
- - rscadd: AI holograms no longer drift in zero gravity
- LanCartwright:
- - tweak: Shotguns shells now have one extra pellet.
- MrStonedOne:
- - bugfix: Screen shakes will no longer allow you to see through walls
- - tweak: Screen shakes will now move with you when moving rather than lag your client
- behind your mob
- - tweak: Screen shakes are now less laggy in higher tickrates
-2015-12-26:
- Buggy123:
- - tweak: Salicyclic Acid now rapidly heals severe bruising and slowly heals minor
- ones.
- Iamgoofball:
- - tweak: Telsa energy ball now shoots only a single, powerful beam of lightning
- that can arc between mobs.
- - soundadd: Energy ball can now be heard when near-by.
- Incoming5643:
- - tweak: Animated objects now revert if they have no one to attack for a while.
- - rscadd: Added Golden revolver, a powerful sounding gun with large recoil.
- Kor:
- - rscadd: Transform Sting is now actually functional.
- MrStonedOne:
- - tweak: Movement in no gravity now allows you to push off of things only dense
- to some mobs if it is dense to you (such as tables/blob tiles) rather than just
- objects that are only dense to all mobs.
- - bugfix: Long/timed actions will now cancel properly if you move and quickly move
- back to the right location.
-2015-12-27:
- Joan:
- - rscadd: Overmind-created blobbernauts are now player-controlled if possible.
- - tweak: Creating a blobbernaut no longer destroys the factory, instead doing heavy
- damage to it and preventing it from spawning spores for one minute.
- - tweak: You cannot spawn blobbernauts from overly damaged factories.
- - rscadd: Procedure 5-6 may be issued for biohazard containment under certain situations.
- - tweak: Blobs will now burst slightly later on average, and the nuke report with
- the nuke code will arrive slightly earlier.
- Kor:
- - soundadd: Spacemen now announce when they are changing magazines.
- - rscadd: Command headsets now have a toggle to let you have larger radio speech.
- LanCartwright:
- - rscdel: The Syndicate Ship no longer spawns with Bulldog shotguns, operative have
- been given 10 extra telecrystals instead.
- MrStonedOne:
- - bugfix: Flashes that were emp'ed were incorrectly flashing people in range of
- the emper, not in range of the flash.
- - tweak: Flashes in a mob's inventory that are emp'ed will only aoe stun if it is
- not inside of a container like a backpack/box
-2015-12-28:
- AnturK:
- - rscadd: You can now write an entire word with crayons by setting it as a buffer
- and then clicking the target tiles in the right order.
- Joan:
- - rscdel: Blobbernauts can no longer smash walls of any type.
- MrStonedOne:
- - tweak: Progress bars now have 20 states instead of 5.
- - bugfix: Bump mining should be fixed.
- - tweak: Long actions now checks for movement/changed hands/etc more often to prevent
- edge cases.
- - tweak: Multiple progress bars will now stack properly, rather than fight each
- other for focus.
- Ressler:
- - rscadd: Adds the reagent Haloperidol.
- - rscadd: It is an anti-drug reagent, good for stopping assistants hyped up on meth,
- bath salts, and equally illegal drugs.
- - rscadd: It can be made with Chlorine, Fluorine, Aluminum, Potassium Iodide, and
- Oil.
- neersighted:
- - bugfix: Make NanoUIs transfer upon (un)ghosting.
- - bugfix: Fix NanoUIs jumping when resized/dragged.
- - bugfix: Lots of other NanoUI bugs.
-2015-12-31:
- Bawhoppen:
- - rscadd: Nanotrasen has opened the availability of tactical SWAT gear to station's
- cargo department
- - rscadd: Due to a new trade agreement with Chinese space suit manufacturers, Nanotrasen
- can now obtain basic space suits much cheaper; This has been reflected in the
- cargo prices
- - rscadd: Amateur medieval enthusiasts have found a quick way to easily make wooden
- bucklers.
- Joan:
- - imageadd: Replaced every book sprite in the game with new, consistent versions.
- - imageadd: Except the one-use wizard spellbooks, which already got new sprites.
- PKPenguin321:
- - rscadd: Chest implants have been added that allow you to morph your arms into
- a gun and back at will. There are two variants, a taser version and a laser
- version. Both versions are self-charging. Getting EMPed with one of these implants
- results in the implant breaking and loads of fire damage. The implants are currently
- admin-only.
- - tweak: The telecrystal price for thermal imaging goggles has been lowered from
- 6 to 4.
- incoming5643:
- - rscadd: The wizard federation has finally updated their assortment of guns for
- the summon guns event. Look forward to getting shot in the face with a whole
- new batch of interesting and rarely seen weaponry!
-2016-01-01:
- Iamgoofball:
- - experiment: Redid how objectives are assigned, they're now a lot more random in
- terms of what you can get.
- Incoming5643:
- - tweak: Removed gender restrictions from socks.
- Joan:
- - rscdel: Storage Blobs are gone; they were effectively a waste of resources, as
- there are more or less no points at which you should need them, unless you were
- winning excessively hard.
- - rscdel: Blobs can no longer burst early; instead, the button gives some early
- help and serves to indicate you're a blob.
- - wip: Blobbernauts now poll candidates instead of grabbing a candidate immediately.
- The poll is 5 seconds, so that there's no significant pause between making a
- blobbernaut and it doing stuff.
- - rscadd: Blobbernaut creation replaces Storage Blob creation on the blob HUD.
- - tweak: Overmind communication is now much larger and easier to see, and blob mobs,
- such as blobbernauts, will hear it.
- Kor:
- - rscadd: The wizard has a new spell, Lesser Summon Guns. This summons an unending
- stream of single shot bolt action rifles into his hands, automatically replacing
- themselves as you fire.
- - bugfix: Fixes successive generations of grey tide clones not despawning.
- - tweak: Using challenge ops now delays shuttle refuel.
- - rscadd: Added a new wizard event, Advanced Darkness.
- MrStonedOne:
- - experiment: GHOST POPUP RE-WORK
- - bugfix: Ghost popups will no longer steal focus
- - bugfix: Ghost popups will no longer submit on key press (regardless of focus)
- unless you tab to a button first
- - tweak: Ghost popups will close themselves after the time out has ended
- - rscadd: Ghost popups are now themed.
- - tweak: Long actions (like resisting out of handcuffs) will no longer count space/nograv
- drifting as the user moving.
- - tweak: This does not apply to the target of a long action if that target isn't
- you. Pulling something while space drifting and working on it intentionally
- won't work.
-2016-01-02:
- Kor:
- - rscadd: Guardians/Parasites are now named after constellations, and have new sprites
- from Ausops.
- Kor and GunHog:
- - rscadd: Malfunctioning AIs can now purchase Enhanced Surveillance for 30 points,
- which allows them to "hear" with their camera eye.
- MMMiracles:
- - rscadd: A distress signal was recently discovered with gateway coordinates attached
- to a far-off research facility owned by Nanotrasen. The signal was sent out
- in hopes of someone competent receiving it, unfortunately, your station was
- the only one to respond. Local security forces may not be welcoming your arrival
- group with open arms.
-2016-01-07:
- KorPhaeron:
- - tweak: Doubled cost of Lesser Summon Guns to 4 and increased charge time to 75
- seconds.
- TrustyGun:
- - rscadd: 'Added two new UI styles: black and green Operative and pale green Slimecore.'
-2016-01-09:
- Wjohnston:
- - wip: AI Satellite has been remapped to make it more secure.
-2016-01-11:
- Joan:
- - rscdel: Blob cores and nodes no longer cause normal pulsed blobs to animate. Factories
- and resource nodes will still animate.
- - imageadd: Holoparasite sprites have been updated again, are now named after silvery
- metals and flowers and can also be colored purple, blue or yellow.
- xxalpha:
- - tweak: Pipes and cables under walls, intact floors, grilles and reinforced windows
- will now be shielded from explosions until exposed.
-2016-01-13:
- Joan:
- - imageadd: Alien whisper ability has a new icon
- MrStonedOne:
- - tweak: Control clicking on the thing you are pulling will no longer unpull, instead
- control clicking on anything too far away to be pulled will unpull. (reminder
- that the delete key also unpulls)
- OneArmedYeti:
- - imageadd: To help with colorblindness, gang HUDs have been changed so leaders
- have a border and normal gangster icons are smaller.
-2016-01-15:
- Joan:
- - bugfix: Holoparasites can no longer beat their owner to death while inside of
- them.
- - spellcheck: Updates traitor holoparasite descriptions for accuracy.
- - spellcheck: Adds 8 additional silvery metals to the holoparasite name pool.
- - imageadd: Adds two new holoparasite colors, light purple and red.
- - imageadd: Holoparasite HUD buttons now have new sprites.
- - imageadd: Adds glow effects when guardians teleport or recall, including fire
- guardian teleporting and support guardian teleporting.
- Kor:
- - rscadd: Washing machines are activated via alt+click rather than a right click
- verb.
-2016-01-16:
- Joan:
- - imageadd: Alien queens and praetorians have suitably large speechbubbles.
- - imageadd: Syndicate cyborgs and syndrones have suitably evil robotic speechbubbles.
- - imageadd: Blob mobs have suitably uncomfortable-looking speechbubbles.
- - imageadd: Holoparasites and guardians have suitably robotic and magical speechbubbles.
- - imageadd: Swarmers have suitably holographic speechbubbles.
- - imageadd: Slimes have suitably slimy speechbubbles.
-2016-01-17:
- Joan:
- - bugfix: You can once again repair a hacked APC by using an APC frame on it instead
- of welding it off the wall, at the same stage as you'd weld it off the wall.
- MrStonedOne:
- - bugfix: Control clicking on a turf now un-pulls
-2016-01-19:
- neersighted:
- - rscadd: Many many interfaces have been ported to tgui; uplinks and MULEbots being
- the most important
- - rscadd: You can now tune radios by entering a frequency
- - bugfix: Air Alarms now support any gas
-2016-01-23:
- neersighted:
- - experiment: Refactor wires; port wire interface to tgui.
- - rscadd: Wire colors are now fully randomized.
- - rscdel: Remove pizza bombs, as the code and sprites were terrible.
- - rscadd: Add pizza bomb cores, which can be combined with a pizza box to make a
- pizza bomb.
- octareenroon91:
- - bugfix: Chemistry machinery should now all equally accept beakers, drinking glasses,
- etc.
-2016-01-27:
- Joan:
- - tweak: Golems have about a 40% chance to stun with punches, from about 60%.
- - tweak: Millitary Synths have about a 50% chance to stun with punches, from literally
- 100%.
- - wip: Blobbernaut creation costs 30 points, and does much more damage to the factory.
- - rscdel: Blob factories regenerate at half normal rate.
- - tweak: Blob reagents tweaked;
- - rscadd: Ripping Tendrils does slightly more brute damage, but less stamina damage.
- - rscdel: Lexorin Jelly does less brute damage.
- - rscadd: Energized Fibers does slightly more burn damage.
- - rscadd: Sporing Pods does slightly more toxin damage.
- - rscadd: Replicating Foam will try to replicate when hit more often.
- - rscadd: Hallucinogenic Nectar does slightly more toxin damage and causes hallucinations
- for longer.
- - rscadd: Cryogenic Liquid does more burn damage.
- - experiment: Synchronous Mesh does slightly less damage with one blob but massive
- damage with more than one nearby blob.
- - rscdel: Dark Matter does less brute damage.
- - rscdel: Sorium does slightly less brute damage.
- - rscdel: Pressurized Slime has a lower chance to emit water when killed and when
- attacking targets.
- - tweak: Supermatter explosion is no longer capped, and under normal conditions
- will produce a 8/16/24 explosion when delaminating.
- - imageadd: Blob tiles now do an attack animation when failing to expand into a
- turf.
- - imageadd: Overmind-directed expansion is more visible than automatic expansion.
- Kor:
- - rscadd: Capture the flag has been added in space near central command. The spawners
- are disabled by default, so be sure to harass admins when you die until they
- let you play. The arena was mapped by Ausops.
- - rscadd: Nuke ops can purchase mosin nagants for 2 telecrystals.
- MrStonedOne:
- - bugfix: Fixes the powersink drawing less power than the smeses put out.
- - tweak: Made the powersink hold significantly more power before overloading and
- going boom.
- - tweak: Buffed the explosion of the power sink when it overloads. You are suggested
- to think twice about wiring the engine to the grid.
- PKPenguin321:
- - rscadd: The Autoimplanter, a device that can insert cyberimplants into humans
- instantly and without the need of surgery, has been added to the game. It is
- currently only obtainable by nuke ops, by way of being included in the Box of
- Implants.
-2016-01-28:
- Joan:
- - rscadd: Blobs can communicate before bursting to allow for more coordination.
- Kor:
- - rscadd: Butchering mobs by attacking them with sharp objects will only happen
- on harm intent. This means it is possible to do surgery on aliens again.
-2016-01-29:
- Joan:
- - rscadd: Holoparasites can now see their summoner's health at all times. The health
- displayed is a percentage, with 0 being dead.
- - imageadd: Holoparasites now have visual flashes on the summoner's location when
- recalled due to range limits and when manifesting.
- Kor:
- - rscadd: Red xenobio potions now work on vehicles (janitor cart, ATV, secway, etc),
- causing them to go faster.
- - rscadd: Stuffing people in bins uses clickdrag instead of grab.
-2016-01-30:
- Boredone:
- - tweak: Due to an experiment gone wrong, the Research Director's Teleport Armor
- now causes some mild radiation poisoning on teleportation to the wearer.
- Francinum:
- - rscadd: Added two new female underwear styles.
- Kor:
- - rscadd: You can now use the abandoned white ship as an escape route at round end.
- This is possible on Box, Meta, and Dream.
- - rscadd: Added support so that mappers can make any shuttle function as an escape
- shuttle.
- MMMiracles:
- - rscadd: Three new bra sets have been added for the ladies out there who want to
- show their patriotism.
- xxalpha:
- - rscadd: Blueprints will now allow the expansion of an existing area by giving
- its name to a new adjacent area.
- - rscadd: Added a no power warning cyborg verb to Robot Commands.
-2016-01-31:
- Kor:
- - rscadd: Added a special AI upgrade disk that allows normal AIs to use malf modules
- and hack APCs. It is admin only.
- - rscadd: Added an AI upgrade disk that grants AIs the lipreading power. It is admin
- only.
-2016-02-01:
- Erwgd:
- - rscadd: The Kitchen Vending machine now stocks salt shakers and pepper mills!
- - rscadd: The NutriMax now stocks spades, cultivators and plant analyzers.
- - rscadd: Rice seeds are now stocked in the MegaSeed Servitor, and the seeds supply
- crate now contains a pack of rice seeds.
- - rscdel: Botanists should be aware that wheat stalks can no longer mutate into
- rice.
- Fayrik:
- - rscadd: pAI cards can now be inserted into simple robots, to allow for more robust
- robot personalities.
- PKPenguin321:
- - rscadd: You can now store knives, pens, switchblades, and energy daggers in certain
- types of shoes (such as jackboots, workboots, winter boots, combat boots, or
- no-slips).
- - rscadd: Horns can now be stored in clown shoes. Honk.
- TrustyGun:
- - rscadd: Adds gag handcuffs to the prize pool for arcade machines. They act like
- regular handcuffs, but you break out of them in a second.
- WJohnston:
- - rscadd: Adds missing booze & soda dispenser, library console, fixes door access
- and a few other minor things to Efficiency Station
- - rscadd: Also adds direction tags so people can find their way around better.
- bgobandit:
- - rscadd: On Valentine's Day, all spacemen will receive candy hearts and valentines
- for their special someones! Label valentines with a pen.
- - rscadd: Note that today is not Valentine's Day.
-2016-02-05:
- Joan:
- - experiment: Blob expansion is faster near the expanding blob, but slower further
- away from it.
- - tweak: Blob spores produce a slightly larger smoke cloud when dying. Sporing Pods
- spores and blob zombies produce the current small cloud.
- - rscdel: Blobbernauts can no longer pull anything at all.
- - tweak: Blobbernauts health reduced to 200, but blobbernauts now take half brute
- damage.
- - tweak: Blobbernauts now take massive damage from fire.
- - tweak: Blobbernauts do approximately 3 more damage when attacking.
- - wip: Replicating Foam will expand more actively when damaged.
- - rscadd: Adds Electromagnetic Web, which is light blue, does burn damage and EMPs
- targets, and causes a small EMP when dying.
- - rscadd: Electromagnetic Web takes more damage; a normal blob that hasn't been
- near a node or the core for 6~ seconds can be oneshotted by a laser.
- - rscadd: Anomalies, such as pyroclastic and vortex anomalies, now appear at the
- bottom of the ghost orbit and observe menus.
- Kor:
- - rscadd: Nuke ops can purchase sentience potions for 4tc
- MMMiracles:
- - tweak: Bulldog now starts with stun-slugs instead of its usual 60-brute slugs.
- Slugs now cost 3 TC instead of 2.
- - tweak: Most SAW ammo has been slightly buffed in damage so maybe it'll be worth
- buying now along with a slight cost decrease for the gun itself.
- - tweak: Incen shells for the shotgun now apply extra firestacks on hit so it actually
- sets people on fire instead of turning them into a light show.
- - tweak: Incen rounds for the SAW now leave a fire trail similar to the bulldog's
- dragonsbreath round.
- - rscadd: Nuke Ops now have the ability to purchase breaching shells, a weaker variant
- of the meteorslugs that can still push back people/airlocks/mechs/corgis.
- - bugfix: SAW should now use its in-hand sprites for an open-closed magazine
- PKPenguin321:
- - rscadd: You can now sharpen carrots into shivs by using a knife or hatchet on
- them.
- bgobandit:
- - rscadd: Seven new emoji have been added to hasten the death of the English language.
- octareenroon91:
- - rscadd: Player-controlled medibots can examine a patient to know what chems are
- in the patient's body.
- - bugfix: autolathes have been showing extra copies of the hacked designs, but no
- more.
-2016-02-06:
- LordPidey:
- - rscadd: Added suicide command for pipe valves. It's quite messy.
- Lzimann:
- - tweak: Combat Mechas now have a increased chance of destroying a wall with punches
- (40% for walls and 20% for reinforced walls)!
- - rscadd: Combat mechas can now destroy tables and racks with a punch!
- neersighted:
- - rscadd: The Syndicate has stolen the latest tgui improvements from Nanotrasen!
- All uplinks now feature filtering/search.
- - rscadd: Nanotrasen is proud to announce its next generation sleepers, featuring
- tgui!
- - rscadd: Portable atmospheric components have been overhauled to use the latest
- interface technology.
- - rscdel: The Area Atmosphere Computer has been removed.
- - rscadd: Huge scrubbers now require power.
- - rscdel: Borg jetpacks are now refilled from a recharger and not a canister.
- - rscadd: Power monitors now have a state of the art graph. Hopefully they're actually
- useful to someone.
- - rscadd: Cargo consoles have been redesigned and now feature search and a shopping
- cart!
-2016-02-08:
- Incoming5643:
- - rscadd: Poly will now speak a line or emote when pet.
- - rscadd: Poly now responds to getting fed crackers by becoming more annoying for
- the round.
- - experiment: Every day he is growing stronger
- Kor:
- - rscadd: A certain hygiene obsessed alien is now obtainable via xenobiology gold
- cores.
- - rscadd: Add laserguns with swappable, rechargeable magazines. They are adminspawn
- only.
- - rscadd: Operatives now get their pinpointers in their pocket when they spawn,
- meaning reinforcements automatically come with them (and hopefully people stop
- forgetting them in general).
- - rscadd: Capture the flag now features a high speed instagib mode, with guns courtesy
- of MMMiracles.
- phil235:
- - tweak: The vision updates for mobs are now instantaneous (e.g. you don't have
- to wait one second to see again when removing your welding helmet)
- - tweak: Your vision is now affected when you're inside something or viewing through
- a camera. You can no longer see mobs or objects when ventcrawling (unless you
- have xray for example), an xray user viewing through a camera do not see through
- walls around the camera. On the other hand, cameras with an xray upgrade let
- you see through walls. Unfocused camera now give you the same effect as when
- you are nearsighted. Being inside closets, morgue container and disposal bins
- give you some vision impairments.
- - rscadd: The ability to toggle your hud on and off (with f12) is now available
- to all mobs not just humans.
-2016-02-09:
- AnturK:
- - rscadd: Syndicate Operatives can now buy bags full of plastic explosives for 9
- TC.
- Gun Hog:
- - rscadd: '"Nanotrasen has drafted a design for an exosuit version of the medical
- nanite projector normally issued to its Emergency Response Personnel. With sufficient
- research, a prototype may be fabricated for field testing!"'
- incoming5643:
- - rscadd: The wizard spell wild shapeshift has been made less terrible.
- neersighted:
- - rscadd: Internals tanks now provide an action button
- - rscadd: Jetpacks now emit the gas consumed for propulsion onto their turf
- - rscdel: Jetpacks no longer have object verbs
- - rscdel: tgui no longer has internals buttons
- - bugfix: Malf AI's flood ability now correctly sets vent pressure bounds -- the
- results are devastating... Try it!
-2016-02-10:
- Joan:
- - rscadd: Blob mobs now heal for 2.5% of their maxhealth when blob_act()ed, basically
- whenever they're on blobs near a node or the core.
- - tweak: Blob expansion no longer has a chance to fail inversely proportional with
- the expanding blob's health. Blobs still, however, expand at roughly the same
- rate as they do currently.
- - experiment: Adds five new blob chemicals.
- - rscadd: Adds Penetrating Spines, which is sea green and does brute damage through
- armor. The damage can still be reduced by bio protection.
- - rscadd: Adds Explosive Lattice, which is dark orange and does brute damage to
- all mobs near the target. Explosive Lattice is very resistant to explosions.
- - rscadd: Adds Cyclonic Grid, which is a light blueish green and does oxygen damage,
- in addition to randomly throwing or pulling nearby objects.
- - rscadd: Adds Zombifying Feelers, which is a fleshy zombie color and does toxin
- damage, in addition to killing and reviving unconscious humans as blob zombies.
- - rscadd: Adds Regenerative Materia, which is light pink and does toxin damage,
- in addition to making the attacked mob think it is at full health.
- - wip: Tweaks some of the existing blob chemicals slightly.
- - rscadd: Sporing Pods can produce spores when killed by damage less than 21, from
- less than 20. This means lasers can produce spores.
- - rscadd: Reactive Gelatin has a slightly higher maximum damage and will attack
- the nearby area when hit with brute damage projectiles, from just when attacked
- by brute damage in melee.
- - tweak: Sorium, Dark Matter, and the new Cyclonic Grid will not throw mobs with
- the 'blob' faction, such as blobbernauts and spores.
- Kor:
- - rscadd: The chaplain can now transform the null rod into a holy weapon of his
- choice by using it in hand. Each one has different strengths and drawbacks.
- MrStonedOne:
- - tweak: Tesla balance changes
- - tweak: Tesla will now require increasingly more energy to trigger new orbiting
- balls. First ball comes with 32 energy (down from 300), fourth requires 256
- (down from 1200), and so on and on, doubling with each new ball. Balls after
- 7 are increasingly harder to get than before, whereas balls before 6 are easier
- to get.
- - rscadd: MULTIBOLT IS BACK!
- - tweak: Be warned that in multibolt all but 1 primary bolt now have a random shocking
- range, meaning they may still target a close human over a far away grounding
- rod as the rod may be out of range.
- - tweak: Power output of tesla massively dropped, it should no longer put out almost
- twice the power of a stage 3 singulo with maxed collectors without any balls,
- you'll need at least 3 balls for that now.
- - tweak: Tesla can now lose power, causing ball count to drop. Tesla will never
- shrink out of existence, just lose its balls.
- - tweak: Tesla is now more likely to head in the direction of the thing it last
- zapped.
- PKPenguin321:
- - rscadd: Chameleon Jumpsuits now have slight melee, bullet, and laser protection.
- - tweak: The armor values for security helmets, caps, and berets have all been brought
- in line. Consequently, helmets and berets are a teeny bit better, and caps now
- have the slight bomb protection that the other two had.
- - experiment: The time needed to complete most tablecrafting recipes has been cut
- in half to make tablecrafting less annoying to use.
- Shadowlight213:
- - rscadd: pAI controlled mulebots can now run people over.
- - tweak: Mulebot health has been greatly decreased.
- neersighted:
- - rscadd: Horizontal (lying) mobs now fit into crates
- - rscadd: Mobs may now be stuffed into crates, as with lockers
- - rscadd: Stuffing into a locker deals a mild stun (the same as tabling)
- octareenroon91:
- - rscadd: New designs can now be added to Autolathes via a design disk. Simply use
- a disk containing a suitable design on your autolathe.
-2016-02-11:
- neersighted:
- - rscdel: Remove all cyborg jetpacks... They were awful...
- - rscadd: Adds borg ion thrusters, which are available as an upgrade module for
- any borg.
- - rscdel: Jetpack stabilizers are always on, but now we have...
- - rscadd: Jetpack turbo mode, to move at sanic speed in space.
-2016-02-12:
- Kor:
- - rscadd: Malf AIs can now get the objective to have a robot army by the end of
- the round.
- - rscadd: Malf AIs can now get the objective to ensure only human crew (no mutants)
- are on the shuttle at round end.
- - rscadd: Malf AIs can now get the objective to prevent a crewmember from escaping
- the station, while requiring that crewmember still be alive.
- neersighted:
- - rscadd: Cybernetic implants purchased from the uplink now include a free autoimplanter!
- octareenroon91:
- - rscdel: You can no longer kill yourself with the SORD
- - rscadd: Suicide attempts with the SORD will inflict 200 stamina damage. You will
- only die of shame.
- - bugfix: Cleanup to suicide verb code.
-2016-02-13:
- Buggy123:
- - rscadd: You can now build cable coils using the autolathe.
- Fox McCloud:
- - bugfix: Fixes the sleeping carp martial arts grab not being an instant aggressive
- grab
- KazeEspada:
- - rscadd: 'New backpack options available! New options include: Department Bags,
- Leather Satchels, and Dufflebags!'
- Kor:
- - rscadd: Chainsaw sword, force weapon, and war hammer have all been added as Chaplain
- weapon options.
- Malkevin:
- - tweak: Tracking implants have been upgraded. The old clunky manually adjusted
- number system has been replaced with an automated ID scanner, this will show
- the implant carrier's name on both the Prisoner Management Console and the hand
- tracker. Happy deep striking!
- PKPenguin321:
- - tweak: 'Traitor EMP kits have had their cost reduced from 5 to 2, and no longer
- contain the EMP flashlight. rcsadd: EMP flashlights can now be bought separately
- for 2 TCs.'
- Zerrien:
- - rscadd: Conveyor pieces can be placed as corner pieces when building in non-cardinal
- directions.
- - rscadd: Using a wrench on a conveyor rotates it while in place.
- neersighted:
- - tweak: Gibtonite can now be pulled.
- - tweak: Slowdown factors are ignored when in zero gravity.
- phil235:
- - rscadd: Brains can no longer be blinded.
- - bugfix: Fixes brain being immortal. They are immune to everything but melee weapon
- attacks. Brains not inside a MMI can now be attacked just like MMIs. Damaged
- brain can't be put into a robot, they can still be put inside a brainless humanoid
- corpse and cloned, but deffibing the corpse always fails (can't revive someone
- with a brain beaten to a pulp).
-2016-02-14:
- Joan:
- - rscadd: Blobbernauts can now speak to overminds and other blobbernauts with :b
- - rscadd: Blobs can now expand onto lattices and catwalks.
- - rscdel: Blob expansion on space tiles with no supports is much slower.
- - tweak: Blob Sorium and Dark Matter now have less range on targets with bio protection.
- - tweak: Blob Sorium does slightly less damage.
-2016-02-17:
- Fox McCloud:
- - tweak: Laser eyes mutation no longer drains nutrition
- Joan:
- - rscdel: The sleeping carp gang no longer has special equipment and an inability
- to use pneumatic cannons.
- PKPenguin321:
- - tweak: The traitor surgery bag now costs 3 TC, down from 4.
- Zerrien:
- - rscadd: adds unique icons for the two medical patch types
-2016-02-18:
- Kor:
- - rscadd: 'Four more chaplain weapon options have been added: hanzo steel, light
- energy sword, dark energy sword, and monk''s staff.'
-2016-02-19:
- AnturK:
- - rscadd: Chairs and stools can now be picked up and used as weapons by dragging
- them over your character.
- PKPenguin321:
- - rscadd: The cleanbot uprising has begun.
- - rscadd: Emagged cleanbots are much scarier now. Standing on top of one will yield
- very devastating results, namely in the form of powerful flesh-eating acid.
-2016-02-20:
- CPTANT:
- - tweak: Due to new crystals Nanotrasen lasers weapons may now set you on FIRE.
- Joan:
- - imageadd: Blobbernauts and blob spores now have a visual healing effect when being
- healed by the blob.
- xxalpha:
- - rscadd: 'New event: Portal Storm.'
- - rscadd: Kinetic accelerators now reload automatically.
-2016-02-24:
- CPTANT:
- - tweak: stamina regeneration is now 50% faster.
- Joan:
- - rscadd: Revenants now have an essence display on their HUD
- - rscadd: Revenants retain the essence cap from the previous revenant when reforming,
- minus any perfect souls.
- - rscadd: Revenants can now toggle their night vision.
- - tweak: Revenant Defile has one tile more of range, but does less damage to windows.
- - tweak: Revenant Blight kills space vines and glowshrooms slightly more rapidly.
- - tweak: Delays before appearing when harvesting are slightly randomized.
- - tweak: Revenant fluff objectives have been changed to be slightly more interesting.
- RemieRichards:
- - rscadd: Cursed heart item for wizards, allows them to heal themselves in exchange
- for having to MANUALLY beat their heart every 6 seconds. Heals 25 brute/burn/oxy
- damage per correctly timed pump.
- Steelpoint:
- - tweak: Syndicate engineers have reinforced the exterior of their stealth attack
- ships. Nuclear Operative ship hull walls are now, once again, indestructible.
- - tweak: In addition Syndicate engineers had the opportunity to revamp the interior
- of stealth attack ships. The inside of Op ships now has a slightly new layout,
- including a expanded medbay, as well as additional medical and explosive equipment.
- - rscadd: Thanks to covert Syndicate operatives, strike teams can now bring the
- stealth attack ship within very close proximity to the station codenamed 'Boxstation'.
- A new ship destination labeled 'south maintenance airlock' is now available
- to Op strike teams.
- phil235:
- - rscadd: Holo tape is replaced by holo barriers.
- - rscadd: The action button of gas tanks and jetpacks now turn green when you turn
- your internals on.
-2016-02-26:
- Iamgoofball:
- - rscadd: Adds the Chameleon Kit to uplinks for 4 telecrystals containing a Chameleon
- Jumpsuit/Exosuit/Gloves/Shoes/Glasses/Hat/Mask/Backpack/Radio/Stamp/Gun/PDA.
- - rscadd: The chameleon gun fires no-damage lasers regardless of what it looks like.
- - rscadd: The Voice Changer has been merged into the Chameleon Mask.
- - rscadd: No-slip shoes have been combined into Chameleon Shoes.
- - rscdel: Space Ninjas no longer have voice changing capabilities.
- - rscdel: The Chameleon Jumpsuit has been replaced by the Chameleon Kit in the uplink
- for the same price.
- - tweak: All chameleon clothing items have lost EMP vulnerability.
- - tweak: Chameleon equipment provides very minor armor.
- - experimental: Agent ID Cards can now use chameleon technology to look like any
- other ID card.
- - bugfix: The Chameleon Kit is actually purchasable now. It doesn't give a single
- chameleon jumpsuit anymore.
- PKPenguin321:
- - rscadd: The kitchen vendor now contains two sharpening blocks.
- - rscadd: Only items that are already sharp (such as fire axes, knives, etc) can
- be sharpened. Items used on sharpening blocks become sharper and deadlier. The
- sharpening blocks themselves can only be used once, and you can only sharpen
- items once.
- - tweak: The EMP kit has been buffed. It now contains five EMP grenades, up from
- two.
- - tweak: The EMP implant found in the EMP kit has been buffed. It now has three
- uses, up from two.
-2016-03-02:
- CoreOverload:
- - rscadd: A new "breathing tube" mouth implant. It allows you to use internals without
- a mask and protects you from being choked. It doesn't protect you from the grab
- itself.
- - tweak: Arm cannon implants are now actually implanted into the arms, not into
- the chest.
- - bugfix: Arm cannons have an action button again.
- - tweak: Heart removal is no longer instakill. It puts you in condition similar
- to heart attack instead. You can fix it by installing a new heart and applying
- defibrillator if it wasn't beating.
- - rscadd: You can now make a stopped heart beat again by squeezing it. It will stop
- beating very soon, so you better be quick if you want to install it without
- using defibrillator.
- - rscadd: There is now a chance to recover some of the internal organs when butchering
- aliens or monkeys.
- - rscadd: A new organ - lungs. When removed, it will give you breathing and speaking
- troubles.
- - rscadd: Human burgers are, once again, named after the generous meat donors that
- made them possible.
- Fox McCloud:
- - rscadd: Gibbing mobs will now throw their internal organs
- Gun Hog:
- - rscadd: Ghost security HUDs now show arrest status and implants.
- - tweak: The Alien queen, upon her death, will now severely weaken the remaining
- alien forces.
- Joan:
- - tweak: Replicating Foam has a lower chance to expand when hit.
- - tweak: Penetrating Spines is now purple instead of sea green.
- - imageadd: Blobbernauts now have a brief animation when produced.
- - experiment: Adds five new blob chemicals. This is a total of 25 blob chemicals.
- Will it ever stop?
- - rscadd: Draining Spikes, which is reddish pink and does medium brute damage, and
- drains blood from targets.
- - rscadd: Shifting Fragments, which is tan and does medium brute damage, and shifts
- position when attacked.
- - rscadd: Flammable Goo, which is reddish orange and does low burn and toxin damage,
- and when hit with burn damage, emits a burst of flame. It takes more damage
- from burn, though.
- - rscadd: Poisonous Strands, which is lavender and does burn, fire, and toxin damage
- over a few seconds, instead of instantly.
- - rscadd: Adaptive Nexuses, which is dark blue and does medium brute damage, and
- reaps 5-10 resources from unconscious humans, killing them in the process.
- - wip: Confused about what the chemical you're fighting does? Look at https://tgstation13.org/wiki/Blob#Blob_Chemicals
- - rscadd: Adds 'Support and Mechanized Exosuits' and 'Space Suits and Hardsuits'
- categories to the syndicate uplink.
- - rscadd: Nuke op reinforcements and mechs have been moved to the first category.
- Syndicate space suits and hardsuits have been moved to the second category.
- - bugfix: Traitors can now properly buy the blood-red hardsuit for 8 TC.
- - tweak: Nuke ops can no longer buy the blood-red hardsuit, as the elite hardsuit
- costs the same amount while being absolutely better.
- Kor:
- - rscadd: Added door control remotes. Clicking on doors while holding them will
- let you open/bolt/toggle emergency access depending on the mode. They will not
- work on doors that have their IDscan disabled (rogue AIs take note!)
- - rscadd: The Captain, RD, CE, HoS, CMO, and QM all now have door control remotes
- in their lockers.
- LanCartwright:
- - rscadd: Adds Uranium to Virus reaction. Will create a random symptom between 5
- and 6 when mixed with blood.
- - rscadd: Adds Virus rations, which creates a level 1 symptom when mixed with blood.
- - rscadd: Adds Mutagenic agar, which creates a level 3 symptom.
- - rscadd: Adds Sucrose agar which creates a level 4 symptom.
- - rscadd: Adds Weak virus plasma, which creates a level 5 symptom.
- - rscadd: Adds Virus plasma, which creates a level 6 symptom.
- - rscadd: Adds Virus food and Mutagen reaction, creating Mutagenic agar.
- - rscadd: Adds Virus food and Synaptizine reaction, creating Virus rations.
- - rscadd: Adds Virus food and Plasma reaction, creating Virus plasma.
- - rscadd: Adds Synaptizine and Virus plasma reaction, creating weakened virus plasma.
- - rscadd: Adds Sugar and Mutagenic agar reaction, creating sucrose agar.
- - rscadd: Adds Saline glucose solution and Mutagenic agar reaction, creating sucrose
- agar.
- - rscadd: Adds Viral self-adaptation symptom, which boosts stealth and resistance,
- but lowers stage speed.
- - rscadd: Adds Viral evolutionary acceleration, which bosts stage speed and transmittability,
- but lowers stealth and resistance.
- - rscadd: Flypeople now vomit when they eat nutriment.
- - rscadd: Flypeople can now suck the vomit off the floor to gain it's nutritional
- content.
- - rscadd: Flypeople now must suck puke chunks and vomit to fill themselves of food
- content.
- Malkevin:
- - tweak: Sec officers have two sets of cuffs again (one on spawn, one in locker)
- - tweak: Done some optimisation of sec spawn equipment lists and lockers to remove
- some of the repetitive clicking, sec belts are now preloaded with equipment.
- - tweak: HoS has a full baton instead of the collapsible one
- - tweak: Detective has a classic police baton and pepper spray instead of the collapsible
- baton (someone made police batons shit, so don't get overly happy)
- - bugfix: pop scaled additional lockers spawned were the wrong type, changed them
- to the right type which has batons now (actually belts now that I've changed
- them).
- MrStonedOne:
- - tweak: Suit sensors will now favor higher levels for starting amount with the
- exception of the max level, that remains unchanged.
- - tweak: 'Old odds: 25% off 25% binary lifesigns 25% full lifesigns 25% coordinates'
- - tweak: 'New odds: 12.5% off 25% binary lifesigns 37.5% full lifesigns 25% coordinates'
- PKPenguin321:
- - rscadd: Bolas are now in the game. They're a simple device fashioned from a cable
- and two weights on the end, designed to entangle enemies by wrapping around
- their legs upon being thrown at them. The victim can remove them rather quickly,
- however.
- - rscadd: Bolas can be crafted by applying 6 metal sheets to cablecuffs. They can
- also be tablecrafted.
- Sestren413:
- - rscadd: Botanists have access to a new banana mutation now, bluespace bananas.
- These will teleport anyone unfortunate enough to slip on their peel.
- Shadowlight213:
- - rscadd: A wave of dark energy has been detected in the area. Corgi births may
- be affected.
- Shadowlight213 and Robustin:
- - rscadd: '"Old Cult is back baby!"'
- - tweak: '"Cult survival objective disabled"'
- - tweak: '"Imbuing talismans now consumes the imbue rune"'
- - tweak: '"Invoking the stun talisman now hurts the cultist more"'
- - tweak: '"The stun talisman duration is nerfed by 10%, mute is nerfed by 60% but
- a stutter and special new slur effect will last much longer"'
- - tweak: '"The old cult has retained the rune of time stop, now requiring 3 cultists
- to invoke"'
- - rscdel: '"New Cult is removed!"'
- bgobandit:
- - rscadd: CentComm has been informed that cargo is receiving new forms of contraband
- in crates. Remember, Nanotrasen has a zero-tolerance contraband policy!
- lordpidey:
- - rscadd: New virology symptom, projectile vomiting. It is a level four symptom.
-2016-03-03:
- Joan:
- - tweak: Blobbernauts now die slowly when not near a blob.
- - rscadd: Blobbernauts can now see their health and the core health of the overmind
- that created them.
-2016-03-05:
- CoreOverload:
- - imageadd: Cyborg tools (screwdriver, crowbar, wrench, etc) now have new fancy
- sprites.
- - tweak: Said cyborg tools have received a buff and are now two times faster than
- their non-cyborg counterparts.
- Joan:
- - tweak: Replicating Foam has lower expand chances when hit and on normal expand.
- - bugfix: Shifting Fragments will no longer try and fail to swap with invalid blobs
- when hit.
- - tweak: Electromagnetic Web no longer always EMPs targets, instead doing it at
- a 25% chance.
- - tweak: Synchronous Mesh now only takes bonus damage from fire, bombs, and flashbangs.
- - tweak: Synchronous Mesh no longer tries to split damage to blob cores or nodes.
- Cores and nodes still split damage to nearby blobs, however.
- - tweak: Blobbernauts now attack much slower.
- - tweak: Blobbernauts are now maximum one per factory, reduce that factory's health
- drastically, and die slowly if that factory is destroyed.
- - experiment: Factories must still have above 50% health to produce blobbernauts.
-2016-03-07:
- WJohnston:
- - tweak: Queens and praetorians have new sprites!
-2016-03-09:
- Joan:
- - rscadd: Blobs can now attack people that end up on top of blob tiles with Left-Click
- or the Expand/Attack Blob verb.
- - tweak: The Toxin Filter virology symptom now heals 4-8 toxin damage instead of
- 8-14.
- - tweak: The Damage Converter virology symptom will now do toxin damage for each
- limb healed.
- MrStonedOne:
- - tweak: Centcom has improved the the tesla generator! The generated tesla energy
- balls should now be more stable! Growing quicker and dissipating slower. It
- seems to also move around a touch more but that shouldn't be an issue as the
- the tesla escaping containment is unheard of!
-2016-03-10:
- Joan:
- - rscadd: The blob can now be shocked by the tesla.
- - tweak: Strong blobs are now much more resistant to brute damage.
- - wip: Tweaks blob reagents;
- - rscdel: Removes Ripping Tendrils.
- - rscdel: Removes Draining Spikes.
- - tweak: Cryogenic Liquid does less burn damage.
- - tweak: Pressurized Slime does less brute damage.
- - tweak: Reactive Gelatin now has a lower minimum damage.
- - tweak: Poisonous Strands applies its damage over a longer period of time.
- - tweak: Sporing Pods now does much less damage, and is less likely to produce spores
- when killed.
- - tweak: Regenerative Materia, Hallucinogenic Nectar, and Envenomed Filaments do
- less toxin damage.
- - rscadd: Energized Fibers no longer heals when hit with stamina damage, and is
- instead immune to the tesla.
- - rscadd: Boiling Oil now takes damage from extinguisher blasts. Boiling Oil blobbernauts,
- however, do not.
- - tweak: Replicating Foam now takes increased brute damage and when expanding from
- damage, will not expand again.
- - tweak: Flammable Goo takes 50% increased burn damage, from 30%.
- - tweak: Explosive Lattice now takes much higher damage from fire, flashbangs, and
- the tesla.
- - experiment: Electromagnetic Web takes full brute damage, lasers will now one-hit
- normal blobs, and the death EMP is smaller.
-2016-03-12:
- Joan:
- - bugfix: Blobbernauts and blob spores can now move near blob tiles in no gravity.
- - tweak: Boiling Oil does slightly more damage and takes slightly less damage when
- extinguished.
- - rscadd: Flammable Goo now applies firestacks to targets, but does not ignite them.
- Jordie0608:
- - rscadd: Show Server Revision will now tell you if a PR is test merged currently.
- PKPenguin321:
- - rscadd: Added reinforced bolas. They do a very short stun in addition to normal
- functions, and take twice as long to break out of when compared to regular bolas.
- - tweak: The traitor's Throwing Star Box has been made into the Throwing Weapons
- Box. It now contains two reinforced bolas in addition to its old contents. It
- also costs 5 TCs, down from 6.
- tkdrg:
- - tweak: The detective's revolver now takes three full seconds to reload.
- xxalpha:
- - rscadd: Detective can be a Traitor/Double Agent.
- - tweak: Removed Detective's access to security lockers and secbots.
- - tweak: Removed bowman's headset from Detective's locker.
- - tweak: Box Brig Security Office and Locker Room require a higher access level
- (Security Officer level).
-2016-03-13:
- Dorsisdwarf:
- - rscadd: 'Adds Robo-Doctor board (The Hippocratic Oath: Now on your beepbot)'
- - rscadd: Adds Reporter board (The truth will set ye free (termsandconditionsmayapply))
- - rscadd: Adds Live and Let Live board
- - rscadd: Adds Thermodynamics as a dangerous board.
- Impisi:
- - tweak: Improvised shells now deal more far more damage but are more inaccurate.
- - tweak: Overloaded shells now require liquid plasma in addition to black powder.
- Shells now fire explosive pellets that are good at hurting you and everything
- in front of you.
- Joan:
- - rscdel: Blob gamemode blobs will no longer burst from people.
- - rscadd: Instead, the blob gamemode spawns overminds, which can place their blob
- core underneath them in an unobserved area.
- - rscadd: The overminds can, until they have placed a blob core, move to any non-space,
- non-shuttle tile.
- - rscadd: If the overminds fail to place a blob core within a time limit, it will
- be automatically placed for them at a random blob spawnpoint.
- - tweak: The time before the overmind automatically places the core is slightly
- lower than the previous average time it'd take a blob to burst.
-2016-03-15:
- Cuboos:
- - soundadd: Modded the current door sound and added a few new ones, unique sound
- for closing, bolting up/down and a nifty denied sound.
- Isratosh:
- - rscadd: Security flashlights can now be attached to the bulletproof helmets.
- Joan:
- - tweak: Resource blobs produce resources for their overmind slightly slower for
- each resource blob their overmind has.
- - rscadd: Blob overminds get one free chemical reroll.
- - rscadd: Blob overminds can no longer place resource and factory blobs out of range
- of cores and nodes, unless they Toggle Node Requirement off. It is on by default.
- - rscadd: Blob UI buttons now have tooltips.
- - tweak: Cores and nodes will expand slightly slower.
- - tweak: Blob Chemicals no longer trigger effects on dead mobs.
- - tweak: Shifting Fragments has a lower chance to move shields with normal expansion
- and will no longer shift blobs to the location of a dying blob.
- - tweak: Flammable Goo no longer applies fire to tiles with blobs.
- - tweak: Electromagnetic Web has a slightly higher EMP range.
- Kor:
- - rscadd: Hunger was accidentally disabled sometime back in October 2015. We finally
- noticed and fixed it.
- Kor (And all the lovely maintainers and spriters who helped me along the way):
- - rscadd: Adds a new, lava themed planet to mine on,with randomly generated rivers
- of lava and islands of volcanic rock. This mine is used on Box and Metastation.
- Other mappers may enable it at their discretion.
- - rscadd: Added deadly ash storms to mining.
- - rscadd: Added slightly deadlier variants of mining mobs to lavaland, with sprites
- done by my girlfriend.
- - rscadd: Added portable survival capsules to mining equipment lockers. Don't forget
- these, or you might get caught out by a storm. You may purchase more at the
- venders.
- - rscadd: Added randomly loaded ruins to mining. These maps contain new and unique
- items not seen elsewhere in thegame. There are around a dozen of them added
- with the "release" of lavaland, though I plan for many more.
- - rscadd: Some ruins contain sleepers which allow you to spawn as various roles,
- such as survivors of a shuttle crash stranded in the wilderness. You can find
- these sleepers in the orbit list.
- - rscadd: You can now fly the abandoned white ship to lavaland.
- LanCartwright:
- - tweak: Choking now deals damage based on virus' Stage speed and virus Stealth.
- - tweak: Fever heats the body based on Transmittability and Stage speed.
- - tweak: Spontaneous Combustion now adjusts firestacks based on stage speed minus
- Stealth.
- - tweak: Necrotizing Fasciitis now deals damage based on lower Stealth values.
- - tweak: Toxic Filter now heals based on Stage speed.
- - tweak: Deoxyribonucleic Acid Restoration now heals brain damage based on Stage
- speed minus Stealth.
- - tweak: Shivering now chills based on Stealth and Resistance.
- - rscadd: Proc for the total stage speed of a virus' symptoms.
- - rscadd: Proc for the total stealth of a virus' symptoms.
- - rscadd: Proc for the total resistance of a virus' symptoms.
- - rscadd: Proc for the total transmittance speed of a virus' symptoms.
- MrStonedOne:
- - rscdel: 'Lag has been removed from the following systems: mob life()/virus process,
- machine/object/event processing, atmos, deletion subsystem, lighting, explosions,
- singularity''s eat(), timers, wall smoothing, mass var edit, mass proc calls(and
- all of sdql2), map loader, and the away mission loader.'
- - rscdel: Removed limit on bomb cap of 32,64,128, it can now go to the MOON.
- - tweak: Minimap generation is now a config option that defaults to off so coders
- don't have to wait for it to generate to test their code, server operators should
- note that they need to enable it on production servers that want minimap generation.
- - wip: if you find any things that still lag, please report them to MrStonedOne
- for lag removal.
- - experiment: I'm gonna take this time to shill out that, Lummox JR, byond's only
- dev, coded the tool that made this change possible, he lives off of byond membership
- donations, if you like the lag removal, become a byond member or at least throw
- 5 bucks byond's way for doing this.
- - experiment: Feel free to ask for bomb cap removals when solo antag, but remember,
- the later in the round it is, the more likely you'll get it.
- PKPenguin321:
- - rscadd: Scooters and skateboards have been added.
- - rscadd: Use rods to make a scooter frame. From there, apply metal to make wheels,
- creating a skateboard. Apply a few more rods to make a full scooter. You can
- also use tablecrafting to create them, their recipes can be found under the
- Misc. category.
- - rscadd: Each step of scooter deconstruction is performed with either a wrench
- or a screwdriver, depending on the step.
- xxalpha:
- - rscadd: Scrubber clog event now ejects cockroaches.
-2016-03-17:
- CoreOverload:
- - rscdel: The recent jetpacks nerf is finally reverted. Turbo mode is dead and stabilization
- is once again can be toggled on and off.
- - rscadd: 'Added a new chest cyberimplant: implantable thrusters set. This implant
- is a built-in jetpack that has no stabilization mode at all and can use gas
- from environment (if 30+ kPa) or from internals. It can also use plasma from
- plasma vessel organ, if you have one.'
- Joan:
- - tweak: Moved the security hud's icons down slightly to allow it to coexist with
- medical and antag huds.
- Shadowlight213:
- - rscadd: HOG deity can now be heard by all of its followers!
- - tweak: The prophet no longer needs to wear his hat to speak with his deity.
- - rscadd: The prophet's hat and staff have a new functionality! Use the staff inhand
- to reveal hidden structures.
- - rscadd: Deities can now hide their structures from view! Pretend to be a book
- club when sec bursts in. experiment:Only enemy prophets or your own deity can
- reveal these structures and they are disabled when hidden.
-2016-03-19:
- Joan:
- - imageadd: Xray lasers now have unique inhands.
- - imageadd: Xray lasers have been recolored to match R&D equipment.
- Zombehz:
- - rscadd: Adds 'chicken' nuggets* in 4 shapes, including regular, star, corgi, and
- lizard. it. They are made with one cutlet of meat.
-2016-03-20:
- Joan:
- - rscadd: Nar-Sie will now corrupt airlocks, tables, windows, and windoors.
- - rscadd: Corrupted airlocks have no access restrictions.
- - tweak: Nar-Sie no longer causes destruction while moving around in favor of additional
- corruption.
- - tweak: The surplus crate is less likely to give you eight space suits.
- - bugfix: Nukeops can once again buy noslips. The nuke op magboots are still better
- than noslips, buy them instead.
- Kor:
- - rscadd: Runtime now has a chance to spawn with a more classic look.
- - rscadd: Killing a necropolis tendril will now drop a chest full of spooky loot.
- - rscadd: Killing a necropolis tendril will now cause the ground to collapse around
- it after 5 seconds.
-2016-03-21:
- CoreOverload:
- - rscadd: You can now construct and deconstruct wall mounted flashes by using a
- wrench on empty wall flash. A crate with four linked "flash frame - flash controller"
- pairs is added to cargo.
- Joan:
- - rscadd: Explosive Holoparasites now have a 33% chance to explosively teleport
- attacked targets, doing damage to everyone near the target's appearance point.
- - tweak: Explosive Holoparasite bombs can now detonate when living mobs bump them.
- - rscadd: Adds lightning holoparasites, which have medium damage resist, a weak
- attack, have a lightning chain to their summoner, and apply lightning chains
- when attacking targets.
- - rscadd: Lightning chains shock everyone nearby, doing low burn damage. This is
- excluding the parasite and summoner; chains will shock enemies they're attached
- to.
- - tweak: Holoparasites can now smash tables and lockers.
- PKPenguin321 && !JJRcop:
- - rscadd: Milk, which is good for your bones, is now extra beneficial to species
- that are mostly comprised of bones.
- kingofkosmos:
- - rscdel: The backpack close-button has got a visual overhaul.
- - rscadd: All storage items can be closed by clicking on them again.
-2016-03-23:
- Iamgoofball:
- - rscadd: Cargo now works off of Credits.
- - rscadd: Cargo now plays the Stock Market.
- - rscadd: Buy Low, Sell High
-2016-03-24:
- Iamgoofball:
- - rscadd: CLF3 now melts, burns, and destroys floors a lot more often, as it should
- be.
- - rscadd: CLF3 now makes 3x3 fireballs on tiles it touches now, instead of a single
- fireball.
- Joan:
- - tweak: Lightning Holoparasites will actually shock relatively often instead of
- 'sometimes, maybe, if you're really lucky'
- PKPenguin321:
- - tweak: Sand now fits in your pockets
- - rscadd: Sand can now be thrown into people's eyes, doing slight stamina damage,
- making their vision slightly blurry, and making them stumble when they walk
- for a short time.
- RemieRichards:
- - rscadd: BEES
- - rscadd: Hydroponics can now manage bee colonies, bees produce honeycombs that
- can be grinded to obtain honey, a decent nutriment+healing chemical
- - rscadd: Hydroponics can inject a queen bee with a syringe of a reagent to alter
- her DNA to match that reagent, meaning all honeycombs produced will contain
- that reagent in small amounts
- - rscadd: Bees with reagents will attack with that reagent
- Xhuis:
- - experiment: Alcohol has received multiple tweaks.
- - tweak: Drunkenness will now be displayed on examine as long as the target's face
- is not hidden, ranging from a slight flush to being a completely drunken wreck.
- This also helps to measure alcohol poisoning, although the appearance will remain
- for thirty seconds after the alcohol leaves the imbiber's bloodstream.
- - tweak: Alcohol poisoning now has different effects. It begins with standard things
- such as confusion, dizziness, and slurring, but eventually escalates to constant
- vomiting, blacking out, and toxin damage.
- - tweak: Drinks now have a wide variety of alcoholism. Grog is barely a drink whatsoever,
- for instance, but Manly Dorf will completely floor you with too much consumption.
- Note that drinks based off of whiskey and vodka are the hardest, whereas beer
- and wine are the softest.
- - tweak: The speed of alcohol poisoning has been slightly reduced.
- - rscadd: Some drinks have received unique effects. Experiment!
- - rscadd: A new base alcohol joins the lineup! Absinthe has been added, and is very
- strong.
- - rscadd: Whiskey Sour, made with Whiskey, Lemon Juice, and Sugar, simply expands
- the existing whiskey-based lineup.
- - rscadd: Fetching Fizz, made with Nuka-Cola and Iron, will pull all nearby ores
- in the direction of the imbiber.
- - rscadd: Hearty Punch, made with Brave Bull, Syndicate Bomb, and Absinthe, will
- provide extreme healing in critical condition.
- - rscadd: Bacchus' Blessing, made with four of the most powerful alcohols on the
- station, is over three times stronger than any other alcohol on the station.
- Consume in small amounts or risk death.
-2016-03-26:
- CPTANT:
- - tweak: Nanotrasen found a new taser supplier. The new tasers hold 12 shots, down
- people with 2 hits and hybrid tasers now have a light laser attached.
- CoreOverload:
- - tweak: Sorting junctions now support multiple sorting tags.
- Fox McCloud:
- - bugfix: Fixes Shadowlings not being spaceproof to pressure
- - bugfix: Fixes being able to receive multiple spells as a Lesser Shadowling
- Joan:
- - rscadd: Adds assassin holoparasites, which do low damage and take full damage,
- but can go invisible, causing their next attack to do massive damage and ignore
- armor.
- - rscadd: Assassin holoparasite stealth will be broken by attacking or taking damage,
- which will briefly prevent the parasite from recalling.
- - rscadd: Traitor holoparasite injectors include this parasite type.
- Kor:
- - rscadd: There are a couple new lavaland ruins, including one with a new ghost
- role.
- PKPenguin321:
- - tweak: The RD's reactive teleport armor now has a cooldown between teleports.
- EMPing it will cause it to shut down and have a longer cooldown applied.
- - imageadd: Bolas, both reinforced and regular, now have newer, sexier sprites.
-2016-03-29:
- Bawhoppen:
- - tweak: Bruisepacks, ointment, and gauze now will apply significanty faster.
- - rscdel: SWAT crates no longer contain combat knives.
- - rscadd: SWAT crates now contain combat gloves.
- - rscadd: Combat knives now can be ordered in their own crate.
- Iamsaltball:
- - rscadd: GRAB SUPER NERFED
- - rscadd: IT'S WAY EASIER TO ESCAPE GRABS NOW
- - rscadd: IT TAKES WAY LONGER TO UPGRADE GRABS NOW
- - rscadd: 'YOU CAN ACTUALLY FUCKING ESCAPE GRABS NOW TOO #WOW #WHOA'
- - rscadd: GRAB TEXT IS ALL BIG BOLD AND RED MUCH LIKE YOUR MOM LAST NIGHT
- - experiment: GIT GUDDERS GO FUCK YOURSELVES YOU CAN'T GET GOOD AGAINST "LOL INSTANT
- PERMASTUN THAT ISN'T OBVIOUS IN CHAT LIKE THE REST OF THE STUNS"
- Joan:
- - tweak: Ghost revival/body creation alerts now use the ghost's hud style.
- - imageadd: Support holoparasites now have a healing effect with their color when
- successfully healing a target.
- - tweak: Ranged holoparasite projectiles now take on the color of the holoparasite.
- - bugfix: Holoparasite communication(holo->summoner) now sends the message to all
- holoparasites the summoner has.
- - bugfix: If you have multiple holoparasites for some reason, Reset Guardian allows
- you to choose which to reset.
- - tweak: Resetting a holoparasite also resets its color and name, to make it more
- obvious it's a new player.
- - rscadd: Holoparasites can now see their summoner's health and various ability
- cooldowns from the status panel.
- - rscadd: Blobbernauts are now alerted when their factory is destroyed.
- KazeEspada:
- - bugfix: Blob Mobs no longer swap with other mobs.
- RemieRichards:
- - rscadd: Added the ability to make Apiaries and Honey frames with wood
- - rscadd: Added the ability to make Royal Bee Jelly from 10 Mutagen and 40 Honey
- - rscadd: Added the ability to make more Queen Bees from Royal Bee Jelly by using
- it on an existing Queen, to split her into two Queens
- - tweak: Made homeless bees more obvious
- - bugfix: Fixed a typo that made almost all bees homeless, severely reducing the
- odds of getting honeycomb
- - tweak: Made bee progress reports (50% towards new honeycomb, etc.) always show,
- even if it's 0%
- - tweak: Made some feedback text more obvious
- - bugfix: Fixed being able to duplicate the bee holder object, this was not exploity,
- just weird
- - bugfix: Fixed being able to put two (or more) queens in the same apiary
- - bugfix: Fixed some runtimes from hydro code assuming a plant gene exists
- - bugfix: Fixed runtime when you use a honeycomb in your hand
- - tweak: It now takes and uses 5u of a reagent to give a bee that reagent
- - rscdel: Removed unused icon file
- Ricotez:
- - imageadd: The default white ghost form now has directional sprites.
- - rscadd: The default white ghost form now also has (your) hair! Here's how it works.
- - experiment: If you ghost from a body, you'll get the hair from that body. If it
- has hair.
- - experiment: If you hit Observe, you'll get the hair from the character you had
- active in your setup window. If they had hair.
- - wip: This only works with the default white ghost form right now (because the
- other forms have the wrong shape or lack directional sprites), and with human
- bodies since they're the only ones that have hair. Sorry lizards and plasmamen!
- You'll get your turn next time.
- - rscadd: A new preference called Ghost Accessories. This lets you configure if
- you want your ghost sprite to show both hair and directional sprites, only directional
- sprites or just use its original default version without directional sprites.
- - rscadd: 'A new preference called Ghosts of Others. This preference is clientside
- and lets you configure how other ghosts appear to you: as their own setting,
- as the form they chose but without any hair or directional sprites, or as the
- simple white ghost sprite if you''re sick of those premium users with their
- rainbow ghosts.'
- - experiment: The layout of the ghost preference buttons has slightly changed. The
- old Choose Ghost Form and Choose Ghost Orbit are now a part of Ghost Customization,
- which also contains the new Ghost Accessories button. Clicking Ghost Customization
- will send you directly to Ghost Accessories if you don't have premium. The Preferences
- tab now also contains the Ghost Display button, which lets you configure how
- other ghosts appear to you.
- - bugfix: Fixed a bug where the toggles for Ghost Accessories and Ghosts of Others
- in the Preferences menu wouldn't save your preference update to your save file.
- - bugfix: Renamed the "Ghost Display Settings" preference toggle button to "Ghosts
- of Others", so it fits with the name the preference has everywhere else.
- TehZombehz:
- - rscadd: Paper sacks are now craftable by tablecrafting with 5 sheets of paper.
- - rscadd: 'Comes in 5 different designs: Use a pen on a paper sack to change the
- design.'
- - rscadd: Certain paper sack designs can be modified with a sharp object to craft
- a (creepy) paper sack hat.
- Xhuis:
- - bugfix: Portal storm messages now use the station name rather than the world name.
- - bugfix: Shadowlings can no longer glare while shadow walking.
- - bugfix: Progress bars are now properly shown when reloading revolvers.
- - bugfix: Cyborgs and AIs are no longer knocked out when being stuffed into lockers.
- - bugfix: Plasmamen can no longer be the patient zero of the space retrovirus.
- - bugfix: Cyborgs and AIs now properly display death messages.
- - bugfix: Revenants can no longer be closed into lockers.
- - bugfix: Airlocks no longer play sounds or flash lights when denying access if
- the airlock has no power.
- - bugfix: Job spawn icons in mapping have been fixed.
- - bugfix: Gibtonite's disarm message no longer include the outside viewer.
- - bugfix: Cult walls and girders are now more streamlined and can be built with
- runed metal.
- - bugfix: Positronic brains and MMIs can no longer see ghosts.
- - rscadd: When someone is turned into a statue, the statue now appears as a greyscale
- version of them.
- - rscadd: Returning from a statue to a human now knocks you down.
- - rscdel: Flesh to Stone no longer works on dead mobs.
- - bugfix: Wall-mounted flasher crates now have the proper price.
- - bugfix: Wall-mounted flasher frames now have icons.
- - bugfix: Upgraded resonators now have an inhand sprite.
-2016-03-30:
- Coiax:
- - rscadd: Geiger counters can now be stored in the suit storage of radiation suits
- RemieRichards:
- - bugfix: fixes shift-clicking action buttons not instantly resetting their location.
- (I'm only making a changelog for this because apparently barely noone even knows
- you can move the buttons, let alone reset them...)
- TehZombehz:
- - rscadd: Honey buns and honey nut bars are now craftable using honey.
- - tweak: Brewing mead now requires actual honey.
-2016-04-01:
- Erwgd:
- - bugfix: Weed Killer bottles and Pest Killer bottles now contain 50 units.
- - rscadd: The biogenerator can now make empty bottles and black pepper.
- Isratosh:
- - rscadd: Added an admin jump button to explosion logs.
- Joan:
- - rscadd: Traitors can now buy charger holoparasites.
- - rscadd: Charger holoparasites move extremely fast, do medium damage, and can charge
- at a location, damaging the first target it hits and forcing them to drop any
- items they're holding.
- Kor:
- - rscadd: Mechas are now storm proof
- - rscadd: Kinetic Accelerators now require two hands to fire, but are free standard
- gear for miners.
- - rscadd: All mining scanners are now automatic, with the advanced version having
- longer range.
- - rscadd: The QM and HoP no longer have spare vouchers.
- - rscadd: You can buy a pack of two survival capsules with your mining voucher.
- - rscadd: Mining Bots will no longer cause friendly fire incidents. They'll hold
- fire if you are between them and their target
- - rscadd: There are now four different mining drone upgrades available in the vendor.
- - rscadd: Resonators can now have more fields and deal more melee damage.
- - rscadd: Lavaland miners now have explorer's suits instead of hardsuits. Sprites
- by Ausops.
- - rscadd: You can now butcher Goliath's for their meat. It cooks well in lava.
- Shadowlight213:
- - rscadd: Clients now have a volume preference for admin-played sounds.
- TehZombehz:
- - rscadd: The 'Plasteel Chef' program has provided station chefs with complimentary
- ingredient packages. There are several package themes, and chefs are provided
- a random package on arrival.
- coiax:
- - rscadd: Free Golems on Lavaland have been naming their newborn siblings with a
- wider range of geology terms
-2016-04-02:
- Eaglendia:
- - rscadd: Central Command has released a new, more functional run of their most
- stylish fashion line.
- - rscadd: Head of Staff cloaks can now hold specific items - the antique laser gun
- for the Captain, the replica energy gun for the Head of Security, the hypospray
- for the Chief Medical Officer, the Hand Teleporter or RPED for the Research
- Director, and the RCD or RPD for the Chief Engineer.
-2016-04-03:
- Erwgd:
- - rscadd: Our valued colleagues in the security department are reminded to search
- boots for hidden items (such as knives or syringes) as part of standard search
- procedures. Alt-click a pair of boots to remove any hidden items.
- Isratosh:
- - bugfix: Fixed rudimentary transform not working properly on ghosts with minds.
- - rscadd: Admin logs for bluespace capsules not activated on the mining Z level.
-2016-04-04:
- TechnoAlchemisto:
- - rscadd: The recipes for some Trekchems are now back in the game
- - rscadd: Bicaridine can be made with carbon, oxygen, and sugar.
- - rscadd: Kelotane can be made with silicon and carbon.
- - rscadd: Antitoxin can be made with nitrogen, silicon, and potassium
- - rscadd: tricordrazine can be made by combining all three.
-2016-04-05:
- Erwgd:
- - rscadd: Utility belts of all kinds can now accept gloves. Most belts, except janitorial
- belts, may now also hold station bounced radios.
- - rscadd: Hazard vests and most jackets can carry a station bounced radio as well.
- Labcoats can be used to store a handheld crew monitor.
- - rscadd: The autolathe can now make toolboxes.
- Joan:
- - rscadd: Adds protector holoparasites to traitor holoparasite injectors.
- - rscadd: Protector holoparasites cause the summoner to teleport to them when out
- of range, instead of the other way around.
- - rscadd: Protector holoparasites have two modes; Combat, where they do and take
- medium damage, and Protection, where they do and take almost no damage, but
- move slightly slower.
- - tweak: Explosive Holoparasites no longer teleport non-mobs when attacking, but
- have a higher chance to teleport mobs.
- - rscdel: Explosive Holoparasite bombs no longer trigger on their summoner or any
- other parasites their summoner has.
- - bugfix: Ranged Holoparasites no longer have nightvision active by default. It
- can still be toggled on.
- - tweak: Ranged Holoparasite snares no longer alert if the crossing mob is their
- summoner or one of the parasites their summoner has.
- - tweak: Ranged Holoparasites are slightly less visible in scout mode.
- - tweak: Standard Holoparasites attack 20% faster than other parasite types.
- - rscdel: Support Holoparasite beacons no longer require safe atmospheric conditions,
- but the warp channel takes slightly longer, and is preceded with a visible message.
- - tweak: Zombies can no longer destroy more than one airlock at a time.
- - rscadd: The mining station has been updated.
- MrStonedOne:
- - bugfix: Centcom is glad to announce the end of sending workers to our control
- group for space exposure testing, a fake station in "space" that noticeably
- had air in "space".
- TechnoAlchemisto:
- - tweak: Detective scanners are now smaller.
- - tweak: Pickaxes now fit in explorer suit exosuit slots.
- bgobandit:
- - rscadd: Alt-clicking a fire extinguisher cabinet opens and closes it. That is
- all.
-2016-04-06:
- CoreOverload:
- - rscadd: You can now put slimes in stasis by exposing them to room temp CO2. Useful
- for both fighting the slimes and safely storing them.
- Erwgd:
- - rscadd: The autolathe can now make hydroponics tools! Access the design routines
- in the Misc. category of the machine.
- LanCartwright:
- - tweak: Custom viruses with stealth values of 3 or above are now invisible on the
- PANDEMIC and no longer visible on health huds.
- MrStonedOne:
- - bugfix: Centcom is happy to report that our single sided windows and our windoors
- should once again create an airtight seal.
- bgobandit:
- - rscadd: Honk! Nanotrasen's clowning and development department has invented the
- clown megaphone, standard in all clowning loadouts! Honk honk!
-2016-04-07:
- Kor:
- - rscadd: The Laser Cannon in RD has been replaced with the Accelerator Laser Cannon.
- Try it out!
- - rscadd: Mechas now have armour facings. Attacking the front will deal far less
- damage, while attacking the back will deal massive bonus damage.
- - rscadd: EMPs now deal far less damage/drain to mechas.
- Kor and Ausops:
- - rscadd: Survival pod interiors have been redone.
- - rscadd: Survival pods now contain a stationary GPS computer.
- - rscadd: You can now toggle your GPS off with alt+click.
- bgobandit:
- - rscadd: Due to budget cuts, Nanotrasen is no longer utilizing copy-protected paper
- for its classified documents. Fortunately, our world-class security team has
- always prevented any thefts or photocopies from being made!
- - rscadd: Secret documents can be photocopied. If you have an objective to steal
- any set of documents, a photocopy will be accepted. If you must steal red or
- blue documents, a photocopy will NOT be accepted. Enterprising traitors can
- forge the red/blue seal with a crayon to take advantage of this.
-2016-04-09:
- GunHog:
- - rscadd: Aliens may now force open unbolted, unwelded airlocks. Unpowered airlocks
- open faster than powered ones. Has a cool sound provided by @Ultimate-Chimera!
- - tweak: Alien Drone health increased to 125 hp.
- - tweak: Alien drone is now faster!
- - tweak: Alien egg and larva maturation times halved.
- - tweak: Resin membrane health increased to 160 hp.
- - rscadd: Aliens may now open firelocks.
- - rscadd: Aliens may now unweld scrubbers and vents. (From the outside!)
- - tweak: Droppers no longer affect aliens.
- Joan:
- - rscdel: You can no longer drop survival capsules on top of dense objects, such
- as the windows in the emergency shuttle. You can still drop them on non-dense
- objects and mobs, however.
- - tweak: Swarmers can now deconstruct objects simply by clicking.
- - rscadd: Swarmers can still teleport mobs away via ctrl-click.
- - bugfix: Emps will now properly damage swarmers.
- Kor:
- - rscadd: Added wisp lanterns to necropolis chests.
- - rscadd: Added red/blue cube pairs to necropolis chests.
- - rscadd: Added meat hooks to necropolis chests.
- - rscadd: Added immortality talismans to necropolis chests.
- - rscadd: Added paradox bags to necropolis chests.
- - rscadd: Ripley drills work again. Go tear up lavaland.
- PKPenguin321:
- - tweak: Goofball's grab nerf has been reverted.
- TechnoAlchemisto:
- - tweak: Pickaxe upgrades are now better.
- coiax:
- - tweak: Efficiency Station Testing Lab now has a Drone Shell Dispenser
- - tweak: Fixed an issue with a door on the Golem Ship
- - rscadd: The unfathomable entity Carp'sie has blessed vir followers with mysterious
- carp guardians.
- - rscadd: Nanotrasen Cyborgs are now able to empty ore boxes without human assistance
- - rscadd: Ore boxes are now craftable with 4 planks of wood
- - tweak: Ore boxes now drop their contents when destroyed, or dismantled with a
- crowbar
- coiax, bobdobbington, Core0verload:
- - rscadd: An experimental plant DNA manipulator, based on machinery recovered from
- ancient seed vaults, has been installed in the Botany department.
-2016-04-11:
- Joan:
- - rscadd: Blob cores will take slight brute damage from explosions.
- RandomMarine:
- - rscadd: Additional luxuries have been added to golem ships. Including new rewards.
- Praise be to The Liberator!
- - rscdel: However, jaunters are no longer easily obtained by free golems.
- RemieRichards:
- - rscadd: The Station Blueprints now display the piping/wiring and some of the machinery
- the station started with, to assist in repairs
- coiax:
- - rscadd: Emagging the cargo console also unlocks regular contraband, in addition
- to syndicate gear
- - rscadd: A working drone shell dispenser is now on display in MetaStation's museum,
- displaying the virtue of the tireless little workers!
- - rscadd: Dreamstation now has a drone shell dispenser in the Toxins Launch Room
-2016-04-12:
- Incoming5643:
- - rscadd: Leading scientists have finally proven that humans (and xenos) in fact
- have tongues in their mouths.
- - rscadd: Swapping out tongues allows the various races to change their speech impediments.
- Putting a xeno tongue in someone allows them to make the hissing sound like
- a xeno whenever they speak.
- - rscdel: There are no erp mechanics tied to this feature.
- - experiment: Remember that tongues are stored in the MOUTH, selecting the head
- isn't good enough.
- Kor:
- - rscadd: Ash walker starting gear has been rebalanced.
- - rscadd: Ash walkers can no longer use guns.
- TrustyGun:
- - rscadd: After carefully investing in the market, the Captain had enough money
- to replace his silver flask with a golden one!
- - rscadd: The Detective is now bringing his personalized flask to work, due to the
- grim work he has to do.
- - rscadd: The Booze-O-Mat now stocks 3 flasks.
-2016-04-16:
- Bawhoppen:
- - tweak: Cryo is no longer god-awful.
- CoreOverload:
- - rscadd: A lot of items are now exportable in cargo.
- - rscadd: Use Export Scanner to check any item's export value.
- Erwgd:
- - rscadd: Forks, bowls, drinking glasses, shot glasses and shakers can now be made
- and recycled in the autolathe! Access the designs in the new 'Dinnerware' category.
- - tweak: Kitchen knives have been moved to the Dinnerware category of the autolathe.
- - rscadd: Butcher's cleavers can now be made in a hacked autolathe.
- Fox McCloud:
- - rscadd: Slime batteries now self-recharge.
- - rscadd: Adds transference potion. A potion that allows the user to transfer their
- consciousness to a simple mob.
- - rscadd: Adds rainbow slime core reaction that generates a consciousness transference
- potion when injected with blood.
- Iamgoofball, Lati, Geo_Jerkal, Tanquetsunami25:
- - rscadd: Lati requested that the Slime Processor will now automatically scoop up
- any dead slimes into itself for processing.
- - rscadd: Geo_Jerkal requested that you be able to mix Arnold Palmers with Tea and
- Lemon Juice.
- - rscadd: Tanquetsunami25 requested that cyborg be able to boop.
- Incoming5643:
- - rscdel: Removed the horrible meme skeletons, please don't sue us.
- Kor:
- - rscadd: Adrenals, no slips, surplus crates and SUHTANDOS now have minimum population
- requirements before they can be purchased.
- KorPhaeron:
- - rscadd: You now need to butcher goliaths and watchers on lavaland to receive their
- loot. Use the combat knives to do so.
- Lati:
- - rscadd: Custom floor tiles can now be added to floorbots. They will start replacing
- other tiles with these tiles if the option is toggled on.
- coiax:
- - rscadd: Boxstation, not to be outdone by all the other competing station designs,
- has installed a drone shell dispenser in the Testing Lab, which makes automated
- drones to help fix the station.
- - rscadd: Toy fans, rejoyce! The famous skeleton brothers from the beloved game
- Belowyarn now have toys that you can win from the arcade machines!
- - rscadd: Airlock painters can be printed at your local autolathe
- - rscadd: Please do not attempt suicide with the airlock painter or the medical
- wrench.
- - rscadd: Metastation now has a plant DNA manipulator in Botany.
- - rscadd: Using the fire extinguisher on yourself or others while in HELP intent
- will spray you or them, rather than beat their probably flaming body with a
- metal object.
- - tweak: Alt-clicking extinguishers to empty them now wets the floor underneath
- them.
- lordpidey:
- - rscadd: Meth labs can now blow up if you don't purify the ingredients or over-heat
- the end product.
- nullbear:
- - rscadd: Added attack verbs for heart and tongue organs
- - tweak: Maximum output of air pumps has been raised.
-2016-04-18:
- Joan:
- - rscdel: Crates are now dense even when open.
- - rscadd: You can now climb onto crates in the same way as table and sandbags, though
- climbing onto crates is very fast and does not stun you.
- - wip: You can walk on crates, provided both are closed/open or the crate you're
- on is closed.
- - rscdel: You can't close or open a crate if there's a large mob on top of it.
- - rscadd: Stuffing items into a closet or crate is now instant and does not close
- the closet or crate. Stuffing mobs into a closet or crate still takes time and
- closes the closet/crate in question.
- - imageadd: Crowbars and wirecutters have new inhand sprites. Crowbars can now be
- distinguished from wrenches in-hand.
- RandomMarine:
- - tweak: Cloth items removed from biogenerator. Instead, it can create stacking
- cloth that crafts those items.
- - rscadd: In addition, cloth can be used to create grey jumpsuits, backpacks, dufflebags,
- bio bags, black shoes, bedsheets, and bandages.
- - tweak: Bedsheets now tear into cloth instead of directly into bandages.
- Shadowlight213:
- - tweak: AI will be notified when one of their cyborgs is detonated.
- coiax:
- - bugfix: Fixed slime grinders not sucking up more than one slime
- - rscadd: Drones now start with a spacious dufflebag full of tools, so they will
- stop stealing the captain's
- - bugfix: Fixed issues with drones wearing chameleon headgear.
- - rscadd: Added admin-only "snowflake drone" (also known as drone camogear) headgear.
- nullbear:
- - bugfix: Fixes air canisters being silent when bashed.
-2016-04-20:
- Erwgd:
- - rscadd: The autolathe can now make trays.
- Fox McCloud:
- - bugfix: Fixes abductor vests having no cooldown between uses
- Kor:
- - rscadd: You can now craft boats and oars out of goliath hides. These boats can
- move in lava.
- - rscadd: Added a spooky, upgraded boat to necropolis chests.
- coiax:
- - tweak: Slime grinders now cease suction of new slimes while grinding
- coiax, Joan:
- - rscadd: Drone dufflebags now have their own sprite.
- kevinz000:
- - rscadd: 'Admin Detection Multitool: A multitool that shows when administrators
- are watching you! Now you can grief in safety!'
- - tweak: Syndicate R&D scientists have significantly increased the range of their
- "AI detection multitools", making them turn yellow when an AI's tracking is
- near, but not on you just yet!
-2016-04-21:
- Kor:
- - rscadd: Mechas can now toggle strafing mode.
-2016-04-22:
- Bawhoppen:
- - rscadd: Security belts can now hold any type of grenade. This includes barrier
- grenades.
- - rscadd: Janitorial belts are now able to store chem grenades.
- - rscadd: Military belts have been given a size upgrade, so they can now hold larger
- items.
- - rscadd: Bandoliers have been given a buff and now can hold a much larger amount
- of ammunition.
- nullbear:
- - bugfix: xenobio console is deconstructable again.
- - tweak: syndibomb recipe calls for any matter bin, scaling effectiveness with tier.
-2016-04-23:
- Joan:
- - bugfix: Aliens can now open crates and lockers.
- - bugfix: Aliens and monkeys can now climb climbable objects, such as crates and
- sandbags.
- - rscadd: Aliens climb very, very fast.
- Kor:
- - rscadd: Running HE pipes over lava will now heat the gas inside.
- - rscadd: Alt+clicking on your mecha (while inside it) will toggle strafing mode.
- Mercenaryblue:
- - rscadd: Allowed all corgis to wear red wizard hats.
- TechnoAlchemisto:
- - rscadd: Goliaths now drop bones, and Watchers drop sinews.
- - rscadd: You can craft primitive gear from bone and sinew.
- coiax:
- - bugfix: Non-humans are now able to interact with bee boxes.
-2016-04-25:
- Joan:
- - bugfix: You can once again hit a closet or crate with an item to open it.
- Kor Razharas:
- - rscadd: Adds support for autoclicking.
- - rscadd: The Shock Revolver has been added to RnD.
- - rscadd: The Laser Gatling Gun has been added to RnD. The Gatling Gun uses autoclick
- to fire as you hold down the mouse.
- - rscadd: The Research Director now starts with a box of firing pins.
- - rscadd: The SABR and Stun Revolver recipes have been removed from RnD
- coiax:
- - rscadd: Laughter demons are like slaughter demons, but they tickle people to death
- - tweak: Slaughter demons are no longer able to cast spells while phased.
- - tweak: Wizards can now speak while ethereal, but still cannot cast spells while
- ethereal.
- - rscadd: 'Centcom''s "drone expert" reports that drones vision filters have been
- upgraded to include the option of making all beings appear as harmless animals.
- info: As always, all drone filters are togglable.'
- - rscadd: As a sign of friendship between the Free Golems and Centcom, they have
- modified Centcom's jaunter to be worn around a user's waist, which will save
- them from falling to their death in a chasm.
- - experiment: The Golems warn that these modifications have created a risk of accidental
- activation when exposed to heavy electromagnetic fields.
- - tweak: Renamed hivelord stabilizer to stabilizing serum.
- - rscadd: Centcom regret to inform you that new instabilities with nearby gas giants
- are causing exospheric bubbles to affect the telecommunications processors.
- Please contact your supervisor for further instructions.
- - rscadd: The Janitor's Union has mandated additional features to station light
- replacer devices.
- - rscadd: The light replacer now can be used on the floor to replace the bulbs of
- any lights on that tile.
- - rscadd: The light replacer now eats replaced bulbs, and after a certain number
- of bulb fragments (four) will recycle them into a new bulb.
- - tweak: The description of the light replacer is now more informative.
- - rscadd: Clown mask appearance toggle now has an action button.
-2016-04-26:
- Iamgoofball & Super Aggro Crag:
- - tweak: Fluorosulfuric Acid now has doubled acid power.
- - experiment: Fluorosulfuric Acid now does BONUS burn damage scaling on the time
- it's been inside the consumer.
- Joan:
- - tweak: Blobbernauts now spawn at half health.
- - tweak: Blobbernauts regeneration on blob is now 2.5 health per tick, from 5.
- - tweak: Blobbernauts now cost 40 resources to produce, from 30.
- - rscdel: Factories supporting blobbernauts do not spawn spores.
- Lati:
- - tweak: Syndicate bomb can be only delayed once by pulsing the delay wire. Time
- gained from this is changed from 10 seconds to 30 seconds.
- TechnoAlchemisto:
- - tweak: Goliath plates can now be stacked.
- phil235:
- - rscadd: More structures and machines are now breakable and/or destroyable with
- melee weapon. Additionally, Some structures and machines that are already breakable/destroyable
- are now affected by more attack methods (gun projectiles, thrown items, melee
- weapons, xeno/animal attacks, explosions).
- - rscadd: Hitting any machine now always makes a sound.
- - rscadd: You can hit closed closets/crates and doors by using an item on harm intent
- (but it doesn't actually hurt them).
- - rscadd: you can now burst filled water balloons with sharp items.
- - bugfix: Wooden barricade drops wood when destroyed.
- - bugfix: Slot machines with coins inside are deconstructable now.
-2016-04-27:
- TechnoAlchemisto:
- - rscadd: Miners can now select explorer belts from the mining vendor using their
- vouchers, or mining points.
-2016-04-28:
- Bawhoppen:
- - tweak: Sandbags are no longer tablecrafted. Now you just put in sand (or ash)
- by hand to make them.
- - rscadd: Miners and Engis now get boxes of empty sandbags in their lockers. Miners
- also get a few premade aswell.
- - rscadd: You can now break sandstone down into normal sand.
- Joan:
- - rscadd: Attacking a blob with an analyzer will tell you what its chemical does,
- its health, and a small fact about the blob analyzed.
- - rscdel: 'NERFS:'
- - tweak: Zombifying Feelers does less toxin damage.
- - tweak: Adaptive Nexuses does slightly less brute damage.
- - tweak: Replicating Foam does slightly less brute damage.
- - tweak: Blob Sorium does slightly less brute damage.
- - tweak: Blob Dark Matter does slightly less brute damage.
- - tweak: Cyrogenic Liquid injects slightly less frost oil and ice and does slightly
- less stamina damage.
- - tweak: Pressurized Slime does less brute, oxygen, and stamina damage, and extinguishes
- objects and people on turfs it wets.
- - rscdel: Blob core strong blobs no longer give points when removed.
- - wip: 'PROBABLY BUFFS:'
- - tweak: Flammable Goo now does slightly more burn damage and applies more firestacks,
- but applies fire to blob tiles that don't share its chemical.
- - tweak: Energized Fibers does slightly more burn damage, slightly less stamina
- damage, and now takes damage from EMPs.
- - rscadd: 'BUFFS:'
- - tweak: Boiling Oil does slightly more burn damage and applies more firestacks.
- - tweak: Reactive Gelatin does slightly more damage on average.
- - tweak: Penetrating Spines now also ignores bio resistance in addition to armor.
- - tweak: Hallucinogenic Nectar causes more hallucinations.
- - tweak: Normal strong blobs now refund 4 points when removed, from 2.
- - rscadd: Charger holoparasites now play a sound when hitting a target, as well
- as shaking the target's camera.
- PKPenguin321:
- - rscadd: The warden's locker now contains krav maga gloves.
- TechnoAlchemisto:
- - rscadd: You can now craft skull helmets from bones.
- - rscadd: Syndicate bombs are now harder to detect
-2016-04-29:
- Bawhoppen:
- - rscadd: Several lesser-used uplink's TC cost have been rebalanced.
- - tweak: Steckhin down from 9TC to 7TC.
- - tweak: Tactical medkit down from 9TC to 4TC.
- - tweak: Syndicate magboots from 3TC to 2TC.
- - tweak: Powersinks down from 10TC to 6TC.
- - tweak: Stealth rad-laser down from 5TC to 3TC.
- - tweak: Bundles have been updated accordingly.
- Incoming5643:
- - rscadd: The staff/wand of door creation can now also be used to open airlock doors.
- - rscadd: Doors spawned by the staff/wand now start open. Keep this in mind the
- next time you try to turn every wall on the escape shuttle into a door.
- Robustin:
- - rscdel: The Teleport Other, Veil, Imbue, Reveal, Disguise, Blood Drain, Timestop,
- Stun, Deafen, Blind, Armaments, Construct Shell and Summon Tome runes are gone.
- - rscadd: Disguise, Veil/Reveal, Construct Shell and Armaments are now talismans.
- The Construction talisman requires 25 sheets of metal.
- - rscadd: Cultists will now receive a warning when attempting to use emergency communion
- or create the Nar-Sie rune
- - rscadd: Cultists can now create talismans with a super-simple Talisman-Creation
- rune. It takes about 10 seconds to invoke and will present a menu of all the
- talisman choices available. Its as simple as tossing the paper on, clicking
- the rune, and selecting your talisman.
- - rscadd: Cultists now have a proc, "How to Play" that will give a basic explanation
- of how to succeed as a cultist.
- - rscadd: The new Talisman of Horror is a stealthy talisman that will cause hallucinations
- in the victim. Great for undermining security without having to commit to murder
- them in middle of the hall.
- - rscadd: Creating the Summon Nar-Sie rune does takes slightly less time, but now
- adds a 3x3 square of red barrier shields (60hp each) to prevent the rune-scriber
- from being bumped by other idiots. This works in conjunction with the rune's
- warning to give crew a chance to stop the summoning. Manifest ghost has a weaker
- 1x1 shield to prevent bumps as well.
- - rscadd: Talismans are now color-coded by their effect so you can easily organize
- and deploy talismans.
- - rscadd: You can now make colored paper in the washing machine using crayons or
- stamps, honk.
- - rscadd: The Electromagnetic Disruption rune will now scale with the number of
- cultists invoking the rune. **A full 9-cultist invocation will EMP the entire
- station!**
- - rscadd: Armaments will now give the recipient a new cult bola.
- - rscadd: The new Talisman of Shackling will apply handcuffs directly to the victim.
- These cuffs will disappear when removed.
- - tweak: Cult slur is a little less potent so victims might be able to squeeze in
- a coherent word or two if you let them keep jabbering on the radio, stun talismans
- now have less of a health cost and the stun is back to 10 seconds, from 9.
- - tweak: Rune and Talisman names now give a much clearer idea of what they do.
- - experiment: The following changes are courtesy of ChangelingRain
- - rscadd: The Teleport rune now allows cultists to select which rune to teleport
- to, and teleports everything on it.
- - rscadd: Veil and Reveal are merged into Talisman of Veiling. Veiling has two uses,
- the first use will hide and the second use will reveal.
- - rscadd: New icons for the cult bola
- - tweak: You can now attack fellow cultists with a Talisman of Arming to arm them
- with robes and a sword.
- - tweak: You can now only place one rune per tile.
- - tweak: Ghosts are notified when a new manifest rune is created.
- TechnoAlchemisto:
- - rscadd: Sinew can now be fashioned into restraints.
- coiax:
- - tweak: Internals Crate now contains breath masks and small tanks.
- - rscadd: Metal foam grenade box crate added for 1000 points
- - rscadd: Added two Engineering Mesons to Engineering Gear Crate
- - tweak: Engineering Gear now costs 1300
- - rscadd: Breach Shield Generator Crate added for 2500 points
- - rscadd: Grounding Rod Crate added for 1700 points
- - rscadd: PACMAN Generator Crate added for 2500
- - rscadd: Defibrillator Crate added for 2500
- - rscadd: Added more helmets to the Laser Tag Crate.
- - rscadd: Nanotrasen Customs report that some wide band suppliers have been providing
- "alternative" firing pins. Nanotrasen reminds all crewmembers that contraband
- is contraband.
- - rscadd: Contraband crates now appear visually similar to legitimate crates.
- - bugfix: The cargo shuttle's normal transit time has been restored.
- nullbear:
- - rscadd: Adds a preference option, allowing players to toggle whether recipes with
- no matching components should be hidden.
-2016-04-30:
- Joan:
- - rscadd: Blobs attempting to attack the supermatter will instead be eaten by it.
- - experiment: This doesn't mean throwing a supermatter shard at the blob is a good
- idea; blobs attacking it will gradually damage it, eventually resulting in a
- massive explosion, and it will not consume blobs if on a space turf.
- - tweak: Hitting a locker or crate with an ID, PDA with ID, or wallet with ID will
- try to toggle the lock instead of trying to open it.
- - imageadd: Cable coils, cablecuffs, and zipties now all have properly colored inhands.
- Kor:
- - rscadd: Megafauna have been added to lavaland.
- - rscadd: Ash Drakes have been spotted roaming the wastes. Use your GPS to track
- their fiery signals.
- - rscadd: You can now knock on the Necropolis door, but it's probably best that
- you don't.
- Mercenaryblue:
- - rscadd: Adds a basic paper plane to the game. Fold paper with alt-clicking.
- - rscadd: Paper planes are now fully compatible with every stamps on station.
- bgobandit:
- - rscadd: 'Nanotrasen has released Cards Against Spess! Visit your local library
- for a copy. Warning: may cause breakage of the fourth wall.'
-2016-05-02:
- Joan:
- - tweak: Blob spores spawn from factories 2 seconds faster, but the factory goes
- on cooldown when any of its spores die.
- - experiment: You can examine tomes, soulstones, and construct shells to see what
- you can do with them.
- - rscadd: Releasing a shade from a soulstone now allows you to reuse that soulstone
- for capturing shades or souls, instead of preventing the stone's use forever
- if the shade dies.
- - imageadd: Runes now actually pulse red on failure.
- - rscadd: The Summon Cultist rune no longer includes the cultists invoking it in
- the selection menu.
- - tweak: Imperfect Communication renamed to Emergency Communication.
- - rscdel: You can no longer hide the Nar-Sie rune with a Talisman of Veiling/Revealing.
- Kor:
- - rscadd: Engineering cyborgs now have internal blueprints.
- Lzimann:
- - tweak: Automatic nexus placing time changed from 2 to 15 minutes.
- - tweak: Prophet's gear(hat and staff) prioritizes the backpack instead of automatically
- equipping.
- - rscadd: Divine telepathy and prophet to god speak now have a follow button for
- ghosts.
- - rscadd: Divine telepathy and prophet to god speak now has the god's color.
- - bugfix: CTF spawn protection trap is no longer constructable
- Mercenaryblue:
- - tweak: Drastically reduced the chances of eye damage when throwing a paper plane.
- RandomMarine:
- - tweak: Medical HUDs improved. To better prioritize patients, subjects deep into
- critical condition have a blinking red outline around the entire HUD icon, and
- will blink more rapidly when very close to death.
- TechnoAlchemisto:
- - tweak: Security uniforms have been made more professional, and more tactical.
- TrustyGun:
- - rscadd: By crafting together a legion skull, a goliath steak, ketchup, and capsaicin
- oil, you can create Stuffed Legion! Be careful, it's hot.
- coiax:
- - rscadd: Centcom Department of [REDACTED] have announced a change of supplier of
- [EXPLETIVE DELETED]. As such, for security reasons, the absinthe [MOVE ALONG
- CITIZEN] will instead be [NOTHING TO SEE HERE]. We hope that this will not affect
- the performance of the [INFORMATION ABOVE YOUR SECURITY CLEARANCE].
- nullbear:
- - rscadd: A reminder for crew to avoid mopping floors in cold rooms, as the water
- will freeze and provide a dangerous slipping hazard known as 'ice'. Running
- on it is not recommended.
- - rscadd: Frostoil is an effective chemical for rapidly cooling areas in the event
- of a fire.
- - rscadd: Added X4, a breaching charge more destructive than C4, it can be purchased
- from uplinks.
- - rscadd: C4 can be used with assemblies.
- - bugfix: Fixes chembomb recipe to use any matter bin. Again.
- - bugfix: ARG's disappear once finished reacting.
-2016-05-03:
- coiax, Robustin:
- - tweak: Changeling Fleshmend is much less effective when used repeatedly in a short
- time. Changeling Panacea is much more effective at purging reagents, reducing
- radiation and now reduces braindamage.
-2016-05-04:
- Fox McCloud:
- - tweak: shock revolver projectiles are now energy instead of bullets
- Joan:
- - rscdel: Cultists no longer communicate via tomes.
- - rscadd: Cultists now communicate via the 'Communion' action button.
- - rscadd: Examining the blob with an active research scanner or medical hud will
- display effects, akin to hitting it with an analyzer.
- - rscadd: Improved medical HUDs to work on all living creatures.
- - rscadd: Drones and swarmers, being machines, require a diagnostic HUD for analysis
- instead.
- TechnoAlchemist:
- - rscadd: You can now craft cloaks from the scales of fallen ash drakes, look for
- the recipe in tablecrafting!
- coiax:
- - rscadd: The Service and the Standard cyborg module now have a spraycan built in,
- for hijinks and passing on important urban messages. The Service cyborg module
- also has a cyborg-hand labeler, in case anything needs to be labelled.
- - rscadd: 'Centcom Suicide Prevention wishes to remind the station: Please do not
- kill yourself with a hand labeler.'
- xxalpha:
- - bugfix: Fixed the mk-honk prototype shoes.
-2016-05-05:
- Joan:
- - tweak: Revenants are slower while revealed.
- - rscdel: Revenants can no longer cast inside dense objects.
- - tweak: Lying down will cure Blight much, much faster.
- \"Macho Man\" Randy Savage:
- - rscadd: OOOHHH YEAAAAHHHH
- - rscadd: SNAP INTO A JLIM SIM WITH THE ALL NEW WRESTLING BELT
- - rscadd: YOU CAN FREAKOUT YOUR OPPONENTS WITH THE 5 HOT MOVES ON THIS BELT YEAH
- - rscadd: PRAY TO THE LOCAL SPACE GODS TO EXCHANGE YOUR TELECRYSTALS TO ENSURE THE
- CREAM RISES TO THE TOP
-2016-05-07:
- Robustin:
- - rscadd: A small pantry has been added to SW maintenance.
- nullbear:
- - rscadd: Makes Shift+Middleclick the hotkey for pointing.
- phil235:
- - rscadd: DISMEMBERMENT! Humans can now lose their bodyparts. Explosions and being
- attacked with a heavy sharp item on a specific bodypart can cause dismemberment.
- - rscadd: You can't be handcuffed or legcuffed if you're missing an arm or leg.
- You can't use items when you have no legs, your arms are too busy helping you
- crawl, unless your are buckled to a chair. You're slower when missing a leg.
- - rscadd: You lose organs and items if the bodypart they are inside gets cut off.
- You can always retrieve them by cutting the dropped bodypart with a sharp object.
- - rscadd: Medbay can replace your missing limbs with robotic parts via surgery,
- or amputate you.
- - rscadd: Changelings do not die when decapitated! They can regrow all their limbs
- with Fleshmend, or just one arm with Arm Blade or Organic Shield.
- - rscadd: Your chest cannot be dropped, but it will spill its organs onto the ground
- when dismembered.
-2016-05-08:
- CoreOverload:
- - rscadd: You can now de-power inactive swarmers with a screwdriver to prevent them
- from activating.
- - rscadd: Recycle depowered swarmers in autolathe or sell them in cargo!
- Joan:
- - rscadd: Cultist constructs, and shades, can now invoke runes by clicking them.
- - rscdel: This does not include Manifest Ghost, Blood Boil, or Astral Journey runes.
- - rscadd: Medical huds will now show parasites in dead creatures.
- KorPhaeron:
- - rscadd: Burn weapons can now dismember, and they reduce the limb to ash in the
- process
- - rscadd: Weapons with high AP values will now dismember limbs much easier. These
- values are subject to change depending on how things play out over the next
- week or two.
- - rscadd: Various weapons with high AP values had them lowered (chaplain scythe,
- energy sword, dualsaber) to prevent them taking limbs off in a single hit.
- - rscadd: The chaplain has two new weapons (they are mechanically identical to previous
- weapons, before anyone gets upset about balance). One is dismemberment themed,
- the other is related to a new antagonist.
- Mercenaryblue:
- - rscadd: Throwing a Banana Cream Pie will now knock down and cream the target's
- face.
- - rscadd: You can clean off the cream with the usual methods, such as soap, shower,
- cleaner spray, etc.
- - rscadd: The Clown Federation would like to remind the crew that the HoS is worth
- double points! Honk!
- Robustin:
- - experiment: There are rumors that the Cult's 'Talisman of Construction', which
- turns ordinary metal for construct shells, can be used on plasteel to create
- structures. If the stories are true, the cult has been producing relics of incredible
- power through this transmutation.
- coiax:
- - rscadd: To save credits, Centcom has subcontracted out emergency shuttle design
- to third parties. Rest assured, all of these produced shuttles meet our stringent
- quality control.
- - tweak: Lavaland ruins spawning chances have been modified. Expect to see more
- smaller and less round affecting ruins, and no duplicates of major ruins, like
- ash walkers or golems.
- lordpidey:
- - rscadd: Infernal devils have been seen onboard our spacestations, offering great
- boons in exchange for souls.
- - rscadd: Employees are reminded that their souls already belong to nanotrasen. If
- you have sold your soul in error, a lawyer or head of personnel can help return
- your soul to Nanotrasen by hitting you with your employment contract.
- - rscadd: Nanotrasen headquarters will be bluespacing employment contracts into
- the Lawyer's office filing cabinet when a new arrival reaches the station. It
- is recommended that the lawyer create copies of some of these for safe keeping.
- - rscadd: Due to the recent infernal incursions, the station library has been equipped
- with a Codex Gigas to help research infernal weaknesses. Please note that reading
- this book may have unintended side effects. Also note, you must spell the devil's
- name exactly, as there are countless demons with similar names.
- - rscadd: When a devil dies, if the proper banishment ritual is not performed on
- it's remains, the devil will revive itself at the cost of some of it's power. The
- banishment ritual is described in the Codex Gigas.
- - rscadd: When a demon gains enough souls, It's form will mutate to a more demonic
- looking form. The Arch-demon form is known to be on par with an ascended shadowling
- in power.
-2016-05-09:
- Joan:
- - tweak: Sporing Pods produces spores when expanding slightly more often.
- - tweak: Replicating Foam now only expands when hit with burn damage, from all damage,
- but does so at a higher chance. Free expansion from it is, however, more rare.
- - tweak: Penetrating Spines does slightly more brute damage, and Poisonous Strands
- does its damage 50% faster.
- KorPhaeron:
- - rscadd: The AI no longer has a tracking delay because artificial lag is the most
- miserable thing in the world.
- Razharas:
- - tweak: crafting can now be done everywhere, little button near the intents with
- hammer on it(its not T) opens the crafting menu, if you are in a locker or mech
- only things in your hands will be considered for crafting
- coiax:
- - tweak: Skeletons now have bone "tongues"
-2016-05-11:
- Joan:
- - rscadd: Shades can move in space.
- - rscadd: Artificers can now heal shades.
- coiax:
- - tweak: Added action button to chameleon stamp
- - rscadd: Added APPROVED and DENIED stamps to Bureaucracy Crate
- - rscadd: Added the cream pie closet to various maps. Added contraband Cream Pie
- Crate to Cargo.
- pudl:
- - rscadd: The armory has been redesigned.
-2016-05-12:
- Shadowlight and coiax:
- - rscdel: Due to numerous reports of teams using human weapons instead of stealth
- when carrying out their assignments, future teams have been genetically modified
- to only be able to use their assigned blaster and are unable to use human weapons.
-2016-05-13:
- Joan:
- - rscadd: Cultists can now unanchor and reanchor cult structures by hitting them
- with a tome. Unanchored cult structures don't do anything.
- KorPhaeron:
- - rscadd: Drake attacks are now much easier to avoid.
- - rscadd: Player controlled drakes can now consume bodies to heal, and alt+click
- targets to divebomb them.
- TechnoAlchemisto:
- - rscadd: More items have been added to the mining vendor, check them out!
-2016-05-14:
- Cruix:
- - bugfix: Fixed foam darts with the safety cap removed being reset when fired.
- - rscadd: Added the ability to remove pens from foam darts.
- - bugfix: Foam darts with pens inside them are no longer destroyed when fired.
- - bugfix: Foam darts no longer drop two darts when fired at a person on a janicart.
- Joan:
- - rscdel: The Raise Dead rune no longer accepts dead cultists as a sacrifice to
- raise the dead.
- Metacide:
- - rscadd: 'A small update for MetaStation, changes include:'
- - rscadd: Added extra grounding rods to the engine area to stop camera destruction.
- - rscadd: Added canvases and extra crayons to art storage and some easels to maint.
- - rscadd: Added formal security uniform crate for parades to the warden's gear area.
- - rscadd: The armory securitron now starts active.
- - rscadd: The genetics APC now starts unlocked.
- - rscadd: Other minor changes and fixes as detailed on the wiki page.
- coiax, Nienhaus:
- - rscdel: Unfortunately, the Belowyarn toys have been withdrawn from distribution
- due to Assistants choking on the batteries. Centcom has sent their condolences
- to the battery manufacturing plant.
- - rscadd: We are introducing Oh-cee the original content skeleton figurines. Pull
- its string, and hear it say a variety of phrases. Not suitable for infants or
- assistants under 36 months.
- - tweak: Note that pulling the string of all talking toys is now visible to others.
- - rscadd: Talking toys produce a lot more chatter than they did before. So do some
- skeleton "tongues".
- pudl:
- - rscadd: Adds normal security headsets to security lockers
- xxalpha:
- - bugfix: Fixed drone dispenser multiplying glass or metal.
-2016-05-15:
- Iamgoofball:
- - rscadd: Nanotrasen is short on cash, and are now borrowing escape shuttles from
- other stations, and Space Apartments.
- Mercenaryblue:
- - rscadd: Turns out a bike horn made with Bananium is flipping awesome! Honk!
-2016-05-18:
- Cruix:
- - bugfix: unwrapping an item with telekinesis no longer teleports the item into
- your hand.
- Metacide:
- - rscadd: 'MetaStation: the library and chapel have had windows removed to make
- them feel more isolated.'
- MrStonedOne:
- - tweak: Tesla has been rebalanced.
- - tweak: It should now lose balls slower, increase balls faster, and be a bit more
- aggressive about finding nearby grounding rods.
- - tweak: additional zaps from it's orbiting balls should be a bit more varied, but
- a touch less powerful.
- Robustin:
- - rscadd: Lings have a new default ability, Hivemind Link. This lets you bring a
- neck-grabbed victim into hivemind communications after short period of time.
- You can talk to victims who are in crit/muted and perhaps persuade them to help
- you, give you intel, or even a PDA code. The link will stabilize crit victims
- to help ensure they do not die during the link.
- Shadowlight213:
- - bugfix: Cleanbot and floorbot scanning has greatly improved. they should prioritize
- areas next to them, as well as resolve themselves stacking on the same tiles.
- coiax:
- - rscadd: Kinetic accelerators only require one hand to be fired, as before
- - rscdel: Kinetic accelerators recharge time is multiplied by the number of KAs
- that person is carrying.
- - rscdel: Kinetic accelerators lose their charge quickly if not equipped or being
- held
- - rscadd: Kinetic accelerator modkits (made at R&D or your local Free Golem ship)
- overcome these flaws
-2016-05-19:
- Razharas:
- - rscadd: HE pipes once again work in space and in lava.
- - rscadd: Space cools down station air again
-2016-05-20:
- KorPhaeron:
- - rscadd: The HoS now has a pinpointer, the Warden now has his door remote.
- bgobandit:
- - rscadd: Nanotrasen has begun to research BZ, a hallucinogenic gas. We trust you
- will use it responsibly.
- - rscadd: BZ causes hallucinations once breathed in and, at high doses, has a chance
- of doing brain damage.
- - rscadd: BZ is known to cause unusual stasis-like behavior in the slime species.
- coiax:
- - rscadd: Neurotoxin spit can be used as makeshift space propulsion
-2016-05-21:
- Iamsaltball:
- - rscadd: Heads of Staff now have basic Maint. access.
- NicholasM10:
- - rscadd: The chef can now make Khinkali and Khachapuri
- coiax:
- - rscdel: NOBREATH species (golems, skeletons, abductors, ash walkers, zombies)
- no longer have or require lungs. They no longer take suffocation/oxyloss damage,
- cannot give CPR and cannot benefit from CPR. Instead of suffocation damage,
- during crit they take gradual brute damage.
- - rscdel: NOBLOOD (golems, skeletons, abductors, slimepeople, plasmamen) species
- no longer have or require hearts.
- - tweak: NOBREATH species that require hearts still take damage from heart attacks,
- as their tissues die and the lack of circulation causes toxins to build up.
- - rscdel: NOHUNGER (plasmamen, skeletons) species no longer have appendixes.
- coiax, OPDingo:
- - tweak: Renamed and reskinned legion's heart to legion's soul to avoid confusion;
- it is not a substitute heart, it is a supplemental chest organ.
- - rscadd: Legion's souls are now more obviously inert when becoming inert.
- nullbear:
- - tweak: Wetness updates less often.
- - rscadd: Wetness now stacks. Spraying lube over a tile that already has lube, will
- make the lube take longer to dry. Likewise, dumping 100 units of lube will take
- longer to dry than if only 10 units were dumped. (lube used to last just as
- long, regardless of whether it was 1u, or 100u) There is a limit, however, and
- you can't stack infinite lube.
- - tweak: Hotter temperatures cause water to evaporate more quickly. At 100C, water
- will boil away instantly.
- - rscadd: About 5 seconds of wetness are removed from a tile for each unit of drying
- agent. Absorbant Galoshes remain the most effective method of drying, and dry
- tiles instantly regardless of wetness.
-2016-05-22:
- coiax:
- - rscdel: Lavaland monsters now give ruins a wide berth.
- - bugfix: Glass tables now break when people are pushed onto them.
-2016-05-23:
- CoreOverload:
- - rscadd: New cyberimplant, "Toolset Arm", is now available in RnD.
- coiax, OPDingo:
- - rscadd: Crayons and spraycans are now easier to use.
- - rscdel: Centcom announce due to budget cuts their supplier of rainbow crayons
- has been forced to use more... exotic chemicals. Please do not ingest your standard
- issue crayon.
- kevinz000:
- - rscadd: 'Peacekeeper borgs: Security borgs but without any stuns or restraints!
- Modules: Harm Alarm, Cookie Dispenser, Energy Bola Launcher, Peace Injector
- that confuses living things, and a weak holobarrier projector! It also comes
- with the ability to hug.'
- - rscadd: 'Cookie Synthesizer: Self recharging RCD that prints out cookies!'
- - tweak: Nanotrasen scientists have added a hugging module to medical and peacekeeper
- cyborgs to boost emotions during human-cyborg interaction.
-2016-05-24:
- Joan:
- - rscdel: You can no longer scribe the Summon Nar-Sie rune under non-valid conditions.
- Kiazusho:
- - rscadd: Added three new advanced syringes to R&D
-2016-05-26:
- Xhuis:
- - rscadd: Purge all untruths and honor Ratvar.
- coiax:
- - bugfix: Fixes bug where bolt of change to the host would kill an attached guardian.
- - bugfix: Fixes bug where bolt of change to laughter demon would not release its
- friends.
- - bugfix: Fixes bug where bolt of change to morphling would not release its contents.
- - bugfix: Fixes bug where bolt of change transforming someone into a drone would
- not give them hacked laws and vision.
- - bugfix: Blobbernauts created by a staff of change are now "independent" and will
- not decay if seperated from a blob or missing a factory.
- - rscadd: Independent blobbernauts added to gold slime core spawn pool.
- - rscadd: Medical scanners now inform the user if the dead subject is within the
- (currently) 120 second defib window.
- - rscadd: Ghosts now have the "Restore Character Name" verb, which will set their
- ghost appearance and dead chat name to their character preferences.
- - bugfix: Mob spawners now give any generated names to the mind of the spawned mob,
- meaning ghosts will have the name they had in life.
- - bugfix: Fixes interaction with envy's knife and lavaland spawns.
- - bugfix: Fixes a bug where swarmers teleporting humans would incorrectly display
- a visible message about restraints breaking.
- - rscdel: Emagging the emergency shuttle computer with less than ten seconds until
- launch no longer gives additional time.
- - rscadd: The emergency shuttle computer now reads the ID in your ID slot, rather
- than your hand.
-2016-05-27:
- coiax:
- - rscdel: Gatling gun removed from R&D for pressing ceremonial reasons.
- phil235:
- - tweak: Pull and Grab are merged together. Pulling stays unchanged. Using an empty
- hand with grab intent on a mob will pull them. Using an empty hand with grab
- intent on a mob that you're already pulling will try to upgrade your grip to
- aggressive grab>neck grab>kill grab. Aggressive grabs no longer stun you, but
- they act exactly like a handcuff, preventing you from using your hands until
- you escape the grip. You can break free from the grip by trying to move or using
- the resist button.
- - tweak: Someone pulling a restrained mob now swap position with them instead of
- getting blocked by the mob, unable to even push them.
-2016-05-29:
- GunHog:
- - rscadd: The CE, RD, and CMO have been issued megaphones.
- Paprika, Crystalwarrior, Korphaeron and Bawhoppen:
- - rscadd: Pixel projectiles. This is easier to see than explain, so go fire a weapon.
- Xhuis:
- - rscadd: Ratvar and Nar-Sie now actively seek each other out if they both exist.
- - tweak: Celestial gateway animations have been twweaked.
- - tweak: Ratvar now has a new sound and message upon spawning.
- - tweak: Ratvar now only moves one tile at a time.
- - bugfix: The celestial gateway now takes an unreasonably long amount of time.
- - bugfix: God clashing is now much more likely to work properly.
- - bugfix: Function Call now works as intended.
- - bugfix: Break Will now works as intended.
- - bugfix: Holy water now properly deconverts servants of Ratvar.
- - bugfix: Deconverted servants of Ratvar are no longer considered servants.
- pudl:
- - rscadd: Chemicals should now have color, instead of just being pink.
-2016-05-30:
- coiax:
- - rscadd: A new Shuttle Manipulator verb has been added for quick access to probably
- the best and most mostly bugfree feature on /tg/.
- - rscadd: Spectral sword is now a point of interest for ghosts.
- - bugfix: Clicking the spectral sword action now orbits the sword, instead of just
- teleporting to its location.
- - bugfix: Gang tags can again be sprayed over.
- - bugfix: Fixes bug where the wisp was unable to be recalled to the lantern.
- xxalpha:
- - rscdel: Engineering, CE and Atmos hardsuits no longer have in-built jetpacks.
-2016-05-31:
- CoreOverload:
- - rscadd: 'Cleanbot software was updated to version 1.2, improving pathfinding and
- adding two new cleaning options: "Clean Trash" and "Exterminate Pests".'
- - experiment: New cleaning options are still experimental and disabled by default.
- Kiazusho:
- - bugfix: Changeling organic suit and chitin armor can be toggled off once again.
- Kor:
- - rscadd: The Japanese Animes button is back,
- - rscadd: 'The chaplain has three new weapons: The possessed blade, the extra-dimensional
- blade, and the nautical energy sword. The former has a new power, the latter
- two are normal sword reskins.'
- - rscadd: The chapel mass driver has been buffed.
- coiax:
- - rscdel: Zombies can no longer be butchered
- - rscadd: If you encounter an infectious zombie, be cautious, its claws will infect
- you, and on death you will rise with them. If you manage to kill the beast,
- you can remove the corruption from its brain via surgery, or just chop off the
- head to stop it coming back.
- - rscadd: Adds some stock computers and lavaland to Birdboat Station.
- - bugfix: Free Golem scientists have proved that as beings made out of stone, golems
- are immune to all electrical discharges, including the tesla.
- - rscadd: Nuclear bombs are now points of interest. Never miss a borg steal a nuke
- from the syndicate shuttle again!
- - rscadd: Alt-clicking a spraycan toggles the cap.
-2016-06-01:
- coiax:
- - rscadd: Added a mirror to the beach biodome. Beach Bums, rejoyce!
- pudl:
- - rscadd: The brig infirmary has received a redesign.
-2016-06-02:
- Joan:
- - tweak: Closed false walls will block air.
- Lati:
- - rscadd: R&D required levels and origin tech levels have been rebalanced
- - experiment: Overall, items buildable in R&D have lower tech levels and items in
- other departments have their tech levels raised. Remember to use science goggles
- to see tech levels of items!
- - tweak: There are now level gates at high levels. R&D scientists will need help
- from others to get past these level gates.
- - tweak: Other departments such as hydroponics and genetics will be important to
- R&D's progress now and xenobio, mining and cargo are more important than before
- - tweak: Efficiency upgrades are back in R&D machines and tweaked to be less powerful
- in autolathes
- - rscdel: Reliability has been removed from all items
- - bugfix: Most bugs in R&D machines should be fixed
- PKPenguin321 & Nienhaus:
- - rscadd: Letterman jackets are now available from the ClothesMate.
- Quiltyquilty:
- - rscadd: The bar has seen a redesign.
- coiax:
- - rscadd: Clone pods now notify the medical channel on a successful clone. They
- also notify the medical channel if the clone dies or is horribly mutilated;
- but not if it is ejected early by authorised medical personnel.
- - rscadd: Cloning pods now are more capable of cloning humanoid species that do
- not breathe.
- - bugfix: You can only be damaged once by a shuttle's arrival. It is still unpleasant
- to be in the path of one though; try to avoid it.
- - rscadd: Adds Asteroid emergency shuttle to shuttle templates. It is a very oddly
- shaped one though, it might not be compatible with all stations.
- - rscdel: The Chaplain soulshard can only turn a body into a shade once. A released
- shade can still be reabsorbed by the stone to heal it.
- - rscadd: The shuttle manipulator now has a Fast Travel button, for those admins
- that really want a shuttle to get to where its going FAST.
-2016-06-04:
- MrStonedOne:
- - bugfix: fixes see_darkness improperly hiding ghosts in certain cases.
- Xhuis:
- - tweak: Clockwork marauders can now smash walls and tables.
- - tweak: Servants are no longer turned into harvesters by Nar-Sie but instead take
- heavy brute damage and begin to bleed. Similarly, cultists are no longer converted
- by Ratvar but instead take heavy fire damage and are set ablaze.
- - rscadd: Added clockwork reclaimers. Ghosts can now click on Ratvar to become clockwork
- reclaimers - small constructs capable of forcefully converting those that still
- resist Ratvar's reign. Alt-clicking a valid target will allow the reclaimer
- to leap onto the head of any non-servant, latching onto their head and converting
- the target if they are able. The target will be outfitted with an unremovable,
- acid-proof hat version of the reclaimer. The reclaimer will be able to speak
- as normal and attack its host and anything nearby. If the reclaimer's host goes
- unconscious or dies, it will leap free.
- - rscadd: Added pinion airlocks. These airlocks can only be opened by servants and
- conventional deconstruction will not work on them. They can be created by proselytizing
- a normal airlock or from Ratvar.
- - rscadd: Added ratvarian windows. They are created when Ratvar twists the form
- of a normal window, and there are both single-direction and full-tile variants.
- - bugfix: Non-servants can no longer use clockwork proselytizers or mending motors.
- - bugfix: Servants are now deconverted properly.
- coiax:
- - bugfix: The cloning pod now sounds robotic on the radio.
- - rscadd: For extra observer drama, ghosts can now visibly see the countdown of
- syndicate bombs, nuclear devices, cloning pods, gang dominators and AI doomsday
- devices.
-2016-06-05:
- Joan:
- - rscadd: Clockwork structures can be damaged by projectiles and simple animals,
- and will actually drop debris when destroyed.
- - rscadd: AIs and Cyborgs that serve Ratvar can control clockwork airlocks and clockwork
- windoors.
- - rscadd: The clockwork proselytizer can now proselytize windows, doors, grilles,
- and windoors.
- - rscadd: The clockwork proselytizer can proselytize wall gears and alloy shards
- to produce replicant alloy. It can also proselytize replicant alloy to refill,
- in addition to refilling by attacking it with alloy.
- - rscadd: The clockwork proselytizer can replace clockwork floors with clockwork
- walls and vice versa.
- - rscadd: Ratvar will convert windoors, tables, and computers in addition to everything
- else.
- - tweak: Ratvar now moves around much faster.
- - rscadd: Ratvar and Nar-Sie will break each other's objects.
- - tweak: The blind eye from a broken ocular warden now serves as a belligerent eye
- instead of as replicant alloy. The pinion lock from a deconstructed clockwork
- airlock now serves as a vanguard cogwheel instead of as replicant alloy.
- - rscadd: Clockwork walls drop a wall gear when removed by a welding tool. The wall
- gear is dense, but can be climbed over or unwrenched, and drops alloy shards
- when broken. Clockwork walls drop alloy shards when broken by other means.
- - bugfix: Fixed Nar-Sie wandering while battling Ratvar.
- - bugfix: Ratvarian Spears now last for the proper 5 minute duration.
- - bugfix: Servant communication now has ghost follow links.
- - imageadd: New sigil sprites, courtesy Skowron.
- - imageadd: Sigils of Transgression have a visual effect when stunning a target.
- - imageadd: Clockwork spears now have a visual effect when breaking.
- PKPenguin321:
- - rscadd: The CMO's medical HUD implant now comes with a one-use autoimplanter for
- ease of use.
- RemieRichards:
- - rscadd: Slimes may now be ordered to attack! You must be VERY good friends with
- the slime(s) to give this command, asking them to attack their friends or other
- slimes will result in them liking you less so be careful!
- X-TheDark:
- - rscadd: Mech battery replacement improved. The inserted battery's charge will
- be set to the same percentage of the removed one's (or 10%, if removed one's
- was less).
- coiax:
- - bugfix: Clicking the (F) link when an AI talks in binary chat will follow its
- camera eye, the same as when (F) is clicked for its radio chat.
- - bugfix: Laughter demons should now always let their friends go when asked correctly.
- - rscadd: Cloning pods now grab the clone's mind when the body is ejected, rather
- than when it starts cloning.
- - rscadd: Wizards have been experimenting with summoning the slightly less lethal
- "laughter demon". Please be aware that these demons appear to be nearly as dangerous
- as their slaughter cousins. But adorable, nonetheless.
- kevinz000:
- - rscadd: Gravity Guns! It is a mildly expensive R&D gun that has a 5 second cooldown
- between shots, but doesn't need to be recharged. It has two modes, attract and
- repulse. For all your gravity-manipulation needs!
-2016-06-07:
- Bobylein:
- - rscadd: Nanotrasen is finally able to source transparent bottles for chemistry.
- Iamgoofball:
- - experiment: The Greytide Virus got some teeth.
- Joan:
- - wip: This is a bunch of Clockwork Cult changes.
- - rscadd: Added the Clockwork Obelisk, an Application scripture that produces a
- clockwork obelisk, which can Hierophant Broadcast a large message to all servants
- or open a Spatial Gateway with 5 uses and a 10 second duration to any conscious
- servant or clockwork obelisk.
- - wip: Spatial Gateways of any source have doubled uses and duration when the target
- is a clockwork obelisk.
- - rscadd: Added the Mania Motor, an Application scripture that produces a mania
- motor, which, while active, causes hallucinations and brain damage in all nearby
- humans.
- - wip: The Mania Motor will try to convert any non-servant human directly adjacent
- to it at an additional power cost and will remove brain damage, hallucinations,
- and the druggy effect from servants.
- - rscadd: Added the Vitality Matrix, an Application scripture that produces a sigil
- that will slowly drain health from non-servants that remain on it. Servants
- that remain on the sigil will instead be healed with the vitality drained from
- non-servants.
- - wip: The Vitality Matrix can revive dead servants for a cost of 25 vitality plus
- all non-oxygen damage the servant has. If it cannot immediately revive a servant,
- it will still heal their corpse.
- - experiment: Most clockwork structures, including the Mending Motor, Interdiction
- Lens, and the newly added Clockwork Obelisk and Mania Motor, now require power
- to function.
- - wip: Mending Motors can still use alloy for power.
- - tweak: The Sigil of Transmission has been remade into a power battery and will
- power directly adjecent clockwork structures. Sigils of Transmission start off
- with 4000 power and can be recharged with Volt Void.
- - tweak: Volt Void drains somewhat more power, but will not damage the invoker unless
- they drain too much power. Invokers with augmented limbs will instead have those
- limbs healed unless they drain especially massive amounts of power.
- - wip: Using Volt Void on top of a Sigil of Transmission will transfer most of the
- power drained to the Sigil of Transmission, effectively making it far less likely
- to damage the invoker.
- - rscdel: You can no longer stack most sigils and clockwork objects with themself.
- You can still have multiple different objects or sigils on a tile, however.
- - tweak: The Break Will Script has been renamed to Dementia Doctrine, is slightly
- faster, and causes slightly more brain damage.
- - tweak: The Judicial Visor now uses an action button instead of alt-click. Cultists
- of Nar-Sie judged by the visor will be stunned for half duration, but will be
- set on fire.
- - tweak: Multiple scriptures have had their component requirements changed. The
- Summon Judicial Visor Script has been reduced from a Script to a Driver.
- - rscadd: Recollection will now show both required and consumed components.
- - tweak: Clockwork Marauders can now emerge from their host if their host is at
- or below 60% total health(for humans, this is 20 health out of crit)
- - tweak: Clockwork Marauders will slowly heal if directly adjacent to their host
- and have a slightly larger threshold for their no-Fatigue bonus damage.
- Quiltyquilty:
- - rscadd: Botany, atmospherics and cargo now all have access to high-capacity watertanks.
- - rscadd: The bar has now been outfitted with custom bar stools.
- Xhuis:
- - rscdel: Removed the global message played when Nar-Sie _begins_ to spawn (but
- not when it actually spawns).
- - tweak: Drunkenness recovery speed now increases with how drunk the imbiber is
- and is much quicker when the imbiber is asleep.
- - tweak: Suit storage units now take three seconds to enter (up from one) and have
- different sounds and messages for UV ray cauterization.
- - bugfix: Fixed some bugs with the suit storage unit, inserting mobs, and contents
- to seemed to duplicate themselves.
- - bugfix: The Summon Nar-Sie rune can now only be drawn on original station tiles
- and fails to invoke if scribed on the station then moved elsewhere.
- coiax:
- - rscdel: Bluespace shelter capsules can no longer be used on shuttles.
- - rscadd: Bluespace shelters may have different capsules stored. View what your
- capsule has inside by examining it.
- - rscdel: The Nar'sie rune cannot be scribed on shuttles or off Z-level.
- - rscadd: The Raise Dead rune automatically grabs the ghost of the raised corpse.
- - rscadd: Deadchat is now notified when a sentient mob dies.
- phil235:
- - rscadd: Monkeys and all other animals that should have blood now has it. Beating
- them up will make you and your weapon bloody, just like beating a human does.
- Dragging them when wounded and lying will leave a blood trail. Their blood is
- still mostly cosmetic, they suffer no effects from low blood level, unlike humans.
- - rscadd: When a mob leaves a blood trail while dragged, it loses blood. You can
- no longer drag a corpse to make an inifinite amount of blood trails, because
- once the victim's blood reaches a certain threshold it no longer leaves a blood
- trail (and no longer lose any more blood). The threshold depends on how much
- damage the mob has taken. You can always avoid hurting the dragged mob by making
- them stand up or by buckling them to something or by putting them in a container.
- - rscdel: You can no longer empty a mob of its blood entirely with a syringe, once
- the mob's blood volume reaches a critically low level you are unable to draw
- any more blood from it.
- - tweak: A changeling absorbing a human now sucks all their blood.
-2016-06-08:
- Cruix:
- - bugfix: Changelings no longer lose the regenerate ability if they respect while
- in regenerative stasis.
- Fox McCloud:
- - bugfix: Fixes Experimentor critical reactions not working
- - bugfix: Fixes Experimentor item cloning not working
- - bugfix: Fixes Experimentor producing coffee vending machines instead of coffe
- cups
- - tweak: Experimentor can only clone critical reaction items instead of anything
- with an origin tech
- GunHog:
- - rscadd: Nanotrasen has approved the Hyper-Kenetic Accelerator upgrade for cyborg
- mining modules.
- - tweak: Each of the heads' ID computers are now themed for their department!
- Joan:
- - tweak: Anima Fragments have slightly more health and move faster, but slow down
- temporarily when taking damage. Also they can move in space now.
- Kor:
- - rscadd: The clown will play a sad trombone noise upon death.
- - rscadd: Colossi now roam the wastes.
- - rscadd: Bubblegum now roams the wastes.
- PKPenguin321:
- - rscadd: You can now emag chemical dispensers, such as the ones in chemistry or
- the bar, to unlock illegal chemicals.
- lordpidey:
- - tweak: Infernal jaunt has been significantly nerfed with an enter and exit delay.
-2016-06-09:
- GunHog:
- - rscadd: Nanotrasen scientists have completed a design for adapting mining cyborgs
- to the Lavaland Wastes in the form of anti-ash storm plating. Research for this
- technology must be adapted at your local station.
- Joan:
- - tweak: Anima Fragments have slightly less health and damage and will slow down
- for longer when hit.
- Kor:
- - rscadd: The captain now spawns with the station charter, which allows him to name
- the station.
- Papa Bones:
- - tweak: Loyalty implants have been refluffed to mindshield implants, they are mechanically
- the same.
- Xhuis:
- - rscadd: You can now remove all plants and weeds from a hydroponics tray by using
- a spade on it.
- - rscadd: Added meatwheat, a mutated variant of wheat that can be crushed into meat
- substitute.
- - rscadd: Added ambrosia gaia, a mysterious plant that is rumored to provide nutrients
- and water to any soil - hydroponic or otherwise - that it's planted in.
- - rscadd: Added cherry bombs, a mutated variant of blue cherries that have an explosively
- good taste. Oh, and don't pluck the stems.
- coiax:
- - tweak: The beacons from support guardians are now structures, rather than replacing
- the floor tile. In practice, this will change little, aside from not leaving
- empty plating when a beacon is removed because a new one has been placed.
- nullbear:
- - tweak: Removes the restriction on wormhole jaunters, preventing them from teleporting
- you to beacons on other z-levels.
- - tweak: No longer able to use beacons to bypass normal shuttle/centcomm anti-bluespace
- measures.
-2016-06-11:
- Joan:
- - rscadd: Clockwork Slabs, Clockwork Caches near walls, and Tinkerer's Daemons will
- now be more likely to generate components that the clockwork cult has the least
- of.
- - rscadd: Destroyed Clockwork Caches will drop all Tinkerer's Daemons in them.
- - tweak: Clockwork Caches can now only generate a component every 30 seconds(when
- near a clockwork wall), Clockwork Slabs can only generate a component every
- 40 seconds, and Tinkerer's Daemons can only generate a component every 20 seconds.
- This should result in higher component generation for everything except Clockwork
- Caches near clockwork walls.
- - tweak: Adding a component to a Clockwork Slab instead puts that component in the
- global component cache.
- - tweak: Clockwork Slabs only generate components if held by a mob or in a mob's
- storage, and when generating a component will prevent other Slabs held from
- generating a component.
- - tweak: The Replicant Driver no longer costs a Replicant Alloy to invoke; basically
- you can throw free Slabs at converts.
- - rscdel: Clockwork Slabs no longer have Repository as a menu option; instead, you
- can examine them to see how many components they have access to.
- - rscdel: Clockwork Caches directly on top of clockwork walls won't generate components
- from that wall.
- Lzimann:
- - rscadd: Bar stools are now constructable with metal!
- coiax:
- - rscadd: Ghosts are notified when someone arrives on the Arrivals Shuttle. This
- is independent of the announcement system, and the (F) link will follow the
- arrived person.
- - tweak: Slimes and aliens with custom names now retain those names when changing
- forms.
- kevinz000:
- - bugfix: Malf AI hacking an APC that is then destroyed will no longer bug the AI
- - bugfix: Being turned into a Revolutionary now stuns you for a short while.
- - bugfix: Kinetic Accelerators no longer drop their firing pin or cell when destroyed
- by lava
- phil235:
- - rscadd: Firelock assemblies can be reinforced with plasteel to construct heavy
- firelocks.
-2016-06-12:
- Joan:
- - rscadd: Attacking a human you are pulling or have grabbed with a ratvarian spear
- will impale them, doing massive damage, stunning the target, and breaking the
- spear if they remain conscious after being attacked.
- - tweak: The Function Call verb is now an action button.
- Xhuis:
- - rscdel: While experimenting with floral genetic engineering, Nanotrasen botanists
- discovered an explosive variety of the cherry plant. Due to gross misuse, the
- genes used to produce this strain have been isolated and removed while Central
- Command decides how best to modify it.
- xxalpha:
- - rscadd: 'New wizard spell: Spacetime Distortion.'
- - rscadd: 3x1 grafitti
-2016-06-13:
- Joan:
- - tweak: Sigils of Transgression will now only stun for about 5 seconds, from around
- 10 seconds.
- - tweak: Sigils of Submission take about 5 seconds to convert a target, from around
- 3 seconds, and will glow faintly.
- - rscadd: Sigils of any type can be attacked with an open hand to destroy them,
- instead of requiring harm intent. Servants still require harm intent to do so.
- Lati:
- - rscadd: Nanotrasen has added one of their rare machine prototypes to cargo's selection.
- It might be valuable to research.
- Xhuis:
- - rscadd: You can now create living cake/cat hybrids through a slightly expensive
- crafting recipe. These "caks" are remarkably resilient, quickly regenerating
- any brute damage dealt, and can be attacked on harm intent to take a bite to
- be fed by a small amount. They serve as mobile sources of food and make great
- pets.
- - rscadd: If a brain occupied by a player is used in the crafting recipe for caks,
- that player then takes control of the cak!
-2016-06-14:
- Joan:
- - tweak: The Gateway to the Celestial Derelict now takes exactly 5 minutes to successfully
- summon Ratvar and has 500 health, from 1000.
- - rscadd: You can now actually hit people adjacent to the Gateway; only the center
- of the Gateway can be attacked. The Gateway is also now dense, allowing you
- to more easily shoot at it.
- - rscadd: All Scripture in the Clockwork Slab's recital has a simple description.
- Razharas:
- - rscadd: Wiki now has the method of cultivating kudzu vines that was in game for
- over a year. https://tgstation13.org/wiki/Guide_to_hydroponics#Kudzu
- kevinz000:
- - tweak: Gravity Guns should no longer destroy local reality when set to attract
- and shot in an east cardinal direction. Added safety checks has slightly increased
- the cost of the gun's fabrication. Nanotrasen apologizes for the inconvenience.
- - bugfix: Gravity guns now have an inhand sprite.
-2016-06-16:
- GunHog:
- - rscadd: In response to alarmingly high mining cyborg losses, Nanotrasen has equipped
- the units with an internal positioning beacon, as standard within the module.
- Joan:
- - rscadd: You can now strike a Tinkerer's Cache with a Clockwork Proselytizer to
- refill the Proselytizer from the global component cache.
- - tweak: The Clockwork Proselytizer requires slightly less alloy to convert windows
- and windoors.
- - tweak: Several clockwork objects have more useful descriptions, most notably including
- structures, which will show a general health level to non-servants and exact
- health to servants.
- - imageadd: The Clockwork Proselytizer has new, more appropriate inhands.
- - tweak: Invoking Inath-Neq, the Resonant Cogwheel, now gives total invulnerability
- to all servants in range for 15 seconds instead of buffing maximum health.
- - tweak: Impaling a target with a ratvarian spear no longer breaks the spear.
- - tweak: Judicial Markers(the things spawned from Ratvar's Flame, in turn spawned
- from a Judicial Visor) explode one second faster.
- - rscdel: Removed Dementia Doctrine, replacing it with an Application sigil.
- - rscadd: Adds the Sigil of Accession, the previously-mentioned Application sigil,
- which is much like a Sigil of Submission, except it isn't removed on converting
- un-mindshielded targets and will disappear after converting a mindshielded target.
- - tweak: Sigil of Submission is now a Script instead of a Driver; It's unlocked
- one tier up, so you have to rely on the Drivers you have until you get Scripts,
- instead of spamming both Driver sigils for free converts.
- - rscadd: To replace Sigil of Submission in the Driver tier; Added Taunting Tirade,
- which is a chanted scripture with a very fast invocation, which, on chanting,
- confuses, dizzies, and briefly stuns nearby non-servants and allows the invoker
- a brief time to relocate before continuing the chant.
- - rscadd: Ghosts can now see the Gateway to the Celestial Derelict's remaining time
- as a countdown.
- - tweak: Anima Fragments are now slightly slower if not at maximum health and no
- longer drop a soul vessel when destroyed.
- Quiltyquilty:
- - rscdel: Patches now hold only 40u.
- - rscdel: Patches in first aid kits now only contain 20u of chemicals.
- coiax:
- - rscadd: Polymorphed mobs now have the same name, and where possible, the same
- equipment as their previous form.
-2016-06-19:
- Joan:
- - tweak: Assassin holoparasite attack damage increased from 13 to 15, stealth cooldown
- decreased from 20 seconds to 16 seconds.
- - tweak: Charger holoparasite charge cooldown decreased from 5 seconds to 4 seconds.
- - tweak: Chaos holoparasite attack damage decreased from 10 to 7, range decreased
- from 10 to 7.
- - tweak: Lightning holoparasite attack damage increased from 5 to 7, chain damage
- increased by 33%.
- - rscdel: Clock cult scripture unlock now only counts humans and silicons.
- - rscadd: Servants of ratvar can now create cogscarab shells with a Script scripture.
- Adding a soul vessel to one will produce a small, drone-like being with an inbuilt
- proselytizer and tools.
- - imageadd: Clockwork mobs have their own speechbubble icons.
- - tweak: Invoking Sevtug now causes massive hallucinations, brain damage, confusion,
- and dizziness for all non-servant humans on the same zlevel as the invoker.
- - rscdel: Invoking Sevtug is no longer mind control. RIP mind control 2016-2016.
- - tweak: Clockwork slabs now produce a component every 50 seconds, from 40, Tinkerer's
- Caches now produce(if near a clockwork wall) a component every 35 seconds, from
- 30.
- - experiment: 'Tinkerer''s daemons have a slightly higher cooldown for each component
- of the type they chose to produce that''s already in the cache: This is very
- slight, but it''ll add up if you have a lot of one component type and are trying
- to get more of it with daemons; 5 of a component type will add a second of delay.'
- Kor and Iamgoofball:
- - rscadd: Miners can now purchase fulton extraction packs.
- - rscadd: Miners can now purchase fulton medivac packs.
- - rscadd: Two new fulton related bundles are available for purchase with vouchers.
- Quiltyquilty:
- - rscadd: Beepsky now has his own home in the labor shuttle room.
- Wizard's Federation:
- - bugfix: We've fired the old Pope, who was actually an apprentice in disguise.
- We've a-pope-riately replaced him with a much more experienced magic user.
- - rscadd: Some less-then-sane people have been sighted forming mysterious cults
- in lieu of recent Pope sightings, lashing out at anyone who speaks ill of him.
- - bugfix: We've rejiggered our trans-dimensional rifts, and almost all cases of
- clergy members being flung into nothingness should be resolved.
- - bugfix: All members of the Space Wizard's Clergy have been appropriately warned
- about usage of skin-to-stone spells, and such there should be no more instances
- of permanent statueification.
- Xhuis:
- - tweak: Revenants have been renamed to umbras and have undergone some tweaks.
- coiax:
- - rscadd: Drones can hear robotic talk, but cannot communicate on it. AIs and cyborgs
- are encouraged to share information with station repair drones.
- - rscadd: Potted plants can now be ordered from cargo.
- - rscdel: AI turrets no longer fire at drones.
-2016-06-20:
- Kor:
- - rscadd: Cult runes can only be scribed on station and on mining.
- - rscadd: The comms console now has a new option allowing you to communicate with
- the other server.
- Quiltyquilty:
- - rscadd: The detective has been moved to above the post office.
- coiax:
- - rscadd: Birdboat's supply loop has been split into two unconnected halves, to
- maintain award winning air quality.
- incoming5643:
- - experiment: New abilities for some races!
- - rscadd: Skeletons (liches) and zombies now are much more susceptible to limb loss,
- but can also reattach lost limbs manually without surgery.
- - rscadd: Slimepeople can now lose their limbs, but also can regenerate them if
- they have the jelly for it. Additionally slimepeople will (involuntarily) lose
- limbs and convert them to slime jelly if they're extremely low on jelly.
- - rscadd: Zombies and slimepeople now have reversed toxic damage, what usually heals
- now hurts and what usually hurts now heals. Keep in mind that while you could
- for example heal with unstable mutagen, you'd still mutate. Beware of secondary
- effects! Drugs like antitoxin are especially dangerous to these races now since
- not only do they do toxin damage, but they remove other toxic chems before they
- can heal you. Be wary also of wide band healing drugs like omnizine.
- - rscadd: For slime people the above mechanic also adds/drains slime jelly. So yes
- inhaling plasma is now a valid way to build jelly (but you'll still suffocate
- if there's no oxygen).
- - rscadd: Pod people now mutate if shot with the mutation setting of the floral
- somatoray.
-2016-06-22:
- Cheridan:
- - tweak: Flashes no longer stun cyborgs, instead working almost exactly like a human,
- causing them to become confused and unequip their current module.
- Joan:
- - rscdel: Those who do not serve Ratvar cannot understand His creations.
- - rscadd: You can now repair clockwork structures with a clockwork proselytizer.
- This is about a third as efficient as a mending motor, costing 2 liquified alloy
- to 1 health, and also about a third as fast.
- - tweak: Scarab proselytizers are more efficient and will reap more alloy from metal
- and plasteel.
- - rscadd: They can also directly convert rods to alloy.
- - tweak: Nuclear bombs will no longer explode the station if in space. Please be
- aware of this.
- Kor:
- - rscadd: You can now pick up potted plants.
- PKPenguin321:
- - rscadd: You can now pick up a skateboard and use it as a weapon by dragging it
- to yourself.
- - imageadd: Skateboards have been given brand new sprites, courtesy of JStheguy
- Quiltyquilty:
- - rscadd: The AI is back in the center of the station. The gravity generator is
- now where the SMES room used to be. The SMESes are in the equipment room.
- Supermichael777:
- - rscadd: Flaps are no longer space-racist and now accept all bots.
- Xhuis:
- - tweak: Holy weapons, such as the null rod and possessed blade, now protect from
- Ratvar's magic.
- coiax:
- - rscadd: Certain custom station names may be rejected by Centcom.
- - rscadd: Drone shells can be ordered in Emergency supplies at Cargo.
-2016-06-23:
- Joan:
- - tweak: Tinkerer's Caches generate components(when near clockwork walls) every
- minute and a half, from every 35 seconds. Clockwork Slabs generate components
- once per minute, from once per 50 seconds.
- - tweak: Spatial Gateway will last four seconds per invoker, instead of two per
- invoker.
- - rscdel: Clockwork floors now only heal toxin damage on servants of Ratvar.
- - rscdel: You can no longer place ocular wardens very close to other ocular wardens.
- - tweak: The Flame produced by a Judicial Visor is no longer an effective melee
- weapon and will trigger on all intents, not just harm intent.
- Wizard's Federation:
- - bugfix: Acolytes of Hades have revealed their true forms.
- - rscadd: We've discovered a way to traverse portals left behind by Hades, and have
- discovered a great treasure through it.
- - bugfix: Hades has undergone Anger Management classes, and should no longer remain
- wrathful for the duration of his visit.
- coiax:
- - rscadd: Changelings now evolve powers via the cellular emporium, which they can
- access via an action button.
- - rscadd: Due to budget cuts, the shuttle's hyperspace engines now create a visual
- distortion at their destination, a few seconds before arrival. Crewmembers are
- encouraged to use these "ripples" as an indication of where not to stand.
- - bugfix: Shuttles now only run over mobs in turfs they are moving into, rather
- than the entire rectangle.
- - rscadd: If you are an observer, you can click on transition edges of a Z-level
- in order to move as a mob would.
- - rscadd: Due to safety concerns, the Hyperfractal Gigashuttle now has some safety
- grilles to prevent accidental matter energising.
- coiax, incoming:
- - rscadd: Due to budget cuts, the builtin anti-orbit engines on the station have
- been removed. As such, expect the station to start orbiting the system again,
- and encounter an unpredictable stellar environment.
- - rscdel: All permanent structures (not on station, Centcom or lavaland) have been
- removed.
- - rscadd: All removed structures are now space ruins, and can be placed randomly
- in space ruin zlevels.
- - wip: The White Ship remains at its current location, but has lost any reliable
- landmarks near it. Its starting position will be made more random in a coming
- update.
- - rscadd: The Space Bar has a small atmos system added and a teleporter. Some other
- ruins have been cleaned up to not have atmos active turfs.
-2016-06-24:
- Joan:
- - experiment: The Interdiction Lens has been reworked; instead of allowing you to
- disable Telecomms, Cameras, or non-Servant Cyborgs, it drains power from all
- APCs, SMES units, and non-Servant cyborgs in a relatively large area, funneling
- that power into nearby Sigils of Transmission, then disables all cameras and
- radios in that same area.
- - wip: If it fails to find anything it could disable or drain any power, it turns
- off for 2 minutes.
- - tweak: You can now target yourself with Sentinel's Compromise, allowing you to
- heal yourself with it.
- - rscadd: Flashes will once again stun borgs, but for a much shorter time than they
- previously did; average stun time is reduced from the previous average of 15
- seconds to about 6 seconds. The confusion remains, but it will no longer unequip
- borg modules.
- MMMiracles:
- - tweak: Metastation xenobiology's lights and cell have been modified so it won't
- drain 5 minutes into the round.
- SnipeDragon:
- - bugfix: Changelings created at round start now correctly receive their Antag HUD.
- Xhuis:
- - rscadd: Cardboard cutouts have been added. Now you can set up advertisements for
- your clown mart.
-2016-06-26:
- Basilman:
- - rscadd: The Donor prompt for becoming an alien queen maid is now an action button
- instead, and can be toggled on and off.
- Joan:
- - rscadd: Fellowship Armory now invokes faster for each nearby servant and provides
- clockwork gauntlets, which are shock-resistant and provide armor to the arms.
- - tweak: It's not wise to equip clockwork armor if you don't serve Ratvar.
- - bugfix: A full set of clockwork armor will now actually cover all limbs.
- coiax:
- - rscadd: Our administrators, here at /tg/, don't get enough credit for their wealth
- of experience and knowledge. Now they get the chance to share that with you
- by giving out custom tips!
- - tweak: Gang domination now uses the same timing method as shuttles, making their
- domination times more accurate.
- - rscdel: The default shuttle transit time is now 15 seconds.
- - rscadd: Please do not commit suicide with the nuclear authentication disk.
- - rscadd: Observers now have a visible countdown for borg factories, silicons can
- examine the factory to determine how long it has remaining until it is ready.
- - rscadd: Clockwork mobs sound like Ratvar chants if you do not serve Ratvar.
- - rscadd: When servants recite, they now talk in a strange voice that is more noticable.
-2016-06-28:
- CoreOverload:
- - rscadd: Kinetic accelerator now supports seclite attachment.
- - rscadd: All cyborgs have been outfitted with ash-proof plating.
- - rscadd: Mining cyborg module now includes a welder and a fire extinguisher.
- - rscadd: 'Mining cyborgs now have a new upgrade: lavaproof tracks.'
- Joan:
- - rscdel: Clockwork Marauders are no longer totally invincible to damage unless
- a holy weapon was involved.
- - rscadd: Clockwork Marauders will take damage when attacked, but unless they're
- fighting excessive amounts, they'll be forced to return to their host before
- they'd normally die.
- - experiment: A holy weapon held in either hand in the presence of a marauder will
- massively increase the damage they take, making it much more likely the marauder
- can be killed.
- - tweak: Clockwork Marauders do slightly less damage at low fatigue levels.
- - rscadd: Clockwork Marauders now have a chance to block melee attacks, negating
- the damage from them, and an additional chance to immediately counter, attacking
- whoever tried to attack them.
- - wip: If Ratvar has awoken, Marauders have a much higher chance to block and counter,
- will block thrown items and projectiles, and gradually regenerate.
- - experiment: Clockwork Marauders no longer have a verb to communicate; they instead
- use :b to do so.
- - rscadd: Faked deaths are now effectively indistinguishable from real deaths.
- MMMiracles:
- - rscadd: Adds some ruins for space and lavaland. Balance not included.
- - rscadd: Adds spooky ghosts.
- SnipeDragon:
- - bugfix: Cardboard Cutouts now become opaque when their appearance is changed.
- Wizard's Federation:
- - rscadd: Acolytes of Hades have been scolded for gluing their clothes to themselves,
- and their clothes can now be cut off them.
- - rscadd: Hades has learned a few new tricks, to ensure the ultimate demise of his
- target.
- - bugfix: Hades has faced a council of his repeated use of time magic inside chapels,
- and as it was deemed unholy, he will no longer do it.
- - rscadd: Wizards of the Wizard's Federation have been granted access to Dark Seeds,
- ancient relics used to call upon Hades in a time of need.
- Xhuis:
- - rscdel: You can no longer put paper cups back onto water coolers. In addition,
- they're now just called "liquid coolers" instead of changing based on their
- contents.
- coiax:
- - rscadd: Status displays added to a variety of shuttle templates.
- - rscdel: Large graffiti now consumes 5 uses from limited use crayons and spraycans,
- as well as taking three times the amount of time to draw.
- - rscadd: All items inside the supply shuttle will now be sold, regardless of whether
- they're inside a container or not.
- - bugfix: Fixes issue where the AI core APC on Metastation would not charge.
- 'name: Lzimann':
- - rscadd: Engineer and atmos wintercoat can hold the RPD now!
- optional name here:
- - rscdel: Shadowlings have been completely removed.
- oranges:
- - tweak: You can now hear dice
- timkoster1:
- - rscadd: adds a hud soul counter for devils. Sprites by PouFrou and special thanks
- to lordpidey for about everything.
-2016-06-29:
- Joan:
- - rscadd: Ghosts spawning via Ratvar can now choose to spawn as a Cogscarab with
- a usable slab instead of as a Reclaimer.
- - bugfix: You can no longer permanently block hostile simple mobs with sandbags
- and other barricades.
- MrStonedOne:
- - rscadd: Ghosts may now jump between the two linked servers using the new Server
- Hop verb. Rather than whine in deadchat about dieing, you can just go play a
- new round on the other server.
- coiax:
- - rscadd: Adds a new UI to slimepeople, allowing them to select more easily which
- body to swap to
- - rscadd: Slimepeople swapping consciousness between bodies is now visible to onlookers
- - bugfix: The AI malfunction "Hostile Lockdown" power now restores the station doors
- to normal after 90 seconds, rather than keeping everything shut forever.
-2016-07-01:
- Flavo:
- - bugfix: fixed a bug where lights would not update.
- Joan:
- - rscadd: Clockwork Slabs now use an action button to communicate instead of the
- "Report" option in the menu after using a slab.
- - tweak: Clockwork Slabs now fit in pockets, the belt slot, or in the suit storage
- slot(if wearing clockwork armor), where they can be used as hands-free communication.
- - imageadd: Clockwork items with action buttons have a new, clockwork-y background.
- - rscadd: Judicial Visors now tell the user how many targets the Judicial Blast
- struck.
- - soundadd: Judicial Markers now have sounds when appearing and exploding.
- - tweak: Wet turfs should remain that way for slightly longer than 5 seconds now.
- - rscadd: Drones and Swarmers should now sound more robotic.
- - tweak: Ratvarian Spears will stun cyborgs and cultists for twice as long when
- thrown; on cyborgs, this should be long enough to use Guvax on them.
- - rscdel: Removed the Justicar's Gavel application scripture.
- - tweak: Vitality Matrices will drain and heal 50% faster, and the base cost to
- revive is 20% lower; 20, from 25.
- - rscadd: Vitality Matrices will not revive or heal corpses unless they can grab
- the ghost of the corpse, and will immediately grab the ghost when reviving.
- - rscadd: Swarmers consuming swarmer shells now refunds the swarmer the entire cost
- of the shell instead of 2% of the shell's cost.
- - experiment: Application scriptures require at least 75 CV, from 50.
- - experiment: Revenant scriptures require at least 4 Caches, from 3, and at least
- 150 CV, from 100.
- - experiment: Judgement scripture requires at least 12 servants, from 10, 5 Caches,
- from 3, and at least 250 CV, from 100.
- - experiment: Script and Application scripture have had their component costs and
- requirements tweaked to reduce overuse of certain components.
- - wip: Invoke times for a few scriptures that were instant are now very short instead.
- Kor:
- - rscdel: Holoparasites are no longer in the uplink
- NikNak:
- - tweak: Showcases are now movable and deconstructable. Wrench them to unanchor
- and then screwdriver and crowbar to deconstruct.
- Papa Bones:
- - tweak: Security now has energy bolas available to them in their vending machines,
- check them out!
- bobdobbington:
- - rscadd: Added skub to the AutoDrobe as a premium item.
- coiax:
- - rscadd: The CTF arena regenerates every round, and the blue team now shoot blue
- lasers.
- - rscadd: Adds some descriptions to alien surgery tools
- - rscadd: The agent vest can be locked and unlocked (toggling the NODROP flag)
- - rscadd: An abductor team can spend data points to purchase an agent vest (note
- that only abductor agents are trained in their use)
- - rscadd: The nuke disk reappears on the station in far more random locations, but
- tends to re-materialise in safe pressurised areas that aren't on fire.
- 'name: Lzimann':
- - tweak: Mulebots with pAI cards no longer stun people
-2016-07-02:
- Joan:
- - rscadd: Clockwork Proselytizers can now reform stored alloy into usable component
- alloy when used in-hand.
- - rscdel: Mending motors start with 2500W of power in alloy, from 5000. Sigils of
- Transmission start with 2500W of power, from 4000. Clockwork Proselytizers start
- with 90 alloy, from 100.
- - rscdel: Umbras have been removed.
- - rscadd: Revenants have been readded, though they are now vulnerable to salt piles.
- MMMiracles:
- - rscadd: Added the power fist, a gauntlet with a piston-powered ram attached to
- the top for traitors to punch people across the station. Punch people into walls
- for added fun.
- incoming5643:
- - rscadd: 'Nuke ops can now harness the power of METAL BOXES: special versions of
- cardboard boxes that can take a lot of abuse and can fit the whole team if need
- be. They''re not nearly as light as their cardboard brothers though...'
- kevinz000:
- - rscadd: Some new emojis have been added to OOC for your enjoyment. Try them out.
- - rscadd: 'New emojis are : coffee, trophy, tea, gear, supermatter, forceweapon,
- gift, kudzu, dosh, chrono, nya, and tophat. Type :nameofemoji: in OOC to use.'
-2016-07-03:
- Cruix:
- - bugfix: Hand labelers can now label storage containers.
- - bugfix: You can now properly resist out of wrapped lockers.
- - bugfix: You can now resist out of morgues if you are in a bodybag.
- - bugfix: Mechs can no longer spam doors they do not have access to.
- Joan:
- - tweak: Clock Cult can now happen at 24 players, same as cult.
- - tweak: Clock Cult player scaling is lower; 3 people, plus one for every 15 players
- above 30, from 1 for every 10 players with a player minimum of 30.
- - experiment: Guvax now invokes 1 second faster(5 seconds), but is 0.75 seconds
- slower for each scripture-valid servant above 5, up to a maximum of 15 seconds.
- - experiment: Clockwork Slabs generate components 20 seconds slower for each scripture-valid
- servant above 5, up to a maximum of 1 component every 5 minutes.
- - tweak: Tinkerer's Daemons that would be useless cannot be made.
-2016-07-04:
- Gun Hog:
- - rscadd: The Space Wizard Federation has finally begun teaching its pupils how
- to properly aim the Fireball spell!
- - tweak: Fireball spells, including the Devil version, are now aimed via mouse click.
- It is recommended to avoid firing at anything too close, as the user can still
- blow himself up!
- Joan:
- - rscdel: Mecha are no longer immune to ocular wardens.
- Lzimann:
- - rscadd: Throwing active stunbatons now has a chance to stun whoever it hits!
- MMMiracles:
- - rscadd: Adds space ruins. Balance not included.
- - tweak: Simple mob ghosts actually work now.
- - rscdel: Puzzle1 ruin removed due to issues with projectiles.
- X-TheDark:
- - rscadd: Switching mobs/ghosting/etc related actions during the round will now
- no longer reset your hotkey settings.
- Xhuis:
- - bugfix: Ash storms can now occur again.
- bgobandit:
- - rscadd: Bluespace polycrystals, basically stacks of bluespace crystals, have been
- added. The ore redemptor accepts them now.
- - tweak: The ore redemptor machine should be less spammy now.
- coiax:
- - rscadd: The zone of hyperspace that a shuttle travels in is dynamically determined
- when a shuttle begins charging its engines. This is signified by the shuttle
- mode IGN. All shuttles must now charge engines before launching. This time is
- already included in the emergency shuttle timer.
- - rscdel: The cargo shuttle can only be loaned to Centcom while at Centcom.
- - rscadd: Immovable rods now notify ghosts when created, allowing them to orbit
- it and follow their path of destruction through the station.
- - bugfix: Fixed bugs where no meteors would come or go from the south. Seriously,
- that was a real bug. Meteor showers are now about 33% stronger as a result.
-2016-07-06:
- Cruix:
- - bugfix: Vending machine restocking units now work.
- Joan:
- - rscadd: Servants should now be more aware of when scripture tiers are locked or
- unlocked.
- - experiment: Judicial Explosions from a Judicial Visor now mute for about 10 seconds.
- MrStonedOne:
- - rscadd: Instant Runoff Voting polls are now available.
- RemieRichards:
- - tweak: Fixes accidental buff to botany, all modifiers should now be at the point
- they were at pre-bees (this does not remove, nerf or alter bees)
- Xhuis:
- - rscadd: The Necropolis gate now looks as regal as it should. Credit goes to KorPhaeron
- for turf and wall sprites.
- - bugfix: Ash storms are actually damaging now.
- coiax:
- - bugfix: Gulag prisoners can no longer duplicate their mining efforts through window
- breaking on the shuttle.
- - bugfix: Fixes pickaxes inside walls on lavaland, along with lava having eaten
- one of the storage units.
- - rscadd: More fire extinguishers for lavaland mining base.
- - bugfix: You can now reload your gun in CTF.
- - rscadd: Dying in CTF will spawn a short lived ammo pickup, which you can walk
- over to reload all your weapons.
- - rscadd: If reduced to critical status in CTF, you will automatically die, so you
- no longer have to succumb or be coup de graced. If you are conscious, you will
- now heal slowly if some damage got through your shield and didn't crit you.
- - bugfix: The tesla now dusts all carbon mobs on the turf that it moves to, grounding
- rod or no.
- coiax, Niknakflak:
- - rscadd: Added fireplaces, fuel with logs or paper and set on fire and enjoy that
- warm comforting glow.
- - bugfix: Cardboard cutouts are now flammable.
- - rscadd: Cigarettes, fireplaces and candles now share a pool of possible igniters.
- So you can now esword that candle on, but turn it on first.
- - rscadd: Eswords will ignite plasma in the air if turned on.
- kevinz000:
- - tweak: Kudzu is no longer unstoppable
- optional name here:
- - bugfix: Suit Storage Units can now disinfect items other than living and dead
- creatures.
-2016-07-09:
- CoreOverload:
- - rscadd: You can remove jetpack from a hardsuit by using screwdriver on it.
- Crazylemon:
- - bugfix: The map loader no longer resets when reading another map mid-load
- Goofball Sanders:
- - rscadd: Added a new plant to the game to encourage the Chef to be a more relevant
- job, alongside a recipe for a food related to it. Throw a cannabis leaf on a
- table and check the recipes list to find it.
- Gun Hog:
- - rscdel: Malf (Traitor) AI's Fireproof Core ability has been removed, as it was
- entirely obsolete.
- - rscadd: Nanotrasen is proud to announce that conveyor belts can now be fabricated
- at your station's autolathes!
- Iamgoofball:
- - bugfix: Fixes the Atheist's Fedora's throw damage.
- Joan:
- - rscadd: Tips for Clock Cult may now show up.
- - experiment: The global component cache can only be accessed by clockwork slabs
- if there is at least one Tinkerer's Cache active.
- - rscadd: Ratvarian Spears are now sharp and can be used to cut off limbs or butcher
- mobs.
- - rscadd: Clock Cult silicons get an action button to communicate with other servants.
- - tweak: Clockwork Slabs now produce a component every 1 minute, 30 seconds, from
- every 1 minute.
- - experiment: The slab production time gain from each servant above 5 has been increased
- from 20 seconds to 30 seconds, and the maximum production time has been increased
- from 5 minutes to 6 minutes.
- - rscadd: You can now transfer components between two clockwork slabs by attacking
- one slab, or a person holding a slab, with the other; this will transfer the
- attacking slab's components into the target slab.
- - tweak: Application scripture now requires 100 CV, from 75, Revenant scripture
- now requires 200 CV, from 150, and Judgment scripture now requires 300 CV, from
- 250.
- - experiment: However, converted windows, windoors, airlocks, and grilles will all
- provide some CV.
- Lzimann & Keekenox:
- - rscadd: You can now craft a baseball bat with 5 sheets of wood!
- MrStonedOne:
- - experiment: Atmos on planets is now more realistic. There is an unseen upper atmosphere
- that gas changes get carried away into, causing planet turfs to revert back
- to their original gas mixture.
- - tweak: This should massively improve atmos run speed as all of lavaland won't
- be processing the moment somebody opens a door anymore
- MrStonedOne, coiax:
- - rscadd: View Variables can expand on associated lists with type keys. Only 90s
- admins will truely understand.
- RemieRichards:
- - rscadd: Added a Compact mode to the crafting tgui
- - tweak: Modified the back end of the crafting tgui so that it has well let's just
- say "a lot less" calls to certain functions, should lag a little less but don't
- expect miracles (you'd have to wait till we get a new version of ractive for
- those!)
- coiax:
- - rscadd: Podpeople (and venus human traps) are now no longer damaged, poisoned
- or obstructed by space vines. Explosive vines still damage them, because there's
- an actual explosion.
- - rscadd: During a meteor shower, observers can automatically orbit threatening
- meteors via an action button and watch them hit the station.
- - rscadd: Added Major Space Dust event, which is a meteor shower containing only
- space dust.
- - bugfix: Fixes bug where meteors wouldn't move when spawned.
- - rscadd: Meteor Shower split into three different events, Normal, Threatening and
- Catastrophic. They all have the same crew messages, but admins can tell the
- difference.
- - bugfix: Damage to a shuttle while it is moving will now correctly make transit
- space turfs, rather than non-moving space.
- - rscadd: AIs get a notification when hacking an APC, which can be clicked to jump
- your camera to the APC's location. AIs also get notification sounds when a hack
- has completed or failed.
- - rscadd: Nuclear bombs now use a more accurate timer system, the same as gang dominators
- and shuttles.
- - rscadd: Nuclear bombs now have a TGUI interface.
- - rscdel: Fleshmend no longer regrows lost limbs.
- - rscadd: Added free Regenerate power to changelings, which regrows all external
- limbs and internal organs (including the tongue if you lost your head). It costs
- 10 chemicals to use.
- - rscadd: Fleshmend now costs 20 chemicals, down from 25.
- - tweak: Changeling revive power name changed from Regenerate to Revive.
- - rscadd: When a player uses a communication console to ask for the codes to the
- self destruct, for better or for worse, the admins can set them with a single
- click. Whether the admins a) click the button b) actually give the random person
- the codes, is another thing entirely.
- - rscadd: Servants of Ratvar get an alert if they have no tinkerer's caches constructed.
- Because it's important that they should.
-2016-07-11:
- Iamgoofball:
- - bugfix: Fixes Nicotine's stun reduction
- Joan:
- - tweak: The Function Call action that summons a Ratvarian Spear is no longer one-use;
- instead, it can be reused once every five minutes.
- - experiment: Clockwork Walls and Floors will appear as normal walls and plating
- to mesons, respectively.
- coiax:
- - tweak: Syndicate bombs now use a more accurate timer.
- - bugfix: Fixed a separate bug that caused bomb timers to take twice as long (ie.
- 60 seconds took 120 seconds)
- - tweak: The AI doomsday device timer is more accurate.
- - bugfix: Fixes a bug where the doomsday device would take twice as long as it should.
- optional name here:
- - bugfix: The search function on security records consoles now works.
-2016-07-12:
- MMMiracles:
- - bugfix: Hotel staff can now actually use their own lockers.
- RemieRichards:
- - bugfix: fixed Kor's plant disguises
- - bugfix: fixed some issues with Alternate Appearances not being added/removed
- hornygranny:
- - bugfix: Attacks will no longer miss missing limbs
-2016-07-14:
- Basilman:
- - rscadd: Added a new hairstyle "Boddicker"
- Bawhoppen:
- - rscadd: Added two new materials, Titanium and plastitanium. Titanium is naturally
- occuring, and plastitanium is an alloy made of plasma and titanium.
- - rscadd: These materials can be used to build shuttle walls and floors, though
- this serves no current purpose.
- CoreOverload:
- - rscadd: Some clothing has pockets now.
- Firecage:
- - tweak: Mechas can no longer pass through Plastic Flaps
- Fox McCloud:
- - bugfix: Fixes borg stun arm not having a hitsound, bypassing shields, and not
- doing an attack animation
- - bugfix: Fixes simple mobs not properly having armor penetration
- Joan:
- - rscadd: Added dextrous guardians to the code, able to hold and use items and store
- a single item within themselves.
- - experiment: Dextrous guardians do low damage on punches, have medium damage resist,
- and recalling or leashing will force them to drop any items in their hands.
- Kor:
- - tweak: Shuttle travel time has been shortened from 25 seconds to 6 seconds
- Lzimann:
- - tweak: Alt clicking a jumpsuit now removes the accessories(if there's any)!
- Papa Bones:
- - tweak: Security's lethal injections are actually lethal now.
- Xhuis:
- - rscadd: Nanotrasen electricians have introduced a software update to all licensed
- pinpointers. The new pinpointers are more responsive and automatically switch
- modes based on the current crisis.
- - rscadd: It should be noted that some of these pinpointers have been reported as
- missing from their distribution warehouse and are presumed to have been stolen.
- This is likely nothing to worry about.
- lordpidey:
- - tweak: Infernal jaunt now has a cooldown, to prevent trying to jaunt while already
- jaunting. This should have no practical changes.
- - bugfix: Infernal jaunt no longer occasionally leaves you permanently on fire.
- - bugfix: Pitchforks no longer burn devils and soul-sellers, as intended.
-2016-07-15:
- Cheridan:
- - rscadd: Added an aesthetic new space ruin
-2016-07-16:
- Gun Hog and WJohnston:
- - rscadd: Aliens (Xenos) now have the ability to sense the direction and rough distance
- of their queen!
- Iamgoofball:
- - bugfix: Fixed the lag when opening the foodcrafting menu by splitting everything
- up into categories.
- Joan:
- - rscadd: Cogscarabs(and other nonhuman mobs able to hold clockwork slabs) can now
- check the stats of the clockwork cult by using a clockwork slab. They remain
- unable to use slabs under normal conditions.
- MrStonedOne:
- - experiment: Added a system to detect when stickybans go rogue and revert all recent
- matches.
-2016-07-18:
- CoreOverload:
- - rscadd: Sterilizine now reduces probability of step failure if you apply it after
- starting surgery. Useful while operating in less-than-perfect conditions.
- - rscadd: Potent alcohol can be used as replacement for sterilizine.
- Joan:
- - experiment: The Vanguard scripture no longer prevents you from using slabs while
- active, but you cannot reactivate it if it is currently active.
- - tweak: It now only lasts 20 seconds, instead of 30.
- - tweak: When Vanguard deactivates, it now stuns for half the time of all stuns
- absorbed, instead of all of them.
- - tweak: Invoking Sevtug is less potent at long ranges, and slightly more potent
- if extremely close.
- - experiment: Invoking Sevtug now requires 3 invokers instead of 1.
- - rscadd: The Clockwork Slab now has action buttons for rapidly invoking Guvax and
- Vanguard.
- - tweak: Belligerent is now chanted more often.
- - experiment: Taunting Tirade now weakens nearby nonservants, but is now only invoked
- once every 6 seconds(1 second chant, 5 second flee time) and is only chanted
- five times.
- lordpidey:
- - rscadd: Flyswatters are now included in beekeeping crates, they are great at killing
- insects and flies of all sizes.
-2016-07-19:
- Joan:
- - tweak: Cogscarabs can no longer pass mobs and have slightly less health.
- - experiment: The Gateway to the Celestial Derelict can now take damage from bombs.
- RemieRichards:
- - rscadd: Added VR Sleepers that allow users to enter a virtual body in a virtual
- world (Currently not mapped in ;_;)
- Xhuis:
- - rscadd: Added communication intercept texts for gamemodes that were missing them.
- - tweak: Changed all intercept texts and improved grammar for a lot of key game
- code.
- - rscdel: The shuttle can now leave while a celestial gateway exists.
- - rscadd: If the shuttle docks at Central Command while a celestial gateway exists,
- Ratvar's servants will win a minor victory. His arrival will still award a major
- victory.
- - rscadd: The celestial gateway can now take damage from explosions.
-2016-07-22:
- Bawhoppen:
- - rscadd: Titanium now spawns in mining again.
- - rscadd: It has uses in R&D and robotics production.
- - rscadd: All shuttle walls are now using a new proper smoothing path. Mappers please
- make sure to use this path correctly in the future. (along with tiles)
- Cheridan:
- - rscadd: Added another space ruin.
- Cruix:
- - bugfix: Camera bugs can now show camera views.
- - bugfix: The chameleon masks in the chameleon kit can once again have their voice
- changers toggled.
- Incoming5643:
- - rscadd: You now have the ability to automatically "back out" of a round if you
- miss your chance at all the jobs you have set to low or higher. This is found
- on the toggle at the bottom of the jobs window
- - rscadd: Due to a quirk of game mode code this option will fail to work if you've
- been selected as an antag (what a tragedy!) In this situation, you'll be assigned
- a random job.
- Joan:
- - bugfix: You can now throw items and mobs over chasms without causing them to drop.
- - bugfix: You can now throw items over lava without burning them. Mobs will still
- burn, however.
- - experiment: Tinkerer's Caches now link to a nearby unlinked clockwork wall, and
- will not generate components unless linked. As compensation, they will link
- to nearby walls(and can generate components) in a larger area.
- - wip: Guvax is now slightly slower when above 5 valid servants; 1 additional second
- of invoke time for each one above 5, from 0.75 additional seconds, up to a maximum
- of 20 seconds of invoke time, from 15 seconds.
- - tweak: Sigils of Transgression now stun for about 7 seconds.
- - experiment: Sigils of Submission/Accession now take 7 seconds to convert successfully,
- and have an obvious message to the person on them that their mind is being invaded.
- - tweak: Ocular Wardens do 17% less damage.
- - tweak: Mania Motors cause less brain damage and hallucinations.
- - rscadd: If you lack the components to recite a scripture, you will be informed
- of how many components that scripture requires.
- - experiment: Tinkerer's Caches now cost an additional one of each non-alloy component
- to construct for every three existing Tinkerer's Caches, up to a maximum of
- 5 of each non-alloy component.
- - rscadd: Revenant scriptures now announce to all servants and ghosts when used
- instead of having a visible message.
- Lzimann:
- - tweak: Blood packs are now back in surgery room.
- MMMiracles:
- - rscadd: A giant wad of paper has been seen hurling through the nearby sector of
- SS13, officials deny existence of giant paper ball hurling through space because
- 'thats really fucking stupid'.
- MrStonedOne:
- - bugfix: Fixes super darkness from lighting creating two darkness overlays on the
- same turf but only changing the darkness of one of the overlays
- PKPenguin321:
- - rscadd: Added Canned Laughter for the clown. Hehehe
- RemieRichards:
- - tweak: Auto-generated ratvarian now follows all the rules of hand-written ratvarian,
- but you probably won't notice.
- Shadowlight213:
- - tweak: Angels can now equip satchels
- - rscadd: Players will now receive an achievement for killing their first megafauna
- after this point.
- - rscadd: Additionally, megafauna kills are now tracked on a hub page. Rack up those
- kills for first place!
- Xhuis:
- - rscadd: Clockwork cultists may now have the "Escape" and "Silicon" objectives,
- requiring a certain amount of servants to escape on the shuttle and all silicons
- to be converted respectively.
- - rscadd: Ocular wardens are now forced to target bibles rather than the people
- holding them.
-2016-07-28:
- Cruix:
- - bugfix: Fixed a bug where some objects in photos would not be displayed if they
- were facing a certain direction.
- - bugfix: Photograph descriptions will no longer claim that mobs with low max health
- are hurt when they are not.
- Incoming5643:
- - rscadd: The previously underwhelming viscerator robot has been made a lot more
- terrifying by the new ability to proactively target and dismember limbs.
- Joan:
- - tweak: The Tinkerer's Cache cost increase for having multiple Tinkerer's Caches
- now happens every 5 caches, from every 3.
- - experiment: If the invoker of Nzcrentr is knocked unconscious or killed, they
- will gib instead of producing a lighting blast.
- - tweak: Anima Fragments slow down for slightly less time when hit.
- - tweak: Clockwork Marauders do 1 more damage on every attack.
- - tweak: Wraith Spectacles are now less hard on the eyes, and can be used without
- permanent vision impairment for about 50% longer; from 40~ seconds to about
- 1 minute.
- - tweak: Halves the Interdiction Lens' disrupt cost from 100 per disrupted object
- to 50 per disrupted object.
- - tweak: Clockwork Sigils will now be destroyed by any level of explosion, except
- for Sigils of Transmission, which will gain a small amount of power if hit by
- a light explosion instead of breaking.
- - bugfix: Clockwork Structures will now properly take damage from explosions instead
- of variably not taking damage or instantly being destroyed.
- - rscadd: Ghosts can now click Spatial Gateways to teleport to the other gateway.
- - bugfix: Spatial Gateways are now properly disrupted by devastating explosions(but
- not heavy or light explosions)
- - rscadd: Striking a Sigil with any damaging item as a non-servant will remove it.
- Servants still need to be on harm intent with an empty hand to remove Sigils.
- Kor:
- - rscadd: The Staff of Storms, dropped by Legion, can now be used on station.
- MMMiracles:
- - rscadd: Adds jump boots, a mid/end-tier mining equipment that allows the user
- to dash over 4-wide chasms.
- ModernViolence:
- - bugfix: Hulk now has default cooldown for melee attacks against dominator
- MrStonedOne:
- - tweak: Space wind (movement from pressure differentials (like a hole to space))
- has been improved.
- - tweak: Space wind's rate of movement now scales with pressure differential amount.
- - experiment: Actively moving (as in holding down a move key) reduces chance/rate
- of getting moved by space wind.
- - rscadd: 'Having a wall or dense anchored object to your left or right will lower
- the chance/rate of getting moved by space wind for each direction (IE: a wall
- on both sides of you will be a double reduction)'
- - rscadd: Added Lazy airlock cycling. Bump opening an airlock with this system will
- close its partner. This system has been added to most airlocks that go to space
- on boxstation, as well as airlocks to secure areas like brig, bridge, engine.
- - tweak: This can be overridden by click opening, having a shuttle docked, or setting
- emergency mode on one of the doors.
- PKPenguin321:
- - bugfix: Laughter no longer makes you laugh if you're muted.
- - rscadd: Laughter can now be brewed with banana juice and sugar.
- Thunder12345:
- - rscadd: An old rapier was found rusting in the back of a closet. We cleaned it
- up, polished it, and assigned it to your captain as a ceremonial weapon only.
- Warranty void if used in combat.
- incoming5643:
- - tweak: viscerator grenades are now more generous with viscerators spawned
-2016-07-30:
- astralenigma:
- - bugfix: Admins can now turn people into red god.
-2016-07-31:
- Arctophylax:
- - bugfix: Birdboat's atmospheric tanks now function normally again.
- - bugfix: Birdboat's TEG is now orientated to match the pipe layout.
- Bawhoppen:
- - tweak: toolboxes fit in backpacks
- Gun Hog:
- - rscadd: In an effort to reduce the demoralizing effects that accompany the death
- of a crew member, Nanotrasen has provided the prototype designs for the Sad
- Trombone implant. It can be fabricated at your station's protolathe, if you
- manage to secure the ever elusive Bananium ore.
- Joan:
- - rscadd: Megafauna will now seek and consume corpses of enemies to heal or otherwise.
- - tweak: Toolboxes are slightly more robust.
- - tweak: Vanguard now only stuns for 25% of absorbed stuns, from 50%.
- Kor:
- - rscadd: Hostile mobs will now attack turrets.
- Robustin:
- - rscdel: Amber ERT Commanders no longer have thermal goggles
- lordpidey:
- - rscadd: Added Devil agent gamemode, where multiple devils are each trying to buy
- more souls than the next in line.
- - rscadd: If you've already sold your soul, you can sell it again to a different
- devil. You can even go back and forth for INFINITE POWER.
-2016-08-01:
- Bawhoppen:
- - rscadd: Added crowns. Make them from gold. Cap gets a fancy one.
- Fox McCloud:
- - rscadd: Adds in generic uplink refund system that potentially allows for even
- regular traitors to refund uplink items
- Joan:
- - rscadd: Soul Vessels can now be used on unconscious or dead humans to extract
- their consciousness, much like a soulstone.
- - tweak: Soul Vessels no longer automatically ping ghosts when created, though they
- can still be used in-hand to ping ghosts.
- - rscadd: Soul Vessels can now communicate over the Hierophant Network
- - experiment: Xenobiology golems enslaved to someone will become convertable if
- their enslaver is converted to the enslaving antag type; this applies to gang
- and both cult types.
- oranges:
- - rscdel: Reverted toolboxes fitting in backpacks due to being incorrectly merged
-2016-08-02:
- CoreOverload:
- - rscadd: Pockets in coats!
-2016-08-05:
- Arctophylax:
- - bugfix: The Emergency Medical and Winter Wonderland Holodeck programs work once
- again.
- Cruix:
- - bugfix: RCDs can no longer place multiple grilles on the same tile.
- - bugfix: RCDs will no longer use all their ammo if you try to build a wall on the
- same turf multiple times.
- - tweak: RCDs will now inform their user if they do not have enough ammo to complete
- an operation.
- Incoming5643:
- - rscadd: Parrots have been made more robust.
- Joan:
- - rscadd: Clockwork Constructs, including anima fragments, marauders, and reclaimers,
- can now communicate over the Hierophant Network.
- - rscadd: Plasma cutters(normal, advanced, and mech) now have double range in low
- pressure areas, but slightly lower range in high pressure areas.
- - rscadd: Vitality Matrices will consume dead non-servant mobs to gain a large amount
- of Vitality. This doesn't work on mobs that did not have a mind at some point.
- Lordpidey and PKPenguin321:
- - rscadd: Recent studies have revealed that fly amanita can give you a huge trip.
- Lzimann:
- - tweak: Holy water no longers makes you confused.
- ModernViolence:
- - bugfix: 'Photocopier fixes: proper sprites for not empty copies; removing originals
- now does not delete them'
- PKPenguin321:
- - rscadd: Chef, do your station a favor and make a home run baseball burger (TM)
- Robustin:
- - rscadd: The initial supply talisman can now be used to create runed metal, 5 per
- use
- - rscadd: The void torch is now available from the altar, use it to transport any
- item instantly to any cultist! It appears alongside the veil shifter as part
- of the "Veil Walker" set.
- - rscadd: Cult floors no longer appear on mesons!
- - tweak: Flagellant's Robes now increases damage taken by 50%, down from 100%
- - tweak: Veil Shifter has 4 uses, up from 2
- - tweak: Shuttle curse now delays shuttle 3 minutes, up from 2.5 minutes
- - tweak: Cult forges, archives, and airlocks have had their cost reduced by 1 runed
- metal each
- Shadowlight213:
- - rscadd: You will now receive an achievement for winning a pulse rifle at the arcade.
- TheCarlSaganExpress:
- - rscadd: Added lighting effects to the welder.
-2016-08-07:
- Arctophylax:
- - bugfix: You can unbuckle mobs from meat spikes by clicking on the spike once again.
- Joan:
- - tweak: Barrier runes will now block air while active.
- - rscadd: Trying to use sleeping carp against the colossus will now anger it.
- frtbngll:
- - bugfix: Fixed Paper Wizard summoning only 9 minions in its lifespan by making
- the dead stickman decrease it's summoned_minions variable
- lordpidey:
- - bugfix: Centcom has received reports of cyborgs electrocuting themselves when
- working on the power grid, and we have decided to stop storing important electronics
- on the wirecutter's blade.
-2016-08-08:
- Ergovisavi:
- - rscadd: Added bonfires to botany. Requires five tower cap logs to create, and
- mobs can be buckled to them if an iron rod is added to the bonfire and the mob
- is restrained.
- Joan:
- - rscadd: Added the clockcult "Global Records" alert, which clock cultists can mouse
- over to check a variety of information on the clockcult's status, including
- living servants, number of caches, CV, tinkerer's daemons, if there's an unconverted
- AI, what clockwork generals can be invoked, and what scripture is unlocked.
- Shadowlight213:
- - rscadd: Ghosts can now see human player's huds when using the OOC -> Observe verb
- WJohnston, Gun Hog:
- - tweak: Xenos are now considered female.
- - tweak: Hunter pounce are now always blocked by shields, and may be blocked more
- often by other protective items.
- - tweak: Alien Queen is now somewhat faster.
- - tweak: Adjusted larva growth sprites.
- - tweak: Removed 20% facehugger failure chance for masks.
- - tweak: Disarm now always forces a person to drop an item in the active hand, and
- if a person's hand is empty/undroppable, Disarm will always result in a tackle.
- - tweak: Cyborgs disarmed by a Xeno will first disable their selected module, and
- if there is none selected, the cyborg will be pushed back and stunned.
- - tweak: Tail Sweep now has a slightly longer stun.
-2016-08-10:
- Cruix:
- - rscadd: Sentient minebots can now toggle meson vision, a flashlight, their mode,
- and dump their stored ore.
- - bugfix: Sentient minebots can now be repaired if they were made sentient while
- the AI was active.
- - bugfix: Healing minebots will no longer switch them to attack mode.
- - tweak: Sentient minebots can now shoot at humans.
- - bugfix: The cooldown on wizard lightning will no longer break if you ethereal
- jaunt or RISE! after the initial cast.
- Kor:
- - rscadd: You can now detonate drones with the RD console
- LanCartwright:
- - rscadd: Acute respiratory distress syndrom symptom.
- - rscadd: Toxic metabolism.
- - rscadd: Alkali perspiration
- - rscadd: Autophagocytosis Necrosis
- - rscadd: Apoptoxin filter
- - rscadd: 3 different lategame/Non-roundstart virus reagents
- - rscadd: 4 different lategame/Non-roundstart virus recipes
- MrStonedOne:
- - tweak: Tweaked space wind, it should now only trigger at higher pressure differences,
- but be quicker to become aggressive as the pressure difference gets higher.
- This should alleviate issues where small differences was still moving a lot
- of things.
- - tweak: Paper still moves with any pressure difference.
- PKPenguin321:
- - rscadd: There's now an achievement for managing to examine a meteor as a living
- mob!
- RemieRichards:
- - rscadd: 'Added a new PDA button/app: Drone Phone!'
-2016-08-14:
- Cheridan:
- - tweak: Greatly reduced amount of Hydroponics yield multipliers
- - tweak: Somewhat reduced gaia'd tray sustainability.
- - tweak: Mutagen will no longer potentially cause plant instadeath based on RNG.
- Ergovisavi:
- - tweak: Watchers no longer randomly fire beams at you when damaged, and no longer
- beam you at point blank.
- Gun Hog:
- - tweak: The AI's Crew Manifest button now uses the updated styling.
- Joan:
- - rscadd: Sigils of Transgression now glow brightly when stunning a target.
- - rscadd: The Global Records alert now shows the location and countdown time of
- the Gateway to the Celestial Derelict.
- - tweak: Clockcult tooltips now all have the clockcult tooltip style.
- - rscdel: You can no longer become a Reclaimer when clicking on Ratvar. You can
- still become a Cogscarab, however.
- - bugfix: You can no longer invoke Vanguard while under its effects.
- - bugfix: Servants of Ratvar should now always get an announcement when scripture
- states change.
- - tweak: Function Call can be used to summon a Ratvarian Spear once every 3 minutes,
- from 5, but the spear summoned will now only last 3 minutes.
- - rscadd: Belligerent now does minor damage to the legs on each invocation, up to
- a maximum of 30 damage per recital.
- - tweak: Ratvarian Spears will now stun any mob they're thrown at instead of just
- enemy cultists and silicons, though the stun is still longer on enemy cultists
- and silicons.
- Jordie0608:
- - rscdel: Removed clicking clown mask to morph it's shape, use action button instead.
- Kor:
- - rscadd: Added support for projectiles which can dismember
- - rscadd: Added a new wizard sword, the spellblade, which fires dismembering projectiles.
- Sprites from Lexorion.
- - rscadd: Plasmacutter blasts can now take limbs off, but they still do pitiful
- damage in a pressurized environment.
- - rscadd: Humans and drones now have a UI button that allows them to create new
- areas, in the same manner as blueprints. Unlike blueprints, this button does
- not allow you to edit existing areas.
- - rscadd: You can now use mineral doors (or any other object that blocks atmos)
- to complete rooms with blueprints
- - rscadd: Players created by sentience potions, mining drone upgrades, or Guardian/Holoparsite
- summoners will now automatically join the users antagonist team, if any.
- - rscadd: Mobs created in this manner will no longer be convertable/deconvertable
- unless their creator is first converted/deconverted.
- - rscadd: Cayenne will now officially become an operative when given a sentience
- potion.
- LanCartwright:
- - bugfix: Fixes the recipes not working.
- - tweak: Changes Stable uranium virus food recipe from Plasma virus food to just
- plasma.
- RemieRichards:
- - bugfix: You can no longer use the incorrect limb type during augmentation
- - bugfix: You can no longer use the incorrect limb type during prosthetic replacement
- Shadowlight213:
- - rscadd: Security has two new weapons in their arsenal. The security temperature
- gun, and the DRAGnet capture and recovery system.
- optional name here:
- - bugfix: The syndicate uplink ui has been refactored to majorly reduce lag
-2016-08-15:
- Joan:
- - rscadd: The Ark of the Clockwork Justicar can now be constructed even if Ratvar's
- rise is not the objective.
- - experiment: Accordingly, its behavior is different; instead of summoning Ratvar,
- it will convert a massive amount of the station, and should effectively instantly
- complete the clockwork cult's objectives.
- MrStonedOne:
- - tweak: Tweaked the lag stop numbers to hopefully reduce lag during 80+ population
- - tweak: Fixed the blackbox not blackboxing.
- OSCAR MIKE:
- - rscadd: CONTACT ON THE LEFT SIDE!
-2016-08-16:
- MrStonedOne:
- - rscadd: Automated the granting of profiler access to admins
- oranges:
- - rscadd: Nanotrasen is an all right kind of company
-2016-08-17:
- Basilman:
- - rscadd: Added an admin-spawnable only "Cosmohonk" hardsuit that has the same protection
- values of an engineering hardsuit. Comes with built-in lights and requires clown
- roundstart role to be equipped.
- Ergovisavi:
- - rscadd: Adds the "Proto-Kinetic Crusher", a new melee mining weapon. Available
- at a mining vendor near you!
- Gun Hog:
- - tweak: Nanotrasen has improved the coolant system in the stations automated robots.
- They will no longer violently explode in hot rooms.
- Joan:
- - rscadd: Once the blob alert message is sent in the blob game mode, all mobs get
- to see how many tiles the blob has until it wins, via the Status tab.
- - rscdel: Removed/merged a bunch of blob chems, you probably don't care about the
- specifics.
- - tweak: The remaining blob chems should, overall, be more powerful.
- - tweak: Shield blobs soak brute damage less well.
- - tweak: Flashbangs do higher damage to blobs up close, but their damage falls off
- faster.
- - experiment: Shield blobs now cost 15 resources to make instead of 10. Node blobs
- now cost 50 resources to make instead of 60.
- - experiment: Expanding/attacking now costs 4 resources instead of 5, and blobs
- can now ATTACK DIAGONALLY. Diagonal attacks are weaker than normal attacks,
- especially against cyborgs(which may be entirely immune, depending), and they
- remain unable to expand diagonally.
- - rscadd: Shield blobs no longer block atmos while under half health. Shield blobs
- are still immune to fire, even if they can't block atmos.
- - tweak: Blobs should block explosions less well.
- - rscadd: Blob cores and nodes are no longer immune to fire and no longer block
- atmos.
- - rscadd: Blobs can only auto-expand one tile at a time per expanding thing, and
- should be easier to beat back in general.
- - tweak: Blobbernauts now attack faster.
- - tweak: Blob Overminds attack mobs slower but can attack non-mobs much faster.
- - rscadd: Blob Overminds start with some amount of resources; in the gamemode, it's
- 80 divided by the number of overminds, in the event, it's 20 plus the number
- of active players, and otherwise, it's 60.
- - bugfix: You can no longer move blob cores into space, onto the mining shuttle,
- white ship, gulag shuttle, or solars.
- - bugfix: Blob rounds might be less laggy, if they were laggy?
- - tweak: Blobs don't heal as fast, excluding the core.
- - experiment: Blobs are marginally less destructive to their environment.
- MrStonedOne:
- - rscdel: The server will no longer wait until the next tick to process movement
- key presses. Movements should now be ~25-50ms more responsive.
- Shadowlight213:
- - rscadd: Adds modular computers
-2016-08-21:
- Ergovisavi:
- - tweak: Consolidates the fulton packs into a single item and makes them more user
- friendly
- Google Play Store:
- - spellcheck: Minor Text Fixes.
- Incoming5643:
- - rscadd: Smuggler satchels left behind hidden on the station can now reappear in
- a later round.
- - experiment: There's absolutely no way of knowing when exactly it will reappear
- however...
- - rscadd: Only one item in the satchel will remain when the satchel reappears.
- - rscadd: Items are saved in their initial forms, so saving things like chemical
- grenades will only disappoint you.
- - rscadd: The item pool is map specific and needs to be a certain size before satchels
- can start reappearing, so get to hiding that loot!
- - rscadd: The staff of change has been expanded to turn you into even more things
- that don't have hands.
- Jalleo:
- - bugfix: Gulag Teleporter of two issues any more please report them.
- Jordie0608:
- - rscadd: Advanced Energy Guns once again have a chance to irradiate you if EMPed.
- Kor:
- - rscadd: Kinetic Accelerators are now modular. You can find mod kits in the mining
- vendor and in RnD.
- - bugfix: Chaplain's dormant spellblade is no longer invisible.
- Papa Bones:
- - rscadd: A new, scandalous outfit is now available as contraband from the clothesmate
- vendor, check it out! Fulfill your deep, dark fantasies.
- Shadowlight213:
- - tweak: Service and cargo have lost roundstart tablets and engineering has gained
- them
- - tweak: you can now charge battery modules in cell chargers. Use a screwdriver
- on a computer to remove them. As a note, tablets and laptops can be charged
- directly by placing them in a security charger.
- WJohnston:
- - rscadd: Metastation and Boxstation now boast auxillary mining construction rooms
- in arrivals. These allow you to build a base and then launch it to wherever
- you want on lavaland.
- Wjohnston, Gun Hog:
- - rscadd: Aliens with Neurotoxic Spit readied will now have drooling animations.
- - rscadd: Hunters may now safely leap over lava.
- - tweak: Hulk punches no longer stun Xenos.
- - tweak: Alien evolve and promotion buttons updated to current Xeno sprites
- - bugfix: Handcuff sprites for Xenos now show properly.
-2016-08-22:
- Bawhoppen:
- - rscdel: Stock computers have been temporarily removed due to imbalances.
- Ergovisavi:
- - bugfix: Bubblegum's charge indicator should be significantly more accurate now.
- ExcessiveUseOfCobblestone:
- - rscdel: Reverts getting partial credit for discovered seeds.
- - tweak: 'Tweaks Money Tree Potency Values [For instance: 1000 Space Cash requires
- 98-100 Potency]'
- Lzimann & Lexorion:
- - rscadd: Adds a bow to the game, currently not craftable
- Shadowlight213:
- - bugfix: The efficiency AI sat SMES will now charge the APCs instead of itself.
- XDTM:
- - rscdel: Removed the Longevity symptom.
- - rscadd: Added Viral Aggressive Metabolism, which will make viruses act quickly
- but decay over time.
- - rscadd: Cloning can now give bad mutations if unupgraded!
- - rscadd: Cloning can, however, give you good ones if upgraded!
-2016-08-24:
- Bones:
- - rscadd: The detective's closet now contains a seclite, get sleuthing!
- Cargo Intelligence Agency:
- - rscdel: You don't get to bring traitor items.
- Ergovisavi:
- - rscadd: Adds "Sacred Flame", a spell that makes everyone around you more flammable,
- and lights yourself on fire. Share the wealth. Of fire.
- - tweak: Replaces the fireball spellbook as a possible reward from a Drake chest
- with a book of sacred flame.
- Gun Hog:
- - rscadd: The Aux mining base can now call the mining shuttle once landed! The mining
- shuttle beacon that comes with the base must be deployed to enable this functionality.
- - tweak: Multiple landing zones may now be set for the mining base.
- - tweak: The coordinates of each landing zone is shown in the list.
- - rscadd: Miners now each get a remote in their starting lockers. tweak The Aux
- mining base now requires lighting while on station.
- - tweak: The Aux Mining Base now has a GPS signal.
- - tweak: The Aux Mining Base now has an alarm for when it is about to drop.
- Incoming5643:
- - rscadd: 'A slight change to the secret satchel system described below: If a satchel
- cannot be spawned due to there not being enough hidden satchels to choose from,
- a free empty satchel will spawn hidden SOMEWHERE on the station. Dig
- it up and bury it with something interesting!'
- Joan:
- - rscadd: Using a resonator on an existing resonator field will immediately detonate
- that field. Normal resonators will reduce the damage dealt to 80% of normal,
- while upgraded resonators will not reduce it at all.
- - rscadd: Adds a KA mod that does damage in an AoE, found only in necropolis chests.
- - rscadd: You can now install any KA mods into a mining cyborg, though its mod capacity
- is slightly lower.
- - tweak: Mining cyborgs now have a crowbar to remove mods from their KA.
- - tweak: Kinetic Accelerators now have a larger mod capacity, though most mods can
- still only be installed the same amount of times as they can currently.
- - tweak: You can now hit modkits with Kinetic Accelerators to install that modkit
- into the accelerator. Mining cyborgs are unable to do so.
- - rscadd: Added white and adjustably-coloured tracer round mods to the mining equipment
- vendor, so you can see where your projectile is going(and look cool).
- - rscadd: Added the super and hyper chassis mods to the mining equipment vendor,
- so you can use excess mod space to have a cool-looking KA.
- MrStonedOne:
- - rscdel: Removes check on lights preventing you from turning them on while in a
- locker
- PKPenguin321:
- - rscadd: Xeno queens now have an action button that makes them appear to themselves
- as the old, small queen sprite. Now they should be able to interact with things
- that are above them more easily.
- Shadowlight213:
- - tweak: Reviver and nutriment implants are far easier to get and have lower tech
- origins.
- - rscdel: Centcom has cut back on their cat carrier budget and will now only be
- able to bring kittens along with runtime.
- - rscadd: A new event has been added. The automated grid check. All apcs in non
- critical areas will be shut off for some time, but can be manually rebooted
- via interaction.
- Yackemflam:
- - tweak: Boxes are worth >26 tc at LEAST
-2016-08-28:
- CoreOverload:
- - tweak: You can now use sheets from any hand, not just the active one.
- Iamgoofball:
- - tweak: Station and Character names are now allowed to be longer.
- - rscdel: Gender Reassignment surgery has been removed.
- Incoming5643:
- - experiment: 'Due to a bad case of "being terrible" the save system for secret
- satchels has been reworked. All saves are now unified in a single data file:
- /data/npc_saves/SecretSatchels'
- - rscdel: 'Old savefiles such as: /data/npc_saves/SecretSatchels_Box Station can
- now be safely removed.'
- - rscadd: A new slime reaction has been found for pink slimes using blood. The potion
- produced from this reaction can be used to change the gender of living things.
- Decently useful for animal husbandry, but otherwise mostly just for pranks/"""roleplay"""/enforcing
- a brutal regime composed entirely of female slime people.
- Joan:
- - bugfix: Bumping the AI on help intent will no longer cause it and you to swap
- positions, even if it is unanchored. If unanchored, it will properly push the
- AI around.
- - rscadd: The staff of lava can now turn lava back into basalt.
- - bugfix: Placing a singularity or energy ball generator directly in front of an
- active particle accelerator may be a bad idea.
- Kor:
- - rscadd: Added Battlemage armour to the spellbook. The armour is heavily shielded,
- but will not recharge once the shields are depleted.
- - rscadd: Added armour runes to the spellbook, which can grant additional charges
- to the Battlemage armour.
- MrStonedOne:
- - rscadd: The game window will now flash in the taskbar on incoming admin pm, and
- to all admins when an admin help comes in.
- PKPenguin321:
- - rscadd: The tesla is now much more dangerous, and can cause electronics to explode
- violently.
- - rscadd: It now hurts to get thrown into another person.
- Shadowlight213:
- - tweak: The radiation storm random event will automatically enable and disable
- emergency maint.
- - rscadd: The radiation storm random event is now a weather type that affects the
- station.
- - bugfix: The security temperature gun now has a firing pin making it 0.0000001%
- more useful!
- - rscadd: Added config option to use byond account creation age for job limits.
- WJohnston:
- - imageadd: Lavaland lava probably sorta looks better I guess.
- Yackemflam:
- - rscadd: Sniper kit have been given as a syndicate bundle set. Be warned though,
- they are not as equipped as the nuclear agent kits.
- kilkun:
- - rscadd: Adds a shielded deathsquad hardsuit. it has four charges and recharges
- after 15 seconds of not being shot (compared to the syndicate 3 charges and
- 20 second recharge rate)
- - tweak: All death commandos now spawn with this new hardsuit. The previous hardsuit
- was not removed.
- pubby:
- - rscadd: Mining scanner module to standard borgs
- - rscdel: Sheet snatcher module from standard borgs
- xxalpha:
- - rscadd: Cigarette packs, donut boxes, egg boxes can now be closed and opened with
- Ctrl+Click.
- - rscadd: Lighters are now represented in cigarette packs with a sprite of their
- own.
- - rscadd: You can now remove a lighter from a cigarette pack quickly with Alt+Click.
- - bugfix: Reduced the amount of cigars that cigar cases can hold to 5 because the
- cigar case sprite doesn't support more than that.
-2016-08-29:
- Cruix:
- - rscadd: Space floppy-disk technology has advanced to the point that multiple technologies
- or designs can be stored on a single disk.
- Joan:
- - rscadd: Lava bubbling up from basalt turfs now glows if in sufficient concentration.
- - rscadd: Necropolis tendrils now glow.
- - rscadd: Lava rivers now have riverbanks, and should overall look much nicer.
- Shadowlight213:
- - bugfix: The revenant ectoplasm sprite is no longer invisible.
- Xhuis:
- - rscadd: Highlander has been revamped. Now you can butcher your coworkers in cold
- blood like never before!
-2016-08-30:
- oranges:
- - tweak: The ed209 can now only fire as fast as the portaturrets
-2016-08-31:
- Iamgoofball:
- - rscadd: Adds a new experimental gas to the game. Check it out!
- Joan:
- - rscadd: Vanguard now has a tooltip showing the amount of stuns you've absorbed
- and will be affected by.
- MMMiracles:
- - bugfix: Xenomorphs can now actually damage barricades.
- Shadowlight213:
- - bugfix: Fixed runtime preventing access locked programs from being downloaded
- XDTM:
- - rscadd: Metal slimes now spawn a few sheets of glass when injected with water.
- xxalpha:
- - tweak: Opening and closing of donut boxes, etc. is now done with clicking the
- object with itself.
- yackemflam:
- - rscadd: The standard rounds now blow off limbs. Happy hunting!
-2016-09-01:
- Cruix:
- - bugfix: fortune cookies will now drop their fortunes when they are eaten.
- Iamgoofball:
- - tweak: NULL Crate in cargo was added again because people are fucking idiots so
- if we're going to have this stupid fucking crate might as well make it not fucking
- garbo
- Kor:
- - rscadd: Watertanks will now explode when shot.
- Lzimann:
- - tweak: You can now open all access doors while restrained.
- Shadowlight213:
- - tweak: Rad storms are more obvious
- - bugfix: Pizza bombs will now delete after exploding.
- phil235:
- - tweak: Putting packagewrap or hand labeler in a backpack is now done by clicking
- and dragging.
- - bugfix: You can now wrap backpacks and other storage items with packagewrap.
-2016-09-02:
- A-t48:
- - bugfix: Fixed cyborgs being able to use Power Warning emote when broken.
- Iamgoofball:
- - experiment: Freon has been reworked completely.
- - rscadd: Water Vapor has been added to the Janitor's Closet.
- RemieRichards:
- - bugfix: Cutting bedsheets with a sharp object/wirecutters no longer puts the resulting
- cloth INSIDE OF YOU if you're holding it, what a bug.
- bgobandit:
- - tweak: You can hide small items in urinals now. Use a screwdriver to screw open
- the drain enclosure.
- - rscadd: Every space urinal comes complete with space urinal cake. Do not eat.
-2016-09-04:
- A-t48:
- - bugfix: Radiation storms no longer spam "Your armor softened the blow."
- - bugfix: Radiation always gives a message that you are being irradiated, regardless
- of armor level (only an issue if you stripped off all clothing)
- - bugfix: Radiation now displays a message appropriate for all mob types (no longer
- references clothes).
- Gun Hog:
- - rscadd: Ghosts may now read an AI or Cyborg's laws by examining them.
- Joan:
- - rscadd: The talisman of construction now has 25 uses, each of which can convert
- a sheet of plasteel to a sheet of runed metal. It can still convert metal into
- construct shells, and requires no specific amount of uses to do so.
- - rscadd: Added the 'Drain Life' rune to the runes cultists can make. It will drain
- life from all creatures on the rune, healing the invoker.
- - imageadd: The 'Astral Communion' rune has a new sprite, made by WJohnston.
- - rscdel: You can no longer use telekinesis to hit people with items they're holding,
- items inside items they're holding, items embedded in them, items actually implanted
- in them, or items they're wearing.
- MMMiracles:
- - rscadd: A set of combat gear for bears has been added, see your local russian
- for more information.
- XDTM:
- - tweak: Nanotrasen has now stocked the DNA Manipulators with potassium iodide instead
- of epinephrine as rejuvenators.
-2016-09-07:
- A-t48:
- - bugfix: you can now scrub freon and water vapor
- - bugfix: you can now label canisters as freon and water vapor
- AnturK:
- - rscadd: Watch out for special instructions from Centcom in the intercept report.
- Cheridan:
- - tweak: Brain damage no longer causes machines to be inoperable.
- Ergovisavi:
- - bugfix: Stops ash drakes from swooping across zlevels
- Impisi:
- - tweak: Increased chances of Modular Receiver drop in Maintenance
- Incoming5643:
- - rscdel: Wizards can no longer purchase the Cursed Heart from their spellbook.
- Joan:
- - experiment: The lava staff now has a short delay before creating lava, with a
- visible indicator.
- - tweak: The lava staff's cooldown is now somewhat shorter, and turning lava back
- into basalt has a much shorter cooldown and no delay.
- Lzimann:
- - tweak: Stunprods no longer fit in your backpack, they go on your back now.
- MrStonedOne:
- - bugfix: Fixed lava sometimes doing massive amounts of damage.
- - tweak: AFK players will no longer default to continue playing during restart votes.
- XDTM:
- - bugfix: Cloners now preserve your genetic mutations.
- pubby:
- - tweak: Changed military belt TC cost from 3 -> 1
- - tweak: Update ingredient boxes to have more useful ingredients
-2016-09-08:
- Jordie0608:
- - rscadd: Notes can now be tagged as secret to be hidden from player viewed notes.
- Lzimann:
- - tweak: Legion implants now have a full heal when implanted instead of passive
- heal + spawn tentacles. The healing also goes off when you enter crit.
- Yackemflam:
- - rscadd: You can now buy a box for a chance to mess with the stations meta for
- ops.
-2016-09-09:
- Ergovisavi:
- - rscadd: Adds new loot for the colossus, the "Anomalous Crystal"
- - tweak: Enabled colossus spawning again
- Joan, Ausops:
- - rscadd: Added some very fancy tables, constructed by adding carpet tiles to a
- standard table frame.
- MrStonedOne:
- - experiment: Blessed our beloved code with dark magic.
- Shadowlight213:
- - tweak: Radiation storm direct tox loss removed
- - tweak: Radiation storms now cause a radiation alert to appear for the duration
-2016-09-12:
- Joan:
- - rscadd: Cult structures can once again be constructed with runed metal.
- - experiment: Cult structures can now take damage and be destroyed. Artificers can
- repair them if they're damaged.
- - tweak: The Recollection function of the clockwork slab is much more useful and
- easier to parse.
- - wip: Tweaked the Recital menus for scripture so the scripture are all in the proper
- order. This might fuck you up if you were used to the incorrect order, but you'll
- get used to it.
- Nanotrasen Anti-Cheese Committee:
- - bugfix: A glitch in the hydroponics tray firmware allowed it to retain plant growth
- even after the plant was removed, resulting in the next planted seed being grown
- instantaneously. This is no longer possible.
- PKPenguin321:
- - bugfix: Tesla shocks from grilles will no longer do thousands and thousands of
- damage. They now properly deal burn damage that is equal to the current power
- in the powernet divided by 5000.
- Papa Bones:
- - tweak: You can now rename the captain's sabre by using a pen on it.
- RemieRichards:
- - rscadd: Added the functionality for mobs to have multiple hands, this might have
- broken some things, so please report any weirdness
- Shadowlight213:
- - rscdel: The surplus crate and random item will now only contain items allowed
- by the gamemode
- - rscdel: removes sleeping carp scroll from surplus crates
- - experiment: Minimaps will now try to load from a cache or backup file if minimap
- generation is disabled.
- TheCarlSaganExpress:
- - rscadd: Crayons, lipstick, cigarettes, and penlights can now be inserted into
- PDAs.
- phil235:
- - rscadd: Monkeys can be dismembered.
- - rscadd: Humans, monkeys and aliens can drop limbs when they are gibbed.
- - rscadd: Roboticists can remove flashes, wires and power cells that they inserted
- in robot head or torso by using a crowbar on it.
- - rscadd: visual wounds appear on a monkey's bodyparts when injured, exactly like
- humans.
- - rscadd: Using a health analyzer on a monkey or alien shows the injuries to each
- bodypart.
- - rscadd: Monkeys can become husks.
- - bugfix: Human-monkey transformations now respect missing limbs. No more limb regrowth
- by becoming a monkey.
- - bugfix: Changeling's regenerate ability also work while in monkey form.
- - bugfix: Alien larva has its own gib and dust animation.
- - bugfix: A bodypart that looks wounded still looks bloody when dismembered.
- - bugfix: Amputation surgery now works on robotic limbs, and monkeys.
-2016-09-14:
- Ergovisavi:
- - bugfix: Fixes lockers, bodybags, etc, giving you ash storm / radiation storm protection
- Erwgd:
- - rscadd: Upgraded sleepers can now inject inacusiate to treat ear damage.
- Joan:
- - rscadd: Added brass, producible by proselytizing rods, metal, or plasteel, or
- by using Replicant Alloy in-hand, and usable to construct a variety of cult-y
- brass objects.
- - tweak: Objects constructable with brass include; wall gears, pinion airlocks,
- brass windoors, brass windows, brass table frames and tables, and brass floor
- tiles.
- - rscadd: Cogscarabs can convert brass sheets into liquified alloy with their proselytizer.
- - tweak: You can use brass sheets on wall gears to produce clockwork walls, or,
- if the gear is unanchored, false clockwork walls.
- - bugfix: Fixed a bug preventing you from converting grilles into ratvar grilles.
- - experiment: Please note that conservation of mass exists.
- Sligneris:
- - tweak: Captain's space armor has been readapted with modern hardsuit technology.
- oranges:
- - tweak: Examine code for dismembered humans now has better easter eggs
-2016-09-17:
- BoxcarRacer41:
- - rscadd: Added a new food, bacon. Bacon is made by processing raw meat cutlets.
- - rscadd: Added a new burger recipe, the Bacon Burger. It is made with one bun,
- one cheese wedge and three pieces of cooked bacon.
- Ergovisavi:
- - rscadd: Added a nightvision toggle to Shadowpeople
- - tweak: Made several anomalous crystal variants more easily identified/easier to
- see the effects thereof, and removed the "magic" activation possibility (replaced
- with the "bomb" flag)
- Gun Hog:
- - tweak: Nanotrasen Robotics Division is proud to announce slightly less clunky
- leg servo designs relating to the "Ripley" APLU and "Firefighter" exosuits.
- Tests show increased mobility in both high and low pressure environments. The
- previous designer has been fired for incompetence.
- Improves tablets design:
- - imageadd: Brings the tablet icons into the holy light of having depth
- Joan:
- - rscadd: Megafauna will now use ranged attacks even if they don't have direct vision
- on their target.
- - rscadd: Volt Void and Interdiction Lenses will now drain mech cells of energy.
- - tweak: Ocular Wardens do slightly more damage to mechs.
- - experiment: Replicant, Soul Vessel, Cogscarab, and Anima Fragment now take an
- additional second to recite.
- - tweak: Anima Fragments do slightly less damage in melee.
- - tweak: Mending Motors and Clockwork Obelisks have slightly less health.
- - tweak: Invoking Nezbere now requires 3 invokers.
- - rscdel: Clockwork armor no longer has 5% energy resistance.
- - bugfix: You can no longer construct clockwork structures on space turfs.
- Papa Bones:
- - tweak: BZ gas is no longer available on Box and Metastation layouts.
- phil235:
- - tweak: You no longer have to click a megaphone to use it, you simply keep it in
- your active hand and talk normally.
- - rscadd: Added new things
- - imageadd: added some icons and images
-2016-09-20:
- Ergovisavi:
- - bugfix: fixed "friendly" xenobio mobs and mining drones attacking station drones
- Joan:
- - rscadd: Miners can now buy KA AoE damage mods from the mining vendor for 2000
- points per mod.
- - rscadd: 'Combined the Convert and Sacrifice runes into one rune. It''ll convert
- targets that are alive and eligible, and attempt to sacrifice them otherwise.
- The only changes to mechanics are that: Converting someone will heal them of
- all brute and burn damage they had, and sacrificing anything will always produce
- a soulstone(but will still only sometimes fill it)'
- - tweak: You can no longer teleport to Teleport runes that have dense objects on
- top of them.
- - experiment: Wall runes will now activate other nearby wall runes when activated,
- but will automatically disable after a minute and a half of continuous activity
- and become unusable for 5 seconds.
- - experiment: The Blood Boil rune no longer does all of its damage instantly or
- stuns, but if you remain in range for the full duration you will be sent deep
- into critical.
- - experiment: Bubblegum has been seen reaching through blood. Try not to get hit.
- - experiment: The Raise Dead rune no longer requires a noncultist corpse to revive
- a cultist; instead, it will draw from the pool of all people sacrificed to power
- the rune.
- Mekhi:
- - rscadd: Nanotrasen has been experimenting on cybernetics for a while, and rumors
- are they have a few combat prototypes available...
- - experiment: 'New arm implants: Energy-blade projector, implanted medical beamgun,
- stun-arm implant (Like the borg version), flash implant that is automatically-regenerating
- and doubles as a powerful flashlight. There is also one with all four items
- in one. Also, a surgery toolkit implant. Adminspawn only for the moment.'
- MrStonedOne:
- - bugfix: Fixed space/nograv movement not triggering when atoms moved twice quickly
- in space/nograv
- Nanotrasen Stress Relief Board:
- - rscadd: Latecomers to highlander can now join in on the fun.
- - rscadd: The crew are encouraged to less pacifistic during highlander. Failing
- to shed blood will result in your soul being devoured. Have a nice day.
- Nicho1010:
- - bugfix: Fixed lattices appearing after exploding lava
- Screemonster:
- - tweak: Abandoned crates no longer accept impossible guesses.
- - tweak: Lets players know that all the digits in the code must be unique.
- - tweak: Reads the last guess back on the multitool along with the correct/incorrect
- guess readout.
- - bugfix: multitool output on crates no longer returns nonsense values.
- XDTM:
- - rscadd: Positive viruses are now recognized by medical HUDs with a special icon.
- - tweak: fully_heal no longer removes nonharmful viruses. This affects legion souls,
- staffs of healing, and changeling's revive.
- - rscadd: Canisters of any type of gas are now orderable in cargo. Dangerous experimental
- gases will require Research Director approval.
- Yackemflam:
- - rscadd: The syndicate has learned on how to give their agents a true syndicate
- ninja experience.
- chickenboy10:
- - rscadd: Added a Experimental Limb Grower to the medbay department, now medical
- stuff can grow synthetic limbs using Synthflesh to help crew that suffer any
- work related accidents. There may also be a limb that can be grown with a special
- card...
- feemjmeem:
- - tweak: You can now disassemble meatspike frames with a welding tool.
- phil235:
- - experiment: 'adds a talk button next to the crafting button. Clicking it makes
- a "wheel" appear around you with short predetermined messages that you click
- to say them. This lets you say common responses without having to type in the
- chat bar. Current messages available are: "Hi", "Bye", "Thanks", "Come", "Help",
- "Stop", "Get out", "Yes", and "No". The talk button can be activated with the
- hotkey "H" or "CTRL+H"'
- - rscadd: Wearing colored glasses colors your vision. This option can be enabled/disabled
- by alt-clicking any glasses with such feature.
-2016-09-21:
- Cyberboss:
- - bugfix: The food processor's sprite's maintenance panel is no longer open while
- closed and vice/versa
- - tweak: Tesla arcs no longer lose power when passing through a coil that isn't
- connected to a grid
- MrStonedOne:
- - bugfix: Fixes minimap generation crashes by making parts of it less precise
-2016-09-23:
- Cyberboss:
- - rscadd: Wire layouts of NanoTransen devices for the round can now be found in
- the Station Blueprints
- Incoming5643 + WJohnston:
- - imageadd: Lizard sprites have received an overhaul, sprites courtesy of WJohnston!
- - rscdel: While there are some new bits, a few old bits have gone by the wayside,
- if your lizard has been affected by this the specific feature will be randomized
- until you pick a new setting.
- - rscadd: Lizards can now choose to have digitigrade legs (those weird backwards
- bending ones). Keep in mind that they can only be properly seen in rather short
- pants. They also preclude the use of shoes. By default no lizard will have these
- legs, you have to opt in.
- - rscadd: All ash walker lizards however are forced to have these legs.
- - experiment: There is absolutely no tactical benefits to using digitigrade legs,
- you are only crippling yourself if you use them.
- Papa Bones:
- - tweak: You can now quick-draw the officer's sabre from its sheath by alt-clicking
- it.
- XDTM:
- - bugfix: Holy Water no longer leaves you stuttering for years.
-2016-09-24:
- Cheridan:
- - tweak: Nerfed Critical Hits
- MrStonedOne:
- - tweak: Orbits now use a subsystem.
- - tweak: Orbits now bind to object's moving to allow for quicker updates, subsystem
- fallback for when that doesn't work (for things inside of things or things that
- move without announcing it)
- XDTM:
- - rscdel: Viruses start with 0 in every stat instead of 1.
- - bugfix: Atomic Bomb, Pan-Galactic Gargle Blaster, Neurotoxin and Hippie's Delight
- are now proper alcoholic drinks, and as such can disinfect, ignite, and be purged
- by antihol.
- optional name here:
- - tweak: Changes cursed heart description to something slightly more clear.
- - bugfix: Fixes a capitalization issue
-2016-09-26:
- Cuboos:
- - rscadd: Added E-cigarettes as contraband to cigarettes vending machines. They
- take reagents instead of dried plants and also hold more than cigarettes or
- pipes. You can modify them to puff out clouds of reagents or emag them to fill
- a whole room with reagent vapor.
- - rscadd: Added a new shirt to the clothing vendor relating to the newly added vapes.
- Joan:
- - tweak: Blobs will generally require fewer blobs to win during the blob mode, which
- should hopefully make the mode end faster at lower overmind amounts.
- Razharas:
- - rscadd: '"Kudzu now keeps the mutations it had before and thus can be properly
- cultivated to be whatever you want"'
- TheCarlSaganExpress:
- - rscadd: You may now insert crayons, lipstick, penlights, or cigarettes in your
- PDA.
- - bugfix: Removing cartridges from the PDA will no longer cause them to automatically
- fall to the floor.
- oranges:
- - rscadd: It looks like a pizza delivery from an un-named station got misplaced
-2016-09-27:
- Cobby:
- - tweak: Nanotrasen has buffed the electronic safety devices found in Secure Briefcases
- and Wallsafes, making them... well... more secure. In Particular, we added more
- wires that do absolutely nothing but hinder the use of the multitool, along
- with removing the ID slot only used by syndicates to emag the safe.
- Incoming5643:
- - rscadd: The secret satchels system has been updated to hide more smuggler's satchels
- hidden randomly under the station
- - experiment: In case you forgot about the secret satchel system, basically if you
- take a smuggler's satchel (a traitor item also occasionally found under a random
- tile in the station [USE T-RAYS]), stow away an item in it, and bury it under
- the floor tiles that item can reappear in a random later round!
- MrStonedOne:
- - tweak: Custom Round end sounds selected by admins will be preloaded to all clients
- before actually rebooting the world
- Shadowlight213:
- - bugfix: Fixes broken icon states when replacing warning floor tile
- Supermichael777:
- - tweak: Cat men have finally achieved equal discrimination.
- TrustyGun+Pubby:
- - imageadd: Lawyers now have unique speech bubbles.
- XDTM:
- - tweak: Using plasma on dark blue slimes will now spawn freon instead of arbitrarily
- freezing mobs.
- uraniummeltdown:
- - tweak: Protolathe stock parts now build 5 times faster
-2016-09-28:
- Cuboos:
- - bugfix: Removed the admin message spam from the smoke_spread proc. You may now
- vape in peace without the threat of a Blue Space Artillery
- LanCartwright:
- - rscdel: Removed Stimulants and Coffee from survival pens.
- - tweak: Nanites have been replaced with Mining Nanites which heal more when you
- are lower health, and do not have the ridiculous healing Adminorazine had.
-2016-10-01:
- Incoming5643:
- - rscadd: After years of having to live on a mostly blown up hunk of junk the wizard's
- ship has finally been repaired
- - rscdel: No one paid attention to that lore anyway
-2016-10-07:
- WJohnston:
- - imageadd: Improved/resprited AI card, pAI, easel/canvases, shotgun shells, RCD
- cartridge, speedloaders, and certain older buttons.
- - imageadd: Improved/resprited a few bar signs, basketball/dodgeball/hoop, blood
- bags, and body bags.
- - imageadd: Improved/resprited Paper, stamps, folders, small fires, pens, energy
- daggers, cabinets, newspaper and other bureaucracy related items.
-2016-10-10:
- ChemicalRascal:
- - bugfix: Previously, improving the incinerator's efficiency made the RPM decay
- more quickly, instead of less quickly. No more!
- Cyberboss:
- - rscadd: More reagent containers can be used for filling your dirty vapor cancer
- sticks
- - spellcheck: Fixed some vape spelling/grammar
- MrStonedOne:
- - tweak: Player Preferences window made slightly faster.
- Nanotrasen Stress Relief Board:
- - rscdel: Claymores created through Highlander no longer thirst for blood or announce
- their wielder's location incessantly.
- - bugfix: Claymores should now properly absorb fallen foes' corpses.
- - bugfix: Losing a limb now properly destroys your claymore.
- Supermichael777:
- - bugfix: The wizards federation have instituted a strict 1 demon limit on demon
- bottles.
- XDTM:
- - rscadd: Using blood on an Oil Slime will create Corn Oil.
- - rscadd: Using blood on Pyrite Slimes will create a random crayon.
- - rscadd: Using water on Orange Slimes will create a small smoke cloud.
- - rscadd: Using water on Blue Slimes will spawn foam.
- - rscadd: You can now retrieve materials inserted in a Drone Shell Dispenser with
- a crowbar.
- phil235:
- - rscadd: A whole bunch of structures and machines can now be broken and destroyed
- using conventional attack methods.
- - rscadd: The effect of fire on objects is overhauled. When on fire, your external
- clothes now take fire damage and can become ashes, unless fire proof. All objects
- caught in a fire can now take fire damage, instead of just flammable ones, unless
- fire proof.
- - rscadd: Acid effect is overhauled. Splashing acid on something puts a green effect
- on it and start slowly melting it. Throwing acid on mobs puts acid on their
- clothes. Acid can destroy structures and items alike, as long as they're not
- acid proof. The more acid put on an object, the faster it melts. Walking on
- an acid puddle puts acid on your shoes or burns your bare feet. Picking up an
- item with acid without adequate glove protection burns your hand. Acid can be
- washed away with any sort of water source (extinguisher, shower, water glass,etc...).
- - rscadd: When a mob receives melee attacks, its clothes also get damaged. Clothes
- with enough damage get a visual effect. Damaged clothes can be repaired with
- cloth (produced with botany's biogenerator). Clothes that receives too much
- melee damage become shreds.
- - tweak: Clicking a structure/machine with an item on help intent can never result
- in an attack.
- - tweak: Hostile animals that are environment destroyers no longer destroys tables&closets
- in one hit. It now takes several hits depending on the animal.
-2016-10-11:
- Cyberboss:
- - rscadd: The waste line now has a digital valve leading to space (off by default)
- along with a port on it's far side
- Incoming5643:
- - rscadd: Wizards may finally use jaunt and blink on the escape shuttle. Maybe elsewhere
- too?
- - bugfix: The previously broken radios in the wizards den should work now. You still
- have to turn them on though.
- Kor:
- - rscadd: Added frogs, with sprites by WJ and sounds by Cuboos.
- Papa Bones:
- - rscadd: Flora now spawns in lavaland tunnels, they can be harvested with a knife.
- - rscadd: Flora have a range of effects, be careful what you eat!
- - bugfix: You harvest flora on lavaland with your hands, not a knife. My bad.
- Shadowlight213:
- - rscadd: Cargo can order the antimatter engine
-2016-10-12:
- Cyberboss:
- - bugfix: Fixed motion alarms instantly triggering and de/un/re/triggering
- - bugfix: Airlock speed mode now works
- Joan:
- - rscadd: You can now deconstruct AI cores that contain no actual AI.
- WJohnston:
- - imageadd: Recolored and resprited candles and ID cards. Folders should have improved
- color contrast.
- XDTM:
- - rscadd: Exhausted slime extracts will now dissolve instead of leaving useless
- used slime extracts.
- - tweak: Airlocks are now immune to any damage below 20, to prevent pickaxe prison
- breaks.
- - tweak: High-Security Airlocks, such as the vault or the AI core's airlocks, are
- now immune to any damage below 30.
-2016-10-13:
- Razharas:
- - tweak: Makes clicking something in heat of battle a bit easier by making drag&drops
- that dont have any effect be counted as clicks
- XDTM:
- - rscadd: 'Added four new symptoms: Regeneration and Tissue Regrowth heal respectively
- brute and burn damage slowly; Flesh Mending and Heat Resistance are the level
- 8 version of those symptoms, and heal faster.'
- - rscdel: The Toxic Compensation, Toxic Metabolism and Stimulants symptoms have
- been removed.
- - rscdel: Viruses no longer stack. Viruses can be overridden if the infecting virus
- has higher transmittability than the previous virus' resistance.
- - tweak: Viruses can now have 8 symptoms, up from 6.
- - rscadd: You can now store monkey cubes in bio bags; using bio bags on the consoles
- will load them with the monkey cubes inside the bags.
- ma44:
- - rscadd: Cargo can now order a 2500 supply point crate that requires a QM or above
- to unlock. This crates contains a explorer suit, compact pickaxe, mesons, and
- a bag to hold ore with.
-2016-10-16:
- Cuboos:
- - rscadd: Added a new unique tool belt to the CE
- - rscadd: Added new power tools, a hand drill that can be used as a screw driver
- or wrench and jaws of life which can be used as either a crowbar or wire cutters
- - rscadd: Power tools can also be made from the protolathe with engineering and
- electromagnet 6
- - tweak: slightly revamped how construction/deconstruction handle sound
- - soundadd: added new sounds for the power tools
- - soundadd: added a new sound for activating and deactivating welding tools, just
- because.
- Cyberboss:
- - bugfix: Plasma fires no longer cause cameras to break.
- Joan:
- - tweak: Blazing Oil blobs are now outright immune to fire. This does not affect
- damage taken from other sources that happen to do burn damage.
- - tweak: Normal blob spores now take two welder hits to die, from three.
- - tweak: Cyborgs now die much less rapidly to blob attacks.
- Lzimann:
- - tweak: 'Changed two admin hotkeys: f7 is now stealth-mode and f8 to toggle-build-mode-self.'
- Shadowlight213:
- - bugfix: Modular consoles have been fixed.
- Supermichael777:
- - tweak: Changeling Sting is now one part screwdriver cocktail and 2 parts lemon-lime
- soda.
- - bugfix: Triple citrus now actually displays its sprite.
- Yackemflam:
- - tweak: extinguishers now spray faster
- coiax:
- - rscadd: RCDs have a Toggle Window Type verb allowing the rapid construction of
- reinforced windows, rather than regular windows.
- - rscadd: RCDs can now finish and deconstruct wall girders.
- phil235:
- - tweak: Clicking a floor with a bodybag or roller bed now deploys them directly
- (and the bodybag starts open)
- scoopscoop:
- - bugfix: The cult shifter will now properly spawn as part of the veil walker set.
-2016-10-18:
- Basilman:
- - rscadd: A third martial art, CQC, has been added and is now available to nuke
- ops instead of sleeping carp
- Kor:
- - rscadd: Added sloths to cargobay on Box and Meta
- MrPerson:
- - rscadd: New toxin - Rotatium. It doesn't quite do what it does on other servers.
- Instead it rocks your game view back and forth while slowly doing toxin damage.
- The rocking gets more intense with time.
- - rscadd: To make it, mix equal parts mindbreaker, neurotoxin, and teslium.
- MrStonedOne:
- - experiment: Byond 511 beta users may now choose their own FPS. This will apply
- to animations and other client side only effects. Find it in your game preferences.
- Shadowlight213:
- - bugfix: fixed removing modular computer components
- TheCarlSaganExpress:
- - tweak: Provided you have access, you may now use your ID to unlock the display
- case.
- - tweak: The fire axe cabinet and display case may now be repaired with the welder.
- XDTM:
- - rscadd: You can now grind slime extracts in a reagent grinder. If the slime was
- unused it will result in slime jelly, while if used it will only output the
- reagents inside the extract.
- Yackemflam:
- - bugfix: fixed the standard vest being weaker than the slim variant
- lordpidey:
- - rscadd: There is a new potential obligation for devils to have. Musical duels. Ask
- your nearest devil for a musical duel, there's a 14% chance he's obligated to
- do it.
- - rscdel: Removed the old offering a drink obligation for devils, it overlapped
- too much with the food obligation.
- - tweak: Trying to clone people who've sold their soul now results in FUN.
- - tweak: Devils can no longer spam ghosts with revival contracts.
- phil235:
- - rscadd: Visual effects appear on the target of an attack, similar to the item
- attack effect.
- - rscdel: You now only see a message in chat when witnessing someone else getting
- attacked or hit by a bullet if you are close enough to the action.
-2016-10-19:
- Cyberboss:
- - bugfix: Physically speaking is no longer delayed by your radio's lag
- - bugfix: You can now attack doors with fireaxes and crowbars when using the harm
- intent
- - tweak: The BSA is no longer ready to fire when constructed
- - bugfix: The BSA can no longer be reloaded faster by rebuilding the console
- MrStonedOne:
- - tweak: tweaked the settings of the space drift subsystem to be less effected by
- anti-lag slowdowns
- Pubby:
- - rscadd: 'A new map: PubbyStation. Set it to your favorite in map preferences!'
- XDTM:
- - rscadd: PanD.E.M.I.C. now displays the statistics of the viruses inside.
- phil235:
- - tweak: Made the singularity gen and tesla gen immune to fire.
- - tweak: All unique traitor steal objective item are now immune to all damage except
- severity=1 explosion.
- - tweak: Mobs on fire no longer get damage to their worn backpacks, belts, id, pocket
- stuff, and suit storage.
- - bugfix: Mob receiving melee attacks now only have its outer layer of clothes damaged,
- e.g. no damage to jumpsuit when wearing a suit.
- - bugfix: now all hardsuit have 50% more health, as intended.
- wrist:
- - rscadd: Toxins is different now.
-2016-10-21:
- Adam E.:
- - tweak: Added cargo and engi access to auxillary mine base launching console.
- Cyberboss:
- - tweak: Your brain is now gibbed upon chestburst
- - bugfix: The safe is indestructible again
- Joan:
- - rscadd: Wraith Spectacles will now slowly repair the eye damage they did to you
- as long as you aren't wearing them.
- - experiment: You can now see how much eye damage the spectacles have done to you
- overall, as well as how close you are to being nearsighted/blinded.
- - tweak: Mending Motors heal for more.
- - wip: Mania Motors are overall more powerful; they have greater effect, but require
- more power to run and less power to convert adjacent targets.
- - experiment: Interdiction Lenses no longer require power to disrupt electronics
- and will no longer disrupt the radios of servants.
- - bugfix: You need to be holding teleport talismans and wizard teleport scrolls
- in your hands when you finish the input, and cannot simply open the input and
- finish it whenever you get stunned.
- - tweak: The range for seeing visible messages in combat is a tile higher.
- Screemonster:
- - tweak: The anti-tamper mechanism on abandoned crates now resists tampering.
- - tweak: Secure, non-abandoned crates can be given a %chance of exploding when tampered
- with. Defaults to 0.
- Shadowlight213:
- - bugfix: The Swap minds wizard event will now function
- Swindly:
- - rscadd: The action button for a dental implant now includes the name of the pill
- - bugfix: The pill activation button now properly displays the pill's icon
- uraniummeltdown:
- - rscadd: Adds more replacements to the Swedish gene
-2016-10-22:
- Shadowlight213:
- - experiment: Breathing has been moved from species to the lung organ
- - rscadd: Lung transplants are now possible!
-2016-10-23:
- Cyberboss:
- - bugfix: Fixed a bug that caused door buttons to open doors one after another rather
- than simultaneously like they are suppose to
- - bugfix: NOHUNGER species no longer hunger
- - bugfix: Appropriate gloves now protect you from getting burned by cheap cigarette
- lighters
- - rscdel: Labcoats no longer have pockets
- Yackemflam:
- - tweak: Riot helmets are now more useful in melee situations and the standard helmet
- is now slightly weaker
- uraniummeltdown:
- - rscadd: Atmos grenades are now in the game and uplink
-2016-10-24:
- Batman:
- - tweak: The sniper rifle descriptions are less edgy.
- Cobby:
- - rscadd: Finally, a way to relate to Bees!
- Cyberboss:
- - bugfix: Morphs no longer gain the transparency of chameleons
- - bugfix: Turrets can no longer shoot when unwrenched
- - bugfix: Spray bottle can now be used in the chem dispenser
- Joan:
- - rscadd: Clockwork marauders now have a HUD, showing block chance, counter chance,
- health, fatigue, and host health(if applicable), as well as including a button
- to try to emerge/recall.
- - experiment: Clockwork marauders can now block bullets and thrown items, even if
- Ratvar has not risen.
- - rscadd: The Judicial Visor no longer requires an open hand to use. Instead, clicking
- the button will give you a target selector to place the Judicial Marker.
- - experiment: Tinkerer's Daemons are now a structure instead of a Cache addon.
- - wip: Tinkerer's Daemons now consume a small amount of power when producing a component,
- but produce components every 12 seconds with no additional delay.
- - tweak: Adjusted the costs of the Tinkerer's Daemon and Interdiction Lens.
- - imageadd: Floaty component images appear when Tinkerer's Caches and Daemons produce
- components.
- MrStonedOne:
- - bugfix: Spectral sword now tracks orbiting ghosts correctly.
- Shadowlight213:
- - imageadd: Damaged airlocks now have a sparking effect
- Swindly:
- - rscadd: Added a button to the ChemMaster that dispenses the entire buffer to bottles.
- ma44:
- - rscadd: Reminds the user that reading or writing a book is stupid.
-2016-10-27:
- Chowder McArthor:
- - rscadd: Added a neck slot.
- - tweak: Modified some of the attachment items (ties, scarves, etc) to be neck slot
- items instead.
- Cyberboss:
- - rscadd: NEW HOTKEYS
- - rscadd: The number pad can be used to select the body part you want to target
- (Cycle through head -> eyes -> mouth with 8) in hotkey mode. Be sure Numlock
- is on!
- - rscadd: Holding shift can be used as a modifier to your current run state in both
- hotkey and normal mode.
- - bugfix: Emag can no longer be spammed on shuttle console
- Gun Hog:
- - bugfix: Fixed AIs uploaded to mechs having their camera view stuck to their card.
- Joan:
- - rscadd: Clockwork Floors now have a glow when healing servants of toxin damage.
- Only other servants can see it, so don't get any funny ideas.
- - bugfix: The Interdiction Lens now properly has a high Belligerent Eye cost instead
- of a high Replicant Alloy cost.
- Pubby:
- - tweak: PubbyStation's bar is now themed like a spooky castle!
- Swindly:
- - bugfix: Chem implants can now be properly filled and implanted
- WJohnston:
- - rscadd: Adds an unlocked miner equipment locker on Boxstation and Metastation's
- Aux Base Construction area, as well as a telescreen to the camera inside. All
- mining outpost computers can also see through that camera.
- lordpidey:
- - rscadd: The wizard federation has teamed up with various LARP groups to invent
- a new type of spell.
-2016-10-28:
- Erwgd:
- - rscadd: You can now use cloth to make black or fingerless gloves.
- - tweak: Biogenerators require less biomass to produce botanist's leather gloves.
- Tacolizard:
- - rscadd: Added a new contraband crate to cargo, the ATV crate.
-2016-10-29:
- Chowder McArthor:
- - bugfix: Added in icons for the neck slot for the other huds.
- Cobby:
- - rscadd: Adds several Halloween-Themed Emojis. See if you can get them all! [no
- code diving cheaters!]
- Erwgd:
- - rscadd: The NanoMed Plus now stocks premium items.
- Joan:
- - experiment: Guvax is now targeted; invoking it charges your slab to bind and start
- converting the next target attacked in melee within 10 seconds. This makes your
- slab visible in-hand.
- - tweak: Above 5 Servants, the invocation to charge your slab is not whispered,
- and the conversion time is increased for each Servant above 5.
- - wip: Using Guvax on an already bound target will stun them. The bound target can
- resist out, which will prevent conversion.
- - experiment: Sentinel's Compromise is now targeted, like Guvax, but can select
- any target in vision range.
- - rscadd: Sentinel's Compromise now also removes holy water from the target Servant.
- - wip: Clicking your slab will cancel these scriptures.
- - imageadd: Both of these will change your cursor, to make it obvious they're active
- and you can't do anything else.
- - rscadd: Arks of the Clockwork Justicar that do not summon Ratvar will still quick-call
- the shuttle.
- - bugfix: Clockwork structures that return power can now return power to the APC
- of the area they're in if there happens to be one.
- - bugfix: Clockwork structures that use power from an APC will cause that APC to
- start charging and update the tgUI of anyone looking at the APC.
- - bugfix: Converting metal, rods, or plasteel to brass with a clockwork proselytizer
- while holding it will no longer leave a remainder inside of you.
- - tweak: Plasteel to brass is now a 2:1 ratio, from a 2.5:1 ratio. Accordingly,
- you now only need 2 sheets of plasteel to convert it to brass instead of 10
- sheets.
- - tweak: Wall gears are now converted to brass sheets instead of directly to alloy.
- - rscdel: You can no longer do other proselytizer actions while refueling from a
- cache.
- - bugfix: Fixed a bug where certain stacks wouldn't merge with other stacks, even
- when they should have been.
- - bugfix: Clockwork structures constructed from brass sheets now all have appropriate
- construction value to replicant alloy ratios.
- - bugfix: Tinkerer's Caches no longer need to see a clockwork wall to link to it
- and generate components.
- MrStonedOne:
- - experiment: Shoes do not go on heads.
- NikNak:
- - rscadd: Action figures are finally winnable at arcade machines. Comes in boxes
- of 4.
- Pubby:
- - rscadd: The holodeck has been upgraded with new programs. Try them out!
- Shadowlight213:
- - rscdel: The HOS and other heads of staff no longer have a chance to be revheads
- TehZombehz:
- - tweak: Custom food items can now fit inside of smaller containers, such as paper
- sacks.
- - rscadd: Small cartons can be crafted using 1 piece of cardboard. Don't be late
- for school.
- - rscadd: Apples can now be juiced for apple juice. Chocolate milk can now be crafted
- using milk and cocoa.
- - tweak: Chocolate bar recipe has been modified to compensate for chocolate milk.
- The soy milk version of the chocolate bar recipe remains unchanged.
- - bugfix: Grapes can now be properly juiced for grape juice using a grinder.
- XDTM:
- - tweak: Wizards no longer need sandals to cast robed spells.
- Xhuis:
- - rscadd: Syndicate and malfunctioning AIs may now be transferred onto an intelliCard
- if their parent core has been destroyed. This may only be done with the AI's
- consent, and the AI may not be re-transferred onto another APC or the APC it
- came from.
- - rscadd: New additions have been made for this Halloween and all future ones. Happy
- Halloween!
- ma44:
- - rscadd: You can now solidify liquid gold into sheets of gold with frostoil and
- a very little amount of iron
-2016-10-30:
- Joan:
- - rscadd: The Recollection option in the Clockwork Slab has been significantly improved,
- with a better information to fluff ratio, and the ability to toggle which tiers
- of scripture that are visible in Recollection.
- Lzimann:
- - bugfix: You can once again order books by its ID in the library.
- Mysak0CZ:
- - bugfix: You no longer need to deconstruct emagged (or AI-hacked) APC to fix them,
- replacing board is sufficient
- - bugfix: You can no longer unlock AI-hacked APCs
- - bugfix: Removing APC's and SMES's terminal no longer ignore current tool's speed
- - rscadd: You can repair APC's cover (only if APC is not compleatly broken) by using
- APC frame on it
- - rscadd: closing APC's cover will lock it
- bgobandit:
- - rscadd: The creepy clown epidemic has arrived at Space Station 13.
- - rscadd: Honk.
-2016-10-31:
- Joan:
- - experiment: Brass windows will now survive two fireaxe hits, and are slightly
- more resistant to bullets.
- Lzimann:
- - rscdel: Changelings no longer have the Swap Forms ability.
- Xhuis:
- - rscadd: Disposal units, outlets, etc. are now fireproof.
- - rscadd: Changelings can now use biodegrade to escape silk cocoons.
-2016-11-02:
- Iamgoofball:
- - rscadd: Added a new lobby menu sound.
- Joan:
- - rscdel: Brass windows and windoors no longer drop full sheets of brass when destroyed.
- - rscadd: Instead, they'll drop gear bits, which can be proselytized for a small
- amount of liquified alloy; 80% of the materials used to construct the window.
- - tweak: Mending Motors have an increased range and heal for more.
- - experiment: Mending Motors will no longer waste massive amounts of power on slightly
- damaged objects; instead, they will heal a small amount, use a small amount
- of power, and stop if the object is fully healed.
- - wip: Mending Motors can now heal all clockwork objects, including pinion airlocks,
- brass windows, and anything else you can think of.
- - rscadd: Ocular Wardens will no longer attack targets that are handcuffed, buckled
- to something AND lying, or in the process of being converted by Guvax.
- - tweak: Also, they do very slightly more damage.
- - rscdel: Hulks no longer one-shot most clockwork structures and will no longer
- four-shot the Gateway to the Celestial Derelict.
- - bugfix: Hulks are no longer a blob counter.
- XDTM:
- - tweak: Ninjas are now slightly visible when stealthing.
- phil235:
- - rscadd: Spray cleaner and soap can now wash off paint color.
-2016-11-03:
- Cobby:
- - rscadd: Adds a geisha outfit to the clothesmate on hacking. QT space ninja BF
- not included
- Joan:
- - rscadd: 'Proselytizing a window will automatically proselytize any grilles under
- it. This is free, so don''t worry about wasting alloy. rcsadd: Trying to proselytize
- something that can''t be proselytized will try to proselytize the turf under
- it, instead.'
- - experiment: Clockcult's "Convert All Silicons" objective now also requires that
- Application scripture is unlocked.
- - wip: The "Convert All Silicons" objective will also only be given if there is
- an AI, instead of only if there is a silicon.
-2016-11-05:
- Joan:
- - rscadd: Proselytizer conversion now accounts for existing materials, and deconstructing
- a wall, a girder, or a window for its materials is no longer more efficient
- than just converting it.
- - imageadd: Heal glows now appear when mending motors repair clockwork mobs and
- objects.
- Lzimann:
- - rscdel: You can no longer walk holding shift.
-2016-11-06:
- Joan:
- - bugfix: Dragging people over a Vitality Matrix will actually cause the Matrix
- to start working on them instead of failing to start draining because it's "active"
- from when the dragging person crossed it.
- phil235:
- - rscadd: You can now climb on transit tube, like tables.
- - rscadd: You can now use tabs when writing on paper by writing "[tab]"
-2016-11-07:
- Basilman:
- - rscadd: CQC users can now block attacks by having their throw mode on.
- - tweak: The CQC kick and Disorient-disarm combos are now much easier to use, CQC
- harm intent attacks are stronger aswell.
- - bugfix: Fixed being able to CQC restrain someone, let him go, then 10 minutes
- later disarm someone else to instantly chokehold them.
- - tweak: CQC costs more TC (13)
- Cyberboss:
- - bugfix: Tesla zaps that don't come from an energy ball can no longer destroy nukes
- and gravity generators
- El Tacolizard:
- - rscadd: A space monastery and chaplain job have been added to PubbyStation.
- - rscadd: Improved pubby's maint detailing
- Joan:
- - tweak: Ratvarian Spears now do 18 damage and ignore a small amount of armor on
- normal attacks, but have a slightly lower chance to knowdown/knockout. Impaling
- also ignores a larger amount of armor.
- - rscadd: Throwing a Ratvarian Spear at a Servant will not damage them and may cause
- them to catch the spear.
- - rscadd: Standard drones will be converted to Cogscarabs by Ratvar and the Celestial
- Gateway proselytization.
- - rscdel: Cogscarabs no longer receive station alerts.
- - bugfix: Anima Fragments, Clockwork Marauders, and cult constructs are now properly
- immune to heat and electricity.
- - tweak: Clockwork armor is much stronger against bullets and bombs but much weaker
- against lasers.
- - wip: Specific numbers; Bullet armor from 50% to 70%, bomb armor from 35% to 60%,
- laser armor from -15% to -25%. This means lasers are a 4-hit crit.
- - rscadd: You can now Quickbind scripture other than Guvax and Vanguard to the Clockwork
- Slab's action buttons, via Recollection.
- - rscadd: You can also recite scripture directly from Recollection, if doing so
- suits your taste. Of course it suits your taste, it's way easier than menus.
- - tweak: You can also toggle compact scripture in Recollection, so that you don't
- see description, invocation time, component cost, or tips.
- - tweak: Dropping items into Spatial Gateways no longer consumes a use from the
- gateway.
- - rscadd: If your Spatial Gateway target is unconscious, you can pick a new target
- instead.
- Kor:
- - rscadd: Multiverse teams now have HUD icons.
- - rscadd: Multiverse war is back in the spellbook.
- phil235:
- - rscadd: Altclicking a PDA without id now removes its pen.
- - rscadd: The PDA's sprite now shows whether it has an id, a pAI, a pen, or if its
- light is on.
-2016-11-09:
- Changes:
- - tweak: Old mining asteroid is more interesting (mining world can be picked in
- ministation.dm)
- - tweak: Space around ministation is now half(?) the size of normal space
- - rscadd: Loot spawners to maintenance
- - bugfix: Rad storms frying maintenance
- - bugfix: Bad conveyor belts in mining/cargo area of station
- - bugfix: Bombs completely destroying toxins test site
- - rscadd: Cyborg job available again
- - tweak: Mining cyborgs can use steel rods when asteroid mining is enabled
- Joan:
- - tweak: Repairing clockwork structures with a Clockwork Proselytizer now only costs
- 1 alloy per point of damage.
- - experiment: Vitality Matrices will no longer heal dead Servants that they cannot
- outright revive.
- - rscadd: The Celestial Gateway will now prevent the emergency shuttle from leaving.
- - tweak: However, Centcom will alert, in general terms, the location of the Celestial
- Gateway two minutes after it is summoned.
- - rscadd: Reciting scripture while not on the station, centcom, or mining/lavaland
- will double recital time and component costs.
- Kor:
- - rscadd: You can now examine an r-wall to find out which tool is needed to continue
- deconstructing it.
- - rscadd: The game will now recognize a successful detonation of the nuclear bomb
- in the syndicate base.
- - rscadd: Cloaks are now cosmetic items that can be worn in the neck slot, allowing
- you to wear them over armour.
- Shadowlight213:
- - rscdel: Removed the restriction on attacking people with a fire extinguisher on
- help intent if the safety is on.
- uraniummeltdown:
- - rscadd: Added Cortical Borers, a brainslug parasite.
- - rscadd: Added Cortical Borer Event
-2016-11-10:
- Kor:
- - rscadd: The wizard has a new spell, Rod Form, which allows him to transform into
- an immovable rod.
- uraniummeltdown:
- - bugfix: fixed brains not having ckeys when removed
- - bugfix: hopefully fixed multiple ghosts entering a borer ghosting all but one
- - tweak: tweaked the formula for hosts needed for borer event to 1+humans/6
- - tweak: borer endround report is a lot nicer
-2016-11-11:
- Cyberboss:
- - bugfix: Promotion of revheads won't occur if they are restrained/incapacitated
- - bugfix: Facehuggers can no longer latch onto mobs without a head... How the fuck
- did you get a living mob without a head?
- - bugfix: Hulks and monkeys can no longer bypass armor
- - rscadd: Metastation now has a waste to space line
- - bugfix: Objects will no longer get stuck behind the recycler on Boxstation
- Joan:
- - rscadd: You can now repair reinforced walls by using the tool you'd use to get
- to the state they're currently in. Examining will give you a hint as to which
- tool to use.
- - spellcheck: Renamed Guvax to Geis. This also applies to the component, which has
- been similarly renamed.
- Kor:
- - rscadd: The Captain can now purchase alternate escape shuttles from the communications
- console. This drains from the station supply of cargo points, and you can only
- do so once per round, so spend wisely.
- - rscadd: Some shuttles are less desirable than the default, and will instead grant
- the station a credit bonus when purchased.
- - rscadd: Explosions are no longer capped on the mining z level.
- - rscadd: The forcewall spell now creates a 3x1 wall which the caster can pass through.
- - rscadd: Bedsheets are now worn in the neck slot, rather than the back slot.
-2016-11-13:
- Cyberboss:
- - rscadd: Using a screwdriver on a conveyor belt will reverse it's direction
- - bugfix: Medibots, by default, can no longer OD you on tricord
- - tweak: They will now use charcoal instead of anti-toxin to heal tox damage
- - bugfix: Silicons no longer get warm skin when irradiated
- Gun Hog:
- - tweak: Wizard (and Devil) fireballs now automatically toggle off once fired.
- Joan:
- - tweak: Judicial Visors now protect from flashes.
- - rscadd: Reciting Scripture is now done through an actual interface, and can thus
- be done much faster.
- - rscdel: The recital and quickbind functions that Recollection had have been moved
- to this interface instead.
- - rscadd: Servants of Ratvar can now unsecure and move most Clockwork Structures
- with a wrench, though doing so will damage the structure by 25% of its maximum
- integrity.
- - rscadd: Clockwork Structures become less effective as their integrity lowers,
- reducing their effect by up to 50% at 25% integrity.
- - tweak: You can now deconstruct unsecured wall gears with a screwdriver.
- - tweak: Wall gears now have much more health and can be repaired with a proselytizer.
- Mysak0CZ:
- - rscadd: You can now use wrech to anchor (as long as it is not in space) / unanchor
- lockers
- - bugfix: Cyborgs can now simply use "hand" to open / close lockers (instead of
- using toggle open verb)
- - bugfix: You can now properly put unlit welder inside lockers
- - bugfix: Lockers using different decostruction tools (like cardboard boxes wirecutters)
- can now be deconstructed too
- Xhuis:
- - rscadd: All computers now have sounds. Try them out!
- coiax:
- - rscadd: Swarmers can now use :b to talk on Swarm Communication.
- - rscadd: Lich phylacteries are now in the "points of interest" for ghosts.
- uraniummeltdown:
- - bugfix: Cancel Assume Control works as borer now
- - rscadd: Added the cueball helmet, scratch suit, joy mask to Autodrobe
-2016-11-14:
- Joan:
- - rscdel: You can no longer pick up cogscarabs.
- - rscadd: Servants of Ratvar can now reactivate Cogscarabs with a screwdriver.
- - tweak: Cogscarab proselytizers proselytize things twice as fast.
- - tweak: Cogscarabs now have 1.6 seconds of delay when firing guns, as much as an
- unmodded kinetic accelerator.
- - bugfix: Fixed Vitality Matrices and Raise Dead runes not reviving if the target
- happened to be in their body already.
- Kor:
- - rscadd: Extended mode now has a special command report that tells you the round
- type. This is to let people know they have time to start on large scale projects
- rather than milling about waiting for antagonists to attack.
- - rscadd: All station goals are now unlocked during extended.
- Mysak0CZ:
- - bugfix: MetaStation's xenobiology disposals now work properly
- uraniummeltdown:
- - tweak: Changed the Command and Security radio colors
- - rscadd: Added raw telecrystals to the uplink, can be used with uplinks and uplink
- implants.
- - rscadd: Added 10mm ammo variants to uplink
-2016-11-15:
- Cyberboss:
- - bugfix: Brains and heads with brains trigger the emergency stop on the recycler
- Kor:
- - rscadd: The vault is now home to a new machine which can accept cash deposits,
- adding to the cargo point total.
- - rscadd: You can also use this machine to steal credits from the cargo point total.
- Doing so takes time, and will set off an alarm.
- - rscadd: You can now buy an asteroid with engines strapped to it to replace the
- emergency escape shuttle.
- - rscadd: You can now buy a luxury shuttle to replace the emergency escape shuttle.
- Each crewmember must bring 500 credits worth of cash or coins to board though.
- Lexorion & Lzimann:
- - tweak: Wizards have developed a new spell. It's called Arcane Barrage and it has
- been reported that it has a similar function to Lesser Summon Guns!
- Supermichael777:
- - rscdel: The atmos grenades have been removed. if you want to burn down the shuttle
- use canisters or something but at least work at it.
- coiax:
- - rscadd: Mice (the rodent, not the peripheral) now start in random locations.
-2016-11-16:
- Mysak0CZ:
- - rscadd: Door can now have higher security, making them stronger and wires harder
- to access
- - rscadd: More info can be found on github or wiki (if this passes)
- - imageadd: Protected wires now have sprites
- Pubby:
- - bugfix: cyclelinked airlock pairs now close behind you even when running through
- at full speed.
- Swindly:
- - rscadd: Dice can now be rigged by microwaving them.
-2016-11-18:
- Cyberboss:
- - bugfix: The amount of metal used to construct High Security airlocks with the
- RCD is now consistent with the actual cost
- Incoming5643:
- - bugfix: The charge spell should once again work correctly with guns/wands
- Joan:
- - rscadd: Clockcult AIs have power as long as they are on a Clockwork Floor or next
- to a Sigil of Transmission. This is in addition to having power under normal
- conditions.
- - rscadd: Clockcult silicons can now activate Clockwork Structures from a distance.
- - rscdel: Interdiction Lenses will not disable cameras if there are no living unconverted
- AIs.
- - rscadd: Clockcult Cyborgs can charge from Sigils of Transmission by crossing them;
- after a 5 second delay, the cyborg regains either their missing charge or the
- amount of power in the sigil(whichever is lower) over 10 seconds.
- - rscadd: You can now cancel out of selecting a robot module!
- - imagedel: Robot modules now only have a generic transform animation when selected;
- the borg is locked in place for 5 seconds in a small cloud of smoke while the
- base borg sprite fades out and the new module fades in.
- - tweak: Resetting a borg will do that animation.
- - rscadd: Adds Networked Fibers, which gains points instead of automatic expansion
- and causes manual expansion near its core to move its core.
- - rscadd: Added a new UI style, Clockwork.
- NikNak:
- - rscadd: Added tator tots, made my putting a potato in the food processor
- - tweak: French fries are now made by cutting up a potato into wedges and putting
- the wedges (plate and all) into the food processor
- coiax:
- - bugfix: The observer visible countdown timer for the malfunctioning AI doomsday
- device is now formatted and rounded appropriately.
- erwgd:
- - rscadd: You can now make emergency welding tools in the autolathe.
-2016-11-19:
- Crushtoe:
- - imageadd: Added a shiny new icon for the reaper's scythe in-hand and normal sprite.
- It's 25% less gardener.
- RandomMarine:
- - rscadd: An instruction paper has been added to the morgue on most maps, because
- somehow it's needed.
- Shadowlight213:
- - rscadd: Added the AI integrity restorer as a modular computer program
- - rscadd: Added an AI intelliCard slot. Insert an Intellicard into it to be able
- to use the restoration program.
- - bugfix: Fixes Alarm program detecting ruins
- - bugfix: Fixes being unable to toggle the card reader module power
- - tweak: The downloader will now tell you if a program is incompatible with your
- hardware
-2016-11-20:
- Basilman:
- - rscadd: Added a new beard style, Broken Man.
- Cobby:
- - tweak: Airlock security is only given to vault doors, centcomm, and Secure Tech
- [Secure Tech just requires a welder]
- Incoming5643:
- - rscadd: The warp whistle has been added to the wizard's repertoire of spells and
- artifacts.
- - rscadd: The drop table for summon magic has been expanded.
- Joan:
- - rscdel: Servant cyborgs no longer have emagged modules.
- - rscadd: Servant cyborgs now have a limited selection of scripture and tools, which
- varies by cyborg type.
- Kor:
- - bugfix: Station goals will once again function in extended.
- Swindly:
- - rscadd: Added a nitrous oxide reagent. It can be created by heating 3 parts ammonia,
- 1 part nitrogen, and 2 parts oxygen to 525K. The process produces water as a
- by-product and will cause an explosion if too much heat is applied.
-2016-11-21:
- Cobby:
- - tweak: mining/labor shuttles are now radiation proof.
-2016-11-23:
- Crushtoe:
- - rscadd: Added more tips.
- - bugfix: Fixes some sprites and spelling issues, namely bedsheet capes.
- Cyberboss:
- - bugfix: Changing an airlock's security level no longer heals it
- Gun Hog:
- - bugfix: Medibots now heal toxin damage again.
- Joan:
- - rscadd: Clockcult AIs can now listen to conversations through cameras.
- - rscadd: Due to complaints that the new slab interface was too difficult to navigate,
- it now starts off in compressed format. The button to toggle this is now also
- larger.
- Kor:
- - rscadd: Rounds ending on one server will send a news report to the other server.
- Shadowlight213:
- - tweak: Borers now have a 10 second delay before waking up after sugar leaves the
- host system
- - tweak: There is a chance for borers to lose control, based on brain damage levels
- Swindly:
- - rscadd: Most small items can now be placed in the microwave. Remember not to microwave
- metallic objects.
- XDTM:
- - rscadd: 'Golems now have special properties based on the mineral they''re made
- of:'
- - rscadd: Silver golems have a higher chance of stun when punching
- - rscadd: Gold golems are faster but less armoured
- - rscadd: Diamond golems are more armoured
- - rscadd: Uranium golems are radioactive
- - rscadd: Plasma golems explode on death
- - rscadd: Iron and adamantine golems are unchanged.
- jakeramsay007:
- - tweak: Borers can no longer take control of people who have a mindshield implant
- or are a member of either cult. This however does not stop them from infesting
- and controlling them through other means, such as chemicals.
-2016-11-24:
- Kor:
- - rscadd: Shaft miners now have access to the science channel.
- Lzimann:
- - rscdel: Multiverse sword is no longer buyable by wizards
- erwgd:
- - rscadd: Plasmamen get their own random names.
-2016-11-25:
- Joan:
- - rscadd: Clockcult AIs with borgs 'slaved' to them will convert them when hacking
- via the robotics console.
- - experiment: Replaced the "No Cache" alert with an alert that will show what you
- need for the next tier of scripture.
- Kor:
- - rscadd: The captain may now purchase an unfinished shuttle chassis, which will
- dock immediately when bought, but will not launch until the end of the regular
- shuttle call procedure. The shuttle is empty and devoid of atmosphere however,
- so you'll need to do some work on it if you want a safe trip home.
- Shadowlight213:
- - bugfix: The activation button for the AI integrity restorer modular program actually
- works now!
- - rscdel: The cortical borer event is now admin only
-2016-11-27:
- Cyberboss:
- - bugfix: False armblades are now removed after one minute. Start feeling the P
- A R A N O I A when you see em
- Gun Hog:
- - rscadd: AIs piloting a mech may now be recovered with an Intellicard from the
- wreckage if the mech is destroyed. They will be require repair once recovered.
- - tweak: Instructions for piloting mechs as an AI are now more obvious.
- - tweak: Traitor and Ratvar AIs may now be carded from mechs, at their discretion.
- Joan:
- - tweak: Clockwork walls are now about as hard for hulks to break as rwalls.
- - rscadd: You can now quickbind up to 5 scriptures from the recital menu, and the
- recital menu has less empty space.
- - tweak: Clockwork slabs now only start with only Geis pre-bound.
- Kor:
- - rscadd: Shaft miners can now redeem their starting voucher for a conscription
- kit, which contains everything they need to rope their friend into joining them
- on lavaland.
- - rscadd: You can now see which emergency shuttle is coming in the status panel.
- Lzimann:
- - rscadd: The robots stole Santa's Elfs jobs.
- MMMiracles:
- - tweak: Jump boots now have a pocket
- - imageadd: Jump boots from mining now have on-character icons.
- Mervill:
- - imageadd: Disposal units now use a tgui instead of plain html
- - rscadd: 'As the AI: Click an AI status display to bring up the prompt for changing
- the image'
- Swindly:
- - rscadd: Wet leather can be dried by putting it on a drying rack.
- Xhuis:
- - bugfix: Plastic explosives now actually explode when you commit suicide with them.
- - bugfix: Resisting out of straight jackets now works properly.
- - rscdel: Highlander will no longer announce the last man standing.
- - rscadd: Cyborgs can now open morgue trays. This does not include crematoriums!
- uraniummeltdown:
- - rscdel: Borers no longer randomly lose control based on host brain damage
- - tweak: Borer Dominate Victim stun time reduced from 4 -> 2.
- - tweak: Borers no longer force unhidden when infesting someone.
- - tweak: Borer event is rarer (weight 20->15).
- - tweak: Borer reproduction chemicals required increased from 100 to 200.
-2016-11-29:
- Joan:
- - tweak: Interdiction Lenses are more likely to turn off if damaged.
- - tweak: Reduced Interdiction Lens and Tinkerer's Daemon CV from 25 to 20.
- RemieRichards:
- - rscadd: Devils may now spawn with an obligation to accept dance off challanges,
- if they have this obligation they also gain a spell to summon/unsummon a 3x3
- dance floor at will.
- Swindly:
- - rscadd: Microwaves now heat open reagent containers to 1000K.
- XDTM:
- - rscadd: 'Added new types of golem: glass, sand, wood, plasteel, titanium, plastitanium,
- alien alloy, bananium, bluespace, each with their own traits. Experiment!'
- - tweak: Golems will be told what their traits are when spawning.
- - rscadd: Putting a golem in a gibber will give ores of its mineral type, instead
- of meat.
- - rscadd: Using Iron on an adamantine slime extract will spawn an incomplete golem
- shell, that will be slaved to whoever completes it, much like a normal adamantine
- golem.
- jughu:
- - tweak: Proselytizing airlocks into pinion airlocks takes longer.
-2016-11-30:
- ANGRY CODER:
- - tweak: NT news reports the clandestine criminal organization known as the syndicate
- may have upgraded one of their illegally stolen cyborg modules with additional
- healing technology.
- Cobby [Idea stolen from Shaps]:
- - rscadd: For objects that you could previously rename with a pen, you can now edit
- their description as well.
- Cyberboss:
- - rscdel: Due to budget cuts. Firelocks no longer have safety features
- - bugfix: Roundstart airlock electronics now properly generate the correct accesses
- - bugfix: tgui windows will now close on round end
- Gun Hog:
- - bugfix: Syndicate Medical Cyborg hyposprays now properly work through Operative
- hardsuits and other thick clothing.
- Joan:
- - tweak: Cogscarabs will once again convert metal, rods, and plasteel directly to
- alloy.
- - tweak: Tinkerer's caches now increase in cost every 4 caches, from 5.
- - rscadd: The Ark of the Clockwork Justicar now converts all silicons once it finishes
- proselytizing the station.
- Mervill:
- - rscadd: AI hologram can move seamlessly between holopads
- Thunder12345:
- - rscadd: Added anti-armour launcher. A single-use rocket launcher capable of penetrating
- all but the heaviest of armour. Deals massively increased damage to cyborgs
- and mechs.
-2016-12-02:
- Cobby:
- - bugfix: Removes the exploit that allowed you to bypass grabcooldowns with Ctrl+Click
- PeopleAreStrange:
- - tweak: Changed F7 to buildmode, F8 to Invismin (again). Removed stealthmin toggle
- RemieRichards:
- - rscadd: Added a new lavaland "boss"
- - tweak: Hostile mobs will now find a new target if they failed to attack their
- current one for 30 seconds, this reduces cheese by simply making the mob find
- something else to do/someone to kill
- - bugfix: Hostile mobs with search_objects will now regain that value after a certain
- amount of time (per-mob, base 3 seconds), this is because being attacked causes
- mobs with this var to turn it off, so they can run away, however it was literally
- never turned on which caused swarmers to get depression and never do anything.
-2016-12-03:
- Joan:
- - rscadd: Trying to move while bound by Geis will cause you to start resisting,
- but the time required to resist is up by half a second.
- - experiment: Resisting out of Geis now does damage to the binding, and as such
- being stunned while bound will no longer totally reset your resist progress.
- - rscadd: Using Geis on someone already bound by Geis will interrupt them resisting
- out of it and will fully repair the binding.
- - tweak: Geis's pre-binding channel now takes longer for each servant above 5. Geis's
- conversion channel also takes slightly longer for each servant above 5.
- - rscadd: Converted engineering and miner cyborgs can now create Sigils of Transgression.
- RandomMarine:
- - tweak: Airlocks will keep their original name when their electronics are removed
- and replaced. You may still use a pen to rename the assembly if desired.
-2016-12-04:
- Durkel:
- - tweak: Recent enemy reports indicate that changelings have grown bored with attacking
- near desolate stations and have shifted focus to more fertile hunting grounds.
-2016-12-06:
- BASILMAN YOUR MAIN MAN:
- - bugfix: fixes people "walking over the glass shard!" when they're on the ground,
- changes message when incapacitated
- Chnkr:
- - rscadd: Nuclear Operatives can now customize the message broadcast to the station
- when declaring war.
- Cyberboss:
- - bugfix: The atmos waste lines for the Metastation Kitchen and Botany departments
- is now actually connected
- Gun Hog:
- - rscadd: Nanotrasen Janitorial Sciences Division is proud to announce a new concept
- for the Advanced Mop prototype; It now includes a built-in condenser for self
- re-hydration! See your local Scientist today! In the event that janitorial staff
- wish to use more expensive solutions, the condenser may be shut off with a handy
- handle switch!
- Incoming5643:
- - bugfix: The timer for shuttle calls/recalls now scales with the security level
- of the station (Code Red/Green, etc.). You no longer have to feel dumb if you
- forget to call Code Red before you call the shuttle!
- - rscadd: Shuttles called in Code Green (the lowest level) now take 20 minutes to
- arrive, but may be recalled for up to 10 minutes. They also don't require a
- reason to be called.
- - experiment: That doesn't mean you should call a code green shuttle every round
- the moment it finishes refueling.
- - rscadd: Server owners may now customize the population levels required to play
- various modes. Keep in mind that this does not preserve the balance of the mode
- if you change it drastically. See game_modes.txt for details.
- Joan:
- - rscadd: You can now proselytize floor tiles at a rate of 20 tiles to 1 brass sheet
- or 2 tiles to 1 liquified alloy for cogscarabs.
- - rscadd: Proselytizers will automatically pry up floor tiles if those tiles can
- be proselytized.
- - tweak: Brass floor tiles no longer exist. Instead, you can just apply brass sheets
- to a tile. Crowbarring up a clockwork floor will yield that brass sheet.
- - rscadd: You can now cancel AI intellicard wiping.
- - tweak: Geis now takes 5 seconds to resist.
- Mervill:
- - bugfix: Examining now lists the neck slot
- MisterTikva:
- - rscadd: Nanotrasen informs that certain berry and root plants have been infused
- with additional genetic traits.
- - rscadd: Watermelons now have water in them!
- - rscadd: Blumpkin's chlorine production has been reduced for better workplace efficiency.
- - rscadd: Squishy plants now obey the laws of physics and will squash all over you
- if fall on them.
- Shadowlight213:
- - bugfix: The lavaland syndicate agents, as well as the ID for all simple_animal
- syndicate corpses should have their ID actually have syndicate access on it
- now!
- Swindly:
- - rscadd: 'Adds a new toxin: Anacea. It metabolizes very slowly and quickly purges
- medicines in the victim while dealing light toxin damage. Its recipe is 1 part
- Haloperidol, 1 part Impedrezene, 1 part Radium.'
- WJohn:
- - bugfix: AI core turrets can once again hit you if you are standing in front of
- the glass panes, or in the viewing area's doorway.
- XDTM:
- - rscadd: Quantum Pads are now buildable in R&D!
- - rscadd: Quantum Pads, once built, can be linked to other Quantum Pads using a
- multitool. Using a Pad who has been linked will teleport everything on the sending
- pad to the linked pad!
- - rscadd: 'Pads do not need to be linked in pairs: Pad A can lead to Pad B which
- can lead to pad C.'
- - rscadd: Upgrading a Quantum Pad will reduce the cooldown, charge-up time, and
- power consumption.
- - rscadd: Quantum Pads require a bluespace crystal, a micro manipulator, a capacitor
- and a cable piece.
- kilkun:
- - rscadd: New lore surrounding the various SWAT suits.
- - tweak: Captain's hardsuit/SWAT suit got a few buffs. It's now much more robust.
- - bugfix: Captain's space suit is now heat proof as well as fireproof. Long overlooked
- no longer.
-2016-12-07:
- Cyberboss:
- - bugfix: Atmos canisters now stay connected after relabeling them
- Incoming5643:
- - rscadd: Server owners that use the panic bunker feature can now optionally redirect
- new players to a different server. See config.txt for details.
- LOOT DUDE:
- - tweak: Swarmers will drop bluespace crystals on death, non-artificial crystals.
- MisterTikva:
- - rscadd: Nanotrasen Mushroom Studies Division proudly announces that growth serum
- producing plants were genetically reassembled. You no longer alternate between
- sizes with doses 20u+ and more effects were added to higher doses.
- Thunder12345:
- - bugfix: You can now only order a replacement shuttle once
-2016-12-08:
- Fox McCloud:
- - rscadd: The ability to harvest a plant, repeatedly, is now a gene-extractable
- trait that can be spliced into other plants
- - rscadd: can extract the battery capabilities of potatoes and splice them into
- other plants
- - rscadd: Plants types are now gene traits that can be added/removed from plants
- - rscadd: Adds new stinging plant trait that will inject a bit of a plant's reagents
- when thrown at someone
- Joan:
- - rscadd: The clockwork slab's interface is now TGUI.
- - imageadd: You can now see what an ocular warden is attacking.
- Mervill:
- - rscadd: The light replacer can now create bulbs from glass shards
- - rscadd: Click a light replacer while holding a glass shard to add the shard to
- the replacer
- - rscadd: Click a glass shard while holding a light replacer to consume the shard
- MrStonedOne:
- - tweak: world initialization is now faster.
- - bugfix: fixed the modify bodypart admin tool not working
- PKPenguin321:
- - tweak: Swarmer beacons now have 750 health, down from 3000.
- TehZombehz:
- - rscadd: Nanotrasen Culinary Division has authorized the production of tacos, both
- plain and classic.
- XDTM:
- - bugfix: Replica Pod cloning now works on people who have been decapitated.
- coiax:
- - rscadd: Additional mice sometimes appear in the maintenance tunnels. Engineers
- beware!
-2016-12-10:
- Cyberboss:
- - bugfix: The slips bug (which made freon laggy) is fixed
- Kor:
- - imagedel: Deleted all (3000+) left handed inhand icons. They are now automatically
- mirrored from the right hand, saving spriters a lot of tedious busywork.
- - rscadd: By crafting a wall mounted flasher frame (can be ordered via cargo), a
- flash, and a riot shield, you can now construct a strobe shield. The strobe
- shield combines the functionality of a riot shield and a flash, and can be reloaded
- with flash bulbs.
- Supermichael777:
- - tweak: Conveyors have been more firmly anchored. No fun allowed
- Thunder12345:
- - rscadd: Added the Standby Emergency Vessel "Scrapheap Challenge" as a new emergency
- shuttle option. You'll even be paid 1000 credits to use it!
- coiax:
- - rscadd: Due to a combination of radiation and water supply contamination, stations
- have been reporting animals gaining self awareness.
- optional name here:
- - bugfix: fixed ashdrake's flame wall.
- - bugfix: fixed walls decon spawning metal in a random location in the same room.
-2016-12-11:
- Cobby:
- - bugfix: Fixes literally everything regarding renaming so far. When adding unique_rename
- to objects, make sure the attackby checks for inheritance.
- - bugfix: You can pull as other mobs now. Sorry, clickcode is stupid.
- Cyberboss:
- - bugfix: Frozen things will now unfreeze above 0C
- Joan:
- - tweak: Invoking Nezbere now increases ocular warden damage slightly more, but
- increases ocular warden range slightly less.
- Swindly:
- - tweak: The recipe for moonshine now calls for 5 units of nutriment and 5 units
- of sugar instead of 10 units of nutriment.
- Thunder12345:
- - bugfix: Scrapheap Challenge shuttle now actually works
- coiax:
- - rscadd: Cyborgs now have a reset module wire, that when pulsed, triggers the cyborg's
- reset module hardware.
- - rscadd: Cyborgs now eject all upgrades when reset, rather than the upgrades being
- destroyed.
- - rscdel: Removed redundant reset module.
-2016-12-12:
- Dannno:
- - rscadd: more chaplain outfits
- - rscadd: animal and tribal masks to the theater vendor
-2016-12-13:
- Fox McCloud:
- - rscadd: Adds in random botany seeds; never the same twice.
- - rscadd: Adds in new trait that makes a grown release smoke when squashed
- - rscadd: Weed rates and chances are now core seed genes
- Joan:
- - experiment: Clockwork proselytizers suffer doubled cost and proselytization time
- when not on the station, mining, or centcom.
- - soundadd: Trying to recite scripture offstation is more clearly disapproved of.
- XDTM:
- - bugfix: The internal rage of the crew has been suppressed, and they will no longer
- attack their own backpacks when opening them.
-2016-12-14:
- Incoming5643:
- - rscadd: Recently we've been receiving reports of cheap knock off nuclear authentication
- disks circulating among the syndicate network. Don't be fooled by these decoys,
- only the real deal can be used to destroy the station!
- - experiment: Please don't destroy the station in an attempt to make sure the disk
- is real.
- Joan:
- - rscdel: The Ark of the Clockwork Justicar can no longer be repaired.
- - tweak: The Ark now has 20% more health.
- - rscadd: The Ark of the Clockwork Justicar will now force objects away from it.
- - tweak: Faster-than-normal tools are somewhat slower than before.
- - tweak: Mania Motors now require a much larger amount of power to convert people
- adjacent, and people converted by it are knocked out.
- Mindustry:
- - bugfix: Goliath meat can be cooked in lava again
- Okand37:
- - rscadd: DeltaStation's emergency shuttle
- XDTM:
- - rscadd: Abductor Agents have now been equipped with extremely advanced construction
- and hacking tools.
-2016-12-18:
- Dannno:
- - rscadd: Sec hailers can now be emagged for a more rational, calm message.
- Erwgd:
- - rscadd: Limb Grower circuit boards can now be made in Research and Development,
- requiring level 3 in data theory and level 2 in biological technology.
- Firecage:
- - rscadd: The NanoTrasen Airlock Builder Federation(NTABF) has recently released
- the blueprints involving building and deconstructing Titanium Airlocks! These
- airlocks are now being used on all of our shuttles.
- Fox McCloud:
- - bugfix: Fixes the personal crafting cost of ED-209's being too expensive
- Hyena:
- - tweak: adds 2 geiger counters to radition protection crates and a gift from the
- russians
- Joan:
- - rscadd: Adds Replicant and Tinkerer's Cache to the default slab quickbind.
- - rscadd: Revenants will be revealed by ocular wardens when targeted.
- Joan, Dagdammit:
- - rscadd: You can now push Wraith Spectacles up to avoid vision damage, but lose
- xray vision.
- - wip: Do note that flicking them on and off very quickly may cause you to lose
- vision rather quickly.
- Kor:
- - rscadd: Added the treasure hunter's hat, coat, uniform, and whip. These aren't
- available on the map yet, but will be available to the librarian soon.
- Mervill:
- - rscadd: Notice boards can now have photographs pined to them
- - tweak: Items removed from the notice board are placed in your hands
- - bugfix: Intents can be cycled forward and backwards with hotkeys again
- - bugfix: Russian revolver ammo display works correctly
- - rscadd: Added a credit deposit to pubbystation's vault
- - rscdel: Removed a rather garish golden statue of the HoP from pubbystation's vault
- Okand37 & Lexorion:
- - rscadd: Added a new hair style, the Sidecut!
- Supermichael777:
- - rscadd: Clockwork components the chaplain picks up are now destroyed.
- Swindly:
- - rscadd: Adds eggnog. It can be made by mixing 5 parts rum, 5 parts cream, and
- 5 parts egg yolk.
- XDTM:
- - rscadd: Changelings can now buy Tentacles on the Cellular emporium for 2 evolution
- points.
- - rscadd: Tentacles, once used, can be fired once against an item or mob to pull
- it towards yourself. Items will be automatically grabbed. Costs 10 chemicals
- per tentacle.
- - rscadd: 'On humanoid mobs tentacles have a varying effect depending on intent:
- - Help intent simply pulls the target closer without harming him; - Disarm intent
- does not pull the target but instead pulls whatever item he''s holding in his
- hands to yours; - Grab intent puts the target into an aggressive grab after
- it is pulled, allowing you to throw it or try to consume it; - Harm intent will
- briefly stun the target on landing; if you''re holding a sharp weapon you''ll
- also impale the target, dealing increased damage and a longer stun.'
- - bugfix: Random golems now properly acquire the properties of the golem they pick.
- - rscadd: When becoming a random golem the user is informed of the properties of
- the picked golem.
- coiax:
- - rscadd: Chameleon clothing produced by the syndicate has been found to react negatively
- to EMPs, randomly switching forms for a time.
- - rscadd: Anomalies now have observer-visible countdowns to their detonation.
- - rscadd: Adds upgrades for the medical cyborg!
- - rscadd: The Hypospray Expanded Synthesiser that adds chemicals to treat blindness,
- deafness, brain damage, genetic corruption and drug abuse.
- - rscadd: The Hypospray High-Strength Synthesiser, containing stronger versions
- of drugs to treat brute, burn, oxyloss and toxic damage.
- - rscadd: The Piercing Hypospray (also applicable to the Standard and Peacekeeper
- borgs) that allows a hypospray to pierce thick clothing and hardsuits.
- - rscadd: The Defibrillator, giving the medical cyborg an onboard defibrillator.
- - rscadd: Loose atmospherics pipes are now dangerous to be hit by.
- - rscadd: Whenever you automatically pick up ore with an ore satchel, if you are
- dragging a wooden ore box, the satchel automatically empties into the box.
- dannno:
- - rscadd: Adds a villain costume to the autodrobe.
- - bugfix: Fixes autodrobe failing to stock items.
- jughu:
- - tweak: 'sandals are not fireproof or acidproof anymore :add: Magical sandals for
- the wizard that are still fireproof/acid proof :tweak: makes the marisa boots
- acid and fire proof too'
- karlnp:
- - bugfix: made facehuggers work again
- - bugfix: vendors, airlocks, etc now cannot shock at a distance
- uraniummeltdown:
- - tweak: Side entrance to Box Medbay, a few layout changes.
-2016-12-19:
- spudboy:
- - bugfix: Fixed items not appearing in the detective's fedora.
-2016-12-20:
- Kor:
- - rscadd: You can put a variety of hats on cyborgs using help intent (the engiborg
- can't wear hats though, as it is shaped too oddly. Sorry!)
- - rscadd: 'The complete list of currently equippable hats is as follows: Cakehat,
- Captains Hat, Centcomm Hat, Witch Hunter Hat, HoS Cap, HoP Cap, Sombrero, Wizard
- Hat, Nurse Hat.'
- Lzimann:
- - bugfix: Mjor the Creative will drop his loot correctly now.
- Mekhi Anderson:
- - rscdel: Fixes various PAI bugs, various tweaks and bullshit.
- MrPerson:
- - rscadd: Starlight will have more of a gradient and generally shine a more constant
- amount of light regardless of how many tiles are touching space. In dark places
- with long borders to space, starlight will be much darker.
-2016-12-21:
- FTL13, yogstation, Iamgoofball, and MrStonedOne:
- - rscadd: Space is pretty.
- - tweak: You can configure how pretty space is in preferences, those of you on toasters
- should go to low to remove the need to do client side animations. (standard
- fanfare as job selection, left click to increase, right click to decrease) (Changes
- are applied immediately in most cases, on reconnect otherwise)
- Joan:
- - rscadd: EMPs will generally fuck up clockwork structures.
- - rscdel: Cogscarabs can no longer hold slabs to produce components.
- - rscadd: Slabs will now produce components even if in a box in your backpack inside
- of a bag of holding on your back; any depth you can hide the slab in will still
- produce components.
- - bugfix: Non-Servants in possession of clockwork slabs will also no longer produce
- components.
- Mekhi Anderson:
- - bugfix: PAI notifications no longer flood those who do not wish to be flooded.
- Shadowlight213:
- - imageadd: 2 new performer's outfits have been added to the autodrobe
-2016-12-24:
- AnturK:
- - rscadd: Implants now work on animals.
- Cyberboss:
- - bugfix: Dead things can no longer be used to open doors
- F-OS:
- - bugfix: swarmers can no longer destroy airlocks.
- MrStonedOne:
- - tweak: AI's call bot command has been throttled to prevent edge cases causing
- lag. You will not be able to call another bot until the first bot has finished
- mapping out it's route.
- TehZombehz:
- - tweak: Observers can now orbit derelict station drone shells, much like current
- lavaland ghost role spawners, to make finding them easier. Regular drone shells
- are not affected by this.
- XDTM:
- - rscadd: Autolathes are now true to their name and can queue 5 or 10 copies of
- the same item.
- coiax:
- - rscadd: Cyborg renaming boards cannot be used if no name has been entered.
- - rscdel: Cyborg rename and emergency reboot modules are destroyed upon use, and
- not stored inside the cyborg to be ejected if modules are reset.
- - rscadd: Emagging the book management console and printing forbidden lore now has
- a chance of producing a clockwork slab rather than an arcane tome.
- kevinz000:
- - experiment: Flightsuits now have their own subsystem!
- - bugfix: Flightsuits properly account for power before calculating drifting
- - experiment: Flightpack users will automatically fly over anyone buckled without
- crashing.
- - experiment: Flightpack users automatically slip through mineral doors
- - experiment: Flightpack users will crash straight through grills at appropriate
- times
- - experiment: Flightpack users automatically slip through unbolted airlocks
- - experiment: Flightpacks are faster in space, but their space momentum decay has
- been upped significantly to compensate
- - experiment: Flighthelmets now have a function to allow the wearer to zoom out
- to see further. Helps you not crash eh?
- spudboy:
- - bugfix: Gave cyborgs some hotkeys they should have had.
-2016-12-27:
- Firecage:
- - bugfix: The Nanotrasen Sewing Club has finally fixed the problem which rendered
- NT, Ian, and Grey bedsheets invisible when worn!
- Hyena:
- - tweak: Detective coats can now hold police batons
- - bugfix: Fixes disabler in hand sprites
- Joan:
- - rscadd: You can now put syndicate MMIs and soul vessels into AI cores.
- - rscadd: The Hierophant boss will now create an arena if you try to leave its arena.
- - imageadd: The Hierophant boss, its arena, and the weapon it drops all have new
- sprites.
- - soundadd: And new sounds.
- - wip: And new text.
- - rscadd: Wizards can now buy magic guardians for 2 points. They are not limited
- to one guardian, meaning they can have up to 5. If that's wise is an entirely
- different question.
- - experiment: Wizards cannot buy support guardians, but can buy dexterous guardians,
- which can hold items.
- Shadowlight213:
- - tweak: Shuttle are now safe from radstorms
- XDTM:
- - bugfix: HUD implants now properly allow you to modify the records of those you
- examine, like HUD glasses do.
- - bugfix: Organ Manipulation surgery now properly heals on the cautery step.
- - bugfix: The maintenance door adjacent to R&D in metastation is now accessible
- to scientists, instead of requiring both science and robotics access.
-2016-12-28:
- Erwgd:
- - rscadd: A new access level is available, named "Cloning Room". Medical Doctors,
- Geneticists and CMOs start with it.
- - tweak: On Box Station and on Meta Station, the cloning lab doors require Cloning
- Room access in addition to each door's previous requirements.
- - tweak: Cloning pods are now unlocked with Cloning Room access only.
- Incoming5643:
- - rscadd: There's a new category in uplinks for discounted gear. These special discounts
- however can only be taken once, so even if you are lucky enough to see syndibombs
- for 75% off you won't be able to nuke the entire station with them.
- - bugfix: The charge spell will no longer bilk you on wand charges, and wands that
- are dead won't show up as charged.
- Joan:
- - rscdel: Clockwork Marauders no longer have Fatigue. It was difficult to balance
- and made them too easy to force into recalling. This means they just have health;
- they aren't forced to recall by anything, but can accordingly die much more
- easily.
- - rscadd: Accordingly Clockwork Marauders now have more health, do slightly more
- damage, block slightly more often, and have to go slightly further from their
- host to take damage.
- - rscadd: Marauders that are not recovering(from recalling while the host's health
- is too high to emerge) and are inside their host, or are within a tile of their
- host, will gradually heal their host until their host is above the health threshold
- to emerge.
- - tweak: Chaos guardians transfer slightly less damage to their summoner.
- XDTM:
- - tweak: Armblades now go slash slash instead of thwack thwack
- - imageadd: Tentacles have some fancier sprites
-2016-12-29:
- Mervill:
- - bugfix: Patched an exploit related to pulling a vehicle as its driver while in
- space
- - bugfix: Fixed evidence bags not displaying their contents when held
- - bugfix: Clothing without a casual variant will no longer say it can be worn differently
- when examined
- - bugfix: Only standard handcuffs can be used to make chained shoes
- - bugfix: Fixed cards against space
- - bugfix: Drying rack sprite updates properly when things are removed without drying
- XDTM:
- - rscadd: Colossi now drop the Voice of God, a mouth organ that, if implanted, allows
- you to speak in a HEAVY TONE. This voice can compel hearers to briefly obey
- certain codewords, such as "STOP". Using these codewords will severely increase
- this ability's cooldown, and only one will be used per sentence.
- - rscadd: 'Use .x, :x, or #x as a prefix to use Voice of God or any future vocal
- cord organs.'
- - rscadd: Chaplains, being closer to the gods, and command staff, being used to
- giving orders, gain an increased effect when using the Voice of God. The mime,
- not being used to speaking, has a reduced effect.
-2016-12-31:
- hyena:
- - bugfix: fixes caps suit fire immunity
- kevinz000:
- - bugfix: Machine overloads/overrides aren't as bullshit as you'll actually be able
- to dodge it now.
-2017-01-01:
- A whole bunch of spiders in a SWAT suit:
- - bugfix: spiders can't wrap anchored things
-2017-01-02:
- MrStonedOne:
- - tweak: Throwing was refactored to cause less lag and be more precise
- - rscadd: Item throwing now imparts the momentum of the user throwing. Throwing
- in the direction you are moving throws the item faster, throwing away from the
- direction you are moving throws the item slower. This should make hitting yourself
- with floor tiles less likely.
- XDTM:
- - bugfix: Storage bags should now cause less lag when picking up large amounts of
- items.
- - bugfix: Storage bags now don't send an error message for every single item they
- fail to pick up.
-2017-01-03:
- Cyberboss:
- - bugfix: AIs can no longer see cult runes properly
- Mervill:
- - bugfix: Can't kick racks if weakened, resting or lying
-2017-01-06:
- Cruix:
- - bugfix: Fixed the leftmost and bottommost 15 turfs not having static for AIs and
- camera consoles
- Joan:
- - bugfix: Tesla coils and grounding rods must be anchored with a closed panel to
- function, ie; not explode when shocked.
- - tweak: Metastation's xenobio has been slightly modified to avoid getting hit by
- some standard shuttles.
- Mervill:
- - bugfix: Regular spraycans aren't silent anymore
- MrStonedOne and Ter13:
- - rscadd: Added some ping tracking to the game.
- - rscadd: Your ping shows in the status tab
- - rscadd: Other players ping shows in who to players and admins.
- Nabski89:
- - bugfix: Re-Vitiligo Levels to match wiki.
- XDTM:
- - tweak: Voice of God's Sleep lasts less than the other stuns.
- - rscadd: You can also use people's jobs to single them out, instead of only names.
- - tweak: If multiple people share the same name/job they'll all be included, although
- at a reduced bonus.
- - tweak: Names and jobs will only be accepted if they're the first part of the command,
- and not in the middle, to prevent unintended focusing.
- - bugfix: Voice of God now shows speech before the emotes it causes.
- - bugfix: Special characters are no longer over-sanitized.
- - bugfix: You can now properly apply items to clothing with pockets, such as slime
- speed potions on clown shoes.
- - bugfix: Mechs are now able to enter wormhole-sized portals.
-2017-01-08:
- Mervill:
- - bugfix: pre-placed posters don't retain their pixel offset when taken down carefully
- - bugfix: Dinnerware Vendor will show it's wire panel
- Nanotrasen Station Project Advisory Board:
- - wip: It is highly recommended that, when constructing the Meteor Shield project,
- you are able to see, at minimum, two meteor shields from a stationary location.
- The Nanotrasen Station Project Advisory Board is not liable for meteor damage
- taken under wider shield arrangements.
- Speed of Light Somehow Changed:
- - tweak: Dynamic lights are no longer animated, and update instantly
- - tweak: Increased maximum radius of mob and mobile lights
-2017-01-10:
- Arianya:
- - bugfix: Doors and vending machines once again make a sound when you screwdriver
- them.
- Cyberboss:
- - bugfix: Explosions can no longer be dodged
- - tweak: Airlocks are now destroyed by the same level explosion that destroys walls
- - tweak: Diamond/External/Centcomm airlocks and firedoors now block explosions as
- walls do
- Joan:
- - experiment: Clockwork Proselytizers no longer require Replicant Alloy to function;
- instead, they gradually charge themselves with power, which is used more or
- less the same as alloy.
- - tweak: Clockwork Proselytizers now produce brass sheets when used in-hand, instead
- of Replicant Alloy.
- - rscdel: Tinkerer's Caches can no longer have Replicant Alloy removed from them;
- using an empty hand on them will simply check when they'll next produce a component.
- - rscdel: Mending Motors can no longer use Replicant Alloy in place of power.
- Mervill:
- - bugfix: Controlling the station status displays no longer overrides the cargo
- supply timer
- MrStonedOne:
- - experiment: Lighting was made more responsive.
- XDTM:
- - rscadd: Earmuffs and null rods protect against the Voice of God.
- - rscadd: Earmuffs are now buildable in autolathes.
- - tweak: Voice of God stuns have a longer cooldown.
- coiax:
- - rscadd: Girders now offer hints to their deconstruction when examined.
-2017-01-13:
- Cyberboss:
- - bugfix: Walls blow up less stupidly
- - bugfix: You no longer drop a beaker after attempting to load it into an already
- full cryo cell
- Joan:
- - bugfix: Instant Summons is no longer greedy with containers.
- Mervill:
- - bugfix: Hardsuits, amour and other suits that cover the feet now protect against
- glass shards
- - bugfix: You will now lose the lawyer's speech bubble effect if you unequip the
- layer's badge
- MrStonedOne:
- - tweak: More performance tweaks with the modulated reactive ensured entropy frame
- governor system
- PKPenguin321:
- - tweak: Ash walker tendrils will now restore 5% of their HP when fed.
- Shadowlight213:
- - bugfix: Borg emotes should now play at the correct pitch
- - bugfix: The ID console now properly handles authorization
- - bugfix: Clicking on one of the ID cards in the UI will no longer eject both of
- them
- Thunder12345:
- - bugfix: Morphs will no longer retain the colour of the last thing mimicked when
- reverting to their true form
- XDTM:
- - bugfix: Patches' application is now properly delayed instead of instant.
- - bugfix: Accelerator laser cannons' projectile now properly grows with distance.
- coiax:
- - rscadd: The end of round stats include the number of people who escaped on the
- main emergency shuttle.
-2017-01-14:
- Cyberboss:
- - bugfix: Explosions now flash people properly
- Lzimann:
- - bugfix: Fixes TGUI not working for people without IE11
- Thunder12345:
- - bugfix: Recoloured mobs and objects will no longer produce coloured fire.
- XDTM:
- - bugfix: Nanotrasen decided that the "violent osmosis" method for refilling fire
- extinguishers was, while cathartic, too expensive, due to the water tank repair
- bills. Water tanks now have a tap.
- - bugfix: (refilling extinguishers from tanks won't make you hit them)
- - bugfix: Golems no longer drop belt, id, and pocket contents in a fit of extreme
- clumsiness when drawing a sword from a sheath.
- - bugfix: Wrenching portable chem dispensers won't cause you to immediately try
- unwrenching them.
- coiax:
- - bugfix: Blue circuit floors are now restored to their normal colour if an AI doomsday
- device is disabled.
-2017-01-16:
- Cyberboss:
- - bugfix: Firedoors no longer have maintenance panels
- - tweak: Firedoors must now be welded and screwdrivered prior to be deconstructed
- Joan:
- - rscadd: Ratvar will now convert lattices and catwalks to clockwork versions.
- XDTM:
- - tweak: Updating your PDA info with an agent id card inside will also overwrite
- the previous name.
- - bugfix: Loading a xenobiology console with a bio bag won't cause you to smack
- it with it.
- - tweak: Chemical splashing is now based on distance rather than affected tiles.
- - bugfix: You can now properly wet floors by putting enough water in a grenade.
- - bugfix: Floating without gravity won't drain hunger.
-2017-01-18:
- Mervill:
- - bugfix: Using a welder to repair a mining drone now follows standard behaviour
- - bugfix: Redeeming the mining voucher for a mining drone now also provides welding
- goggles
- - bugfix: ntnrc channels are now deleted properly
- Tofa01:
- - bugfix: Moved all sprites for heat pipe manifold either up or down by one so that
- they will line up correctly when connected to adjacent pipes.
- uraniummeltdown:
- - rscadd: More AI holograms!
-2017-01-19:
- Cyberboss:
- - bugfix: Various abstract entities will no longer be affected by spacewind
- - bugfix: Ash will, once again, burn in lava
- - rscadd: Active testmerges of PRs will now be shown in the MOTD
- - bugfix: You will no longer appear to bleed while bandaged
- Joan:
- - spellcheck: Clockwork airlocks now have more explicit deconstruction messages,
- using the same syntax as rwall deconstruction.
- Mervill:
- - bugfix: Raw Telecrystals won't appear in the Traitor's purchase log at the end
- of the round
- MrStonedOne:
- - bugfix: Fixed excessive and immersion ruining delay on the smoothing of asteroid/mining
- rock after a neighboring rock turf was mined up.
- XDTM:
- - bugfix: Plasmamen that are set on fire by reacting with oxygen will burn even
- if they have protective clothing. It will still protect from external fire sources.
- - tweak: Atmos-sealing clothing, like hardsuits, will protect plasmamen from reacting
- with the atmosphere.
- - tweak: Plasmamen can survive up to 1 mole of oxygen before burning, instead of
- burning with any hint of oxygen.
- - bugfix: Nanotrasen no longer ships self-glueing posters. You'll have to finish
- placing the posters to ensure they don't fall on the ground.
- - bugfix: Exosuits can't push anchored mobs, such as megafauna or tendrils, anymore.
- coiax:
- - bugfix: AIs can no longer activate the Doomsday Device off-station. Previously
- it would activate and then immediately turn off, outing the AI as a traitor
- without any benefit.
-2017-01-20:
- CoreOverload:
- - tweak: Any sharp item can now be used for "incise" surgery step, with 30% success
- probability.
- Joan:
- - rscadd: Sentinel's Compromise will also convert oxygen damage into half toxin,
- in addition to brute and burn.
- - tweak: Reduced the Ark of the Clockwork Justicar's health from 600 to 500
- - rscadd: You can now pull objects past the Ark of the Clockwork Justicar without
- them being moved and or destroyed by its power.
- MrStonedOne:
- - tweak: Server side timing of the parallax shuttle launch animation now runs on
- client time rather than byond time/server time. This will fix the odd issues
- it has during lag. The parallax shuttle slowdown animation will still have issues,
- those will be fixed in another more involved update to shuttles.
- - rscadd: The window will flash in the taskbar when a new round is ready and about
- to start.
- Tofa01:
- - bugfix: Moved The CentComm station 6 tiles to the left in order to prevent large
- shuttles such as "asteroid with engines on it" from clipping off the end of
- the right side of the map.
- XDTM:
- - bugfix: Chameleon PDAs can now morph into assistant PDAs.
- - bugfix: A few iconless items have been blacklisted from chameleon clothing.
- - tweak: Reviver implants now warn you when they're turning on or off, or when giving
- a heart attack due to EMP.
-2017-01-22:
- ChemicalRascal:
- - tweak: Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive.
- Cyberboss:
- - tweak: You can no longer meatspike bots and silicons
- - bugfix: Secbots will now drop the baton type they were constructed with
- Dannno:
- - rscadd: yeehaw.ogg is now a round end sound
- Fox McCloud:
- - tweak: drying meat slabs and grapes now yields a healthy non-junkfood snack
- Hyena:
- - rscadd: Adds paint remover to the janitors closet
- Joan:
- - rscadd: Clockwork Proselytizers can now convert lattices and catwalks. This has
- negative gameplay benefit, but looks cool.
- - rscadd: Sigils of Transmission can be accessed by clockwork structures in a larger
- range.
- - tweak: You can see, when examining a clockwork structure, how many sigils are
- in range of it.
- - rscadd: Clockwork constructs will toggle clockwork structures instead of attacking
- them.
- Shadowlight213:
- - bugfix: Zombies will now get their claws upon zombification
- Thunder12345:
- - rscadd: The indestructible walls on CentComm will now smooth.
- Tofa01:
- - tweak: Changed alert message on early launch Authorization shuttle repeal message.
- - bugfix: Makes the repeal message work and push a alert to the crew properly, also
- reports every Authorization repeal now.
- - bugfix: Auto Capitalisation will now work with all types of MMI chat
- Ultimate-Chimera:
- - rscadd: Adds a new costume crate to the cargo ordering console.
- XDTM:
- - rscadd: Xenobiology consoles are now buildable from circuitboards in R&D. They'll
- be limited to the area they're built in plus any area with the same name.
- - rscadd: Stock Exchange computers are now also buildable this way.
- - rscadd: Androids now speak in a more robotic tone of voice.
- - imageadd: Armblades now look a bit more bladelike.
- coiax:
- - rscadd: The Delta emergency shuttle now travels towards the south, rather than
- the north. This changes nothing except which direction the stars rushing past
- the windows are moving.
- - bugfix: Fixed dragging the spawn protection traps on CTF.
-2017-01-24:
- CoreOverload:
- - rscadd: You can now buckle handcuffed people to singularity/tesla generators,
- RTGs, tesla coils and grounding rods.
- Cyberboss:
- - tweak: Firealarms now go off if it's too cold
- - bugfix: World start will no longer lag
- - bugfix: Dismembered heads will now use a mob's real name
- Joan:
- - rscadd: Clockwork Slabs can now focus on a specific component type to produce.
- - experiment: 'Redesigned: Volt Void now allows you to fire up to 5 energy rays
- at targets in view; each ray does 25 laser damage to non-Servants in the target
- tile. The ray will consume power to do up to double damage, however.'
- - wip: Failing to fire a Volt Void ray will damage you, though you won't die from
- it unless you have access to a lot of power and are either low on health or
- fail all five rays in a row.
- - rscadd: The Ark of the Clockwork Justicar will gradually convert objects near
- it with increasing range as it gets closer to activating.
- - tweak: 'Brass windows have 20% less health, and are accordingly easier to destroy.
- Fun fact: Lasers do more damage to brass windows!'
- - tweak: 'Wall gears have 33% less health and are slightly faster to deconstruct.
- Fun fact: You can climb over wall gears!'
- - tweak: Marauders will heal more of their host's damage, on average, per life tick.
- - rscadd: Clockwork Proselytizers can now repair Servant silicons and clockwork
- mobs. This works in the same manner as repairing clockwork structures.
- - tweak: Cogscarabs work slightly differently, and act as though the proselytizer
- is a screwdriver.
- Kor:
- - rscadd: Megafauna will not heal while on the station. Do not be afraid to throw
- your life away to get in a few toolbox hits.
- Shadowlight213:
- - rscdel: PAIs can no longer ventcrawl
- Tofa01:
- - rscadd: '[Delta Station] Adds a tracking beacon to AI MiniSat Exterior Hallway'
- coiax:
- - rscdel: Statues are now just incredibly tough mobs, rather than GODMODE. As a
- side effect, they are no longer immune to bolts of change.
- - bugfix: Fixed some issues with X (as Y) names on polymorphed mobs.
-2017-01-26:
- Robustin:
- - tweak: Unholy Water can now be thrown or vaporized to deliver a powerful poison
- unto the cult's enemies - or healing and stun resistance to its acolytes.
- Tofa01:
- - tweak: Moved Meta station AI MiniSat tracking beacon to AI MiniSat entrance. Should
- prevent being regular teleported into space.
- - bugfix: Added missing row of pixels to Flypeople torso so head connects to body
- properly.
- Tofa01 & XDTM:
- - rscadd: Adds radio alert messages going to medical channel to the cryo tube when
- a patient is fully restored.
- - soundadd: Adds new alert sound for cryo tube. (cryo_warning.ogg)
- XDTM:
- - rscadd: Voice of God has received a few more commands.
- - rscadd: You can now use job abbreviations (ex. hos > head of security) and first
- names (ex. Duke > Duke Hayka) to focus targets.
- coiax:
- - rscadd: The nuclear operative cybernetic implant bundle now actually contains
- implants.
- - rscdel: The cybernetic implant bundle is no longer eligible for discounts (bundles
- are, in general, not eligible).
- - rscadd: Telecrystals can be purchased in stacks of five and twenty.
- - rscadd: The entire stack of telecrystals are added to the uplink when charging
- them.
-2017-01-27:
- Joan:
- - tweak: Buckshot now does a maximum of 75 damage, from 90.
- - tweak: The unique cyborg scriptures(Linked Vanguard, Judicial Marker) take 3 seconds
- to invoke, from 4.
- - tweak: Invoking Inath-neq and Invoking Nzcrentr now both take 10 seconds to invoke,
- from 15.
- Lzimann:
- - rscadd: Now you can choose what department you want to be as security! (This may
- not be completly reliable).
- RemieRichards:
- - rscadd: 'Emagging a sleeper now randomises the buttons, the buttons remain the
- same until randomised again so you can "learn" the new button config if you''re
- a masochist, Inject omnizine but realise far too late that it''s all morphine,
- woops! (Note: Epinephrine can always be injected, regardless of chem levels,
- this means if something !!FUN!! ends up on the Epinephrine button, it will always
- be injectable!)'
- Sweaterkittens:
- - tweak: There are now updated names and descriptions for the items that your plasma-based
- crewmembers start with and use frequently.
-2017-01-28:
- Joan:
- - tweak: Brass windows no longer start off anchored, but are constructed instantly.
- - bugfix: You can no longer stack multiple windows of the same direction on a tile.
- - rscadd: Vitality Matrices now share vitality globally, allowing you to use vitality
- gained from any Matrix.
- - tweak: Geis now mutes human targets if there are less than 6 Servants.
- - tweak: Geis no longer produces resist messages below 6 Servants; this isn't a
- change, as Geis cannot be successfully resisted below 6 Servants.
- - tweak: Applying Geis to an already bound target will also mute them, in addition
- to preventing resistance.
- RemieRichards:
- - rscadd: A New weapon for clown mechs, the Oingo Boingo Punch-face! it's a giant
- boxing glove that extends out on a spring and sends atoms flying (including
- anchored ones and things that make no sense to move because -clowns-)
- Tofa01:
- - bugfix: Mop will no longer try and clean tile under janitorial cart when wetting
- the mop.
- - rscadd: Adds modular computers to Metastation.
- - bugfix: Fixes no air in Deltastation maintenance kitchen.
- - rscadd: Adds a modular computer to the CE office on Pubbystation.
- Xhuis:
- - rscadd: Energy-based weapons can now light cigarettes.
- coiax:
- - rscadd: Communication consoles now share cooldowns on announcements.
- - rscadd: Cyborgs can now alter the messages of the announcement system.
- - bugfix: Deadchat is now notified of any deaths on the shuttle or on Centcom. The
- CTF arena does not generate death messages, due to the high levels of death.
- - rscadd: The Human-level Intelligence event now occurs slightly more often, and
- produces a classified message.
- kevinz000:
- - rscadd: Emitters and Tesla Coils now have activation wires!
- - rscadd: Emitters will shoot out an emitter bolt when pulsed, regardless of it
- is on.
- - rscadd: Tesla coils will shoot lightning when pulsed, if it is connected to a
- cable that has power.
- - bugfix: Bolas no longer restrain your hands for 10 seconds when you try to remove
- them and fail.
-2017-01-29:
- BASILMAN YOUR MAIN MAN:
- - rscadd: Added a new sailor outfit to the autodrobe, now you can play sailors vs
- pirates.
- BlakHoleSun:
- - rscadd: Added new reaction with the rainbow slime extract. Injecting a rainbow
- slime extract with 5u of holy water and 5u of uranium gives you a flight potion.
- Cobby:
- - tweak: AI's can now be your banker by manipulating the stock machine.
- Cyberboss:
- - experiment: Nuclear bombs now detonate
- - rscadd: You can now link additional cloning pods in the same powered area to a
- single computer using a multitool.
- Fox McCloud:
- - bugfix: Fixes Kudzu seed gene stats not being properly altered by certain reagents
- - bugfix: Fixes Kudzu vine dropped seeds not properly having gene stats set
- - bugfix: Fixes glowshrooms having an invalidly high lifespan
- - bugfix: Fixes explosive vines not properly chaining
- Joan:
- - rscadd: Clockwork Marauders now grant their host action buttons to force them
- to emerge/recall and communicate with them, instead of requiring the host to
- type their name or use a verb, respectively.
- - rscdel: Clockwork Marauders no longer see their block and counter chances; this
- was mostly useless info, as knowing the chance didn't matter as to what you'd
- do.
- - rscdel: Clockwork Marauders can no longer change their name.
- - tweak: Clockwork Marauders have a slightly lower chance to block, and take slightly
- more damage when far from their host.
- - bugfix: Fixes a bug where Clockwork Marauders never suffered reduced damage and
- speed at low health and never got the damage bonus at high health.
- Kor:
- - rscdel: Stimpacks are no longer available in the mining vendor.
- Lzimann:
- - rscadd: You can now change your view range as ghost. To do so, either use the
- View Range verb in the ghost tab, the mouse scroll up/down or control + "+"/"-".
- The verb also works as a reset if you changed your view.
- Sogui:
- - tweak: There are now 2 less traitors in the double agent mode
- - tweak: All security (and captain) suit sensors are set to max by default
- Supermichael777:
- - tweak: The wooden chair with wings is now craft-able. -1 non reconstruct-able
- map object
- - rscadd: Added the Tiki mask, you can make it in wood's crafting menu.
- - imageadd: Ported Tiki mask's sprites from Hippie station. It is under the same
- Creative Commons 3.0 BY-SA as the rest of our sprites. They are from Nienhaus.
- Tofa01:
- - rscadd: Adds a camera network onto the Omega Station.
- - imageadd: Added new sprite for the AI Slipper.
- XDTM:
- - tweak: Implanting chainsaws is now a prosthetic replacement instead of its own
- surgery.
- - rscadd: You can now implant synthetic armblades (from an emagged limb grower)
- into people's arms to use it at its full potential.
- - rscdel: Chainsaw removal surgery has been removed as well; you'll have to sever
- the limb and get a new one.
- Xhuis:
- - rscadd: AI control beacons are a new item created from the exosuit fabricator.
- When installed into a mech, it allows AIs to jump to and from that mech freely.
- Note that malfunctioning AIs with the domination power unlocked will instead
- be forced to dominate the mech.
- - tweak: Some timed actions are no longer interrupted while drifting through space.
- - rscadd: Riot foam darts can now be constructed from a hacked autolathe.
- bgobandit:
- - rscadd: The library computer can now upload scanned books to the newscaster. Remember,
- seditious or unsavory news channels should receive a Nanotrasen D-Notice!
- - rscadd: The library computer can now print corporate posters as well as Bibles.
- - rscdel: Cargo no longer offers a corporate poster crate. Nobody ever bought it
- anyway.
- coiax:
- - rscadd: The Librarian now starts with a chisel/soapstone/chalk/magic marker capable
- of engraving messages for subsequent shifts, and permanently erasing messages
- that the Librarian is unhappy with. It has limited uses, so order more at Cargo.
- - bugfix: The contraband cream pie crate is now locked, and requires Theatre access.
- - rscadd: Any silicons created by bolts of change have no laws.
- - rscadd: Cyborgs are immune to polymorph while changing module.
- - rscadd: Adds Romerol to the traitor uplink for 25 TC. (This means you need a discount,
- or to work with another traitor to afford it). Romerol is a highly experimental
- bioterror agent which silently create dormant nodules to be etched into the
- grey matter of the brain. On death, these nodules take control of the dead body,
- causing limited revivification, along with slurred speech, aggression, and the
- ability to infect others with this agent.
- - rscdel: Zombie infections are no longer visible on MediHUD.
- - rscdel: Zombies no longer tear open airlocks, since they can just smash them open
- just as fast.
- - rscdel: Zombies are no longer TOXINLOVING.
- - rscadd: EMPs may cause random wires to be pulsed. Please ensure that sensitive
- equipment avoids exposure to heavy electromagnetic pulses.
- jughu:
- - tweak: Changes some cargo export prices
- ma44:
- - tweak: Nanotrasen has improved training of the crew, teaching crewmembers like
- you to unscrew the top off the bottle and pour it into containers like beakers.
- vcordie:
- - bugfix: Loads the HADES carbine with the correct bullet.
- - tweak: The SRM-8 Rocket Pods have been loaded with new explosives designed to
- do maximum damage to terrain. These explosives are less effective on people,
- however.
-2017-01-30:
- BASILMAN YOUR MAIN MAN:
- - rscadd: Added BM SPEEDWAGON THE BEST (AND ONLY) SPACE CAR ON THE MARKET.
- CoreOverload:
- - tweak: Clicking item slot now clicks the item in it.
- Cyberboss:
- - bugfix: Judicial visors now recharge properly
- - bugfix: Gluon grenades now properly freeze turfs
- - bugfix: Revs are now properly jobbanned
- Fox McCloud:
- - tweak: Plant analyzers will now display plant traits
- - tweak: Plant analyzers will now display all of a grown's genetic reagents
- Joan:
- - rscdel: Cutting off legs no longer stuns.
- - tweak: Volt Void now only allows you to fire 4 volt rays instead of 5, and the
- damage of each ray has been reduced to 20, from 25.
- - rscdel: Cyborgs using Volt Void now take damage if they fail to fire.
- - experiment: 'Clockwork scripture can no longer require more components than it
- consumes: This means that most scriptures ""cost"" one less component.'
- MrStonedOne:
- - rscadd: Because of abuse, actions on interfaces are throttled. Some bursting is
- allowed. You will get a message if an action is ignored. Server operators can
- configure this in config.dm
- Tofa01:
- - bugfix: '[Delta] Fixes area names for Deltastation'
- - bugfix: '[Delta] Fixes custodial closet being cold all the time on Deltastation'
- bgobandit:
- - rscadd: Nanotrasen supports the arts. We now offer picture frames!
- coiax:
- - rscdel: The Syndicate "Uplink Implant" now has no TC precharged. You can charge
- it with the use of physical telecrystals. The price has been reduced from 14TC
- to 4TC accordingly. (The uplink implant in the implant bundle still has 10TC).
- - rscadd: Syndicate bombs and nuclear devices now have a minimum timer of 90 seconds.
- - rscadd: Camoflaged HUDs given to head revolutionaries now function the same as
- chameleon glasses in the chameleon kit bundle, giving them an action button
- and far more disguise options.
- - rscadd: Syndicate thermals are also now more like chameleon glasses as well.
- - rscadd: You can regain a use of a soapstone by erasing one of your own messages.
- (This means you can remove a message if you don't like the colour and want to
- try rephrasing it to get a better colour). Erasing someone else's message still
- uses a charge.
- - bugfix: Fixes bugs where you'd spend a charge without engraving anything.
- - bugfix: Fixes a bug where the wrong ckey was entered in the engraving, you won't
- be able to take advantage of the "recharging" on messages made before this change.
-2017-01-31:
- Cyberboss:
- - tweak: The cyborg hugging module can no longer self target
- Joan:
- - tweak: Changed what scriptures and tools Servant cyborgs get; a full list can
- be found on the clockwork cult wiki page.
- RemieRichards:
- - rscadd: Added the ability to choose where your uplink spawns, choose between the
- classic PDA, the "woops you don't actually have a PDA" fallback Radio uplink
- and the brand new Pen uplink!
-2017-02-01:
- Cyberboss:
- - bugfix: AI integrity restorer computer now respects power usage
- - bugfix: Progress bars will now stack vertically instead of on top of each other
- - bugfix: Progress bars will no longer be affected by lighting
- Xhuis:
- - rscadd: You can now fold up bluespace body bags with creatures or objects inside.
- You can't fold them up if too many things are inside, but anything you fold
- up in can be carried around in the object and redeployed at any time.
-2017-02-03:
- Cobby:
- - rscadd: Ghosts will now be informed when an event has been triggered by our lovely
- RNG system.
- Cyberboss:
- - tweak: Firedoors will eventually reseal themselves if left open during a fire
- alarm
- Joan:
- - tweak: Clockwork Marauders have 25% less health, 300 health from 400.
- - wip: The Vitality Matrix scripture is now a Script, from an Application. Its cost
- has been accordingly adjusted.
- - tweak: Vitality Matrices will be consumed upon successfully reviving a Servant.
- They also drain and heal conscious targets slightly slower.
- - wip: The Fellowship Armory scripture is now an Application, from a Script. Its
- cost has been accordingly adjusted.
- - tweak: Fellowship Armory now affects all Servants in view of the invoker, and
- will replace weaker gear and armor with its Ratvarian armor. Also, clockwork
- treads now allow you to move in no gravity like magboots.
- - rscdel: Mania Motors no longer instantly convert people next to them.
- - rscadd: Instead, you have to remain next to them for several seconds, after which
- you will be knocked out, then converted if possible.
- - tweak: Mania Motors now cost slightly less power to run.
- Jordie0608:
- - tweak: Admin notes, memos and watchlist entries now use a generalized system,
- they can all be accessed from the former notes browser.
- - rscadd: Added to this are messages, which allow admins to leave a message for
- players that is delivered to them when they next connect.
- Lexorion:
- - tweak: Laser projectiles have a new sprite! They also have a new effect when they
- hit a wall.
- Sweaterkittens and Joan:
- - rscadd: Ocular Wardens will now provide auditory feedback when they acquire targets
- and deal damage.
- - soundadd: adds ocularwarden-target.ogg, ocularwarden-dot1.ogg and ocularwarden-dot2.ogg
- to the game sound files.
- Tofa01:
- - bugfix: '[Delta] Allows Station Engineers to access Delta Atmospherics Solar Panel
- Array Room.'
- - rscadd: '[Omega] Adds a Massdriver room to chapel on Omegastation.'
- bgobandit:
- - rscadd: All art storage facilities offer construction paper now!
- coiax:
- - rscadd: A victim of a transformation disease will retain their name.
- - tweak: The slime transformation disease can turn you into any colour or age of
- slime.
- - rscadd: The Abductor event can now happen at any time, rather than thirty (30)
- minute plus rounds.
-2017-02-04:
- Cyberboss:
- - bugfix: Modular computers now explode properly
- - bugfix: Emagged holograms can no longer be exported for credits
- - bugfix: Abstract entities no longer feed the singularity
- - tweak: Machine frames will no longer be anchored when created
- Joan:
- - rscadd: Vanguard now shows you how long you have until it deactivates.
- Kor:
- - rscadd: 'By combing two flashlights and cable coil, you can create a new eye implant:
- flashlight eyes. People with flashlights for eyes can not see, but they will
- provide an enormous amount of light to their friends.'
- - rscadd: Valentines day will now randomly pair up crew members on dates. The paired
- crewmembers will get an objective to protect each other at all costs.
- Steelpoint:
- - rscadd: Addition of two security DragNETs to Deltastations, Omegastations and
- Metastations armouries.
- Tofa01:
- - rscadd: '[Delta] Removes space money from gold crate replaces with 3 Gold Bars
- Gold Wrestling belt is still there.'
- - rscadd: '[Delta] Removes space money from silver crate replaces with 5 Silver
- Coins.'
- - bugfix: Fixes incorrect placement of RD modular computer on Metastation.
- WhiteHusky:
- - rscadd: Fields are supported when printing with a modular computer
- - rscadd: PRINTER_FONT is now a variable
- - rscdel: Removed the [logo] tag on Modular computers as the logo no longer exists
- - tweak: New lines on paper are parsed properly
- - tweak: '[tab] is now four non-breaking spaces on papers'
- - tweak: Papers have an additional proc, reload_fields, to allow fields made programmatically
- to be used
- - tweak: 'stripped_input stripped_multiline_input has a new argument: no_trim'
- - bugfix: Modular computers no longer spew HTML when looking at a file, rather it
- is unescaped like it should
- - bugfix: Modular computers no longer show escaped HTML entities when editing
- - bugfix: Modular computers can now propperly read and write from external media
- - bugfix: Modular computers' file browser lists files correctly
- - spellcheck: NTOS File Manager had a spelling mistake; Manage instead of Manager
- coiax:
- - bugfix: Engraved messages can no longer be moved by a gravitational singularity.
- - tweak: The deadchat notification of randomly triggered events now uses the deadsay
- span.
- - rscdel: The wizard spell "Rod Form" does not produce a message in deadchat everytime
- it is used.
-2017-02-05:
- Cyberboss:
- - bugfix: Shuttle docking/round end shouldn't lag as much
- - rscadd: There's a new round end sound!
- Hyena:
- - bugfix: The bible now contains 1 whiskey
- Joan:
- - rscadd: Ratvar-converted AIs become brass-colored, speak in Ratvarian, and cannot
- be carded.
- Kor:
- - rscadd: Eyes are now organs. You can remove or implant them into peoples heads
- with organ manipulation surgery. A mob without eyes will obviously have trouble
- seeing.
- - rscadd: All special eye powers are now tied to their respective organs. For example,
- this means you can harvest an alien or shadow persons eyes, have them implanted,
- and gain toggle-able night vision.
- - rscadd: All cybernetic eye implants are now cybernetic eyes, meaning you must
- replace the patients organic eyes. HUD implants are still just regular implants.
- Lzimann:
- - rscadd: Tesla zaps can now generate an energy ball if they zap a tesla generator!
- Sweaterkittens:
- - rscadd: The station's Plasmamen have been issued a new production of envirosuits.
- The most notable change aside from small aesthetic differences is the addition
- of an integrated helmet light.
- - tweak: Tweaked a few of the Plasma Envirosuit sprites to be more fitting thematically.
- Swindly:
- - bugfix: Saline-glucose solution can no longer decrease blood volume
- - rscadd: Cyborg hyposprays can now dispense saline-glucose solution
- - rscadd: Saline-glucose solution now increases blood volume when it heals
- coiax:
- - bugfix: The mulligan reagent can now be created with 1u stable mutation toxin
- + 1u unstable mutagen.
- - rscdel: Tesla balls cannot dust people near grounding rods.
- - rscadd: Soapstones/chisel/magic markers/chalk can remove messages for free. Removing
- one of your own messages still grants a use.
- - rscadd: The Janitor starts with a dull soapstone for removing unwanted messages.
- xmikey555:
- - tweak: The tesla engine no longer destroys energy ball generators.
-2017-02-06:
- Xhuis:
- - rscadd: Traitor janitors can now order EZ-clean grenades for 6 telecrystals per
- bundle. They function like normal cleaning grenades with an added "oh god my
- face is melting" effect, and can also be found in surplus crates.
-2017-02-07:
- Cyberboss:
- - bugfix: Wire, atmos, and disposal networks no longer work across hyperspace when
- on the border of a shuttle
- - bugfix: Implants that work on death will now work for simple_animals
- - bugfix: The target moving while being implanted will no longer continue the implant
- - bugfix: Implanters now show progress bars as they were intended to
- - bugfix: Pipe painters are no longer aggressive
- - bugfix: Carding the AI will now stop a doomsday device
- - rscadd: The job subsystem now loads instantly. No more waiting to set your occupation
- prefs!
- - bugfix: The rare case of duping your inventory at roundstart has been fixed
- - bugfix: Self deleting stackable items are fixed
- Dannno:
- - tweak: We've switched to a new brand of colored jumpsuit.
- JJRcop:
- - tweak: Adds 4% chance when assigning a valentines day date to also assign someone
- else to the same date, but your date will still have you as their only date.
- Poojawa:
- - bugfix: '[Delta] Active turfs down from 300+'
- - bugfix: '[Delta] Janitor closet isn''t 2.7K anymore'
- - bugfix: '[Delta] Various pipe fixes'
- RemieRichards:
- - rscadd: Added a new checmial, Skewium, it's produced by mixing rotatium, plasma
- and sulphuric acid in the ratio 2:2:1, which results in 5 Skewium.
- Swindly:
- - bugfix: Robotic eyes can no longer be eaten
- Tofa01:
- - bugfix: Fixes grammar issue when changing someones appearance via plastic surgery.
- - tweak: '[OmegaStation] Allows Chaplain job to be selectable.'
- - bugfix: '[Omega] Fixes Overpressurization In Mass Driver Room'
- Xhuis:
- - rscadd: Traitor clowns can now buy a reverse revolver. I'll leave it up to you
- to guess what it does. Honk.
- iamthedigitalme:
- - imageadd: Legion has a new, animated sprite.
- kevinz000:
- - rscadd: 'ADMINS: SDQL2 has been given some new features!'
- - bugfix: SDQL2 now gives you an exception on runtime instead of flooding server
- runtime logs.
- - rscadd: SDQL2 now supports usr, which makes that variable reference to whatever
- mob you are in, src, which targets the object it is being called on itself,
- and marked, which targets the datum marked by the admin calling it. Also, it
- supports hex references (the hex number at the top of a VV panel) in {}s, so
- you can target nearly anything! Also, global procs are supported by global.[procname](args),
- for CALL queries.
- - bugfix: SDQL2 can no longer edit /datum/admins or /datum/admin_rank, and is protected
- from changing x/y/z of a turf and anything that would cause broken movement
- for movable atoms.
- - rscadd: SDQL2 can now get list input with [arg1, arg2]!
- - experiment: Do '""' to put strings inside of SDQL2 or it won't work.
-2017-02-09:
- Cyberboss:
- - bugfix: Certain firedoors that should have closed during an alarm now actually
- close
- - soundadd: You can now knock on firedoors
- - bugfix: Supermatter in a closet/crate will now properly fee the singulo
- - bugfix: Paper planes can be unfolded again
- - bugfix: Paper planes can be stamped properly
- Joan:
- - tweak: Impaling someone with a sharp item by pulling them with a changeling Tentacle
- now does significantly less damage and stuns for less time.
- Jordie0608:
- - rscadd: Admins can now filter watchlist entries to only users who are connected.
- - tweak: Messages no longer delete themselves when sent.
- Kor:
- - rscadd: The limb grower has been replaced with a box of surplus limbs. Visit robotics
- or harvest limbs from another person if you want quality.
- Reeeeimstupid:
- - rscadd: Silly Abductee objectives. Try not to go crazy trading life stories with
- Lord Singulo.
- Tofa01:
- - tweak: Removes virology access to jobs including Medical Doctor, Geneticist and
- Chemist.
- - tweak: '[Delta] Changes NW supermatter filter to filter O2 instead of N2'
- - rscadd: '[Delta] Adds wardrobes to Dorms & Arrivals Shuttle'
- - rscadd: '[Delta] Adds access buttons to virology doors for extra security'
- - rscadd: '[Delta] Adds bolt door button to all dorms'
- - rscadd: '[Delta] Adds three pairs of optical meson scanners to supermatter room'
- - rscadd: '[Delta] Adds a disk fridge to botany'
- - rscadd: '[Delta] Adds a cake hat to the bar'
- - bugfix: '[Delta] Fixes misplaced station intercom in Supermatter SMES room'
- XDTM:
- - rscadd: A Law Removal module can be build in RnD. It can remove a specified core
- or freeform law.
- - tweak: 'When stating laws, silicons won''t skip a number when hiding laws. (example:
- 1. Law 1; 2. Law 2; 3. Law 4 if you choose not to state Law 3)'
- Xhuis:
- - rscadd: Artistic toolboxes now spawn in maintenance and possess various supplies
- for wire art and crayon art.
- - rscadd: Traitors can now obtain His Grace. Chaplains can buy it for 20 TC, or
- it can be found in a surplus crate.
- - rscadd: Soapstone messages can now be rated! Attack the message with your hand
- to rate it positive or negative. Anyone can see the rating, and you cannot rate
- a message more than once, even across rounds.
- - rscdel: Soapstones no longer have a write time.
- - tweak: Soapstones now have a fixed vocabulary to write messages with.
- chanoc1:
- - tweak: The salt and pepper shakers have new sprites.
- coiax:
- - rscadd: Added metal rods and floor tiles to Standard cyborgs.
- - rscadd: Added a remote signaling device to Engineering cyborg.
- - rscadd: Adds a 'Guardian of Balance' lawset and AI module, currently admin spawn
- only.
- uraniummeltdown:
- - tweak: Kinetic Accelerator Cosmetic and Tracer Modkits now don't use mod capacity.
- Cosmetic kits change the name of the KA.
-2017-02-10:
- Ausops:
- - rscadd: Air tanks and plasma tanks have been resprited.
- ChemicalRascal:
- - tweak: Pen is able to wind up ruined tapes.
- CoreOverload:
- - rscadd: You can now emag the escape pods to launch them under any alert code.
- - tweak: Shuttle name is no longer displayed on "Status" panel. Instead, you can
- now examine a status screen to see it.
- Cyberboss:
- - bugfix: Simple animals now deathgasp properly again
- - bugfix: Testmerged PRs will no longer duplicate in the list
- - bugfix: Pods and shuttles now have air again
- Joan:
- - experiment: Clockwork Cults must always construct and activate the Ark.
- - imageadd: Updates air tank inhands to match Ausops' new sprites.
- Mekhi Anderson:
- - rscadd: All mobs can now *spin!
- - rscadd: Cyborgs now have handholds. This means you can ride around on them, but
- if you get stunned or hit, you fall off! The cyborg can also throw you off by
- spinning.
- Tofa01:
- - soundadd: Changes fire alarm to make new sound FireAlarm.ogg
- Xhuis:
- - rscdel: The Syndicate will no longer prank their operatives by including reverse
- revolvers in surplus crates.
- coiax:
- - rscadd: A reverse revolver now comes in a box of hugs.
- - rscadd: 'Added a new admin only event: Station-wide Human-level Intelligence.
- Like the random animal intelligence event, but affecting as many animals as
- there are ghosties.'
- - rscadd: The Luxury Shuttle grabs cash in your wallet and backpack, and shares
- approval between the entrance gates.
- - rscadd: The NES Port shuttle now costs 500 credits.
-2017-02-11:
- Dannno:
- - tweak: hahaha I switched your toolboxes you MORONS
- Kor:
- - rscadd: Killing bubblegum now unlocks a new shuttle for purchase.
- Lzimann:
- - tweak: Hardsuit built-in jetpacks no longer have a speed boost.
- Pyko:
- - bugfix: Fixed legit posters and map editing official/serial number for poster
- decals.
- Tofa01:
- - bugfix: '[Delta] Fixes doors walls and windows being incorrectly placed due to
- mapmerge issues.'
- - bugfix: '[Box] Fixes access levels for HOP shutters.'
-2017-02-12:
- AnturK:
- - rscadd: Added Poison Pen to uplink.
- Drunk Musicians:
- - rscadd: Drunk music
- Gun Hog:
- - rscadd: Nanotrasen Engineering has devised a construction console to assist with
- building the Auxiliary Mining Base, usually located near a station's Arrivals
- hallway. A breakthrough in bluespace technology, this console employs an advanced
- internal Rapid Construction Device linked to a camera-assisted holocrane for
- rapid, remote construction!
- Lzimann:
- - bugfix: MMIs/posibrains works with mechas again
- RandomMarine:
- - rscadd: The Russians have expanded to the shuttle business. A new escape shuttle
- is available for purchase.
- Sweaterkittens:
- - tweak: Plasmamen burn damage multiplier reduced to 1.5x from 2x
- coiax:
- - rscdel: Removes the STV5 shuttle from purchase.
- - rscadd: Swarmers no longer consume the deep fryer, since they have too much respect
- for the potential fried foods it can produce.
- - rscadd: The clown's survival/internals box is now a box of hugs. Dawww.
-2017-02-13:
- ChemicalRascal:
- - tweak: Delta station brig cell chairs have been replaced with beds. One bed per
- cell, no funny business.
- Cyberboss:
- - bugfix: Simple animals that are deleted when killed will now deathrattle
- - bugfix: Fixed Alt-click stack duplication
- Joan:
- - imageadd: Updated the back and belt sprites for airtanks to match the new sprites.
- Kor:
- - rscadd: Mobile pAIs are now slower than humans.
- Swindly:
- - rscadd: Added Nuka Cola as a premium item in Robust Softdrinks
- Tofa01:
- - bugfix: '[Delta] Fixes double windoor on chemistry windows.'
- - tweak: Lowered volume of fire alarm sound also makes it more quiet.
- coiax:
- - rscadd: Added an admin only tool, the life candle. Touch the candle, and when
- you die, you'll respawn shortly afterwards. Touch it again to stop. Used for
- testing, thunderdome brawls and good old fashioned memery.
- - bugfix: Fried foods no longer shrink to miniature size.
-2017-02-14:
- Cyberboss:
- - bugfix: Fixed unequipping items while stunned
- - bugfix: Fixed various things deleting when unequipped
- - bugfix: Fixed tablet ID slots deleting cards
- - bugfix: Fixed water mister nozzle getting stuck in hands
- - tweak: Title music now starts immediately upon login
- - tweak: You can no longer sharpen energy weapons
- Joan:
- - tweak: Mania Motors are overall less effective and only affect people who can
- see the motor.
- - tweak: Mania Motors have slightly more health; 100, from 80.
- MrStonedOne:
- - tweak: Station time is now always visible in the status tab.
- - tweak: Both server time and station time now displays seconds so you can actively
- see how game time (ByondTime[tm]) is progressing along side real time.
- - rscadd: Added a time dilation tracker, this allows you to better understand how
- time will progress in game. It shows the time dilation percent for the last
- minute as well as some rolling averages.
- RandomMarine:
- - tweak: Pre-made charcoal pills now contain 10 units instead of 50. The amount
- of pills inside of toxin first aid kits and the smartfridge have been increased
- to compensate. Keep in mind that each ten unit pill recovers 100 points of toxin
- damage and purges 50 units of other reagents.
- Steelpoint:
- - tweak: All Drones now have a walking animation.
- Tofa01:
- - bugfix: '[Delta] Fixes space cleaner being empty in brig medbay'
- - bugfix: '[Delta] Fixes some areas that are not radiation proof'
- - bugfix: '[Meta] Fixes Atmospherics Freezer Spawning As A Heater'
- uraniummeltdown:
- - rscadd: Window Flashing is now a preference
- - rscadd: Your game window will flash when alerted as a ghost. This includes being
- revived by defibs/cloning and events such as borers, swarmers, revenant, etc.
-2017-02-16:
- Cyberboss:
- - rscadd: Test merged PRs are now more detailed
- Steelpoint:
- - rscadd: The Head of Security's Hardsuit is now equipped with a inbuilt Jetpack.
- coiax:
- - rscadd: The Hyperfractal Gigashuttle is now purchasable for 100,000 credits. Help
- Centcom by testing this very safe and efficient shuttle design. (Terms and conditions
- apply.)
- - rscadd: The changeling power "Anatomic Panacea" now causes the changeling to vomit
- out zombie infections, along with headslugs and xeno infections, as before.
- - bugfix: The main CTF laser gun disappears when dropped on the floor.
-2017-02-17:
- Arianya:
- - tweak: The Labour Camp rivet wall has been removed!
- - spellcheck: Fixed some typos in Prison Ofitser's description.
- Cobby:
- - experiment: Flashes have been rebalanced to be more powerful
- Cyberboss:
- - bugfix: Rack construction progress bars will no longer be spammed
- - tweak: The round start timer will count down during subsystem initialization
- - tweak: Total subsystem initialization time will now be displayed
- Joan:
- - rscdel: His Grace no longer globally announces when He is awakened or falls to
- sleep.
- - rscdel: His Grace is not a toolbox, even if He looks like one.
- - experiment: His Grace no longer requires organs to awaken.
- - tweak: His Grace now gains 4 force for each victim consumed, always provides stun
- immunity, and will, generally, take longer to consume His owner.
- - experiment: His Grace must be destroyed to free the bodies within Him.
- - experiment: Dropping His Grace while He is awake will cause you to suffer His
- Wrath until you hold Him again.
- - rscadd: His Grace becomes highly aggressive after consuming His owner, and will
- hunt His own prey.
- - experiment: The Ark of the Clockwork Justicar now only costs 3 of each component
- to summon, but must consume an additional 7 of each component before it will
- activate and start counting down.
- - rscadd: The presence of the Ark will be immediately announced, though the location
- will still only be announced after it has been active and counting down for
- 2 minutes.
- - tweak: The Ark also requires an additional invoker to invoke.
- Lobachevskiy:
- - bugfix: Fixed glass shards affecting buckled and flying mobs
- MrStonedOne:
- - experiment: The game will now force hardware rendering on for all clients.
- Nienhaus:
- - rscadd: Drying racks have new sprites.
- Swindly:
- - rscadd: Trays can now be used to insert food into food processors
- Thunder12345:
- - bugfix: It's ACTUALLY possible to pat people on the head now
- WJohn:
- - imageadd: Improved blueshift sprites, courtesy of Nienhaus.
- XDTM:
- - rscadd: Bluespace Crystals are now a material that can be inserted in Protolathes
- and Circuit Printers. Some items now require Bluespace Mesh.
- - rscadd: Bluespace Crystal can now be ground in a reagent grinder to gain bluespace
- dust. It has no uses, but it teleports people if splashed on them, and if ingested
- it will occasionally cause teleportation.
- coiax:
- - rscadd: Engraved messages now have a UI, which any player, living or dead can
- access. See when the message was engraved, and upvote or downvote accordingly.
- - rscadd: Admins have additional options with the UI, seeing the player ckey, original
- character name, and the ability to outright delete messages at the press of
- a button.
- kevinz000:
- - bugfix: Flightsuits actually fly over people
- - bugfix: Flightsuits don't interrupt pulls when you pass through doors
-2017-02-18:
- Cyberboss:
- - imageadd: New round end animation. Inspired by @Iamgoofball
- Gun Hog:
- - rscadd: The Aux Base console now controls turrets made by the construction console.
- - rscadd: The Aux Base may now be dropped at a random location if miners fail to
- use the landing remote.
- - rscadd: The mining shuttle may now dock at the Aux Base's spot once the base is
- dropped.
- - tweak: Removed access levels on the mining shuttle so it can be used at the public
- dock.
- - tweak: The Aux Base's turrets now fire through glass. Reminder that the turrets
- need to be installed outside the base for full damage.
- - rscadd: Added a base construction console to Delta Station.
- Mysterious Basilman:
- - rscadd: More powerful toolboxes are active in this world...
- Scoop:
- - tweak: Condimasters now correctly drop their items in front of their sprite.
- Tofa01:
- - bugfix: Re-Arranges And Extends Pubby Escape Hallway To Allow Larger Shuttle To
- Dock
- - bugfix: '[Meta] Fixes top left grounding rod from being destroyed by the Tesla
- engine.'
- TrustyGun:
- - rscadd: Traitor mimes can now learn two new spells for 15 tc.
- - rscadd: The first, Invisible Blockade, creates a 3x1 invisible wall.
- - rscadd: The second, Finger Guns, allows them to shoot bullets out of their fingers.
- kevinz000:
- - rscadd: You can now ride piggyback on other human beings, as a human being! To
- do so they must grab you aggressively and you must climb on without outside
- assistance without being restrained or incapacitated in any manner. They must
- also not be restrained or incapacitated in any manner.
- - rscadd: If someone is riding on you and you want them to get off, disarm them
- to instantly floor them for a few seconds! It's pretty rude, though.
- rock:
- - soundadd: you can now harmlessly slap somebody by aiming for the mouth on disarm
- intent.
- - soundadd: you can only slap somebody who is unarmed on help intent, restrained,
- or ready to slap you.
-2017-02-19:
- Basilman:
- - rscadd: some toolboxes, very rarely, have more than one latch
- Joan:
- - rscadd: You can now put components, and deposit components from slabs, directly
- into the Ark of the Clockwork Justicar provided it actually requires components.
- - experiment: Taunting Tirade now leaves a confusing and weakening trail instead
- of confusing and weakening everyone in view.
- - tweak: Invoking Inath-neq/Nzcrentr is now 33% cheaper and has a 33% lower cooldown.
- Tofa01:
- - rscdel: '[Delta] Removes SSU From Mining Equipment Room'
- - tweak: Changes centcomm ferry to require centcomm general access instead of admin
- permission.
- coiax:
- - rscadd: Nuke ops syndicate cyborgs have been split into two seperate uplink items.
- Medical cyborgs now cost 35 TC, assault cyborgs now cost 65 TC.
- grimreaperx15:
- - tweak: Blood Cult Pylons will now rapidly regenerate any nearby cultists blood,
- in addition to the normal healing they do.
- ma44:
- - tweak: Intercepted messages from a lavaland syndicate base reveals they have additional
- grenade and other miscellaneous equipment.
- uraniummeltdown:
- - rscadd: Shuttle engines have new sprites.
-2017-02-20:
- Cyberboss:
- - bugfix: The frequncy fire alarms play at is now consistent
- MrStonedOne:
- - tweak: bluespace ore cap changed from 100 ores to 500
- Tofa01:
- - tweak: '[Meta] Replaces orange jumpsuit in holding cell with prisoner jumpsuits'
- XDTM:
- - tweak: Repairing someone else's robotic limb is instant. Repairing your own robotic
- limbs will still take time.
- - tweak: Repairing limbs with cable or welding will now heal more.
- Xhuis:
- - bugfix: Medipens are no longer reusable.
-2017-02-21:
- Cyberboss:
- - bugfix: You can now unshunt as a malfunctioning AI again
- Kor:
- - bugfix: You will now retain your facing when getting pushed by another mob.
- Tofa01:
- - bugfix: '[Z2] Fixed Centcomm shutters to have proper access levels for inspectors
- and other Admin given roles'
- coiax:
- - rscadd: Refactors heart attack code, a cardiac arrest will knock someone unconscious
- and kill them very quickly.
- - rscadd: Adds corazone, an anti-heart attack drug, made by mixing 2 parts Phenol,
- 1 part Lithium. A person with corazone in their system will not suffer any negative
- effects from missing a heart. Use it during surgery.
- - rscadd: Abductor glands are now hearts, the abductor operation table now automatically
- injects corazone to prevent deaths during surgery. The gland will restart if
- it stops beating.
- - bugfix: Cloning pods always know the name of the person they are cloning.
- - rscadd: You can swipe a medical ID card to eject someone from the cloning pod
- early. The cloning pod will announce this over the radio.
- - rscdel: Fresh clones have no organs or limbs, they gain them during the cloning
- process. Ejecting a clone too early is not recommended. Power loss will also
- eject a clone as before.
- - rscdel: An ejected clone will take damage from being at critical health very quickly
- upon ejection, rather than before, where a clone could be stable in critical
- for up to two minutes.
- - rscadd: Occupants of cloning pods do not interact with the air outside the pod.
- uraniummeltdown:
- - bugfix: All shuttle engines should now be facing the right way
-2017-02-22:
- AnonymousNow:
- - rscadd: Added Medical HUD Sunglasses. Not currently available on-station, unless
- you can convince Centcom to send you a pair.
- Cyberboss:
- - bugfix: Spawning to the station should now be a less hitchy experience
- MrPerson:
- - experiment: 'Ion storms have several new additions:'
- - rscadd: 25% chance to flatly replace the AI's core lawset with something random
- in the config. Suddenly the AI is Corporate, deal w/ it.
- - rscadd: 10% chance to delete one of the AI's core or supplied laws. Hope you treated
- the AI well without its precious law 1 to protect your sorry ass.
- - rscadd: 10% chance that, instead of adding a random law, it will instead replace
- one of the AI's existing core or supplied laws with the ion law. Otherwise,
- it adds the generated law as normal. There's still a 100% chance of getting
- a generated ion law.
- - rscadd: 10% chance afterwards to shuffle all the AI's laws.
- TalkingCactus:
- - bugfix: New characters will now have their backpack preference correctly set to
- "Department Backpack".
- Tofa01:
- - bugfix: '[Delta] Fixes missing R&D shutter near public autolathe'
- Xhuis:
- - tweak: Highlanders can no longer hide behind chairs and plants.
- - tweak: Highlanders no longer bleed and are no longer slowed down by damage.
-2017-02-23:
- Cyberboss:
- - bugfix: Fixed a bug where the fire overlay wasn't getting removed from objects
- - bugfix: The graphical delays with characters at roundstart are gone
- - bugfix: The crew manifest is working again
- - rscadd: Admins can now asay with ":p" and dsay with ":d"
- Dannno:
- - imageadd: Robust Softdrinks LLC. has sent out new vendies to the stendy.
- Joan:
- - rscdel: Off-station and carded AIs no longer prevent Judgement scripture from
- unlocking.
- Nienhaus:
- - tweak: Updates ammo sprites to the new perspective.
- Tofa01:
- - bugfix: Disables sound/frequency variance on cryo tube alert sound
- coiax:
- - rscadd: Nanotrasen reminds its employees that they have ALWAYS been able to taste.
- Anyone claiming that they've recently only just gained the ability to taste
- are probably Syndicate agents.
-2017-02-24:
- MrStonedOne:
- - rscdel: Limit on Mining Satchel of Holding Removed
- - tweak: Dumping/mass pickup/mass transfer of items is now lag checked
- - rscadd: Dumping/mass pickup/mass transfer of items has a progress bar
-2017-02-25:
- AnonymousNow:
- - rscadd: Nerd Co. has sent pairs of thicker prescription glasses out to Nanotrasen
- stations, for your local geek to wear.
- Basilman:
- - rscadd: New box sprites
- Robustin:
- - tweak: Hulks can no longer use pneumatic cannons or flamethrowers
- Tofa01:
- - rscadd: '[All Maps] The new and improved Centcom transportation ferry version
- 2.0 is out now!'
- coiax:
- - rscadd: Cargo can now order plastic sheets to make plastic flaps. No doubt other
- uses for plastic will be discovered in the future.
- - rscadd: To deconstruct plastic flaps, unscrew from the floor, then cut apart with
- wirecutters. Plastic flaps have examine tips like reinforced walls.
- uraniummeltdown:
- - rscadd: Science crates now have new sprites
-2017-02-26:
- Ausops:
- - imageadd: New sprites for water, fuel and hydroponics tanks.
- Joan:
- - experiment: 'Clockwork objects are overall easier to deconstruct:'
- - wip: Clockwork Walls now take 33% less time to slice through, Brass Windows now
- work like non-reinforced windows, and Pinion Airlocks now have less health and
- only two steps to decon(wrench, then crowbar).
- - rscadd: EMPing Pinion Airlocks and Brass Windoors now has a high chance to open
- them and will not shock or bolt them.
- - rscadd: Anima fragments will very gradually self-repair.
- Tofa01:
- - bugfix: '[Omega] Fixes ORM input and output directions'
- - bugfix: Fixes space bar kitchen freezer access level
- - bugfix: Fixes giving IDs proper access for players who spawn on a ruin via a player
- sleeper/spawners
- - bugfix: '[Delta] Fixes varedited tiles causing tiles to appear as if they have
- no texture'
- - bugfix: Fixes robotic limb repair grammar issue
-2017-02-27:
- Kor, Jordie0608 and Tokiko1:
- - rscadd: Singularity containment has been replaced on box, meta, and delta with
- a supermatter room. The supermatter gives ample warning when melting down, so
- hopefully we'll see fewer 15 minute rounds ended by a loose singularity.
- - rscadd: Supermatter crystals now collapse into singularities when they fail, rather
- than explode.
- Tofa01:
- - bugfix: Stops AI And Borgs From Interfacing With Ferry Console
- TrustyGun:
- - imageadd: Box sprites are improved.
- WJohnston:
- - imageadd: New and improved BRPED beam. The old one was hideous.
- coiax:
- - rscadd: Drone shells are now points of interest in the orbit list.
- - rscadd: Derelict drone shells now spawn with appropriate headgear.
-2017-02-28:
- Cyberboss:
- - tweak: You will no longer be shown empty memories when the game starts
- - bugfix: Built APCs now work again
- - bugfix: Borg AI cameras now work again
- Joan:
- - rscadd: Anima Fragments now slam into non-Servants when bumping. This will ONLY
- happen if the fragment is not slowed, and slamming into someone will slightly
- damage the fragment and slow it severely.
- Lzimann:
- - tweak: Communications console can also check the ID the user is wearing.
- Supermichael777:
- - tweak: The button now has a five second delay when detonating bombs
- XDTM:
- - rscadd: You can now change the input/output directons for Ore Redemption Machines
- by using a multitool on them with the panel open.
- - rscadd: Diagnostic HUDs can now see if airlocks are shocked.
-2017-03-01:
- Cyberboss:
- - bugfix: Lobby music is no longer delayed
-2017-03-02:
- Gun Hog:
- - tweak: Advanced camera, Slime Management, and Base Construction consoles may now
- be operated by drones and cyborgs.
- Robustin:
- - rscadd: The syndicate power beacon will now announce the distance and direction
- of any engines every 10 seconds.
- Steelpoint:
- - rscadd: Robotics and Mech Bay have seen a mapping overhaul on Boxstation.
- - rscadd: A cautery surgical tool has been added to the Robotics surgical area on
- Boxstation.
- XDTM:
- - tweak: Hallucinations have been modified to increase the creepiness factor and
- reduce the boring factor.
- - rscadd: Added some new hallucinations.
- - bugfix: Fixed a bug where the singularity hallucination was stunning for longer
- than intended and leaving the fake HUD crit icon permanently.
- coiax:
- - rscadd: Ghosts are polled if they want to play an alien larva that is about to
- chestburst. They are also told who is the (un)lucky victim.
- - bugfix: Clones no longer gasp for air while in cloning pods.
- - rscadd: Adds a new reagent, "Mime's Bane", that prevents all emoting while it
- is in a victim's system. Currently admin only.
- - experiment: Mappers now have an easier time adding posters, and specifying whether
- they're random, random official, random contraband or a specific poster.
- - rscdel: Posters no longer have serial numbers when rolled up; their names are
- visible instead.
- kevinz000:
- - rscadd: You can now craft pressure plates.
- - rscadd: Pressure plates are hidden under the floor like smuggler satchels are,
- but you can attach a signaller to them to have it signal when a mob passes over
- them!
- - experiment: Bomb armor is now effective in lessening the chance of being knocked
- out by bombs.
-2017-03-03:
- Cyberboss:
- - tweak: You can now repair shuttles in transit space
- Incoming5643:
- - imageadd: 'Server Owners: There is a new system for title screens accessible from
- config/title_screen folder.'
- - rscadd: This system allows for multiple rotating title screens as well as map
- specific title screens.
- - rscadd: It also allows for hosting title screens in formats other than DMI.
- - rscadd: 'See the readme.txt in config/title_screen for full details. remove: The
- previous method of title screen selection, the define TITLESCREEN, has been
- depreciated by this change.'
- Sligneris:
- - imageadd: Updated sprites for the small xeno queen mode
-2017-03-04:
- Cyberboss:
- - bugfix: You can build lattice in space again
- Hyena:
- - tweak: Detective revolver/ammo now starts in their shoulder holster
- Joan:
- - tweak: Weaker cult talismans take less time to imbue.
- PJB3005:
- - rscadd: Rebased to /vg/station lighting code.
- Supermichael777:
- - rscadd: Grey security uniforms have unique names and descriptions
- Tofa01:
- - rscadd: Adds the new Centcomm Raven Battlecruiser to the purchasable shuttle list
- buy now get one free!
- coiax:
- - rscadd: CTF players start with their helmet toggled off, better to see the whites
- of their opponents eyes. Very briefly.
- - bugfix: Existing CTF barricades are repaired between rounds, and deploy instantly
- when replaced.
- - tweak: Healing non-critical CTF damage is faster. Remember though, if you drop
- into crit, YOU DIE.
- - rscadd: Admin ghosts can just click directly on the CTF controller to enable them,
- in addition to using the Secrets panel.
- - bugfix: Cyborg radios can no longer have their inaccessible wires pulsed by EMPs.
-2017-03-06:
- Cyberboss:
- - experiment: Map rotation has been made smoother
- Gun Hog:
- - bugfix: The Aux Base Construction Console now directs to the correct Base Management
- Console.
- - bugfix: The missing Science Department access has been added to the Auxiliary
- Base Management Console.
- Hyena:
- - rscdel: Space bar is out of bussiness
- MrStonedOne:
- - bugfix: patched a hacky workaround for /vg/lights memory leaking crashing the
- server
- Penguaro:
- - bugfix: Changed DIR of Gas Filter for O2 in Waste Loop from 1 to 4
- Sligneris:
- - imageadd: '''xeno queen'' AI hologram now actually uses the xeno queen sprite
- as a reference'
- Tofa01:
- - bugfix: '[Omega] Fixes missing walls and wires new dock to the powergrid'
- XDTM:
- - rscadd: Changelings can now click their fake clothing to remove it, without needing
- to drop the full disguise.
- coiax:
- - rscadd: The Bardrone and Barmaid are neutral, even in the face of reality altering
- elder gods.
-2017-03-07:
- Supermichael777:
- - rscadd: Wannabe ninjas have been found carrying an experimental chameleon belt.
- The Spider clan has disavowed any involvement.
-2017-03-08:
- Cyberboss:
- - imageadd: Added roundstart animation
- - experiment: Roundstart should now be a smoother experience... again
- - bugfix: You can now scan storage items with the forensic scanner
- - bugfix: Unfolding paper planes no longer deletes them
- - bugfix: Plastic no longer conducts electricity
- - tweak: The map rotation message will only show if the map is actually changing
- Francinum:
- - bugfix: Holopads now require power.
- Fun Police:
- - tweak: Reject Adminhelp and IC Issue buttons have a cooldown.
- Joan:
- - rscadd: Circuit tiles now glow faintly.
- - rscadd: Glowshrooms now have colored light.
- - tweak: Tweaked the potency scaling for glowshroom/glowberry light; high-potency
- plantss no longer light up a huge area, but are slightly brighter.
- Kor:
- - rscadd: People with mutant parts (cat ears) are no longer outright barred from
- selecting command roles in their preferences, but will have their mutant parts
- removed on spawning if they are selected for that role.
- LanCartwright:
- - rscadd: Adds scaling damage to buckshot.
- Robustin:
- - tweak: The DNA Vault has 2 new powers
- - tweak: The DNA Vault requires super capacitors instead of quadratic
- - tweak: Cargo's Vault Pack now includes DNA probes
- Supermichael777:
- - rscadd: Robust Soft Drinks LLC is proud to announce Premium canned air for select
- markets. There is not an air shortage. Robust Soft Drinks has never engaged
- in any form of profiteering.
- TalkingCactus:
- - rscadd: Energy swords (and other energy melee weapons) now have a colored light
- effect when active.
- Tofa01:
- - bugfix: '[All Maps] Fixes syndicate shuttles spawning too close to stations by
- moving their spawn further from the station'
- - rscadd: '[Omegastation] This station now has a syndicate shuttle and syndicate
- shuttle spawn.'
- coiax:
- - rscadd: Wizards now have a new spell "The Traps" in their spellbook. Summon an
- array of temporary and permanent hazards for your foes, but don't fall into
- your own trap(s)!
- - rscadd: Permanent wizard traps can be triggered relatively safely by throwing
- objects across the trap, or examining it at close range. The trap will then
- be on cooldown for a minute.
- - rscadd: Toy magic eightballs can now be found around the station in maintenance
- and arcade machines. Ask your question aloud, and then shake for guidance.
- - rscadd: Adds new Librarian traitor item, the Haunted Magic Eightball. Although
- identical in appearance to the harmless toys, this occult device reaches into
- the spirit world to find its answers. Be warned, that spirits are often capricious
- or just little assholes.
- - rscadd: You only have a headache looking at the supermatter if you're a human
- without mesons.
- - rscadd: The supermatter now speaks in a robotic fashion.
- - rscadd: Admins have a "Rename Station Name" option, under Secrets.
- - rscadd: A special admin station charter exists, that has unlimited uses and can
- be used at any time.
- - rscadd: Added glowsticks. Found in maintenance, emergency toolboxes and Party
- Crates.
- kevinz000:
- - rscadd: The Syndicate reports a breakthrough in chameleon laser gun technology
- that will disguise its projectiles to be just like the real thing!
-2017-03-10:
- Cyberboss:
- - bugfix: You should no longer be seeing entities with `\improper` in front of their
- name
- - rscadd: The arrivals shuttle will now ferry new arrivals to the station. It will
- not depart if any intelligent living being is on board. It will remain docked
- if it is depressurized.
- - tweak: You now late-join spawn buckled to arrivals shuttle chairs
- - tweak: Ghost spawn points have been moved to the center of the station
- - tweak: Departing shuttles will now try and shut their docking airlocks
- - bugfix: The arrivals shuttle airlocks are now properly cycle-linked
- - bugfix: You can now hear hyperspace sounds outside of shuttles
- - experiment: The map loader is faster
- - tweak: Lavaland will now load instantly when the game starts
- Jordie0608:
- - tweak: The Banning Panel now organises search results into pages of 15 each.
- XDTM:
- - bugfix: Slimes can now properly latch onto humans.
- - bugfix: Slimes won't aggro neutral mobs anymore. This includes blood-spawned gold
- slime mobs.
- - rscadd: Clicking on a tile with another tile and a crowbar in hand directly replaces
- the tile.
- Xhuis:
- - imageadd: Ratvar and Nar-Sie now have fancy colored lighting!
- coiax:
- - rscadd: Wizards can now use their magic to make ghosts visible to haunt the crew,
- and possibly attempt to betray the wizard.
- - rscadd: When someone dies, if their body is no longer present, the (F) link will
- instead jump to the turf they previously occupied.
- - bugfix: Stacks of materials will automatically merge together when created. You
- may notice differences when ejecting metal, glass or using the cash machine
- in the vault.
- - rscadd: You can find green and red glowsticks in YouTool vending machines.
- fludd12:
- - bugfix: Modifying/deconstructing skateboards while riding them no longer nails
- you to the sky.
- lordpidey:
- - rscadd: Glitter bombs have been added to arcade prizes.
-2017-03-11:
- AnturK:
- - rscadd: Traitors now have access to radio jammers for 10 TC
- Hyena:
- - bugfix: fixes anti toxin pill naming
- Joan:
- - tweak: Window construction steps are slightly faster; normal windows now take
- 6 seconds with standard tools, from 7 and reinforced windows now take 12 seconds
- with standard tools, from 14.
- - tweak: Brass windows take 8 seconds with standard tools, from 7.
- - rscadd: Added Shadowshrooms as a glowshroom mutation. They do exactly what you'd
- expect.
- - rscdel: Removed His Grace ascension.
- PKPenguin321:
- - tweak: Cryoxadone's ability to heal cloneloss has been greatly reduced.
- - rscadd: Clonexadone has been readded. It functions exactly like cryoxadone, but
- only heals cloneloss, and at a decent rate. Brew it with 1 part cryoxadone,
- 1 part sodium, and 5 units of plasma for a catalyst.
- Penguaro:
- - tweak: Adjusted table locations
- - tweak: Moved chair and Cargo Tech start location
- - tweak: Moved filing cabinet
- - rscdel: Removed Stock Computer
- Tofa01:
- - bugfix: '[Meta] Fixes Supermatter Shutters Not Working'
- coiax:
- - rscadd: Swarmer lights are coloured cyan.
- kevinz000:
- - bugfix: Deadchat no longer has huge amount of F's.
-2017-03-12:
- JStheguy:
- - imageadd: Changed Desert Eagle sprites, changed .50 AE magazine sprites, added
- Desert Eagle magazine overlay to icons/obj/guns/projectile.dmi.
- - tweak: The empty Desert Eagle sprite now only displays on an empty chamber. The
- existence or lack thereof of the magazine is rendered using an overlay instead.
- Lzimann:
- - tweak: Braindead has a more intuitive message
- coiax:
- - rscdel: A cloner that is EMP'd will merely eject the clone early, rather than
- gibbing it. Emagging the cloner will still gib the clone.
-2017-03-13:
- Cyberboss:
- - tweak: You must now be on any intent EXCEPT help to weld an airlock shut
- - rscadd: You can now repair airlocks with welding tools on help intent (broken
- airlocks still need their wires mended though)
- Cyberboss, Bgobandit, and Yogstation:
- - rscadd: The HoP can now prioritze roles for late-joiners
- Every coder, player, and admin in Space Station 13:
- - rscadd: Adds the Tomb Of The Unknown Employee to Central Command,
- - rscadd: Rest in peace, those who died after contributing to Space Station 13.
- Hyena:
- - bugfix: Surplus leg r/l name fixed
- - bugfix: You can now carry honey in plant bags
- Lordpidey:
- - bugfix: Devils can no longer break into areas with sheer force of disco funk
- - rscadd: The pitchfork of an ascended devil can now break down walls.
- - rscadd: Hell has decided to at least clothe it's devils when sending them a brand
- new body.
- - rscadd: Pitchforks glow red now.
- Penguaro:
- - rscdel: '**Engineering** - Removed Tables, paper bin, and pen'
- - rscadd: '**Engineering** - Replaced with Welder and Electrical Lockers'
- - rscadd: '**Engineering** - Moved First-Aid Burn kit to Engineering Foyer'
- - tweak: '**Chapel** - Replaced one Window with Win-Door for Coffin Storage'
- Space Bicycle Consortium:
- - bugfix: Bicycles now only cost 10,000 yen, down from 1,000,000 yen.
- coiax:
- - rscadd: The egg spawner on Metastation will generate a station message and inform
- the admins if an egg is spawned. (It's only a two percent chance, but live in
- hope.)
- - rscadd: Glowsticks can now be found in "Swarmer Cyan" colors.
-2017-03-14:
- Joan:
- - rscadd: Shuttles now have dynamic lighting; you can remove the lights on them
- and use your own lights.
- - tweak: All maps now use Deltastation's fancy syndicate shuttle.
- - tweak: Shadowshrooms of lower potency are much less able to blanket the station
- in darkness.
- PKPenguin321:
- - tweak: Lattices now require wirecutters to deconstruct, rather than welding tools.
-2017-03-15:
- Cyberboss:
- - bugfix: You can no longer depart on the arrivals shuttle by hiding inside things
- Joan:
- - tweak: Proselytizers converting clockwork floors to walls now always take 10 seconds,
- regardless of how fast the proselytizer is.
- - tweak: Clockwork grilles no longer provide CV.
- Penguaro:
- - bugfix: '**Engineering** - Changed Access Level from **24** (_Atmo_) to **10**
- (_Engine_) on **Radiation Shutter Control**'
- TrustyGun:
- - tweak: Traitor Mimes with the finger guns spell now fire 3 bullets at a time,
- as opposed to just 1.
- octareenroon91:
- - rscadd: Allow new reflector frames to be built from metal sheets.
- oranges:
- - rscdel: Removed patting
-2017-03-16:
- BASILMAN YOUR MAIN MAN:
- - rscadd: The BM Speedwagon has been improved both in terms of aesthetics and performance!
- Cyberboss:
- - bugfix: The shield generators in Boxstation Xenobiology now have the correct access
- Joan:
- - rscadd: Cult structures that emitted light now have colored light.
- MrPerson:
- - rscadd: Humans can see in darkness slightly again. This is only so you can see
- where you are when the lights go out.
- MrStonedOne:
- - bugfix: Fixed lighting not updating when a opaque object was deleted
- Penguaro:
- - tweak: Increased Synchronization Range on Exosuit Fabricator
- Tofa01:
- - bugfix: '[Delta] Fixes telecoms temperature and gas mixing / being contaminated.'
- - bugfix: '[Delta] Fixes some doubled up turfs causing items and objects to get
- stuck to stuff'
- - tweak: '[Omega] Makes telecoms room cool down and be cold.'
- Tokiko1:
- - rscadd: Most gases now have unique effects when surrounding the supermatter crystal.
- - tweak: The supermatter crystal can now take damage from too much energy and too
- much gas.
- - rscadd: Added a dangerous overcharged state to the supermatter crystal.
- - rscadd: Readded explosion delaminations, a new tesla delamination and allowed
- the singulo delamination to absorb the supermatter.
- - tweak: The type of delamination now depends on the state of the supermatter crystal.
- - tweak: Various supermatter engine rebalancing and fixes.
- kevinz000:
- - rscadd: SDQL2 now supports outputting proccalls to variables, and associative
- lists
- peoplearestrange:
- - bugfix: Fixed buildmodes full tile window to be correct path
- rock:
- - tweak: if we can have glowsticks in toolvends why not flashlights amirite guys
-2017-03-17:
- BeeSting12:
- - bugfix: Moved Metastation's deep fryer so that the chef can walk all the way around
- the table.
- Cobby:
- - tweak: The gulag mineral ratio has been tweaked so there are PLENTY of iron ore,
- nice bits of silver/plasma, with the negative of having less really high valued
- ores. If you need minerals, it may be a good time to ask the warden now!
- Joan:
- - rscadd: You can now place lights and most wall objects on shuttles.
- Xhuis:
- - rscadd: Added the power flow control console, which allows remote manipulation
- of most APCs on the z-level. You can find them in the Chief Engineer's office
- on all maps.
-2017-03-18:
- Supermichael777:
- - rscadd: Free golems can now buy new ids for 250 points.
- XDTM:
- - rscadd: You can now complete a golem shell with runed metal, if you somehow manage
- to get both.
- - rscadd: Runic golems don't have passive bonuses over golems, but they have some
- special abilities.
- coiax:
- - bugfix: The alert level is no longer lowered by a nuke's detonation.
-2017-03-19:
- BeeSting12:
- - rscadd: Nanotrasen has decided to better equip the box-class emergency shuttles
- with a recharger on a table in the cockpit.
- Cheridan:
- - tweak: The slime created by a pyroclastic anomaly detonating is now adult and
- player-controlled! Reminder that if you see an anomaly alert, you should grab
- an analyzer and head to the announced location to scan it, and then signal the
- given frequency on a signaller!
- Penguaro:
- - bugfix: change access variables for turrets and shield gens
- - bugfix: Box Station - Replaces the smiling table grilles with their more serious
- counterparts.
- coiax:
- - tweak: The Syndicate lavaland base now has a single self destruct bomb located
- next to the Communications Room. Guaranteed destruction of the base is guaranteed
- by payloads embedded in the walls.
- octareenroon91:
- - bugfix: Fixes infinite vaping bug.
- uraniummeltdown:
- - rscadd: Plant data disks have new sprites.
- - bugfix: Fixed Monkey Recycler board not showing in Circuit Imprinter
- - tweak: Kinetic Accelerator Range Mod now takes up 25% space instead of 24%
-2017-03-21:
- ExcessiveUseOfCobblestone:
- - experiment: All core traits [Hydroponics] scale with the parts in the gene machine.
- Time to beg Duke's Guide Read.... I mean RND!
- - tweak: Data disks with genes on them will have just the name of the gene instead
- of the prefix "plant data disk".
- - tweak: If you were unaware, you can rename these disks with a pen. Now, you can
- also change the description if you felt inclined to.
- Joan:
- - experiment: Caches produce components every 70 seconds, from every 90, but each
- other linked, component-producing cache slows down cache generation by 10 seconds.
- Lombardo2:
- - rscadd: The tentacle changeling mutation now changes the arm appearance when activated.
- MrPerson:
- - bugfix: Everyone's eyes aren't white anymore.
- Penguaro:
- - tweak: Box Station - The Vents and Scrubbers for the Supermatter Air Alarm are
- now isolated from the rest of the Air Alarms in Engineering.
- Supermichael777:
- - bugfix: Chasms now smooth properly.
- Tokiko1:
- - tweak: Minor supermatter balancing changes.
- - tweak: Supermatter now announces its damage half as frequently.
- - tweak: Badly unstable supermatter now occasionally zaps nearby engineers and causes
- anomalies to appear nearby, similar to overcharged supermatter.
- XDTM:
- - rscadd: Golem Shells can now be completed with medical gauze or cloth to form
- cloth golems, which are weaker and extremely flammable. However, if they die,
- they turn into a pile of cloth that will eventually re-animate back into full
- health. That is, unless someone lights it on fire.
-2017-03-22:
- BeeSting12:
- - rscadd: Added an autolathe circuit board to deltastation's tech storage.
- - rscadd: Added 49 sheets of metal to deltastation's auxiliary tool storage.
- Iamgoofball:
- - bugfix: Freon no longer bypasses atmos hardsuits.
- Penguaro:
- - rscadd: Meta - Added Tool Belts to Engineering and Engineering Foyer
- - rscdel: Meta - Removed Coffee Machine from Permabrig
- - rscadd: Added Cameras for Supermatter Chamber (to view rad collectors and crystal)
- - tweak: Adjusted Engine Camera Names for Station Consistency
- - bugfix: Adjusted Monitor Names / Networks to view the Engine Cameras
- coiax:
- - rscadd: APCs now glow faintly with their charging lights. So red is not charging,
- blue is charging, green is full. Emagged APCs are also blue. Broken APCs do
- not emit light.
- - rscadd: Alien glowing resin now glows.
-2017-03-23:
- Joan:
- - tweak: Clock cults always have to summon Ratvar, but that always involves a proselytization
- burst.
- - rscdel: The proselytization burst will no longer convert heretics, leaving Ratvar
- free to chase them down.
- - spellcheck: Places that referred to the Ark of the Clockwork Justicar as the "Gateway
- to the Celestial Derelict" have been corrected to always refer to the Ark.
- Penguaro:
- - bugfix: Wizard Ship - Bolts that floating light to the wall.
- XDTM:
- - rscadd: Medical Gauze now stacks up to 12
- - bugfix: Pressure plates are now craftable.
- bgobandit:
- - tweak: Alt-clicking a command headset toggles HIGH VOLUME mode.
- coiax:
- - bugfix: A dead AI no longer counts as an "unconverted AI" for clockcult.
-2017-03-24:
- BeeSting12:
- - bugfix: Auxiliary base maintenance airlock now requires the proper access. Sorry
- greyshirts, no loot for you!
- Cyberboss:
- - tweak: The recycler's base reclaim rate has been buffed from 1% to 50%. Manipulator
- upgrades now give +12.5% per level instead of +25%
- - bugfix: You can now successfully remove a pen from a PDA while it's in a container
- Fox McCloud:
- - rscadd: Modular receiver removed from the protolathe to autolathe
- - tweak: Modular receiver cost is now 15,000 metal
- Joan:
- - bugfix: Fixes structures being unable to go through spatial gateways.
- - tweak: Blazing Oil blobs take 33% less damage from water.
- Penguaro:
- - rscadd: '[Meta] Replaced Power Monitoring Console in Engineering with Modular
- Engineering Console'
- - rscadd: '[Pubby] Replaced Power Monitoring Console in Engineering with Modular
- Engineering Console'
- - rscadd: '[Omega] Replaced Power Monitoring Console in Engineering with Modular
- Engineering Console'
- - rscadd: '[Omega] Added RD and Command Modular Consoles to Bridge'
- - rscadd: '[Delta] Replaced Power Monitoring Console in Engineering with Modular
- Engineering Console'
- - rscadd: '[Delta] Replaced duplicate Atmospherics Monitoring Console in Atmo with
- Modular Engineering Console'
- coiax:
- - rscadd: Destroying a lich's body does not destroy the lich permanently, provided
- the phylactery is intact.
- - rscadd: A lich will respawn three minutes after its death, provided the phylactery
- is intact.
- - rscadd: The Soul Bind spell is forgotten after cast, respawn is now automatic.
- - rscdel: Stationloving objects like the nuke disk are not valid objects for a phylactery.
- - rscadd: Explosive implants can always be triggered via action button, even if
- unconscious.
- rock:
- - tweak: lizards are hurt slightly more by cold but less by heat. this does not
- mean they are more resistant to being lasered, fortunately.
-2017-03-26:
- BeeSting12:
- - spellcheck: The bar shuttle's buckable bar stools are now buckleable bar stools.
- Gun Hog and Shadowlight213:
- - rscadd: The AI may now deploy to cyborgs prepared as AI shells. The module to
- do this may be research in the exosuit fabricator. Simply slot the module into
- a completed cyborg frame as with an MMI, or into a playerless (with no ckey)
- cyborg.
- - rscadd: AI shells and AIs controlling a shell can be determined through the Diagnostic
- HUD.
- - rscadd: AIs can deploy to a shell using the new action buttons or by simply clicking
- on it.
- - experiment: An AI shell will always have the laws of its controlling AI.
- Penguaro:
- - rscadd: Brig - Added Air Alarm
- - rscdel: Engineering - Removed Brig Shutter
- - tweak: Omega, Meta, & Delta Stations - The Vents and Scrubbers for the Supermatter
- Air Alarm are now isolated from the rest of the Air Alarms in Engineering.
- Qbopper:
- - spellcheck: Drones are now given OOC guidelines to follow as well as their IC
- lawset.
- Robustin:
- - rscadd: Added the prototype canister with expanded volume, valve pressure, and
- access/timer features
- TrustyGun:
- - bugfix: Deconstructing display cases and coffins now drop the correct amount of
- wood.
- XDTM:
- - tweak: Some golems now spawn with more thematic names.
- - tweak: Adamantine Golems are no longer numbered, but receive a random golem name.
- - bugfix: Airlocks properly remove the shock overlay when a temporary shock runs
- out.
- coiax:
- - bugfix: Teams playing CTF have their own radio channels, rather than using the
- Centcom and Syndicate channels.
- - bugfix: Actually actually makes CTF barricades repair between rounds.
- - bugfix: Blue CTF lasers have little blue effects when they hit things, rather
- than red effects.
-2017-03-28:
- Supermichael777:
- - rscadd: Backup operatives now get the nukes code.
- XDTM:
- - bugfix: Wooden tiles can now be quick-replaced with a screwdriver instead of a
- crowbar, preserving the floor tile.
- octareenroon91:
- - bugfix: Bonfires that have a metal rod added should buckle instead of runtiming.
-2017-03-29:
- BeeSting12:
- - rscadd: Adds emergency launch console to the backup emergency shuttle.
- Joan:
- - rscdel: Putting sec armour and a helmet on a corgi no longer makes the corgi immune
- to item attacks.
- - rscadd: All items with armour will now grant corgis actual armour.
- Kevinz000:
- - rscadd: High-powered floodlights may be constructed with 5 sheets of metal, a
- wrench, a screwdriver, 5 cable coils, and a light tube. They require a powernet
- connection via direct wire node.
- coiax:
- - bugfix: All tophats, rather than just the ones in maintenance, hurt a tiny bit
- if you throw them at people.
- - bugfix: Supermatter anomalies are more shortlived than regular anomalies, as intended.
-2017-03-30:
- coiax:
- - rscadd: Autoimplanters have been renamed to autosurgeons. Currently only the CMO
- and nuclear operatives have access to autosurgeons. What is the CMO hiding?
- - bugfix: All upgraded organs for purchase by nuclear operatives now actually come
- in an autosurgeon, for speed of surgery.
-2017-03-31:
- Cobby:
- - tweak: Shot glasses are now more ambiguous [EASIER TO MAINTAIN]
- Cyberboss:
- - bugfix: Temperature changes will now properly cause atmospherics simulation to
- activate
- - bugfix: The command report for random xeno eggs will now be delivered along with
- the rest of the roundstart reports
- - bugfix: Drones can no longer be irradiated
-2017-04-01:
- Cyberboss:
- - bugfix: The contents of the shelterpod smart fridge work again
- XDTM:
- - bugfix: Facehuggers no longer rip masks from people protected by helmets.
-2017-04-02:
- BeeSting12:
- - bugfix: Metastation's northeast radiation collector is now connected to the grid.
- Nanotrasen would like to apologize for any inconvenience caused to engineers,
- but copper is expensive.
- - rscadd: Boxstation's HoP office now has a PDA tech.
- Cyberboss:
- - tweak: Firedoors no longer operate automatically without power
- - bugfix: Blood and other decals will no longer remain on turfs they shouldn't
- - bugfix: The splashscreen is working again
- - bugfix: False alarms are now guaranteed to actually announce something
- Incoming5643:
- - rscadd: Lighting visuals have been changed slightly to reduce it's cost to the
- client. If you had trouble running the new lighting, it might run a little better
- now.
- MMMiracles (CereStation):
- - rscadd: Added a patrol path for bots, includes 2 round-start securitrons placed
- on opposite sites of station.
- - wip: Due to map size, mulebots are still somewhat unreliable on longer distances.
- Disposals are still advised, but mule bots are now technically an option for
- delivery.
- - rscadd: Added multiple status displays, extinguishers, and appropriate newscasters
- to hallways.
- - rscadd: A drone dispenser is now located underneath Engineering in maintenance.
- - rscadd: Each security checkpoint now has a disposal chute that directs to a waiting
- cell in the Brig for rapid processing of criminals. Why run half-way across
- the station with some petty thief when you can just shove him in the criminal
- chute and have the warden deal with him?
- - tweak: Security's mail chute no longer leads into the armory. This was probably
- not the best idea in hindsight.
- - tweak: Virology has a bathroom now.
- - tweak: Genetics monkey pen is a bit more green now.
- - bugfix: Lawyer now has access the brig cells so he can complain more effectively.
- - bugfix: Xenobio kill chamber is now in range of a camera.
- - bugfix: Removed rogue bits of Vault area.
- - bugfix: Medbay escape pod no longer juts out far enough to block the disposal's
- path.
- - bugfix: Captain's spare ID is now real and not just a gold ID card.
- Penguaro:
- - tweak: '[Meta] The Chapel Security Hatches were very intimidating. They have been
- changed to more inviting glass doors.'
- - bugfix: '[Meta] The maintenance tunnels in the Xeno Lab now have radiation shielding.
- The Slime Euthanization Chamber will not have radiation shielding at this time
- as dead slimes will not mind radiation.'
- coiax:
- - rscadd: Adds seperate languages to the game. Now Ratvarian, Drone, Machine, Swarmer,
- Human (now called Galactic Common), Slime and Monkey are separate languages.
- Each languages has its own comma prefix, for example, Galcom has the ,0 prefix,
- while Ratvarian has the ,r prefix. If you don't understand a language when it
- is spoken to you, you will hear a scrambled version that will vary depending
- on the language that you're not understanding.
- - experiment: This does not change who can understand what.
- - rscdel: Removed the talk wheel feature.
- - rscadd: Clicking the speech bubble icon now opens the Language Menu, allowing
- you to review which languages you speak, their keys, and letting you set which
- language you speak by default. Admins have additional abilities to add and remove
- languages from mobs using this menu.
- ktccd:
- - bugfix: Ninja suits have received a new software update, making them able to **actually
- steal tech levels** from R&D consoles and servers, thus avoid being forced to
- honourably kill themselves for failing their objective.
-2017-04-05:
- Cyberboss:
- - bugfix: Cardboard boxes and bodybags can no longer be anchored
- Penguaro:
- - rscadd: '[Box] A fire alarm has been added to the Lawyer''s office.'
- - rscadd: '[Box] Adds access for Scientists to Starboard Maintenance Areas outside
- of Toxins.'
- - tweak: '[Box] Adjusted Science doors to more logical access codes.'
- QV:
- - bugfix: Fixed taking max suffocation damage whenever oxygen was slightly low
- RemieRichards:
- - bugfix: Using TK on the supermatter will burn your head off violently, don't do
- this.
- - rscadd: 'Examining clothing with pockets will now give information about the pockets:
- number of slots, how it is interacted with (backpack, etc.), if it has quickdraw
- (Alt-Click) support and whether or not it is silent to interact with.'
- coiax:
- - bugfix: Emergency shuttles will now forget early launch authorizations if they
- cannot launch due to a hostile environment.
-2017-04-07:
- Qbopper:
- - bugfix: Secure lockers will no longer have multiple lines about being broken.
-2017-04-09:
- 4dplanner:
- - bugfix: Gas analyzers can now detect more gases in pipes
- Joan:
- - bugfix: Fixed a bug where getting caught between two shield generators as they
- activated wouldn't cause you to gib and die.
- QV:
- - tweak: Refactored the way limbs that aren't limbs work
- octareenroon91:
- - bugfix: Hackable wires should work as intended again.
-2017-04-11:
- BeeSting12:
- - spellcheck: '"the herpes of arts and crafts" is now "The herpes of arts and crafts."'
- Cyberboss:
- - bugfix: Runes no longer make you/themselves/random atoms yuge
- JJRcop:
- - tweak: Refactors whisper, now all living mobs can use it
- - rscadd: 'Prefix any message with # to whisper, for example, "# Man, that guy is
- weird.", you can still use the whisper verb if you whish.'
- - rscadd: This is compatible with languages, for example "#,r That HoS is a problem,
- we should kill him"
- - rscdel: 'Removes #a #b #c etc radio codes, as well as :w and .w, which used to
- be whisper.'
- MrStonedOne:
- - tweak: Nightvision was heavily modified.
- - rscadd: Nightvision has been given 3 levels of nightvisionness. (some, most, and
- full)
- - tweak: ghosts, aliens, guardians, night vision eyes, and statues were given all
- 3 levels in a cycling toggle
- - tweak: thermals, and hud+NV goggles give "some" nightvisionness
- - tweak: standalone masons are unchanged.
- - tweak: Nightvision goggles (that aren't also sec huds or medhuds or the like)
- give "most" nightvisionness. Nightvision masons also give "most" nightvisionness
- - tweak: Most simple mobs with the ability to see in the dark were given "most"
- nightvisionness, others got full nightvisionness.
- - bugfix: Fixed certain ghost only things disappearing when disabling darkness.
- - bugfix: Fixed ash storms not being visible when using things that modified your
- ability to see darkness
- - bugfix: fix a bug with the new github web processor
- Shadowlight213:
- - bugfix: The anime admin button will no longer cause equipped items to drop.
- coiax:
- - rscadd: Examining a ghost determines whether it is visible.
-2017-04-13:
- Cyberboss:
- - bugfix: Fixed the incorrectly named Brig APC on Box Station=
- - spellcheck: Fixed simple animal attack grammar
- - bugfix: Roundstart department head announcements have been fixed
- - bugfix: Brig cell doors now properly require the correct access
- - bugfix: Fixed a bug preventing chameleon stamps from being picked up
- - bugfix: Fixed a bug where honey frames couldn't be picked up
- - bugfix: Photocopied papers will now retain their stamps
- Davidj361:
- - bugfix: Made it so chemsprayers, peppersprays, extinguishers don't spray when
- you click your inventory items
- - bugfix: Spray guns now actually have their range change when changing modes between
- spray and stream
- - bugfix: Krav maga now gets its abilities toggled if you click the same ability
- twice
- - bugfix: Added a link to the bottom right of paper when writing that shows help
- for paper writing
- - bugfix: Fixed the shift+middle-click pointing shortcut to work for cyborgs as
- the functionality wasn't even there
- - bugfix: Bodies in body bags get cremated properly now
- RemieRichards:
- - bugfix: Constructing lattice no longer prevents space transitions.
- Robustin:
- - rscadd: Ranged RCD added to the game
- - rscadd: Rapid Lighting Device (also ranged) has been added. It can create wall,
- floor, and temporary lights of any color you desire.
- coiax:
- - bugfix: Cigarette branding has been fixed.
- - rscadd: Uplift Smooth brand cigarettes now taste minty as advertised.
- - rscdel: You can no longer inject cigarette packets to inject all cigarettes simultaneously.
- powergaming research director:
- - bugfix: woops i dropped the emp protection module when i made your cns rebooters
- today, guess they're vulnerable again!
-2017-04-15:
- Cyberboss:
- - bugfix: Holopads can no longer be interacted with while unpowered
- Davidj361:
- - bugfix: Monkeys won't pickup items or rob you while they are in your stomach,
- neither walk out of your stomach.
- - bugfix: You can't cheat with eyewear/eye-implants when using advanced cameras
- - bugfix: Mutant digitigrade legs re-added to the ashwalker species
- Robustin:
- - rscadd: The Prototype Emitter, will function like an ordinary emitter while also
- charging a secondary power supply that will allow a buckled user to manually
- fire the emitter. Returning to automatic fire will have the emitter continue
- to fire at the last target struck by manual fire.
- - rscadd: The Engineering Dance Machine, along with assorted effects/sounds.
- coiax:
- - bugfix: Plasmamen no longer burn to death while inside a cloning pod.
-2017-04-18:
- BeeSting12:
- - bugfix: Cerestation's shuttle now has a recharger.
- - rscdel: Centcomm's thunderdome airlocks have been removed due to contestants breaking
- out.
- - bugfix: Deltastation's chemistry lab now has a pill bottle closet.
- - bugfix: The shield wall generators in xenobiology on Deltastation, Boxstation,
- Metastation, and Pubbystation can now be locked and unlocked by scientists.
- Davidj361:
- - bugfix: Spawned humans no longer spawn eyeless (sprite)
- MMMiracles (Cerestation):
- - rscadd: Departments have been given head offices for a more secure place to chill
- in their departments.
- - rscadd: There is now a theatre on the service asteroid.
- - tweak: Maintenance visuals and loot have been overhauled to be more visually interesting
- and have more scattered bits of loot.
- - bugfix: Various fixes with missing APCs, camera coverage, and misc things.
- QualityVan:
- - rscadd: Some foam guns can now be suppressed
- coiax:
- - rscadd: Drone, monkey and swarmer language now have distinctive colours when spoken.
- - rscadd: Since drones are allowed to interact with pAIs, pAIs in mobile chassis
- form are no longer distorted to drone viewpoints.
- - bugfix: The shuttle's arrival can no longer be delayed after Nar-Sie's arrival.
- The End cannot be delayed.
-2017-04-19:
- QualityVan:
- - bugfix: Improved stethoscopes
- Thunder12345:
- - bugfix: You can no longer extract negative sheets from the ORM
- XDTM:
- - bugfix: APCs hacked by a malfunctioning AI are no longer immune to alien attacks.
- - bugfix: Fixed bug where flashlight eyes weren't emitting light.
-2017-04-20:
- Cyberboss:
- - bugfix: Fixed mining closets having extra, unrelated items
-2017-04-22:
- Cyberboss:
- - bugfix: Conveyors no longer move things they aren't supposed to
- XDTM:
- - bugfix: Gold and Light Pink slime extracts no longer disappear before working.
- coiax:
- - bugfix: Fixed people understanding languages over the radio when they shouldn't.
-2017-04-23:
- coiax:
- - rscadd: Centcom would like to inform all employees that they have ears.
- - rscadd: Adds "ear" organs to all carbons. These organs store ear damage and deafness.
- A carbon without any ears is deaf. Genetic deafness functions as before.
-2017-04-25:
- BeeSting12:
- - bugfix: Deltastation's secure tech storage is no longer all access.
- CoreOverload:
- - bugfix: Disposals no longer get broken by shuttles rotation.
- - bugfix: Wires no longer get broken by shuttles movement and rotation.
- - bugfix: Atmospheric equipment no longer gets broken by shuttles movement and rotation.
- Glory to the Flying Fortress of Atmosia!
- Jalleo:
- - rscdel: WW_maze from lavaland has been removed it wasnt that good really anyhow
- QualityVan:
- - bugfix: Changeling brains are now more fully vestigial
- WJohnston:
- - tweak: Skeletons and plasmamen's hitboxes now more closely match that of humans.
- They are no longer full of holes and incredibly frustrating to hit, should they
- run around naked.
- XDTM:
- - bugfix: Items will no longer be used on backpacks if they fail to insert when
- they're too full.
- - bugfix: T-Ray scans are no longer visible to bystanders.
- - bugfix: T-Ray scans no longer allow viewers to interact with underfloor objects.
- basilman:
- - bugfix: fixed species with no skin dropping skin when gibbed.
- coiax:
- - rscadd: Examining a window now gives hints to the appropriate tool for the next
- stage of construction/deconstruction.
- - rscadd: You can examine a firedoor for hints on how to construct/deconstruct it.
- - rscadd: Add an additional hint during construction where you can add plasteel
- to make the firedoor reinforced.
- - bugfix: Fixed easter eggs spawning during non-Easter.
- - bugfix: Fixes stations not having holiday specific prefixes during the holidays.
- - bugfix: Ghosts no longer drift in space.
- - bugfix: Swarmers now only speak their own language, rather than swarmer and common.
- - bugfix: When you are crushed by a door, it prints a visible message, instead of,
- in some cases, silently damaging you.
- - bugfix: The vent in the Escape Coridoor on Omega Station has been fixed.
- - bugfix: You no longer die when turning into a monkey.
- coiax, WJohnston:
- - rscadd: Plasmamen lungs, also known as "plasma filters" now look different from
- human lungs.
- - rscadd: Plasmamen now have their own special type of bone tongue. They still sound
- the same, it's just purple. Like them.
-2017-04-26:
- CoreOverload:
- - rscadd: Gas injectors are now buildable!
- Joan:
- - tweak: Ash Drake swoops no longer teleport the Ash Drake to your position.
- - balance: Some other tweaks to Ash Drake attacks and patterns; discover these yourself!
- coiax:
- - balance: The wizard spell Rod Form now costs 3 points, up from 2.
- flashdim:
- - bugfix: Omega Station had two APCs not wired properly. (#26526)
-2017-04-27:
- Gun Hog:
- - rscadd: The GPS interface has been converted to tgui.
- - experiment: GPS now update automatically or manually, give distance and direction
- to a signal, and many other improvements!
- MrStonedOne:
- - tweak: Tweaked how things were deleted to cut down on lag from consecutive deletes
- and provide better logging for things that cause lag when hard-deleted.
- - tweak: Server hop verb moved to the OOC tab
- - rscadd: Server hop verb can now be used in the lobby as well as while a ghost.
- QualityVan:
- - bugfix: You can hit emagged cloning pods with a medical ID to empty them
- - rscadd: Crayons can be ground
- - rscadd: Crayon powder can be used to color stuff
- Shadowlight213:
- - tweak: Heads of staff may now download the ID card modification program from NTNet.
- bgobandit:
- - tweak: When jumpsuits take severe damage, their suit sensors break. They can be
- fixed by applying a cable coil.
- coiax:
- - rscadd: Anomalous crystals can be examined by ghosts to determine their function
- and activation method.
- - rscdel: Lightbringers can understand Slime and Galactic Common, and can only speak
- Slime, as before.
- - rscadd: The helper anomalous crystal is in the orbit list after it has been activated.
-2017-04-28:
- Kor:
- - rscadd: Librarians can speak any language
- coiax, WJohnston:
- - rscdel: Languages no longer colour their text.
- - rscadd: Languages now have icons to identify them. Galatic Common does not have
- an icon if understood.
-2017-04-29:
- BeeSting12:
- - bugfix: The emergency backup shuttle has lighting now.
- - bugfix: Plating in deltastation's aux tool storage is no longer checkered.
- Cobby:
- - rscadd: Syndicate Lavabase now has more explicit instructions when it comes to
- outing non-syndicate affiliated enemies of Nanotrasen.
- - tweak: The GPS set tag has gone from a limit of 5 characters to 20.
- - rscadd: The GPS can now be personalized in both name and description using a pen.
- Joan:
- - rscdel: Removed Mending Motor.
- - rscadd: Added Mending Mantra, which is a script that causes you to repair nearby
- constructs and structures as long as you continue chanting it.
- - tweak: Mending Mantra will also heal Servants as long as they're wearing clockwork
- armor.
- Kor:
- - rscdel: Removed double agents mode.
- - rscadd: Replaced it with Internal Affairs mode.
- Swindly:
- - rscadd: Added organ storage bags for medical cyborgs. They can hold an organic
- body part. Use the bag on a carbon during organ manipulation or prosthetic replacement
- to add the held body part.
- coiax:
- - rscdel: Swarmer traps are no longer summoned by The Traps.
- - balance: Wizard traps automatically disappear five minutes after being summoned.
- - balance: Wizard traps disappear after firing, whether triggered via person or
- something being thrown across it.
- - balance: Wizards are immune to their own traps.
- - tweak: The Traps are now marked as a Defensive spell, rather than an Offensive
- spell.
- kevinz000:
- - experiment: Songs can now be added to disco machines with add_track(file, name,
- length, beat). Only file is required, the other 3 should still be put in, though.
- tacolizard forever:
- - bugfix: Rechargers no longer flash the 'fully charged' animation before charging
- something
-2017-04-30:
- QualityVan:
- - bugfix: Changelings can once again revive with their brain missing
- XDTM:
- - rscdel: Voice of God's Rest command now no longer makes listeners rest. It instead
- activates the sleep command.
- coiax:
- - rscadd: The Bank Machine in the vault now uses the radio to announce unauthorized
- withdrawals, rather than an endless stream of loud announcements.
-2017-05-01:
- 4dplanner:
- - tweak: Syndicate surplus crates now contain fewer implants
- Bawhoppen:
- - rscadd: Deep storage space ruin has been readded.
- - rscadd: Space Cola machines now stock bottles of water.
- Cobby:
- - balance: The Gang pen is now stealthy. Stab away!
- Cyberboss:
- - rscadd: You can now make holocalls! Simply stand on a pad, bring up the menu,
- and select the holopad you wish to call. Remain still until someone answers.
- When they do, you'll be able to act just like an AI hologram until the call
- ends
- Joan:
- - rscadd: Belligerent now prevents you from running for 7 seconds after every chant.
- - rscdel: However, you no longer remain walking after Belligerent's effect fades.
- - rscadd: Clockcult component generation will automatically focus on components
- needed to activate the Ark if it exists.
- - rscadd: Gaining Vanguard, such as from the Linked Vanguard scripture, will remove
- existing stuns.
- - rscadd: Proselytizers can now charge from Sigils of Transmission at a rate of
- 1000W per second.
- - rscadd: Sigils of Transmission can be charged with brass at a rate of 250W per
- sheet.
- Moonlighting Mac says:
- - bugfix: Due to a clerical error in the chef's cookbooks now being resolved, you
- can now make the pristine cookery dish "Stuffed Legion" out of exotic ingredients
- from Lavaland.
- - experiment: After being found again you will now be able to enjoy its special
- blend of flavors with your tastebuds. Mmm.
- QualityVan:
- - tweak: Saline glucose now acts as temporary blood instead of increasing blood
- regeneration
- Swindly:
- - tweak: Mercury and Lithium make people move when not in space instead of when
- in space.
- ninjanomnom:
- - tweak: TEG displays power in kw or MW now
- - tweak: TEG power bar only maxes over 1MW now
- - experiment: Moves TEG to SSair
- - experiment: Moves SM to SSair
-2017-05-02:
- 4dplanner:
- - bugfix: Squishy plants will now affect walls and other turfs they get squished
- on
- Kor, Goof and Plizzard:
- - rscadd: Adds persistent trophy cases. They are not on any map yet.
- Shadowlight213:
- - bugfix: The biogenerator will now show its recipes again.
- XDTM:
- - tweak: Blood Cult's talisman of Horrors now works at range. It will still give
- no warning to the victim.
- - rscadd: Golems can now click on empty golem shells to transfer into them.
- - tweak: Plasma Golems now no longer explode on death. They instead explode if they're
- on fire and are hot enough. The explosion size has been increased.
- - tweak: Plasma Golems are now always flammable.
- coiax:
- - rscadd: When talking on the alien hivemind, a person will be identified by their
- real name, rather than who they are disguised as.
-2017-05-03:
- BeeSting12:
- - bugfix: Omega shuttle now has lighting.
- Joan:
- - balance: Clockwork component generation is twice as fast.
- - balance: Scriptures cost up to twice as much; Driver scriptures are unaffected,
- meaning they cost 50% less, Script scriptures cost 25% less, Application scriptures
- cost about 12.5% less, and Revenant scriptures cost about 5% less.
- Jordie0608:
- - rscadd: Investigate logs are now persistent.
- - tweak: Game logs are now stored per-round; use .getserverlog to access previous
- rounds.
- - rscdel: .giveruntimelog and .getruntimelog removed.
- Kor, Profakos, Iamgoofball:
- - rscadd: The Librarian has been replaced by the Curator.
- - rscadd: Persistent trophy cases have been added to the library on Meta, Delta,
- and Box. These are only usable by the Curator.
- - rscadd: The Curator now starts with his whip.
- - rscadd: The Curator now has access to his treasure hunter outfit, stashed in his
- private office.
- coiax:
- - balance: Plasma vessels, the organs inside aliens that are responsible for their
- internal plasma storage, will regenerate small amounts of plasma even if the
- owner is not on resin weeds.
- - rscadd: Restrictions on Lizardpeople using their native language on the station
- have been lifted by Centcom, in order to maximise worker productivity. The language's
- key is ",o".
- deathride58:
- - tweak: Fixed the slimecore HUD's neck slot sprite.
-2017-05-04:
- 4dplanner:
- - bugfix: revenants now properly resurrect from ectoplasm, as opposed to ectoplasm
- merely spawning a new grief ghost
- - bugfix: Turrets can no longer see invisible things, such as unrevealed revenants
- Joan:
- - rscadd: Mania Motors now do minor toxin damage over time and will convert those
- affected if the toxin damage is high enough.
- - balance: The effects of a Mania Motor continue to apply to targets after they
- leave its range, though they will fall off extremely quickly.
- - rscdel: Mania Motors no longer cause brain damage.
- - imageadd: Ratvarian Spears have new inhand icons.
- Lzimann:
- - rscdel: Gang game mode was removed
- Moonlighting Mac says:
- - rscadd: Courtesy of the art & crafts division, imitation basalt tiles themed on
- the rough volcanic terrain of lavaland are now available to be made out of sandstone.
- - experiment: The manufacturer even managed to replicate the way that it lights
- up with volcanic energy, it is the perfect accompaniment to other fake (or real)
- lava-land tiles or a independent piece.
- QualityVan:
- - rscadd: Point flashlights at mouths to see what's inside them
-2017-05-05:
- Incoming:
- - tweak: Display cases now require a key to open, which the curator spawns with
- Joan:
- - balance: Sigil of Accession, Fellowship Armory, Memory Allocation, Anima Fragment,
- and Sigil of Transmission are not affected by the previously-mentioned % reduction
- to Application scripture costs.
- LanCartwright:
- - rscadd: Lesser smoke book to Delta and Metastation
- - rscdel: Normal smoke book from Delta and Metastation
- - tweak: Civilian smoke book now has a 360 max cooldown (from 120) and halved smoke
- output.
- QualityVan:
- - bugfix: Dental implants stay with the head they're in
- bgobandit:
- - tweak: The Syndicate has added basic functionality to their state-of-the-art equipment.
- Nuke ops can now donate all TCs at once.
- lordpidey:
- - rscadd: There is a new traitor poison, spewium. It will cause uncontrollable
- vomiting, which gets worse the longer it's in your system. An overdose can
- cause vomiting of organs.
- - tweak: Committing suicide with a gas pump can now shoot out random organs.
- - bugfix: Toxic vomit now shows up as intended.
-2017-05-06:
- 4dplanner:
- - rscadd: Internal Affairs Agents now obtain the kill objectives of their targets
- when they die.
- - rscadd: Internal Affairs Agents now have an integrated nanotrasen pinpointer that
- tracks their target at distances further than ten squares.
- - rscadd: Internal Affairs Agents will now lose any restrictions on collateral damage
- and gain a "Die a glorious death" objective upon becoming the last man standing,
- and revert if any of their targets are cloned.
- BeeSting12:
- - bugfix: Pubbystation no longer has two airlocks stacked on top of each other leading
- into xenobiology's kill room.
- - rscadd: Deltastation's chemistry now has a screwdriver.
- - bugfix: Deltastation's morgue no longer has a blue tile.
- - bugfix: Deltastation's chemistry smart fridge is no longer blocked by a disposal
- unit.
- Cyberboss:
- - tweak: Teslas now give off light
- Joan:
- - balance: Sigils of Transgression are slightly more visible and glow very faintly.
- LanCartwright:
- - rscadd: Reduction to nutrition when consuming Miner's salve.
- - rscdel: Stun/weaken that bypasses bugged chemical protection when consuming Miner's
- salve.
- Lzimann:
- - rscdel: Telescience is no more.
- PKPenguin321:
- - rscadd: Undid the gang gamemode removal.
- QualityVan:
- - rscadd: Cargo can order restocking units for NanoMed vending machines
- - rscadd: NanoMed vending machines can be build and unbuilt
- Robustin:
- - rscadd: Blood Cultists can now attempt to claim the position of Cult Master with
- the approval of a majority of their brethren.
- - rscadd: 'The Cult Master has access to unique blood magic that will aid them in
- leading the cult to victory:'
- - rscadd: The Cult Master can mark targets, allowing the entire cult to track them
- down.
- - rscadd: The Cult Master has single-use, noisy, and overt channeled spell that
- will summon the entire cult to their location.
- - rscadd: All cultists gain a HUD alert that will assist them in completing their
- objectives.
- - rscadd: Constructs created by soul shards will now be able to track their master.
- - rscadd: Cultists created outside of cult mode will now get a working sacrifice
- and summon objective and the summon rune will no longer fail outside of cult
- mode.
- - tweak: Gang Dominator max time is now 8 minutes down from 15m
- - tweak: Gang Tagging now reduces the timer by 9 seconds per territory, down from
- 12 seconds.
- coiax:
- - rscadd: Adamantine golems have special vocal cords that allow them to send one-way
- messages to all golems, due to fragments of resonating adamantine in their heads.
- Both of these are organs, and can be removed and put in other species.
- - rscadd: You can use adamantine vocal cords by prefixing your message with ":x".
- - rscdel: Xenobiology is no longer capable of making golem runes with plasma. Instead,
- inject plasma into the adamantine slime core to get bars of adamantine which
- you can then craft into an incomplete golem shell. Add 10 sheets of suitable
- material to finish the shell.
- - experiment: The metal adamantine is also quite valuable when sold via cargo.
- - bugfix: If you know more than the usual number of languages, you'll now remember
- them after you get cloned.
- - rscdel: Humans turning into monkeys will not suddenly be able to speak the monkey
- language, and will continue to understand and speak human.
- - rscadd: Ghosts can now modify their own understood languages with the language
- menu.
- - rscadd: Any mob can also open their language menu with the IC->Open Language Menu
- verb.
- - rscadd: Silicons can now understand Draconic as part of their internal databases.
- - bugfix: Golems no longer have underwear, undershorts or socks.
- - tweak: The lavaland Seed Vault ruin can spawn only once.
- - rscadd: It is now possible to make plastic golems, who are made of a material
- flexible enough to crawl through vents (while not carrying equipment). They
- also can pass through plastic flaps.
- - bugfix: Fixed adamantine vocal cord (F) links not working for observers.
-2017-05-07:
- Anonmare:
- - tweak: Removes organic check from mediborg storage container
- Joan:
- - rscadd: Cultists of Nar-sie have their own language. The language's key is ",n".
- - balance: Sigils of Transgression are slightly brighter.
- Moonlighting Mac:
- - experiment: Due to budget cuts and oil synthesis replacing expensive processes
- of digging up haunted primeval ashwalker burial grounds, Nanotransen has taught
- chemists how to make plastic from chemicals in the hopes that new plastic products
- can reduce expenditure on metal and glass.
- - rscadd: you can now make plastic sheets from chemistry out of heated up crude
- oil, ash & sodium chloride
- MrStonedOne:
- - bugfix: fixed bug that caused an infinite connection loop when connecting on a
- new computer or computer with recently changed hardware.
- - rscadd: Moved to a new system to make top menu items easier to edit.
- - tweak: Moved icon size stuff to a sub menu
- - rscadd: Added option to change icon scaling mode.
- - bugfix: Byond added fancy shader supported scaling(Point Sampling), this sucks
- because it's blurry, the default for /tg/station has changed back to the old
- nearest neighbor scaling.
- Penguaro:
- - bugfix: Adjusted the Examine description of the right-most tiles of the Space
- Station 13 sign to be consistent with the rest of the tiles.
- - bugfix: Anywhere there was lava below a tile on the station is now space.
- Robustin:
- - tweak: c4 planting is now 40% faster
- coiax:
- - bugfix: Smartfridges no longer magically gain medicines if deconstructed and rebuilt.
- - rscadd: Ash walkers now know and speak Draconic by default, but still know Galactic
- Common. Remember, Galcom's language key is ",0" and you can review your known
- languages with the Language Menu.
- octareenroon91:
- - rscadd: Showers and sinks added to gulag and mining station for hygiene and fire
- safety.
- - rscadd: Watertanks added to mining station for convenient fire extinguisher refill.
-2017-05-08:
- Dorsisdwarf:
- - bugfix: Fixed being unable to hit museum cases in melee
- Joan:
- - tweak: The verb to Assert Leadership over the cult has been replaced with an action
- button that does the same thing, but is much more visible.
- Moonlighting Mac says:
- - tweak: After a recent trade fair, employees have took it upon themselves to learn
- how to craft leather objects out of finished leather sheets, for novices they
- are pretty good at it! Try it yourself!
- - rscadd: Muzzles to silence people are now craftable out of leather sheets.
- - rscdel: You can no longer print off designs from a bio-generator that can now
- be crafted out of leather sheets.
- - tweak: Complete sheets of leather can be printed from the bio-generator for 150
- biomass to accommodate for a loss of designs.
- - experiment: Specialist objects from the leather & cloth category bio-generator
- category were not removed as to encourage interdepartmental interaction & balance.
- Penguaro:
- - rscadd: The Slime Scanner is available from the Autolathe.
- - tweak: The Design Names in the various machines are now capitalized consistently
- coiax:
- - bugfix: Fixes various mobs speaking languages that they were only supposed to
- understand.
- - bugfix: Fixes being able to bypass language restrictions by selecting languages
- you can't speak as your default language.
- ninjanomnom:
- - tweak: Highlander no longer breaks your speakers
-2017-05-09:
- Expletive:
- - rscadd: Curator's fedora has a pocket, like all the other fedoras.
- - tweak: Treasure hunter suits can now hold large internal tanks, to ease the exploration
- of lavaland.
- - tweak: The curator can now access the Auxillary Base and open doors on the mining
- station.
- MrStonedOne:
- - tweak: Lighting now defaults to fully bright until the first update tick for that
- tile. This makes shuttle movements less immersion breaking.
- - experiment: Rather than remove the light source from the system and then re-adding
- it on light movements, the system now calculates and applies the difference
- to each tile. This should speed up lighting updates.
- Penguaro:
- - tweak: Adjusts Meteor Shuttle Name
- - bugfix: The Central Command Ferry will now dock at one of the ports in Arrivals
- - tweak: '[Meta] The Slime Control Console boundaries have been adjusted around
- the Kill Room'
- XDTM:
- - rscadd: Added bluespace launchpads. They can be built with R&D, and can teleport
- objects and mobs up to 5 tiles away (8 at max upgrades), from the pad to the
- target and viceversa.
- - rscadd: To set up a launchpad, a launchpad and a launchpad console must be built.
- The pad must be opened with a screwdriver, then linked to the console using
- a multitool. A console can support up to 4 pads.
- - rscadd: Launchpads require some time to charge up teleports, but don't require
- cooldowns unlike quantum pads. Upgrading launchpads increases the range by 1
- per manipulator tier.
- - rscadd: A special variant, the Briefcase Launchpad, has also been added to the
- traitor uplink for 6 TC.
- - rscadd: Briefcase Launchpads look like briefcases until setup (which requires
- a few seconds). When setup, the launchpad will be functional, but can still
- be dragged on the ground. To pick a pad back up, click and drag it to your character's
- sprite.
- - rscadd: Unlike stationary launchpads, briefcase pads only have 3 tiles of maximum
- range.
- - rscadd: Briefcase pads are controlled by a remote (that is sent with the briefcase)
- instead of a console. The remote must be linked to the briefcase by simply hitting
- it. Each remote can only be linked to one pad, unlike consoles.
- coiax:
- - rscadd: Visible ghosts emit light.
-2017-05-11:
- Joan:
- - rscadd: You can now buy double eswords from the uplink for 16 telecrystals. They
- cannot be bought below 25 players.
- - rscdel: You can no longer use two eswords to construct a double esword.
- Joan, Robustin:
- - rscdel: Harvesters can no longer break walls, construct walls, convert floors,
- or emit paralyzing smoke.
- - rscadd: Harvesters now remove the limbs of humans when attacking, can heal OTHER
- constructs, have thermal vision, and can move through cult walls.
- - rscadd: Harvesters can now convert turfs in a small area around them and can create
- a wall of force.
- - tweak: Harvesters are now cultists.
- - rscadd: When Nar-Sie is summoned, she will convert all living non-construct cultists
- to harvesters, who will automatically track her.
- Kor:
- - rscadd: a new mysterious book has been discovered in lavaland chests!
- - tweak: weird purple hearts found in lavaland chests have started beating again!
- what could this mean?
- MrStonedOne:
- - bugfix: Fixes t-ray mode on engineering goggles not resetting the lighting override
- properly.
- QualityVan:
- - tweak: Machine names will be capitalized when they talk on radio
- Robustin:
- - tweak: Dominators now require a significant amount of open (non-walled) space
- around them in order to operate.
- TehZombehz:
- - rscadd: Sticks of butter and liquid mayonnaise can now be produced via a new 'mix'
- function on the grinder. Please eat responsibly.
- XDTM:
- - bugfix: Plasma Golems now have the correct updated tip.
- - tweak: Plasma Golems no longer take damage from fire, and take normal instead
- of increased burn damage from other sources. They will still explode if on fire
- and hot enough.
- - rscadd: Plasma Golems can now self-ignite with an action button.
- - tweak: Plasma Golems are now warned when they're close to exploding.
- - tweak: Plasma Golems now have a constant chance of exploding after 850K instead
- of a precise threshold at 900K, making it less predictable.
- bandit:
- - tweak: Nanotrasen has enhanced personality matchmaking for its personal AIs. pAI
- candidates will now see who is requesting a pAI personality.
- duncathan:
- - tweak: opening a dangerous canister will only alert admins if it contains meaningful
- amounts of a dangerous gas. No more being bwoinked because you opened an empty
- canister that used to have plasma in it.
- lordpidey:
- - tweak: Modified chances for returning someone's soul using an employment contract. Now
- everyone has a chance, not just lawyers and HoP.
- - rscadd: Particularly brain damaged people can no longer sign infernal contracts
- properly.
- - tweak: Infernal contracts for power no longer give fireball, and instead give
- robeless 'lightning bolt' spell.
- - rscadd: Devils can now sell you a friend, for the cost of your soul.
- - tweak: The codex gigas should now be easier to use, and less finicky.
- - rscdel: The codex gigas no longer sintouches readers.
- ma44:
- - tweak: Doubles the amount of points wooden planks sell for (now 50 points)
-2017-05-12:
- Joan:
- - tweak: Manifest Spirit will no longer continue to cost the user health if the
- summoned ghost is put into critical or gibbed.
- - rscadd: Ghosts summoned by Manifest Spirit are outfitted with ghostly armor and
- a ghostly cult blade that does slightly less damage than a normal cult blade.
- - balance: Manifest Spirit now consumes 1 health per second per summoned ghost,
- from 0.333~.
- - balance: Manifest Spirit can now only summon a maximum of 5 ghosts per rune, and
- the summoned ghosts cannot use Manifest Spirit to summon more ghosts.
- - rscadd: Wraiths now refund Phase Shift's cooldown by attacking; 1 second on normal
- attacks, 5 seconds when putting a target into critical, and a full refund when
- killing a target.
- - balance: Increased Phase Shift's cooldown from 20 seconds to 25 seconds.
- KorPhaeron:
- - rscadd: Zombies can now see in the dark. If you steal their eyes you'll be able
- to see in the dark as well!
- MMMiracles (Cerestation):
- - tweak: Hydroponics has been revamped, adding a few things missing before and adding
- a bee room in place of the backroom.
- - bugfix: Fixed some other stuff.
- New Antag Alert sounds:
- - soundadd: added sounds that alert players to their antag status
- - soundadd: Blood cult has a new alert sound
- - soundadd: Clock cult has a new alert sound
- - soundadd: changeling has a new alert sound
- - soundadd: Malf/traitor AI has a new alert sound
- - soundadd: Nuke Ops has a new alert sound
- - soundadd: Ragin' Mages has a new alert sound
- - soundadd: Traitor has a new alert sound
- Swindly:
- - tweak: Solid plasma now begins burning at the temperature at which it was ignited.
- - balance: Snow walls no longer block explosions, are deconstructed faster, and
- no longer leave girders when deconstructed.
- coiax:
- - balance: Nanotrasen Cloning Divison's three hundred identical scientists have
- announced an upgrade to the cloning computer's software. You can now scan brains
- or dismembered heads and successfully clone from them. Brains seem to remember
- the DNA of the last body they were attached to.
-2017-05-13:
- QualityVan:
- - bugfix: Pizza boxes once again look different when open
- 'Tacolizard Forever: It''s hip to fuck bees':
- - rscadd: Added a honey jar item. It's not implemented yet.
- - balance: Honey is now more robust at healing, but don't eat too much or you'll
- turn into a fatty landwhale.
- TehZombehz:
- - rscadd: Butter noodles, butter biscuits, buttered toast, and pigs in a blanket
- can now be crafted using sticks of butter and other ingredients.
- coiax:
- - rscadd: Servant golems now follow the "Material Golem (123)" naming scheme.
- octareenroon91:
- - rscadd: Hermit ruin now includes a portable seed extractor.
-2017-05-14:
- coiax:
- - rscadd: Free Golems can purchase Royal Capes of the Liberator at their mining
- equipment vendor.
-2017-05-15:
- Dorsidwarf:
- - balance: Nanotrasen Robotics Supply Division has successfully petitioned to replace
- the "My First Robot" motors in turret coverings with a standard commercial brand.
- As such, they will now open faster.
- Expletive:
- - rscadd: You can now create water bottles and wet floor signs by using plastic
- sheets.
- - rscadd: You can create toy swords out of plastic sheets, a piece of cable, and
- a light bulb.
- Joan:
- - tweak: Glowshrooms now have a less saturated glow.
- - balance: The summoned ghosts from Manifest Spirit can no longer break airlocks
- with their standard blade.
- - balance: Manifest Spirit now does a small amount of damage when initially manifesting
- a ghost.
- McBawbaggings:
- - tweak: SMES units will now accept charge from the power network even if the available
- load is less than the input rate. Credit to Zaers for the original code.
- - bugfix: Wizards are now at least 30 years old. Apprentices will be in-between
- ages 17 to 29.
- Penguaro:
- - bugfix: The Gravity Generator description now mentions a graviton field as opposed
- to a gravaton field. What is Gravaty anyway?
- - bugfix: Centcom Engineering has reviewed the plans for the Box series station
- and has addressed some concerns related to some APCs not affecting their designated
- section. APCs for the Detective's Office, Cargobay, and Gateway, now control
- those rooms. The Bridge Maintenance APC has been removed from future construction
- as it serves no purpose and thus is an unnecessary construction cost.
- - bugfix: The pipe from the station to the AI Satellite has been completed.
- Profakos:
- - rscadd: Centcom has decided to upgrade the Ore Redemption machines with a floppy
- drive, intended for design disks.
- Qbopper:
- - tweak: The supermatter crystal now sends its warning messages to the engineering
- channel. (if it's in critical condition the message will be sent to the common
- radio channel as before)
- Swindly:
- - balance: Nitrous oxide now causes anemia.
- coiax:
- - bugfix: Curator soapstones now successfully leave messages for future shifts.
- - rscdel: Soapstones can no longer be purchased in cargo.
- - rscdel: The janitor no longer starts with an empty soapstone.
- - experiment: Engraved messages can be left anywhere in the world, but be wary that
- the terrain of places like lavaland and space can change shift to shift.
- - rscadd: Goats on the station have developed a taste for glowshrooms, and will
- eat them if they encounter any.
- ma44:
- - tweak: Seed vault remapped
- - tweak: The seed vault random seed spawner can now spawn cherry bombs instead of
- regular cherry seeds
- - rscadd: BEES to plant vault
- octareenroon91:
- - rscadd: Ambrosia Deus can now mutate into Gaia, and Gaia into Deus.
- - rscdel: A single branch of Ambrosia Gaia will not immediately make a hydroponics
- tray self-sufficient.
- - balance: A (total) dose of 20u Earthsblood (from Gaia) will make a hydroponics
- tray self-sufficient.
- uraniummeltdown:
- - rscadd: Ambrosia Gaia is back
-2017-05-16:
- Moonlighting Mac says:
- - rscadd: Starthistles now return seeds when they are harvested, amongst having
- a overhaul of description, alteration of statistics & a mutational path into
- harebells. These seeds have been supplied into the hydroponics seed vendor.
- - imageadd: Starthistle tray sprites have been restructured & also fixed from a
- issue of them being broken and not appearing in trays. In addition there are
- new sprites for its seeds.
- Penguaro:
- - bugfix: There is now Space under the rocks at the Dragoon's Tomb
- - bugfix: Centcom Intelligence reports that the Hidden Syndicate Research Base may
- have received a shipment of viruses.
- QualityVan:
- - bugfix: Fixed fire alarms not being repairable if the board was broken
- - bugfix: People without eyes and ears are no longer susceptible to flashbangs they
- aren't directly on top of
- Robustin:
- - rscadd: Summoning Nar'Sie now triggers a different ending. No shuttle is coming!
- Survivors must escape on a pod or survive the Red Harvest for 3 minutes. If
- Nar'Sie acquires enough souls, the round ends immediately with a **special ending**.
- - rscadd: New Harvester Sprite
- - rscadd: Harvesters can now track a random survivor on the station, then switch
- back to tracking Nar'Sie, via a new action button.
- fludd12:
- - rscadd: You can now add grills to a bonfire, letting you cook things on top of
- them.
-2017-05-17:
- 4dplanner:
- - bugfix: revenant respawning will not spam up deadchat so much, and is less likely
- to break.
- Expletive:
- - rscadd: Syndicate Tomes have been added to traitor uplinks for 9 TC. They let
- an agent or an operative provide both weal and woe.
- Penguaro:
- - bugfix: Centcom Engineering has reviewed the power schematic for the engine room
- and added an Area Power Controller.
- coiax:
- - balance: Magic eightballs are now tiny items, able to fit into a box and pocket.
-2017-05-18:
- Joan:
- - rscadd: Proselytizing alloy shards will now proselytize all the shards in the
- tile, instead of requiring you to proselytize each one at a time.
- Lordpidey:
- - tweak: Space ninjas now use action buttons instead of verbs for a more consistent
- user experience.
- - rscadd: Toy toolboxes with realistic rumbling action have been added to arcade
- prizes.
- 'Tacolizard Forever: Plasmaman Powercreep':
- - tweak: Plasmaman tanks are the same size as emergency oxygen tanks.
- coiax:
- - rscadd: Syndicate agents can purchase a "codespeak manual", that teaches them
- a language that sounds like a series of codewords. You can also hit other people
- with the manual to teach them. One use per manual.
- - rscadd: Nuclear operatives have access to a deluxe manual that is more expensive
- but has unlimited uses.
- - rscadd: Syndicate AIs know Codespeak for free.
- - bugfix: Spacevines can no longer spread on space transit turfs.
- - balance: Plastic explosives can no longer be detonated by EMPs.
- - rscadd: Various vending machines, when shooting their inventory at nearby people,
- will "demonstrate their products features". This means that if a cigarette vending
- machine throws a lighter at you, it will be on. Vending machines also choose
- random products when throwing, rather than the first available one.
- kevinz000:
- - rscadd: Peacekeeper cyborgs now have projectile dampening fields.
-2017-05-19:
- 4dplanner:
- - balance: the Hierophant club has gained in power
-2017-05-20:
- Joan:
- - balance: Proto-kinetic crushers have been worked over by our highly qualified
- techs, will recharge 12% faster, and no longer require very low-pressure atmospheres
- to fire!
- - balance: In addition, our techs have tweaked the quantum linker module and proto-kinetic
- crushers can apply multiple marks to different targets! Marks applied may eventually
- expire if not detonated.
- Steelpoint:
- - rscadd: All Pulse weapons now accurately show, by their sprites, what fire mode
- they are in.
- - rscadd: ERT, non-red alert, Security Response Officers spawn with a Tactical Energy
- Gun. This is a military variant of the Egun that, in addition to laser and disable
- rounds, has access to stun rounds.
- - tweak: Pulse Pistols can now be recharged.
- Swindly:
- - rscadd: Added modified syringe guns. They fire DNA injectors. Geneticists and
- CMOs can buy them from the traitor uplink for 14 TC.
- coiax:
- - rscadd: When a shuttle is called, sometimes an on-call admiral, using available
- information to them, will recall the shuttle from Centcom.
- octareenroon91:
- - bugfix: Golems touching a shell can now choose to stay in their own body.
-2017-05-21:
- Gun Hog:
- - bugfix: The Auxiliary Base can no longer land outside the lavaland map's boundaries.
- RandomMarine:
- - tweak: Drone laws no longer restrict drones to the station.
- Steelpoint:
- - rscadd: The Warden's Cycler Shotgun has been replaced with a Compact Combat Shotgun.
- A unique weapon, it can fit in armour slots but at the sacrifice of a smaller
- ammo capacity of four shells.
-2017-05-22:
- Joan:
- - tweak: Resonator fields now visually show how long they have until they burst.
- - bugfix: Hitting a legion skull with a resonator will now produce a field.
- - balance: Swapped how far plasma cutter blasts go when going through rock and in
- open air. This means blasts through air will go 4/5 tiles, but will mine 7/10
- tiles, for normal/advanced plasma cutters, respectively.
- - tweak: There is now a buffer zone between the mining base and lavaland where megafauna
- will not spawn.
- - tweak: Ruins will no longer spawn directly in front of the mining base.
- Lzimann:
- - rscadd: Pandemic is now tgui!
- Robustin:
- - rscadd: Gang influence is now decentralized, each gangster has their own influence
- that they can increase by spraying (and protecting) their tags and new influence-enhancing
- bling.
- - rscadd: Gang uniforms are now created based on your gang's color and can be purchased
- by any gang member. They will increase the wearer's influence and provide protection,
- but will make it fairly obvious which gang you belong to.
- - rscadd: Gangs have access to a new surplus rifle; it is a semi-automatic rifle
- that is very bulky and has a very low rate of fire. Gang members can buy this
- gun for just 8 influence.
- - rscadd: Gangs have access to the new machine gun turret; it unleashes a volley
- of bullets with an extended view range. It does not run out of ammo, but a significant
- delay between volleys and its stationary nature leaves the gunner vulnerable
- to flanking and return fire. Holding down the trigger will allow you to aim
- the gun while firing. It will cost gangs 50 influence.
- - rscadd: The sawn-off improvised shotgun is now available to gangs for 6 influence.
- With buckshot shells being easy to produce or purchase, this gun gives the most
- "bang for your buck" but its single-shell capacity will leave you vulnerable
- during a pitched gunfight.
- - rscadd: The Wetwork boots give gangs access to a lightly armored noslip variant.
- - tweak: The armored gang outfits are now slightly more resistant to ballistic and
- bomb damage
- Swindly:
- - balance: Monkeys can be weakened by stamina loss
- kevinz000:
- - bugfix: Nanotrasen decided to remove the integrated jet engines from jetpacks.
- They can no longer be used successfully indoors.
-2017-05-23:
- ClosingBracket:
- - spellcheck: Fixed very minor inconsistencies on items & punctuation on items.
- Joan:
- - rscdel: Nanotrasen has taken a lower bid for their meson suppliers, and meson
- scanners will no longer display terrain layouts while on the planet.
- - tweak: However, they have discovered that, with some tweaks, mineral scanners
- will no longer actually require you to be wearing mesons.
- - tweak: The cheaper mesons will not completely remove reliance on light.
- - tweak: Ripleys will collect all ore in front of them when they move with a clamp
- and stored ore box.
- - tweak: Chasms will glow dimly, like lava.
- Joan, Repukan:
- - rscadd: Traitor miners can now buy up to 2 KA Pressure Mods for 5 TC each.
- - balance: KA Pressure Mods now only take up 35 mod capacity each, allowing traitor
- miners to use 2 and have space for 1 other mod.
- - rscdel: R&D can no longer build KA Pressure Mods.
- Robustin:
- - rscadd: Added a sexy new icon for the harvester's AOE conversion spell
- - bugfix: Fixed construct's forcewall being invisible
- - bugfix: Fixed cult constructs "Locate Master" and "Locate Prey" not functioning
- - bugfix: Fixed spell action buttons not showing their actual availability status
- - tweak: Changed the duration of a few frames for the new Cult ending
- Steelpoint:
- - rscadd: Auto Rifle alt ammo mags (AP, Incendiary, Uranium Tipped) now have a coloured
- stripe to denote them.
- That Really Good Soda Flavor:
- - bugfix: Martial arts are no longer lost when mind-swapping, cloning, moving your
- brain, et cetera.
- - bugfix: Fixed a bug where paper bins could swallow up pens into the void.
- coiax:
- - rscadd: Galactic Common has been added to silicon's internal language database,
- meaning even if a cyborg is created from someone who previously did not know
- Galactic Common, they will be able to speak it as a silicon.
- kevinz000:
- - bugfix: Spessmen seems to have stopped suffering from the mental condition that
- makes them believe they can't move fast if they have only one leg, even if they're
- in space and using a jetpack!
- ma44:
- - rscadd: Reports of syndicate base on lavaland has been outfitted with a state
- of the art donksoft toy weapon dispenser.
-2017-05-24:
- Joan, WJohnston:
- - rscadd: Adds marker beacons to mining as a vendible item. They can be bought in
- stacks of 1, 10, and 30 at a rate of 10 points per beacon.
- - rscadd: Miners start with a stack of 10 in their backpack, and the Extraction
- and Rescue Kit contains a stack of 30.
- - rscadd: Marker beacons come in a large selection of colors and simply light up
- a small area when placed, but are useful as a path marker or to indicate dangers.
- QualityVan:
- - rscadd: Hairless hides now become wet when exposed to water
- - rscadd: You can microwave wet leather to dry it
- - bugfix: Inserted legion cores no longer work if they went inert before implanting
- Steelpoint:
- - rscadd: Sketchin alternative magazines (Armour Piercing, Hollow Point, Incendiary)
- now have unique sprites to better identify them.
- - rscadd: ERT Sec Tactical Energy Guns now have a unique sprite.
- - tweak: Changes to production of Nanotrasen Auto Rifle armour piercing bullets
- have now made AP bullets better able to penetrate armour, but at the cost of
- the amount of possible damage the bullet can do to soft targets.
- - rscadd: Many Ballistic weapons now have new sounds related to reloading or placing
- bullets into magazines.
- - rscadd: Boxstation armoury weapon racks now have glass panes to help prevent the
- weapons easily flying out of a breached hull.
- - bugfix: Fixed Battleship Raven's bridge blast doors not working.
- Tacolizard:
- - tweak: Station based armour is slightly more descriptive of what it does.
- That Really Good Soda Flavor:
- - tweak: Changed spray tan overdoses to be more realistic.
- - rscadd: People who are high and beach bums can now talk in their own stoner language.
- - tweak: Beach bums can only communicate with other beach bums and people who are
- high.
-2017-05-25:
- 4dplanner:
- - bugfix: crushers now apply marks properly
- - rscadd: 20% of internal affairs agents are actually traitors
- 4dplanner, robustin:
- - bugfix: c4 has always taken 3 seconds to plant, and you are not allow to believe
- otherwise
- Crexfu:
- - spellcheck: typo fix for origin tech
- Cyberboss:
- - experiment: Explosions will no longer have a start up delay
- - bugfix: Indestructible objects can no longer be destroyed by bombs
- Oldman Robustin:
- - tweak: Gang mode now calls a 4 minute unrecallable shuttle once 60% of the crew
- is dead
- ohnopigeons:
- - balance: The cost of plasma has been reduced from 500 to 300, but retain their
- immunity to saturation
-2017-05-26:
- Moonlighting Mac says:
- - rscadd: You can now craft a strong cloak with a hood made out of goliath and monster
- materials from within the primitive crafting screen.
- - rscadd: The cloak has a suit slot for all kind of primitive supplies, however
- it cannot carry most electronic miner equipment.
- - balance: Due to the recipe requiring leather, it is not normally accessible to
- all ghost roles without a source of water & electricity.
- kevinz000:
- - rscadd: You can now add bayonets to kinetic accelerators. However, only combat
- knives and survival knives can be added. Harm intent attacking things will cause
- you to attack that thing with the bayonet instead!
-2017-05-28:
- ClosingBracket:
- - tweak: Allows explorer webbings to hold marker beacons.
- Expletive:
- - tweak: E-Cigarettes can now fit in your pocket.
- Iamgoofball:
- - bugfix: After the Syndicate realized their top chemist was both mixing a stamina
- destroying drug with a stimulant to avoid slowdowns entirely in their sleepypens,
- they fired him and replaced him with a new chemist.
- Joan:
- - rscadd: Miner borgs can now place marker beacons from a storage of 30.
- - bugfix: Necropolis tendrils will once again emit light.
- - rscadd: The kinetic crusher can now gain bonus effects via trophy items gained
- by killing bosses with it.
- - rscadd: Yes, you do have to kill the boss primarily doing damage via the kinetic
- crusher, or you won't get the trophy item and the bonus effect it grants.
- Kor:
- - bugfix: The chaplains possessed blade, shades, and constructs, can once again
- speak galactic common.
- QualityVan:
- - bugfix: Bayonets can now be used for butchery
- - tweak: Cloning pods which are interrupted by a emagging will now produce a slightly
- lumpier smoothie
- - bugfix: Cloning pods that have stopped cloning early can no longer be broken open
- to extract leftover parts
- - bugfix: Crew monitoring consoles once again have minimaps while you're on the
- station level
- Steelpoint:
- - rscadd: A New Iron Hawk troop transport ruin has been added to lavaland. Can the
- sole surviving Marine somehow survive the horrors of lavaland? Lore fluff included.
- - rscadd: Central Command has listened to complaints and, as such, has now stationed
- "real" Private Security Officers at centcom docks.
- - rscadd: A new Nanotrasen Security Officer NPC variant is available to admins,
- this 'peaceful' version will only attack people who attack it first. Great for
- keeping order.
- Swindly:
- - bugfix: fixed not being able to attach heads without brainmobs in them
- cacogen:
- - rscadd: You can now rename dog beds by buckling a new owner to them
- - rscadd: Dogs that spawn in an area with a vacant bed will take possession of and
- rename the bed
- - rscadd: Adds AI follow links to holopad speech and PDA messages. Note that PDA
- messages point to the owner of the PDA and not the PDA's actual location.
- - bugfix: Fixes PDA icon not showing up beside received messages for AIs
- kevinz000:
- - rscadd: Nanotrasen's new titanium wall blueprints are smooth enough that it can
- reflect projectiles!
-2017-05-29:
- Joan:
- - spellcheck: Renames hivelord and legion cores to 'regenerative core'. Their descs
- have also been updated to be more clear.
- Nanotrasen Plasmaman Outreach Division:
- - tweak: plasmaman tank volume has been increased from 3 to 6.
- XDTM:
- - balance: Abductors have learned how to properly delete the memories of their test
- subjects.
- bandit:
- - tweak: The officer's sabre standard in Nanotrasen captain rollouts can be used
- to remove the tails of lizard traitors, or lizards in general.
- oranges:
- - rscadd: AI's can now hang up all holocalls at a station with alt+click
-2017-05-30:
- Expletive:
- - rscadd: Luxury versions of the bluespace shelter capsule are now available! Purchase
- them at the mining equipment vendor.
- - rscadd: 'Cardboard cutouts have a new option: Xenomorph Maid'
- - rscadd: Black Carpet can now be crafted using a stack of carpet and a black crayon.
- - rscadd: Black fancy tables can now be crafted using Black Carpet.
- - rscadd: Shower curtains can now be recoloured with crayons, unscrewed from the
- floor, disassembled with wire cutters, and reassembled using cloth, plastic,
- and a metal rod.
- kevinz000:
- - rscadd: Research and Development have recieved designs for new prototype Beam
- Marksman Rifles. These rifles require a short aiming cycle to fire, however,
- have extreme velocity over other weapons.
- - experiment: Aiming time is 2 seconds, hold down mouse to aim, aiming time increases
- if you change your aim based on angle changed, or if you move while aiming.
- The weapon can not be fired while unscoped.
- - rscdel: However, someone tripped and pulled out the power cord while your servers
- were being updated with the latest revision of accelerator laser cannons. All
- data have been lost...
-2017-06-02:
- Cyberboss:
- - experiment: New server backend!
- - tweak: Test merged PRs now show the commit of the PR at which they were merged
- Expletive:
- - rscadd: Adds the NT75 Electromagnetic Power Inducer, a tool which can be used
- to quickly recharge many devices! They can be found in Electrical Closets, the
- CE's locker, ordered by cargo, or created in RnD.
- Goodstuff:
- - bugfix: Fixes the crafting recipe for black carpet
- - bugfix: Removed a random white dot on the black carpet sprite
- Joan:
- - rscadd: Goliaths, Watchers, and Legions have a small chance of dropping a kinetic
- crusher trophy item when killed with a kinetic crusher. Like the boss trophy
- items, these give various effects.
- - tweak: Kinetic crushers recharge very slightly slower.
- - rscadd: Three unique Kinetic Accelerator modules will now appear in necropolis
- chests.
- MMMiracles (Cerestation):
- - rscadd: CereStation's Security department has been overhauled entirely thanks
- to the tireless efforts of Nanotrasen's construction division.
- Nanotrasen Mining Alert:
- - rscadd: Nanotrasen's mining operations have created far more corpses than an entire
- galaxy of cooks could hope to deal with. To solve this, we decided to just dump
- them all from orbit onto the barren lava planet. Unfortunately, the creatures
- called "Legion" have infested a great number of them, and you can now commonly
- find the bodies of former Nanotrasen employees left behind. Additionally, there
- are reports of natives, other settlers, and even stranger things found among
- the corpses.
- QualityVan:
- - tweak: The tactical rigging in op closets is more tacticool
- Shadowlight213:
- - balance: The reset wire on borgs must now be cut to reset a borg's module instead
- of pulsed.
- - tweak: Portable pump max pressure has been lowered.
- Steelpoint:
- - tweak: Iron Hawk Marine no longer has Centcom all access. My mistake.
- - bugfix: Fixes Iron Hawk marine carbine not having a visible sprite.
- Swindly:
- - balance: Nitrous oxide no longer produces water as a by-product, requires 2 parts
- ammonia instead of 3, and produces 5 parts when made instead of 2.
- kevinz000:
- - experiment: Gang turrets now follow the mouse of the person using them! Yay!
- octareenroon91:
- - bugfix: Attempts to add items to a storage container beyond its slots limit will
- now obtain a failure message again.
-2017-06-03:
- Expletive:
- - tweak: Chem Dispensers now store their power in their batteries.
- - tweak: Instead of being based on battery and capacitor ratings, recharge delay
- for portable chem dispensers is now based on their capacitor and matter bin
- ratings.
- - tweak: The Seed Vault's chemical dispenser now has all the chemicals a pod person
- could want.
- - rscadd: The crafting menu now has subcategories!
- - rscadd: Food recipe categories have been combined as subcategories of the Foods
- category.
- - rscadd: Weaponry and Ammunition have been combined as subcategories of the Weaponry
- category.
- Improvedname:
- - rscadd: Janitors now start with a flyswatter
- Mothership Epsilon:
- - tweak: All your base are belong to us.
- Penguaro:
- - bugfix: '[Box] Removes extra/unattached vent from Xeno Lab'
- Planned Spaceparenthood:
- - bugfix: We would like to apologize for mislabeled cloning pod buttons.
- WJohnston:
- - bugfix: Deltastation's south nuke op shuttle location should no longer be possible
- to teleport into by moving off the map and back on, and moved the rest closer
- to the station.
- p440:
- - bugfix: Fixed duping cable coils with magic APC terminals
- - bugfix: Fixed invalid icon state for empty APCs
-2017-06-04:
- Expletive:
- - rscadd: Many stacks now update their sprite based on their amount.
- - rscadd: Stacks will now weigh less if they're less than full.
- - imageadd: Added new icon states for glass, reinforced glass, metal, plasteel,
- plastic, plasma, plastitanium, titanium, gold, silver, adamantine, brass, bruise
- packs, ointment, gauze, cloth, leather, wet leather, hairless hide, human hide,
- ash drake hide, goliath hide, bones, sandstone blocks, and snow blocks.
- - tweak: Some lavaland stacks' max amounts have been reduced.
- - bugfix: Bulldog Shotguns should update their sprite properly when you remove the
- magazine.
- - bugfix: Riot suits no longer hide jumpsuits.
- Joan:
- - balance: Rod Form now costs 2 points, from 3.
- - balance: Rod Form now does 70 damage, from 160, but gains 20 damage, per upgrade,
- when upgraded. This means you'll need to spend 6 points on it to instantly crit
- people from full health.
- Swindly:
- - balance: Chemical grenades are no longer permanently disabled after being unlocked
- by wirecutters after being primed.
-2017-06-05:
- Expletive:
- - rscadd: The Ore Redemption Machine has been ported to TGUI. New features include
- the addition of "Release All" and "Smelt All" buttons.
- - rscadd: The Ore Redemption Machine now be loaded with sheets of material.
- - rscadd: The Ore Redemption Machine can now 'smelt' Reinforced Glass.
- Joan:
- - balance: Only human and silicon servants can help recite multi-invoker scriptures.
- This means cogscarabs, clockwork marauders, and anima fragments DO NOT COUNT
- for scriptures that require multiple invokers.
- - balance: Clockcult scripture tiers can no longer be lost by dipping below their
- requirements once they are unlocked.
- - rscdel: Removes Revenant scriptures entirely.
- MMMiracles:
- - tweak: Deepstorage ruin has been redone to be more self-sufficient and up to better
- mapping standards.
-2017-06-06:
- Joan:
- - rscadd: Added a new unique Kinetic Accelerator module to necropolis chests.
- - spellcheck: Renames Clockwork Proselytizers to Replica Fabricators.
- - balance: Replica Fabricators can directly consume floor tiles, rods, metal, and
- plasteel for power instead of needing to convert to brass first.
- - balance: Cogscarabs can no longer use guns.
- - tweak: KA modkits in necropolis chests are now design discs with designs for those
- modkits, to force miners to bring back minerals.
- PKPenguin321:
- - bugfix: The fake pits that the arcade machines can vend now vend properly, for
- real this time.
- Robustin:
- - rscadd: The cult master has finally acquired their 3rd spell, Eldritch Pulse.
- This ability allows the cult master to quickly teleport any cultist or cult
- structure in visual range to another tile in visual range. This spell has an
- obvious spell effect that will indicate where the target has gone but without
- explicitly revealing who the master is. This spell should assist with moving
- obstinate cultists off an important rune, getting wandering cultists back onto
- an important rune, save a cultist from an untimely arrest/summary execution,
- assist in getting your allies into secure areas, etc.
- - bugfix: The void torch now only works on items that have been placed on surfaces,
- this prevents the inventory bugs associated with this item.
- thefastfoodguy:
- - tweak: you can burn your brains out with a flashlight if you're tired of life
-2017-06-07:
- Expletive:
- - rscadd: New plasma medals have been added to the Captain's medal box. Don't get
- them too warm.
- - imageadd: New sprites for plasma medals.
- - imageadd: Icon and worn sprites for all medals and the lawyer's badge have been
- improved. Worn medals more closely match their icons.
- - tweak: The bone talisman is an accessory again, so it's not useless.
- - imageadd: It also has a new worn sprite, based on an arm band.
- - imagedel: Ties have been removed from accessories.dmi and vice versa. Same for
- the explorer's webbing sprites that were in there. ties.dmi is now neck.dmi,
- and has sprites for scarves, ties, sthetoscopes, etc.
- - tweak: Examining an accessory now tells you how to use it.
- Joan:
- - spellcheck: Renamed Volt Void to Volt Blaster.
- - tweak: Volt Blaster does not consume power when firing and does not cause backlash
- if you don't fire.
- - balance: Volt Blaster does 25 damage, from 20-40 depending on power, and has 5
- shots, from 4, over its duration.
- QualityVan:
- - bugfix: Surplus rifles are no longer invisible while unloaded
- Shadowlight213:
- - balance: The Changeling Transformation Sting is once again stealthy. However,
- it no longer transfers mutations.
- - balance: The chemical cost of Transformation Sting has been increased to 50
-2017-06-08:
- 4dplanner:
- - bugfix: traitors show up on antagHUD
- Expletive:
- - tweak: The detective's flask has Hearty Punch instead of whiskey.
- - bugfix: The Detective's fedora no longer clips with hair.
- - imageadd: Adds 91 new sprites to fix clipping issues with the Detective's fedora
- and hair.
- - imageadd: Change the standard fedora to match the detective and treasure hunter
- variants.
- - tweak: Detective, Treasure Hunter, and standard fedoras now all benefit from new
- sprites.
- Joan:
- - balance: Tinkerer's Daemons are no longer totally disabled if you drop below the
- servant requirement.
- - balance: Instead, Tinkerer's Daemons will disable until the number of active daemons
- is equal to or less than one-fifth of the living Servants.
- - tweak: Tinkerer's Daemons produce components very slightly slower.
- - rscadd: Added Prolonging Prism as an application scripture.
- - balance: Prolonging Prism will delay the arrival of an emergency shuttle by 2
- minutes at the cost of 2500W of power plus 75W for every 10 CV and 750W for
- every previous activation. In addition to the high cost, it very obviously affects
- the shuttle dock and leaves an obvious trail to the prism.
- - balance: Script scripture now requires 6 Servants to unlock, from 5, and Application
- scripture now requires 9 Servants to unlock, from 8.
- Lzimann + Cyberboss:
- - experiment: Ported goonchat. Much less laggy and crashy than BYOND chat. + Frills!
- NanoTrasen Public Relations Department:
- - rscadd: A mining accident has released large amounts of space dust, which is starting
- to drift near our stations. Don't panic, it's probably safe.
- Nanotrasen Plastic Surgery Advert:
- - rscadd: Are you a mutant? Were you born hideously deformed? Do you have ears growing
- out of the top of your head? Or even a tail? Don't worry, with our patented
- surgical techniques, Nanotrasen's highly trained medical staff can make you
- normal! Schedule an appointment, and one of our surgeons can see you same day.
- - balance: Cat ears now give you double the ear damage.
- QualityVan:
- - bugfix: Cremators now still work when there's only one thing in them
- - bugfix: The ORM now uses the intended amount of resources when making alloys
- - rscdel: Cyborgs can no longer alt-click their material stacks to split them
- Robustin:
- - balance: The blood cult can only attempt to summon Nar-Sie in one of three rooms
- that are randomly selected at round-start.
- Shadowlight213:
- - rscadd: Tracking implants and chem implants have been added to rnd
- - rscdel: Adrenaline and freedom implants have been removed from rnd
- Xhuis:
- - tweak: Defibrillator paddles will no longer stick to your hands, and will snap
- back onto the unit if you drop them somehow.
- lzimann:
- - rscdel: Xeno queens can no longer be maids
- oranges:
- - rscadd: Added stungloves to the brain damage lines
-2017-06-09:
- Nanotrasen Shiny Object Appreciation Club:
- - rscadd: The RD and HoS now receive medal lockboxes in their lockers, containing
- science and security medals, respectively.
- Tacolizard and Cyberboss, idea by RandomMarine:
- - rscadd: You can now add a commendation message when pinning a medal on someone.
- - rscadd: Medal commendations will be displayed when the round ends.
- - tweak: Refactored the outfit datum to allow accessories as part of an outfit.
- - bugfix: The Captain spawns with the Medal of Captaincy again.
- TrustyGun:
- - rscadd: Some of the clown's toys have been moved into a crate in the theater.
- If you think you are missing something, check in there.
- - rscadd: Wooden crates have been added. You can construct them with 6 wooden planks,
- and deconstruct them the same way as regular crates
- oranges:
- - tweak: Security minor and major crime descriptors are now a single line input,
- making it easier to add them
- - tweak: Medical record descriptions are single inputs now
-2017-06-11:
- Expletive:
- - imageadd: Glass tables are shinier
- Nanotrasen Consistency Affairs:
- - bugfix: You no longer see yourself in place of the user when examining active
- Spirit Sight runes.
- Shadowlight213:
- - bugfix: Cloning dismembered heads and brains now respects husking and other clone
- preventing disabilities.
- WJohn:
- - bugfix: It is now easier to wire the powernet into box's telecomms SMES cell.
- Xhuis:
- - rscadd: You can now pin papers and photos to airlocks. Anyone examining the airlock
- from up close can see the details. You can cut them down with wirecutters.
- lordpidey:
- - rscadd: Added F.R.A.M.E. cartridge to uplinks. This PDA cartridge contains 5
- viruses, which when used will unlock the target's PDA into a syndicate uplink,
- in addition, you will receive the code needed to unlock the uplink again, if
- you so desire.
- - rscadd: If you use telecrystals on a F.R.A.M.E. cartridge, the next time it is
- used, it will also give those crystals to the target uplink.
- octareenroon91:
- - bugfix: Mecha tools now respond to MMI control signals as intended.
- shizcalev:
- - tweak: '"Species immune to radiation are no longer compatible targets of radiation
- based DNA injectors."'
- - bugfix: '"A gun''s firing pin will no longer malfunction when placed into your
- own mouth. Phew!"'
- - imageadd: '"Bedsheets capes are now slightly more accurate. Be jealous of the
- clown and their sexy cape!"'
-2017-06-13:
- Expletive:
- - tweak: Paper planes are now the same color as the paper used to make them.
- - bugfix: Flashdarks can no longer be used to examine head based organs.
- Fox McCloud:
- - tweak: Tweaked game options animal speed value to match live server
- Joan:
- - spellcheck: Renamed AI liquid dispensers to foam dispensers.
- - tweak: Foam dispensers now activate immediately when clicked, rather than forcing
- the user to go through a menu. They also have better visual, message, and examine
- feedback on if they can be activated.
- MrStonedOne:
- - experiment: Added some code to detect the byond bug causing clients to send phantom
- actions shortly after connection. It will attempt to fix or work around the
- issue.
- Nanotrasen Robotics Department:
- - rscadd: To aid in general-purpose cleaning and maintaining of station faculties,
- all janitor cyborgs are now outfitted with a screwdriver, crowbar, and floor
- tile synthesizer.
- WJohnston:
- - bugfix: Survival bunker ruin's power now works, mostly.
- shizcalev:
- - tweak: '"Radiation immune species are now incompatible with the radiation based
- genetics DNA scanner/modifier."'
-2017-06-14:
- Expletive:
- - rscadd: The medalboxes are now fancy.
- - imageadd: New sprites for opened medal boxes.
- Joan:
- - tweak: Being converted to clockcult will briefly cause your world to turn yellow
- and you to hear the machines of Reebe, matching the description in the messages.
- - spellcheck: The messages for being converted and for failing conversion to clockcult
- have been updated.
- Tacolizard:
- - bugfix: Flamethrowers no longer say they're being ignited when you extinguish
- them
-2017-06-17:
- Cyberboss:
- - tweak: NT now provides education on the proper response for experiencing the excrutiating
- pain of varying degree burns (You scream when burning)
- Expletive:
- - rscadd: The Captain now starts with a deluxe fountain pen in their PDA.
- - rscadd: The quartermaster, curator, research director, lawyer, and bartender start
- with normal fountain pens in their PDAs.
- - rscadd: Cargo can order fountain pens via the Calligraphy Crate.
- - rscadd: Nerds on the station will be pleased to know they now have pocket protectors.
- - bugfix: Cryo cells work properly on mobs with varying max health values.
- Joan:
- - rscdel: Cultists must be human to run for Cult Master status.
- - tweak: The Hierophant is a little less chaotic and murdery on average.
- LanCartwright:
- - rscadd: Penguins, penguin chicks, penguin eggs.
- - rscadd: Penguin family to Winter Wonderland.
- MrStonedOne and Lummox JR:
- - bugfix: Fixed icon scaling and size preferences not loading (Technically size
- preferences were loading because byond saves that locally, but that's not reliable
- because ss13 shares a hub)
- QualityVan:
- - rscadd: The botany vending machine now has a stock of onion seeds
- RandomMarine:
- - tweak: RCDs now always use matter consistent with the material needed when building.
- - tweak: Floors now cost 3 or 1 matter to build, based on if a lattice exists on
- the tile.
- - tweak: Reinforced windows cost 12 matter. Normal windows cost 8 matter. (Both
- up/down from 10)
- - tweak: Glass airlocks cost 20 matter.
- - tweak: RCDs are faster at building grilles and plain glass windows.
- Steelpoint:
- - tweak: Slightly reshuffles the Head of Security's, and Research Directors, locker
- to place fluff items below essential items.
- Tacolizard:
- - rscdel: Flashes no longer have a tech requirement
- That Really Good Soda Flavor:
- - bugfix: High luminosity eyes will have material science instead of an error research
- type
- Thunder12345 and Improvedname:
- - rscadd: You can now turn severed cat tails and ears into genuine kitty ears
- - rscadd: Cat tails can now be used to make a cat o' nine tails, similarly to the
- liz o' nine tails.
- Xhuis:
- - spellcheck: The names of the hand drill, jaws of life, and emitter are now lowercase.
- - spellcheck: The descriptions of the hand drill, jaws of life, and emitter have
- been changed to be more descriptive and less lengthy.
- - rscadd: Tablets with IDs in them now show the ID's name when examining someone
- with that tablet in their ID slot, similar to a PDA would.
- bandit:
- - tweak: Default short/medium/long brig times are now, in order, 2, 3, and 5 minutes.
-2017-06-18:
- Expletive:
- - tweak: Stacks of space cash now tell you their total value and their value per
- bill when you examine them.
- RandomMarine:
- - tweak: Compressed matter cartridge production costs now reflect their material
- worth at basic efficiency.
- - bugfix: Compressed matter cartridges can now be exported.
- Xhuis:
- - bugfix: Puny windows will no longer stop the progress of Ratvar.
-2017-06-19:
- Expletive:
- - rscadd: Paper frames can be created using wood and paper, and can be used to create
- decorative structures.
- - rscadd: Natural paper can now be crafted
- - rscadd: KorPhaeron can now start a maid cafe, if they so desire.
- - rscadd: Thanks to the invention of "Bill slots", vending machines can now accept
- space cash.
- - tweak: The Clown and Mime can now find their unique crayons stored inside their
- PDAs
- LanCartwright:
- - rscadd: 1D4 into Lavaland Mining base crate.
- RandomMarine:
- - tweak: Bonfires now work on lavaland!
- Tacolizard:
- - rscadd: Repurposed the action button tooltip code to add tooltips with the examine
- details of all held and equipped items. Hover your mouse over any item equipped,
- held or in your inventory to examine it.
- - rscadd: Examine tooltips can be toggled with the 'toggle-examine-tooltips' verb,
- which can be typed or accessed from the OOC menu.
- - rscadd: You can change the delay before a tooltip appears with the 'set-examine-tooltip-delay'
- verb, also accessible via the OOC menu. The default delay is 500ms.
-2017-06-20:
- Bawhoppen:
- - bugfix: Grenade belts and bandoliers will no longer obscure half the screen when
- they're completely filled.
- LanCartwright:
- - rscdel: Removed loot drops from Syndicate Simple mobs.
- Tacolizard:
- - rscadd: Some items now have custom force strings in their tooltips.
- - bugfix: items with no force can still use a custom force string.
- Xhuis:
- - bugfix: The station's heaters and freezers have been sternly reprimanded and will
- now drop the correct circuit boards and cable coils.
- - rscadd: The straight jacket now takes five seconds to put on.
- - bugfix: The display cases in luxury shelter capsules will no longer spawn unobtainable,
- abstract offhand objects.
- - bugfix: Disablers now have an in-hand sprite.
- nicbn:
- - imageadd: Changed cryo sprites to Bay cryopods, which show the person inside of
- them.
-2017-06-22:
- Bawhoppen:
- - rscadd: Dressers are now constructable, and unanchorable with a wrench.
- ClosingBracket:
- - spellcheck: Fixes small typographical errors on flight suits and implanters.
- Ergovisavi:
- - tweak: Nanofrost setting and metal foam synthesizer on the Atmos watertank backpack
- changed to "Resin", which is a solid, but transparent structure similar to metal
- foam that scrubs the air of toxins, regulates temperature, etc
- - tweak: Atmos holobarrier device swapped out for an Atmos holo-firelock device,
- which creates holographic firelocks that prevent atmospheric changes from going
- over them
- Expletive:
- - tweak: Flame thrower plasma tanks can be removed with alt-click.
- Lordpidey:
- - bugfix: True and arch devils are no longer deaf.
- - bugfix: Fixed some edge cases with devils getting two sets of spells.
- - bugfix: True/arch devils can now instabreak cuffs.
- - rscadd: The codex gigas now indicates if a devil is ascendable or not.
- - tweak: Hellfire has been buffed, it now explodes multiple times.
- Nanotrasen Robotics Department:
- - tweak: Traitor AIs' malfunction modules have received a firmware update and are
- more responsive, with HUD buttons and more sensible menus.
- - tweak: Overload and Override Machines now function differently; instead of right-clicking
- a machine to choose a context menu option, you activate the ability, which lets
- you left-click on a machine to overload or override it. This also changes your
- cursor.
- Xhuis:
- - rscadd: Alt-clicking the Show/Hide Actions button will now reset the positions
- of all action buttons.
- - rscadd: Hints to the two shortcuts for action buttons are now included in the
- Show/Hide Actions button's tooltip.
- - rscadd: (As a reminder, that's shift-click to reset the clicked button, and alt-clicking
- the Show/Hide Actions button to reset it and all the others!)
- - spellcheck: The names of several objects, such as the holopad and biogenerator,
- have been lowercased.
- - spellcheck: Added some descriptions to a few objects that lacked them.
- - rscadd: Tablets now have a built-in flashlight! It can even change colors, as
- long as they're light enough in hue.
- bandit:
- - rscadd: Nanotrasen researchers have made the breakthrough discovery that Lavaland's
- plants are, in fact, plants, and can be harvested with seed extractors.
- ohnopigeons:
- - bugfix: After a janitorial audit Nanotrasen has decided to further cut costs by
- removing the janicart's secret space propulsion functionality
-2017-06-23:
- BeeSting12:
- - bugfix: The clowndagger now has the correct skin.
- MrStonedOne:
- - tweak: Makes old chat show while goonchat loads. Should goonchat fail to load,
- the old chat will still be operational.
-2017-06-25:
- Expletive:
- - rscadd: Adds the skull codpiece, which can be crafted from parts of lavaland monsters.
- - rscadd: Maid Costume aprons can now be detached and reattached to any uniform.
- Improvedname:
- - rscadd: You can now export cat ears/tails for 1000 credits
- JJRcop:
- - bugfix: Fixed telekinesis remote item pick up exploit
- Kor:
- - rscadd: Robotic legs now let you use pockets without a jumpsuit, and a robot chest
- now lets you use the belt slot and ID slot without a jumpsuit.
- RandomMarine:
- - rscadd: Cargo can now export mechs!
- Steelpoint:
- - rscadd: Station Engineers spawn with a Industrial Welder in their toolbelt.
- - tweak: Engineering Welder Locker now only holds three standard Welders.
- - rscadd: An old Nanotrasen Space Station has quietly reawoken its surviving crew
- one hundred years after they fell to slumber. Can the surviving crew, using
- old, broken and out of date equipment, overcome all odds and survive, or will
- the cold embrace of the stars become their new home?
- - tweak: Nanotrasens Corps of Engineers has refitted and refurbished NTSS Boxstations
- Engineering area into, what Centcom believes, a more efficient design.
- That Really Good Soda Flavor:
- - experiment: Added the ability for a holiday to start on the nth weekday of a month.
- - experiment: Allahu ackbar! Added the ability to calculate Ramadan.
- - rscadd: Added Thanksgiving, Mother's Day, Father's Day, Ramadan, and Columbus
- Day to the possible holidays.
- - bugfix: Fixed nuclear bombs being radioactive.
- Xhuis:
- - rscadd: You can now unfasten intercoms from walls and place them elsewhere on
- the station.
- - rscadd: Intercom frames can now be created at an autolathe for 75 metal and 25
- glass.
- - bugfix: Nearly-full goliath hide stacks now correctly have a sprite.
-2017-06-27:
- Ergovisavi:
- - bugfix: Fixed a few anomalous crystal effects
- - bugfix: Fixes stacking atmos resin objects in a single tile
- - tweak: Lasers now go through atmos resin objects
- Joan:
- - tweak: The Necropolis has been rethemed.
- Kor:
- - rscadd: Added dash weapons, which let you do a short teleport within line of sight.
- - rscadd: The ninjas energy katana now lets him dash. He can no longer teleport
- with right click.
- - rscadd: Glass shards will no longer hurt people with robotic legs.
- - rscadd: Mesons work on lavaland again.
- Xhuis:
- - spellcheck: The names of most glasses, like mesons, t-ray scanners, and night
- vision goggles, have been lowercased.
- - spellcheck: The thermonocle's description now changes based on the gender of the
- person examining it.
- - bugfix: Straight jackets can now properly be put onto others.
- drline:
- - bugfix: Nanotrasen finally sent out IT personnel to plug your modular consoles
- back in. You're welcome.
-2017-06-28:
- Cyberboss:
- - rscdel: Cortical borers have been removed
- Shadowlight213:
- - rscadd: There is now a new monitor program that engineers can use to monitor the
- supermatter status
- Tacolizard:
- - rscadd: NanoTrasen has now outfitted their employees with Extra-Loud(TM) Genetically
- Modified Hearts! Now you can hear your heart about to explode when the clown
- shoots you full of meth, or hear it slowly coming to a stop as you bleed out
- in critical condition after being toolboxed by an unknown gas-mask wearing assistant.
-2017-07-07:
- Ergovisavi:
- - tweak: Added a recovery window after some variable length megafauna attacks
- - rscadd: Adds a new mob to the game, the "leaper"
- - rscadd: Adds another planetstation mob, the "wanderer/mook" to the backend
- - bugfix: Fixes a problem with player controlled leapers where they occasionally
- can't fire
- Joan:
- - tweak: Rethemes the ash walker nest to match the Necropolis.
- - balance: Chasms, asteroid turfs, basalt, and lava can no longer be made wet.
- - rscadd: A strange new Resonant Signal has appeared on lavaland.
- - tweak: Dreams while sleeping are now slightly longer on average and will contain
- more possibilities.
- - rscadd: Bedsheets may affect what you can dream.
- Lexorion:
- - imageadd: The portable PACMAN generators now have new icons, including on and
- off states.
- More Robust Than You:
- - rscadd: Nanotrasen has added lids to their soda that POP! when opened. Up to 3
- possible sounds!
- - bugfix: brain damage should no longer attempt to emote/say things while unconcious
- NanoTrasen Smithy Department:
- - soundadd: Tasked by corporate heads to make NanoTrasen's line of captain rapiers
- flashier, a few brave smiths have managed to forge their steel in a way that
- enhances their swords' acoustic properties.
- Shadowlight213:
- - rscdel: The majority of the tiny fans on Deltastation have been removed.
- - tweak: Airlocks going to space, and secure areas like the bridge and sec on Delta
- have been given the cycling system.
- - balance: The freedom suit no longer slows you down and can withstand the FIRES
- OF LIBERTY!
- Steelpoint (Ancient Station):
- - rscadd: Major changes to Ancient Station include new sounds for the prototype
- RIG hardsuit, the NASA Engineering Voidsuit slowing the user down properly and
- new insulated gloves in engineering.
- - rscadd: Several minor changes, such as an extra oxygen tank, spawn in equipment
- and minor tile changes.
- Supermichael777:
- - balance: The AI swap menu is now given to the person with the multi-tool rather
- than the Borg. Old behavior remains for all non multi-tool sources
- - bugfix: Borgs and shells now notify when un-linked due to the wire being cut.
- Tacolizard:
- - bugfix: Nanotrasen has begun a program to inform the souls of the departed that
- their hearts can't beat after death.
- - bugfix: heartbeat noises now loop (i can't come up with any dumb fluff for this
- one sorry)
- That Really Good Soda Flavor:
- - bugfix: Martial arts will no longer be transferred in cloning, etc. if they are
- temporary (i.e. wrestling, krav maga).
- Xhuis:
- - tweak: Recollection has been separated into categories and should be easier to
- read and more informative.
- - bugfix: Ratvar has been reminded that he hates Nar-Sie and will now actively pursue
- fighting her.
- - bugfix: You can now properly dig out plants from patches of soil.
- - bugfix: Reskinnable guns no longer become invisible after firing a single shot.
- - bugfix: The kinetic crusher and other forced two-handed objects can now correctly
- be stored in a bag of holding.
- - bugfix: Positronic brains' icons will now properly change depending on status.
- - tweak: Positronic brains will now stop searching as soon as they're occupied.
- - tweak: Positronic brains now have error messages if activating them fails for
- whatever reason.
- - bugfix: Unconscious Servants are now properly informed when they're deconverted.
- - bugfix: The Voice of God no longer specifically targets creatures like constructs
- and clockwork marauders.
- - bugfix: Heartbeat sounds no longer play indefinitely if your body is destroyed.
- kevinz000:
- - rscadd: Headphones have been provided to the station in Autodrobes, mixed wardrobes,
- and fitness wardrobes. Please use them responsibly, and remember to focus on
- your job above all else!
- - experiment: Headphones fit in head, ears, OR neck slots!
- ohnopigeons:
- - bugfix: Nanotrasen Electronics have fixed a bug where issued factory-fresh PDAs
- did not link to their cartridges, requiring manual reinsertion.
- shizcalev:
- - balance: Nanotrasen has upgraded the obsolete teleporter consoles on most NT branded
- stations with newer ones preloaded with the newest Supermatter monitoring application!
- - soundadd: The supermatter base now has a speaker and will provide audio cues as
- to it's current status!
- somebody:
- - rscadd: Strong plasma glass windows
-2017-07-09:
- Crexfu:
- - tweak: 2 plasma sheets have been added to viro break room on box
- More Robust Than You:
- - bugfix: Plasma and Reinforced plasma glass no longer merge with Normal and Reinforced
- Glass
- Xhuis:
- - bugfix: You can no longer catch objects that require two hands at all times with
- only one hand.
-2017-07-11:
- RandomMarine:
- - rscadd: Drones can now switch between help and harm intent.
- Tacolizard:
- - rscadd: Admins can now set a message/warning when they delay the round end, to
- be shown to anyone who tries to reboot the world.
- Tacolizard and Cyberboss:
- - rscadd: Added two new organs, the liver and stomach. Without them, you won't metabolize
- chemicals.
- - rscadd: The liver is responsible for processing all chemicals except nutrients.
- If your liver is removed, you will be unable to metabolize any drugs and will
- slowly die of toxin damage.
- - rscadd: Drinking too much alcohol or having too many toxins in you will damage
- your liver, if it becomes too damaged, it will undergo liver failure and you
- will slowly die of toxin damage. Your liver naturally heals a small amount of
- its damage. However, it doesn't heal enough to offset stronger alcohols or large
- amounts of toxins, at least until they are metabolized out of your body.
- - rscadd: to conduct a liver transplant, inject corazone into the patient. Corazone
- will prevent the patient from taking damage due to either not having a liver
- or undergoing liver failure. Corazone will metabolize out of the patient quickly,
- so at least 50u is recommended.
- - rscadd: The stomach is responsible for metabolizing nutrients. Without a stomach,
- you will be unable to get fat, but you will also be unable to process any nutrients,
- meaning you will eventually starve to death.
- Xhuis:
- - bugfix: Mobs spawned by Necropolis curses are now immune to chasms.
- - tweak: The BoxStation warden's office now has a crew monitoring console.
- - imageadd: Clockwork slabs now show icons of the components used in scripture instead
- of initials.
- factoryman942:
- - bugfix: Boxstation Robotics now has 6 flashes, from 2.
- - bugfix: Metastation Robotics now has 40 sheets of glass, instead of 20.
- shizcalev:
- - tweak: The supermatter reporting system has been updated to report remaining integrity,
- as opposed to how unstable the SM currently is.
-2017-07-18:
- BeeSting12:
- - tweak: Deltastation's auxiliary storage in arrivals can be accessed by anyone
- now.
- - bugfix: Deltastation's cargo bay maintenance can now be accessed by cargo techs.
- Dannno/Supermichael777/InsaneHyena:
- - rscadd: You can now pick from a few different styles when augmenting someone with
- robot parts by putting them in the augment manipulator. Alt+click to take parts
- out.
- Ergovisavi:
- - bugfix: Fixed the refresher variant of the anomalous crystal making holodeck items
- real
- Fox McCloud:
- - rscdel: blood and gibs on turfs can no longer infect nearby people
- - tweak: Tuberculosis bypasses species virus immunity (it's not a virus!)
- - tweak: Disease and appendicitis events no longer infect clientless mobs
- - tweak: Disease event will no longer pick virus immune mobs
- - tweak: Appendicitis event will no longer pick mobs without an appendix
- - bugfix: Fixed changeling panacea curing non-harmful viruses
- - bugfix: Fixes IV drips not properly injecting the right amount of blood
- Joan:
- - rscdel: Removed the Soul Vessel, Cogscarab, and Anima Fragment Scriptures.
- - bugfix: The Ark of the Clockwork Justicar will still forcibly take up a 3x3 area
- even if it still needs components to activate.
- MrStonedOne & Fox-McCloud:
- - tweak: Made pathfinding much quicker
- NewSta:
- - bugfix: Fixes the maid apron being invisible when in-hand or attached to the maid
- outfit.
- XDTM:
- - experiment: Viruses and symptoms have been havily reworked.
- - rscadd: Symptoms now have statistic thresholds, that give them new properties
- or improve their existing ones if the overall virus statistic is above the threshold.
- Check the pull request in github or the wiki (soon) for the full list.
- - rscdel: Some symptoms no longer scale linearly with stats, and instead have thresholds.
- - tweak: The symptom limit is now 6.
- - rscdel: Viruses can no longer be made invisible to the Pandemic
- - tweak: Symptoms no longer trigger with a 5% chance every second, but instead have
- a minimum and maximum number of seconds between each activation, making them
- more consistent.
- - rscdel: The symptoms Blood Vomit and Projectile Vomit have been removed, and are
- now bonuses for the base Vomit symptom.
- - rscdel: The Weakness symptom has been removed as it was completely useless.
- - tweak: The Sensory Destruction symptom has been reworked into Narcolepsy, which
- causes drowsiness and sleep.
- - tweak: Viral Aggressive Metabolism now has a timer before it starts decaying the
- virus. It scales with the highest between Resistance or Stage Speed.
- - rscadd: You can now neuter symptoms, making them inactive. They will still affect
- stats. Adding formaldehyde to a virus will neuter a random symptom. A bottle
- of formaldehyde starts in the virus fridge.
- Xhuis:
- - tweak: The tachyon-doppler array's rotation now has messages, sprites, and examine
- text.
- - bugfix: Time stop is now fixed, finally!
- - soundadd: Time stop's sound now plays in reverse when the effect ends.
- - bugfix: Missiles can no longer ricochet off of shuttle walls, etc.
- - bugfix: Winter coats now hold all flashlights properly, instead of seclites.
- Xhuis & Cyberboss:
- - rscadd: New hivebot invasion event
- kevinz000:
- - rscadd: Personal Cabinets now have piano synthesizers for handheld piano playing.
- - experiment: Thank @nicbn for the sprites!
- ninjanomnom:
- - experiment: Thank you for updating your ShuttlSoft product! Your last update was
- -ERROR- years ago. A full changelog can be found at CYG10408.SHSO.b9 along with
- the EULA. This update lays a foundation for new things to come and a sample
- in the form of new and improved docking procedures.
- shizcalev:
- - bugfix: Cerestation's emergency shuttle autopilot will no longer fly you in reverse
- back to Centcom!
-2017-07-27:
- Anonmare:
- - bugfix: Informs a person about how bomb cores work
- BeeSting12:
- - rscdel: Water bottles from the sustenance vendor are gone. Wait for the ice in
- the ice cups melt, criminal scum.
- - rscdel: There is no longer a sink in gulag. Hygiene is for the moral members of
- society.
- - tweak: Janitor and service cyborgs now get pocket fire extinguishers for fire
- suppression and space propulsion.
- - rscadd: Pubbystation's dorms now has a dresser.
- - bugfix: Crafting satchels from leather now makes a leather satchel rather than
- a regular satchel.
- Fox McCloud:
- - tweak: breathing plasma now causes direct tox damage
- - tweak: breathing hot/cold air now warns you when you're doing so, again
- - tweak: species heat/cold mod now impacts damage from breathing hot/cold gases
- HAL 9000:
- - bugfix: I'm sorry Dave, I'm afraid I can't do that
- JStheguy:
- - imageadd: Resprited the tablet, including completely redone screen sprites.
- - rscadd: Tablets can now come spawn in one of 5 colors; red, green, yellow, blue,
- and black.
- - imageadd: Most alcohol bottles have been resprited, as well as a poster that used
- one of the current bottles as part of it's design.
- Joan:
- - balance: Unwrenching clockwork structures no longer damages them.
- - tweak: The Hierophant will now release a burst when melee attacking instead of
- actually hitting its target.
- - bugfix: The Hierophant Club's blasts will now properly aggro hostile mobs.
- - tweak: The blood-drunk miner will fire its KA a bit more often.
- PopNotes:
- - soundadd: Nar-Sie now sounds like an eldritch abomination that obliterates worlds
- instead of a sweet maiden that gently whispers sweet nothings in your ear.
- Supermichael777:
- - bugfix: delayed chloral hydrate actually works now.
- Tacolizard:
- - rscadd: Added cybernetic organs to RnD, they can be used to replace organic organs.
- Remember to administer corazone during implantation though!
- - rscadd: Added the upgraded cybernetic liver. It is exceptionally robust against
- toxins and alcohol poisoning.
- Xhuis:
- - bugfix: Cyborgs now regenerate oxygen damage.
- - bugfix: If a cyborg somehow takes toxin damage, it can be healed with cables as
- though it was burn damage.
- - spellcheck: Picking up ores by walking over them now longer spams messages, instead
- showing one message per tile of ore picked up.
- - tweak: You can now control-click action buttons to lock them and prevent them
- from being moved. Alt-clicking the "Show/Hide Actions" button will unlock all
- buttons.
- - tweak: There is now a preference for if buttons should be locked by default or
- not.
- - rscadd: Pizza box stacks can now fall over
- - imageadd: Pizza box inhands now stacks depending on how many you're holding.
- - bugfix: Mining satchels no longer hold infinite amounts of ore.
- - bugfix: Reviving Stasis now consistently regenerates organs.
- - bugfix: Medibots now properly render the overlays of the medkits they are made
- from.
- - bugfix: The latest batch of Syndicate screwdrivers fell into a vat of paint and
- were colored randomly. We have rinsed them off and they will no longer come
- in random colors.
- - bugfix: Supermatter slivers can now be stolen properly.
- - tweak: Whenever you're trying to hack off your own limbs, you'll now always hit
- those limbs.
- Xhuis & MoreRobustThanYou:
- - imageadd: Toolbelts now have overlays for crowbars, wirecutters, screwdrivers,
- multitools, and wrenches.
- Y0SH1_M4S73R:
- - bugfix: Romerol zombies count as dead for assassinate and maroon objectives.
- bandit:
- - rscadd: New Cards against Spess cards are available!
- ktccd:
- - bugfix: Hijacking should now be possible again!
-2017-07-29:
- Fox McCloud:
- - rscadd: Sound should carry further, but should get quieter and quieter the further
- you are from it
- Joan:
- - tweak: Sigils of Transmission can now drain power in a large area when activated
- by a Servant.
- - rscdel: Interdiction Lenses have been removed, as they were largely only used
- to drain power into Sigils of Transmission.
- - balance: Sigils can no longer directly be removed by Servants.
- - balance: Prolonging Prisms have a higher cost to delay, but no longer increase
- in cost based off of CV.
- - balance: Base delay cost changed from 2500W to 3000W, cost increase per activation
- changed from 750W to 1250W, cost increase per 10 CV changed from 75W to 0W.
- - rscdel: Removed the Volt Blaster scripture.
- - rscdel: Ratvarian spears can no longer impale.
- - balance: Vitality Matrices now require a flat 150 Vitality to revive Servants,
- from 20 + the Servant's non-oxygen damage. Vitality Matrices are also no longer
- destroyed when reviving Servants.
- - balance: Ratvarian spear damage changed from 18 to 20, Ratvarian spears now generate
- 5 Vitality when attacking living targets. Ratvarian spear armour penetration
- changed from 0 to 10.
- - balance: The Judicial Visor's mark now immediately applies Belligerent and knocks
- down for 0.5 seconds. Mark exploding no longer mutes, mark explosion stun changed
- from 16 seconds to 1.5 seconds, mark explosion damage changed from 10 to 20.
- More Robust Than You:
- - rscadd: Nanotrasen has begun production of the Rapid Cable Layer, a tool that
- helps you lay down cables faster
- - rscadd: You can now craft ghetto RCLs with metal, a screwdriver, welder, and wrench.
- They hold less cable, and may fall apart or jam!
- Xhuis:
- - spellcheck: Player-controlled medibots now receive a notice whenever they try
- to heal someone with too high health.
- - bugfix: Syringes now properly inject targets wearing thick clothing on different
- slots.
- - bugfix: Stun baton overlays now appear on security belts when active.
- kevinz000:
- - rscadd: 'Badmins: Buildmode map generators have names in the list to select them,
- instead of paths.'
- - rscadd: Also, a new map generator has been added, repair/reload station. Use it
- VERY sparingly, it deletes the block of the map and reloads it to roundstart.
- THIS CAN CAUSE ISSUES WITH MACHINES AND ATMOSPHERICS, SO DO NOT USE IT UNLESS
- YOU ABSOLUTELY HAVE TO!
- - experiment: The reload station one tagged DO NOT USE shouldn't be used as it doesn't
- delete anything before loading, so if you use it you'll have two copies of things.
- That can result in a LOT of issues, so don't use it unless you're a codermin
- and know what you're doing/abusing!
- ktccd:
- - bugfix: Ashstorms no longer pierces the protected people to kill anyone/anything
- in them.
-2017-08-06:
- Anonmare:
- - rscadd: Surgical toolarm to protolathe and exofab
- - tweak: Toolarm tools are less robust but more efficient at surgery
- - tweak: Arm augments are no longer a huge item
- AnturK:
- - balance: Cyborg remote control range is now limited to 7 tiles.
- Ergovisavi:
- - rscadd: Adds the "seedling" planetstation mob to the backend
- Floyd:
- - bugfix: No longer does everyone look like a sick, nauseated weirdo!
- Galactic Corgi Breeding Mills, LLC:
- - bugfix: Fixed corgis being able to wear spacesuit helmets despite lacking the
- proper code and sprites for them.
- Joan:
- - tweak: Colossus's shotgun is now a static-spread blast of 6 bolts, making it more
- predictable.
- - balance: Geis now mutes for 12-14 seconds and "stuns" the target, via a binding
- effect, for 25 seconds instead of initiating a conversion.
- - experiment: Geis's "stun" restrains the target and prevents them from taking actions,
- but its duration is halved if the binding is not being pulled by a Servant.
- - wip: Using Geis on a target prevents you from taking actions other than attempting
- to pull the binding. If you are pulling the binding, you can dispel it at any
- time.
- - wip: As should be obvious, if the binding is destroyed or dispelled, you can once
- again take normal actions.
- - tweak: Sigils of Submission are now permanent and have been moved from the Script
- tier to the Driver tier, with an according cost adjustment. They still do not
- penetrate mindshield implants.
- - rscdel: Removed Taunting Tirade.
- - rscdel: Removed Sigils of Accession.
- Lexorion:
- - imageadd: Hearty Punch has a new, fancier sprite.
- More Robust Than You:
- - bugfix: RCL and Ghetto RCLs are no longer invisible
- - bugfix: RCL action button now has a sprite
- - bugfix: RCLs can no longer go inside you
- XDTM:
- - bugfix: Eyes can now be properly damaged.
- Xhuis:
- - spellcheck: Removed an improper period from the supermatter sliver theft objective's
- name.
- - bugfix: Alien hunters can no longer pounce through shields.
- - bugfix: Observing mobs that have no HUD will no longer cause intense lighting
- glare.
- - bugfix: Objects on shuttles now rotate in the correct directions.
- - soundadd: The speakers in the ceiling have been upgraded, and many sounds are
- now less tinny.
- Xhuis and oranges:
- - bugfix: Banana cream pies no longer splat when they're caught by someone.
- - soundadd: Throwing a pie in someone's face now has a splat sound.
- kingofkosmos:
- - bugfix: Fixed hair sticking through headgear.
-2017-08-13:
- JStheguy:
- - imageadd: Laptops now have actual sprites for using the supermatter monitoring
- instead of defaulting to a generic one.
- Joan:
- - imageadd: Belligerent now has a visible indicator over the caster.
- More Robust Than You:
- - tweak: Mulligan and non-continuous completion checks will not consider afk/logged
- out people to be "living crew".
- - tweak: The wiki button now asks what page you want to be taken to
- - tweak: His Grace now shows up on the orbit list
- Pubby:
- - rscadd: The Curator job is now available on PubbyStation
- - rscadd: Beekeeping has been added to PubbyStation's monastery
- - tweak: PubbyStation's bar has been rearranged
- Xhuis:
- - bugfix: Swarmer shells now have ghost notifications again.
- - bugfix: Minebots no longer lack icons for their action buttons.
- kingofkosmos:
- - imageadd: Adds icon_states to the unused and used Eldritch whetstones. Sprites
- by Fury McFlurry.
-2017-08-14:
- Joan:
- - imageadd: Ported CEV-Eris's APC sprites.
- More Robust Than You:
- - bugfix: Fixes a typo in the blobbernaut spawn text
- WJohnston:
- - rscadd: Adds an ore box and shuttle console to aux bases on all stations.
- Xhuis:
- - bugfix: The Resurrect Cultist rune now works as intended.
- - bugfix: Cyborg energy swords now properly have an icon.
- kingofkosmos:
- - tweak: Canisters don't flash red lights anymore when empty.
-2017-08-19:
- Anonmare:
- - balance: Raised airlock deflection by one point
- BeeSting12:
- - balance: The meth explosion temperature has been raised.
- FrozenGuy5/PraiseRatvar:
- - balance: Nerfs L6 SAW Hollow Point Bullets from -10 armour penetration to -60
- armour penetration.
- Joan:
- - balance: Deathsquads no longer get shielded hardsuits.
- More Robust Than You:
- - rscadd: Blobs can now sense when they're being cuddled!
- - bugfix: Fixes mining hardsuit heat_protection
- - bugfix: RCL icons are now better at updating
- NewSta:
- - bugfix: Fixes the wiki button
- - spellcheck: Fixes a typo in the wiki button description
- XDTM:
- - rscadd: You can now click on symptoms in the Pandemic to see their description
- and stats
- Xhuis:
- - soundadd: The station's explosion now uses a new (or old) sound.
- - rscadd: Adds smart metal foam, which conforms to area borders and walls. It can
- be made through chemistry by mixing foaming agent, acetone, and iron.
- - rscadd: Smart metal foam will create foamed plating on tiles exposed to space.
- Foamed plating can be struck with floor tiles to turn it into regular plating!
- - spellcheck: The chat message has been removed from *spin. I hope you're happy.
- nicbn:
- - imageadd: Nanotrasen redesigned the area power controllers!
- - imageadd: Thanks Xhuis for the contrast tweak on APCs
-2017-08-23:
- Cobby:
- - balance: Planting kudzu now has a short delay with a visible message to users
- around you. Hit-N-Run planting is no longer possible.
- - rscdel: kudzu bluespace mutation and spacewalk mutation are removed.
- Cruix:
- - rscadd: The syndicate shuttle now has a navigation computer that allows it to
- fly to any unoccupied location on the station z-level.
- Ergovisavi:
- - tweak: Slightly increased the radius of the atmos resin launcher, and resin now
- makes floors unslippery
- Pubby:
- - rscadd: Gorillas
- - rscadd: Irradiating monkeys can now turn them into hostile gorillas
- Shadowlight213:
- - experiment: The amount of time spent playing, and jobs played are now tracked
- per player.
- - experiment: This tracking can be used as a requirement of playtime to unlock jobs.
- ShizCalev:
- - balance: Morphlings now have to restore to their original form before taking a
- new one.
- - bugfix: Morphlings will no longer have combined object appearances
- Supermichael777:
- - bugfix: Boss tiles have been reconstructed out of an unstoppable force.
- TehZombehz:
- - rscadd: Nanotrasen Culinary Division has authorized the construction of pancakes,
- including blueberry and chocolate chip pancakes. Pancakes can be stacked on
- top of each other.
-2017-08-26:
- Cyberboss:
- - rscadd: Added the credits roll
- Iamgoofball:
- - rscadd: Plasmamen now hallucinate with blackpowder in their system
- Joan:
- - balance: Geis bindings no longer decay faster if not pulled by a Servant, but
- last for 20 seconds, from 25.
- - tweak: Geis bindings will decay slower when on a Sigil of Submission, and, if
- being pulled by a Servant when crossing a Sigil of Submission, will helpfully
- remove the pull.
- - tweak: Removing Geis bindings is no longer instant and can be done by any Servant
- with a slab, not just the initiator.
- - wip: Geis no longer prevents you from taking actions, but you remain unable to
- recite scripture while the target is bound. In addition, dealing damage to a
- bound target will cause the bindings to decay much more rapidly.
- - rscadd: You can now remove sigils by hitting them with a clockwork slab for a
- small refund.
- More Robust Than You:
- - balance: Lowers the chance for monkeys to become gorillas
- - rscadd: Holoparasite prompts now have a "Never For This Round" option
- Naksu:
- - spellcheck: fixed inconsistent grammar between machines that derive from /obj/machinery/chem_dispenser
- - spellcheck: touched up some chat messages to include references to objects instead
- of "that" or "the machine" etc., also removed references to beakers being loaded
- in machines that can accept any container
-2017-08-30:
- CPTANT:
- - balance: Hacked AI module cost is reduced to 9TC
- Cobby & Cyberboss:
- - rscadd: A stealth option for the traitor microlaser has been added. When used,
- it adds 30 seconds to the cooldown of the device.
- Cyberboss (unwillingly by Kor's hand):
- - balance: You no longer take damage/are as heavily blinded in crit while above
- -30HP
- - balance: Whispering in crit above -30HP will not cause you to succumb
- - balance: You can now hear in crit above -30HP
- Joan:
- - imageadd: Cult blades have updated item and inhand sprites.
- Kor:
- - rscadd: Added Shadow Walk, a new form of jaunt that lasts for an unlimited amount
- of time, but ends if you enter a well lit tile. It is planned for use in a Shadowling
- rework, but feel free to hassle admins to test it out in the mean time.
- - balance: Slime people can consume meat and dairy again.
- Lzimann:
- - rscadd: Ghosts now have a way to see all available ghost roles! Check your ghost
- tab!
- MMMiracles:
- - rscdel: Cerestation has been decommissioned. Nanotrasen apologizes for any spikes
- of suicidal tendencies, sporadic outbursts of primitive anger, and other issues
- that may of been caused during the station's run.
- Naksu:
- - bugfix: fixed portable chem dispensers charging 50% slower than intended when
- initialized.
- - bugfix: fixed portable chem dispensers getting faster charging rate every time
- refreshparts() is called
- Pubby:
- - rscadd: Crew-tracking pinpointers to replace laggy crew monitoring console functionality
- - rscadd: Crew-tracking pinpointers in medical vendors and the detective's office
- RemieRichards:
- - rscadd: AltClick listing now updates instantly on AltClick
- - bugfix: AltClick listing no longer reveals obscured items
- ShizCalev:
- - tweak: The singularity now poses a threat towards asteroids as well as stations.
- - tweak: All power systems will now report their wattage values in Watts, Kilowatts,
- Megawatts, and Gigawatts. Gone are the days of seeing 48760 W total load when
- working with an APC!
- kingofkosmos:
- - tweak: You can now unbuckle out a chair/bed by moving.
- ninjanomnom:
- - bugfix: Fixed a problem with shuttles being unrepairable under certain circumstances.
-2017-09-01:
- Fury McFlurry:
- - rscadd: Added more halloween costumes.
- - rscadd: Among them are a lobster suit, a cold villain costume and some gothic
- clothes
- More Robust Than You:
- - rscdel: Finally fucking removed gangs
- MrStonedOne:
- - rscadd: Player notes can now be configured to fade out over time to allow admins
- to quickly see how recent notes are. Server Operators, check the config for
- more info
- Pubby:
- - rscdel: The multiverse sword is toast
- YPOQ:
- - bugfix: Pouring radium into a ninja suit restores adrenaline boosts.
- - bugfix: Adrenaline boost works while unconscious again.
- - bugfix: Energy nets can be used again!
-2017-09-02:
- Frozenguy5:
- - tweak: Added new station prefixes, names and suffixes!
- Tortellini Tony:
- - tweak: Round-end credits can now be toggled on or off in the server game options.
- XDTM:
- - tweak: The Disease Outbreak event now can generate random advanced viruses, with
- more symptoms and higher level as round time goes on.
-2017-09-11:
- Anonmare:
- - balance: Altered pressure plate crafting recipe
- Basilman:
- - rscadd: A strange asteroid has drifted nearby...
- Firecage:
- - rscadd: The NanoTrasen Department for Cybernetics (NDC) would like to announce
- the creation of Cybernetic Lungs. Both a stock variety to replace traditional
- stock human lungs in emergencies, and a more enhanced variety allowing greater
- tolerance of breathing cold air, toxins, and CO2.
- JJRcop:
- - rscadd: Admins can now play media content from the web to players.
- - rscadd: Adds a volume slider for admin midis to the chat options menu.
- Jay:
- - bugfix: Goliaths can be butchered again
- Joan:
- - tweak: While below 0 health but above -30 health, you will be able to crawl slowly
- if not pulled, whisper, hear speech, and see with worsening vision.
- - wip: The previous softcrit got reverted, for changelog context.
- - rscdel: Standard attacks, such as swords, hulk punches, mech punches, xeno slashes,
- and slime glomps, will no longer damage clothing.
- Kor:
- - rscadd: People in soft crit will take oxyloss more slowly than people in full
- crit if they remain still.
- - rscadd: People dragging themselves in critical condition will now leave blood
- trails. This will rapidly deal oxyloss to you.
- MrStonedOne:
- - rscadd: Admins may now show the variables interface to players to help contributors
- debug their new additions
- Naksu:
- - rscadd: Added TGUI interfaces to various smartfridges of different kinds, drying
- racks and the disk compartmentalizer
- Pubby:
- - bugfix: Escape pods and PubbyStation's monastery shuttle are back in commission
- Robustin:
- - tweak: Golem shells no longer fit in standard crew bags.
- Supermichael777:
- - bugfix: Stands now check if their user got queue deleted somehow
- VexingRaven:
- - bugfix: Hearty Punch once again pulls people out of crit.
- Xhuis:
- - spellcheck: Various grammar in the Orion Trail arcade game has been tweaked.
- - rscadd: You can now kill yourself in fun and creative ways with the hierophant
- club.
- - rscadd: Common lavaland mobs now have rare mutations! Keep an eye out for rare
- Poke- err, monsters.
- - imageadd: The hand drill and jaws of life now have sprites on the toolbelt.
- YPOQ:
- - bugfix: Windoors open when emagged again
- as334:
- - rscadd: Added a mass spectrometer to the detective's closet
- basilman:
- - rscadd: penguins may now have shamebreros, noot noot
-2017-09-13:
- BeeSting12:
- - balance: The stetchkin APS pistol is smaller.
- - rscadd: The 9mm pistol magazines can be purchased from nuke op uplinks at two
- telecrystals each.
- Kor:
- - rscadd: Added Nightmares. They're admin only currently, so as usual, make sure
- to beg admins to be one.
- - rscadd: The Chaplain may now choose the Unholy Blessing as a null rod skin.
- KorPhaeron:
- - rscadd: Added Jacob's ladder to the necropolis chest
- Lordpidey:
- - bugfix: Centcom roundstart threat reports are fixed, and can now be used to narrow
- down the types of threats facing the station.
- MrROBUST:
- - rscadd: Mechs now can be connected to atmos ports
- VexingRaven:
- - bugfix: Changeling Augmented Eyesight ability now grants flash protection when
- toggled off
- - bugfix: Changeling Augmented Eyesight ability can now be toggled properly
- - bugfix: Changeling Augmented Eyesight ability is properly removed when readapting
- - bugfix: The syndicate have once again stocked the toy C20r and L6 Saw with riot
- darts.
- Xhuis:
- - rscadd: You can now use metal rods and departmental jumpsuits to craft departments
- for each banner.
- - tweak: The lavaland animal hospital ruin has been remapped, including more supplies
- as well as light sources.
-2017-09-14:
- BeeSting12:
- - balance: Deltastation's and Metastation's armory now starts with three riot shotguns!
- Fun Police:
- - rscdel: Removed some of the free lag.
- Kor:
- - bugfix: It is possible to multitool the cargo computer circuitboard for contraband
- again
- ShizCalev:
- - bugfix: Holding a potted plant will no longer put you above objects on walls.
- - bugfix: Replaced leftover references to loyalty implants with mindshield implants.
- ninjanomnom:
- - bugfix: Shuttle transit parallax should be working again
-2017-09-16:
- Basilman:
- - rscadd: Gondolas are now procedural generated.
- Mey-Ha-Zah:
- - imageadd: Updated the knife sprite.
- Naksu:
- - bugfix: Evidence bags will no longer show ghosts of items such as primed flashbangs
- after the flashbang inside explodes
- - bugfix: Prevents dead monkeys from fleeing their attackers or escaping His Grace
- only to be eaten again
- - rscdel: Corgis can no longer be targeted by facehuggers
- - rscdel: Removed unused vine floors and their sprite.
- Robustin:
- - rscadd: Due to budget cuts, airlocks that control access to non-functional maint
- rooms and other abandoned areas now have a chance to spawn welded, bolted, screwdrivered,
- or flat out replaced by a wall at roundstart.
- - bugfix: Dice will now roll when thrown
- YPOQ:
- - rscadd: Ninja adrenaline boost removes stamina damage
- - bugfix: Depowered AIs can no longer use abilities or interact with machinery
- - bugfix: The doomsday device will again periodically announce the time until its
- activation
- - bugfix: Crafting stackable items results in the right stack sizes
-2017-09-18:
- More Robust Than you:
- - balance: Blobbernauts are healed quicker by cores and nodes
- Naksu:
- - bugfix: OOC for dead people is now (re-)enabled at round-end
- - bugfix: Fixed chemfridges being unable to display items with dots in their name
- Pubby:
- - rscadd: Traitorbro gamemode
- Supermichael777:
- - bugfix: Airlocks now check metal for upgrades using the standard get_amount()
- proc instead of checking the amount var, this means it is compatible with cyborgs.
- TungstenOxide:
- - tweak: Swapped the action of purchasing a pAI software and subtracting the RAM
- from available pool.
- Xhuis:
- - balance: Brave Bull now increases your max HP by 10, up from 5.
- - rscadd: Tequila Sunrise now makes you radiate dim light while it's in your body.
- - rscadd: Dwarves are now very resistant to the intense alcohol content of the Manly
- Dorf and can freely quaff them without too much worry.
- - rscadd: Bloody Mary now restores lost blood.
-2017-09-20:
- PopNotes:
- - imageadd: Airlocks animate faster. This doesn't change the time it takes to pass
- through an airlock, but it does visually match up much better so you don't just
- appear to glide through the airlock while it's half-open.
- Pubby:
- - bugfix: Atmos pipenets are less glitchy
- TehZombehz:
- - rscadd: Several new plushie dolls are now available in toy crates.
-2017-09-22:
- AutomaticFrenzy:
- - bugfix: Mice spawning finds the station z level properly
- CPTANT:
- - balance: Knockdown and unconcious now let you regenerate stamina damage.
- - rscadd: Sleeping regenerates more stamina damage.
- Naksu:
- - bugfix: Admin ghosts can no longer unintentionally make a mess of things.
-2017-09-23:
- Armhulen:
- - rscadd: Rare Spider Variants have arrived! Every spiderling has a rare chance
- of growing up to a rare version of their original spider type!
- - rscadd: Special thanks to Onule for the sprites, you're the best!
- JJRcop:
- - rscadd: Suiciding with a ballistic gun now actually blows your brain out.
- More Robust Than You:
- - tweak: Taking the beaker out of a cryotube now tries to put it into your hand
- - code_imp: Removed some spawn()s from secbot code
- - bugfix: Using a soulstone on somebody now transfers your languages to the shade
- - bugfix: Zombies now stay dead if they suicide
- - rscadd: If a zombie suicides, they now rip their head off!
- - bugfix: pAIs now transfer their languages to bots
- - bugfix: Support Holoparasites must be manifested to heal
- Robustin:
- - balance: A zombie's automatic self-healing is stopped for 6 seconds after taking
- damage.
- - bugfix: Deconverted revs will now always get a message, logs will now include
- more details.
- YPOQ:
- - bugfix: Pet persistence works again
-2017-09-27:
- Arianya:
- - balance: Lesser ash drakes no longer drop ash drake hide when butchered.
- GLA Coding:
- - tweak: Cells must now be installed in mechs when being constructed, this step
- is always before the application of internal armor.
- - bugfix: Combat mechs now get stats upgrades from their scanning modules and capacitors
- Improvedname:
- - rscadd: Adds racial equality to color burgers
- More Robust Than You:
- - rscadd: Implant Chairs now also support organs
- Naksu:
- - bugfix: Fixed jump boots breaking if used when you can't jump, such as when inside
- a sleeper.
- - code_imp: Removed meteor-related free lag.
- - bugfix: Syndicate MMIs will now properly transfer their laws to newly-constructed
- AIs
- Pubby:
- - rscadd: Bluespace pipes to atmospherics, which create a single pipenet with all
- bluespace pipes in existence.
-2017-09-28:
- RandomMarine:
- - imageadd: Air tanks (o2+n2) now have a different appearance from oxygen tanks.
- Robustin:
- - tweak: Revheads no longer spawn with chameleon glasses or a spraycan, instead
- they will start with a cybernetic security HUD implanted into their eyes.
- Xhuis:
- - rscadd: Ian has recently communed with unspeakable horrors and may now be warped
- by their power if Nar-Sie passes near them.
- - rscadd: In order to fight back against their ancient foe Ian, Poly has struck
- a bargain with Ratvar and will be transformed into a machine by their presence.
- Y0SH1_M4S73R:
- - bugfix: AFK players count as dead for the assassinate objective.
-2017-09-29:
- Kor:
- - rscadd: Gunfire can now leave bullet holes/dents in walls. Sprites by JStheguy.
- RandomMarine:
- - rscadd: You can now light your cigs with people that are on fire. The surgeon
- general is spinning in their grave.
- Robustin:
- - tweak: Hacking a secure container with a multitool now takes longer, but no longer
- has a chance to fail.
- XDTM:
- - rscadd: Nurse spiders can now set a directive that will be seen by their spiderlings,
- when they get controlled by a player.
- - rscadd: Spiders' actions are now action buttons instead of verbs.
- - rscadd: Wrapping stuff in a cocoon is now a targeted action!
- kevinz000:
- - rscadd: The syndicate have recently begun sending agents to extract vital research
- information from Nanotrasen.
- - bugfix: 'Timestop fields will now stop thrown objects experimental: Timestops
- will now be much quicker to react.'
- kingofkosmos:
- - spellcheck: You can now find out if an item uses alt-clicking by examining it.
-2017-10-07:
- Antur:
- - bugfix: Liches will no longer lose their spells when reviving.
- AnturK:
- - rscadd: Wigs are now available in AutoDrobe
- Cobby:
- - admin: Players will now be notified automatically when an admin resolves their
- ahelp.
- Cyberboss:
- - config: The shuttle may now be configured to be automatically called if the amount
- of living crew drops below a certain percentage
- - bugfix: Fixed a rare case where creating a one tank bomb would result in a broken
- object
- - bugfix: Fixed many cases where forced item drops could be avoided by not having
- an item in your active hand
- DaxDupont:
- - rscdel: No more roundstart tips about gangs. You can finally start to forget gangs
- ever existed.
- Incoming5643:
- - bugfix: The rarely utilized secret satchel item persistence system has been fixed
- and made more lenient.
- - rscadd: 'In case you forgot how it works: if you find or buy secret satchels,
- put an item in them, and then bury them under tiles on the station you or someone
- else can find them again in a future round with the item still there! Free satchels
- can often be found hiding around the station, so get to burying!'
- JJRcop:
- - config: Hosts can now lock config options with the @ prefix. This prevents admins
- from editing the option in-game.
- - tweak: Admin volume slider moved to its own menu for better visibility.
- Joan:
- - bugfix: Fixes Vanguard never stunning for more than 2 seconds.
- - balance: Ocular Warden base damage per second changed from 12.5 to 15.
- - bugfix: Ocular Wardens no longer count themselves when checking for dense objects,
- which decreased their overall damage by 15%.
- - balance: Ocular Wardens now only reduce their damage by 10% per dense object,
- and only do so once per turf. However, dense turfs now reduce their damage with
- the same 10% penalty.
- Kerbin-Fiber:
- - bugfix: Wood is no longer invisible
- Kor:
- - rscadd: Nightmares now have mutant hearts and brains, with their own special properties
- when consumed or implanted in mobs. Experiment!
- - bugfix: You can now tell when someone is in soft crit by examining them.
- - rscadd: Nightmares now have a chance to spawn via event.
- More Robust Than You:
- - bugfix: Fixes cogscarab sprites not updating
- - balance: Blobs now take damage from particle accelerators
- MrDoomBringer:
- - rscadd: Nanotrasen, as part of their new Employee Retention program, has encouraged
- more station point-makery by adding the "Cargo Tech of the Shift"! The award
- is located in a lockbox in the Quartermaster's locker.
- MrStonedOne:
- - tweak: The MC will now reduce tick rate during high populations to keep it from
- fighting with byond for processing time.
- - config: Added config options to control MC tick rate
- - admin: Admins can no longer manually control the mc's tick rate by editing the
- MC's processing value, instead you will have to edit the config datum's values
- for high/low pop tick rates.
- Naksu:
- - bugfix: Removed some of the free lag
- - bugfix: Updates to station name are now reflected on Cargo's stock exchange computers.
- - bugfix: Gutlunches will now once again look for gibs to eat.
- - bugfix: Bees now come with reduced amounts of free lag
- - balance: Pyrosium and cryostylane now react at ludicrous speeds.
- - tweak: Made atmos tiny bit faster
- - bugfix: Tweaks to atmos performance
- Qbopper:
- - tweak: Moved a locker blocking an airlock in Toxins maintenance.
- RandomMarine:
- - bugfix: Simple mobs should no longer experience severe hud/lighting glitches when
- reconnecting.
- Robustin:
- - rscadd: Blood cultists can now create a unique bastard sword at their forge
- - rscdel: Blood cultists can no longer obtain a hardsuit from the forge
- - bugfix: Emotes (e.g. spinning and flipping) will now properly check for consciousness,
- restraints, etc. when appropriate.
- - bugfix: The Cult's bastard sword should now properly store souls and create constructs.
- - bugfix: Neutering a disease symptom now produces a unique ID that will ensure
- the PANDEMIC machine copies it properly.
- ShizCalev:
- - bugfix: You now have to unbuckle a player PRIOR to shaking them up off a bed or
- resin nest.
- - bugfix: Wizards will now have the correct name when attacked with Envy's knife!
- - soundadd: Space ninja energy katanas now make a swish when drawn!
- Supermichael777:
- - balance: The detectives gun has been restored from a system change that nerfed
- knockdown in general. We need to have a serious discussion about anti revolver
- hate in this community.
- - tweak: The PDA default font has been switched from "eye bleed" to old-style monospace.
- Check your preference.
- Thefastfoodguy:
- - bugfix: Silicons can no longer take brain damage
- - bugfix: Antimatter shielding that can't find a control unit won't delete itself
- anymore
- WJohnston:
- - rscadd: Boxstation and Metastation's white ships now have navigation computers,
- letting you move them around in the station, deep space, and derelict z levels.
- XDTM:
- - rscadd: Added the H.E.C.K. suit, a guaranteed loot frop from Bubblegum.
- - rscadd: The H.E.C.K. suit is fully fire (and ash) proof, and has very good melee
- armor.
- - rscadd: H.E.C.K. suits can also be painted with spraycans, to fully customize
- your experience.
- - rscadd: Despite spending centuries inside a demon king, H.E.C.K. suits are most
- definitely safe.
- - bugfix: Fixed a bug where Viral Aggressive Metabolism caused viruses to be cured
- instantly.
- - bugfix: Fixed a bug where viruses' symptoms would all instantly activate on infection.
- - rscadd: The CMO now has an advanced health analyzer in his closet! It can give
- more precise readings on the non-standard damage types.
- Xhuis:
- - bugfix: Runed metal and brass are no longer invisible.
- Xhuis and Y0SH1_M4S73R:
- - bugfix: Servants of Ratvar now spawn in as the actual race set on their preferences,
- with plasmamen getting the gear they need to not immediately die.
- Y0SH1_M4S73R:
- - balance: Gygax overdrive consumes at least 100 power per step
- YPOQ:
- - bugfix: Jaunters equipped on the belt slot will save you from chasms again.
- kevinz000:
- - rscadd: Wormhole event wormholes now actually teleport you.
- - bugfix: portals now actually teleport on click.
- kingofkosmos:
- - rscadd: You can now see construction/deconstruction hints when examining airlocks.
- - spellcheck: Beds, chairs, closets, grilles, lattices, catwalks, tables, racks,
- floors, plating and bookcases now show hints about constructing/deconstructing
- them.
- nicbn:
- - rscadd: Paperwork now uses Markdown instead of BBCode, see the writing help for
- changes.
- - imageadd: Changed the drop, throw, pull and resist icons.
-2017-10-15:
- Armhulen:
- - bugfix: Clockwork golems no longer slip and slide on glass!
- Armie:
- - tweak: Holoparasites are once again in the uplink.
- Bawhoppen:
- - tweak: Smoke machine board has been moved to tech storage.
- DaxDupont:
- - tweak: After lobbying by Robust Softdrinks and Getmore Chocolate Corp all vendor
- firmware has been changed to add sillicons to their target demographic.
- - spellcheck: Replaces instances of "permenant" and "permenantly" with the proper
- spelling in several areas,
- Epoc:
- - rscadd: Added a Toggle Underline button to the PDA menu
- - code_imp: Cleaned HTML spacing
- Frozenguy5:
- - bugfix: C20r damage upped from 20 to 30 (used to be 30 before an ammo cleanup
- in the code)
- GLACoding:
- - bugfix: Syndicate turrets and other machines in walls can now be hit by projectiles
- Improvedname:
- - rscadd: You can now put custom name and lore on your holy weapon by using a pen
- on it!
- - tweak: Cmo, captain, and the bartender now get pet collars in their lockers.
- Jambread/RemieRichards/Incoming5643:
- - server: There is a new system for title music accessible from config/title_music
- folder. This system allows for multiple rotating lobby music without bloating
- Git as well as map specific lobby music. See the readme.txt in config/title_music
- for full details.
- - config: The previous method of title music selection, strings/round_start_sounds.txt
- has been depreciated by this change.
- Kor:
- - balance: You can now smash the bulbs out of floodlights rather than having to
- entirely destroy the object.
- Mercenaryblue:
- - rscadd: Use the Clown Stamp on some cardboard to begin... the honkbot!
- - rscadd: These honkbots are just adorable, and totally not annoying. I swear! Honk!
- - rscadd: You can even slot in a pAI! Just don't emag them... oh boy. oh no. oh
- geez.
- - soundadd: Honkbots now release an evil laugh when emagged.
- - imageadd: added some in_hands for banana peels.
- - tweak: Golden Bike Horns now permit its victims to perform a full flip before
- forcing them to jump again.
- More Robust Than You:
- - bugfix: Makes the santa event properly poll ghosts
- - bugfix: Diseases will now cure if species is changed
- - tweak: You can now drag-drop people into open DNA scanners
- - bugfix: Medibots will no longer inject people in lockers/sleepers/etc
- Naksu:
- - bugfix: Fixes to door/airlock deletion routines.
- - bugfix: Traitor pen uplinks now preferentially spawn in the PDA pen, and not in
- a pocket protector full of pens that no-one checks.
- - bugfix: Reusable projectiles such as foam darts no longer get deleted if they're
- shot at a shooting range target or a cardboard cutout.
- - bugfix: Ghosts no longer inherit the movement delay of their former bodies.
- - bugfix: Fixed mobs being able to smash shocked objects without taking damage.
- - bugfix: Fixed some mobs not deleting correctly
- - code_imp: Fixed dusting code, supermatter-suicides no longer spam the runtime
- logs.
- - code_imp: Fixed some initialize paths.
- Onule:
- - tweak: Sunflower sprites were changed, small edits to variants.
- - imageadd: Sunflower and variant's inhands sprites.
- - imageadd: Tweaked growing sprites to match the new sunflower.
- - imageadd: Moonflower and novaflowers now have slightly different growing sprites.
- Robustin:
- - rscadd: The Chemistry Smoke Machine! Chemist offices will have a board available
- should they choose to construct a smoke machine. The smoke machine will regularly
- produce smoke from whatever chemicals have been inserted into the machine. Designs
- for the circuitboard are also available at RND.
- - tweak: Abandoned Airlocks will no longer be deleted when their turf is changed
- to a wall.
- - tweak: Tesla movement is now completely random.
- - bugfix: Clock Cult mode will no longer end if all the cultists die. The round
- will not end until the Ark is destroyed or completed.
- - bugfix: Chain reactions between explosives will now properly trigger explosives
- located in an individual's bag.
- - tweak: The wrench-anchoring time of the smoke machine is now doubled to 4 seconds.
- - tweak: Smoke Machine smoke is now transparent.
- - rscadd: The smoke machine has taken its rightful place in the chemist's office.
- - bugfix: Smoke machine will no longer operate while moving/unanchored.
- ShizCalev:
- - tweak: Nanotrasen brand "Box" model stations have received approval from CentCom
- to be retrofitted with the latest in Xenobiology equipment. You will now find
- a chemmaster, a chemical dispenser, and a dropper within the Research Division's
- Xenobiology lab.
- - bugfix: C4 will no longer appear underneath objects on walls.
- - bugfix: Plastic explosives will no longer be invisible after being planted.
- - imageadd: The security bombsuit's sprite has been updated!
- SpaceManiac:
- - spellcheck: Grammar when examining objects has been improved.
- - bugfix: AI eye camera static is now correctly positioned on Lavaland.
- - spellcheck: Fixed many instances of "the the" when interacting with objects.
- - bugfix: The tracking implant locator now works on the station again.
- WJohn:
- - rscadd: An old cruiser class vessel has resiliently stuck around, and may do so
- for the foreseeable future.
- WJohnston:
- - tweak: Due to age, the abandoned ship's engines are now considerably slower when
- bringing it place to place. This does however mean that the ship now has a more
- gradual takeoff, with no sudden jolt to knock passengers off their feet.
- - imageadd: Black carpets no longer have an ugly periodic black line in them. Regular
- catwalks are now totally opaque so you won't accidentally click on space when
- trying to place wires or tiles on them.
- - rscdel: Boxstation's guitar white ship is no more.
- - rscadd: Metastation's white ship stands in its place!
- - tweak: Metastation's white ship has a couple of weak laser turrets to protect
- the cockpit from space carp.
- - tweak: Boxstation and metastation now have some plating under the grilles near
- the AI sat's transit tube to prevent players from deleting the tube by landing
- there.
- WJohnston & ninjanomnom:
- - rscadd: Plastitanium walls smooth, fancier syndicate shuttles!
- - bugfix: Infiltrator shuttles have been moved out of the station maps and made
- into a multi-area shuttle.
- - balance: Titanium and plastitanium have explosion resistance (requested by Wjohn)
- XDTM:
- - rscadd: Blood and vomit pools can now spread the diseases of the mob that made
- them! Cover your feet properly to avoid infection.
- - rscadd: Virus severity now changes the color of the disease HUD icon, scaling
- from green to red to flashing black-red.
- - tweak: Contact-based diseases no longer spread by simply standing near other people;
- it requires interaction like touching or attacking. Bumping against people/swapping
- with help intent still counts as touching.
- - tweak: Advanced viruses now have another infection type, "Fluids"; it's between
- blood and skin contact, and will only be transmitted through fluid contact.
- - rscdel: Two "hidden" infection types have been removed. Overall this means that
- making a virus airborne is a little bit easier.
- - bugfix: Species who cannot breathe can no longer be infected by breathing.
- - bugfix: Internals now properly work if set to 0 pressure, and will prevent breathing
- gas from the external atmosphere.
- - bugfix: Viral Aggressive Metabolism is now properly inactive when neutered.
- Xhuis:
- - tweak: Cogscarabs can now experiment more freely with base design during non-clockcult
- rounds with infinite power and the ability to recite scripture!
- - bugfix: The Ark of the Clockwork Justiciar is now registered as a hostile environment.
- - refactor: Clockwork scripture now has one progress bar for the entire recital
- instead of multiple ones for each sentence in the invocation.
- - bugfix: Ocular wardens no longer have a burning hatred for revenants and won't
- attack their corpse endlessly anymore.
- - balance: Stargazers can no longer be built off-station, even in new areas.
- - balance: Integration cogs no longer emit sounds and steam visuals when active.
- armie:
- - bugfix: mob spawners are no longer possessable
- deathride58:
- - rscadd: '*slap'
- duncathan:
- - bugfix: Scrubbers and filters no longer allow for infinite pressure in pipes.
- improvedname:
- - bugfix: 9mm doesn't longer appear in traitor surplus crates
- kevinz000:
- - bugfix: 'Flightsuits now allow proper pulling experimental: Moved now has an argument
- for if it was a regular Move or a forceMove.'
- - rscadd: Instead of dumb sleep()s, follow trails now use SSfastprocess for processing!
- - rscadd: Mobs now float while flying automatically!
- - rscdel: 'Flightsuits can no longer be safely shut off if you''re still barreling
- down the hallway. experimental: Flightsuits should be less shitcode. Hope this
- PR doesn''t blow anything important up!'
- - bugfix: Fixed trying to clear beaker in pandemic when the beaker is already removed
- causing a runtime.
- kingofkosmos:
- - rscadd: Alt-clicking on a computer now ejects the ID card inside it.
- nicbn:
- - tweak: You can now clear bullet holes in walls using a welding tool.
- ninjanomnom:
- - refactor: Radiation has been completely overhauled.
- - rscadd: A new radiation subsystem and spreading mechanics.
- - rscadd: Walls and other dense objects insulate you from radiation.
- - rscadd: Geiger counters now store the last burst of radiation so you can view
- it at your leisure or show it to someone. Examine it.
- - rscadd: Geiger counters can check mobs for contaminated objects. Scan yourself
- before you leave to make sure you aren't carrying dangerous radioactive items.
- - soundadd: Geiger counters have realistic sounds and the radiation pulse spam in
- chat has been replaced.
- - balance: Radiation is more deadly and causes burns at high intensities, WEAR YOUR
- RADSUITS.
- - balance: However residue radiation is far slower acting and kills you with toxin.
- - balance: Engineering holosigns have a light amount of radiation insulation.
- - balance: Rad collectors are nerfed. No more supercharging with pressurized plasma.
- No more collector spam either.
- - balance: Engine output is a lot more stable as a result of collector changes.
- - balance: Monkeys need more rads and take more time to turn into gorillas.
- - tweak: Over 100% on the DNA computer means your subject is now taking damage.
- - tweak: The asteroid escape shuttle has no stabilizers and throws you around when
- it moves
- - bugfix: Shuttles no longer rotate ghosts of players who prefer directionless sprites
- - bugfix: 2 Years later and cameras work on shuttles now, probably.
- - bugfix: Buckled mobs when on a rotating shuttle should now rotate correctly
- - bugfix: Fixes shuttles gibbing in supposedly safe areas
- - bugfix: Mobs that didn't move during shuttle launch would not have their parallax
- updated. This is fixed now.
- - bugfix: The custom shuttle placement highlight now works for multi area shuttles.
- - bugfix: Directional windows shouldn't leak air anymore
- - tweak: Windows only block air while anchored
- - bugfix: Fixes camera mobs being considered a target by radiation
- - bugfix: Cables can no longer be contaminated as well
- - balance: Buffs radiation cleansing chems
- - balance: Toxin damage per tick from radiation is halved
- - admin: Contaminated objects keep track of what contaminated them
- - admin: Radiation pulses over 3000 are logged now
- spessmenart:
- - imageadd: The captains sabre no longer looks like a rapier.
-2017-10-17:
- DaxDupont:
- - bugfix: 'Fancy boxes(ie: donut boxes) now show the proper content amount in the
- sprite and no longer go invisible when empty.'
- Mercenaryblue:
- - bugfix: when decapitated, banana-flavored cream no longer hovers where your head
- used to be.
- More Robust Than You:
- - rscadd: EI NATH! now causes a flash of light
- Naksu:
- - bugfix: Pinned notes will now show up on vault, abductor, centcom and large glass
- airlocks.
- - spellcheck: Removed a misleading message when handling full stacks of sheets.
- - bugfix: Pre-filled glass bottles (uplink, medbay, botany) will now give visual
- feedback about how much stuff is left inside, and the color of contents will
- match an empty bottle being filled with the same reagent.
- - bugfix: Player-controlled "neutral" mobs such as minebots are now considered valid
- targets by clock cult's ocular wardens.
- Xhuis:
- - bugfix: Cogged APCs can now be correctly unlocked with an ID card.
- duncathan:
- - tweak: Portable air pumps can output to a maximum of 25 atmospheres.
- kevinz000:
- - refactor: Legacy projectiles have been removed. Instead, all projectiles are now
- PIXEL PROJECTILES!
- - rscadd: Reflectors can now be at any angle you want. Alt click them to set angle!
- - rscadd: Pipes can now be layered up to 3 layers.
-2017-10-18:
- DaxDupont:
- - bugfix: Fixes automatic fire on guns.
- Gun Hog:
- - bugfix: The GPS item now correctly changes its name when the GPS tag is changed.
- Improvedname:
- - tweak: Reverts katana's to its orginal size being huge
- Mercenaryblue:
- - balance: it should be far easier to clean out your face from multiple cream pies.
- More Robust Than You:
- - tweak: People that are burning slightly less will appear to be burning... slightly
- less.
- Robustin:
- - bugfix: The smoke machine now properly generates transparent smoke, transmits
- chemicals, and displays the proper icons.
- ShizCalev:
- - tweak: You can no longer build reinforced floors directly on top of dirt, asteroid
- sand, ice, or beaches. You'll have to first construct flooring on top of it
- instead.
- - bugfix: Corrected mapping issues introduced with the latest SM engine/radiation
- update across all relevant maps.
- - bugfix: The tools on the Caravan Ambush space ruin have had their speeds corrected.
- - bugfix: Slappers will no longer appear as a latex balloon in your hand.
- - bugfix: Renault now has a comfy new bed on Metastation!
- - tweak: Engineering cyborgs now have access to geiger counters.
- Xhuis:
- - bugfix: You can no longer pick up brass chairs.
- Y0SH1_M4S73R:
- - bugfix: Disabling leg actuators sets the power drain per step to the correct value.
- duncathan:
- - bugfix: Filters no longer stop passing any gas through if the filtered output
- is full.
- ninjanomnom:
- - rscadd: You can vomit blood at high enough radiation.
- - balance: Radiation knockdown is far far shorter.
- - balance: Genetics modification is less harmful but still, upgrade your machines.
- - balance: Pentetic acid is useless for low amounts of radiation but indispensable
- for high amounts now.
- - balance: Singularity radiation has been normalized and Pubby engine has been remapped.
- - bugfix: No more hair loss spam
- - bugfix: Mob rad contamination has been disabled for now. Regular contamination
- is still a thing.
- - bugfix: Fixed turfs not rotating
- - bugfix: Fixed stealing structures you shouldn't be moving
-2017-10-19:
- Kor:
- - rscadd: Blob is now a side antagonist.
- - rscadd: Event and admin blobs will now be able to choose their spawn location.
- - rscadd: Blob can now win in any mode by gaining enough tiles to reach Critical
- Mass.
- - rscadd: Blobs that have Critical Mass have unlimited points, and a minute after
- achieving critical mass, they will spread to every tile on station, killing
- anyone still on board and ending the round.
- - rscadd: Using an analyzer on a blob will now reveal its progress towards Critical
- Mass.
- - rscadd: The blob event is now more common.
- Mercenaryblue:
- - tweak: You will no longer trip on inactive honkbots.
- - bugfix: Sentient Honkbots are no longer forced to speak when somebody trip on
- them.
- Naksu:
- - bugfix: Manned turrets stop firing when there's no-one in the turret shooting.
- - refactor: 'mobs will enter a deep power-saving state when there''s not much to
- do except wander around. change: bees are slightly more passive in general'
- deathride58:
- - tweak: You can now press Ctrl+H to stop pulling, or simply H to stop pulling if
- you're in hotkey mode.
- ninjanomnom:
- - rscadd: Engineering scanner goggles have a radiation mode now
- - rscadd: Objects placed under showers are cleansed of radioactive contamination
- over a short time.
- - soundadd: Showers make sound now.
- oranges:
- - rscdel: Removed the bluespace pipe
-2017-10-20:
- Kor:
- - rscadd: You can now select your Halloween race, rather than having it assigned
- randomly via event.
- Robustin:
- - bugfix: Fixed a bug where detonating maxcaps, especially multiple maxcaps, on
- Reebe guaranteed that everyone would die and thus the Clock Cult would immediately
- lose; Reebe maxcap is now 2/5/10.
- ShizCalev:
- - bugfix: All reflector prisms/mirrors have had their angles corrected.
- - tweak: Remains left over by dusting or soul-stoning a mob are now dissoluble with
- acid.
- - tweak: Changelings using biodegrade to escape restraints will now leave a pile
- of goop.
- - bugfix: Fixed messages related to changelings using biodegrade not appearing.
-2017-10-21:
- More Robust Than You:
- - bugfix: Heads of staff will now have cat organs removed at roundstart
- Robustin:
- - balance: Spray tan no longer stuns when ingested.
- Thunder12345:
- - bugfix: Sentient cats no longer forget to fall over when they die
-2017-10-22:
- More Robust Than You:
- - bugfix: Blood Brother now properly shows up in player panel
- Naksu:
- - server: Paper bins no longer let server admins know that pens were eaten.
- - code_imp: Removed dangling mob references to last attacker/attacked
- Robustin:
- - balance: Medical biosuits (and hardsuits) now offer heavy, but not complete, radiation
- resistance.
- ninjanomnom:
- - bugfix: Contents of silicon mobs are no longer considered for targets of radiation.
- This blocks them from being contaminated.
-2017-10-24:
- Armhulen:
- - rscadd: Wizards may now shapeshift into viper spiders.
- Improvedname:
- - tweak: Blacklists holoparasite's from surplus crates
- Kor:
- - rscadd: Added dullahans, which will be available from the character set up menu
- during the Halloween event.
- - bugfix: Severed heads will no longer appear bald.
- More Robust Than You:
- - bugfix: Fixes champrojector camera bugs
- Naksu:
- - bugfix: Grinders will now grind grown items like cocoa pods again
- - code_imp: Cameras no longer keep hard references to mobs in their motion tracking
- list.
- ShizCalev:
- - bugfix: Creatures made via gold slime cores will now be given the proper name
- of their master.
- deathride58:
- - tweak: Deltastation's armory now contains reinforced windows surrounding the lethal
- weaponry. This makes Delta's armory consistent with Box.
- - tweak: There are now decals in places where extra Security lockers can spawn.
- - tweak: Cleaned up semicolons in Meta and Boxstation's .dmms
-2017-10-25:
- Cruix:
- - rscadd: Shuttle navigation computers can now place new transit locations over
- the shuttle's current position.
- JJRcop:
- - rscadd: The heart of darkness revives you as a shadowperson if you aren't one
- already.
- ShizCalev:
- - bugfix: Shades will no longer always hear a heartbeat.
- - bugfix: Golem abilities will now be start on cooldown when they are made.
-2017-10-26:
- Kor and JJRcop:
- - rscadd: Added vampires. They will be available as a roundstart race during the
- Halloween holiday event.
- ShizCalev:
- - bugfix: Reflectors will no longer drop more materials than they took to make when
- deconstructed.
- - bugfix: You will no longer be prompted to reenter your body while being defibbed
- if you can't actually be revived.
- - bugfix: You can no longer teleport past the ticket stands of the Luxury Emergency
- Shuttle.
- - bugfix: Lightgeists can now -actually- be spawned with gold slime cores.
- - tweak: The Staff of Change will now randomly assign a cyborg module when transforming
- a mob into a cyborg.
- Xhuis:
- - balance: Clockwork marauders now move more slowly below 40% health.
- - balance: Instead of a 40% chance (or more) chance to block projectiles, clockwork
- marauders now have three fixed 100% blocks; after using those three, they cannot
- block anymore without avoiding projectiles for ten seconds. This number increases
- to four if war is declared.
- - balance: Projectiles that deal no damage DO reduce marauders' shield health. Use
- disabler shots to open them up, then use lasers to go for the kill!
- - bugfix: Cogscarab shells and marauder armor now appear in the spawners menu.
- - bugfix: You can no longer stack infinitely many stargazers on one tile.
- nicbn:
- - imageadd: Chemical heater and smoke machine resprited.
- ninjanomnom:
- - soundadd: Portable generators have a sound while active.
- - soundadd: The supermatter has a sound that scales with stored energy.
- ninjanomnom & Wjohn:
- - bugfix: Cable cuffs now inherit the color of the cables used to make them.
- - bugfix: Split cable stacks keep their color.
- - tweak: The blue cable color is now a better blue.
-2017-10-27:
- Anonmare:
- - rscadd: Adds new grindables
- JamieH:
- - rscadd: Buildmode map generators will now show you a preview of the area you're
- changing
- - rscadd: Buildmode map generators will now ask before nuking the map
- - bugfix: Buildmode map generator corners can now only be set by left clicking
- Kor:
- - rscadd: Cloth golems will be available as a roundstart race during Halloween.
- MrStonedOne:
- - code_imp: Created a system to profile code on a line by line basis and return
- detailed info about how much time was spent (in milliseconds) on each line(s).
- Xhuis:
- - balance: Servants can no longer teleport into the gravity generator, EVA, or telecomms.
- ninjanomnom:
- - bugfix: Hardsuit helmets work like geiger counters for the user.
- - code_imp: Radiation should perform a little better in places.
- - balance: Various radiation symptom thresholds have been tweaked.
- - balance: Contamination strengths at different ranges have been tweaked.
- - balance: Contaminated objects have less range for their radiation.
- - balance: Hitting something with a contaminated object reduces its strength faster.
- - balance: Contaminated objects decay faster.
- - balance: Both radiation healing medicines have been buffed a bit.
- - balance: Passive radiation loss for mobs is nerfed.
- - balance: There is a soft cap for mob radiation now.
- - balance: Projectiles, ammo casings, and implants are disallowed from becoming
- contaminated.
- - rscadd: Suit storage units can completely cleanse contamination from stored objects
- - admin: The first time an object is contaminated enough to spread more contamination
- admins will be warned. This is also added to stat tracking.
- - rscadd: Thermite works on floors and can be ignited by sufficiently hot fires
- now
- - refactor: Thermite has been made into a component
- - bugfix: Thermite no longer removes existing overlays on turfs
-2017-10-28:
- Mark9013100:
- - tweak: The Medical Cloning manual has been updated.
-2017-10-29:
- Armhulen:
- - rscadd: Frost Spiders now use Frost OIL!
- Mercenaryblue:
- - rscadd: Skeletons can now have their own spectral instruments
- - rscadd: \[Dooting Intensifies\]
- - admin: the variable "too_spooky" defines if it will spawn new instruments, by
- default TRUE.
- Naksu:
- - bugfix: Removed meteor-related free lag
- - bugfix: Cleaned up dangling mob references from alerts
- Xhuis:
- - bugfix: You can no longer become an enhanced clockwork golem with mutation toxin.
- - balance: Normal clockwork golems now have 20% armor, down from 40%.
- as334:
- - spellcheck: This changelog has been updated and so read it again if you are interested
- in doing assmos.
- - rscadd: Atmospherics has been massively expanded including new gases.
- - rscadd: These new gases include Brown Gas, Pluoxium, Stimulum, Hyper-Noblium and
- Tritium.
- - rscadd: Brown Gas is acidic to breath, but mildly stimulation.
- - rscadd: Stimulum is more stimulating and much safer.
- - rscadd: Pluoxium is a non-reactive form of oxygen that delivers more oxygen into
- the bloodstream.
- - rscadd: Hyper-Noblium is an extremely noble gas, and stops gases from reacting.
- - rscadd: Tritium is radioactive and flammable.
- - rscadd: New reactions have also been added to create these gases.
- - rscadd: 'Tritium formation: Heat large amounts of oxygen with plasma. Make sure
- you have a filter ready and setup!'
- - rscadd: Fusion has been reintroduced. Plasma will fuse when heated to a high thermal
- energy with Tritium as a catalyst. Make sure to manage the waste products.
- - rscadd: 'Brown Gas formation: Heat Oxygen and Nitrogen.'
- - rscadd: 'BZ fixation: Heat Tritium and Plasma.'
- - rscadd: 'Stimulum formation: Heated Tritium, Plasma, BZ and Brown Gas.'
- - rscadd: 'Hyper-Noblium condensation: Needs Nitrogen and Tritium at a super high
- heat. Cools rapidly.'
- - rscadd: Pluoxium is unable to be formed.
- - rscdel: Freon has been removed. Use cold nitrogen for your SME problems now.
- - rscadd: Water vapor now freezes the tile it is on when it is cooled heavily.
- naltronix:
- - bugfix: fixes that table that wasnt accessible in Metastation
-2017-10-30:
- PKPenguin321:
- - tweak: You can now use beakers/cups/etc that have welding fuel in them on welders
- to refuel them.
- bgobandit:
- - tweak: 'Due to cuts to Nanotrasen''s Occupational Safety and Health Administration
- (NO-SHA) budget, station fixtures no longer undergo as much safety testing.
- (Translation for rank and file staff: More objects on the station will hurt
- you.)'
-2017-11-02:
- ACCount:
- - tweak: '"Tail removal" and "tail attachment" surgeries are merged with "organ
- manipulation".'
- - imageadd: New sprites for reflectors. They finally look like something.
- - rscadd: You can lock reflector's rotation by using a screwdriver. Use the screwdriver
- again to unlock it.
- - rscadd: Reflector examine now shows the current angle and rotation lock status.
- - rscadd: You can now use a welder to repair damaged reflectors.
- - bugfix: Multiple reflector bugs are fixed.
- Improvedname:
- - rscdel: Removes statues from gold slime pool
- Mercenaryblue:
- - imageadd: Updated Clown Box sprite to match the others.
- More Robust Than You:
- - admin: ONLY ADMINS CAN ACTIVATE THE ARK NOW
- - tweak: The Ark's time measurements are now a bit more readable
- MrStonedOne:
- - tweak: Meteor events will not happen before 25 minutes, the worst versions before
- 35 and 45 minutes.
- - tweak: Meteor events are now player gated to 15, 20, and 25 players respectively
- - balance: The more destructive versions of meteor events now have a slightly higher
- chance of triggering, to offset the decrease in how often it is that they will
- even qualify.
- - bugfix: Fixed the changelog generator.
- Naksu:
- - tweak: Smartfridges and chem/condimasters now output items in a deterministic
- 3x3 grid rather than in a huge pile in the middle of the tile.
- SpaceManiac:
- - bugfix: Admins can once again spawn nuke teams on demand.
- Xhuis:
- - admin: Admins can now create sound emitters (/obj/effect/sound_emitter) that can
- be customized to play sounds to different people, at different volumes, and
- at different locations such as by z-level. They're much more versatile for events
- than the Play Sound commands!
- - rscadd: You can now add grenades to plushies! You'll need to cut out the stuffing
- first.
- - tweak: Clockwork cult tips of the round have been updated to match the rework.
- - tweak: Abscond and Reebe rifts now place servants directly at the Ark instead
- of below the "base" area.
- nicbn:
- - tweak: Brown gas renamed to nitryl.
- ninjanomnom:
- - bugfix: Fixes decals not rotating correctly with the turf.
- - bugfix: Fixes a runtime causing some turfs to be left behind by removed shuttles.
- - code_imp: Shuttles should be roughly 40-50% smoother.
- - bugfix: Fixes the cargo shuttle occasionally breaking if a mob got on at exactly
- the right time.
-2017-11-10:
- Anonmare:
- - bugfix: Adds an organ storage bag to the syndicate medborg.
- AnturK:
- - balance: Dying in shapeshifted form reverts you to the original one. (You're still
- dead)
- Floyd / Qustinnus:
- - soundadd: Redtexting as a traitor now plays a depressing tune to you
- Floyd / Qustinnus (And all the sounds by Kayozz11 from Yogstation):
- - soundadd: Adds about 30 new ambience sounds
- - refactor: added new defines for ambience lists.
- Iamgoofball:
- - tweak: Cooldown on the Ripley's mining drills has been halved.
- - tweak: The frequency of the Ripley's ore pulse has been doubled.
- Jalleo:
- - tweak: Removed a variable to state which RCD's can deconstruct reinforced walls
- - balance: Made combat (ERT ones) and admin RCDs able to deconstruct r walls alongside
- borg ones
- Kor:
- - bugfix: Cult mode will once again print out names at round end.
- Mark9013100:
- - rscadd: Deltastation now has a Whiteship.
- - tweak: Charcoal bottles have been renamed, and have been given a more informative
- description.
- Mercenaryblue:
- - spellcheck: spellchecked the hotel staff.
- - rscadd: Added frog masks. Reeeeeeeeee!!
- More Robust Than You:
- - bugfix: Blobbernauts and spores are no longer killed by blob victory
- - bugfix: New blob overminds off the station Z level are moved to the station
- - bugfix: You can now use banhammers as a weapon
- - tweak: Monkeys can no longer transmit diseases through hardsuits
- - tweak: Xenobio blobbernauts can no longer walk on blob tiles
- Naksu:
- - tweak: Added deterministic output slots to the slime processor
- - bugfix: Fixed some interactions with ghosts and items
- - bugfix: Nonhumans such as monkeys can now be scanned for chemicals with the health
- analyzer.
- Okand37 (DeltaStation Updates):
- - rscadd: Tweaked Atmospherics
- - bugfix: Fixed the Incinerator air injector
- - rscadd: Tweaked Engineering
- - rscadd: Added logs to the Chaplain's closet for gimmicks (bonfires)
- - rscadd: Tweaked Security
- - bugfix: Fixed medical morgue maintenance not providing radiation shielding and
- exterior chemistry windoor
- - rscadd: Bar now has a door from the backroom to the theatre stage
- - rscadd: Tweaked Locker Room/Dormitories
- ShizCalev:
- - bugfix: You can now -actually- load pie cannons.
- - bugfix: The captain's winter coat can now hold a flashlight.
- - bugfix: The captain's and security winter coats can now hold internals tanks.
- - tweak: All winter coats can now hold toys, lighters, and cigarettes.
- - tweak: The captain's hardsuit can now hold pepperspray.
- - rscadd: Updated the Test Map debugging verb to report more issues regarding APCs.
- DELTASTATION
- - bugfix: Reverted Okand37's morgue changes which broke power in the area.
- - bugfix: Corrected wrong area on the Southern airlock leading into electrical maintenance.
- ALL STATIONS
- - bugfix: Corrected numerous duplicate APCs in areas which led to power issues.
- SpaceManiac:
- - bugfix: Ghosts can no longer create sparks from the hand teleporter's portals.
- - bugfix: Digging on Lavaland no longer shows two progress bars.
- - bugfix: The holodeck now has an "Offline" option.
- - bugfix: Injury and crit overlays are now scaled properly for zoomed-out views.
- - bugfix: Already-downloaded software is now hidden from the NTNet software downloader.
- - bugfix: The crafting, language, and building buttons are now positioned correctly
- in zoomed-out views.
- - bugfix: Bluespace shelter walls no longer smooth with non-shelter walls and windows.
- Swindly:
- - rscadd: Organ storage bags can be used to perform limb augmentation.
- - bugfix: You can now cancel a cavity implant during the implanting/removing step
- by using drapes while holding the appropriate tool in your inactive hand. Cyborgs
- can cancel the surgery by using drapes alone.
- - bugfix: Fixed hot items and fire heating reagents to temperatures higher than
- their heat source.
- - bugfix: Sprays can now be heated with hot items.
- - tweak: The heating of reagents by hot items, fire, and microwaves now scales linearly
- with the difference between the reagent holder's temperature and the heat source's
- temperature instead of constantly.
- - tweak: The body temperature of a mob with reagents is affected by the temperature
- of the mob's reagents.
- - tweak: Reagent containers can now be heated by hot air.
- Thefastfoodguy:
- - bugfix: Spamming runes / battlecries / etc will no longer trigger spam prevention
- WJohnston:
- - bugfix: Ancient station lighting fixed on beta side (medical and atmos remains)
- XDTM:
- - rscadd: Ghosts now have a Toggle Health Scan verb, which allows them to health
- scan mobs they click on.
- Xhuis:
- - rscadd: Ratvar and Nar-Sie plushes now have a unique interaction.
- - balance: Clockwork marauders are now on harm intent.
- - balance: The Clockwork Marauder scripture now takes five seconds longer to invoke
- per marauder summoned in the last 20 seconds, capping at 30 extra seconds.
- - balance: Clockwork marauders no longer gain a health bonus when war is declared.
- - tweak: Moved the BoxStation deep fryers up one tile.
- - rscadd: Microwaves have new sounds!
- YPOQ:
- - bugfix: EMPs can pulse multiple wires
- as334:
- - rscadd: Pluoxium can now be formed by irradiating tiles with CO2 in the air.
- - rscadd: Rad collectors now steadily form Tritium at a slow pace.
- - balance: Nerfs fusion by making it slower, and produce radioactivity.
- - balance: Noblium formation now requires significantly more energy input.
- - balance: Tanks now melt if their temperature is above 1 Million Kelvin.
- deathride58:
- - bugfix: Directional character icon previews now function properly. Other things
- relying on getflaticon probably work with directional icons again, as well.
- nicbn:
- - imageadd: Canister sprites for the new gases
- ninjanomnom:
- - bugfix: Shuttle parallax has been fixed once more
- - bugfix: You can no longer set up the auxiliary base's shuttle beacon overlapping
- with the edge of the map
- uraniummeltdown:
- - tweak: Replica fabricatoring airlocks and windoors keeps the old name
- - tweak: Narsie and Ratvar converting airlocks and windoors keeps the old name
-2017-11-11:
- DaxDupont:
- - bugfix: Medbots can inject from one tile away again.
- SpaceManiac:
- - bugfix: The detective and heads of staff are no longer attacked by portable turrets.
- deathride58:
- - bugfix: You can no longer delete girders, lattices, or catwalks with the RPD
- - bugfix: Fixes runtimes that occur when clicking girders, lattices, catwalks, or
- disposal pipes with the RPD in paint mode
- ninjanomnom:
- - bugfix: Fixes ruin cable spawning and probably some other bugs
-2017-11-12:
- Cyberboss:
- - bugfix: Clockwork slabs no longer refer to components
-2017-11-13:
- Cobby:
- - rscadd: The Xray now only hits the first mob it comes into contact with instead
- of being outright removed from the game.
- Floyd / Qustinnus:
- - soundadd: Reebe now has ambience sounds
- 'Floyd / Qustinnus:':
- - soundadd: Adds a few sound_loop datums to machinery.
- Frozenguy5:
- - bugfix: Broken cable cuffs no longer has an invisible sprite.
- PKPenguin321:
- - rscadd: Welders must now be screwdrivered open to reveal their fuel tank.
- - rscadd: You can empty welders into open containers (like beakers or glasses) when
- they're screwdrivered open.
- - rscadd: You can now insert any chemical into a welder, but all most will do is
- clog the fuel. Welding fuel will refuel it as usual. Plasma in welders tends
- to explode.
- Qbopper and JJRcop:
- - tweak: The default internet sound volume was changed from 100 to 25. Stop complaining
- in OOC about your ears!
- SpaceManiac:
- - bugfix: Posters may no longer be placed on diagonal wall corners.
- WJohnston:
- - rscdel: Removes stationary docking ports for syndicate infiltrator ships on all
- maps. Use the docking navigator computer instead! This gives the white ship
- and syndicate infiltrator more room to navigate and place custom locations that
- are otherwise occupied by fixed shuttle landing zones that are rarely used.
- Xhuis:
- - rscadd: Deep fryers now have sound.
- - tweak: Deep fryers now use cooking oil, a specialized reagent that becomes highly
- damaging at high temperatures. You can get it from grinding soybeans and meat.
- - tweak: Deep fryers now become more efficient with higher-level micro lasers, using
- less oil and frying faster.
- - tweak: Deep fryers now slowly use oil as it fries objects, instead of all at once.
- - bugfix: You can now correctly refill deep fryers with syringes and pills.
- nicn:
- - balance: Damage from low pressure has been doubled.
- ninjanomnom:
- - rscadd: You can now select a nearby area to expand when using a blueprint instead
- of making a new area.
- - rscadd: New shuttle areas can be created using blueprints. This is currently not
- useful but will be used later for shuttle construction.
- - tweak: Blueprints can modify existing areas on station.
- - admin: Blueprint functionality has been added to the debug tab as a verb.
-2017-11-14:
- ike709:
- - imageadd: Added directional computer sprites. Maps haven't been changed yet.
- psykzz:
- - refactor: AI Airlock UI to use TGUI
- - tweak: Allow AI to swap between electrified door states without having to un-electrify
- first.
- selea/arsserpentarium:
- - rscadd: Integrated circuits have been added to Research!
- - rscadd: You can use these to create devices with very complex behaviors.
- - rscadd: Research the Integrated circuits printer to get started.
-2017-11-15:
- Fury:
- - rscadd: Added new sprites for the Heirophant Relay (clock cultist telecomms equipment).
- Naksu:
- - bugfix: 'Removed fire-related free lag. change: fire alarms and cameras no longer
- work after being ripped off a wall by a singulo'
- - tweak: 'Minor speedups to movement processing. change: Fat mobs no longer gain
- temperature by running.'
- Robustin:
- - refactor: Cult population scaling no longer operates on arbitrary breakpoints.
- Each additional player between the between the breakpoints will add to the "chance"
- that an additional cultist will spawn.
- - tweak: On average you will see less roundstart cultists in lowpop and more roundstart
- cultists in highpop.
- - tweak: Damage examinations now include a "moderate" classification. Before minor
- was <30 and severe was anything 30 or above. Now minor is <25, moderate is 25
- to <50, and severe is 50+.
- - tweak: The tesla will now move toward power beacons at a significantly slower
- rate.
- SpaceManiac:
- - bugfix: The post-round station integrity report is now functional again.
- ninjanomnom:
- - bugfix: Gas overlays no longer block clicks, on 512
-2017-11-22:
- ACCount:
- - refactor: Old integrated circuit save file format is ditched in favor of JSON.
- Readability, both of save files and save code, is improved greatly.
- - tweak: Integrated circuit panels now open with screwdriver instead of crowbar,
- to match every single other thing on this server.
- - tweak: Integrated circuit printer now stores up to 25 metal sheets.
- - bugfix: Fixed integrated circuit rechargers not recharging guns properly and not
- updating icons.
- - bugfix: Fixed multiple bugs in integrated circuits UIs, improved overall usability.
- Anonmare:
- - balance: Laserpoitners now incapcitate catpeople
- AutomaticFrenzy:
- - bugfix: cell chargers weren't animating properly
- - bugfix: disable_warning wasn't getting checked and the chat was being spammed
- Code by Pyko, Ported by Frozenguy5:
- - rscadd: Rat Kebabs and Double Rat Kebabs have been added!
- Cyberboss:
- - server: Server tools API changed to version 3.2.0.1
- - admin: '"ahelp" chat command can now accept a ticket number as opposed to a ckey'
- DaxDupont:
- - tweak: CentCom has issued a firmware updated for the operating computers. It is
- no longer needed to manually refresh the procedure and patient status.
- - bugfix: Proximity sensors no longer beep when unarmed.
- - bugfix: Plant trays will now properly process fluorine and adjust toxins and water
- contents.
- Francinum:
- - tweak: The shuttle build plate is now better sized for all stations.
- Iamgoofball:
- - spellcheck: fixes grammar on logic gate descriptions
- - spellcheck: fixes grammar on list circuits
- - bugfix: fixes grammar on trig circuits
- - spellcheck: fixed grammar on output circuits
- JJRcop:
- - bugfix: Fixes changeling eggs not putting the changeling in control if the brainslug
- is destroyed before hatching.
- - tweak: The silicon airlock menu looks a little more like it used to.
- Kor:
- - bugfix: Blobbernauts will no longer spawn if a player is not selected to control
- it, preventing AI blobbernauts from running off the blob and to their deaths.
- - rscdel: Following complaints that cargo has been selling all the materials they
- receive rather than distributing them, mineral exporting has been removed.
- MMMiracles:
- - balance: Power regen on the regular tesla relay has been reduced to 50, from 150.
- Naksu:
- - bugfix: Sped up saycode to remove free lag from highpop
- - bugfix: Using a chameleon projector will now dismount you from any vehicles you
- are riding, in order to prevent wacky space glitches and being sent to a realm
- outside space and time.
- Shadowlight213:
- - code_imp: Added round id to the status world topic
- ShizCalev:
- - bugfix: Chameleon goggles will no longer go invisible when selecting Optical Tray
- scanners.
- - rscadd: Engineering and Atmos scanner goggles will now have correctly colored
- inhand sprites.
- - tweak: The computers on all maps have have been updated for the latest directional
- sprite changes. Please report any computers facing in strange directions to
- your nearest mapper.
- - bugfix: MetaStation - The consoles in medbay have had their directions corrected.
- - imageadd: The Nanotrasen logo on modular computers has been fixed, rejoice!
- - bugfix: PubbyStation - Unpowered air injectors in various locations have been
- fixed.
- - bugfix: MetaStation - Air injector leading out of the incinerator has been fixed
- - bugfix: MetaStation - Corrected a couple maintenance airlocks being powered by
- the wrong areas.
- - bugfix: Computers will no longer rotate incorrectly when being deconstructed.
- - bugfix: You can now rotate computer frames during construction.
- - bugfix: Chairs, PA parts, infrared emitters, and doppler arrays will now rotate
- clockwise.
- - bugfix: Throwing drinking glasses and cartons will now consistently cause them
- to break!
- - bugfix: Humans missing legs or are legcuffed will no longer move slower in areas
- without gravity.
- - bugfix: The structures external to stations are now properly lit. Make sure you
- bring a flashlight.
- - bugfix: Computers will no longer delete themselves when being built, whoops!
- - bugfix: Space cats will no longer have a smashed helmet when they lay down.
- Skylar Lineman, your local R&D moonlighter:
- - rscadd: Research has been completely overhauled into the techweb system! No more
- levels, the station now unlocks research "nodes" with research points passively
- generated when there is atleast one research server properly cooled, powered,
- and online.
- - rscadd: R&D lab has been replaced by the departmental lathe system on the three
- major maps. Each department gets a lathe and possibly a circuit imprinter that
- only have designs assigned by that department.
- - rscadd: The ore redemption machine has been moved into cargo bay on maps with
- decentralized research to prevent the hallways from becoming a free for all.
- Honk!
- - balance: You shouldn't expect balance as this is the initial merge. Please put
- all feedback and concerns on the forum so we can revise the system over the
- days, weeks, and months, to make this enjoyable for everyone. Heavily wanted
- are ideas of how to add more ways of generating points.
- - balance: You can get techweb points by setting off bombs with an active science
- doppler array listening. The bombs have to have a theoretical radius far above
- maxcap to make a difference. You can only go up, not down, in radius, so you
- can't get 6 times the points with 6 TTVs. The algorithm is exponentially/logarithmically
- scaled to prevent "world destroyer" bombs from instantly finishing research.
- SpaceManiac:
- - bugfix: HUDs from mechs and helmets no longer conflict with HUD glasses and no
- longer inappropriately remove implanted HUDs.
- - code_imp: Chasm code has been refactored to be more sane.
- - bugfix: Building lattices over chasms no longer sometimes deletes the chasm.
- - code_imp: Ladders have been refactored and should be far less buggy.
- - bugfix: Jacob's ladder actually works again.
- - bugfix: Pizza box stacking works again.
- - bugfix: Fix some permanent-on and permanent-off bugs caused by the HUD stacking
- change.
- WJohnston:
- - imageadd: A bunch of new turf decals for mappers to play with, coming in yellow,
- white, and red varieties!
- - bugfix: Green banded default airlocks now have extended click area like all other
- airlocks.
- Y0SH1 M4S73R:
- - spellcheck: The R&D Server's name is now improper.
- - spellcheck: The R&D Server now has an explanation of what it does.
- arsserpentarium:
- - bugfix: now lists should work properly
- duncathan:
- - rscadd: The RPD has a shiny new UI!
- - rscadd: The RPD can now paint pipes as it lays them, for quicker piping projects.
- - rscadd: Atmos scrubbers (vent and portable) can now filter any and all gases.
- ike709:
- - imageadd: Added new vent and scrubber sprites by Partheo.
- - bugfix: Fixed some computers facing the wrong direction.
- jammer312:
- - bugfix: fixed conjuration spells forgetting about conjured items
- kevinz000:
- - rscadd: purple bartender suit and apron added to clothesmates!
- - rscadd: long hair 3 added, check it out. both have sprites from okand!
- nicbn:
- - soundadd: Now rolling beds and office chairs have a sound!
- oranges:
- - rscdel: Removed the shocker circuit
- psykzz:
- - imageadd: Grilles have new damaged and default sprites
- - rscadd: Added TGUI for Turbine computer
- tserpas1289:
- - tweak: Any suit that could hold emergency oxygen tanks can now also hold plasma
- man internals
- - tweak: Hydroponics winter coats now can hold emergency oxygen tanks just like
- the other winter coats.
- - bugfix: Plasma men jumpsuits can now hold accessories like pocket protectors and
- medals.
- zennerx:
- - bugfix: fixed a bug that made you try and scream while unconscious due to a fire
- - tweak: Skateboard crashes now give slight brain damage!
- - rscadd: Using a helmet prevents brain damage from the skateboard!
-2017-11-23:
- GupGup:
- - bugfix: Fixes hostile mobs attacking surrounding tiles when trying to attack someone
- MrStonedOne and Jordie:
- - server: As a late note, serverops be advise that mysql is no longer supported.
- existing mysql databases will need to be converted to mariadb
- Robustin:
- - tweak: RND consoles will no longer display options for machines or disks that
- are not connected/inserted.
- ShizCalev:
- - bugfix: Aliens in soft-crit will now use the correct sprite.
- XDTM:
- - rscadd: 'Added two new symptoms: one allows viruses to still work while dead,
- and allows infection of undead species, and one allows infection of inorganic
- species (such as plasmapeople or golems).'
-2017-11-24:
- ACCount:
- - rscdel: Removed "console screen" stock part. Just use glass sheets instead.
- More Robust Than You:
- - tweak: Spessmen are now smart enough to realize you don't need to turn around
- to pull cigarette butts
- SpaceManiac:
- - bugfix: Fix water misters being inappropriately glued to hands in some cases.
- - bugfix: Some misplaced decals in the Hotel brig have been corrected.
- ninjanomnom:
- - bugfix: Custom shuttle dockers can no longer place docking regions inside other
- custom docker regions.
-2017-11-25:
- CosmicScientist:
- - bugfix: bolas are back in tablecrafting!
- Dorsisdwarf:
- - tweak: Catpeople are now distracted instead of debilitated
- - rscadd: Normal cats now go for laser pointers
- SpaceManiac:
- - bugfix: You can no longer buckle people to roller beds from inside of a locker.
- YPOQ:
- - bugfix: AIs and cyborgs can interact with unscrewed airlocks and APCs.
- ninjanomnom:
- - bugfix: Fixes thermite burning hotter than the boiling point of stone
- zennerx:
- - bugfix: Zombies don't reanimate with no head!
-2017-11-27:
- ACCount:
- - rscadd: 'New integrated circuit components: list constructors/deconstructors.
- Useful for building lists and taking them apart.'
- - bugfix: Fixed multiple bugs in integrated circuits UIs, improved overall usability.
- More Robust Than You:
- - bugfix: Fixed cult leaders being de-culted upon election if they had a mindshield
- implant
- Naksu:
- - bugfix: Hopefully fixed mesons granting the ability to hear people through walls.
- Okand37:
- - rscadd: Re-organized Delta's departmental protolathes for all departments.
- - rscadd: Re-organized Delta's ORM placement by connecting it to the mining office,
- which now has a desk for over handing materials to the outside.
- - rscadd: Added a second Nanomed to Deltastation's medical bay.
- - rscadd: Nanotrasen has decided to add proper caution signs to most docking ports
- on Deltastation, warning individuals to be cautious around these areas.
- - rscadd: Two health sensors are now placed in Deltastation's robotics area for
- medibots.
- - bugfix: Atmospheric Technicians at Deltastation can now open up their gas storage
- in the supermatter power area as intended.
- WJohnston:
- - bugfix: Fixed a case where items would sometimes be placed underneath racks.
- XDTM:
- - balance: Viruses' healing symptoms have been reworked!
- - rscdel: All existing healing symptoms have been removed in favour of new ones.
- - rscdel: Weight Even and Weight Gain have been removed, so hunger can be used for
- balancing in symptoms.
- - rscadd: Starlight Condensation heals toxin damage if you're in space using starlight
- as a catalyst. Being up to two tiles away also works, as long as you can still
- see it, but slower.
- - rscadd: Toxolysis (level 7) rapidly cleanses all chemicals from the body, with
- no exception.
- - rscadd: 'Cellular Molding heals brute damage depending on your body temperature:
- the higher the temperature, the faster the healing. Requires above-average temperature
- to activate, and the speed heavily increases while on fire.'
- - rscadd: Regenerative Coma (level 8) causes the virus to send you into a deep coma
- when you are heavily damaged (>70 brute+burn damage). While you are unconscious,
- either from the virus or from other sources, the virus will heal both brute
- and burn damage fairly quickly. Sleeping also works, but at reduced speed.
- - rscadd: Tissue Hydration heals burn damage if you are wet (negative fire stacks)
- or if you have water in your bloodstream.
- - rscadd: Plasma Fixation (level 8) stabilizes temperature and heals burns while
- plasma is in your body or while standing in a plasma cloud. Does not protect
- from the poisoning effects of plasma.
- - rscadd: Radioactive Resonance gives a mild constant brute and burn healing while
- irradiated. The healing becomes more intense if you reach higher levels of radiation,
- but is still less than the alternatives.
- - rscadd: Metabolic Boost (level 7) doubles the rate at which you process chemicals,
- good and bad, but also increases hunger tenfold.
- kevinz000:
- - bugfix: Cryo cells can now be properly rotated with a wrench.
- ninjanomnom:
- - rscadd: 'You can now make a new tasty traditional treat: butterdogs. Watch out,
- they''re slippery.'
-2017-11-28:
- ACCount:
- - rscdel: '"Machine prototype" is removed from the game.'
- - rscdel: Mass-spectrometers are removed. Would anyone notice if not for this changelog
- entry?
- Cruix:
- - rscadd: AI and observer diagnostic huds will now show the astar path of all bots,
- and Pai bots will be given a visible path to follow when called by the AI.
- JJRcop:
- - admin: Fixed the Make space ninja verb.
- Naksu:
- - code_imp: rejiggered botcode a little bit
- SpaceManiac:
- - spellcheck: Admin-added "download research" objectives are now consistent with
- automatic ones.
- improvedname:
- - tweak: toolbelts can now carry geiger counters
- uraniummeltdown:
- - rscadd: You can make many different types of office and comfy chairs with metal
- - tweak: Stack menus use /datum/browser
-2017-11-29:
- MrStonedOne:
- - tweak: The sloth no longer suspiciously moves fast when gliding between tiles.
- - balance: The sloth's movespeed when inhabited by a player has been lowered from
- once every 1/5 of a second to once every second.
- SpaceManiac:
- - spellcheck: The techweb node for mech LMGs no longer claims to be for mech tasers.
-2017-11-30:
- ninjanomnom:
- - tweak: Reduced the max volume of sm by 1/5th and made the upper bounds only play
- mid delamination.
- psykzz:
- - bugfix: Fixing the broken turbine computer
-2017-12-02:
- BeeSting12:
- - spellcheck: Occupand ---> Occupant on opened cryogenic pods.
- - spellcheck: Cyrogenic ---> Cryogenic on opened cryogenic pods.
- CosmicScientist:
- - rscadd: You can make plushies kiss one another!
- Frozenguy5:
- - tweak: The Particle Accelerator's wires can no longer be EMP'd
- Naksu:
- - code_imp: Cleans up some loc assignments
- Robustin:
- - tweak: Damage examinations now include a "moderate" classification. Before minor
- was <30 and severe was anything 30 or above. Now minor is <25, moderate is 25
- to <50, and severe is 50+.
- - balance: Clockwork magicks will now prevent Bags of Holding from being combined
- on Reebe.
- - bugfix: Flashes will now burn out AFTER flashing when they fail instead of being
- a ticking time bomb that waits to screw you over on your next attempt.
- SpaceManiac:
- - tweak: The R&D Console has been given a much prettier interface.
- - tweak: Research scanner goggles now show materials and technology prospects in
- a nicer way.
- uraniummeltdown:
- - imageadd: Construct shells have a new animated sprite
-2017-12-03:
- ExcessiveUseOfCobblestone:
- - bugfix: You can now lay (buckle!) yourself to a bed to avoid being burnt to a
- crisp during "the floor is lava" event.
- Robustin:
- - tweak: Igniting plasma statues no longer ignores ignition temperature and only
- creates as much plasma as was used in its creation.
- Xhuis:
- - rscadd: Light fixtures now turn an ominous, dim red color when they lose power,
- and draw from an internal power cell to maintain it until either the cell dies
- (usually after 10 minutes) or power is restored.
- - rscadd: You can override emergency light functionality from an APC. You can also
- click on individual lights as a cyborg or AI to override them individually.
- Traitor AIs also have a new ability that disables emergency lights across the
- entire station.
- zennerx:
- - spellcheck: fixed some typos in the weapon firing mechanism description
-2017-12-04:
- AnturK:
- - rscadd: You can now record and replay holopad messages using holodisks.
- - rscadd: Holodisks are printable in autolathes.
- Xhuis:
- - bugfix: You now need fuel in your welder to repair mechs.
-2017-12-05:
- Cyberboss:
- - sounddel: Reduced the volume of showers
- Dax Dupont:
- - rscadd: Nanotrasen is happy to announce the pinnacle in plasma research! The Disco
- Inferno shuttle design is the result of decades of plasma research. Burn, baby,
- burn!
- MrPerson & ninjanomnom:
- - refactor: Completely changed how keyboard input is read.
- - rscadd: Holding two directions at the same time will now move you diagonally.
- This works with the arrow keys, wasd, and the numpad.
- - tweak: Moving diagonally takes twice as long as moving a cardinal direction.
- - bugfix: You can use control to turn using wasd and the numpad instead of just
- the arrow keys.
- - rscdel: 'Some old non-hotkey mode behaviors, especially in relation to chatbox
- interaction, can''t be kept with the new system. Of key note: You can''t type
- while walking. This is due to limitations of byond and the work necessary to
- overcome it is better done as another overhaul allowing custom controls.'
- Robustin:
- - rscdel: Reverted changes in 3d sound system that tripled the distance that sound
- would carry.
- SpaceManiac:
- - spellcheck: Energy values are now measured in joules. What was previously 1 unit
- is now 1 kJ.
- - bugfix: Syndicate uplink implants now work again.
- Xhuis:
- - tweak: Stethoscopes now inform the user if the target can be defibrillated; the
- user will hear a "faint, fluttery pulse."
- coiax:
- - rscadd: Quiet areas of libraries on station have now been equipped with a vending
- machine containing suitable recreational activities.
-2017-12-06:
- Dax Dupont & Alek2ander:
- - tweak: Binary chat messages been made more visible.
- Revenant Defile ability:
- - bugfix: Revenant's Defile now removes salt piles
- XDTM:
- - rscadd: 'Brain damage has been completely reworked! remove: Brain damage now no
- longer simply makes you dumb. Although most of its effects have been shifted
- into a brain trauma.'
- - rscadd: Every time you take brain damage, there's a chance you'll suffer a brain
- trauma. There are many variations of brain traumas, split in mild, severe, and
- special.
- - rscadd: Mild brain traumas are the easiest to get, can be lightly to moderately
- annoying, and can be cured with mannitol and time.
- - rscadd: Severe brain traumas are much rarer and require extensive brain damage
- before you have a chance to get them; they are usually very debilitating. Unlike
- mild traumas, they require surgery to cure. A new surgery procedure has been
- added for this, the aptly named Brain Surgery. It can also heal minor traumas.
- - rscadd: 'Special brain traumas are rarely gained in place of Severe traumas: they
- are either complex or beneficial. However, they are also even easier to cure
- than mild traumas, which means that keeping these will usually mean keeping
- a mild trauma along with it.'
- - rscadd: Mobs can only naturally have one mild trauma and one severe or special
- trauma.
- - balance: Brain damage will now kill and ruin the brain if it goes above 200. If
- it somehow goes above 400, the brain will melt and be destroyed completely.
- - balance: Many brain-damaging effects have been given a damage cap, making them
- non-lethal.
- - rscdel: The Unintelligible mutation has been removed and made into a brain trauma.
- - rscdel: Brain damage no longer makes using machines a living hell.
- - rscadd: Abductors give minor traumas to people they experiment on.
- coiax:
- - rscadd: The drone dispenser on Metastation has been moved to the maintenance by
- Robotics.
-2017-12-07:
- ShizCalev:
- - bugfix: Games vending machines can now properly be rebuilt.
- - bugfix: Games vending machines can now be refilled via supply crates.
- - rscadd: Games Supply Crates have been added to the cargo console.
- SpaceManiac:
- - bugfix: Radio frequency 148.9 is once again serviced by the telecomms system.
- Xhuis:
- - rscadd: Added the Eminence role to clockcult! Players can elect themselves or
- ghosts as the Eminence from the eminence spire structure on Reebe.
- - rscadd: The Eminence is incorporeal and invisible, and directs the entire cult.
- Anything they say is heard over the Hierophant network, and they can issue commands
- by middle-clicking themselves or different turfs.
- - rscadd: The Eminence also has a single-use mass recall that warps all servants
- to the Ark chamber.
- - rscadd: Added traps, triggers, and brass filaments to link them. They can all
- be constructed from brass sheets, and do different things and trigger in different
- ways. Current traps include the brass skewer and steam vent, and triggers include
- the pressure sensor, lever, and repeater.
- - rscadd: The Eminence can activate trap triggers by clicking on them!
- - rscadd: Servants can deconstruct traps instantly with a wrench.
- - rscdel: Mending Mantra has been removed.
- - tweak: Clockwork scriptures have been recolored and sorted based on their functions;
- yellow scriptures are for construction, red for offense, blue for defense, and
- purple for niche.
- - balance: Servants now spawn with a PDA and black shoes to make disguise more feasible.
- - balance: The Eminence can superheat up to 20 clockwork walls at a time. Superheated
- walls are immune to hulk and mech punches, but can still be broken conventionally.
- - balance: Clockwork walls are slightly faster to build before the Ark activates,
- taking an extra second less.
- - bugfix: Poly no longer continually undergoes binary fission when Ratvar is in
- range.
- - code_imp: The global records alert for servants will no longer display info that
- doesn't affect them since the rework.
- coiax:
- - rscadd: The drone dispenser on Box Station has been moved from the Testing Lab
- to the Morgue/Robotics maintenance tunnel.
- deathride58:
- - config: The default view range can now be defined in the config. The default is
- 15x15, which is simplified to 7 by BYOND. For reference, Goonstation's widescreen
- range is 21x15. Do note that changing this value will affect the title screen.
- The title screen images and the title screen area on the Centcom z-level will
- have to be updated if the default view range is changed.
-2017-12-08:
- Dax Dupont:
- - bugfix: Fixed observer chat flavor of silicon chat.
- - bugfix: Grilles now no longer revert to a pre-broken icon state when you hit them
- after they broke.
- Dorsisdwarf:
- - tweak: Minor fixes to some techweb nodes
- - balance: Made flight suits, combat implants, and combat modules require more nodes
- Fox McCloud:
- - tweak: Slime blueprints can now make an area compatible with Xenobio consoles,
- regardless of the name of the new area
- MrDoomBringer:
- - imageadd: All stations have been outfitted with brand new Smoke Machines! They
- have nicer sprites now!
- Shadowlight213:
- - rscadd: You now can get a medal for wasting hours talking to the secret debug
- tile.
- - bugfix: Fixed runtime for the tile when poly's speech file doesn't exist.
- Xhuis:
- - rscadd: You can now make pet carriers from the autolathe, to carry around chef
- meat and other small animals without having to drag them. The HoP, captain,
- and CMO also start with carriers in their lockers for their pets.
- YPOQ:
- - bugfix: Fixed the camera failure, race swap, cursed items, and imposter wizard
- random events
- - tweak: The cursed items event no longer nullspaces items
- jammer312:
- - rscadd: Action buttons now remember positions where you locked.
- - tweak: Now locking action buttons prevents them from being reset.
-2017-12-10:
- SpaceManiac:
- - bugfix: External airlocks of the mining base and gulag are now cycle-linked.
- - tweak: The pAI software interface is now accessible via an action button.
- Swindly:
- - rscadd: You can kill yourself with a few more items.
- XDTM:
- - tweak: Instead of activating randomly on speech, Godwoken Syndrome randomly grants
- inspiration, causing the next message to be a Voice of God.
- Xhuis:
- - tweak: Flickering lights will now actually flicker and not go between emergency
- lights and normal lighting.
- - bugfix: Emergency lights no longer stay on forever in some cases.
- kevinz000:
- - rscadd: Nanotrasen would like to remind crewmembers and especially medical personnel
- to stand clear of cadeavers before applying a defibrillator shock. (You get
- shocked if you're pulling/grabbing someone being defibbed.)
- - tweak: defib shock/charge sounds upped from 50% to 75%.
-2017-12-11:
- Anonmare:
- - bugfix: Booze-o-mats have beer
- Cruix:
- - tweak: The white ship navigation computer now takes 10 seconds to designate a
- landing spot, and users can no longer see the syndicate shuttle or its custom
- landing location. If the white ship landing location would intersect the syndicate
- shuttle or its landing location, it will fail after the 10 seconds have elapsed.
- Frozenguy5:
- - balance: Some hardsuits have had their melee, fire and rad armor ratings tweaked.
- Improvedname:
- - tweak: cats now drop their ears and tail when butchered.
- Robustin:
- - bugfix: Modes not in rotation have had their "false report" weights for the Command
- Report standardized
- SpaceManiac:
- - bugfix: The MULEbots that the station starts with now show their ID numbers.
- - bugfix: The dependency by Advanced Cybernetic Implants and Experimental Flight
- Equipment on Integrated HUDs has been restored.
- kevinz000:
- - bugfix: flightsuits should no longer disappear when you take them off involuntarily
- - bugfix: beam rifles actually fire striaght now
- - bugfix: click catchers now actually work
- - bugfix: you no longer see space in areas you normally can't see, instead of black.
- in reality you can still see space but it's faint enough that you can't tell
- so I'll say I fixed it.
- uraniummeltdown:
- - rscadd: Added MANY new types of airlock assembly that can be built with metal.
- Use metal in hand to see the new airlock assembly recipes.
- - rscadd: Added new airlock types to the RCD and airlock painter
- - rscadd: Vault door assemblies can be built with 8 plasteel, high security assemblies
- with 6 plasteel
- - rscadd: Glass mineral airlocks are finally constructible. Use glass and mineral
- sheets on an airlock assembly in any order to make them.
- - tweak: Glass and mineral sheets are now able to be welded out of door assemblies
- rather than having to deconstruct the whole thing
- - rscdel: Airlock painter no longer works on airlock assemblies (still works on
- airlocks)
- - bugfix: Titanium airlocks no longer have any missing overlays
-2017-12-12:
- Mark9013100:
- - rscadd: Medical Wardrobes now contain an additional standard and EMT labcoat.
- Robustin:
- - rscadd: The blood cult revive rune will now replace the souls of braindead or
- inactive cultists/constructs when properly invoked. These "revivals" will not
- count toward the revive limit.
- - rscadd: The clock cult healing rune will now replace the souls of braindead or
- inactive cultists/constructs when left atop the rune. These "revivals" will
- not drain the rune's energy.
- Swindly:
- - bugfix: Swarmers can no longer deconstruct objects with living things in them.
- kevinz000:
- - bugfix: You can now print telecomms equipment again.
-2017-12-13:
- Naksu:
- - bugfix: glass shards and bananium floors no longer make a sound when "walked"
- over by a camera or a ghost
- SpaceManiac:
- - bugfix: Nonstandard power cells found in MULEbots, cyborgs, and elsewhere now
- have the correct description.
- deathride58:
- - bugfix: Genetics will no longer have a random block completely disappear each
- round
-2017-12-15:
- AverageJoe82:
- - rscadd: drones now have night vision
- - rscdel: drones no longer have lights
- Cruix:
- - bugfix: Shuttles now place hyperspace ripples where they are about to land again.
- Cyberboss:
- - config: Added "$include" directives to config files. These are recursive. Only
- config.txt will be default loaded if they are specified inside it
- - config: Added multi string list entry CROSS_SERVER. e.g. CROSS_SERVER Server+Name
- byond://server.net:1337
- - config: CROSS_SERVER_ADDRESS removed
- Epoc:
- - bugfix: Adds Cybernetic Lungs to the Cyber Organs research node
- JStheguy:
- - rscadd: Added 10 new assembly designs to the integrated circuit printer, the difference
- from current designs is purely aesthetics.
- - imageadd: Added the icons for said new assembly designs to electronic_setups.dmi,
- changed the current electronic mechanism and electronic machine sprites.
- MrStonedOne:
- - server: Added new admin flag, AUTOLOGIN, to control if admins start with admin
- powers. this defaults to on, and can be removed with -AUTOLOGIN
- - admin: Admins with +PERMISSION may now deadmin or readmin other admins via the
- permission panel.
- Naksu:
- - code_imp: Preliminary work on tracking cliented living mobs across Z-levels to
- facilitate mob AI changes later
- - code_imp: Tidied up some loc assignments
- - code_imp: fixes the remaining loc assignments
- ShizCalev:
- - soundadd: Revamped gun dry-firing sounds.
- - tweak: Everyone around you will now hear when your gun goes click. You don't want
- to hear click when you want to hear bang!
- SpaceManiac:
- - code_imp: Remote signaler and other non-telecomms radio code has been cleaned
- up.
- Xhuis:
- - rscadd: Grinding runed metal and brass now produces iron/blood and iron/teslium,
- respectively.
- - balance: As part of some code-side improvements, the amount of reagents you get
- from grinding some objects might be slightly different.
- - bugfix: Some grinding recipes that didn't work, like dead mice and glowsticks,
- now do.
- - bugfix: All-In-One grinders now correctly grind up everything, instead of one
- thing at a time.
- nicbn:
- - imageadd: Closet sprites changed.
-2017-12-16:
- Armhulen and lagnas2000 (+his team of amazing spriters):
- - rscadd: Mi-go have entered your realm!
- Robustin:
- - balance: Marauder shields now take twice as long to regenerate and only recharge
- one charge at a time.
- - balance: Marauders now have 120hp down from 150hp.
- - bugfix: The wizard event "race swap" should now stick to "safer" species.
- - bugfix: Zombies are now properly stunned for a maximum of 2 seconds instead of
- 2/10ths of a second.
- - tweak: Zombie slowdown adjusted from -2 to -1.6.
- SpaceManiac:
- - bugfix: The shuttle will no longer be autocalled if the round has already ended.
- Xhuis:
- - tweak: Vitality matrices don't have visible messages when someone crosses them
- anymore.
-2017-12-17:
- More Robust Than You:
- - code_imp: Changed roundend sounds and lobby music to use one proc for choosing
- sounds
- - server: You can now easily host roundstart sounds without changing the code!
- - config: RIP in shit round_start_sounds.txt
- XDTM:
- - rscadd: A few new traumas have been added.
- - balance: Thresholds to get brain traumas have been lowered, as they currently
- pretty much only trigger if you intentionally chug impedrezene.
- - tweak: Melee head hits deal minor brain damage. Crits still do a significant amount.
- - tweak: Nuke Op implants no longer trigger on deathgasp. (They still explode on
- death)
- - tweak: You'll now receive messages when crossing certain brain damage thresholds.
- - tweak: Split Personalities are instructed not to suicide while in control.
- - tweak: Godwoken Syndrome now randomly sends Voice of God commands, instead of
- being controllable.
- Xhuis:
- - bugfix: Clockcult power alerts will no longer show outside of the clockcult gamemode
- (they could be triggered by scarabs.)
- ninjanomnom:
- - bugfix: You can use the old non-hotkey mode text input behavior (keyboard input
- automatically directed at the text input box) by changing your hotkey mode in
- preferences
- - rscadd: You can use Shift+E or Shift+B for belt/backpack respectively to quickly
- put in your held item or take out the most recently added item.
-2017-12-18:
- AnturK:
- - rscadd: Repeated messages will now be squashed in the chat.
- Cyberboss:
- - bugfix: Allied station communications are back, now with potentially multiple
- stations
- Naksu:
- - tweak: Hostile mobs on z-levels without living players will now conserve their
- efforts and simply not run AI routines at all. Also, idling mob routines should
- be significantly cheaper on non-station Z-levels.
- ShizCalev:
- - soundadd: Added new sounds to guns when reloading.
- - bugfix: Cartridges and casings ejected from guns will now make the proper sound!
- Xhuis:
- - bugfix: Microwave sound loops now correctly stop when it breaks or is otherwise
- interrupted mid-cook.
- coiax:
- - rscadd: A lollipop dispenser in "dispense lollipops" mode can push the lollipop
- straight into the targets hand, rather than getting it dirty on the floor first.
- - tweak: Aliens (and humans with alien organs) will have a prompt if they try to
- create resin structures or lay eggs atop vents or scrubbers.
- nicbn:
- - bugfix: Now the chem smoke machine uses stock parts for volume and range.
- ninjanomnom:
- - bugfix: Decals should now rotate the correct way around.
- oranges:
- - tweak: Dance machine will not play tracks to you if you have instruments turned
- off
-2017-12-19:
- More Robust Than You:
- - tweak: Jungle Fever cannot be cured anymore
- - bugfix: The Monkey Leaders' virus are now un-detectable by health scanners and
- to the PANDEMIC now.
- Shadowlight213:
- - bugfix: Fixed captain's PDA showing unusable Toggle Remote Door menu option
- XDTM:
- - rscadd: Abductors can now see if people already have glands! Never worry about
- abducting the same guy twice again.
- - rscadd: Added the Mind Interface Device to the abductor shop for 2 Credits. Only
- scientists can use it.
- - rscadd: 'The MID has two modes: Transmit and Control.'
- - rscadd: Transmit will allow you to send a message anytime, anywhere to the mind
- of a target of your choice, regardless of language barriers. The message will
- be anonymous, but abductor-like.
- - rscadd: Control allows you to give a temporary directive to a target with an implanted
- gland, that they MUST follow. Duration and amount of uses varies by gland type.
- When a gland is spent, it will no longer respond to Control signals. The target
- forgets ever receiving the objective when the duration ends.
- coiax:
- - balance: The codespeak manual now has unlimited uses and costs 3 TC.
- - bugfix: Nuke ops can now purchase the codespeak manual, as was intended.
- - rscadd: Golems can now wear labcoats.
- kevinz000:
- - rscadd: You can now joust with spears if you are riding on another mob, whether
- it's a hapless cyborg or otherwise! Additional damage and stunchance will be
- added per tile moved!
- ninjanomnom:
- - bugfix: Non movement keys pressed while moving no longer stop movement.
-2017-12-20:
- AnturK:
- - rscadd: You can enforce no smoking zones with a disarm aimed at the smokers mouth.
- coiax:
- - rscadd: A changeling will learn all languages from anyone they absorb.
-2017-12-21:
- Fox McCloud:
- - bugfix: Fixes arm implants being immune to EMPs
- SpaceManiac:
- - refactor: Telecomms and radio code has been cleaned up.
- - tweak: The PDA message server is now a real piece of telecomms machinery.
- - tweak: PDA logs now include the job as well as name of the participants.
- - bugfix: The Syndicate frequency no longer hears its own messages twice.
- - bugfix: Talking directly into a radio which is also hot-miked no longer double-talks.
- - bugfix: Passing a space transition no longer interrupts pulls.
- Xhuis:
- - bugfix: You can no longer elect two Eminences simultaneously.
- - bugfix: The Eminence no longer drifts in space.
- - tweak: The Eminence's mass recall now works on unconscious servants.
- - tweak: The Eminence's messages now have follow links for observers.
- - balance: Floors blessed with holy water prevent servants from warping in and the
- Eminence from crossing them.
- - balance: The Eminence can never enter the Chapel.
- coiax:
- - rscadd: At the end of the round, all players can see who the antagonists are.
- improvedname:
- - bugfix: Corrects 357. speedloader in the autolathe
- kevinz000:
- - rscdel: Integrated circuit smoke circuits now require 10 units of reagents to
- fire.
- uraniummeltdown:
- - rscadd: You can adjust line height in chat settings
- - tweak: Default chat line height is slightly shorter, from 1.4 to 1.2
-2017-12-22:
- Awesine:
- - rscadd: added some things which happen to be mining scanner things to that gulag
- thing
- Kor:
- - rscadd: During Christmas you will be able to click on the tree in the Chapel to
- receive one present per round. That present can contain any item in the game.
- Naksu:
- - bugfix: frying oil actually works
- WJohnston:
- - tweak: Syndicate nuke op infiltrator shuttle is no longer lopsided.
- kevinz000:
- - rscadd: 'Clown modules have been added for cyborgs! Modules: Bikehorn, Airhorn,
- instrumental bikehorn, clown stamp, multicolor paint, rainbow crayon, soap,
- razor, purple lipstick, nonstunning selfcharging creampie cannon, nonslipping
- selfcharging water sprayer, lollipop fabricator, metallic picket sign, mini
- extinguisher, laughter reagent hypospray, and the ability to hug. experimental:
- When emagged they get a fire spray, "super" laughter injector, and shocking
- or crushing hugs. Also, the module is adminspawn only at the moment.'
- - bugfix: Projectiles that pierce objects will no longer be thrown off course when
- doing so!
- - code_imp: Projectiles now use /datum/point/vectors for trajectory calculations.
- - bugfix: Beam rifle reflections will no longer glitch out.
-2017-12-23:
- Dax Dupont:
- - bugfix: Borgs will no longer have their metal/glass/etc stacks commit sudoku when
- it runs out of metal. They will also show the correct amount instead of a constant
- of "1" on menu interaction.
- Kor:
- - rscadd: During Christmas you will be able to click on the tree in the Chapel to
- receive one present per round. That present can contain any item in the game.
- Robustin:
- - tweak: The EMP door shocking effect has a new formula. Heavy EMP's will no longer
- shock doors while light EMP's have a 10% chance (down from 13.33%).
- coiax:
- - balance: The kitchen gibber must be anchored in order to use.
- - balance: The gibber requires bodies to have no external items or equipment.
-2017-12-24:
- Frozenguy5:
- - bugfix: Soapstones now give the correct time they were placed down.
- More Robust Than You:
- - tweak: Vending machines now use TGUI
- SpaceManiac:
- - bugfix: '"Download N research nodes" objective is now checked correctly again.'
-2017-12-25:
- SpaceManiac:
- - bugfix: The Syndicate radio channel works on the station properly again.
- coiax:
- - rscadd: Ghosts can now use the *spin and *flip emotes.
- uraniummeltdown:
- - rscadd: Examine a door assembly to check what custom name is set.
-2017-12-26:
- Cyberboss:
- - tweak: Objects that can have materials inserted into them only will do so on help
- intent
- PsyKzz:
- - rscadd: Jaws of life can now cut handcuffs
- SpaceManiac:
- - admin: Play Internet Sound now has an option to show the song title to players.
- XDTM:
- - balance: Rebalanced healing symptoms.
- - balance: Cellular Molding was replaced by Nocturnal Regeneration, which only works
- in darkness.
- - balance: All healing symptoms now heal both brute and burn damage, although the
- basic ones will still be more effective on one damage type.
- - balance: Plasma Fixation and Radioactive Metabolism heal toxin damage, offsetting
- the damage done by their healing sources.
- - balance: Changed healing symptoms' stats, generally making them less punishing.
- Xhuis:
- - balance: Medical supplies on all normal maps (Box, Meta, Delta, Omega, and Pubby)
- are now behind ID-locked windoors. These windoors will become all-access during
- red alert!
- YPOQ:
- - bugfix: Emagged cleanbots can acid people again
- - bugfix: Headgear worn by monkeys can be affected by acid
- ninjanomnom:
- - bugfix: The auxiliary mining base can no longer be placed on top of lava, indestructible
- turfs, or inside particularly large ruins.
- - bugfix: The backup shuttle has it's own area now and you should no longer occasionally
- be teleported there by the arena shuttle.
- - bugfix: Cycling airlocks on shuttles should work correctly when rotated now.
- - bugfix: Things like thermite which burned through walls straight to space now
- stop on plating. You'll have to thermite it again to get to space.
-2017-12-27:
- More Robust Than You:
- - code_imp: Changed roundend sounds and lobby music to use one proc for choosing
- sounds
- - server: You can now easily host roundstart sounds without changing the code!
- - config: RIP in shit round_start_sounds.txt
- Nero1024:
- - soundadd: blast doors and shutters will now play a sound when they open and close.
- Robustin:
- - bugfix: Hallucinations will no longer show open doors "bolting".
- SpaceManiac:
- - code_imp: The R&D console has been made more responsive by tweaking how design
- icons are loaded.
- Xhuis:
- - rscadd: Maintenance drones and cogscarabs can now spawn with holiday-related hats
- on some holidays!
- coiax:
- - rscadd: Deltastation now has christmas trees during seasonally appropriate times.
- deathride58:
- - bugfix: Praise the lord! The shift+scroll hotkey to zoom in/out as a ghost works
- properly again!
- kevinz000:
- - rscadd: you can now pick up corgi's and pAIs, how disgustingly cute
- - code_imp: Forensics is now a datum component.
- - balance: NPC humans will now start leaving fingerprints on things they touch!
-2017-12-28:
- Cyberboss:
- - bugfix: Ghost lights will follow the ghost while orbiting
- Robustin:
- - bugfix: Splashing a book with ethanol should no longer produce errant messages.
- - balance: Dead cultists can now be moved across the "line" on Reebe.
-2017-12-29:
- CosmicScientist:
- - rscadd: timestop now inverts the colours of those frozen in time!
- Dax Dupont:
- - bugfix: APCs and other wall mounted objects are no longer blocked by the secure
- medbay storage parts.
- - bugfix: Removed a duplicate radiation collector on Deltastation.
- More Robust Than You:
- - bugfix: The Radiance can now enter the chapel
- - bugfix: Monkey chat should no longer have .k prefixed
- - bugfix: Monkey leaders should actually get jungle fever now
- Robustin:
- - bugfix: The action button for spells should now accurately reflect when the spell
- is on cooldown
- - bugfix: You can now reliably use the button for "touch" spells to "recall" the
- spell
- SpaceManiac:
- - code_imp: Explicit z-level checks have been changed to use defines.
- XDTM:
- - rscadd: 'Added a new reagent: Pax.'
- - rscadd: Pax is made with Mindbreaker, Synaptizine and Water, and those affected
- by it are forced to be nonviolent against living beings. At least, not directly.
- coiax:
- - rscadd: Adds an internal radio implant, allowing the use of the radio if you expect
- to have your headset removed. Or if you don't have any ears or hands. It can
- be purchased for 4 TC from any Syndicate uplink.
- - rscadd: Nuke ops now buy special "syndicate intelligence potions" that automatically
- insert an internal radio implant when used successfully. Cayenne can now participate
- in your high level discussions.
-2017-12-30:
- Cyberboss:
- - tweak: Burial jumpsuits no longer have suit sensors
- - tweak: The chemistry job has been removed from Omegastation. Medical doctors still
- have full chemistry access
- MrDoomBringer:
- - imageadd: NanoTrasen has sent the station new spaceheaters! They look nicer now!
- Xhuis:
- - balance: Vitality matrices now apply Ichorial Stain when reviving a dead servant,
- which prevents that servant from being revived again by vitality matrices for
- a full minute.
- - balance: Vitality matrices can't be placed adjacent to one another.
- - balance: Brass skewers now damage and stun cyborgs.
- - balance: Vitality matrices no longer drain people impaled on brass skewers.
- - balance: Pressure sensors have 5 health again (down from 25.)
- ninjanomnom:
- - bugfix: Some changes to turfs like shuttles would result in un-initialized space
- tiles being created. This has been fixed.
-2017-12-31:
- Cyberboss:
- - rscadd: Explosions now cause camera shake based on intensity and distance
- F-OS:
- - bugfix: Last resort now requires a confirmation
- Naksu:
- - code_imp: loot drop spawners now assign their pixel offsets to the items they
- spawn, also have a "fanout" setting to distribute items in a neat fashion like
- in omega/delta's core and some tech storages.
- - tweak: replaced several law boards in uploads with spawners, the net result being
- one more board in uploads that may be a duplicate asimov (but hopefully isn't)
- SpaceManiac:
- - bugfix: Viewing photos sent by PDA message works again.
- WJohnston:
- - rscadd: Redesigned the entire syndicate lavaland base to be more stylish, have
- functioning power and atmos as well as a turbine to play with.
- XDTM:
- - bugfix: Fixed a hallucination that would say [target.first_name()] instead of
- the actual name.
-2018-01-01:
- Dax Dupont:
- - bugfix: PDA messages have been fixed.
-2018-01-02:
- Dax Dupont:
- - bugfix: The bank vault is no longer metagaming. It will now display the IC station
- name.
- DaxDupont:
- - bugfix: Solar control consoles are no longer pointing to the wrong direction,
- you can now turn tracking off again and manual positioning of solar panels have
- been fixed.
- Frozenguy5:
- - rscadd: Adds a goon and cult emoji. Improves gear and tophat. (Credits to GoonStation
- for creating the goon bee sprite.)
- Okand37:
- - rscadd: Overhauled aesthetic of some portions of Omegastation
- - rscadd: Overhauled Omegastation's departure lounge, fitting it with the rest of
- the station's theme
- - rscadd: Replaced the personal closets with wardrobes in Omegastation's Lockerroom
- - rscadd: Made Omegastation's engine room floortiles reinforced
- - rscadd: Replaced the cola and snack machines with their random counterparts on
- Omegastation
- - bugfix: Fixed Omegastation's self destruct console being a doomsday device
- - bugfix: Fixed Omegastation's chemistry shutters not all being synced and rearranged
- the chemmaster.
- - rscadd: Added a small technology storage in maintenance near departures on Omegastation
- - rscadd: Added additional loot and emergency supplies to maintenance on Omegastation
- - rscadd: Added the X-01 Multiphase to the Captain's Locker, Blueprints to Vault,
- Reactive Teleportation Armor to Server Room and theHypospray to Medical Storage
- on Omegastation
- XDTM:
- - bugfix: Fixed Runic Golem's Abyssal Gaze blinding permanently.
- - balance: Ocular Restoration has been removed, its effect transfered on Sensory
- Restoration.
- - balance: Sensory Restoration now heals both eye and ear damage.
- - balance: Mind Restoration now no longer heals ear damage, but now heals brain
- damage by default.
- - balance: Mind Restoration's thresholds can now let the symptoms cure mild brain
- traumas at 6 resistance and severe ones at 9.
- ninjanomnom:
- - bugfix: Turfs are construct-able again
-2018-01-03:
- Cyberboss:
- - bugfix: Fixed lathe power consumption being too high
- - bugfix: You no longer cut yourself with shards when clicking a portal
- Dax Dupont:
- - bugfix: After 2 years and 2 separate issues the paper mache wizard robe has finally
- been fixed.
- Naksu:
- - rscadd: A damaged core AI module may now spawn in AI uploads. It contains a random
- amount of ionic laws with normal law priorities.
- - bugfix: splash-fried food is now actually edible
- SpaceManiac:
- - bugfix: Mimes now laugh silently.
- deathride58:
- - tweak: Explosions will no longer give everyone and their mothers motion sickness
- from a mile away.
-2018-01-04:
- Cyberboss:
- - bugfix: The bloodcult sacrifice objective description won't change when the target
- is sacrificed
- Dax Dupont:
- - rscadd: PDA Interface color is now a preference.
- - bugfix: Fixed PDA font style not applying at round start.
- - rscadd: 'The following messages have been added to dead chat: Security level change,
- (re)calling, Emergency Access, CentComm/Syndicate console messages, outgoing
- server messages and announcements,'
- MrStonedOne:
- - bugfix: The changelog hadn't been updating. This has been fixed.
- ShiggyDiggyDo:
- - tweak: Syndicate experts were able to create more sophisticated copies of the
- nuclear authentication disk. While still unable to detonate the nuclear fission
- explosive with them, they're practically identical to the real disk if not examined
- closely.
-2018-01-05:
- Cruix:
- - bugfix: Chameleon PDAs now have their chameleon action.
- Okand37:
- - rscadd: Added a fully functioning A.I. satellite to Omegastation!
- - rscadd: Added the CE's magboots to the gravity room on Omegastation!
- - rscadd: Added a medical wrench to cryo for Omegastation!
- Shadowlight213:
- - bugfix: Devils will no longer be permanently stuck if interrupted while trying
- to jaunt.
- - bugfix: Devils will now properly clear the fake fire if failing to jaunt.
- SpaceManiac:
- - bugfix: The startup load time of away missions has been drastically reduced.
- - bugfix: The admin notification for the pulse rifle prize now shows the correct
- coordinates.
- deathride58:
- - bugfix: Explosions now function properly again!
-2018-01-10:
- Robustin:
- - bugfix: Blood cultists will now properly display a "reverted to their old faith"
- message when deconverted.
-2018-01-11:
- Cyberboss:
- - spellcheck: Fixed mechanical arms grammar when failing to activate
- - bugfix: You will now no longer hit closets when attempting to anchor them
- ExcessiveUseOfCobblestone:
- - code_imp: Adds Stat Tracking to Techwebs by node and order.
- Selea:
- - rscadd: pulling claw.Integrated circuit, which allow assemblies to pull things.
- ShizCalev:
- - bugfix: 'Meta: The UI for the captain''s cigarette vendor now works again.'
- - tweak: 'Meta: Removed the omnizine filled syndicate cigarettes from the captain''s
- cigarette vendor.'
- - tweak: Medbots are no longer able to inject you if you do not have any exposed
- flesh.
- Someguynamedpie:
- - bugfix: Use world.timeofday instead of world.realtime
- SpaceManiac:
- - spellcheck: Replaced "CentComm" with "CentCom" in communications console deadchat
- announcement.
- - refactor: Information about the properties of z-levels is now less hardcoded than
- before.
- Tortellini Tony:
- - rscadd: 'New hotkey for admin say command: F3.'
- yorii:
- - spellcheck: Renamed the ChemMaster eject button to highlight the fact that the
- buffer does not get cleared
-2018-01-12:
- Cobby:
- - tweak: As a human, you will now point with your legs when you have no arms, falling
- over each time.
- - tweak: As a human, you will bump your head on the ground trying to motion towards
- something when you have no arms or legs.
- Cyberboss:
- - spellcheck: Fixed message grammar when lifting someone off a brass skewer
- - bugfix: Fixed the original poker tables not being deleted after Narsie converted
- them to a wooden table
- Dax Dupont:
- - rscadd: Thanks to the extensive disco and plasma research gathered by the Disco
- Inferno shuttles, an indestructible mark V disco machine is now available. The
- latest edition of the Disco Inferno shuttle now carries it.
- JJRcop:
- - code_imp: Removes some links intended for admins from game logs.
- More Robust Than You:
- - balance: Sigils of submission now uncuff upon successful conversion
- PKPenguin321:
- - tweak: Cyborgs that take enough damage to have a module disabled will now automatically
- announce that they've had a module disabled to anybody nearby. Now if you want
- to stop a cyborg from interfering with your business but don't want to kill
- it, you can simply bash until you see the CRITICAL ERROR message.
- - soundadd: Borgs will play an alarm sound in addition to displaying this message
- as they have their modules disabled.
- ShizCalev:
- - bugfix: You can now attach collars to pets again!
- - bugfix: Corrected pet collars icon mismatch.
- - bugfix: Pets will now drop their collars when gibbed.
- - tweak: You will no longer be able to rename unique pets, such as Ian or Runtime.
- You can still rename pets without a special name.
- - bugfix: Secbot assemblies will no longer lose their weld hole when dragged North
- - imageadd: Secbot assemblies now have new North facing sprites!
- - imageadd: Cleaned up a rogue pixel on beepsky's sprite.
- - bugfix: Defibrillators now have inhands again!
- - bugfix: Defibrillators will no longer stay in your hands after you die.
- - bugfix: Losing an arm while wielding a two handed weapon will now cause you to
- drop the weapon.
- - bugfix: Losing an arm while carrying an item that requires two hands to hold will
- now cause you to drop the item.
- - spellcheck: Improved user feedback from chem dispenser macros.
- - bugfix: Fixed Tests Areas debug verb.
- - bugfix: Only the chaplain can now purify a bloody bastard sword.
- - bugfix: Fully healing a mob as an admin now cures disabilities properly.
- - bugfix: Non-cultists hulks can no longer withstand the immense powers of Ratvar's
- influence while holding a bloody bastard sword.
- - bugfix: The average body temperature has been corrected to 98.6F.
- - tweak: Safe dials will now present itself in 1 number increments, instead of 5.
- - bugfix: Relabeled canisters will no longer switch to an incorrect sprite when
- broken.
- SpaceManiac:
- - bugfix: Relabelled canisters once again have the correct description.
- - bugfix: The interface of airlock consoles has been restored to normalcy.
- YPOQ:
- - bugfix: Securitrons/ED-209s/Honkbots will only activate their emag functions after
- their internals are emagged
-2018-01-14:
- Dax Dupont:
- - bugfix: The NT Violet Lepton shuttle has been retrofitted with lava proof windows
- for the lava engine. They will no longer catch fire and violently decompress
- the shuttle.
- Leshana:
- - bugfix: Fix attempt to use `in` on a non-list. Pretty sure bitfields do not work
- that way.
- - admin: SS_NO_FIRE subsystems will no longer display pointless cost statistics
- in MC panel
- QualityVan:
- - balance: Due to budget cuts, the vault safe is now slightly less resistant to
- explosions.
- ShizCalev:
- - bugfix: Constructed security/honk/ect bots will now drop the correct parts when
- destroyed.
- - bugfix: "Some areas will no longer present themselves at \"\xC3\xBFUnexplored\
- \ Area\""
- SpaceManiac:
- - bugfix: The R&D console design icon for slot machines is no longer mangled.
- - bugfix: The Ark's teleportation checks now take mechs and sleepers into account
- correctly.
- - spellcheck: Activating internals via the right-side button produces better messages
- on success.
- - bugfix: The RPD will no longer fail to paint and layer pipes in some situations.
- - bugfix: Unwrenching canisters from connector ports on non-default layers now resets
- their pixel offset.
- Thunder12345:
- - bugfix: The NES Port emergency shuttle will no longer drain the CentComm emergency
- dock of air
- XDTM:
- - tweak: Dreams are now more immersive and interesting.
- deathride58:
- - admin: You can now choose an outfit to be equipped while transforming a mob to
- human via rudimentary transform.
-2018-01-15:
- Cruix:
- - rscadd: Roundend traitor purchase logs now have tooltips showing the name, cost,
- and description of the items.
- F-OS:
- - rscadd: NT has disabled their automatic APC lock
- - tweak: The space heater now has a warning on it about use in the SM.
- Half of coderbus ended up working on this somehow:
- - rscadd: Goats will now dismember plant people when attacking them.
- Iamgoofball:
- - bugfix: The Express Console emag effect is now worth using.
- JohnGinnane:
- - bugfix: Fixed not being able to alt click on a stack
- More Robust Than You:
- - bugfix: Monkey Leaders should now properly get Jungle Fever
- - bugfix: Monkeymode roundend report should now properly show Major/Minor victory
- - bugfix: Monkeys should now get the jungle fever objective in monkeymode
- - imageadd: Wirecutters can come in even more colors now!
- ShizCalev:
- - bugfix: RPDs and pipe painters now have more colorssssssssssssssssss
- SpaceManiac:
- - bugfix: Title screens without multiple dots in their filename will now be chosen
- again.
- - bugfix: MMIs in mechs or held by humans wearing fireproof suits are no longer
- burnt by ash storms.
- WJohnston:
- - rscadd: Encrypted radio waves have been detected airing around station space.
- Watch for possible enemy communications.
- - rscadd: The space syndicate listening post has been remade from scratch, and now
- has an actual ghost role to help spy on the station and relay info to traitors!
- Xhuis:
- - tweak: Added some new tips to the list for fighting the clockcult!
- - rscadd: Added a new bar sign, The Lightbulb.
- YPOQ:
- - bugfix: Players are immune to their own slime time stops again
- coiax:
- - rscadd: A xenomorph maid (or barmaid) cleans the floor as they walk on it. Lie
- down, and they'll clean your face.
- ninjanomnom:
- - admin: There are 3 new helpers in the secrets menu for messing with movement controls
- - bugfix: Mining base walls when broken turn into plating which in turn breaks down
- to the basalt surface.
- theo2003:
- - tweak: The autolathes on MetaStation, and DeltaStation next to R&D are now accessible
- from R&D via windoor.
-2018-01-16:
- AnturK:
- - bugfix: Photos now properly capture everything again.
- DaedalusGame:
- - bugfix: fixed duplicate reagent definitions in chem macros
- SpaceManiac:
- - bugfix: Heat exchange manifold pipes facing east/west now work again.
- Thunder12345:
- - bugfix: The asteroid with engines strapped to it will no longer vent both the
- CentCom docks and its own entrance.
- XDTM:
- - rscadd: Reworked the species side of xenobiology.
- - rscadd: Instead of an universal unstable mutation toxin, green slimes can now
- produce slime mutation toxin (plasma), human mutation toxin (blood), and lizard
- mutation toxin (radium).
- - balance: Slime mutation toxin requires several units and some time before acting,
- unless you're already a slimeperson (in which case it will randomize your subspecies)
- - rscadd: Two new jellypeople subspecies have been added to make up for the lost
- species.
- - rscadd: Stargazers have telepathic abilities; they can Send Thoughts, privately
- and anonimously, to any target they can see, and they can Link Minds with any
- aggressively grabbed mob to form a hivemind with them. Hiveminds have no limit
- but expire when the Stargazer dies or changes species.
- - rscadd: Luminescents glow faintly and can absorb slime cores to gain special abilities.
- Each core has a minor and a major ability, generally based on what they normally
- do. Using these abilities does not use up the cores, but it has a cooldown depending
- on the ability's power.
- - balance: Slimepeople can now switch bodies on death or when unconscious, as long
- as they have another one.
-2018-01-17:
- DaedalusGame:
- - balance: you can't get 12 syndi bomb cores from stripping the syndi lava base
- for parts anymore
- - bugfix: fixed the syndi lava base blowing up from stray colossus shots, goliaths
- breaking in or miners throwing gibtonite at it.
- F-OS:
- - tweak: Air alarms start unlocked
- - bugfix: Air alarms no longer think they are fire alarms
- - bugfix: Drone dispensers no longer hide drones
- - bugfix: Ash storms aren't at ear-rapey volumes inside shielded areas.
- ShizCalev:
- - bugfix: Gas tanks are now made of metal! Honk
- SpaceManiac:
- - bugfix: Clicking lattices and girders with the RPD now succeeds instead of appearing
- to place a pipe but failing.
- - bugfix: The debug verbs "Display Air Status" and "Air Status in Location" now
- format their reports the same and actually work more often.
- - bugfix: The Camera Failure event no longer crashes the server if the station has
- no cameras.
- - admin: SDQL "select" outputs now have buttons to jump to the coordinates of the
- found objects.
- Xhuis:
- - balance: You now have to climb through rifts to Reebe by walking into them, instead
- of instantly warping away when you bump into one.
- - balance: The separation line between the crew spawn and servant spawn in Reebe
- now blocks airflow.
- - rscadd: Added a new bar sign, The Lightbulb.
- - bugfix: The Eminence's mass recall ability should now work properly
- coiax:
- - rscadd: If enough people vote to start CTF (by clicking on a CTF controller as
- a ghost), then CTF will automatically begin.
- deathride58:
- - rscadd: By using a multitool on a radiation collector, you can use it to generate
- research points! This requires a tank filled with a mix of tritium and oxygen.
- - tweak: The display of rad collectors' power production rates has been moved from
- a multitool interaction to examine text.
- - tweak: Radiation collectors now emit a ding when they run out of fuel.
- kevinz000:
- - bugfix: Flashes can no longer work from inside containers to flash people outside.
- - balance: Research export cargo points have been halved
- nicbn:
- - tweak: The Pirate Code changed its first rule to "BE AN SKELETON YARR". The old
- "there are no rules" is now the second rule.
-2018-01-18:
- Buggy123:
- - tweak: full-tile plasmaglass windows have had their integrity increased to the
- correct value.
-2018-01-19:
- AverageJoe82:
- - tweak: Reduce clock work mob death sound file's volume to 80%
- Buggy123:
- - rscadd: Observers can now view the atmospheric contents of the tile they're floating
- above.
- Cyberboss:
- - refactor: Added test run mode which checks for runtimes in startup/shutdown and
- runs tests (if they were enabled during compilation). Invoke it with the "test-run"
- world parameter
- Dax Dupont:
- - bugfix: Autolathe now consumes reasonable amounts of power when inserting materials
- - bugfix: Fixed conveyor belt power usage.
- Frozenguy5:
- - code_imp: Travis now builds on BYOND 512.1403
- Joan and More Robust Than You:
- - rscadd: Adds moths! They're a new species that is able to fly in pressurized areas
- provided gravity is off... and that they still have wings.
- More Robust Than You:
- - rscadd: Added some useful sec officer tips
- OrdoM:
- - rscadd: Adds morphine recipe to chemistry.
- - rscdel: Removed ability for bartender to steal all morphine on the map
- Robustin:
- - bugfix: Fixed frost oil (cryosting) sending insulated crewmembers below absolute
- zero temperatures.
- - bugfix: Fixed damaging cold temps being a death sentence to simple mobs (they
- wouldn't heat back up to safe temps at room temperature).
- - refactor: Refactored human temperature code, insulating clothing now helps you
- stay warm but going unprotected will help you cool off. However, you will now
- benefit from colder temps when you're overheating even in full EVA/hardsuit
- gear and you will warm up faster at room temperature in insulated gear as well
- (i.e. putting on a winter coat will no longer suppress your temperature if your
- already cold).
- - bugfix: All crew can now purify bloody bastard swords with a bible (available
- from cargo religion crates, library, or chapel) once again.
- Shadowlight213:
- - rscadd: Players can now have a verb in the ooc tab to see their own tracked playtime
- - bugfix: fixed admin bypass not using the right proc
- - bugfix: Lavaland ghost roles should now show up in the playtime report
- ShizCalev:
- - bugfix: Floors that look damaged / burned are now ACTUALLY damaged / burned, and
- can be repaired!
- SpaceManiac:
- - bugfix: PDA messages sent by the message monitor console are now included in the
- talk logs.
- XDTM:
- - tweak: Mass Hallucination now will give everyone the same hallucination.
- - bugfix: Slimepeople can now properly swap between bodies.
- - bugfix: Slimes no longer attack people with their same faction.
- Xhuis:
- - tweak: Servants can now cancel warps by clicking the button again, instead of
- having to manually interrupt it by doing something like picking up an item from
- their pocket.
- coiax:
- - rscdel: The Free Golem Ship no longer has a teleport beacon.
- - rscdel: Jaunters no longer have a special effect when teleporting golems.
- deathride58:
- - rscadd: Mappers can now color individual tiles of floors via turf decals.
- - bugfix: Cancelling the "Change equipment" command now works as expected again.
- uraniummeltdown:
- - bugfix: Jaunting wraiths should now always be facing the correct direction
- yorii:
- - bugfix: fixed the syringe getting a transfer amount of 0 if the contents of it
- are 0, intended feature was probably to check the target and not the syringe
- itself for clamp.
-2018-01-20:
- MrDoomBringer:
- - rscadd: All Cargo Techs now come equipped with a standard supply Export Scanner!
- Get to selling!
- XDTM:
- - bugfix: Fixed a bug where slimes wouldn't eat neutral mobs.
- uraniummeltdown:
- - tweak: Emagged airlocks can now be deconstructed simply by crowbarring when the
- panel is open
-2018-01-21:
- Dax Dupont:
- - bugfix: Moth wings will now respect your preferences.
- WJohnston:
- - rscadd: We've lost contact with one of our trade caravans in your sector, be on
- the lookout for possible enemy activity.
- - rscadd: Redesigned the syndicate ambush space ruin. It now boasts multiple flyable
- shuttles and looks a lot prettier.
- - imageadd: Wirecutter greyscaling is now less ugly
-2018-01-22:
- DaedalusGame:
- - balance: foam and smoke now get 4x the reagents as they should according to the
- comments
- - bugfix: fixes pyrosium and cryostylane not heating or cooling humans at all
- - bugfix: fixes cryostylane cooling beakers to negative kelvin, it's now limited
- to what the description says
- - bugfix: fixes cryostylane cooling people to negative body temperature
- - code_imp: removed redundant check in trans_to
- - code_imp: fixes a runtime when total_volume is 0 in copy_to
- - tweak: Gas reagents (o2, plasma, ...) now dump out gas based on container temperature
- instead of room temperature
- Dax Dupont:
- - rscadd: Fans of clown photography have successfully lobbied Nanotrasen to include
- camera and camera accessories designs in the autolathe.
- - tweak: Brings material values for the camera in line with other devices.
- - tweak: The tapes printed by autolathes now come in random colors.
- Dax Dupont & Coiax:
- - rscadd: Praise the lord for he has granted thy chaplains, wizards, revenants and
- eminences with holy vision. They can now see blessed tiles.
- MMMiracles:
- - rscadd: Syndicate and pirate mobs now give off light when appropriate
- More Robust Than You:
- - bugfix: Fixed monkey teams
- - tweak: The Lepidopterian language now has less spaces in it
- Robustin:
- - bugfix: Fixed monkeys slowly freezing to death
- ShizCalev:
- - bugfix: Clockcultists and revolutionaries can no longer be mindswapped.
- SpaceManiac:
- - refactor: Weather and certain events have been updated to use Z traits.
- - bugfix: The Staff of Storms now correctly starts and ends storms if used from
- inside lockers.
- - bugfix: Weather telegraph messages are now shown to those inside lockers and mechs.
- - bugfix: Radio jammers no longer affect other z-levels.
- Tlaltecuhtli:
- - tweak: min player req for rev is 30 now
- Xhuis:
- - bugfix: Emergency lights now function correctly.
- deathride58:
- - code_imp: Light fixtures no longer use hardcoded values for their power and colour.
- ninjanomnom:
- - bugfix: Functions that aren't intending on actually moving the shuttle yet don't
- send error messages to admins anymore when seeing if a shuttle *can* move.
- scrubs2009:
- - tweak: Candles last longer
- uraniummeltdown:
- - bugfix: Bananium shows up on mining scanners again
-2018-01-23:
- Cruix:
- - bugfix: engine goggles set to t-ray mode will no longer show pipes with the wrong
- rotation.
- - bugfix: cables now show up on t-ray scans.
- Dax Dupont:
- - bugfix: Fixed missing tile under autolathes
- MrDoomBringer:
- - rscadd: NanoTrasen's Creative Psychology Initiative has brought new training to
- all crewmembers to foster rapid, innovative problem-solving! You can now kill
- yourself in so many more ways!
- - rscadd: The RnD department can now develop firmware upgrades to the Express Supply
- Console, unlocking advanced cargo drop pods!
- Naksu:
- - code_imp: removed a bunch of unnecessary vars, combining them into a bitfield
- SpaceManiac:
- - bugfix: Fixed occasional runtimes when ion storms or overflow would replace an
- existing law.
- WJohnston:
- - bugfix: Space syndie listening post now has a real microwave, and a book management
- console. Lava listening post comms room intercom now no longer starts with broadcast
- on.
- - rscadd: the syndicate drop ship and fighter pods from the caravan ambush can now
- be flown to the syndicate listening post. The fighter pods also now have xray
- cameras because regular ones were super useless.
- XDTM:
- - rscadd: Added Regenerative Jelly, made with tricordrazine and slime jelly. It
- regenerates a bit faster, and won't harm jellypeople.
- - rscadd: Added Energized Jelly, made with teslium and jelly. It works as an anti-stun
- chemical for slimepeople and speeds up luminescents' power cooldown, but non-jellypeople
- will just get shocked.
- - rscadd: 'Added Pyroxadone, made with cryoxadone and slime jelly. It''s basically
- inverse cryoxadone: it heals faster the hotter your body temperature is.'
- - tweak: Cryoxadone no longer deals toxin damage to jellypeople.
- - tweak: Purple Slime Extracts no longer have their sugar->slime jelly reaction
- (obsolete with extract grinding), and instead have a blood->regen jelly reaction.
- - tweak: Purple Extract's major activation by Luminescents now give regenerative
- jelly instead of tricordrazine.
- coiax:
- - rscadd: Fake nuclear disks can only be identified by the captain, observers, nuclear
- operatives, seeing where the pinpointer points, or attempting to put it into
- a nuclear device.
- - rscadd: Fake nuclear disks "respawn" on the station just like the real one.
- kevinz000:
- - rscdel: pulling claw can now only passively grab
- - bugfix: Infrared beams now update instantly.
- ninjanomnom:
- - bugfix: Changeling clothing can get bloodied again.
- the hatchet man (i eat garbage code):
- - bugfix: 'you shitlords picked the wrong virtual anime tits to fuck so im takin
- away your space bases experimental: lets be fair all you guys did in those was
- jack off to hentai, and not real man''s gachimuchi'
-2018-01-24:
- Dax Dupont:
- - bugfix: Fixed missing wheat fridge on omega and removes a duplicate pipe.
- - rscadd: Beakers and beaker-like objects now get put in your hand on ejection from
- chemistry devices.
- Shadowlight213:
- - bugfix: Fixed eye damage not being applied if it was exactly 3.
- YPOQ:
- - bugfix: Emergency lights will give off light again
- ninjanomnom:
- - bugfix: Pointing at squeaky things doesn't make them squeak anymore.
-2018-01-25:
- Dax Dupont:
- - imageadd: Autolathe now repeats it's animation while printing.
- - tweak: You now need to examine engravings to pop open the menu.
- - bugfix: People can no longer extract 300 supermatter shard slivers without it
- exploding.
- - bugfix: Fixed thongs not dusting people on use.
- Jittai:
- - tweak: All color inputs now use the current color, of the thing being colored,
- as default choice.
- More Robust Than You:
- - rscadd: You can now defib monkeys and aliums
- - tweak: Monkeys can also use defibs now, too!
- Naksu:
- - code_imp: Slightly refactored object armor code
- Ordo:
- - rscadd: Adds Ketrazine, a powerful but dangerous combat stim which the crew can
- synthesize
- Robustin:
- - balance: Clockwork marauders now take more time (+3s) and power (7x) to create.
- - balance: The "recent marauder" time limit is now 60 seconds, up from 20. The limit
- now has a significantly smaller effect on summon time but will act as a further
- cap on marauder summoning until it has passed.
- - tweak: The marauder cap will now only account for living cultists.
- - rscadd: 'A new cocktail: The Nar''Sour. Made from blood, demonsblood, and lemon
- juice, this cocktail is known to induce a slightly different type of slurring
- when imbibed.'
- SPACE CONDUCTOR:
- - tweak: Shuttles will throw you around if ya don't buckle in
- Shadowlight213:
- - balance: Moths are now more susceptible to bright lights
- Togopal, Armhulenn, Naksu, Jordie & oranges:
- - rscadd: Snakes! They hunt vermin on the station! Curators have a natural phobia
- to them.
- - rscadd: They can be purchased in cargo.
- XDTM:
- - rscadd: Slimepeople and Jellypeople can now speak the slime language.
- - tweak: Slimes now only speak slime language, although they still understand common.
- - balance: Slimepeople are no longer virus immune.
- - bugfix: The above change fixes a bug that made black slime cure itself.
- Xhuis:
- - balance: Fleshmend can no longer be stacked several times at once.
- - balance: Fleshmend no longer heals changelings who are on fire, and heals burn
- damage half as quickly as brute and oxygen damage.
- - code_imp: Fleshmend has been refactored into a status effect.
- coiax:
- - rscadd: Nuclear operatives that wish to fail in style can purchase Centcom Official
- and Clown costumes. They can also buy a defective chameleon kit.
- - rscadd: The majority of shuttles are now loaded at the start of the round from
- template, rather than being premapped. As a side effect, Delta's mining shuttle
- now docks facing down at Lavaland.
- imsxz:
- - rscadd: Traitor clowns are now able to purchase clown bombs from their uplinks.
- Honk!
- - rscadd: Clown bombs can now be placed via a small beacon, the same way normal
- syndicate bombs can be.
- - tweak: clown bomb payload now summons 50 clowns instead of 100
- nicbn:
- - bugfix: Now if you lose arms you won't be able to see through your uniform.
- ninjanomnom:
- - bugfix: Loaded templates now get placed on top of existing terrain so as to preserve
- baseturfs. This fixes survival pods walls breaking to lava as well as allows
- some future fixes.
-2018-01-26:
- Cruix:
- - bugfix: Fixed being able to rotate things in only one direction.
- DaedalusGame:
- - rscadd: Firefighting Foam reagent, better alternative to water and corn oil for
- firefighting purposes
- Dax Dupont:
- - rscadd: You can now rename and copy holodisks!
- - rscadd: Holorecordings now can be looped.
- - tweak: Holodisks now have materials and the autolathe cost has been adjusted.
- - bugfix: Fixed holodisk speaker name not getting set when on non-prerecorded messages.
- Epoc:
- - bugfix: Slows Simple Clown mobs
- GuppyLaxx:
- - bugfix: Fixes the Ketrazine recipe
- Iamgoofball:
- - balance: Power cells explosions are now logarithmic
- Naksu:
- - code_imp: Cleaned up some /obj/item vars
- - bugfix: Pneumatic cannons no longer misbehave when their contents such as primed
- grenades get deleted (explode)
- Robustin:
- - rscadd: The Peacekeeper Borg's "Peace Hypospray" now includes the "Pax" reagent,
- which prevents the subject from carrying out many forms of direct harm.
- SpaceManiac:
- - spellcheck: Clockwork armaments are no longer named "arnaments".
- - bugfix: The Syndicate Listening Post's medicine closet now has the correct access.
- coiax:
- - rscadd: Syndicate intelligence potions also grant an internal syndicate ID card
- to the simple animal granted intelligence. This effectively means that Cayenne
- can open the airlocks on the Infiltrator.
- uraniummeltdown:
- - bugfix: You can no longer weld airlock assemblies for infinite materials
-2018-01-27:
- Anonmare:
- - balance: The Syndicate Chameleon Kit is now available during rounds of lower population.
- Because of course you can have an e-sword and revolver without restriction but
- disguising and RP is verboten because we deathmatch station now.
- Dax Dupont:
- - bugfix: Eminence won't get spammed by tile crossing now.
- Denton ShizCalev Kor Kevinz000 (original idea):
- - balance: Due to budget cuts, the shoes shipped with chameleon kits no longer prevent
- slipping. The premium version is unchanged and still sold separately.
- - balance: To compensate, the chameleon kit cost was lowered by 2 TC and the minimum
- crew limit removed.
- Jittai:
- - imageadd: New Morgue Tray sprites.
- - imageadd: New Crematorium sprites.
- Naksu:
- - bugfix: Away missions no longer require manually adjusting subsystem mob/client
- lists in order to not have the AI break.
- WJohnston:
- - bugfix: The lavaland syndie base is now packed with considerably fewer explosives,
- and should lag far less brutally when exploding.
- coiax:
- - balance: Mobs will now start with a random nutrition amount, between hungry and
- mildly well fed.
- - rscadd: Nanotrasen Security Division has reported that syndicate comms agents,
- both on lavaland and in space, have had training in "Codespeak", a top secret
- language for stealthy communication.
- uraniummeltdown:
- - imageadd: Ore boxes have a new sprite
-2018-01-29:
- ACCount:
- - rscadd: Having station blueprints in your hands now reveals function of wires
- in station objects.
- DaedalusGame:
- - bugfix: fixed a strange pipenet issue that happens when a singular pipe or manifold
- is placed directly between two or more components and wrenched last.
- Dax Dupont:
- - bugfix: After 3 years of intensive research by Nanotrasen's elite team of chefs,
- rice dishes such as rice pudding are no longer considered salads.
- Denton:
- - spellcheck: Fixed Bubblegum's description.
- F-OS:
- - tweak: Academy is now part of the random station names.
- Mark9013100:
- - rscadd: Cloning data disks can now be constructed after researching the Genetic
- Engineering technode.
- MrStonedOne:
- - tweak: 511 Clients can see atmos gases
- - rscdel: This reverts the fix that prevents atmos gas overlays from stealing clicks.
- Naksu:
- - bugfix: Attempting to join into a command role as a nonhuman species no longer
- lets you keep your nonhuman species languages if you are transformed into a
- human because of a config option
- - bugfix: Warp whistle can no longer pick up its user from inside various animation/in-between
- states and effects such as transformations, jellypeople split, talisman of immortality
- effect period or rod form.
- WJohnston:
- - bugfix: The centcom ferry shuttle now works again.
- XDTM:
- - balance: Peacekeeper cyborgs have synth-pax instead of normal pax, which has the
- same effect but wears out faster.
- - rscadd: Xenobiology consoles can now scan slimes and apply potions remotely. Use
- potions on the console to load them.
- - rscadd: Abductors now have the chemical, electric and trauma glands.
- - rscdel: Removed the bloody, bodysnatch and EMP glands.
- - tweak: The abductor viral gland now generates a random advanced virus instead
- of a basic one.
- - tweak: The abductor heal gland now also heals toxin damage.
- - tweak: The abductor mindshock gland can now cause different reactions.
- - tweak: The abductor slime gland now gives the slime faction.
- - tweak: The abductor species gland now randomizes the victim's appearance and name
- on top of the species.
- - rscadd: 'Abductors have a new surgery type: violence neutralization. It has the
- same steps as brain surgery, but it will instead inflict a Pacifism trauma upon
- the victim, making them mostly harmless in the future.'
- - rscadd: Bath Salts now give complete stun immunity while they last.
- - balance: Ketrazine now gives immuity to sleeping.
- improvedname:
- - rscadd: Adds bz to cargo
- ninjanomnom:
- - rscdel: Removed the ability to create new shuttle areas or expand existing ones
- with blueprints.
- - bugfix: Special areas like rooms which require no power can no longer be expanded.
- You can still expand into them however.
- - bugfix: Turning to face a direction with control no longer moves you in the faced
- direction after releasing control.
- uraniummeltdown:
- - rscadd: You can alt-click microwaves to turn them on
-2018-01-30:
- Cyberboss:
- - bugfix: Blood contracts now only show living players and real names
- DaedalusGame:
- - tweak: made fire colored according to blackbody radiation and rule of cool.
- - imageadd: some kind of lightning texture
- Dax Dupont:
- - rscadd: Cyborgs can now be upgraded to be h-u-g-e! Only a cosmetic effect!
- ExcessiveUseOfCobblestone:
- - bugfix: Turrets now check for borgs. Syndicate turrets are nice to emagged borgs
- too!
- Iamgoofball:
- - bugfix: Minor code cleanup on the wirer
- Jalleo:
- - balance: nerfs power cells from a insane max possibility
- Jittai:
- - imageadd: Crematoriums and Morgue Trays now have directional states.
- - bugfix: Morgue Trays now checks for cloneable people like the dna-scanner does.
- (ghosts can roam now)
- - bugfix: Cremated mice no longer leave behind snackable bodies.
- - bugfix: Ash does not get instantly deleted in the crematorium upon creation. Ash
- also piles up. (aesthetically only)
- - tweak: Morgue/Crematorium Trays make a slight rolling sound.
- More Robust Than You:
- - tweak: Announcing messages while drunk will be slurred
- Naksu:
- - bugfix: Subjects without hearts now display as unsuitable for abductor experiments
- when probed with the advanced baton.
- - balance: BZ gas now makes lings lose their chems and hivemind access. The chem
- loss is gradual.
- - rscdel: 'Removed actual reagent quadrupling added in #34485'
- - rscdel: Removed the foam effect combining feature, hopefully to be replaced with
- something less completely and utterly broken
- PKPenguin321:
- - rscadd: Attention, space explorers! Nothing is out of your reach with the ACME
- Extendo-Hand (TM)! With it, you can get a WHOLE EXTRA TILE OF REACH! Hug or
- punch your friends from a whole 3 feet away! Win one from an arcade machine
- or make one in the Misc. tab of your crafting menu today!
- Robustin:
- - rscadd: Blood magic. The next generation of talismans - you can create 2 spells
- without a rune, up to 5 with a rune of empowerment. Preparing spells without
- a rune will cost a significant amount of blood. Every talisman has been rebalanced
- for its spell form. With a few exceptions, blood magic exists as a "touch" spell
- that is very similar in behavior/appearance to the wizard touch spells.
- - rscadd: New UI system for cultists.
- - rscdel: Removed talismans, Talisman Creation Rune replaced by Rune of Empowerment.
- Supply talisman has been replaced by a ritual dagger and 10 runed metal.
- - rscadd: Ritual Dagger, replacing the Arcane Tome. This is largely a thematic alteration
- but its to reinforce that your primary tool is also a weapon.
- - bugfix: Cyborgs and AI are finally unable to see runes again
- - tweak: Only the cult master can forge Bastard swords now, regular cultists can
- get a mirror shield.
- - rscadd: 'The mirror shield, it blocks, it reflects, it creates illusions, and
- an incredible throwing weapon! The mirror shield also bears a unique weakness:
- Shotgun slugs, .357 rounds, and other high damage projectiles will instantly
- shatter it and briefly stun the holder.'
- - balance: Nar'sien Bolas will not longer ensnare cultists and non-cultists will
- ensnare themselves when attempting to use them. The bolas are now comparable
- in effectiveness with reinforced bolas.
- - rscadd: Rune of Spirits. This merges the Spirit Sight and Manifest Ghost rune.
- The user will now choose which effect when invoking.
- - rscadd: The Spirit Sight function has received several major improvements, allowing
- the ghost to commune with the cult and mark objects similar how the cult master
- can. The user has a unique appearance while ghosted and manifested cult ghosts
- can see ghosts as well - allowing their summoner to lead them from the spirit
- realm.
- - balance: The Form Barrier rune will now last significantly longer and examining
- the rune as a cultist will tell you how long it will remain.
- - rscadd: The Apocalypse Rune. Replaces the EMP runes. Has a fixed invoker requirement
- and added usage limitations. It scales depending on the crew's strength relative
- to the cult. Effect includes a massive EMP, unique hallucination for non-cultists,
- and if the cult is doing poorly, certain events. The rune can only occur in
- the Nar-Sie ritual sites and will prevent Nar-Sie from being summoned there
- in the future.
- - rscdel: No more EMP rune.
- - balance: The conceal/reveal spell now has 10 charges and will conceal far more,
- including cult structures and flooring.
- - balance: The stun spell will now stun for ~4 less seconds and silence for 2 more
- seconds.
- - balance: The EMP spell now costs 10 health to use, up from 5, and has had its
- heavy/light EMP range nerfed by 1 and 2 respectively (now 3 and 6).
- - balance: The shackles spell now has a silence effect similar to the stun talisman.
- - balance: The hallucination spell now has multiple charges.
- - tweak: The teleport spell can now be used on other adjacent cultists.
- - tweak: Summon Tome and Summon Armor have been combined into "Summon Equipment",
- which lets you choose between summoning a Ritual Dagger or Combat Gear (same
- loadout that Summon Armor used to provide).
- - balance: Standard cult robes now have -10 melee and -10 laser armor.
- - balance: The "Construction" spell will now convert airlocks into cult airlocks
- and cyborgs (after ~10 seconds) into constructs. The airlock is the most fragile
- in the game, with reduced integrity, armor, and render it vulnerable to most
- attacks. Cyborg "reconstruction" will be accompanied by an obvious effect/sound.
- - rscadd: Blood Rites. This spell allows you to absorb blood from your surroundings
- or adjacent non-cultists. You can use the blood rites as a convenient heal (self-healing
- is significantly more costly though) or you can try to gather large quantities
- of blood for unique and powerful relics.
- - rscadd: Blood spear, a fragile but robust spear with a special recall ability
- - rscadd: Blood bolts, the cultist's version of arcane barrage. The bolts will infuse
- cultists with unholy water and damage anything else.
- - rscadd: Blood beam, the ultimate blood rite. After a channeling period it will
- fire 12 powerful beams across a long distance, piercing almost any surface (except
- blessed turf), and damaging all non-cult life caught in the beam.
- - tweak: All cult structures now generate significantly less light.
- - balance: Pylons will now heal constructs faster and restore slightly more blood
- than before.
- - balance: Cult floors are now highly resistant to atmospheric changes.
- - bugfix: Unholy water will now splash victims properly.
- - balance: Unholy Water Vials created at altars now contains 50 units, and is better
- at healing brute, and deals slightly more damage to non-cultists, the splash
- ratio was reduced to 20% to compensate for the increased volume and damage.
- - balance: Holy water will purge any and all blood spells from cultists.
- - rscadd: Artificers, Wraiths and Juggernauts can now scribe revive, teleport, and
- barrier runes respectively with a 3 minute cooldown.
- - balance: Juggernauts' forcewall is now 3x1 but it has a ~30% longer cooldown.
- Juggernauts got a modest speed increase (2.5 from 3) but lost a modest amount
- of HP (200 from 250).
- - rscadd: Juggernauts now get a ranged attack "Gauntlet Echo", a single projectile
- that moves about as fast as them and does 30 damage with 5 seconds of stun and
- a 35s cooldown.
- - balance: The number of ghosts summonable by the manifest spirit rune is 3, down
- from 5.
- - balance: It now takes ~20% less water (~25 units) and ~30 seconds less to deconvert
- cultists via holy water.
- - tweak: The emagged library console will now distribute ritual daggers.
- - tweak: Using the dagger on a rune will now take a 1-second channel to destroy
- it, to avoid incidents where people instantly wipe a critical rune by accident.
- - balance: Standard runed airlocks now have a lower damage deflection so they can
- be destroyed with most respectable melee weapons (10+).
- - balance: Teleporter runes that are used from space or lavaland will result in
- the destination rune giving off a unique effect for 60 seconds. This effect
- includes a long distance (but not obvious antagonistic) sound, a bright lighting
- effect, and a visual cue that will indicate where the cultist arrived from.
- Shadowlight213:
- - tweak: Pluoxium is no longer considered dangerous for air alarms.
- XDTM:
- - tweak: Slimepeople can now host multiple minds in their body pool; occupied bodies
- will be marked as such in the bodyswap panel.
- - tweak: Slimepeople now retain 45% of their slime volume upon splitting instead
- of a fixed amount.
- Xhuis:
- - rscadd: Defibrillator mounts can now be found in the CMO's locker or produced
- from a medical protolathe after Biotech is unlocked. They can be attached to
- walls, and hold defibrillators for public use. You can swipe an ID to clamp
- the defibrillator in place, and it will automatically draw from the powernet
- to recharge it. Being one tile away from the mount will force you to drop the
- paddles.
- - balance: Stargazers have been removed.
- - balance: The clockwork cult now has a power cap of 50 kW.
- - balance: Script scripture is now unlocked at 25 kW, and Application at 40 kW,
- instead of 50 kW and 100 kW.
- - tweak: Important scriptures are now displayed with italicized names.
- Xhuis & Jigsaw:
- - rscadd: Traitor clowns can now purchase the reverse bear trap, a disturbing head-mounted
- execution device, for five telecrystals.
- kevinz000:
- - rscadd: Chameleon laser guns now have a special firing mode, activated by using
- them in hand! Only certain gun disguises will allow this to work!
- nicbn:
- - bugfix: Bloodpacks will have their colors defined by the reagents
- - imageadd: MMI dead sprite will now show a red light and no eyes instead of X-crossed
- eyes
- uraniummeltdown:
- - imageadd: Solar panels have new sprites
- - imageadd: Coffins have a new sprite
-2018-02-01:
- CosmicScientist:
- - balance: tomatoes and similar ovary laden edibles are fruit, not veg, beware plasmamen
- and mothmen
- Denton:
- - bugfix: Added a missing distress signal to the space ambush ruin.
- Jalleo:
- - rscdel: Space ghost syndicate comms guy removed.
- Jittai:
- - bugfix: Cloning doesn't runtime (and indefinitely get stuck) on cloning non-humans.
- - tweak: Some of the Morgue Trays and Crematoriums on Box, Delta, and Meta have
- been re-positioned to make use of their new directional states.
- - imageadd: New Horizontal Coffin Sprites
- SpaceManiac:
- - tweak: The Whiteship spawn point is now a space ruin rather than being fixed every
- round.
- Xhuis:
- - balance: Servant golems no longer appear in the magic mirror race list.
- - bugfix: Cogs now fucking work
- cebutris:
- - spellcheck: The text you get when you examine a stunbaton to see the battery level
- now uses the item's name instead of "baton"
-2018-02-02:
- Dax Dupont:
- - tweak: Hijack objectives will only be given out if there are 30 or more players.
- DeityLink:
- - rscadd: You can now see the rays from a holopad displaying a hologram!
- Epoc:
- - bugfix: Soap now has inhand sprites
- Xhuis:
- - balance: Brass skewers now must be at least one tile apart.
- - balance: Steam vents can no longer be placed within cardinal directions of other
- steam vents, and will not hide objects they're placed on top of.
- - bugfix: Races that have eyes that look different from regular humans' no longer
- have white eyespots where human eyes appear.
- Xhuis, Cosmic, Fwoosh, and epochayur:
- - rscadd: Added pineapples to botany, and a recipe for Hawaiian pizza.
- improvedname:
- - rscadd: adds yeehaw to the dj's disco soundboard
- oranges:
- - rscdel: removes ketrazine
-2018-02-03:
- Dax Dupont:
- - tweak: Moved the lathe from box's cargo room to box's cargo office which miners
- now can access.
- - tweak: Harmonized medbay storage access requirements so all maps allow all medbay
- personnel into medbay storage like on Meta and Delta.
- - tweak: Moved service lathes into a dedicated service hall/storage area if they
- weren't accessible by janitor or bartender.
- SpaceManiac:
- - code_imp: Removed the now-unused revenant spawn landmark.
- Xhuis:
- - bugfix: Servant cyborgs with the Standard module now correctly have Abscond.
- - bugfix: Securing pipe fittings now transfers fingerprints to the new pipe.
- - bugfix: The firelock below the Circuitry Lab airlock on Boxstation will no longer
- cover it up when the airlock is open.
- uraniummeltdown:
- - bugfix: Some airlock animations should no longer be glitchy and restart in the
- middle
-2018-02-04:
- Buggy123:
- - rscadd: Morgue trays now detect if a body inside them possesses a consciousness,
- and alerts people nearby
- Cruix:
- - rscadd: The Rapid Piping Device can now dispense transit tubes.
- Dax Dupont:
- - rscadd: Added logout button to the record screen in the security records console.
- - rscadd: Allows you to print photos that are in the security records.
- Incoming5643:
- - rscadd: The ability to throw drinks without spilling them has been moved from
- something bartender's just know how to do to a book that they spawn with, the
- ability has also been made into a toggle.
- - rscadd: Any number of people can read the book to learn the ability, and it can
- also be ordered in the bartending crate in cargo. Bartenders are encouraged
- to keep their trade secrets close to their stylish black vests.
- Kor:
- - bugfix: Fixed mecha grav catapults not being included in techwebs.
- MrDoomBringer:
- - imageadd: Conveyor Belts now look better when they are crowbar'd off the ground.
- - rscadd: Due to complicated quantum-bluespace-entanglement shenanigans, the Bluespace
- Drop Pod upgrade for the express supply console is now slightly more difficult
- to research.
- Robustin:
- - bugfix: Vape Pens (e-cigs) will now consume reagents proportional to the vape
- size and static smoke production.
- - bugfix: Command reports should now properly weight the appearance of modes based
- on their existence in our actual game rotation.
- - balance: The current mode now has a 35% chance of not appearing in the report.
- ShiggyDiggyDo:
- - rscadd: You can now win stylish steampunk watches at your local arcade machine!
- ShizCalev:
- - bugfix: Fixed some broken cultist & wizard antagonist ghost polls.
- - rscadd: The Syndicate Comms Officer ghost role has been readded with a minor chance
- of actually existing.
- Slignerd:
- - balance: Following an immense number of complaints filed by security and command
- personnel, the Captain's spare ID will from now on be placed inside his locker.
- We fail to see how this would help the Captain access the spare in the event
- he lost his ID, but the complainants have been VERY insistent.
- SpaceManiac:
- - bugfix: The pirate ship can now fly again.
- Xhuis:
- - balance: Integration cog power generation has been increased to 10 W per second
- (up from 5 W per second.) Power consumed from the APC remains at 5 W per second.
- - balance: Integration cogs will now continue generating power at half-speed when
- the APC they are in has no energy.
- coiax:
- - balance: Romerol is now effective on dead bodies, not just ones that are still
- alive.
- nicbn:
- - rscadd: Destroying windows will now spawn tiny shards
-2018-02-05:
- Dax Dupont:
- - balance: Regular cyborgs now start with a normal high capacity cell instead of
- a snowflake cell. Resulting in less confusing and 2.5MJ more electric charge.
- - bugfix: Fixed name of the upgraded power cell
- - refactor: Removed duplicate cell giving code in transformation proc.
- - bugfix: Fixed the crematorium on meta and box.
- Denton:
- - tweak: Rearranged the mining vendor items by price and item group.
- - tweak: In order to promote back-breaking physical labor, Nanotrasen has additionally
- made conscription kits available at mining equipment vendors.
- Iamgoofball:
- - rscdel: Blood cultists can't space base anymore
- MMMiracles:
- - rscadd: A once-thought abandoned arctic post has recently had its gateway coordinates
- re-enabled for access via the Gateway link. Contact your local Exploration Division
- for more details.
- More Robust Than You:
- - bugfix: Holorays are now properly deleted if you switch holopads automatically
- Naksu and kevinz000:
- - tweak: Ores are no longer completely impervious to explosions, but rather "proper"
- ores are destroyed by the strongest explosions and sand is blown away everything
- but the weakest ones. This shouldn't affect ore spawns from explosions
- - tweak: Lavaland bomb cap reduced to double the station bombcap.
- - refactor: Ores are now stackable. Ore stacks now have the appearance of loose
- ores and are not called "sheets" by machines that consume them.
- - code_imp: Material container component now uses the singular names of stack objects.
- - refactor: /obj/item/ore/Crossed() is now removed in favor of the ore satchel utilizing
- a redirect component
- ShiggyDiggyDo:
- - spellcheck: You no longer win double the articles at the arcade
- SpaceManiac:
- - bugfix: Research investigate logs now actually include the name of the researcher.
- XDTM:
- - bugfix: Fixes intelligence potions removing previously known mob languages
- - tweak: Slime scanning now has a more readable output, especially when scanning
- multiple slimes at once
- - tweak: Eggs from the abductor egg gland now have a random reagent instead of acid
-2018-02-06:
- Dax Dupont:
- - bugfix: AIs can no longer turn on broken APCs,
- SpaceManiac:
- - bugfix: Defibrillator mounts no longer spam the error log while empty.
- - bugfix: The various ships in the caravan ambush space ruin can now fly again.
-2018-02-07:
- DaedalusGame:
- - bugfix: Fixes Noblium Formation being multiplicative, so having 500 moles of tritium
- and 500 moles of nitrogen no longer produces 2500 moles of noblium (it should
- correctly produce 10 moles)
- - bugfix: Fixes most reactions deleting more gas than exists and making gas out
- of nowhere
- - bugfix: Fixes Stim Formation invoking a byond bug and not using its intended polynomial
- formula
- - bugfix: Fixes Cryo Cells not having garbage_collect and clamping
- - bugfix: Fixes Rad Collectors not having clamping
- - bugfix: Fixes Division by Zero when Fusion has no impurities.
- - bugfix: Removes a redundant line in lungs
- - bugfix: Fixes rad_act signal not firing from turfs, living mobs, rad collectors
- and geiger counters
- - bugfix: fixes lava burning into chasm tiles i hate hate hate hate them so much
- grrrr
- - tweak: NT Scientists have started looking into data from small-scale detonations
- and found that there's still potential data to be gathered from explosive yields
- lower than 4.184 petajoules
- Dax Dupont:
- - tweak: Moved the pocket protector to lockers instead of on the uniform.
- - rscadd: You can now insert holodisks into cameras and take a static holographic
- picture of someone!
- - rscadd: Hologram recordings can now be offset slightly.
- - rscadd: Posibrains have gotten a small firmware update, they will now play a sound
- on successful activation.
- - rscadd: Killing a revenant will now result in an unique shuttle to be able to
- be bought. You probably won't like it though.
- - rscadd: Fake emag now available.
- Denton:
- - spellcheck: Mining drone upgrades are no longer referred to as "ugprade"
- - tweak: Fungal tuberculosis spores can no longer be synthesized by machinery.
- Kor:
- - rscadd: Spawning as a syndicate comms officer will now activate an encrypted signal
- in the Lavaland Syndicate Base, to aid the crew in retaliating.
- Ordo:
- - rscadd: Mamma-mia! The chef speaks-a so different now!
- Robustin:
- - balance: The "construct shell" option from the cult archives structure will now
- only yield one shell instead of two.
- - balance: Sacrificing suicide victims will now only yield an empty shard.
- - balance: Synths and Androids are no longer available species at the magic mirror.
- ShiggyDiggyDo:
- - rscadd: You can now win Toy Daggers at your local arcade!
- Skylar Lineman:
- - rscadd: Nanotrasen has new intelligence that the newest batch of Syndicate agent
- equipment includes sticky explosives disguised as potatoes, designed to incite
- terror among whoever is unlucky enough to have one stuck onto their hands.
- - rscadd: 'Nanotrasen''s toy suppliers have also started making faux versions of
- these, with less-forceful attachment mechanisms and absolutely zero explosive
- materials for a child-safe experience. experimental: Explosive Hot Potatoes
- are now available for purchase by syndicate-affiliated cooks, botanists, clowns,
- and mimes.'
- SpaceManiac:
- - bugfix: Pressure damage now takes effect in certain situations where it should
- have but did not.
- Xhuis:
- - rscadd: Nanotrasen's anomalous materials division has recently experienced a containment
- breach, during which a certain pizza box went missing. Be on the lookout for
- any slipups in cargo.
- - spellcheck: Pizza margherita is now named "pizza margherita" (the proper way!)
- instead of just "margherita."
- - tweak: Brass chairs now stop spinning after eight rotations, so you can't crash
- the server with them.
- coiax:
- - rscadd: Eggs now contain 5u of egg yolk. Breaking an egg in a glass container
- adds all reagents inside to the container. If you're laying abductor gland eggs,
- then you'll get 5u of egg yolk and 10u of random reagent. Egg glands now make
- you act like a chicken while laying eggs. Egg laying makes you use the aliennotice
- span.
- kevinz000:
- - balance: Explosive holoparasites must now be adjacent to turn objects into bombs,
- instead of being able to do so from any range.
-2018-02-09:
- Cyberboss:
- - balance: Printed power cells must now be charged before use
- Dax Dupont:
- - bugfix: Supermatter can again blow up again on space tiles.
- - bugfix: Fixed borgs applying cuffs on people without the right number of arms.
- - refactor: Handcuff code has been rejiggled and snowflake code has been removed.
- - rscdel: Removed unused cable cuffs module stuff for borgs.
- - bugfix: Telecom equipment now can only be printed by engineers and scientists
- as intended.
- - bugfix: WT-550 AP can only be printed by sec now.
- - tweak: Removed engineering requirement for arcade machines to bring it in line
- with others.
- - rscadd: Defibs can now be researched and printed.
- - balance: Hatches are now small instead of tiny.
- Denton:
- - code_imp: Changed can_synth values from 0/1 to FALSE/TRUE
- - code_imp: Removes grind_results from empty soda cans since they can't be ground.
- - spellcheck: For consistency's sake, aluminium is now universally spelled with
- two 'i'.
- Epoc:
- - imageadd: Belt items now have inhand sprites
- Evsey9:
- - balance: Integrated Circuit Drones are now bulky to improve safety ratings, and
- therefore, cannot be stored in normal backpacks or pockets, but now can accept
- modules that bulky circuit machinery can.
- - balance: Grabbers can now grab items up to the size of the circuit assembly they
- are in.
- - balance: Grabbers cannot store circuit machinery the same or larger size than
- the circuit assembly they are in.
- - tweak: Throwers now can throw items up to the size of circuit assembly they are
- in.
- MMMiracles:
- - rscadd: A brand new space-farm, where your family sends all your old/sick catpeople
- to live out the rest of their days being free to roam the acres and chase the
- field grayshirts.
- Naksu:
- - bugfix: Cyborg engineering module geiger counters now work properly again
- PKPenguin321:
- - rscadd: As it would happen, the chef does not actually have Italian genes, but
- rather was being influenced by a strange moustache-a.
- Robustin:
- - bugfix: Fixes the cult master getting two notifications on the cult forge
- - rscadd: Blood spells will now "follow" the spell creation button, which is now
- unlocked by default. If you want your spell "hotbar" to appear somewhere else,
- just move the blood spell button, it will update when you prepare a new spell.
- Also, individual spells start off locked but if you unlock them they will no
- longer reposition when the spells are updated.
- Robustin and More Robust Than You:
- - rscadd: A heart disease event has been added. The cure is heart replacement surgery.
- Effects of cardiac arrest are halted by the chemical Corazone. Once cardiac
- arrest begins at Stage 5, the disease can be cured by a defibrillator or from
- a lucky electric shock.
- - rscadd: Using gym equipment will now grant a hidden exercise buff that prevents
- heart disease for 20 minutes.
- SpaceManiac:
- - bugfix: Goliath hide plates now properly apply to explorer suits and APLUs again.
- oranges:
- - rscdel: Removed the saltmine grief shuttle
-2018-02-10:
- Cruix:
- - balance: Changed the chemical recipe for Lexorin from plasma, hydrogen, and nitrogen
- to plasma, hydrogen, and oxygen.
- - bugfix: These were necessary due to recipe conflicts
- Dax Dupont:
- - bugfix: Cloner UI now properly updates cloning pod status when autocloning starts
- cloning someone.
- Ordo:
- - tweak: Replaced nitrogen with ethanol in morphine recipe. The recipe now has a
- lower yield.
- Robustin:
- - bugfix: Fixed the limb grower having a max volume of 0.
- UI Changes:
- - tweak: The Scan with Debugger/Device button now reads Copy Ref and no longer sends
- you to the circuit's page when clicked
- - tweak: The assembly's menu is now slightly wider
- - tweak: The advanced in "integrated advanced medical analyser" is now abbreviated
- to adv.
- Xhuis:
- - bugfix: The preference to lock action buttons in place is now correctly saved
- across rounds.
-2018-02-11:
- DaedalusGame:
- - bugfix: Prevents megafauna (and other large things like spiders and mulebots)
- from going into machines
- Dax Dupont:
- - rscadd: You can now win a fake cryptographic sequencer, perfect to go with your
- fake space suit!
- - tweak: 'To login with an emag on the APC console you will now need to hit it with
- the emag. removed: Snowflake emagging implants is no more, Swipe it before install.'
- - refactor: everything uses emag_act() now
- - balance: Grabbers/throwers no longer can contain/throw things equal to the assembly
- size.
- - bugfix: Fixes duplicate air alarm on meta.
- Kor:
- - rscadd: Mining sentience upgrades now grant minebots an ID and radio.
- Mokiros:
- - rscadd: All-In-One Grinder can now be built with researchable curcuit and micro-manipulator.
- More Robust Than You:
- - rscadd: You can now squish urinal cakes
- More Robust Than You, Basilman, and MMMiracles:
- - rscadd: Deep in space, a valuable artifact awaits
- Naksu:
- - rscdel: Steam engines have been removed from maintenance, engineering, atmos and
- teleportation areas.
- - rscadd: The chef is now trained for working under siege
- Shadowlight213:
- - admin: The notify irc/discord bot chat command no longer requires admin privileges.
- ShizCalev:
- - bugfix: Corrected a number of missing checks when using alt-click actions. Please
- report any strange behavior to a coder.
- - spellcheck: Corrected typo in NTNet Scanner circuits' name, make sure to update
- your blueprints.
- uraniummeltdown:
- - rscadd: You can now smelt titanium glass and plastitanium glass
- - rscadd: Use titanium glass and plastitanium glass to build shuttle windows and
- plastitanium windows
-2018-02-12:
- Dax Dupont:
- - bugfix: AI no longers block ark after mass_recall
- - bugfix: Placed the dispersal logic AFTER the mass_recall on ark activation instead
- of infront(did nothing before basically).
- - rscadd: Cell chargers can now be built and upgraded with capacitors!
- - bugfix: Fixed empty subtype batteries not updating icons
- Denton:
- - bugfix: Fixes lye/plastic/charcoal conflicts when mixing.
- - bugfix: Lye is now made by combining ash with water and carbon. Plastic sheets
- by heating ash, sulphuric acid and oil.
- More Robust Than You:
- - bugfix: Your hand no longer magically squishes urinal cakes when trying to pick
- them up
- - bugfix: SCP-294 no longer looks fucked up
- Robustin:
- - balance: The rift created by teleporting in from space will now include a description
- indicating the direction of the "origin" teleport rune - giving the examiner
- a fair idea of where the "space base" is located.
- - balance: You can no longer manifest spirits or summon cultists while in space
- or Lavaland. You may still ascend as a spirit (formerly spirit sight, astral
- jaunt, etc.) in either of these locations.
- - balance: Juggernauts have lost 20% reflect rate on energy projectiles (now around
- 50% for standard lasers).
- - balance: Wraiths and Juggernauts have -5 melee damage (20 and 25 now, respectively).
- - balance: Construct shells now cost 50 metal through the "twisted construction"
- spell. Twisted construction is now a "single use" spell.
- - balance: The Concealment spell will now work on cult airlocks (including converted
- airlocks). The "concealed" airlock will appear as a generic airlock but will
- deny access to any non-cultist.
- - balance: The draw blood effect on blood splatters will now draw more blood from
- stains with low blood levels.
- - tweak: Unanchored (via ritual dagger) cult structures are no longer "dense", meaning
- you can move them through teleport runes more efficiently.
- - tweak: The button to nominate yourself for cult master now has a confirmation
- prompt seeking assurance that the user is prepared to be the cult's master.
- - tweak: The reveal aspect of the concealment spell is slightly smaller, albeit
- still slightly larger (6 range) than the concealment aspect (5 range).
- - imageadd: Juggernauts "gauntlet echo" now has a more cult-themed appearance.
- - bugfix: Using a shuttle curse to push the shuttle timer above its default can
- no longer be "reset" with a recall. This also adds a block_recall(time_in_deciseconds)
- helper-proc to the shuttle subsystem.
- - bugfix: Using runed metal on a regular girder is no longer an option, preventing
- runtimes and deletions associated with the (unintended) combination.
-2018-02-13:
- Buggy123:
- - tweak: After consulting with their in-house physicists, Nanotrasen has updated
- their worst-case disaster training simulation "Space Station 13". The combustion
- of hydrogen isotopes now produces water vapor instead of carbon dioxide.
- Dax Dupont:
- - rscadd: Added hooray emoji!
- Iamgoofball:
- - bugfix: The Cook now ONLY works under siege.
- TehZombehz:
- - rscadd: Heart-shaped boxes of chocolates are now included in Valentine's Day event
- gifts
-2018-02-14:
- Dax Dupont:
- - bugfix: Integrated circuits no longer start upgraded.
- - balance: The IC printers that are available on round start in the IC labs are
- no longer upgraded by default. You will need to research these as was intended
- Frozenguy5:
- - bugfix: You can craft rat kebabs now.
- Naksu:
- - bugfix: Chasms no longer eat shuttle docking ports, rendering them unusable and
- unresponsive
- - tweak: The clogged vents event has been removed for pressing ceremonial reasons
- coiax:
- - rscadd: Transference potions now just rename the mob that you are transferring
- into with your name, rather than your name plus the old name of the mob.
-2018-02-15:
- Kor:
- - rscadd: Bluespace slime extracts now have a new chemical reaction with water,
- which create slime radio potions. When applied to a simple animal, that mob
- gains an internal radio.
- MrStonedOne:
- - balance: You no longer need an aggressive grab to table someone.
- SpaceManiac:
- - refactor: Map initialization now supports stations with multiple z-levels.
- - bugfix: The map reader no longer sometimes expands the world size inappropriately.
- - tweak: Pride's Mirror's destination has become less predictable.
-2018-02-16:
- AnturK:
- - rscdel: Minimap gone from crew monitoring
- DaedalusGame:
- - code_imp: made powercell rigging no longer set rigged to the plasma reagent datum
- what the hell and makes it use TRUE/FALSE defines
- Denton:
- - tweak: Emagging meteor shield satellites now shows you a message.
- - spellcheck: Fixed a typo when emagging RnD servers.
- MMMiracles:
- - rscadd: You can now produce a cryostatis variant of the shotgun dart after researching
- Medical Weaponry. Holds 10u and doesn't have reagents react inside it.
- MetroidLover:
- - rscadd: Added the ability to gain smoke bomb charges by attacking the initiated
- ninja suit with a beaker containing smoke powder
- More Robust Than You:
- - bugfix: Fixes SCP-294 losing its top sometimes
- Naksu:
- - code_imp: replaced some item-specific movement hooks with components
- Xhuis:
- - tweak: Removing and printing integrated circuits will now attempt to place them
- into a free hand.
- - tweak: You can now hit an integrated circuit printer with an unsecured electronic
- assembly to recycle all of the parts in the assembly en masse.
- - tweak: You can now recycle empty electronic assemblies in an integrated circuit
- printer!
- - soundadd: Integrated circuit printers now have sounds for printing circuits and
- assemblies.
- - bugfix: The RPG loot event will no longer break circuit analyzers.
- coiax:
- - rscadd: Centcom now reports that thanks to extensive bioengineering, apples and
- oranges now taste of apples and oranges, rather than nothing as they did before.
-2018-02-17:
- DaedalusGame:
- - bugfix: fixes lava and fire burning HE-pipes
- - rscadd: added a subreaction for rainbow slime cores, injecting 5u of plasma now
- makes them explode into random slimecores.
- - rscadd: added a slimejelly reaction to rainbow slime cores that does the above
- but all the cores that spawn get 5u each of plasma, water and blood injected.
- (aka chaos)
- - code_imp: improved clusterbuster code with Initialize, addtimer, vars for sounds
- and payload spawners, etc
- Dax Dupont:
- - bugfix: After an incident where a very eager roboticist kept expanding a borg's
- size leading to a structural collapse of the entire station proper safety limitations
- have been implemented.
- - bugfix: You can rotate freezers and cryo again.
- - rscadd: Nanotrasen has invested in better reflective materials for it's reflectors.
- You can now make complex laser shows again.
- Modafinil:
- - rscadd: Adds new medicine chem that suppresses sleep and very lightly reduces
- stunrates, has a very low metabolic rate which is randomized and a low overdose
- treshold. Overdosing is a lethal oxyloss unless treated. (With epipen urgently
- and with charcoal/calomel before it puts you to sleep)
- TankNut:
- - tweak: Corpses spawned in ruins have their suit sensors disabled
- coiax:
- - admin: Admins can use the Select Equipment verb on observers. Doing so will humanise
- them and then apply the equipment.
- - bugfix: Species with RESISTHOT (golems, skeletons) can extinguish burning items
- as if they were wearing fireproof gloves.
- jakeramsay007:
- - bugfix: Jellypeople/Slimepeople now are able to speak their Slime language, as
- intended when it was added.
- yorii:
- - bugfix: removes the maintenance panel examination message on poddoors (blast doors)
-2018-02-18:
- More Robust Than You:
- - bugfix: Actually fixes SCP 294 overlay problems
- Naksu:
- - rscadd: Exosuit fabricators can now build RPED and crew pinpointer upgrades for
- engineering and medical borgs respectively.
- Ordo:
- - rscadd: Adds a few new liquors to the bar, and a few new cocktails to boot!
- Xhuis:
- - tweak: Crew pinpointers now fit on medical belts!
- YPOQ:
- - bugfix: Bicycles are rideable again
-2018-02-19:
- DaedalusGame:
- - bugfix: Fixed paper bins not catching fire properly
- - bugfix: fixed multiserver mining formula
- Improvedname:
- - bugfix: Fried eggs don't require boiled eggs anymore and just normal eggs
- Kevinz000 and Naksu:
- - bugfix: Ore stacks will now initialize with proper visuals and no longer show
- a NO SPRITE text when you gather more than 20 ores to a stack.
- XDTM:
- - rscadd: 'Added three new techweb nodes: Advanced Surgery, Experimental Surgery,
- and Alien Surgery(requires abductor tech)'
- - rscadd: Added several new surgical procedures, which require these techweb nodes.
- To enable an advanced surgery, print its relative disk from a protolathe, and
- load it on an Operating Computer. Advanced surgery can only be performed at
- operating tables.
- - tweak: You can now intentionally fail surgical procedures by initiating them with
- disarm intent instead of help intent.
- - rscadd: Brain traumas now have a custom resilience system. Some trauma sources
- can cause traumas which require more extensive treatment, such as the new Lobotomy
- surgery.
- - rscadd: Traitors can now purchase a Brainwashing Surgery Disk for 5 TC.
- Xhuis:
- - bugfix: New blob tiles are no longer invincible after their blob's death.
- - bugfix: Blob nodes no longer produce blob tiles even after the blob's death.
- coiax:
- - rscadd: Mime's Bane, a toxin that prevents people from emoting while it's in their
- system, can now be created by mixing 1 part Mute Toxin, 1 part Nothing and 1
- part Radium.
-2018-02-20:
- Anonmare:
- - rscadd: Nanotrasen psychologists have identified new phobias emerging amongst
- the workforce. Nanotrasen's surgeon general advises all personnel to just buck
- up and deal with it.
- AverageJoe82:
- - rscadd: Circuits integrity, charge, and overall circuit composition is displayed
- on diagnostic huds. If the assembly has dangerous circuits then the status icon
- will display exclamation points, if the assembly can communicate with something
- far away a wifi icon will appear next to the status icon, and if the circuit
- can not operate the status icon will display an 'X'.
- - rscadd: AR interface circuit which can modify the status icon if it is not displaying
- the exclamation points or the 'X'.
- - tweak: Locomotive circuits can no longer be added to assemblies that can't use
- them.
- - spellcheck: Fixed a typo in the grenade primer description.
- - code_imp: Added flags to circuits that help group subsets of circuits and regulate
- them.
- DaedalusGame:
- - bugfix: fixed ghost spawners showing up in the spawner menu when you can't use
- them
- - bugfix: fixed walls under doors breaking to space
- - tweak: changed doors to no longer spawn on top of walls
- Dax Dupont:
- - rscadd: Adds special tutorial holopads for the hazard course.
- Jittai:
- - tweak: Ctrl+Clicking progresses through grab cycle on living mobs (not just humans)
- Joan:
- - tweak: The crusher kit now includes an advanced mining scanner.
- - tweak: The resonator kit now includes webbing and a small extinguisher.
- - tweak: 'The minebot kit now includes a minebot passthrough kinetic accelerator
- module, which will cause kinetic accelerator shots to pass through minebots.
- The welding goggles have been replaced with a welding helmet, allowing you to
- wear mesons and still be able to repair the minebot without eye damage. feature:
- You can now install kinetic accelerator modkits on minebots. Some exceptions
- may apply. Crowbar to remove modkits.'
- - balance: Minebots now shoot 33% faster by default(3 seconds to 2). The minebot
- cooldown upgrade still produces a fire rate of 1 second.
- - balance: Minebots are now slightly less likely to sit in melee like idiots, and
- are now healed for 15 instead of 10 when welded.
- - balance: Sentient minebots are penalized; they cannot have armor and melee upgrades
- installed, and making them sentient will override those upgrades if they were
- installed. In addition, they move very slightly slower and have their kinetic
- accelerator's cooldown increased by 1 second.
- NTnet circuit fix:
- - bugfix: Now NTnet circuits can recieve sender adress properly.Also, now messages
- could be sended to multiple recepiens.
- Xhuis:
- - rscadd: Admins may now spawn a debug circuit printer that can always print circuits,
- and has infinite metal.
- - bugfix: Buttons, number pads, and text pads in integrated circuits now correctly
- show their labels.
- - bugfix: Integrated hypo-injectors can now correctly draw blood.
- - tweak: The circuit analyzer output has been slightly tweaked and includes usage
- instructions.
- - rscadd: The round-end report now shows information about the first person to die
- in that round.
- - rscadd: Added the dish drive. This machine, the future in plate disposal, can
- be researched from techwebs (Biological Processing) and built with a standard
- machine frame using two matter bins, a micro manipulator, and a glass sheet.
- - rscadd: A circuit board for the dish drive can be found in the chef's and bartender's
- wardrobes.
- - rscadd: You can hit a dish drive with any dish (like a plate or drinking glass),
- and the dish drive will convert it from matter to energy, allowing it to store
- an infinite amount of dishes. You can also interact with it to get things back
- from it.
- - rscadd: Dish drives also have an automatic "suction" function that sucks in all
- loose dishes within four tiles. This can be toggled by activating its circuit
- board in-hand.
- - rscadd: Dish drives automatically beam their stored dishes into any disposal unit
- that it can see within seven tiles every minute. You can toggle this by alt-clicking
- its circuit board.
- - tweak: Plastic surgery now lets you choose from a list of ten random names, so
- you can pick the one that you prefer.
- - tweak: Abductors performing plastic surgery can now give their target spooky subject
- names, with one normal name available for standard plastique.
-2018-02-21:
- Denton:
- - code_imp: Renamed the IDs of various reagents to be more descriptive.
- - spellcheck: Fixed the descriptions of changeling adrenaling reagents.
- - tweak: Changed Santa event earliest start from 33 minutes & 20 seconds to 30 minutes.
- Changed shuttle loan earliest start from 6 minutes & 40 seconds to 7 minutes.
- - spellcheck: Tweaked the message you see when emagging meteor shield satellites.
- Kevinz000 & Deathride58:
- - rscadd: A separate round time has been added to status panel. This will start
- at 00:00:00.
- - rscadd: Night shift lighting [if enabled in the same configuration] will activate
- between station time 7:30 PM and 7:30 AM. This will dim all lights affected,
- but they will still have the same range.
- - rscadd: APCs now have an option to set night lighting mode on or off, regardless
- of time.
- Naksu:
- - bugfix: Flightsuits should be controllable again
-2018-02-22:
- Buggy123:
- - tweak: Nanotrasen has begun a campaign to inform their employees that you can
- alt-click to disable morgue tray beeping.
- Jittai / ChuckTheSheep:
- - imageadd: NT has stopped buying re-boxed storebrand Donkpockets and now stocks
- stations with real, genuine, tasty Donkpockets!
- MetroidLover:
- - balance: rebalanced Ninja event to allow it to happen earlier.
- - bugfix: fixed Ninja welcome text to no longer tell you to right click your suit.
- Naksu:
- - code_imp: removed unused poisoned apple variant
- Repukan:
- - bugfix: fixed windoors dropping more cable than what was used to build them.
- Robustin:
- - bugfix: The clock cult's marauder limit now works properly, temporarily lower
- the marauder limit when one has recently been summoned.
- Super3222, TheMythicGhost, DaedalusGame:
- - rscadd: Adds a barometer function to the standard atmos analyzer.
- - imageadd: Adds a new sprite for the atmos analyzer to resemble a barometer.
- kevinz000, Denton:
- - rscadd: Nanotrasen's RnD division has integrated all stationary tachyon doppler
- arrays into the techweb system. Record increasingly large explosions with them
- and you will generate research points!
- - spellcheck: Fixed a few typos in the RnD doppler array name/description.
-2018-02-25:
- Astral:
- - rscadd: Traitor CMOs and Chemists, for 12 TC, can now get a reagent dartgun, which
- is capable of synthesizing it's own syringes, but does so slowly, and can be
- easily identified as syndicate by anyone who isn't blind!
- Cebutris:
- - tweak: Toxin loving species now properly take toxin damage from liver failiure
- DaedalusGame:
- - bugfix: enables the RPED to construct/replace other parts commonly used in machines
- (igniters, beakers, bs crystals)
- - bugfix: fixes part ratings of cells so slime cells are correctly more desirable
- than bluespace cells and other such nonsense
- - bugfix: shivering symptom now works properly instead of only cooling you if you're
- already cold
- - bugfix: fixed bodytemp going negative in a few cases
- - code_imp: removes input/output plates and changes autogibbers to use input dir
- - tweak: The last scientists have reported that thermonuclear blasts triggered by
- so called 'power gamers' have shorted the doppler array. We've readjusted the
- ALU and are confident that this will not happen again.
- Denton:
- - tweak: The outer airlocks of most space ruin airlocks are now cycle linked.
- - tweak: The outer airlocks of various lavaland ruins and ships now cycle lock.
- - bugfix: Players can no longer kill themselves by whispering inside clone pods.
- - tweak: The 'neurotoxin2' toxin has been renamed to Fentanyl.
- Naksu:
- - admin: Admins can now start the game as extended revs, a version of revs that
- doesn't end when head(rev)s are dead. Admins can also use the speedy mode, which
- nukes the station after 20 minutes.
- Repukan:
- - rscadd: Whiskey to the flask
- - rscdel: Hearty Punch from the flask
- ShizCalev:
- - tweak: Silicons no longer have to be adjacent to morguetrays to disable the alarms
- on then.
- ThePainkiller:
- - tweak: Tweaked the inventory management of the black fedora to be more like the
- detective's
- Xhuis:
- - rscadd: Added Bastion Bourbon, which you can mix with tea, creme de menthe, triple
- citrus, and berry juice. When it's in your system, it will very slowly heal
- you as long as you're not in critical. When it's first added to your system,
- you heal an amount of each damage type equal to the volume taken in, with a
- max of 10. This is turned to a max of 20 for anyone in critical.
- - rscadd: Added Squirt Cider, which you can mix with water, tomato juice, and nutriment.
- It's nutritious and healthy!
- - tweak: Reskinning objects now shows their possible appearances in the chat box.
- deathride58:
- - rscadd: Lights will now actually glow in the dark!
-2018-02-26:
- DaedalusGame:
- - balance: livers don't unfail automatically every second life cycle you have to
- get a new one or get some corazone stat
- - balance: increased liver damage from alcohol significantly because apparently
- your liver regenerates faster than you can chug unless you drink 100 liters
- of bacchus blessing
- - bugfix: fixed cyber livers thinking they should fail at half durability
- MMMiracles:
- - rscadd: Added tinfoil hats, headgear that can help protect against government
- conspiracies and extra-terrestrials. Found in hacked autolathes.
- Robustin:
- - bugfix: Twisted Construction will now consume ALL available plasteel in a stack.
- - bugfix: Runes will no longer count the original invoker more than once.
- XDTM:
- - balance: Wizard spells and items can now be resisted/ignored with anti-magic items/clothing
- such as null rods!
- - balance: Revenant spells can now be resisted with "holy" items like null rods
- and bibles.
- - balance: Wizard hardsuits are now magic immune, but not holy.
- - balance: Immortality Talismans now grant both spell and holy immunity.
- - tweak: Inquisitor Hardsuits already granted spell and holy immunity, but now they
- do it properly instead of having a null rod embedded inside.
- - tweak: Holy Melons now grant holy immunity.
- - tweak: Operating computers now display the chemicals required to complete a surgery
- step, if there are any.
- - tweak: Completing a surgery without the required chems will always result in failure,
- instead of a success with no effect.
- - balance: You can no longer gain the same trauma more than once.
- - balance: 'You can no longer gain more than a certain amount of brain traumas per
- resilience tier. (Example: You cannot gain 4 mild traumas, but you can gain
- 3 mild and 1 severe)'
- - tweak: Abductors' trauma gland now gives traumas of random resilience, instead
- of lobotomy every time.
- Xhuis:
- - balance: Instead of starting unable to clone circuits at all, circuit printers
- can now print circuits over time from roundstart. The formula for this is equal
- to (metal cost / 150) seconds, with a maximum of 3 minutes. You can see printing
- progress by using the printer's interface, and you can print normal components
- during this time.
- - balance: If circuit printing is disabled in the config, cloning remains unavailable.
- - balance: The upgrade disk to allow circuit printers to clone circuits has been
- replaced with an upgrade disk to make circuit cloning instant.
- - balance: Both circuit printer upgrade disks now cost 5000 metal and glass, down
- from 10000.
- - code_imp: Butchering has been refactored.
- - balance: Some items now take longer to butcher, and have a chance to harvest fewer
- items, like spears. Others, however, are faster, like circular saws.
- - balance: Certain creatures will always drop certain items on butchering, regardless
- of butchering effectiveness or chances.
- - balance: Items that are very effective at butchering may yield bonus loot from
- butchered creatures!
- - rscadd: Plain hamburgers may now spawn as steamed hams with a very low chance.
-2018-02-27:
- Astral:
- - rscadd: blood cultists can now use a nar nar plushie as an extra invoker for runes!
- Iamgoofball:
- - rscadd: Look sir, free crabs!
- Poojawa:
- - rscadd: Tesla Corona Analyzers! Study the seemingly magic Edison's Bane for supplemental
- research points!
- Robustin:
- - bugfix: The heart attack event will now actually make the victim acquire the heart
- disease
- - bugfix: Clicking the chatbox link will let you orbit the victim
- - tweak: The event is now significantly more sensitive to junk food. Recent consumption
- of multiple junk food items will triple your chances of having a heart attack
- (exercise will still block it).
- selea:
- - bugfix: fixed floorbot
- - bugfix: fixed cleanbot
- - refactor: improved pathiding in case of given minimal distance;improved sanitation
-2018-03-02:
- AlexTheSysop:
- - bugfix: C4 logging now shows correct location
- Astral:
- - imageadd: Space is now prettier
- DaedalusGame:
- - tweak: Machines can now be constructed anchored or unanchored, if the resultant
- machine could be unanchored.
- Dax Dupont:
- - rscadd: Medals now show the commendation text in the description.
- Denton:
- - tweak: Cargo packs have been grouped and sorted alphabetically. Station goal crates
- are now in the Engineering section.
- - tweak: The cargo security section has been split into security/armory.
- - tweak: Grouped all gas canisters and fuel/water tanks together in one section
- with raw materials.
- - spellcheck: Fixed a few cargo pack descriptions.
- - tweak: Cyclelinked three airlock pairs on Boxstation (port bow solars and the
- area that connects RnD with medical).
- Improvedname:
- - bugfix: chem implants can no longer be self triggered
- Jittai / ChuckTheSheep:
- - imageadd: New chemdispenser (and minidispenser) sprites.
- - imageadd: New soda/beer dispenser sprites, with directional states.
- Mey-Ha-Zah:
- - imageadd: Heck suit sprites are prettier, with more contrast.
- MoreRobustThanYou:
- - bugfix: SCP-294 should no longer have overlay problems
- Naksu:
- - rscdel: SNPCs have been removed.
- Poojawa:
- - bugfix: Cyborg defib units are now actually functional
- XDTM:
- - tweak: Bath Salts now induce psychotic rage, but cause much more brain damage.
- Xhuis:
- - rscadd: Traits! You can now select up to three positive, negative, and neutral
- traits in the character setup. You can choose up to six traits based on combinations
- varying by the amount of points you earn with negative traits and spend with
- positive ones.
- - rscadd: You can now splash metal sheets with copper to make bronze sheets, which
- you can make "clockwork" things out of.
- YPOQ:
- - bugfix: The assault pod can be launched again.
- uraniummeltdown:
- - rscadd: The chatbar now has OOC and Me buttons
- - tweak: The chatbar font-size is smaller
-2018-03-03:
- Cebutris:
- - bugfix: Washing a glove with a white crayon will make it look like a white glove,
- instead of a latex glove. Instead, mime crayons make gloves look latex
- Denton:
- - bugfix: Burglar alarms in the Pubbystation library and RD office can now be disabled
- properly.
- - bugfix: Fixed Pubbystation's RD office shutters.
- - rscadd: Added missing engineering and kitchen lockdown shutters on Pubbystation.
- - rscadd: 'Pubbystation: Added privacy shutters to the CMO and RD offices. Added
- space shutters to the HoS office. Replaced the RD office''s directional windows
- with fulltile ones.'
- - rscadd: Added a second blast door to the Pubbystation gulag shuttle lockdown.
- - tweak: Due to pressure from the space OSHA, Pubbystation has installed missing
- fire alarms and firelocks.
- - tweak: Split the Pubbystation library into two areas with their own APCs.
- Naksu:
- - admin: Admins can now easily spawn cargo crates
- - admin: Admins can now toggle antag, med, sci, engineering huds and maximum ghost
- brightness with just one button.
- Robustin:
- - balance: Meth now deals 1-4 brain damage while active, up from 0.25
- Selea:
- - balance: reduce CD of all non manipulative non list output circuits to 0.1
- - balance: add to locomotion circuit output ref with object, which assembly was
- bumped to.
- - balance: upgrade disks have multiuse. balance:iducer efficiency= efficiency/number
- of inducers on 1 tile.
- - balance: unnerf fuel cell.about 3-5 times.Make blood more powerful.
- ShizCalev:
- - rscadd: You can now hotswap tanks in a canister or gas pump by clicking it with
- a new tank!
- - rscadd: You can now also close a canister's valve and remove the tank inside it
- by alt-clicking it.
-2018-03-04:
- DaedalusGame:
- - balance: changed the formula of liver damage so weak alcohol does barely anything
- while strong alcohol is still threatening
- Iamgoofball:
- - bugfix: RIP Billy, you'll be the boss of heaven's gym now :(
- Jalleo:
- - admin: Added a cancel button to nuke timer (and others). You no longer have to
- make it 0 just a click to cancel.
- - admin: You can now easily set how many "INSERT JOB ROLE HERE" you want in the
- manage job selection in the admin panel. If you put zero in it will set it to
- the current amount of filled positions.
- - bugfix: moved a small amount of wording around in a admin browser to make it cleaner
- looking. Along with a few updated checks for certain things.
- Naksu:
- - code_imp: First pass on cleaning up junk defines and unused code
- RandomMarine:
- - rscdel: The ore redemption machine no longer has 'release all' buttons. Remember
- to take just what you need and leave some for the other departments.
-2018-03-05:
- 81Denton:
- - tweak: 'Deltastation: Removed a windoor to make the northern chemistry fridge
- more accessible.'
- Cruix:
- - rscadd: Added a new mini antagonist, the sentient disease.
- DaedalusGame:
- - bugfix: Fixes the auxbase camera console not placing airlocks on fans but doing
- so vice-versa
- Dax Dupont:
- - balance: Others can now take off your tinfoil hat as seemingly originally intended.
- - balance: Due to the nature of tinfoil hats, the delay of putting a tinfoil hat
- on unwilling participants has been increased.
- Denton:
- - bugfix: 'Pubbystation: Added a missing APC to the cargo sorting room, a light
- fixture to the RnD security checkpoint and removed an overlooked firelock east
- of the bridge.'
- - rscadd: 'Pubbystation: Added a spare RPD to the Atmospherics department. Replaced
- Engineering''s outdated meson goggles with modern engineering scanners. Added
- a GPS device to the secure storage crate.'
- - tweak: Moved Pubbystation's drone shell dispenser from the experimentation lab
- to Robotics maint.
- Jittai / ChuckTheSheep:
- - tweak: Adjusted the space parallax's contrast to be less vibrant.
- Naksu:
- - rscadd: Advanced roasting sticks, a product of applied bluespace research can
- now be built from service protolathes. They can be used to cook sausages on
- campfires, supermatter engines, tesla balls, singularities and a couple of other
- things.
- - admin: Admins can now grant spells via implants, using the spell implant. Some
- VV is required.
- Potato Masher:
- - bugfix: The Wizard Federation has finally modified their production method for
- pre-packaged magic tarot cards for better compatibility with time-stopping spells.
- Guardians Spirits are no longer frozen by their user's time-stops.
- SpaceManiac:
- - bugfix: Night shift no longer ignores rooms whose APCs are in port or starboard
- central maintenance.
- - bugfix: Inserting brains into MMIs and then into mechs now works again.
-2018-03-06:
- MrDoomBringer:
- - tweak: Advances in Rapid Delivery Technology have yielded a reduced premium on
- express cargo orders! Orders from the express console now have a cost multiplier
- of 1, down from 2.
- MrStonedOne:
- - bugfix: gas overlays once again no longer steal clicks
- - rscdel: 511 clients will be unable to see gases once again. the 512 client crashes
- are fixed so this shouldn't be that big of a deal.
- Naksu:
- - admin: Admins can now easily spawn mobs that look like objects. Googly eyes optional!
- XDTM:
- - rscadd: Revenants now have randomly generated names.
- Xhuis:
- - code_imp: Traits are now assigned in a way that should cause fewer edge cases
- and strangeness.
- - bugfix: Night Vision should now work.
- - bugfix: Traits no longer tick while dead.
- - tweak: RDS now triggers twice as often.
- - tweak: You can now modify your trait setup mid-round. Your character is locked
- to the traits you had selected when you spawned in, though.
- selea:
- - bugfix: After several months of natural selection, hostile mobs started to attack
- assemblies with combat circuits.
-2018-03-08:
- ACCount:
- - rscadd: Station airlocks now support NTNet remote control. Door remotes now use
- NTNet.
- - rscadd: Don't worry, any non-public airlock is fully protected from unauthorized
- control attempts by NTNet PassKey system!
- - rscadd: 'New integrated circuit component: card reader. Use it to read PassKeys
- from ID cards.'
- - bugfix: Fixes a delay issue when airlocks are being opened/closed by signalers.
- Astral:
- - bugfix: Lighting fixtures should no longer be visible in camera-less areas by
- cameras.
- - rscadd: Ghosts can now examine sentient diseases to see info
- CameronWoof & MrDoomBringer:
- - rscadd: Adds medical sprays, a new application method for touch chems
- - rscadd: Pre-loaded medical sprays can be obtained from NanoMeds
- - rscadd: Empty medical sprays can be found in boxes in chemistry and from cargo's
- medical crate
- - tweak: Sterilizer spray has been migrated to be a medspray instead of being a
- spray bottle
- Cebutris:
- - spellcheck: lithenessk -> litheness
- Cruix:
- - rscadd: Sentient diseases now get two minutes to select an initial host before
- being assigned a random one.
- Dax Dupont:
- - rscadd: Beacons can now be toggled on and off.
- - rscadd: Mappers can now have beacons that default to off. Useful for ruins!
- - tweak: Renaming replaces the snowflake locator frequency/code
- - refactor: Beacons are no longer radios. Why were they radios in the first place?
- I don't know.
- - bugfix: You can now lay meters again with the RPD.
- Denton:
- - rscadd: Pubbystation's RnD department has been outfitted with a brand new circuitry
- lab! It is found east of the Toxins launch room.
- Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709):
- - rscadd: Adds mood, which can be found by clicking on the face icon on your screen.
- - rscadd: Adds various moodlets which affect your mood. Try eating your favourite
- food, playing an arcade game, reading a book, or petting a doggo to increase
- your moo. Also be sure to take care of your hunger on a regular basis, like
- always.
- - rscadd: Adds config option to disable/enable mood.
- - rscadd: 'Indoor area''s now have a beauty var defined by the amount of cleanables
- in them, (We can later expand this to something like rimworld, where structures
- could make rooms more beautiful). These also affect mood. (Janitor now has gameplay
- purpose besides slipping and removing useless decals) remove: Removes hunger
- slowdown, replacing it with slowdown by being depressed'
- - imageadd: Icons for mood states and depression states
- MMMiracles:
- - tweak: Thirteen Loko now has an overdose threshold of 60u, see your local CMO
- for potential side-effects.
- MrDoomBringer:
- - tweak: Emagging the emergency shuttle now fries the on-board acceleration governor.
- Better buckle up!
- Naksu:
- - balance: The nuclear authentication disk no longer treats the transit space as
- a whole as being "in bounds", but instead checks whether it is in an approved
- shuttle type (syndicate shuttles, escape shuttles, pubbiestation's monastery
- shuttle, escape pods are allowed)
- - bugfix: Blueprints can no longer be used to create areas inside shuttles. This
- fixes various exploits involving shuttles and areas.
- - bugfix: Moving across a space z-level border can no longer place you inside a
- shuttle or a dense turf such as an asteroid.
- SpaceManiac:
- - bugfix: The Shift Duration in the round-end report is no longer blank in rounds
- lasting between one and two hours.
- kevinz000:
- - rscadd: smoke machines can now be printed after researching adv biotech
-2018-03-09:
- Dax Dupont:
- - rscadd: Display cases can now have a list where to randomly spawn items from.
- - refactor: Moved plaque code to main type.
- - refactor: Statues now use default unwrench and the tool interaction is now completely
- non existent when no deconstruct flag is available.
- Mark9013100:
- - rscadd: Pill bottles can now be produced in the autolathe.
- Naksu:
- - balance: The white ship and miscellaneous caravan ships lose their advanced place-anywhere
- shuttle movement during war ops.
- - tweak: The smoke machine can now be deconstructed using a screwdriver and a crowbar
- - code_imp: The smoke machine no longer calls update_icon every process()
- Robustin:
- - balance: Harvesters now have 40hp, from 60.
- - tweak: The nuke will now detonate 2 minutes after Nar'sie is summoned, down from
- 2.5 minutes
- - tweak: The "ARM" ending now requires 75% of the remaining souls aboard to be sacrificed
- before the nuke goes off, up from 60%.
- - bugfix: Drones can no longer be on the sacrifice list
- - bugfix: Bloodsense will now show the true name of the target
-2018-03-10:
- 81Denton:
- - tweak: Added wall safes to Deltastation's HoP and Captain's offices.
- Astral:
- - bugfix: Constructed turbines will now properly connect to the powernet
- Cobby:
- - tweak: The Eminence scoffs at your "consecrated" tiles once the Justicar is freed
- from his imprisonment.
- Denton:
- - rscadd: Engi-Vend machines now have welding goggles available.
- - tweak: Grouped Nano-Med/Engi-Vend items by category.
- Irafas:
- - rscadd: Turrets can be set to shoot personnel without loyalty implants
- Naksu:
- - rscdel: The smoke machine can no longer be found in chemistry departments, instead
- it must be constructed manually. The board was added to techwebs earlier.
- Singularbyte:
- - bugfix: Dead bodies no longer freak out about phobias
- 'The Dreamweaver (Sprites: Onule)':
- - rscdel: Nanotrasen's Lavaland research team has discovered that the alien brain
- has disappeared from necropolis chests.
- - rscadd: In it's place they have discovered a new artifact, the Rod of Asclepius,
- a strange rod with a magnitude of healing properties, and an even higher magnitude
- of responsibility...
- XDTM:
- - rscadd: You can now place people on tables on Help Intent. Doing so takes a few
- seconds and makes the target Rest, instead of stunning them.
- Xhuis:
- - bugfix: Circuit slow-cloning no longer breaks with some circuits.
- - code_imp: Circuit slow-cloning is now cleaner.
- kevinz000:
- - rscadd: Oh hey guys, RND shows correct material values now, don't hurt me!
- ninjanomnom:
- - bugfix: Blowing up the wrong part of the shuttle should no longer result in the
- shuttle being permanently broken.
-2018-03-11:
- Buggy123:
- - tweak: The Clockwork Justicar has decided to be merciful, and allow nonbelievers
- to anchor their petty machines in his city. It's only fair for them to have
- a fighting chance, after all.
- Irafas:
- - bugfix: Fixed pacifists from being able to fire mech weapons
- JJRcop:
- - bugfix: Sanity checks for Play Internet Sound
- MrDoomBringer:
- - rscadd: Orderable supplies in cargo now all have descriptions! The station's overall
- FLAVORFUL_TEXT stat has gone up by nearly 2% as a result.
- Onule:
- - tweak: Mining drones have been given a visual makeover!
- Poojawa:
- - imageadd: Redded borg transformation animations
- - imageadd: adjust mining borg animation to new colors.
- Xhuis:
- - rscadd: The Nanotrasen Meteorology Division has identified the aurora caelus in
- your sector. If you are lucky, you may get a chance to witness it with your
- own eyes.
- ninjanomnom:
- - admin: The debug message for generic shuttle errors is improved a little
- - bugfix: Custom shuttles being too close to the map edge was causing problems,
- you must now be at least 10 tiles away.
-2018-03-12:
- Naksu:
- - balance: The space cleaner spray bottle is now much more efficient and uses much
- less space cleaner per spray. The amount of cleaner it can hold has been adjusted
- to compensate.
- - bugfix: internet sounds can be stopped again
- Robustin:
- - bugfix: One-man conversions are actually fixed this time - excess chanters var
- removed for a more readable and maintainable rune code.
- - bugfix: Runes should no longer become GIANT if spammed (credit to Joan for this
- fix).
- - bugfix: Pylons are no longer a source of infinite rods.
- - tweak: Attempting conversion without 2 cultists present will give a more helpful
- warning.
- - tweak: You can no longer convert braindead individuals.
- - balance: Cult doors will no longer lose power but also cannot shock people, brittle
- cult doors have 30 less integrity. Therefore ordinary crew can now beat cult
- airlocks open without frying themselves.
- - balance: Blood magic now costs slightly more blood and takes slightly more time,
- the stun spell now stuns for 2 less seconds, twisted construction now costs
- 10 health, and the blood rite relics (halberd, bolts, beam) are all 50-100 charges
- cheaper.
- - balance: The deconversion time for holy water is slightly reduced, 10 units and
- 45 seconds (give or take), is all you should need now. Blood cultists can now
- have seizures while afflicted with holy water.
- - balance: Shades are now slower and have a modest reduction to their damage and
- health.
-2018-03-13:
- Dennok:
- - rscadd: Meters can be attached to the floor by screwdriver
- Denton:
- - bugfix: The disposal bin in Pubbystation's main tool storage now works.
- - tweak: Deleted a duplicate r-wall between Pubby's main tool storage and the captain's
- office. Added a Metastation-style crate disposals chute and a light switch.
- - tweak: Various belts can now hold additional job-specific items.
- - tweak: Sepia floor tiles fly really slowly, yet far when thrown. Don't hit yourself!
- Naksu:
- - admin: ERT creation has been refactored to allow for easier customization and
- deployment via templates and settings
- Polyphynx:
- - tweak: Medical sprays can now be stored in medical belts and smartfridges.
- The Dreamweaver:
- - rscadd: Both of Nanotrasen brand totally-for-adult-use footwear, Wheely-heels,
- the cool and hip new shoes with built in roller-wheels, and Kindle Kicks, the
- fun and flashy light up sneakers, are now available as rare prizes at your nearest
- arcade machine!
- Toriate:
- - rscadd: Added ammo counters for RCDs
- - rscadd: Added actual flashing yellow light for RCDs
- - imageadd: added new RCD sprites including inhands
- - imagedel: deleted old RCD iconstate, but not the inhands
- checkraisefold:
- - bugfix: Nukeops properly checks the required amount of enemies for the gamemode!
- This should fix downstream problems.
- imsxz:
- - rscdel: the viral aggressive metabolism symptom has been removed
- ninjanomnom:
- - bugfix: You need to actually clear an area for the aux base, remove all walls
- (except rock walls).
-2018-03-16:
- Dax Dupont:
- - tweak: 8balls take less time to shake.
- Keekenox & Floyd / Qustinnus:
- - imageadd: Adds a new Parallax layer that resembles Lavaland (Lava Planet), it
- spawns on a random location near the station. You need your parallax on high
- to see it.
- Shadowlight213:
- - tweak: Roundstart or latejoin sec officers will like donuts regardless of race.
- cacogen:
- - tweak: Transit tubes take half as long to secure/unsecure
-2018-03-17:
- AnturK:
- - rscadd: Traitor AI's can now take manual control of turrets.
- Cruix:
- - bugfix: Sentient diseases will no longer lose points when a host is uninfected.
- Dax Dupont:
- - bugfix: Edison's ghost no longer interferes with Tesla Corona Coil research device.
- Denton:
- - tweak: Syndicate stormtroopers now rapid fire 10g slugs instead of buckshot. This
- deals the same damage, but makes getting hit less laggy.
- - rscadd: 'Pubbystation: Added protective grilles outside the circuitry lab. The
- one with the big glass windows, right next to the bomb test site. Oops.'
- - rscadd: 'Pubby: Added electrified grilles to the windows of the CMO/RD/CE offices,
- as well as missing privacy shutters to the CE office.'
- - rscadd: 'Pubby: There is now a very rare chance for a Xenomorph egg to appear
- in the Xeno containment chamber at roundstart.'
- - bugfix: 'Pubby: Fixed the name of the HoS space shutter button.'
- - tweak: Updated a bunch of roundstart tips and added new ones.
- Polyphynx:
- - bugfix: Bluespace slime radio potions now work, and are no longer invisible.
- RandomMarine:
- - bugfix: Did you know that you could buckle guys to grounding rods? Probably not
- - not that it mattered before, because people buckled to them didn't get shocked
- when they got zapped. That's fixed now.
- SpaceManiac:
- - bugfix: Cameranet issues in OmegaStation's departures wing, crematorium, and freezer
- have been corrected.
- The Dreamweaver:
- - bugfix: Fixes duplication issue when the Rod of Asclepius is removed while lying
- down, as well as fixing a runtime when attempting to use multiple rods.
- XDTM:
- - rscadd: 'Changed behaviour of mech drills: now they take some time to start drilling,
- then they keep drilling until manually stopped or the target is destroyed. Mobs
- are still gibbed if they have more than 200 brute damage while being drilled.'
- - rscadd: Drilling walls is now consistent; it takes longer, but it will always
- work instead of only randomly.
- - tweak: Drills no longer stun mobs, but they can dismember limbs.
- - bugfix: Mech drills no longer cause explosion-like effects on mobs inside objects.
- deathride58:
- - bugfix: You can no longer push someone onto a table that's on the other side of
- the station.
- kevinz000:
- - rscadd: Wet floors now get their duration decreased by 0.1 seconds per degree
- above 0C the air temperature on it is, and instantly dry above 100C. Below 0C
- they will freeze into ice and will not automatically dry.
- - rscadd: Floors can now have different types of wet at the same time! Wet strength/type
- is now a bitflag.
-2018-03-18:
- Davidj361:
- - tweak: Made AI VOX sound files smaller sized
- - bugfix: Fixed improperly pronounced AI VOX lines
- - soundadd: Added a ton of new AI VOX sayings
- Floyd / Qustinnus:
- - rscdel: Removes short-term effects of mood add; Adds long-term effects of mood
- by implementing sanity which goes up with good mood, down with bad mood, but
- takes time to change. Your sanity can be seen as your average mood in the recent
- past. All effects of moods are now covered by this system
- - rscadd: Beauty component, currently only attached to cleanables, but you could
- attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone
- in the room.
- - refactor: Removes the original way of adding mood events, uses signals properly
- instead.
- - bugfix: Cleanables "giving" area's free beauty during initialization
- - bugfix: Fixes some events not clearing properly
- Naksu:
- - bugfix: Chem dispensers now show the correct amount of units they will vend (instead
- of 1/10)
- - balance: Chem dispensers can now be upgraded. Manipulators increase macro granularity,
- matter bins increase power efficiency, cells increase power capacity, capacitors
- increase recharge rate.
- - balance: Chem dispensers can now be constructed
- - rscdel: mini-chemdispensers are removed.
-2018-03-19:
- Anonmare:
- - tweak: Spaceacillin is now useful in disease control
- Denton:
- - rscadd: It's suicide HoPline prevention week at Omegastation!
- - rscadd: Navigation beacons and a brand-new Officer Beepsky unit have been installed.
- This means that crewmembers can now use medibots, janibots and other bots as
- well.
- - rscadd: The atmospherics department has been outfitted with all missing gases
- as well as an incinerator and a hardsuit.
- - rscadd: The size of the botany and xenobiology departments have been increased
- in order to increase productivity. The medbay O2 port has been moved so that
- doctors can access the table next to it.
- - rscadd: RnD now has circuitry tools; medbay has stethoscopes+wrench+beaker/pill
- bottle boxes and primary tool storage has multitools. Enginers no longer have
- to share a single pair of insulated gloves either.
- - rscadd: Engineers now have access to an Engi-Vend vending machine as well as missing
- tools like inducers. Circuitry storage has a smoke machine board and a solars
- crate in case the engine blows up.
- - tweak: Blueprints have been moved from the vault safe to secure storage in order
- to speed up construction projects.
- - bugfix: The AI sat transit tube now works! Turret controls can now be accessed
- from the outside. The first two turrets now use the proper type of gun. The
- telecomms air alarm will no longer report false alarms.
- - bugfix: The main hallway's firelocks now no longer all close at once.
- - bugfix: 'Pubbystation: The atmos mix tank and N2 filter should now work properly.'
- SailorDave:
- - bugfix: Crayons and spraycans can no longer draw an unlimited amount of large
- graffiti regardless of uses left.
-2018-03-20:
- Denton:
- - bugfix: At last, the Pubbystation auxillary base can be launched again.
- - code_imp: Aux base/escape pod/assault pod/elevator docking ports now default to
- timid = FALSE.
- Garen:
- - rscadd: Added 4 new Icons to the diagnostic hud circuit status display that can
- be set using the AR interface circuit.
- - rscadd: now instead of seeing the yellow warning icon when a weapon is in the
- circuit, the current status icon will just turn red.
- Irafas:
- - rscadd: Pacifists can now drill closets containing living beings
- JStheguy:
- - rscadd: Electronic assemblies can now have their casings colored using the new
- assembly detailer, get yours at your nearest integrated circuit printer!
- - rscadd: Added 2 new electronic assemblies, 2 new electronic mechanisms, and 3
- new electronic drones.
- - rscadd: Added wall-mounted electronic assemblies in 3 sizes, simply slap it against
- a wall to stick it up, and then anchor it in place with a wrench.
- - imageadd: Added the new sprites for the new assemblies, and color-able overlays
- for every assembly, to allow for the aforementioned coloring feature.
- - tweak: Scanners can now scan power cells, circuitry tools, and integrated circuits,
- assuming the player isn't able to use them normally. I.E. if the assembly is
- closed.
- - tweak: Using wrenches to anchor down assemblies now works for all assembly types
- except drones, as opposed to just working for electronic machines.
- - tweak: Examining an assembly now shows some text telling you what tools to use
- to do what, like many other objects currently do.
- Kor:
- - code_imp: Jobs other than Assistant may now be assigned by admins or events as
- the overflow role
- - rscadd: April Fools now sets the overflow role as Clown.
- Naksu:
- - admin: Rhumba beat is now more than renamed GBS
- - tweak: Plastic is now a valid material for lathes
- - rscadd: Added two new beaker types, 120u and 180u. The 120u beaker can be printed
- off the medical protolathe with just glass and plastic, the 180u requires some
- mining materials and tech.
- - admin: Whether to open the armory doors when spawning an ERT is now controllable
- from the ERT creation window.
- - tweak: Chaplain inquisitor role now spawns with one holy hand grenade instead
- of a box full of them, and the belt now has actually useful stones instead of
- unusable cult stones
- Polyphynx:
- - tweak: The piano now sounds more like a piano!
- Shadowlight213:
- - bugfix: Malf hacked APCs can be broken with extinguishers and toolboxes again.
- TheDreamweaver:
- - bugfix: Holodeck mobs that are given sentience via sentience potions are now warned
- about the state of their existence.
-2018-03-21:
- BunnyBot5000:
- - rscadd: Fringe Weaver drink - made with ethanol and sugar, it's classy (and slightly
- weaker) hooch
- - rscadd: Sugar Rush drink - made with sugar, lemon juice, and wine. It's got a
- slight nutritional value but decreases your satiety, causing you to be unable
- to consume junk food.
- - rscadd: Crevice Spike drink - made with lime juice and hot sauce. A 'sobering'
- drink, the Crevice Spike will reduce your drunkenness slightly but it kicks
- hard going down, dealing 15 points of brute when first ingested.
- MrStonedOne:
- - bugfix: VOX sounds are now forcefully preloaded on clients to deal with an issue
- keeping byond from loading them
- cyclowns:
- - tweak: Unary devices can now be analyzed using gas scanners. This means stuff
- like vents, scrubbers, cryo tubes, or heaters/freezers.
-2018-03-22:
- Denton:
- - tweak: The lavaland Syndicate base has been outfitted with a turret control panel
- as well as more chemistry supplies and one (1) bar of Syndicate brand soap.
- Floyd / Qustinnus:
- - bugfix: Being happy no longer makes you obese.
- JohnGinnane:
- - refactor: Vending machines now have their own files which includes their refill
- cannister. The machines themselves are unchanged
- Naksu:
- - bugfix: Pulled objects will now follow their puller across space transitions again
- Robustin:
- - bugfix: Fixed a bug that prevented the advanced blood rites (Halberd, Bolts, Beams)
- from appearing when selected.
- SpaceManiac:
- - bugfix: Ventcrawlers in pipes now breathe from that pipe.
- - bugfix: Deconstructing atmos components no longer breaks ventcrawl visuals.
-2018-03-23:
- Fel:
- - add: Slimes can now be crossbred by feeding them a number of slime extracts of
- one type. Beware, it only produces one crossbred extract!
- - experiment: The number of required extracts has been lowered to 10 since the testmerge,
- but this number is up for potential change depending on balance consideration
- in the future.
- - wip: 'Currently available crossbreeds are accomplished by feeding any slime the
- required amount of the following extract colors: Grey, orange, purple, blue,
- metal, yellow, dark purple, silver, cerulean, and pyrite. Their relevant effects
- will be added to the wiki page for xenobiology soon(TM), and more to come in
- a later addition!'
- - add: Slimes can be fed extracts one at a time, but if you start mutating it, you
- can feed it extracts straight from a biobag! You can also use biobags to feed
- a reproductive extract monkey cubes.
- - add: Slimes in the process of being crossbred will reveal what modifier they will
- gain from their current modification, as well as how many more extracts are
- required, to slime scanners.
- - tweak: The rainbow slime clusterblorble effect will now only use reagents that
- the extract will be activated from, and will try any of these reagents! As a
- bonus side effect, this means it has a 1.1% chance of spawning and activating
- another clusterblorble effect.
- Floyd / Qustinnus:
- - bugfix: progression bar now takes the delay after co_efficent in account
- - code_imp: removes do_after_speed from mob base, moves it into physiology
- - code_imp: makes a do_after coefficiency proc
- - balance: Changes rate of sanity drain and caps it depending on mood
- Frozenguy5:
- - rscdel: Reverted bad airlock sounds.
- Naksu:
- - tweak: the amount of simultaneous monkey cube-spawned monkeys has been restricted.
- - server: the cap is adjustable via the mobs subsystem
- SpaceManiac:
- - bugfix: The cargo conveyor switches now properly control the belts on the shuttle
- again.
- - bugfix: Entering a frequency like 145.7 into a radio will now work, where 1457
- was previously required.
- TheMythicGhost:
- - rscadd: 'New Integrated Circuit Converter Components: hsv2hex and rgb2hex for
- smooth color transitions, woo!'
- - imageadd: Added icons for the new component chips.
- - rscadd: 'New Integrated Circuit Component: AI Vox Sound Circuit'
- ninjanomnom:
- - bugfix: You can no longer override shuttle areas with new or expanded areas from
- elsewhere.
-2018-03-24:
- Davidj361:
- - bugfix: Ranged guardians in scout mode no longer are able to move out of their
- master when recalled.
- Denton:
- - spellcheck: Fixed missing capitalization for craft menu items.
- - bugfix: Air alarms no longer trigger atmospherics alarms when stimulum or hyper-noblium
- are present. The allowed partial pressure of pluoxium has been increased as
- well.
- Robustin:
- - tweak: The Security Techfab can now produce basic shotgun shell types and .38
- ammo
- ShizCalev:
- - bugfix: Fixed a large number of missing APCs on Omegastation
- - bugfix: Fixed unpowered Incinerator outlet injector on Omegastation.
- - bugfix: Replaced glass window at Omegastation's incinerator with a plasma window.
- - bugfix: Fixes broken atmos injectors on Omega
- - bugfix: Fixes broken air outlet on Meta
- - bugfix: Fixed a couple of malfunctioning atmospheric monitors across the rest
- of the maps
- - rscadd: New test atmos monitoring console debug verb to help alleviate future
- issues.
- YPOQ:
- - bugfix: The imaginary friend trauma now works
-2018-03-28:
- Davidj361:
- - bugfix: Ocular Wardens now target buckled and cuffed players/mobs, unless they
- are cuffed by a slab.
- - tweak: Cuck cultists can cuff already sec-cuffed targets with their slab cuff
- spell.
- Dax Dupont:
- - bugfix: You no longer hit borgs with hats you want them to wear.
- - rscadd: Viva la borg, engieborgs can now wear hats
- - rscadd: Borgs can now wear more hats.
- - bugfix: After a space OSHA inspection you can now reach the safe and fire extinguisher
- in the omega detective office.
- - bugfix: Makes it so you don't accidently trigger the fun balloon twice.
- Denton:
- - tweak: Pubbystation's signs to evac have been made more obvious.
- - tweak: Plastic flaps are now airtight.
- - spellcheck: Bluespace crystals now show their proper name during machine construction.
- EvilJackCarver:
- - bugfix: Edited a certain part of the disco machine's dance to only target carbon-based
- (mob/living/carbon) lifeforms. pAI units will no longer spam chat with rest
- notifications when in range of the disco machine.
- Frozenguy5:
- - tweak: The monkeycap has been increased to 64.
- JohnGinnane:
- - rscadd: A guillotine has been added to the game. Can be crafted. If the blade
- isn't dull, will cut through human necks like a hot knife through butter. Use
- a whetstone to sharpen it if it becomes dull.
- MrDoomBringer:
- - imageadd: All stations have been outfitted with brand new Chem Masters! They have
- nicer sprites now!
- - bugfix: Fixed the description of the Cargo Express Console. Cargo Drop Pod orders
- aren't double-priced any more!
- Naksu:
- - bugfix: Chem dispensers no longer take hours to recharge
- - tweak: chem dispensers also now use energy from the grid in proportion with the
- amount charged
- - admin: Admins now get a follow link when a revenant spawns.
- - admin: Admin hotkey help is now actually correct
- Pipe fixes:
- - bugfix: Runtime in components_base.dm,91 what cause atmos machinery connection
- problems.
- - bugfix: Pipes release air in turf on Destroy(), again.
- - bugfix: Pipeline now cant be annihilated by merge(src). Pipes don't lose air on
- connecting more than to one pipe.
- Robustin:
- - code_imp: Monkey AI is now much more efficient and no longer full of terrible,
- wasteful processes
- - tweak: Monkeys will now move more and will only focus on nearby objects for stealing.
- This should result in more natural monkey behavior instead of the monkey staring
- furiously at random shit in the room for 5 minutes until it has a 50 item blacklist
- of shit it will refuse to touch from then on out.
- - tweak: The chance for a monkey to attack you for pulling it will now only happen
- when execute the initial grab, instead of a check that happens every tick.
- ShizCalev:
- - tweak: Cleaned up the preferences panel a bit to be a bit more user friendly.
- SpaceManiac:
- - bugfix: Unwrenching and re-placing directional signs now keeps their direction,
- and backings may be rotated in-hand rather than by pulling.
- Tacolizard Forever:
- - bugfix: phobias will no longer recognize trigger words inside of other words
- XDTM:
- - rscadd: Bees (and similar swarming mobs) are now able to occupy the same tile
- as other bees! When doing so, their icons are offset to make them seem like
- a proper swarm.
- - tweak: Bees will now dodge bullets not directly aimed at them. Why are you firing
- guns at bees
- - bugfix: Sniper rifles will no longer oneshot mechs (although they still deal high
- damage).
- - bugfix: Sniper rifles no longer knock down walls they hit.
- Xhuis:
- - rscadd: Added the Family Heirloom trait. This makes you spawn with a special object
- on your person; if you don't have it with you, you will gain a mood debuff.
- - rscadd: Added the Nyctophobia trait. This makes you walk slowly in complete darkness,
- and gain a mood debuff from the fear!
- - rscadd: Added the Monochromacy trait, which makes you perceive (almost) the entire
- world in black-and-white.
- - balance: Social Anxiety's trigger frequency is now correlated to the number of
- people near you.
- - bugfix: Slimepeople now transfer their roundstart traits when swapping bodies.
- YPOQ:
- - bugfix: Machine power will now update when moving from powered to unpowered areas
- and vice versa.
- iskyp:
- - bugfix: night vision goggles no longer overwrite thermal eyes. nvg eyes no longer
- overwrite thermal goggles.
- selea:
- - rscadd: a* pathfinder, coordinate pathfinder(accepts not ref to some obj, but
- it's abs coordinates) ,turf pointer(can give you ref to turf with given coordinates),
- turf scanner(can read letters on floor and contents of turf),material scaner(can
- read amounts of materials in machinery),material manipulator(to load/unload
- resources)
- - tweak: now you can decide, if basic pathfinder should avoid obstacles, or not.Now
- demux push only desired output without unnecessary nulls,upgraded claw and local
- locator.
- - balance: reduced complexity cost of locomotors,abs/rel converters and basic pathfinders.Increased
- complexity of throwers,
- - bugfix: Fixed bugs with cryptography, obstacle ref in locomotors, release pin
- in pullng claw.
- - refactor: add material tranfer proc to mat containers.refactored pathfinder SS
- to have separated queue for mobs and circuits to avoid spam.
- - tweak: Now recycler can butcher mobs and saw tree logs.
- yorii:
- - tweak: Science goggles can now detect reagents in grenades.
-2018-03-30:
- Astatineguy12:
- - bugfix: Ghosts of servants of Ratvar are no longer confined to Reebe like their
- corporal counterparts.
- Cruix:
- - rscadd: Sentient diseases now have the "Secrete Infection" ability, which causes
- anything touching the skin of the host they are currently following to become
- infective, spreading their infection to anyone who touches it for the next 30
- seconds.
- Davidj361:
- - bugfix: Removed health cost for Twisted Construction upon casting on a wrong object
- - bugfix: Fixed table crafting not properly checking the surrounding area for tools.
- - code_imp: Changed /datum/personal_crafting/proc/get_surroundings(mob/user) to
- return 2 lists.
- Denton:
- - bugfix: 'Omegastation: Added advanced magboots to secure storage so that traitors
- can complete the theft objective.'
- ShizCalev:
- - bugfix: Silicons no longer have to be directly adjacent to a chem master to dispense
- pills.
- - bugfix: Fixed an exploit involving chem dispensers not actually checking if there
- was enough energy to dispense the target chemicals.
- - bugfix: Fixed exploit where chem dispensers always worked even if they didn't
- have power...
- - bugfix: Booze & soda dispensers will no longer turn into chem dispensers when
- screwdrivered
- - bugfix: Fixed chem dispensers showing as powered on when screwdrivered opened.
- - rscadd: Added an examine indication when the maintenance panel to chem/soda/booze
- dispensers is open.
- neersighted:
- - admin: Re-juggled delete verb permissions
- robbym:
- - bugfix: Fixed an error with integrated circuit tickers where they would sometimes
- fail to tick.
-2018-03-31:
- Naksu:
- - rscdel: Chameleon projectors will no longer work from inside transformations,
- effects, mechas or machines. Effects that cause movement will no longer leave
- sleepers in a bugged state where they can apply chems to you across distances.
-2018-04-01:
- Davidj361:
- - bugfix: Fixed cuffed prison shoes being taken off by dragging them into your hand.
- Denton:
- - balance: The singularity engine will now output enough energy to power a station
- again.
- - bugfix: 'Pubbystation: The bomb testing site cameras are now accessible by camera
- consoles.'
- - spellcheck: Bluespace polycrystals now show their name when inserted into machinery.
- Kor:
- - rscadd: The disco machine no longer has a fixed list of songs. It will instead
- allow players to pick music from a config folder managed by the host and head
- admins.
- - rscadd: There is now a bartender jukebox variant of the disco machine that plays
- music, but has no lights or dancing. This variant will be added the station
- maps once the feature freeze is over.
- Naksu:
- - bugfix: Removed stray defines from maps, making roundstart atmos functional and
- runtime-spam free again
- robbym:
- - bugfix: 'fixed by converting to absolute coordinates #36861'
- - spellcheck: changed description from copypasta to correct description
-2018-04-02:
- Davidj361:
- - bugfix: Fixed 'vox_login' for AI VOX
- - tweak: Made the AI VOX airhorn quieter to 25% of its original volume
- GrayRachnid:
- - bugfix: Fixes some crafting tooltips not displaying tool names properly.
- MrDoomBringer:
- - imageadd: roundend report button now has a lil icon
- Naksu:
- - bugfix: Removed some edge cases where atmospherics gas lists could continue holding
- active gas items that can only transfer 0 gases to neighbors by making the garbage
- collection clean them up.
- RandomMarine:
- - bugfix: The quick equip hotkey (e) now works for drones again.
-2018-04-03:
- 81Denton:
- - spellcheck: Nanotrasen's space entomology department is shocked to discover that
- Mothpeople have surnames!
- YPOQ:
- - bugfix: Mannitol will now properly cure minor brain traumas
- robbylm:
- - bugfix: Fixes 0 value not being saved in constant memory circuits (#36860)
-2018-04-04:
- Fludd12:
- - rscadd: Burning ores now yields materials at a very reduced ratio! Lavaland roles
- will now be able to construct things with enough effort.
- JohnGinnane:
- - bugfix: Fixed items sometimes being used on fullpacks when trying to insert
- - bugfix: Fixed spray containers being used on open lockers and other containers
- Naksu:
- - bugfix: Fixed (dead) revenants being unable to deadchat or ahelp
- - bugfix: Plasmamen that get converted into humans as a part of spawning as a protected
- head role no longer retain their plasmaman equipment.
- SailorDave:
- - bugfix: Fixes virology Asphyxiation symptom activating too early and ignoring
- transmission level.
- ninjanomnom:
- - bugfix: Shuttles have proper baseturfs now.
- - bugfix: Mineral walls properly use their baseturfs when destroyed/drilled.
- - rscadd: A new engineering goggle mode allows you to see the shuttle area you're
- standing in.
- - admin: Buildmode works a bit better with baseturfs now and can properly only remove
- the top layer of turfs when editing. Note that as a result the order you place
- turfs is important and a wall placed on space means when the wall is removed
- there will be space underneath.
-2018-04-07:
- Davidj361:
- - tweak: Stacked sheets now have a cancel button when taking an amount from them.
- Dax Dupont:
- - bugfix: Fixes dead chat announcements not using real name.
- Naksu:
- - bugfix: Trash bin anchoring/unanchoring now gives you a small text blip about
- what happened.
- PKPenguin321:
- - bugfix: Restored accidentally cut functionality to flashes. You can once again
- attach them to a signaller and signal them to trigger an AoE flash remotely.
- SailorDave:
- - bugfix: Mixed blood samples preserve their cloneability for podpeople if the samples
- are the same.
- kevinz000:
- - rscadd: AIs can now latejoin!
- - rscadd: Latejoining AIs will be sent to a special deactivated AI core. This AI
- core will spawn in the AI satellite chamber in place of an active AI if none
- is there at roundstart. These cores can be deactivated with a multitool, and
- moved around per usual, but not deconstructed. They can, however, be destroyed
- per usual.
- - rscadd: AIs can only latejoin if atleast one of these cores exists and is in a
- valid area (Powered, on station, etc etc), and if the AI job slot isn't filled
- already by a roundstart or latejoin AI.
- - code_imp: A few code internal debugging features have been added to help debug
- GC errors. QDEL_HINT_IFFAIL_FINDREFERENCE hint will make the garbage subsystem
- find references if the build is in TESTING mode, and qdel_and_then_find_ref_if_fail(datum)
- or calling qdel_then_if_fail_find_references will do the same.
- robbym:
- - bugfix: Fixes examiner circuit failing to pulse 'not scanned' when reference is
- null (#36881)
-2018-04-08:
- AnturK:
- - tweak: Slime reflexes restored.
- Dax Dupont:
- - rscadd: Hugbox version of the VR sleeper you can't emag.
- - admin: There's now two categorized vr landmarks for two teams for easy spawning.
- You can also now rebuild/refresh all the VR spawnpoints by calling build_spawnpoints(1)
- on any sleeper.
- Naksu:
- - admin: Admins can now access a new control panel for borgs via a new admin verb
-2018-04-09:
- CosmicScientist:
- - rscadd: Top Nanotrasen scientists have diagnosed two new phobias! Birds and chasms!
- Good luck Chief Engineers and Miners.
- Dax Dupont:
- - admin: Removing notes now has an "Are you sure" dialog.
- Denton:
- - rscadd: Omegastation now has its own arrivals shuttle.
- Mickyan:
- - imageadd: Stinger, Grasshopper, Quadruple Sec, and Quintuple Sec have new sprites.
- Naksu:
- - code_imp: Fixed an heirloom trait-related runtime
- - code_imp: Fixed an incorrect signature in MakeSlippery causing runtimes
- SpironoZeppeli:
- - rscadd: You can now wrench the supermatter shard
- ninjanomnom:
- - bugfix: The arena shuttle should be working again.
- - bugfix: The escape pods now reach their proper destination at round end
-2018-04-11:
- Davidj361:
- - bugfix: Fixed paper bins dropping out of your hand or bag when grabbing a pen
- or paper.
- - bugfix: Paper bins not giving finger prints upon interaction.
- - bugfix: Detective can now write notes onto his printed scanner reports.
- - tweak: Detective scanner can have its logs erased via alt-click.
- - tweak: Detective scanner can display logs via the action button.
- Denton:
- - bugfix: Added a missing intercom to the Delta arrivals shuttle.
- ExcessiveUseOfCobblestone:
- - code_imp: Uplink Items now have 2 separate probabilities. One for the syndicate
- crate and one for cargo null crates. I encourage you to view uplink_items.dm
- and make changes.
- Robustin:
- - balance: Hostile mobs capable of smashing structures will now smash their way
- through dense objects too.
- SpaceManiac:
- - bugfix: The blindness overlay applied during cloning now properly stretches for
- widescreen views.
- - code_imp: Various macro consistency problems have been addressed.
- YPOQ:
- - bugfix: Eminences can hear clock cult chat again
- george99g:
- - bugfix: Suiciding will now deactivate all your genetics prescans.
- iskyp:
- - bugfix: makes dragnet non harmful
- - tweak: pacifists can now use any disabler or stun setting on any energy gun
- - code_imp: removed all of the pacifism check code from code/modules/mob/living/living.dm
- - code_imp: gun objects no longer have a harmful variable, instead, ammo_casing
- objects now have a harmful variable, which is by default set to TRUE
- - code_imp: if a pacifist fires a gun, it checks whether or not the round chambered
- is lethal, instead of whether or not the gun itself is lethal.
- - code_imp: /obj/item/machinery/power/supermatter_shard is now /obj/item/machinery/power/supermatter_crystal/shard.
- the crystal is the parent object.
- neersighted:
- - code_imp: Reduced lag by speeding up logs 10000%
- - code_imp: Logs now include millisecond-level timestamps
- pigeonsk:
- - tweak: AI now requires silicon playtime instead of crew playtime for roundstart
- role
- selea:
- - bugfix: fixed runtime in logic circuits, which was occured with invalid input
- types.
-2018-04-12:
- Cobby:
- - bugfix: Fixes getting "emptystacks" (a stack with an amount of 0)
- Dax Dupont:
- - bugfix: Briefcase bluespace launch pads no longer work on the centcom Z level.
- Dennok:
- - rscadd: RPD can automaticaly wrench printed pipes to floor.
- Denton:
- - rscadd: Cargo can now order tesla coil crates for 2500 credits.
- Garen:
- - bugfix: Added missing parameter types to circuits.
- - bugfix: Fixes two datatypes appearing for some input circuits.
- - tweak: Logic circuits now output booleans rather than 1's and 0's, this is purely
- cosmetic.
- Naksu:
- - bugfix: Warp whistle can no longer leave you stuck in an invisible state
- The Dreamweaver:
- - bugfix: The air around you grows cooler, as if what you once knew about atmospherics
- has changed ever so slightly...
- Xhuis:
- - bugfix: Mood traits cannot be chosen if mood is disabled in the config.
- ninjanomnom:
- - rscadd: The SM has a guaranteed 30 second final countdown before delamination
- now
- - balance: The SM will take less damage from low pressure environments
- - balance: The SM has a slightly reduced max damage per tick
- - bugfix: Tiles placed on lavaland turfs should behave properly again.
- pigeonsk:
- - bugfix: When you wash your bloody hands they will no longer still look bloody
- afterwards
-2018-04-13:
- Dax Dupont:
- - bugfix: SCP 194 now uses it's amount variable instead of a hardcoded number.
- Dax Dupont & Naksu:
- - bugfix: Toxin loving species won't take liver damage from toxins.
- - bugfix: Liver now gets 0.01 damage per unit of toxin subtype reagent every 2 seconds
- instead of 0.5. IE 30 units of whatever won't kill you within 10 seconds anymore.
- - bugfix: Moved peacekeeper borg reagents to other_reagents so they don't do liver
- damage and they aren't really toxins
- - refactor: Renamed borg synthpax path to be more inline and put them next to the
- other borg reagents.
- Denton:
- - tweak: Omegastation's supermatter crystal has been replaced with a smaller shard
- that doesn't destroy the whole station on explosion.
- Naksu:
- - bugfix: Fixed KA upgrade applying on the minerborg
- Putnam:
- - tweak: rounded pi correctly
- ninjanomnom:
- - bugfix: Some strange baseturfs in lavaland structures and ruins should be fixed.
- robbym:
- - bugfix: Fixes tile analyzer circuit
- - refactor: Cleaned up tile analyzer code
-2018-04-14:
- JohnGinnane:
- - rscadd: PDA messages you send are now displayed in the chat for your confirmation
- Naksu:
- - bugfix: SCP-294 can no longer be deconstructed.
- kevinz000:
- - rscadd: After a severe security breach occurred due to lazily configured Nanotrasen
- Network DHCP servers where attackers were able to hijack every airlock connected
- to the Nanotrasen Intranet, the Central Command engineering team reports that
- they have properly configured network address servers to give out (relatively)
- secure network IDs again. [NTNet addresses reverted to 16-hex format. they will
- now be randomized across a ~billion trillion possibilities instead of being
- 1-1000 every round for doors and stuff.]
-2018-04-15:
- JohnGinnane:
- - tweak: Reorganised circuit component controls within an assembly, so they appear
- before the name of the component
- Naksu:
- - bugfix: Bluespace slime cookies can no longer be used to travel to CentCom
- - bugfix: Borgs can no longer accidentally end up inside a cryo cell
- - bugfix: Shoving someone inside a cryo cell now has a small delay unless they are
- knocked down, stunned, sleeping or unconscious
- - admin: Station borgs can no longer control the CentCom ferry.
- - bugfix: Ghosts can no longer interact with the round via teleporter effects of
- any kind
- - tweak: His Grace can no longer be deep-fried
- - bugfix: Passive gates can be interacted with in unpowered areas
-2018-04-16:
- Dax Dupont:
- - rscadd: Added get current logs button for admins
- - refactor: Removed verbs that have been replaced by other things like the combohud
- or ticket panel.
- Naksu:
- - tweak: Mining borgs and mining drones now have mesons and the engineering goggles'
- meson mode also works in lavaland again.
- SpaceManiac:
- - bugfix: The on-body icon for ancient bio suits is no longer broken.
- ninjanomnom:
- - bugfix: The aux base properly loads in rather than leaving an empty room.
- - bugfix: Admin loaded map templates can be designated as shuttles during the upload
- process. Make sure to load them on space first.
-2018-04-17:
- Dax Dupont:
- - bugfix: Fixed martial arts/spell granters breaking on interrupt in final stage.
- Naksu:
- - balance: Welding tools now flash the user as the weld progresses, not just when
- the welding is started.
- - bugfix: CentCom officials will now properly display the objectives the admin has
- assigned them.
-2018-04-20:
- Astatineguy12:
- - bugfix: Gygax construction now actually uses up the capacitor
- Dax Dupont:
- - bugfix: A cat is fine too. You can select cat parts again!
- - bugfix: Default lizard tail was never properly defaulted, now it is.
- - bugfix: Fixes an exploit where tendrils/other spawners/anchored mobs in general
- could be buckled to things and thus moved around.
- Denton:
- - rscadd: Due to space OSHA lobbying, the Syndicate's lavaland base now contains
- a radsuit and decontamination shower.
- - bugfix: Suit storage units' suit/helmet compartments now accept non-spacesuit
- clothing (radsuits, EOD suits, firesuits and so on).
- Naksu:
- - bugfix: Oingo-boingo punch-face and meteor shot can no longer move gateways or
- Reebe servant blocker effects
- - bugfix: Mechas piloted by servants of Ratvar now teleport to the servant side
- of Reebe when entering a rift
- - admin: Gravity generators can now be thrown in buildmode
- ShizCalev:
- - bugfix: Fixed a number of conveyor belts leading to the incorrect direction.
- - bugfix: Fixed shuttle conveyor belts being out of sync with cargo's conveyors
- on some maps.
- SpaceManiac:
- - bugfix: Cycle-linking is no longer permanently disabled for airlocks on shuttles.
-2018-04-21:
- SailorDave:
- - rscadd: A new manipulation circuit, the Seed Extractor. Extracts seeds from produce,
- and outputs a list of the extracted seeds.
- - rscadd: 'A new list circuit, the List Filter. Searches through a list for anything
- matching the desired element and outputs two lists: one containing just the
- matches, and the other with matches filtered out.'
- - rscadd: A new list circuit, the Set circuit. Removes duplicate entries from a
- list.
- - tweak: The Plant Manipulation circuit can now plant seeds, and outputs a list
- of harvested plants.
- - tweak: Reagent circuits can now irrigate connected hydroponic trays and inject
- blood samples into Replica pods.
- - tweak: The Examiner circuit can now output worn items and other examined details
- of carbon and silicon mobs into the description pin, as well as the occupied
- turf of the scanned object, and can now scan turfs.
- - tweak: The locomotion circuit now allows drones to move at base human speed, but
- cannot be stacked, and assemblies can now open doors they have access to like
- bots by bumping into them.
- - bugfix: List Advanced Locator circuit now accepts refs as well as strings.
- - bugfix: Fixed the Power Transmitter circuit not properly displaying a message
- when activated.
- - bugfix: Medical Analyzer circuit can now properly scan non-human mobs.
-2018-04-23:
- Dax Dupont:
- - rscadd: More stations have been outfitted with disk compartmentalizers.
- - bugfix: Fixed a lack of feedback when entering too many points for the gulag.
- - admin: Fuel tank logging now logs to both game and attack logs so it's more clear
- from logs what caused the explosion in game log and added coords to the messages
- as well.
- - bugfix: Fixes toolbelts being able to hold everything.
- Denton:
- - tweak: Moved Deltastation's ORM so that all crew can access it.
- - code_imp: Added multilayer subtypes for mapping.
- Kor:
- - rscadd: Changelings can now have an objective to have more genomes than any other
- changeling, rather than a set target.
- - rscadd: Changelings can now have an objective to absorb another changeling.
- - rscadd: Changelings now get bonus genetic points for buying powers when they absorb
- another changeling. Their chem storage cap will also be increased.
- - rscadd: Changelings absorbed by other changelings will lose all their powers,
- chems, and genetic points, making them unable to revive.
- Naksu:
- - code_imp: Performance tweaks to plant code
- - bugfix: Spears, nullrods etc should no longer be invisible
- Power Control Support:
- - bugfix: What do you mean we accidentally routed the interaction back to the apc
- control conso- oh for fleeps sake STEVE WHAT DID YOU DO!!
- Rinoka:
- - bugfix: phobias now actually make you fear things other than an apostrophe s.
- Spoilsport:
- - rscdel: Inducers and integrated circuits can no longer charge energised weapons.
- iksyp:
- - rscadd: the beer and soda dispenser now have their own circuitboards, as well
- as design ids. you can unlock them through techwebs under the biotech node.
- - bugfix: beer and soda dispensers can no longer be turned into chem dispensers
- by deconstructing and reconstructing them.
-2018-04-24:
- Dax Dupont:
- - bugfix: Cargo scanner is no longer invisible.
-2018-04-25:
- Barhandar:
- - bugfix: Pubbystation's field generators have been offset to no longer bisect the
- engine on roundstart setup.
- Dax Dupont:
- - rscadd: You can now research and construct radiation collectors.
- - bugfix: Doors don't turn into Mike Pence when the shock wire is pulsed, only why
- it's cut.
- - admin: Logging and messaging for singularities now include the area and a jump
- link to the location where it happened.
- - admin: Improved messaging for blood contracts.
- - admin: While the onus is on the admin, the ckey has been added to some of the
- prompts so mistakes can be caught earlier in the middle of the process.
- Denton:
- - tweak: 'Nanotrasen''s materials science division reports: Coins and diamonds DO
- blend!'
- Mickyan:
- - tweak: Potato Chips and Beef Jerky from food vendors now contain salt.
- deathride58:
- - bugfix: Stocks in the stock market no longer have spontaneous exponential spikes.
-2018-04-27:
- Dax Dupont:
- - balance: Experimentor now only outputs one clone.
- - bugfix: Above change also fixes **an exploit** with loaded items getting cloned
- after changing the loaded item and ejecting.
- - bugfix: RPEDs will no longer display machine contents twice.
- - bugfix: RPED can no longer hold everything.
- - refactor: Moves all the logic for exchanging parts into the RPEDs instead of having
- checks in every attack_by.
- - rscadd: Clogged vents now scale like meteors.
- - balance: Clogged vents got nerfed.
- - bugfix: Buildmode toggle now checks for permissions so the hotkey can't bypass
- it.
- - admin: Press F10 for dsay prompt.
- - admin: PDA explosions now have logging.
- Denton:
- - spellcheck: Fixed object descriptions and added missing ones - mostly to robotics
- and RnD.
- Fox McCloud:
- - tweak: Removed acid requirement from basic network card and basic data disk
- - tweak: grinding circuitboards no longer generates acid
- Kor:
- - rscadd: Added the Bureaucratic Error event, which replaces the overflow role with
- a random job.
- Mickyan:
- - rscadd: 'New negative trait: Acute Blood Deficiency. Keep your slowly decreasing
- blood level in check if you want to survive.'
- MrDoomBringer:
- - rscadd: Analyzers now show temperature in Kelvin as well as Celsuis
- Naksu:
- - code_imp: Inbounds subsystem, STATIONLOVING_2 and INFORM_ADMINS_ON_RELOCATE_2
- flags are removed.
- - code_imp: New stationloving component replaces all of this.
- - code_imp: 'Added new signals: COMSIG_MOVABLE_Z_CHANGED is now sent when a movable
- changes Z level, COMSIG_PARENT_PREQDELETED is sent before the object''s Destroy()
- is called and allows interrupting the deletion, COMSIG_ITEM_IMBUE_SOUL is sent
- when a wizard attempts to make a thing their phylactery'
- - bugfix: slime pressurization potions are no longer consumed when attempting to
- apply them on already-spaceproof clothing
- ShizCalev:
- - bugfix: Fixed AI units being able to manually fire unpowered/broken turrets.
- - bugfix: Fixed traitor AIs being unable to place a robotics factory if they failed
- to place it after the prompt.
- - bugfix: Fixed mobs having no hands if they had prosthetic limbs
- - bugfix: Fixed damage overlays disappearing from prosthetic limbs when a mob is
- husked
- - bugfix: Fixed ghosts not being able to see into bags
- - bugfix: Fixed a number of chapel and morgue doors being high-security CENTCOM
- variants. This was also triggering certain phobias.
- - bugfix: Fixed the warning message for chameleon projectors when a mob is inside
- a closet
- - tweak: Improved the formatting of the round-end report for AI and robotic units
- - spellcheck: Added a period to the end of point-at messages.
- - bugfix: Fixed ghosts getting spammed by sounds when clicking on a jukebox.
- - bugfix: Fixed a duplicate docking port on the aux base template which was causing
- some errors
- - bugfix: Fixed Gr3y.T1d3 virus bolting open the doors to the SM, causing delamination.
- - bugfix: Fixed the cat butcher dropping incorrectly colored tails
- - bugfix: Fixed being unable to add a cat tail to someone through surgery.
- - bugfix: Fixed mass purrbation & the anime event failing to give people ears and
- tails in some cases.
- - bugfix: Fixed AI units being able to toggle turrets on and off when AI control
- is disabled.
- - bugfix: While it slight increases the cost of production, vanilla ice cream is
- now actually made with real vanilla!
- - bugfix: Fixed AI units being able to see lights through static.
- - bugfix: Fixed securitron pathfinding icons being broken.
- imsxz:
- - bugfix: invulnerability exploit involving stable adamantine extract fixed
- ninjanomnom:
- - admin: You can now use alt click in advanced buildmode to to copy the targeted
- object for placement with left click.
- - rscadd: You can now see objects and turfs past the map edge borders.
- - bugfix: Shuttles getting removed would occasionally causes issues. This has been
- fixed.
-2018-04-28:
- MMMiracles:
- - rscadd: A jukebox can now be found in the bar of your respective station. Contact
- Central about song suggestions to be added to the curated list!
- Naksu:
- - code_imp: clothing-specific flags are now defined in /obj/item/clothing.clothing_flags
- PKPenguin321:
- - balance: The changeling "Spiders" power now requires absorptions gained through
- the actual Absorb ability, rather than DNA from DNA sting. To compensate, it
- now only requires 3 absorptions, down from 5.
- ShizCalev:
- - bugfix: Fixed a good number of missing icons.
- as334:
- - rscadd: Fusion is back
- - rscadd: Fusion now happens with large quantities of hot plasma and CO2, consuming
- all the plasma rapidly and producing large amounts of energy. Other gases can
- also effect the performance of the reaction.
- - rscadd: Fusion now produces radiation. Be careful around reactors.
- - bugfix: fixes fusion dividing by zero and destroying everything
- - code_imp: Gas reactions now have access to where they are occurring
- - bugfix: Prevents some other reactions from producing matter from nothing
- kevinz000:
- - rscadd: Circuit ntnet components buffed. Added a new low level ntnet component
- that can send custom data instead of just the two plaintext and one passkey
- format, which things will use by default. Ntnet now uses a list for their data
- instead of three variables. they also have lowered complexity for the now weakened
- normal network component, and has lower cooldowns.
- pigeonsk:
- - bugfix: The faint echoes of maracas grows louder, as if a past spirit once forgotten
- has come back with a vengeance...
-2018-04-29:
- Naksu:
- - bugfix: Wearing a bucket no longer connects your head to the vacuum of space
- oranges:
- - rscdel: Pet collars can no longer be equipped on humans
-2018-04-30:
- Dax Dupont:
- - balance: Adds a cooldown to PDA send to all messages.
- - bugfix: Last sent message cooldown actually works now.
- - tweak: More reagents in the clogged vents event.
- Denton:
- - rscadd: Added more holoprojectors to techwebs (security, engineering and atmos).
- Erwgd:
- - rscadd: Limb growers can now create limbs for flypeople and mothmen.
- Evsey9:
- - balance: Integrated Circuit weapon mechanisms now work only when outside of any
- containers and hands, due to reports of severe injury caused by activating them
- while still holding them.
- Garen:
- - imageadd: added inhands for teleprods.
- JJRcop:
- - bugfix: Integrated circuits can no longer throw themselves.
- Jalleo:
- - bugfix: a certain exploit that can occur in regards to creating certain items
- in a particular manner
- - tweak: readds emitter field generator and rad collector wrenching times. Someone
- override it when adding the wrench_act.
- Mickyan:
- - tweak: You can now see how well fed you are by self-inspecting.
- Naksu:
- - code_imp: More flags have been moved to their appropriate places
- - code_imp: HEALS_EARS_2 is removed in favor of the earhealing component
- - code_imp: wearertargeting component is available to subtype for components that
- want to target the wearer of an item rather than the item itself
- ShizCalev:
- - bugfix: Glass stacks will now properly delete when exploded.
- - bugfix: Fixed attacking someone with a bikehorn not triggering the correct mood
- event.
- YakumoChen:
- - tweak: Nanotrasen has once again shipped BZ to its nearby stations. Check your
- local Xenobiology lab for your shipment.
- - tweak: Nanotrasen would like to remind you that BZ is meant for keeping slimes
- from moving or getting hungry. It is not for human use and may lead to hallucinations.
- Always practice workplace safety when handling dangerous gasses!
- george99g:
- - bugfix: Committing suicide will now stop you from being cloned via prescans.
- iksyp:
- - tweak: pacifists can now use .50BMG Soporific Rounds
- ninjanomnom:
- - bugfix: Caravan ambush shuttles have been templated to fit the new system and
- can fly again.
- pigeonsk:
- - bugfix: Large stacks of plastitanium now display properly
- - rscadd: You can now get traditional sake and get a first-hand taste of a superior
- culture. Have I told you about my katana and my trip to-
-2018-05-01:
- BuffEngineering:
- - bugfix: Nanotrasen has graciously connected the port bow solar's SMES to the main
- grid.
- Denton:
- - rscadd: You can now craft and disassemble HUDsunglasses! Check out the clothing
- section of the crafting menu.
- - tweak: Cargo packs have been reorganized to shrink the big engineering, food&livestock
- and misc categories.
- NewSta:
- - rscadd: 'Added 5 new drinks: Alexander, Between the Sheets, Kamikaze, Mojito and
- Sidecar.'
- - rscadd: Added Menthol and Sake to the drink dispensers.
- Ordonis, Denton:
- - rscadd: OH YEAH BROTHER! The H.O.G.A.N. AI module has a chance to spawn at the
- AI upload.
- SpaceManiac:
- - bugfix: The button in the mech interface to terminate maintenace protocol no longer
- reads "Initiate maintenace protocol".
- - bugfix: Boxes now fit inside storage implants again.
- XDTM:
- - balance: Small, constant ticks of brain damage are now less likely to cause traumas.
- deathride58:
- - bugfix: Fixed the intergalactic stock market crash. The speculation/performance
- modifier has been removed completely.
-2018-05-04:
- Cobby (Stolen from GrayRachnid):
- - tweak: The processor has now been generalized techweb-wise into the "food/slime
- processor".
- - rscadd: The processor can now be made by Science.
- Dax Dupont:
- - balance: After successful lobbying by the Space Ancap Federation ammo is no longer
- free. Material redemption cost is now determined by the amount of bullets left.
- - balance: .38 ammo is now cheaper to produce.
- - balance: Casings now give a little bit of metal. mostly for immersion sake.
- Denton:
- - bugfix: Runtimestation's RnD machinery is now up to date.
- Fox McCloud:
- - bugfix: Fixes recycler not recycling bluespace and plastic objects
- - bugfix: Fixes objects with material components always showing their materials
- on examine
- Garen:
- - bugfix: Removes unintentional pins from the constant circuit.
- Hyacinth:
- - rscadd: Grenadine is now available in the bar!
- - tweak: Tequila sunrises now require grenadine to make!
- Mickyan:
- - bugfix: Our suppliers assure us that Midori Tabako cigarettes will actually contain
- tobacco from now on.
- Naksu:
- - code_imp: APC code is slightly less shit.
- - tweak: APC cells can be removed with a crowbar
- Onule!:
- - rscadd: Plasmaman liver and stomach crystals!
- Poetic_Iron:
- - spellcheck: Fixed 'Tequila Sunrise' naming from 'tequila Sunrise'.
- SpaceManiac:
- - code_imp: The commit hashes shown in Show Server Revision are now long enough
- to autolink when copied into issue reports.
- Spellbooks Take 2:
- - imageadd: Magical Spellbooks are now animated.
- Tlaltecuhtli:
- - tweak: medbeams heal tox and oxy slighty
- pigeonsk:
- - rscdel: After an internal audit and review Nanotrasen has decided that stock financing
- at the station-level makes no logistical nor managerial sense. Stations, and
- their cargo departments, may no longer play the stock market.
-2018-05-06:
- Dax Dupont:
- - bugfix: Rhumba beat now stops processing while dead.
- Denton:
- - bugfix: The Donksoft vendor board got lost during the techwebs transition and
- has been re-added under the illegal technology node.
- Garen:
- - tweak: Grilles must take damage to produce tesla shocks.
- Naksu:
- - bugfix: APCs are closed with crowbars properly again. Screwdrivers can now be
- used by borgs to pop out the cell instead of crowbars
- SpaceManiac:
- - bugfix: The top-left menus (icon scaling, ghost preferences, etc.) now work again.
- Xhuis:
- - tweak: Character traits are now called character quirks. Functionality remains
- unaffected.
- deathride58:
- - rscadd: If the nuke disk stays still for long enough, the lone operative event
- will enter the random event rotation. The longer the nuke disk stays still,
- the more likely the lone operative event will trigger.
-2018-05-08:
- cacogen and nicbn:
- - tweak: You can now select RPD modes individually.
- - tweak: RPD autowrenching is now a tgui action rather than an Alt Click option.
- deathride58:
- - rscadd: Added ambient occlusion. You can toggle this on or off in the game preferences
- menu.
-2018-05-09:
- Firecage & Bluespace:
- - balance: Replaces the Roman Shield and Roman helmets in the Autodrobe with fake
- versions with neither block chance nor armour values.
- PKPenguin321:
- - rscadd: There are now two new variants of the concatenator integrated circuit.
- Small, which only takes 4 inputs, and large, which takes 16. Small uses 50%
- less complexity, large uses 50% more.
- - rscadd: There's a new string length circuit, which simply returns the length of
- a given string.
- - rscadd: There's a new indexer circuit, which takes a string and an index and returns
- the character found at the index of the given string.
- - tweak: The find text integrated circuit now has two new pulse outs, one that runs
- when it finds the text and one that runs when it does not.
- - tweak: Leaving the delimiter in the explode text circuit null will now return
- all of the input string's characters in a list.
-2018-05-10:
- Dax Dupont:
- - bugfix: The singularity spawned by the arcade orion tale meme will disappear as
- intended.
- Kor:
- - rscadd: Science may now research reactive armour shells, which create different
- armours when combined with different anomaly cores. They are constructable from
- the Research and Engineering lathes.
- Ordo:
- - rscadd: Adds a french beret to the mime. Steal it from him to learn French! Sort
- of. HONH HONH HONH.
- SpaceManiac:
- - refactor: Large groups of PNG assets are now transmitted in spritesheets, greatly
- improving load times.
- - tweak: The access denied message when entering a mech now distinguishes between
- DNA lock and ID requirements.
- - bugfix: Removing an ID card from a wallet now properly removes its visual and
- accesses.
- Tlaltecuhtli:
- - bugfix: the default bulldog shotgun ammo makes sense now
- - bugfix: fixes a possible money exploit
- YPOQ:
- - bugfix: Anomalies can be disabled with signalers again
-2018-05-13:
- Alexch2:
- - bugfix: Large crates no longer behave like lockers. They no longer open into invisible
- sprites when damaged, interacted with, when "toggle open" is used, or when non-crowbar
- items are used on them.
- Ausops and Qbopper:
- - rscadd: Added security jumpskirts - snag one from a security wardrobe locker.
- Cobby:
- - bugfix: Beds will now properly save you from floor is lava, but only if you buckle
- to them
- Cyberboss:
- - tweak: You may now take unlimited neutral and negative quirks
- Denton:
- - bugfix: Runtimestation's RTGs are now connected to the powernet.
- - code_imp: Added chem_dispenser/fullupgrade as well as chem_synthesizer for testing.
- - tweak: Replaced runtimestation's two chem dispensers with those subtypes.
- - spellcheck: Did you know that you can use a screwdriver on the ChemMaster board?
- Now you do.
- Frozenguy5:
- - tweak: You can now make plasma reinforced glass at the ORM.
- - tweak: Titanium glass is now worth 0.5 titanium + 1 glass. Plastitanium glass
- is now worth 0.5 titanium + 0.5 plasma + 1 glass. Therefore these glass sheets
- are cheaper to make.
- Iamgoofball:
- - bugfix: Family Heirlooms now properly show you where they are stored if they spawn
- in a bag.
- Mickyan:
- - tweak: Gauze can be deconstructed into cloth using wirecutters.
- Naksu:
- - rscdel: Fusion has been removed for pressing ceremonial reasons, and also because
- it crashes the server
- Tlaltecuhtli:
- - bugfix: 50% of the corgis bought are now male
- XDTM:
- - tweak: Teleporters linked to other teleporters now teleport into the other teleporter's
- hub, instead of the power station.
- - bugfix: Teleporters now no longer consume power if teleportation fails.
- YPOQ:
- - bugfix: Fixed items stacks sometimes having the wrong amount if created on another
- stack
- - bugfix: Constructing light tiles no longer uses two sheets of metal
- - bugfix: Gorillas have hands slots again
- - bugfix: The paddle/nozzles of defibs, backpack water tanks, and gatling lasers
- work again
- - bugfix: You can honk people with bike horns again
-2018-05-14:
- Barhandar:
- - rscadd: Amount of goliath plates is now shown in examine for explorer suits and
- mining hardsuits.
- Dax Dupont:
- - rscadd: You can now swap disks in the plant manipulator.
- JStheguy:
- - imageadd: Vending machines now have more complex shading and are rigged with next-gen
- flickering technology, a couple have either a partial or complete facelift.
- Maintenance panel overlays have been fixed on machines where they were seemingly
- left unchanged when the switch to 3/4ths was made.
- - imageadd: Burger buns are bigger and more detailed.
- - imageadd: Donuts have been totally redrawn.
- SpaceManiac:
- - admin: Admin-healing someone will now rejuvenate their mood as well.
-2018-05-15:
- Dax Dupont:
- - bugfix: Fixes missing curator hud icon.
- Denton:
- - tweak: Engi-Vend machines now contain fire alarm and firelock electronics!
- - code_imp: Loose tech storage circuit boards have been replaced with spawners.
- - rscadd: APC/air alarm/airlock/fire alarm/firelock electronics are now available
- once Industrial Engineering is researched..
-2018-05-16:
- Dax Dupont:
- - balance: Cult items will no longer be a long ride on the vomit coaster if picked
- up by a non cultist.
-2018-05-17:
- Dax Dupont:
- - balance: Cult space bases are kill again.
- - balance: Cult floors now pass gas.
- - bugfix: Fixed a few things deconning into the wrong circuit.
- - bugfix: You can no longer do infinite bioware surgery.
- - rscadd: Added the MURDERDOME VR player versus player combat arena, filled with
- the most powerful weapons Centcom could think of to murder each other peacefully.
- Contact your nearest vendors for VR sleepers.
- - tweak: VR landmarks now accept outfits.
- - tweak: VR Sleepers can now be constructed and researched.
- - tweak: VR Sleepers now respond to mouse drops like sleepers!
- - bugfix: VR sleepers no longer close or open inappropriately.
- Denton:
- - code_imp: Added /syndicate subtypes for air alarms and APCs.
- - bugfix: Added missing stock parts to the syndicate lavaland base.
- - tweak: Added kitchen related circuit boards to the syndie lavaland base.
- Dimmadunk:
- - rscadd: 'There''s a new type of reagent added to the booze dispenser: Fernet.
- With it you can make a couple of new digestif drinks that will help you reduce
- excess fat!'
- Garen:
- - rscadd: Thrower and Gun circuits put messages in chat when they're used.
- - tweak: Only the gun assembly can throw/shoot while in hand
- - imageadd: Adds inhands for the gun assembly
- - bugfix: grabber inventories update when a thrower takes from them
- Pubby:
- - tweak: PubbyStation has been updated. You can now be the lawyer.
- ShizCalev:
- - bugfix: Adminorazine will no longer kill ash lizards.
- - bugfix: Adminorazine will no longer remove quirks.
- iskyp:
- - tweak: the walls on the crashed abductor ship ruin in lavaland can now be broken
- down
-2018-05-18:
- GrayRachnid:
- - rscadd: The Spider Clan proudly announces that they've taken steps to improve
- their hospitality at their capture center! They now hope that captured targets
- would not kill them self or fight between each other, dirtying the floor with
- blood.
- - rscadd: They've also added a VR room for those sick of the real world, taking
- them to a reality where they feel like they matter.
-2018-05-19:
- Alexch2:
- - spellcheck: Fixes tons of typos related to integrated circuits.
- - tweak: Re-writes the descriptions of a few parts of integrated circuits.
- Astatineguy12:
- - tweak: The experimentor is less likely to produce food when it transforms an item
- - bugfix: The experimentor no longer breaks when the toxic waste malfunction occurs
- multiple times and isn't cleaned up
- - bugfix: The experimentor irridiate function actually chooses what item to make
- properly rather than picking from the start of the list
- Dax Dupont:
- - bugfix: Mulligan didn't work on lizards and other mutants. Now it does.
- - bugfix: Foam no longer gives infinite metal
- Denton:
- - code_imp: Loose silver/gold/solar panel crates have been replaced with "proper"
- crates.
- - tweak: There are rumors of the Tiger Cooperative adding a "special little something"
- to some of their bioterror kits.
- Iamgoofball:
- - tweak: Lipolicide now only does damage if you're starving.
- Mickyan:
- - bugfix: Drinking too much Gargle Blaster, Nuka Cola or Neurotoxin no longer breaks
- time and space.
- Nichlas0010:
- - tweak: Reseach Director Traitors can no longer receive an objective to steal the
- Hand Teleporter
- ShizCalev:
- - bugfix: Fixed mobs immune to radiation being killed by HIGH bursts of radiation.
- - bugfix: The book of mindswap will now properly mindswap it's users.
- iksyp:
- - rscadd: stacking machines and their consoles no longer dissapear into the shadow
- realm when broken
- - rscadd: you can link the stacking machine and its console by using a multitool
-2018-05-20:
- Pubby:
- - rscadd: 'Cargo bounties from Nanotrasen. Earn cargo points by completing fetch
- quests. remove: Several cargo exports have been reduced or merged into cargo
- bounties.'
- XDTM:
- - rscadd: 'Added a new lavaland loot item: Memento Mori. A necklace which has the
- power to prevent death, but will turn you into dust if removed.'
-2018-05-22:
- Cyberboss:
- - rscadd: You can now view your last round end report window with the "Your last
- round" verb in the OOC tab
- Dax Dupont:
- - tweak: The BoH dialog now has Abort instead of Proceed as an default option.
- - bugfix: Fixes race condition caused by exiting the body while dying in VR.
- Denton:
- - balance: Skewium is much less likely to appear during the Clogged Vents event.
- Firecage:
- - rscadd: Replaces wardrobe lockers on Box with Wardrobe Vending Machine.
- Kor:
- - rscadd: Engineering can now create anomaly neutralizer devices, capable of instantly
- neutralizing the short lived anomalies created by the supermatter engine.
- - rscadd: The Quartermaster and HoP can now access the vault so they can use the
- bank machine.
- Mickyan:
- - bugfix: Pacifists can now use harm intent for actions that require it (but still
- can't harm!)
- Naksu:
- - code_imp: Added EMP protection component, replaced various bespoke ways things
- handled EMP proofness
- Nichlas0010:
- - spellcheck: you now feel nauseated instead of nauseous
- - bugfix: Comms consoles won't update while viewing messages
- SpaceManiac:
- - bugfix: Pipe icons in the RPD now show properly in older versions of IE.
- - bugfix: Family heirlooms which can fit in pockets will now spawn there.
- - bugfix: Family heirlooms which only fit in the backpack now show the backpack
- at roundstart.
- - bugfix: Family heirlooms which do not fit in the backpack are no longer gone forever.
- - bugfix: Mindswapping with someone else no longer forces ambient occlusion on.
- - code_imp: IRV polls now use the same version of jQuery as everything else.
- - bugfix: Hydroponics trays can no longer be deconstructed with their panels closed
- or unanchored while irrigated.
- - tweak: Frames for machines which do not require being anchored can now be un/anchored
- after the circuit has been added.
- - bugfix: Removing an ID from a PDA in a backpack no longer hides the ID until something
- else updates.
- - bugfix: Opening and closing airlocks repeatedly no longer stacks queued autocloses.
- - bugfix: Admin AI interaction now works properly on firelocks.
- - spellcheck: Fix "Your the wormhole jaunter" when a wormhole jaunter saves you
- from a chasm.
- Wilchen:
- - rscdel: Removed box of firing pins from rd's locker
- armhulen:
- - rscdel: chameleon guns are disabled for breaking the server
- kevinz000:
- - bugfix: Field generators are once again operable by adjacent cyborgs.
- - bugfix: Digital valves are once again operable by silicons.
- - bugfix: Chasms no longer drop mobs buckled to undroppable mobs or objects.
- resistor:
- - rscadd: Added circuit labels! You can now customize the description of your assemblies.
-2018-05-23:
- ShizCalev:
- - bugfix: Fixed a runtime with the gulag teleporter that could cause the process
- to fail if you removed the ID.
- - tweak: Not setting the goal of a prisoner's ID when teleporting them will now
- set the ID's goal to the default value (200 points at the time of this change.)
- SpaceManiac:
- - bugfix: Flipping and then rotating trinary pipe fittings no longer causes their
- icon to mismatch what they will become when wrenched.
- - bugfix: RPD tooltips for flippable trinary components have been corrected.
- - bugfix: Entertainment monitors now view the real Thunderdome rather than the template.
- cyclowns:
- - rscadd: Analyzers can now scan all kinds of atmospheric machinery - unary, binary,
- ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers,
- vents and so forth can be analyzed.
- - tweak: Analyzers now show temperature in kelvin as well as celsius.
- - tweak: Analyzers now show total mole count, volume, and mole count of all gases.
- - tweak: Analyzers show everything at slightly higher degrees of precision.
- imsxz:
- - admin: Using mayhem bottles and going under their effects is now logged.
- kevinz000:
- - rscadd: Any anomaly core can now be deconstructed for a one time boost of 10k
- points in the deconstructive analyzer.
-2018-05-25:
- Astatineguy12:
- - bugfix: The mime blockade spell now shows up under the right tab
- Cruix:
- - rscadd: Added a button to chameleon items to change your entire chameleon outfit
- to the standard outfit of a selected job.
- Dax Dupont:
- - rscadd: Murderdome now has a telecomm system, so you can taunt your enemies better.
- - rscadd: Snowdin has come back, as VR!
- - rscadd: Nanotrasen Tactical Bureau has discovered a Syndicate VR Training program
- on their last raid. It seems to be based on an old CentCom design...
- - rscadd: Restricted variant of the uplink. Will allow admins and such to spawn
- uplinks in remote arenas or for events that aren't as destructive and can't
- communicate with other Zs.
- - bugfix: Extends same Z level check to monitor and bugging operations too for camera
- bug.
- - bugfix: VR sleepers now show the stat of the VR avatar instead of the user as
- intended.
- - code_imp: Makes it throw a stack trace when you ghostize in VR.
- - tweak: It will now delete the body if it's unconscious if you try to reconnect,
- to speed up reconnection.
- - balance: Emagged sleepers will now display a notification on the UI, and make
- you slightly dizzy after a while.
- - balance: More chemicals can be found when vents get clogged.
- - bugfix: Fixes accidental empty ahelp replies.
- Denton:
- - rscadd: Departmental wardrobe vendors have been added to all maps.
- - spellcheck: Sorted cargo packs (wardrobe refills//alphabetically) and mining vendor
- items (by price), again.
- - bugfix: 'Navbeacon access requirements have been fixed: Now you need either Engineering
- or Robotics access, but not both at the same time.'
- Garen:
- - rscdel: Removed circuitry save files saving whether or not the assembly is open.
- - rscadd: Adds messages for when you successfully use a sensor or scanner circuit.
- - bugfix: Fixed circuit printers printing advanced assemblies from save files despite
- not being upgraded.
- - bugfix: Fixed circuit printers printing circuits into assemblies that wouldn't
- normally be able to hold them.
- - bugfix: Fixed circuit assemblies taking damage when using objects with the help
- intent.
- Mickyan:
- - spellcheck: fixed typo in bronze girder construction
- MrDoomBringer:
- - rscadd: Cargo now has access to Supplypod Beacons! Use these to call down supplypods
- with frightening accuracy!
- - imageadd: the VR sleeper action button has a sprite now
- Naksu:
- - code_imp: Replaced initialized and admin_spawned vars with flags.
- - code_imp: changed the shockedby list on doors to be only initialized when needed.
- - tweak: Chameleon projector can no longer scan (often temporary) visual effects
- like projectiles, flashes and the masked appearance of another chameleon projector
- user
- - bugfix: Drones can no longer see a static overlay over invisible revenants
- - balance: adjusted default antag rep points to grant every job the same amount
- of points per round, except for assistant which gets 30% less
- SpaceManiac:
- - bugfix: Non-harmfully placing someone who is resting on a table no longer makes
- them get up.
- - bugfix: The disco machine no longer lags the chat by spamming "You are now resting!"
- messages.
- - bugfix: The green overlay indicating where a map template will be placed is no
- longer invisible on space turfs.
- - bugfix: CentCom is no longer self-looping, fixing the ability to see or get into
- certain areas after escaping to space.
- - bugfix: The destructive analyzer no longer consumes entire stacks to give the
- benefit of one sheet.
- - bugfix: Xeno weeds and floors under diagonal walls are now on the correct plane,
- fixing odd ambient occlusion appearances.
- - bugfix: Inserting materials into protolathes with telekinesis is now possible.
- - bugfix: Telekinesis no longer teleports items removed from deep fryers, constructed
- sandbags, and leftover materials not inserted into lathes.
- - bugfix: Telekinetic sparkles now appear in the correct place when clicking on
- a turf and when clicking in the fog of war in widescreen.
- - bugfix: Telekinetically adjusting power tools no longer causes them to exit the
- universe.
- - tweak: Examining a telekinetic grab in-hand will now examine the grabbed object.
- - bugfix: Frost spiders now correctly inject frost oil on bite.
- yorii:
- - bugfix: Fixed the smartfridges to be in line with all other machines and puts
- the released item in your hand.
-2018-05-26:
- Dax Dupont:
- - bugfix: Experimentor no longer shits out primed TB nades.
- Garen:
- - rscadd: Added a cell charger to the circuitry lab on all stations.
- - rscadd: Added a circuitry lab to the syndicate lavaland base.
- - tweak: Modified the meta station circuitry lab.
- Iamgoofball:
- - rscadd: Humans require ice cream. Eat the ice cream.
- Kor:
- - rscadd: Bag of Holding detonations have been significantly reworked.
- Robustin with cat earrs:
- - bugfix: 'Gun overlays should be way less laggy now. remove: Chameleon guns are
- completely removed since they crash the server, were already made unavailable,
- and are the worst shitcode I''ve ever seen in my life.'
- SpaceManiac:
- - tweak: Clicking on the viewport to focus it no longer leaves the input bar red.
- - admin: Create Object will no longer force objects with special directional logic
- to be facing south by default.
- - bugfix: Running diagonally into space now properly continues the diagonal movement
- in zero-gravity.
-2018-05-27:
- Armhulen, and Keekenox:
- - rscadd: Chaplain now gets custom armor too! Order it from the beacon in your locker.
- Cobby:
- - tweak: Several of the recent drinks added have now been given effects!
- - rscadd: 'Alexander: Conquer the world... or just the station with this drink!
- If you have a shield, it will increase the block chance by 10 percent! Careful
- not to drop it in battle though....'
- - rscadd: 'Between The Sheets: Save the pillow talk for next shift, having this
- in your system while you''re asleep will slowly heal you!'
- - rscadd: 'Menthol: Prevents coughing. Good for a cold or if the Chaplain gets his
- hands on a smoke book!'
- - tweak: Descriptions have been edited so that if you view these under a chem master
- they will tell you the effect.
- - tweak: Decals are the exception to the recent removal of effects in Chameleon
- Projectors.
- Dax Dupont:
- - bugfix: Did you know istype doesn't work on paths even though they are mostly
- the same? Yeah I didn't either. Experimentor shouldn't shit out TB nades anymore.
- - bugfix: Fixes item reactions for relics as well.
- - rscadd: Adds better messaging
- - bugfix: Fixes summons happening on away missions.
- GuyonBroadway:
- - rscadd: Adds gloves of the north star to the traitor uplink. Wearing these gloves
- lets you punch people five times faster than normal.
- - rscadd: Sprites for the gloves courtesy of Notamaniac
- Mickyan:
- - rscadd: 'New trait: Drunken Resilience. You may be a drunken wreck but at least
- you''re healthy. If alcohol poisoning doesn''t get you, that is!'
- Naksu:
- - rscadd: Nuclear explosive-shaped beerkegs found on metastation can now be triggered
- with the nuclear disk and the syndicate's legacy nuclear code for a foamy surprise
- SpaceManiac:
- - bugfix: Unwrenching and re-wrenching pre-mapped atmos components no longer turns
- them on automatically.
- steamport:
- - bugfix: Borgs/AIs can now toggle rad collectors
-2018-05-28:
- CitrusGender:
- - bugfix: Kills you if you're under 0% blood and above -9999% blood level (shouldn't
- be possible through normal means to be below that.)
- - bugfix: Stops bloodloss trait from happening if your race contains the NO_BLOOD
- - bugfix: added a check to see if the preferred race is human when the name doesn't
- have a space
- Dennok:
- - bugfix: Fixed a laser reflections from reflectors.
- Denton:
- - tweak: Deltastation's firing range has been decommisioned and replaced with a
- brand new toxins burn chamber.
- - bugfix: Delta toxins disposals are now actually connected to the disposals loop.
- Toxins storage has a fire alarm too.
- - bugfix: The shutter buttons of Pubbystation's mechbay now check for access.
- SpaceManiac:
- - bugfix: The robustness of the Super Secret Room has been increased.
- - bugfix: Observers can no longer move the action button toggle or change the ambient
- occlusion setting of their targets.
- - bugfix: The emergency space suit safes in escape pods are no longer always unlocked.
- Tlaltecuhtli:
- - bugfix: apiaries from cargo start unwrenched
-2018-05-29:
- Dennok:
- - rscadd: Collectors show their real produced power and stored power when examined
- Naksu:
- - code_imp: removed some unneeded typecaches
-2018-05-31:
- CitrusGender:
- - bugfix: Flamethrowers are no longer uncraftable since they have a part that happens
- to be a tool.
- - bugfix: Fixes cyborgs not being able to use two-handed modules while other modules
- are equipped.
- CosmicScientist:
- - rscdel: Can't make drones anymore
- Cruix:
- - rscadd: AIs now have an experimental multi-camera mode that allows them to view
- up to six map areas at the same time, accessible through two new buttons on
- their HUD.
- Cyberboss:
- - config: The limit of monkey's spawned via monkey cubes is now configurable
- Dax Dupont:
- - bugfix: Fixes the wrong tiles in Syndicate VR trainer and uses different tiny
- fans.
- - bugfix: Access didn't append to VR IDs
- Firecage:
- - rscadd: The mech fabricator can now print two new janiborg upgrades. Advanced
- Mop and Trash Bag of holding. These two upgrades uses the advanced robotics
- node.
- SpaceManiac:
- - bugfix: Changing UI Style preference now takes effect immediately rather than
- next round.
- - bugfix: Mindswapping with someone no longer gives you their UI style.
- - bugfix: The destructive analyzer can once again be used to reveal nodes.
- - spellcheck: Some references to "deconstructive analyzer" have been updated to
- "destructive".
- - tweak: Hulks and catpeople now show "Human-derived mutant" under "Species" when
- health scanned.
- - bugfix: Cyborg inventory slots once again unhighlight when a module is stowed.
- deathride58:
- - rscadd: Things that are capable of igniting plasma fires will now generate heat
- if there's no plasma to ignite. Building a bonfire inside the station without
- taking safety precautions is now a bad idea.
- kevinz000:
- - rscadd: Plasma specific heat is 500J/K*unit, everything else is 200
- zaracka:
- - bugfix: The Spirit Realm rune no longer spawns a braindead cult ghost when attempting
- to summon one after a player reaches the limit.
-2018-06-01:
- Big Tobacco:
- - rscadd: Cheap lighters now come in four different shapes and Zippos can have one
- of four different designs, collect them all and improve our sales!
- - imageadd: All existing lighter sprites have been given a face-lift and the flames
- are now subtly animated.
- - tweak: Cheap lighters now use a fixed list of 16 colors to pick from instead of
- using totally randomized colors.
- - imageadd: Cigar cases have been tweaked to be a bit smaller and to have a modified
- design.
- - imageadd: Cohiba Robusto and Havanan cigars now use separate case sprites from
- the generic premium cigar cases.
- Dax Dupont:
- - bugfix: Fixed rpeds throwing stock part rating related runtimes.
- Naksu:
- - code_imp: NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 have been moved to
- item_flags
- - tweak: brass handcuffs, meat hook and the chrono gun now conduct electricity.
- Nichlas0010:
- - bugfix: You can no longer use a soapstone infinitely
- SpaceManiac:
- - bugfix: Moving diagonally past delivery chutes, transit tube pods, &c. no longer
- causes your camera to be stuck on them.
- - refactor: The base machinery type is now anchored by default.
- - bugfix: Pubby's auxiliary mining base now works again.
- - bugfix: Cloning no longer breaks a character's connection to their family heirloom.
- - bugfix: The overlay effects of cult flooring are now on the floor plane, fixing
- their odd ambient occlusion appearance.
- - bugfix: Beam rifle tracers no longer fall into chasms.
- - bugfix: Vomiting on the same tile a second time no deletes the vomited reagents.
- theo2003:
- - bugfix: fixed the clockwork helmet not dropping to ground when used by non-clock
- cultists
-2018-06-03:
- Denton:
- - tweak: 'Pubbystation: Added a dual-port vent pump to the toxins burn chamber.'
- - code_imp: Removed most airlock_controller/incinerator related varedits and replaced
- them with defines/subtypes.
- - tweak: The Deltastation toxins lab has its portable scrubber, air pump and intercom
- back.
- Naksu:
- - bugfix: comms consoles now work in transit again, and no longer work in centcom
- - code_imp: removed unnecessary getFlatIcons from holocalls
- - bugfix: Screwdrivers and other items with overlays now show the proper appearance
- of the item when attacking something with them, or when put on a tray.
- Nichlas0010:
- - bugfix: You now can't get multiple download objectives!
- - tweak: RDs, Scientists and Roboticists can no longer get download objectives!
- ShizCalev:
- - bugfix: Fixed cigar cases & cigarette packets taking two inventory slots
- - bugfix: Fixed cigar cases showing the wrong icon for the cigars inside them.
- - bugfix: Fixed cigar cases & cigarette packets stating the wrong name of the cigar/cigarette
- when removed via altclick.
- - bugfix: Fixed items in pockets vanishing when a mob is monkeyized.
- - bugfix: Fixed items in pockets vanishing when a mob is gorillized.
- - bugfix: Fixed items in pockets vanishing when a mob is infected with a transformation
- disease.
- - bugfix: Fixed items in pockets not being properly deleted when a mob goes through
- a recycler
- - bugfix: Fixed items in pockets not being properly deleted when highlander mode
- is enabled.
- - bugfix: Fixed exploit allowing you to remove unremovable tanks from pockets.
- - bugfix: Fixed items in pockets dropping when a mob is equipped with a new outfit.
- - bugfix: Fixed items in pockets not being covered in blood when equipping the psycho
- outfit.
- SpaceManiac:
- - bugfix: Switching mobs into/out of a mech (by VR, ghosting, or mindswap) no longer
- improperly applies the mech's cursor.
- ThatLing:
- - bugfix: PDA style now gets loaded correctly.
- cyclowns:
- - bugfix: Fires no longer flicker back and forth like crazy
- iskyp:
- - tweak: switched the type of the space suit on the syndicate shuttle
- theo2003:
- - tweak: roboticists have access to R&D windoors
- - bugfix: fixed hydroponics tray weed light staying on when removing weeds with
- integrated circuits
- yorpan:
- - rscadd: Brain damage makes you say one more thing.
-2018-06-04:
- Beachsprites:
- - imageadd: added directional beach sprites
- MrDoomBringer:
- - admin: Central Command can now smite misbehaving crewmembers with supply pods
- (filled with whatever their hearts desire!)
- SpaceManiac:
- - bugfix: Atom initialization and icon smoothing no longer race, causing late-loading
- mineral turfs to have no icon.
- - spellcheck: Faceless persons no longer "melt their face off" in energy gun suicides.
- - bugfix: The Lightning Bolt spell now works again.
- yenwodyah:
- - bugfix: A few virus threshold effects should work now
-2018-06-06:
- Dax Dupont:
- - bugfix: Fixes a sentience related exploit by blacklisting it in restricted uplinks.
- Denton:
- - rscadd: Arcades have been stocked with preloaded tactical snack rigs.
- - bugfix: Swarmers can no longer attack field generators and turret covers.
- - bugfix: The Pubbystation maint bar Booze-O-Mat now shows its contents correctly.
- MrDoomBringer:
- - admin: CentCom Supplypods now stun their target before landing, and won't damage
- the station as much
- Naksu:
- - code_imp: moved /datum.isprocessing into datum flags
- iksyp:
- - bugfix: Ever since the great emotion purge of 2558, people were able to work at
- top efficiency, even while starving to death. This is no longer the case, Nanotrasen
- Scientists say.
- - admin: Hunger slowdown only applies if mood is disabled in the config.
-2018-06-07:
- Cruix:
- - bugfix: Picture-in-picture objects now are no longer overlapped by other certain
- objects
- SpaceManiac:
- - bugfix: It is now possible to access the wires of RND machines in order to repair
- them if they have been EMP'd.
- Tlaltecuhtli:
- - bugfix: rad collectors set to research point gen are somewhat ok now
- kevinz000:
- - tweak: Vehicle speed changes now happen immediately instead of on the next movement
- cycle
-2018-06-08:
- AnturK:
- - code_imp: Gravity can now go above 1g
- CitrusGender:
- - imageadd: sandstone wall sprite for indestructible object
- Denton:
- - tweak: Added a warning to the shuttle purchase menu.
- - bugfix: Added missing vents to runtimestation.
- - tweak: 'Runtimestation: Added /debug EMP flashlight, emag, techfab and tiny fans.
- Replaced RCD, healing wand and sleeper with more suitable subtypes.'
- MrDoomBringer:
- - tweak: Due to DonkCo's recent budget cuts, their line of toy emags are now noticably
- less realistic. As such, you can now examine an emag to determine if it is a
- toy or not.
- Naksu:
- - balance: Temperature gun projectiles now respect armor/dodge, and will no longer
- freeze you if they don't hit you.
- SpaceManiac:
- - bugfix: The thermal sight benefits of lantern wisps no longer disappear if you
- change glasses.
- - bugfix: Paradox bags no longer block the middle of your screen until reconnect,
- and also actually work.
- - bugfix: A pAI dying while in holoform no longer deletes the card, instead merely
- emptying it.
- - bugfix: The elevators in the Snowdin away and VR missions work again.
- - bugfix: Minor atmos issues in Snowdin and UO45 have been corrected.
- Tlaltecuhtli:
- - bugfix: all spiders can make webs now
- deathride58:
- - balance: Sparks, using welding tools, using igniters, etc, will no longer cause
- an instant fireless inferno in small rooms.
- - tweak: The revert of the original hotspot_expose() PR has been reverted, since
- the reason as to why it was reverted was resolved with this change.
- - balance: Reverted the increased rad collector tech point gain rate.
- fludd12:
- - rscadd: Love potions are marginally more interesting! This same effect applies
- to if you are a valentine!
- - tweak: The names of extracts are now in the proper order, finally!
- - rscadd: Self-sustaining extracts are in! Technically, this is a fix, but whatever.
- - bugfix: Stabilized Cerulean extracts no longer vaporize items into the Aetherium.
- - rscadd: Stabilized Gold extracts are now moderately more fun to use! The randomized
- creature persists if it is killed, and can be rerolled at will! Also, if you
- give the creature a sentience potion, the mind will transfer over!
- oranges:
- - rscadd: Sec now has khaki pants for tacticoolness
-2018-06-11:
- Mickyan:
- - rscadd: Added an abandoned kitchen to Metastation maintenance
- XDTM:
- - bugfix: Fixed anti-magic not working at all.
- fludd12:
- - bugfix: Stabilized gold extracts now respawn the familiar properly.
- - bugfix: Stabilized gold familiars retain the proper languages even after respawning.
- - tweak: Stabilized gold familiars can be renamed and have their positions reset
- at will.
-2018-06-12:
- Dax Dupont:
- - bugfix: Botany trays don't magically refill anymore with a rped.
- SpaceManiac:
- - tweak: Fire alarms now redden all the room's lights, and emit light themselves,
- rather than applying an area-wide overlay.
- - bugfix: Fire alarms no longer visually conflict with radiation storms.
- - bugfix: Pulling objects diagonally no longer causes them to flail about when changing
- directions.
- - bugfix: Riders are no longer left behind if you move while pulling something that
- has since been anchored.
- - bugfix: Lockboxes are now actually locked again.
- - bugfix: Deaf people can no longer hear cyborg system error alarms.
- - bugfix: Plasmamen now receive their suit and internals when entering VR.
- - bugfix: Legion cores and admin revives now heal confusion.
- XDTM:
- - bugfix: Diseases now properly lose scan invisibility if their stealth drops below
- the required threshold.
-2018-06-13:
- 'Armhulen code, Keekenox sprites and S_____ as the ideas guy :roll_eyes:':
- - rscadd: 'New drinks: Peppermint Patty and the Candyland Extract!!'
- CitrusGender:
- - bugfix: checks to see if bullets are deleted if they are the ammo type and the
- bullet chambered.
- Dax Dupont:
- - balance: It's now easier to become fat. Don't eat so much.
- Mickyan:
- - bugfix: Fixed pacifists being able to harm using bottles/screwdrivers
- SpaceManiac:
- - spellcheck: Capitalization, propriety, and plurality on turfs have been improved.
- XDTM:
- - tweak: Coldproof mobs can now be cooled down, but are still immune to the negative
- effects of cold.
- - bugfix: This also fixes some edge cases (freezing beams) where mobs could be cooled
- down and damaged despite cold resistance.
- - balance: Virus crates now contain several bottles of randomly generated diseases
- with symptom levels up to 8.
- - rscdel: Removed the single-symptom bottles that were included in the virus crate.
- - balance: Androids are now immune to radiation.
- cacogen:
- - rscadd: You can now see what other people are eating or drinking.
- - rscadd: Borg shaker can now synthesise milk, lemon juice, banana juice and coffee
- - bugfix: Renamed drinks no longer revert to their original name when their reagents
- change
- chesse20:
- - rscadd: Adds Exotic Corgi Crate to Cargo
- - rscadd: Adds Exotic Corgi, a Corgi with a random hue applied to it
- - rscadd: Adds Talking Corgi Crate, and talking Corgi
-2018-06-15:
- CitrusGender:
- - bugfix: logs will now show ckeys when admin transformations are done
- Cruix:
- - bugfix: Item attack animations can no longer be seen over darkness or camera static.
- Dax Dupont:
- - admin: You can now send messages as CentCom through people's headsets.
- - bugfix: Fixes missing cream pies in the cream pie fridge.
- Denton:
- - bugfix: 'Omegastation: Connected the Engineering Foyer APC to the powernet.'
- - bugfix: 'Pubbystation: Connected Chemistry disposals to the pipenet and fixed
- Booze-O-Mat related display/access issues.'
- - tweak: Syndicate stormtroopers now fire buckshot again.
- Naksu:
- - bugfix: Pipe dispensers can no longer create pipes containing literally anything
- Nichlas0010:
- - tweak: The TEG and its circulator can now be deconstructed and rotated!
- - tweak: The TEG and its circulator now supports circulators in all directions,
- rather than just west/east!
- SpaceManiac:
- - rscadd: A new OOC verb "Fit Viewport" can be used to adjust the window splitter
- to eliminate letterboxing around the map. It can also be set to run automatically
- in Preferences.
- - bugfix: Refunding nuclear reinforcements while polling ghosts no longer summons
- the reinforcements into the error room anyways.
- - bugfix: Shift-clicking turfs obscured by fog of war no longer lets you examine
- them.
- - admin: It is now possible to cancel "Manipulate Organs" midway through.
- Tlaltecuhtli:
- - rscadd: Added shoes to leather recipes
- ninjanomnom:
- - bugfix: Gas overlays left over in some turf changes should no longer stick around
- where they shouldn't.
-2018-06-17:
- Dax Dupont:
- - refactor: Syndicate and Centcom messages have been squashed together.
- - admin: You can now send both Syndicate and Centcom headset messages. Be mindful
- that the button was changed to HM in the playerpanel
- - bugfix: Fixed missing grilles under brig windows of the pubby shuttle.
- - rscadd: For the pubby shuttle, added some food in the fridge, mostly pie slices.
- Also added a sleeper to the minimedbay.
- - tweak: Reworded pubby shuttle description to be more inline with the new train
- shuttle.
- - bugfix: Chem synths overlays aren't all kinds of fucked anymore.
- - refactor: Unfucked all of the remaining chem synth code.
- - refactor: Reagents no longer have an unused var that's always set to true. Who
- did this?
- - bugfix: You can no longer remove circuits with your mind.
- - balance: Makes the xeno nest ruin harder to cheese.
- - bugfix: Fixes the bathroom being airless in the Space Ninja anime jail.
- Denton:
- - tweak: 'Runtimestation: Added shuttle docking ports, a comms console, cargo bay
- and syndicate/centcom IDs.'
- - balance: Pirates and Syndicate salvage workers have been beefed up around the
- caravan ambush ruin.
- Pubby:
- - bugfix: 'PubbyStation: Fixed disposals issue in security hallway'
- SpaceManiac:
- - bugfix: Moving large amounts of items with bluespace launchpads no longer creates
- a laggy amount of sparks.
- - bugfix: Unbreakable ladders are now left behind when shuttles move.
- - bugfix: It is no longer possible to pull the mirages images at space transitions,
- and some other abstract effects.
- - tweak: PDAs and radios with unlocked uplinks no longer open their normal interface
- in addition to the uplink when activated.
- - tweak: Nuclear operative uplinks are no longer also radios.
- - bugfix: The mining shuttle can once again fly to the aux base construction room
- after the base has dropped.
- - bugfix: The escape pod hallways on MetaStation and DeltaStation now have air again.
- - bugfix: Hyperspace ripples now remain visible until the shuttle arrives, even
- during extreme lag.
- - bugfix: Ripples now correctly take the shape of the shuttle, rather than always
- being a rectangle.
- - bugfix: Non-secure windoors now properly support the "One Required" access mode
- of airlock electronics.
- Tlaltecuhtli:
- - rscadd: After years of protests NT decided to update the fire security standards
- by adding 3 (three) advanced fire extinguishers to all the new stations.
- and Fel:
- - imageadd: New chairs are on most shuttles! Finally, you can relax in style while
- escaping a metal death trap.
- cyclowns:
- - rscadd: Fusion has been re-enabled! It works similarly to before, but with some
- slight modification.
- - tweak: Fusion now requires huge amounts of plasma and tritium, as well as a very
- high thermal energy and temperature to start. There are several tiers of fusion
- that cause different benefits and effects.
- - tweak: The fusion power of most gases has been tweaked to allow for more interesting
- interactions.
- - tweak: BZ now takes N2O and plasma to create, rather than tritium and plasma.
- - bugfix: Fusion no longer delivers server-crashingly large amounts of radiation
- and stationwide EMPs.
- theo2003:
- - rscadd: Players who edited a circuit assembly can scan it as a ghost.
-2018-06-18:
- CitrusGender:
- - tweak: The blob core (and only the blob core) now respawns randomly on the station
- when the core is taken off z-level
- - bugfix: Prevents the round from going into an unending state
- - code_imp: Added a variable to the stationloving component for objects that can
- be destroyed but not moved off z-level
- Denton:
- - tweak: NanoTours is proud to announce that the Lavaland beach club has been outfitted
- with a dance machine, state of the art bar equipment and more.
- SpaceManiac:
- - bugfix: It is no longer possible to repair cyborg headlamps even when their panel
- is closed.
- - bugfix: Item fortification scrolls no longer add multiple prefixes when applied
- to the same item.
- - bugfix: The gulag shuttle no longer moves instantly when returned via the claim
- console.
- - admin: It is now possible to use the ".p" (Asay) and ".d" (Dsay) prefixes while
- an admin ghost.
-2018-06-19:
- Cyberboss:
- - admin: Speaking in deadchat now shows your rank instead of ADMIN
- Dax Dupont:
- - balance: Circuit lab no longer starts with super batteries, they have been replaced
- with high batteries.
- - balance: Circuit labs now start with 20 sheets of metal instead of 50/100. Plenty
- of materials on the station you can gather.
- - balance: Circuit labs no longer have their own protolathe and autolathe. Science
- has their own lathes already.
- - tweak: There's no more entire library worth of equipment, they can go publish
- the books like the rest of the station, in the library. At least give the librarians
- something other to do than screaming about lizard porn on the radio.
- Hyacinth-OR:
- - rscadd: Added a pink scarf to vendomats
- Irafas:
- - rscadd: Players can now ctrl-click the PDA to remove the item in its pen slot
- JStheguy:
- - rscadd: Added the data card reader circuit, a circuit that is able to read data
- cards, as well as write to them.
- - tweak: Data cards are now longer inexplicably called data disks despite clearly
- being cards, and can be printed from the "tools" section of the integrated circuit
- printer.
- - tweak: Data cards no longer have a special "label card" verb and instead can have
- their names and descriptions changed with a pen.
- - rscadd: Also, some aesthetically different variants of the data cards, because
- why not.
- - imageadd: Data cards have new sprites, with support for coloring them via the
- assembly detailer.
- Naksu:
- - code_imp: Sped up atmos very slightly
- ninjanomnom:
- - rscadd: A plush that knows too much has found its way to the bus ruin.
-2018-06-21:
- BlueNothing:
- - tweak: Grabbers can no longer hold circuit assemblies
- CitrusGender:
- - bugfix: Ruins air alarms will no longer be reported in the station tablets
- - bugfix: added a clamp so you can't set a negative multiplier to create materials
- and create more than 50 items.
- Cobby:
- - rscdel: Removed Advanced Mining Scanner from roundstart voucher kits.
- - rscdel: Removed Explorer Webbing from all voucher kits besides the shelter capsule
- pack.
- Denton:
- - bugfix: The public booze-o-mats and autodrobes on Box/Delta/Meta now have no access
- requirements, as previously intended.
- - rscadd: Regular and advanced health analyzers can now be researched and printed.
- McDonald072:
- - rscadd: A few new circuits for dealing with atmospherics have been uploaded to
- your local printers.
- NewSta:
- - tweak: made it easier to see from the back whether someone is occupying the shuttle
- chair or not.
- SpaceManiac:
- - tweak: One canister is now suitable to fully stock a vending machine. Relevant
- cargo packs have been updated.
- - bugfix: Deconstructing and reconstructing a vending machine no longer creates
- items from thin air.
- - bugfix: Using a part replacer on a vending machine no longer empties its inventory.
- - rscadd: Bluespace RPEDs can now be used to refill vending machines.
- Tlaltecuhtli:
- - bugfix: anomaly cores no longer tend to dust
- YPOQ:
- - bugfix: Watcher beams will freeze you again
-2018-06-23:
- Dax Dupont:
- - imageadd: CHANGE PLACES, SHUTTLE CHAIRS HAVE BEEN CHANGED AGAIN.
- - admin: Create antags now checks for people being on station before applying.
- ExcessiveUseOfCobblestone:
- - spellcheck: Plant disks with potency genes clarify the percent is for potency
- scaling and not relative to max volume on examine.
- Kor:
- - rscadd: Bubblegum has regained his original (deadlier) move set.
- SpaceManiac:
- - bugfix: Fire extinguishers on the emergency shuttle are no longer unclickable
- once removed from their cabinets.
- kevinz000:
- - rscadd: Blast cannons have been fixed and are now available for purchase by traitorous
- scientists for a low low price of 14TC.
- - rscadd: 'Blast cannons take the explosive power of a TTV bomb and ejects a linear
- projectile that will apply what the bomb would do to a certain tile at that
- distance to that tile. However, this will not cause breaches, or gib mobs, unless
- the gods (admins) so will it. experimental: Blast cannons do not respect maxcap.
- (Unless the admins so will it.)'
-2018-06-24:
- CitrusGender:
- - bugfix: Fixed cyborgs not getting their names at round start
- - bugfix: Fixed cyborgs and A.I.s being able to bypass appearance bans
- SpaceManiac:
- - bugfix: The "Save Logs" option in the chat now actually works (IE 10+ only).
- Time-Green:
- - bugfix: Soda is no longer intangible to the laws of physics
- cinder1992:
- - rscadd: The Captain can now go down with their station in style! Suicide animation
- added to the Officer's Sabre.
- kevinz000:
- - rscadd: Cyborgs now drop keys on deconstruction/detonation
-2018-06-27:
- Cyberboss:
- - server: Logs and admin messages will now appear when you are using deprecated
- config settings and advise on upgrades
- Dax Dupont:
- - admin: Malf AI machine overloads now are logged/admin messaged.
- - tweak: The tree of liberty must be refreshed from time to time with the blood
- of patriots and tyrants. We've removed access requirements from liberation station
- vendors.
- - bugfix: Fixes more href exploits in circuits
- - refactor: Printing premade assemblies is no longer shitcode, time remaining had
- to go for this.
- - admin: Filled holes in the logging of circuits
- Denton:
- - tweak: Camera networks, monitor screens and telescreens have been standardized.
- - tweak: Motion-sensitive cameras now show a message when they trigger the alarm.
- - bugfix: The Box/Meta auxillary base camera now works.
- - bugfix: Bomb test site cameras now emit light, as intended.
- - bugfix: 'Meta: Replaced the RD telescreen in the CE office with the correct one.'
- - tweak: Did you know that honey has antibiotic properties?
- Irafas:
- - bugfix: Hardsuit helmets now protect the wearer from pepperspray
- - bugfix: Bucket helmets cannot have reagents transferred into them until after
- they are removed
- MadmanMartian:
- - bugfix: Cameras that are EMPed no longer sound an alarm
- Mickyan:
- - bugfix: Branca Menta won't make you starve and then kill you
- - tweak: Fernet has been moved to contraband
- Naksu:
- - code_imp: Removed unused effect object that could be used to spawn a list of humans
- Nichlas0010:
- - bugfix: Mothpeople no longer push objects to move in 0-grav, if they can fly
- SpaceManiac:
- - refactor: AI static now uses visual contents and should perform better in theory.
- - bugfix: Pocket protectors now work again.
- - bugfix: URLs are no longer auto-linkified in character names and IC messages.
- - bugfix: It is once again possible for Cargo to export mechs.
- - bugfix: Deaths in the CTF arena are no longer announced to deadchat.
- Tlaltecuhtli:
- - tweak: tourettes doesnt stack on itself anymore
- - bugfix: fixes cult shuttle message repeating
- Zxaber:
- - rscadd: Cyborgs can wear more hats now.
- kevinz000:
- - rscadd: R&D deconstructors can now destroy things regardless of if there's a point
- value or material
- nichlas0010:
- - bugfix: You should now receive your destroy AI objectives properly during IAA
-2018-06-28:
- Anonmare:
- - balance: The possessed chainsword no longer makes e-swords look pathetic
- Dax Dupont:
- - admin: Admins can now scan circuits if they have admin AI interaction enabled.
- - admin: some more circuit logging
- - rscadd: You can now build clown borgs with a little bit of bananium and research.
- Praise be the honkmother.
- - rscadd: New upgrade module has been added so making loot/tech web borg modules
- has become easier for admins/mappers/coders.
- - refactor: Unused and broken OOC metadata code has been killed.
- Denton:
- - tweak: Added a disk compartmentalizer to Omegastation's hydroponics.
- Kraso:
- - bugfix: You can no longer use a soulstone shard to tell who's a cultist.
- ShizCalev:
- - bugfix: The blob will no longer take over space/mining/ect upon victory.
-2018-06-29:
- BlueNothing:
- - balance: Cavity implants can no longer hold normal-sized combat circuits. Grabbers
- can now hold up to assembly size.
- - bugfix: Grabbers and throwers no longer function inside of storage implants.
- Denton:
- - tweak: Added all-in-one tcomms machinery and an automated announcement system.
- Mickyan:
- - imageadd: graffiti letters and numbers have received a makeover
- MrDoomBringer:
- - imageadd: Disk Fridges now have sprites! Ask cobby if you're wondering why they
- look like toasters.
-2018-06-30:
- Dennok:
- - bugfix: Deconstructable TEG now propertly connects to pipes.
- - bugfix: Fix of inverted TEG sprite of slow turbine turning. add:Now you can flip
- circulator and make TEG of your dream. add:Add TEG and circulator to "Advanced
- Power Manipulation" techweb node.
- MacHac:
- - rscadd: Changelings can now take the Pheromone Receptors ability to hunt down
- other changelings.
- TerraGS:
- - imageadd: New icon for plastic flaps that actually looks airtight.
- - code_imp: Update to plastic flaps code to use tool procs rather than attackby
- and removed two pointless states.
-2018-07-01:
- Denton:
- - tweak: To comply with space OSHA regulations, all toasters (disk compartmentalizers)
- have been put on tables.
- - rscadd: Added a disk compartmentalizer to the seed vault Lavaland ruin.
- Nichlas0010:
- - bugfix: Changelings can now greentext the extract more genomes objective.
- Thunder12345:
- - rscadd: Added a colour picker component for use with circuits.
-2018-07-02:
- AnturK:
- - bugfix: non-player monkeys won't fight when stunned.
- Denton:
- - bugfix: 'Pubbystation: Fixed the QM camera console''s direction.'
- - code_imp: 'Pubbystation: Used the correct aux bomb camera subtype and replaced
- loose tech storage boards with spawners, as is done in the rest of the map.'
- - tweak: Tesla balls no longer blow up disposal outlets/delivery chutes and cameras.
- Irafas:
- - rscadd: Admin spawnable Death Ripley that comes with a version of the Death Clamp
- that actually inflicts damage and rips arms off.
- Naksu:
- - admin: maxHealth is now guarded against invalid values when varediting
- SpaceManiac:
- - bugfix: A single wired glass tile no longer creates unlimited light floor tiles.
- - bugfix: Printing the TEG and circulator boards no longer prints the completed
- machinery instead.
- XDTM:
- - tweak: Nutriment Pump implants no longer require replacing the stomach.
-2018-07-03:
- Dax Dupont:
- - balance: BoH detonations now gib the user.
- Denton:
- - tweak: Engine heaters no longer let gases pass through them.
- - tweak: The Cerestation escape shuttle is now available for purchase!
- Frozenguy5:
- - bugfix: Fixes nitryl gas not applying its effects.
- MrDoomBringer:
- - bugfix: SupplyPod smites work properly once again.
- Naksu:
- - code_imp: Fixed the signatures of several reagent procs, removing useless checks
- - tweak: drunkenness is now handled at the carbon level, allowing monkeys to experience
- ethanol
- - balance: initropidil also works on carbon level, allowing syndicate operatives
- using the poison kit to achieve the silent assassin rating against monkeys
- - tweak: The ladders in the tear in the fabric of reality no longer spawn their
- endpoints when the area is loaded, but only when the tear is made accessible
- via a BoH bomb.
- - tweak: CentCom is no longer accessible via the space ladder in the tear.
- - tweak: The lavaland endpoint can no longer spawn completely surrounded by lava,
- unless it spawns on an island
- - code_imp: ChangeTurf can now conditionally inherit the air of the turf it is replacing,
- via the CHANGETURF_INHERIT_AIR flag.
- - bugfix: when ladder endpoints are created, the binary turfs that are created inherit
- the air of the turfs they are replacing. This means the lavaland ladder endpoint
- will have the lavaland airmix, instead of a vacuum.
- - code_imp: navigation beacons are now properly deregistered from their Z-level
- list and re-registered on the correct one if moved across Z-levels by an effect
- such as teleportation or a BoH-induced chasm.
- Nirnael:
- - refactor: Removed an unnecessary volume_pump check
- SpaceManiac:
- - bugfix: Backpack water tanks now work properly when wielded by drones.
- - bugfix: Backpack water tank nozzles can no longer be placed inside bags of holding
- and chem dispensers.
- - bugfix: Moving items between your hands no longer causes them to cross the floor
- (squeaking, lava burning).
- - bugfix: Scrambled research console icons have been fixed, and will be prevented
- in the future.
- Zxaber:
- - tweak: Empty cyborg shells can now be disassembled with a wrench.
- - tweak: Using a screwdriver on an empty shell will now remove the cell, or swap
- it if you're holding a cell in your other hand.
- ninjanomnom:
- - tweak: Shuttle throwing also applies to loose objects on shuttles now.
- - tweak: Closets on shuttles start anchored.
- - tweak: The throw distance of shuttle throws is marginally random, potentialy 10%
- further or shorter
- - rscadd: Tables and racks on shuttles have been installed with inertia dampeners.
- - bugfix: Some very thin barriers didn't stop mobs from being thrown by the shuttle
- under certain circumstances, this has been fixed.
-2018-07-05:
- Cyberboss:
- - bugfix: Setting "default" in maps.txt now will load that map as the first fallback
- when a next_map.json is missing
- Jared-Fogle:
- - bugfix: Fixed the "Remove IV Container" verb on IV drips from showing every nearby
- mob
- Naksu:
- - tweak: shuttles now move the air along with their occupants, instead of magicking
- up new air.
- deathride58:
- - tweak: Lone nuclear operatives now spawn as often as originally intended when
- the disk is immobile. Secure that fuckin' disk.
-2018-07-06:
- Denton:
- - spellcheck: Improved supply shuttle messages and firefighting foam descs.
- - bugfix: Supply shuttles will no longer spill containers on docking.
- Jared-Fogle:
- - imageadd: Medical HUDs will now show an icon if the body has died recently enough
- to be defibbed
- Jegub:
- - imageadd: Glowcaps now have their own sprite.
- MacHac:
- - bugfix: Bedsheets once again properly influence the dreams of those who sleep
- under them.
-2018-07-07:
- Cruix:
- - bugfix: Advaced camera consoles now properly show camera static in the area that
- the eye starts
- Denton:
- - bugfix: Cere Station's escape shuttle has had its turbo encabulator replaced and
- should no longer fly through hyperspace backwards.
- Garen:
- - rscadd: sends a signal for afterattack()
- - code_imp: modified all calls of afterattack() to call the parent proc
- Naksu:
- - bugfix: constructed directional windows no longer leak atmos across them
- - code_imp: setting the value of anchored for objects should be done via the setAnchored
- proc to properly handle things like atmos updates in one place
- Spaceinaba:
- - tweak: Digitigrade legs no longer revert to normal on compatible outfits.
-2018-07-08:
- Affurit:
- - imageadd: Back Sprites for the Godstaffs and Scythe now exist.
- Cruix:
- - rscadd: AI detection multitools can now be toggled to provide a HUD that shows
- the exact viewports of AI eyes, and the location of nearby camera blind spots.
- Floyd:
- - rscdel: removed beauty / dirtyness
- - balance: Mood no longer gives you hallucinations, instead makes you go into crit
- sooner
- Gwolfski:
- - rscadd: autoname APC
- - rscadd: directional autoname APC's
- Naksu:
- - code_imp: fixed mood component
- XDTM:
- - bugfix: Corazone now actually stops heart attacks.
- cacogen:
- - rscadd: Gibs squelch when walked over
- subject217:
- - bugfix: Five months later, wires will again make noise when pulsed or cut while
- hacking.
-2018-07-09:
- Ausops:
- - imageadd: New shuttle chair sprites.
- Jared-Fogle:
- - bugfix: Fixed russian revolvers acting like normal revolvers.
- Nabski:
- - imageadd: Crabs have a movement state sprite
- TerraGS:
- - tweak: Removed tap.ogg from multitool so getting hit by one sounds as painful
- as it really is.
- ninjanomnom:
- - code_imp: The very back-end of movement got some significant reshuffling in preparation
- for some future refactors. Bugs are expected.
- subject217:
- - spellcheck: The Nuke Op uplink no longer lies about how much ammo a C-20r holds.
- - tweak: The L6 SAW now has a small amount of spread. It is still accurate within
- visual range, but it's not as effective at longer ranges.
-2018-07-10:
- Astatineguy12:
- - bugfix: You can now buy energy shields as a nuke op again
- Denton:
- - rscadd: 'Box/Delta/Pubbystation: Nuclear explosive-shaped beerkegs have been added
- to maintenance areas.'
- Naksu:
- - rscadd: Added a new ghost verb that lets you change your ignore settings, allowing
- previously ignored popups to be un-ignored and notifications without an ignore
- button to be ignored
- - bugfix: Chaplains are once again unable to acquire the inquisition ERT commander's
- sword, as intended. The sword has been restored to its former glory
- Supermichael777:
- - bugfix: Changelings are no longer prevented from entering stasis by another form
- of fake death.
- Wjohnston & ninjanomnom:
- - imageadd: Engine heaters and engines have had a minor touch up so they don't meld
- with the floor quite so much.
- - tweak: Engine heaters don't block air anymore.
- XDTM:
- - bugfix: Romerol tumors no longer zombify you if you're alive when the revive timer
- counts down.
-2018-07-11:
- Denton:
- - bugfix: Fixed a bug where golem shells couldn't be completed by certain brass/sandstone/titanium
- stacks.
- - tweak: The Spider Clan holding facility has completed minor renovations. The dojo
- now includes medical and surgical equipment, while the lobby has a fire extinguisher
- and plasmaman equipment.
- - bugfix: Plasma and wooden golems no longer need to breathe, same as all other
- golems.
- - spellcheck: Fixed wrong or incomplete golem spawn info texts.
- - tweak: Added more random golem names.
- Irafas:
- - bugfix: non-silicons can no longer use machines without standing next to them.
- XDTM:
- - bugfix: Automatic emotes no longer spam you saying that you can't perform them
- while unconscious.
- - rscadd: Added a Rest button to the HUD. It allows the user to lie down or get
- back on their feet.
- - balance: Getting back up now takes a second, to avoid people matrix-ing bullets.
- fludd12:
- - rscadd: You can now craft wooden barrels with 30 pieces of wood! They can hold
- up to 300u of reagents.
- - rscadd: Putting hydroponics-grown plants into the barrel lets you ferment them
- for alcohol! Some give bar drinks, while others simply give plain fruit wine.
- ninjanomnom:
- - bugfix: Porta turret rotation on shuttles visually would not turn, this has been
- dealt with.
- - bugfix: Decals weren't rotating properly after the recent signal refactor, a couple
- new procs for dealing with the signals on the parent object have been added
- to deal with this.
- subject217:
- - balance: L6 SAW AP ammo now costs 9 TC per magazine, up from 6.
- - balance: L6 SAW incendiary ammo now deals 20 damage per shot, up from 15.
-2018-07-12:
- AnturK:
- - bugfix: Nuclear rounds will now end properly on nukeop deaths if there are no
- other antags present.
- Denton:
- - rscadd: A new shuttle loan event has been added. Hope you like bees!
- - tweak: The pizza delivery shuttle loan event now has some of each flavor and no
- longer pays the station for accepting it.
- - balance: Syndicate shuttle infiltrators now carry suppressed pistols.
- - spellcheck: Added a missing period to spent bullet casing and pizza shutte loan
- text.
- - bugfix: Zealot's blindfolds now properly prevent non-cultists from using them.
- - bugfix: Cultist legion corpses now wear the correct type of zealot's blindfold.
- Time-Green:
- - rscadd: An overdosing chemist filled the maintenance shafts with unorthodox pills,
- be wary
- ninjanomnom:
- - rscadd: Certain objects which make noise which are thrown in disposals will squeak
- when they hit bends in the piping. This includes clowns.
- tralezab:
- - admin: admins, you can now find martial art granting buttons in your VV dropdown.
-2018-07-13:
- Arithmetics plus:
- - rscadd: Min circuit
- - rscadd: Max circuit
- Cyberboss:
- - rscadd: More interesting recipes to the pizza delivery event
- Deepfreeze2k:
- - balance: Adds 2 carbon dioxide jetpacks to the pirate ship. Also gives the captain
- a renamed bottle of rum in his room.
- Denton:
- - tweak: 'Most static ingame manuals have been replaced with ones that open relevant
- wiki articles. remove: Deleted the "Particle Accelerator User''s Guide" manual,
- since it''s included in the Singulo/Tesla one.'
- - tweak: Machine frames no longer explode when struck by tesla arcs.
- - rscadd: Locators can now be researched and printed at the security protolathe.
- Jared-Fogle:
- - soundadd: Removed delay from rustle1.ogg
- LetterN:
- - rscadd: Adds ratvar plushie and narsie plushie on chaplain vendors
- Naksu:
- - bugfix: deep-frying no longer turns certain objects like limbs invisible
- Time-Green:
- - bugfix: "Fixes an href exploit that lets you grab ID\u2019s out of PDA right from\
- \ another person"
- XDTM:
- - balance: (Real) Zombies no longer die from normal means. They will instead go
- into crit indefinitely and regenerate until they get back up again. To kill
- a zombie permanently you either need to remove the tumor, cut off their head,
- gib them, or use more elaborate methods like a wand of death or driving them
- to suicide.
- - balance: Slowed down zombie regeneration overall, since putting them in crit now
- no longer disables them for a full minute in average.
- Zxaber:
- - bugfix: MMI units inside cyborgs are no longer affected by ash storms.
- ninjanomnom:
- - bugfix: Objects on tables that are thrown by shuttle movement should no longer
- do a silly spin
- - balance: The alien pistol and the xray gun have both received a much belated buff
- to their radiation damage to be on par with other sources of radiation.
-2018-07-14:
- Naksu:
- - balance: stamina damage is no longer softcapped by the unconsciousness trigger
- lowering stamina damage a little bit
- ShizCalev:
- - tweak: "The SM is now even more deadly to \"certain mobs\"\u2122"
-2018-07-15:
- AnturK:
- - tweak: You can now use numbers in religion and deity names
- Denton:
- - bugfix: Bounty console circuit boards no longer construct into supply request
- terminals.
- Naksu:
- - bugfix: fixed some missing args in emote procs called with named args, leading
- to runtimes
- - code_imp: removed unnecessary processing from a few machine types
- SpaceManiac:
- - bugfix: The Shuttle Manipulator admin verb works once more.
-2018-07-16:
- kevinz000:
- - rscadd: 'Integrated circuit clocks now come in 3 flavors: Nanotrasen time (round
- time), Station time (station time), and Bluespace time (server time, therefore
- not affected by lag/time dilation)'
- - rscadd: Integrated circuit clocks now also output a raw value for deciseconds,
- allowing for interesting timer constructions.
-2018-07-17:
- Cyberboss:
- - server: Added BSQL.dll and updated libmariadb.dll for non-blocking SQL support.
- See https://github.com/tgstation/BSQL for instructions on building for non-windows
- systems
- Denton:
- - tweak: Sparks now emit less heat.
- - tweak: Added a storage room to Metastation engineering that both engineers and
- atmos techs can access.
- Naksu:
- - admin: Plasma decontamination can now be triggered via events
- - bugfix: Reebe is no longer airless and completely broken
- Shdorsh:
- - tweak: added UI to the circuit printer. That's all
- XDTM:
- - balance: Limbs no longer need to have full damage to be dismemberable, although
- more damage means higher dismemberment chance.
- - balance: Damaging limbs now only counts as 75% for the mob's total health. Bleeding
- still applies normally.
- - rscadd: Limbs that reach max damage will now be disabled until they are healed
- to half health.
- - rscadd: Disabled limbs work similarly to missing limbs, but they can still be
- used to wear items or handcuffs.
- kevinz000:
- - rscadd: Crew pinpointers added to advanced biotechnology, printable from medical
- lathes.
- - rscadd: AIs can now interact with smartfridges by default, but by default they
- will not be able to retrieve items.
- ninjanomnom:
- - bugfix: Mech equipment can be detached again. This probably also fixes any other
- uncaught bugs relating to objects moving out of other objects.
-2018-07-18:
- Cyberboss:
- - bugfix: Deaths now lag the server less
- - bugfix: Ban checks cause less lag
- Denton:
- - tweak: RCDs can now also be loaded with reinforced glass and reinforced plasma
- glass sheets.
- Irafas:
- - bugfix: players can construct while standing on top of a directional window. (machine
- frames, computer frames, etc)
- MrStonedOne:
- - bugfix: synchronizing admin ranks with the database now lags the server less
- - bugfix: saving stats now lags the server less
- - bugfix: jobexp updating now lags the server less
- - bugfix: poll creation now lags the server less.
- Tlaltecuhtli:
- - tweak: putting a cell and other not intended actions dont open the circuit window
- WJohnston:
- - tweak: Abandoned box ship space ruin consoles have been turned into something
- more obviously broken so people stop complaining the ship doesn't work when
- it's not meant to anyway.
- - rscdel: Removed the extra syndie headset from the syndicate listening post space
- ruin so people stumbling on the ruin won't be able to ruin your channel's security
- as often.
- XDTM:
- - bugfix: Fixed a few bugs with imaginary friends, including them not being able
- to hear anyone or surviving past the owner's death.
- - rscadd: Imaginary friends can now move into the owner's head.
- - rscadd: Imaginary friends can now choose to become invisible to the owner at will.
-2018-07-20:
- Cobby:
- - bugfix: having higher sanity is no longer punished by making you enter crit faster
- - balance: you can have 100 mood instead of 99 before it starts slowly decreasing
- - bugfix: Paper doesn't give illegal tech anymore
- CthulhuOnIce:
- - spellcheck: Fixed 'Cybogs' in research nodes.
- Denton:
- - admin: Added hardsuit outfits for the Captain, HoS, and CMO. Removed old Shaft
- Miner (Asteroid) outfits. Gave Chief Engineer (Hardsuit) engineering scanner
- goggles. Added debug outfit for testing.
- - tweak: Most wardrobe vendor contents have been tweaked. CargoDrobe now has the
- vintage shaft miner jumpsuit available as a premium item.
- WJohn:
- - balance: Caravan ruin overall contains much less firepower, and should be harder
- to cheese due to placement changes and less ammunition to work with.
- - rscadd: The white ship is no longer stuck to flying around the station z level.
- It can now fly around its own spawn's level and the derelict's level too (these
- sometimes will be the same level).
- kevinz000:
- - rscdel: Removed flightsuits
- zaracka:
- - balance: Visible indications of cultist status during deconversion using holy
- water happen more often.
-2018-07-21:
- Jared-Fogle:
- - bugfix: Fixes destroyed non-human bodies cloning as humans.
- WJohnston:
- - balance: Reduced the 180 rounds (6 boxes) of 9mm ammo in the deep storage bunker
- to 45 (3 mags). Removed one of the wt-550s but put a compatible magazine in
- its place for the other to use. Turned the syndicate hardsuit into a regular
- grey space suit.
-2018-07-23:
- BeeSting12:
- - bugfix: Robotics' circuit printers have been changed to science departmental circuit
- printers to allow science to do their job more efficiently.
- Cruix:
- - bugfix: AI eyes will now see static immediately after jumping between cameras.
- Denton:
- - rscadd: Shared engineering storage rooms have been added to Deltastation.
- - bugfix: Fixed access requirements of lockdown buttons in the CE office. On some
- maps, these were set to the wrong department.
- - bugfix: Fixed Box and Metastation's CE locker having no access requirements.
- - bugfix: 'Deltastation: Fixed engineers having access to atmospheric technicians''
- storage room. Fixed engineers having no access to port bow solars (the ones
- at the incinerator by Atmospherics). Also fixed Minisat airlock access requirements.'
- - bugfix: 'Pubbystation: Medbay and Cargo now have a techfab instead of protolathe.'
- - tweak: Charlie/Delta Station (the "old cryogenics pod" ghost role) has been improved.
- Survivors can now finish the singularity engine and will have more minerals
- available inside the Hivebot mothership. The local atmos network is connected
- to an air tank; fire alarms and a bathroom have been added. Keep an eye out
- for a defibrillator too.
- - rscadd: Nuclear Operatives can now purchase Buzzkill grenades for 5TC per box
- of three. Those release a swarm of angry bees with random toxins.
- - spellcheck: Chemical grenades, empty casings and smart metal foam nades now have
- more detailed descriptions.
- - spellcheck: Added examine descriptions to the organ harvester.
- Epoc:
- - rscadd: Adds "Toggle Flashlight" to PDA context menu.
- Hathkar:
- - tweak: Captain's Door Remote now has vault access again.
- Mickyan:
- - bugfix: 'Deltastation: replaced blood decals in maintenance with their dried counterparts'
- SpaceManiac:
- - tweak: RCDs can now be loaded partially by compressed matter cartridges rather
- than always consuming the entire cartridge.
- - bugfix: Fernet Cola's effect has been restored.
- - bugfix: Krokodil's addition stage two warning message has been restored.
- - admin: The party button is back.
- WJohnston:
- - bugfix: Fixed corner decals rotating incorrectly in the small caravan freighter.
- XDTM:
- - bugfix: Limbs disabled by stamina damage no longer appear as broken and mangled.
- obscolene:
- - soundadd: Curator's whip actually makes a whip sound now
-2018-07-25:
- Denton:
- - tweak: H.O.N.K mechs can now play more sounds from the "Sounds of HONK" panel.
- JJRcop:
- - tweak: The item pick up animation tweens to the correct spot if you move
- MrDoomBringer:
- - spellcheck: Changed "cyro" to "cryo" in a few item descriptions and flavortexts.
- SpaceManiac:
- - rscadd: The vault now contains an ore silo where the station's minerals are stored.
- - rscadd: The station's ORM, recycling, and the labor camp send materials to the
- silo via bluespace.
- - rscadd: Protolathes, techfabs, and circuit imprinters all pull materials from
- the silo via bluespace.
- - rscadd: Those with vault access can view mineral logs and pause or remove any
- machine's access, or add machines with a multitool.
- - tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
- Telecomms chat logging:
- - code_imp: Added logging of telecomms chat
- - config: Added LOG_TELECOMMS config flag (enabled by default)
- WJohnston:
- - rscadd: Redesigned deltastation's abandoned white ship into a luxury NT frigate.
- Oh, and there are giant spiders too.
- - bugfix: Med and booze dispensers work again on lavaland's syndie base, and the
- circuit lab there is slightly less tiny.
- subject217:
- - rscadd: The M-90gl is back in the Nuke Ops uplink with rebalanced pricing.
- - bugfix: The revolver cargo bounty no longer accepts double barrel shotguns and
- grenade launchers.
-2018-07-26:
- Iamgoofball:
- - bugfix: The shake now occurs at the same time as the movement, and it now doesn't
- trigger on containers or uplinks.
- Mickyan:
- - balance: Light Step quirk now stops you from leaving footprints
- Naksu:
- - code_imp: gas reactions no longer copy a list needlessly
- SpaceManiac:
- - rscadd: 'The following machines can now be tabled: all-in-one grinder, cell charger,
- dish drive, disk compartmentalizer, microwave, recharger, soda/booze dispenser.'
- - rscadd: Unanchored soda/booze dispensers can now be rotated with alt-click.
- - bugfix: Machinery UIs no longer close immediately upon going out of interaction
- range.
- - rscadd: Washing machines now wiggle slightly while running.
- - rscadd: Washing machines can be unanchored if their panel is open for even more
- wiggle.
- WJohnston:
- - rscadd: Return of the boxstation white ship, with a complete makeover! Box and
- meta no longer share the same ship.
-2018-07-27:
- ShizCalev:
- - bugfix: Destroying a camera will now clear it's alarm.
- ninjanomnom:
- - bugfix: The cargo shuttle should move normally again
-2018-07-28:
- CitrusGender:
- - rscdel: Removed slippery component from water turf
- Denton:
- - balance: The Odysseus mech's movespeed has been increased.
- - tweak: 'Metastation: Spruced up the RnD circuitry lab; no gameplay changes.'
- - tweak: Due to exemplary performance, NanoTrasen has awarded Shaft Miners with
- their very own bathroom, constructed at the mining station dormitories. Construction
- costs will be deducted from their salaries.
- Mickyan:
- - imageadd: insanity static is subtler
- - imageadd: neutral mood icon is now light blue
- SpaceManiac:
- - bugfix: Cyborgs and AIs can now interact with items inside them again.
- Tlaltecuhtli:
- - rscadd: Mouse traps are craftable from cardboard and a metal rod.
- WJohnston:
- - balance: Syndicate and pirate simple animals should have stats that more closely
- resemble fighting a human in those suits, with appropriate health, sounds, and
- space movement limitations.
- - imageadd: Pirates in space suits have more modern space suits.
-2018-07-30:
- Anonmare:
- - balance: Upload boards and AI modules, in addition to Weapon Recharger boards,
- are now more expensive to manufacture
- Basilman:
- - bugfix: fixed BM Speedwagon offsets
- Cobby (based off Wesoda25's idea):
- - rscadd: Adds the PENLITE holobarrier. A holographic barrier which halts individuals
- with bad diseases!
- Denton:
- - tweak: Techweb nodes that are available to exofabs by roundstart have been moved
- to basic research technology.
- - balance: Ripley APLU circuit boards are now printable by roundstart.
- - balance: Odysseus, Gygax, Durand, H.O.N.K. and Phazon mech parts have to be researched
- before becoming printable (same as their circuit boards).
- - tweak: Arrivals shuttles no longer throw objects/players when docking.
- - bugfix: Regular fedoras no longer spawn containing flasks.
- - tweak: Increased the range of handheld T-ray scanners.
- - balance: Cargo bounties that request irreplaceable items have been removed.
- Garen:
- - balance: Throwers no longer deal damage
- - balance: Flashlight circuits are now the same strength as a normal flashlight
- - balance: Grabber circuits are now combat circuits
- - rscdel: Removed smoke circuits
- - rscdel: Removed all screens larger than small
- - tweak: Ntnet circuits can no longer specify the passkey used, it instead always
- uses the access
- Hate9:
- - rscadd: Added pulse multiplexer circuits, to complete the list of data transfers.
- Jared-Fogle:
- - rscadd: NanoTrasen now officially recognizes Moth Week as a holiday.
- - rscdel: Temporarily removes canvases until someone figures out how to fix them.
- Mickyan:
- - balance: Social anxiety trigger range decreased. Stay out of my personal space!
- - bugfix: Social anxiety no longer triggers while nobody is around but you
- WJohnston:
- - rscadd: Redesigned the metastation white ship as a salvage vessel.
- YoYoBatty:
- - bugfix: SMES power terminals not actually deleting the terminal reference when
- by cutting the terminal itself rather than the SMES.
- - bugfix: SMES now reconnect to the grid properly after construction.
- - refactor: SMES now uses wirecutter act to handle terminal deconstruction.
- ninjanomnom:
- - bugfix: Objects picked up from tables blocking throws will no longer be forever
- unthrowable
-2018-08-01:
- Basilman:
- - rscadd: Added the stealth manual to the uplink, costs 8 TC. Find it under the
- implant section
- Cobby:
- - spellcheck: Drone's Law 3 has been edited to explicitly state that it's for the
- site of activation (aka people do not get banned for going to upgrade station
- as derelict drones since it's explicitly clear now). See https://tgstation13.org/phpBB/viewtopic.php?f=33&t=18844&p=429944#p429944
- for why this was PR'd
- - bugfix: PENLITEs are now actually spawnable in techwebs. Reminder to make sure
- everything is committed before PRing haha!
- Denton:
- - tweak: New bounties have been added for the Firefighter APLU mech, cat tails and
- the Cat/Liz o' Nine Tails weapons.
- - bugfix: ExoNuclear mech reactors now noticably irradiate their environment.
- - spellcheck: Adjusted suit storage unit descriptions to mention that they can decontaminate
- irradiated equipment.
- Hate9:
- - rscadd: Added tiny-sized circuits (called Devices)
- - imageadd: added new icons for the Devices
- Iamgoofball:
- - balance: 'Buzzkill Grenade Box Cost: 5 -> 15'
- Shdorsh:
- - rscadd: Text replacer circuit
- SpaceManiac:
- - bugfix: The bridge of the gulag shuttle now has a stacking machine console for
- ejecting sheets.
- Time-Green:
- - rscadd: You can now mount energy guns into emitters
- - bugfix: portal guns no longer runtime when fired by turrets
- barbedwireqtip:
- - tweak: Adds the security guard outfit from Half-Life to the secdrobe
- granpawalton:
- - tweak: Removed old piping sections and replaced with Canister storage area in
- atmos incinerator
- - tweak: scrubber and distro pipes moved in atmos incinerator to make room for added
- piping
- - balance: added filter at connector on scrubbing pipe in atmos incinerator
- - balance: replaced vent in incinerator with scrubber in **Both** incinerators
- - balance: mixer placed on pure loop at plasma
- - bugfix: delta and pubby atmos incinerator air alarm is no longer locked at round
- start
- - bugfix: pubby atmos incinerator now starts without atmos in it
- kevinz000:
- - rscadd: 'Cameras now shoot from 1x1 to 7x7, fully customizable. Alt click on them
- to change the size of your photos. experimental: All photos, assuming the server
- host turns this feature on, will be logged to disk in round logs, with their
- data and path stored in a json. This allows for things like Statbus, and persistence
- features among other things to easily grab the data and load the photo.'
- - rscadd: Mappers are now able to add in photo albums and wall frames with persistence!
- This, obviously, requires photo logging to be turned on. If this is enabled
- and used, these albums and frames will save the ID of the photo(s) inside them
- and load it the next time they're loaded in! Like secret satchels, but for photos!
-2018-08-03:
- ArcaneMusic:
- - soundadd: Added a new, shoutier RoundEnd Sound.
- Basilman:
- - bugfix: fixed agent box invisibility
- Denton:
- - tweak: 'Syndicate lavaland base: Added a grenade parts vendor and smoke machine
- board. The testing chamber now has a heatproof door and vents/scrubbers to replace
- air after testing gas grenades. Chemical/soda/beer vendors are emagged by default;
- the vault contains a set of valuable Syndicate documents.'
- - tweak: Added a scrubber pipenet to the Lavaland mining base.
- Garen:
- - bugfix: mobs now call COMSIG_PARENT_ATTACKBY
- JJRcop:
- - rscadd: Deadchat can use emoji now, be sure to freak out scrying orb users.
- Kmc2000:
- - rscadd: You can now attach 4 energy swords to a securiton assembly instead of
- a baton to create a 4 esword wielding nightmare-bot
- Mickyan:
- - imageadd: added sprites for camera when equipped or in hand
- - tweak: cameras are now equipped in the neck slot
- SpaceManiac:
- - bugfix: Traps now have their examine text back.
- Supermichael777:
- - bugfix: Cigarettes now always transfer a valid amount of reagents.
- - bugfix: Reagent order of operations is no longer completely insane
- WJohnston:
- - tweak: Added a gun recharger to delta's white ship and toned it down from a "luxury"
- frigate to just a NT frigate, it's just not made for luxury!
- XDTM:
- - bugfix: Beheading now works while in hard crit, so it can be used against zombies.
- - tweak: You can now have fakedeath without also being unconscious. Existing sources
- of fakedeath still cause unconsciousness.
- - rscadd: Zombies and skeletons now appear as dead. Don't trust zombies on the ground!
- - rscadd: You can now make Ghoul Powder with Zombie Powder and epinephrine, which
- causes fakedeath without uncounsciousness.
- granpawalton:
- - bugfix: pubby round start atmos issues resolved
- - bugfix: pubby departures lounge vent is no longer belonging to brig maint
- - rscadd: pipe dispenser on pirate ship
- ninjanomnom:
- - bugfix: The first pod spawned had some issues with shuttle id and wouldn't move
- properly. This has been fixed.
-2018-08-06:
- Basilman:
- - balance: Increased agent box cooldown to 10 seconds
- Denton:
- - bugfix: Omegastation's Atmospherics lockdown button now has the proper access
- reqs.
- - bugfix: Pubbystation's disposals conveyor belts now face the correct direction.
- - bugfix: Pubby's service techfab is no longer stuck inside a wall.
- - bugfix: Pubby's disposal loop is no longer broken.
- - tweak: The Lavaland seed vault chem dispenser now has upgraded stock parts.
- - tweak: 'Metastation: Extended protective grilles to partially cover the Supermatter
- cooling loop.'
- Epoc:
- - rscadd: You can now show off your Attorney's Badge
- Garen:
- - bugfix: Fixed AddComponent(target) not working when an instance is passed rather
- than a path
- JJRcop:
- - bugfix: Fixed some strange string handling in SDQL
- Jared-Fogle:
- - rscadd: Moths can now eat clothes.
- JohnGinnane:
- - rscadd: Users can now see their prayers (similar to PDA sending messages)
- Mickyan:
- - tweak: Drinking alcohol now improves your mood
- Shdorsh:
- - bugfix: The previously-added find-replace circuit now actually exists.
- Tlaltecuhtli (and then Cobby):
- - bugfix: Science Bounties are now available!
- WJohnston:
- - balance: Rebalanced the simple animal syndies on the metastation ship to be a
- bit less destructive of their surroundings, and downgraded the smg guy to a
- pistol and upgraded the other guys to knives.
- Y0SH1 M4S73R:
- - rscadd: windoors now have NTNet support. The "open" command toggles the windoor
- open and closed. The "touch" command, not usable by door remotes, functions
- identically to walking into the windoor, opening it and then closing it after
- some time.
- cyclowns:
- - tweak: Fusion has been reworked to be a whole lot deadlier!
- - tweak: You can now use analyzers on gas mixtures holders (canisters, pipes, turfs,
- etc) that have undergone fusion to see the power of the fusion reaction that
- occurred.
- - balance: Several gases' fusion power and fusion's gas creation has been reworked
- to make its tier system more linear and less cheese-able.
-2018-08-07:
- WJohnston:
- - rscadd: Redesigned the pirate event ship to be much prettier and better fitting
- what it was meant to do.
-2018-08-08:
- Denton:
- - rscadd: 'Added five new cargo packs: cargo supplies, circuitry starter pack, premium
- carpet, surgical supplies and wrapping paper.'
- - tweak: Added one bag of L type blood to the blood pack crate. Added a chance for
- contraband crates to contain DonkSoft refill packs.
- Iamgoofball:
- - tweak: The Stealth Implant was mistakenly made nuclear operatives only due to
- a misunderstanding of the code. This has been fixed.
- Mark9013100:
- - rscadd: Pocket fire extinguishers can now be made in the autolathe.
- SpaceManiac:
- - bugfix: The power flow control console once again allows actually modifying APCs.
- - tweak: Gas meters will now prefer to target visible pipes if they share a turf
- with hidden pipes.
- daklaj:
- - bugfix: fixed beepsky and ED-209 cuffing their target successfully even when getting
- disabled (EMP'd) in the process
- kevinz000:
- - rscadd: Catpeople are now a subspecies of human. Switch your character's species
- to "Felinid" to be one.
- - rscadd: Oh yeah and they show up as felinids on health analyzers.
-2018-08-10:
- AnturK:
- - balance: Portable flashers won't burnout from failed flashes.
- Denton, Tlaltecuhtli:
- - rscadd: Added cargo bounties that require cooperation with Atmospherics, Engineering
- and Mining.
- Naksu:
- - bugfix: Transformation diseases now properly check for job bans where applicable
- - code_imp: Fixed a bunch of runtimes that result from transforming into a nonhuman
- from a human, or a noncarbon from a carbon.
- SpaceManiac:
- - refactor: The map loader has been cleaned up and made more flexible.
- nicbn:
- - tweak: 'BoxStation science changes: Circuitry lab is closer to RnD now; cannisters,
- portable vents, portable scrubbers, filters and mixers have been moved to Toxin
- Mixing Lab. There is now a firing range at the testing lab!'
-2018-08-11:
- Denton:
- - tweak: Fixed the Beer Day date and added a few more holidays.
- Jordie0608:
- - admin: Asay history is once again logged under the admin log secret.
- - admin: Notes, messages, memos and watchlists can now have an expiry time. Once
- expired they are hidden like as if deleted.
- SpaceManiac:
- - tweak: Giant spiders can now freely pull their victims through webs.
- Time-Green:
- - rscadd: Circuit Boards now tell you the components required to build them on examine
- WJohn:
- - rscadd: Added zombies to boxstation's abandoned ship.
- YPOQ:
- - bugfix: AIs can take photos and print them at photocopiers again.
- - bugfix: Cult floors will not deconstruct to space
- - bugfix: Cult floors do not spawn rods when deconstructed
- - bugfix: Footprints should no longer spread out of control
- zaracka:
- - bugfix: blunt trauma causes brain damage while unconscious too
- - bugfix: sharp weapons no longer count as blunt trauma in all cases
-2018-08-12:
- Denton:
- - rscadd: Killing gondolas now lets you harvest meat from them. Eating it raw might
- be a bad idea.
- Mickyan:
- - rscadd: Mixed drinks now give mood boosts with varying strength depending on their
- quality.
- - rscadd: Although powerful, mood boosts from quality drinks are short lived. If
- you want to make the most out of them, take a sip every few minutes like a normal
- human being instead of downing the entire glass like the alcoholic you are.
- Nichlas0010:
- - bugfix: Admins with +admin and without +fun are no longer able to smite.
- SpaceManiac:
- - bugfix: Blood and oil footprints sharing a tile no longer causes footprint decals
- to stack.
- WJohnston:
- - balance: Syndicate (melee) simple animals will now move less predictably and attack
- twice as often, hopefully making them quite a bit more dangerous.
- XDTM:
- - tweak: Operating Computers can now sync to the research database to acquire researched
- surgeries, instead of requiring installation by disk.
- - rscadd: You can now review the full list of unlocked surgeries from the operating
- computer.
- actioninja:
- - rscadd: Added (unobtainable) Felinid Mutation Toxin.
- lyman:
- - imageadd: Updated the Chronosuit Helmet sprite.
-2018-08-13:
- Basilman:
- - rscadd: Adds Arnold pizza, dont try putting pineapple on it.
- Denton:
- - tweak: The briefcase launchpad can now hold items while in briefcase mode (just
- like a regular briefcase). Its remote has been disguised as a folder and now
- spawns pre-linked inside the briefcase.
- - balance: Increased the briefcase launchpad's range from 3 to 8 tiles, which is
- roughly half the screen.
- - spellcheck: Added more ingame manuals that access wiki pages.
- - rscadd: Added botanical and medical bounties as well as a static adamantine bar
- bounty.
- - tweak: Increased the syndicate document bounty's reward from 10.000 to 15.000
- credits.
- - tweak: Removed the gondola hide bounty and in return, increased the export value
- to the old level.
- - tweak: The briefcase bounty now also accepts secure briefcases.
- - bugfix: The action figure bounty now correctly spawns as an assistant type bounty.
- Logging refactor and improvement:
- - code_imp: All mob-related logs now include the area name and (x,y,z) position.
- - code_imp: All logs that included an (x,y,z) position now also include the area
- name.
- - code_imp: Standardized logging format of mob/player keys.
- - code_imp: Telecomms logs are now included in the individual logging panel.
- - code_imp: Fixed many other cases of logs being sent to either the individual logging
- panel or the saved log files, but not both.
- - refactor: The logging system has been refactored to contain less redundant code
- and to produce more consistent logs.
- SpaceManiac:
- - admin: The VV window loads and searches faster.
- - admin: Fields in the VV window's header will immediately show your edits.
- - admin: Selecting an action from the VV dropdown no longer leaves it selected after
- the action is done.
- YPOQ:
- - bugfix: Uncalibrated teleporters can turn humans into flies again
-2018-08-14:
- Coolguy3289:
- - config: Removed un-needed and un-used RENAME comment from game_options.txt
- SpaceManiac:
- - bugfix: Escape Pod 1 now reaches the CentCom recovery ship again.
- WJohn:
- - imageadd: Titanium walls and windows are a bit prettier looking now.
- Zxaber:
- - rscadd: Airlock electronics can have now have unrestricted access by direction
- set. The resulting airlock will allow all traffic from the specified direction(s)
- while still requiring normal access otherwise. A small floor light will indicate
- this.
- - tweak: Medbay Cloning and Main Access doors now have unrestricted access settings
- set, and the buttons have been removed. All maps have been updated.
- - bugfix: Airlocks now correctly update their overlays (bolts lights, emergency
- lights) when their power state changes.
-2018-08-15:
- barbedwireqtip:
- - tweak: added binoculars to the detective's locker
-2018-08-17:
- Anonmare:
- - rscadd: Ore silos circuit boards are now constructable
- SpaceManiac:
- - admin: The "Map Template - Upload" verb now reports if a map uses nonexistent
- paths.
- Tlaltecuhtli:
- - bugfix: fixes diamond drill bounty having the wrong object path
- YPOQ:
- - bugfix: Roundstart motion-detecting cameras work again
- intrnlerr:
- - bugfix: '"Allows image windows sent by PDA to be closed"'
-2018-08-18:
- Floyd / Qustinnus:
- - code_imp: moves nutrition events to the mood component
- Jared-Fogle:
- - rscadd: Hovering over storage slots with an item in your hand will show you first
- if you can put the item in.
- XDTM:
- - bugfix: Fixed augmentation not working and/or giving you extra limbs
- nicbn:
- - imageadd: New janitor cart sprites (by Quantum-M)
- - imageadd: Dirt is smooth (by AndrewMontagne)
- zaracka:
- - bugfix: You can now use certain emotes and the suicide verb while buckled, but
- not while stunned.
-2018-08-20:
- Basilman:
- - rscadd: Added gondola fur products
- Basilman, Sprites by WJohnston:
- - rscadd: His Grace ascension is back, feed Him 25 people and you will unlock His
- full potential.
- Denton:
- - tweak: Added new destinations for the parcel tagger! You can now send packages
- to the Circuitry Lab, Toxins, Dormitories, Virology, Xenobiology, Law Office
- and the Detective's office. Viro/Xeno can only receive parcels.
- - bugfix: 'Deltastation: Tagged parcels no longer get routed straight into the crusher.
- Untagged parcels also no longer get routed straight into the crusher!'
- - tweak: 'Deltastation: Added disposals to Xenobiology that launch contents into
- space.'
- Epoc:
- - tweak: Putting an extinguisher into a cabinet with the safety off will no longer
- cause it to spray first
- Floyd / Qustinnus:
- - code_imp: removes useless mood events subtypes
- - bugfix: 'fixes mood event timers not resetting when they get triggered again remove:
- removes the depression overlay which makes our fruit happy'
- Frosty Fridge:
- - rscadd: Added the Surgical Processor upgrade for medical cyborgs. Scan surgery
- disks or an operating computer to be able to initiate advanced procedures.
- - tweak: Cyborgs can now perform surgery steps that do not require an instrument.
- - bugfix: Plastic creation reaction now properly scales with the amount of reagents;
- 10u = 1 sheet.
- Garen:
- - bugfix: fixed using items on a circuit removing all its access(now access gained
- from each new item stacks)
- - admin: adds logging for gun circuits, grabber circuits, and dragging claw circuits
- - rscadd: grabbers can select what they want to drop
- MrDoomBringer:
- - imageadd: The Nanotrasen Airspace Aesthetics division has shipped out a newer
- design of NT-Brand "Ore Silos". No new features have been added, but they certainly
- look much nicer!
- Naksu:
- - balance: Having a high body temperature now increases the damage you take gradually,
- whether you're on fire or not. Being on fire also always increases body temperature
- damage
- NewSta:
- - tweak: The names of haircuts, facial hair, undershirts, underwear and socks have
- now been sorted and categorized
- WJohnston:
- - imageadd: Remade titanium and plastitanium floors to be less of an eye strain
- and something mappers might actually consider using.
- - imageadd: New reinforced floor sprites.
- XDTM:
- - rscadd: Added programmable nanites to science!
- - rscadd: Science now has a nanite chamber, a nanite program hub, a nanite cloud
- console and a nanite programmer.
- - rscadd: From the program hub you can download nanite programs (unlocked through
- techwebs) to disks.
- - rscadd: You can then customize their functionality and signal codes through the
- Nanite Programmer.
- - rscadd: The nanite chamber is necesary to inject nanites into a patient, and it's
- also used to install/uninstall programs into a patient's nanites. A second person
- is required to man the console.
- - rscadd: The nanite cloud console controls remote program storage; it stores program
- backups that nanites can be synced to through cloud IDs.
- - rscadd: Nanite programs range can be either helpful or harmful; their main potential
- is that they can be enabled at will through the use of remotes and sensors.
- The potential uses are endless!
- - rscadd: More detailed information is available in the wiki.
-2018-08-22:
- BlueNothing:
- - rscadd: Allows video camera circuits to be seen on networks other than the science
- cameranet.
- - tweak: Alphabetizes camera list for camera bugs, and lets camera bugs see through
- borg and circuit cameras.
- - tweak: Makes video camera circuits fit in tiny assemblies.
- PKPenguin321:
- - tweak: The GPS circuit now has a 4th output, placing X,Y,Z all in a string.
- - rscadd: '2 new converters: Rel to Abs, and Advanced Rel to Abs.'
- - rscadd: Rel to Abs takes a set of relative and a set of absolute coordinates,
- and converts the relative one to absolute. 1 complexity.
- - rscadd: Advanced Rel to Abs takes a set of relative coordinates and converts it
- to absolute without the need for an already known set of absolute coordinates.
- 2 complexity.
- SpaceManiac:
- - bugfix: Freezers and heaters which start on no longer stay visually on when you
- turn them off.
- - code_imp: Atmospherics now initializes 93% (about 40 seconds) faster.
- floyd:
- - bugfix: fixes the hunger alert appearing forever
- intrnlerr:
- - bugfix: Tank temperature is no longer based on pressure
- ninjanomnom:
- - bugfix: Shuttle templates now handle shuttle registration in the load rather than
- the shuttle manipulator. This means admin loaded shuttle templates no longer
- need to be manually registered.
- oranges:
- - tweak: Inventory overlay now uses a traffic light to indicate if the item can
- be placed in there
-2018-08-23:
- Naksu:
- - code_imp: Waddling is now available as a component
- Nervere:
- - rscadd: re-adds the joy emoji.
- SpaceManiac:
- - rscadd: The body zone selector now indicates which body part you are about to
- select when hovered over.
- - code_imp: Transit space initializes about five seconds faster.
- Tlaltecuhtli:
- - balance: Cyborg ion thrusters consume 1/5 of their previous power.
-2018-08-25:
- Denton:
- - rscadd: Added missing export rewards for various lavaland items (tendril/megafauna/ruins)
- and engine parts.
- - balance: Increased export values for emitters, PA parts, field generators and
- radiation collectors to match the rest of engineering exports. Reduced supermatter
- shard value by 1000 credits.
- - rscdel: Removed export rewards for red/blue warp cubes since they're blacklisted
- from the cargo shuttle.
- - tweak: Added private intercoms to the confession booths of the Deltastation+Pubbystation
- chapels.
- - bugfix: Fixed invalid radio frequencies on interrogation chamber/confession booth
- intercoms.
- - tweak: Anime is even more horrifying than previously discovered!
- - rscadd: Added a new shuttle loan event where crew can get paid for having an active
- syndicate bomb delivered to cargo bay.
- Mickyan:
- - bugfix: Blue polo undershirt option has been restored
- - tweak: underwear "nude" option moved to the top of the list
- SpaceManiac:
- - code_imp: The map loader now supports vars to be set to lists containing non-strings.
- - bugfix: Overcharging energy guns no longer crashes the server.
- - bugfix: Ordering the Build Your Own Shuttle kit no longer crashes the server.
- The Dreamweaver:
- - code_imp: Refactored gift code to fix a minor inefficiency.
- XDTM:
- - bugfix: Fixed chest and head augmentation not working properly.
-2018-08-26:
- CitrusGender:
- - admin: Added note severity to [most] bans and the notes associated with them
- - admin: 'Banning panel now has a severity option UI: Changed the UI of the note
- panel UI: Changed the UI again, added some icons, removed brackets in urls,
- fading out notes cannot be selected to expand the browser anymore'
- Floyd / Qustinnus (Credits to KMC for the sprites):
- - rscadd: The Clown Car, your 18TC clown-only solution to asshole co-workers
- - rscadd: Regular car implementation (makes it easier to add more cars if someone
- actually feels like adding those)
- JJRcop:
- - admin: 'Asay logs show "ADMINPRIVATE: ASAY:" again instead of just "ADMINPRIVATE:"'
- Naksu:
- - code_imp: living and stack typecaches now use a shared instance where it makes
- sense, giving small memory savings
- PKPenguin321:
- - rscadd: Integrated circuit medium screens have been readded. They are now called
- large screens. They now only work from your hands or on the ground when you're
- standing on top of them (NOT from pockets, lockers, backpacks, etc).
- - bugfix: Roundstart cyborgs will now be properly referred to as "it."
- SpaceManiac:
- - admin: The shuttle manipulator now allows flying any shuttle to any port which
- will fit it.
- - bugfix: The shuttle manipulator now allows fast-travelling shuttles with 5s remaining,
- down from 50s.
- - refactor: Status displays have been refactored to be cleaner and more flexible.
- - bugfix: The AI dying properly updates its status displays again.
- intrnlerr:
- - refactor: Refactored nettles to be reagent_containers
- nicbn:
- - soundadd: Nanotrasen shoes no longer contain Silencium. Now footsteps make noise!
- Sounds from Baystation.
-2018-08-28:
- Denton:
- - bugfix: The 10 second anti spam cooldown of night shift lighting now works properly.
- - spellcheck: Added an examine message to APCs that mentions Alt-click and Ctrl-click
- (silicons only) behavior.
- Garen:
- - code_imp: adds a signal for screwdriver_act
- SpaceManiac:
- - code_imp: Multiple copies of a shuttle each get their own area instances (affects
- APCs and air alarms).
- XDTM:
- - rscadd: The forcefield projector is now available ingame in the engineering protolathe.
- It can project up to 3 forcefields which act as transparent walls, and share
- a pool of health which is recharged over time. The projector must remain within
- 7 tiles of the forcefields to keep them active.
-2018-08-31:
- Anonmare:
- - bugfix: AIs can now turn shield generators on and off again
- Denton:
- - bugfix: Plastic golems can no longer vent crawl with items in their pockets.
- Mickyan:
- - balance: Skateboards can fit in backpacks
- - tweak: Skateboards are slower by default, speed can be adjusted by alt-clicking
- - rscadd: 'Show your support for the fine arts with these new quirks:'
- - rscadd: 'Tagger: drawing graffiti takes half as many charges off your spraycan/crayon'
- - rscadd: 'Photographer: halves the cooldown after taking a picture'
- - rscadd: 'Musician: tune instruments to temporarily give your music beneficial
- effects such as clearing minor debuffs and improving mood.'
- Skoglol:
- - bugfix: Dispensers can now add 5u to buckets, plastic beakers and metamaterial
- beakers, down from 10u.
- - bugfix: You can now pour 5u from buckets, plastic beakers and metamaterial beakers,
- down from 10u.
- - bugfix: Chem dispenser window width increased slightly, no longer shuffles buttons
- when scroll bar appears.
- The Dreamweaver:
- - bugfix: Sentience Potions no longer require you to have Xenomorph toggled on in
- preferences and now relies on its own preference in order to be notified of
- open roles.
- - code_imp: Split xenomorph, intelligence potions, and mind transfer potions into
- separate roles for more precise role management.
- - admin: Sentience Potion Spawns and Mind Transfer Potions are now job-bannable
- roles.
- Time-Green and locker sprites by MrDoomBringer:
- - rscadd: Reports have come in that the wizard federation has harnessed some of
- the ancient locker force to create a wand
- XDTM:
- - rscdel: Removed the chance of spouting brain damage lines when over 60 brain damage.
- The dumbness trauma still has them.
- - bugfix: Fixed Mechanical Repair nanites not working.
- ninjanomnom:
- - rscadd: Computers are now visible even in the darkest of rooms. Comfy!
- - tweak: Because computers are now far easier to find in dark rooms their base light
- output has been reduced.
- - bugfix: Broken components left over from the signal origin refactor should be
- fixed.
- - bugfix: Lava isn't a safe place to throw your flammable shit anymore
- - bugfix: The computer screen overlay being rotated incorrectly after construction
- has been fixed.
-2018-09-01:
- ElPresidentePoole:
- - rscdel: removes curator's fear of snakes
- McDonald072:
- - bugfix: Defibrillator nanites work properly.
- Poojawa:
- - bugfix: fixed clothing vendor fedoras having Detective Fedora grade armor
- Potato Masher:
- - tweak: The color of Wooden golems should be more in line with the color of the
- wood used to make it.
- WJohnston:
- - imageadd: Reinforced floors are now shinier.
-2018-09-02:
- Denton:
- - spellcheck: Fixed species type names that show up on health scanners.
-2018-09-03:
- Cdey78 (Ported by Floyd / Qustinnus):
- - imageadd: AI can now think
- - imageadd: 'New OOC emote: :thinking:!'
- Naksu:
- - admin: a new admin secret has been added to create a customized portal storm
- Shdorsh:
- - tweak: Makes it possible to create circuits that can get an item loaded into them
- while they are in an assembly and the assembly is open.
- - code_imp: Optimized electronic assemblies also.
- - bugfix: A bug pertaining putting batteries in assemblies
- Skoglol:
- - bugfix: Eggplant and egg-plant seeds now have different names and plant names.
- XDTM:
- - bugfix: Fixed nanite cloud storage not allowing uploads.
- octareenroon91:
- - admin: Supermatter more likely to log fingerprintslast when it consumes any object.
-2018-09-04:
- Denton:
- - spellcheck: Mech construction messages no longer incorrectly mention high-tier
- stock parts.
- - tweak: Added a nanite lab to Deltastation! It's at the old EXPERIMENTOR lab.
- - tweak: 'Delta: Moved the Xenobiology disposals bin to be less obstructive. Added
- two sets of insulated gloves to Engineering.'
- - bugfix: 'Delta: Fixed scientists not having maintenance access near the circuitry
- lab and toxins launch chamber.'
- Shdorsh:
- - code_imp: Made all the extinguishers use less sleep and spawn procs
-2018-09-27:
- Alexch2:
- - spellcheck: Fixes tons of typos related to integrated circuits.
- - tweak: Re-writes the descriptions of a few parts of integrated circuits.
- 'Armhulen code, Keekenox sprites and S_____ as the ideas guy :roll_eyes:':
- - rscadd: 'New drinks: Peppermint Patty and the Candyland Extract!!'
- Astatineguy12:
- - tweak: The experimentor is less likely to produce food when it transforms an item
- - bugfix: The experimentor no longer breaks when the toxic waste malfunction occurs
- multiple times and isn't cleaned up
- - bugfix: The experimentor irridiate function actually chooses what item to make
- properly rather than picking from the start of the list
- - bugfix: The mime blockade spell now shows up under the right tab
- Beachsprites:
- - imageadd: added directional beach sprites
- Big Tobacco:
- - rscadd: Cheap lighters now come in four different shapes and Zippos can have one
- of four different designs, collect them all and improve our sales!
- - imageadd: All existing lighter sprites have been given a face-lift and the flames
- are now subtly animated.
- - tweak: Cheap lighters now use a fixed list of 16 colors to pick from instead of
- using totally randomized colors.
- - imageadd: Cigar cases have been tweaked to be a bit smaller and to have a modified
- design.
- - imageadd: Cohiba Robusto and Havanan cigars now use separate case sprites from
- the generic premium cigar cases.
- CameronWoof:
- - tweak: Quartermaster added to the list of changeling and traitor restricted jobs
- CitadelStationBot:
- - bugfix: The faint echoes of maracas grows louder, as if a past spirit once forgotten
- has come back with a vengeance...
- - bugfix: Removing an ID card from a wallet now properly removes its visual and
- accesses.
- - tweak: You may now take unlimited neutral and negative quirks
- - tweak: the walls on the crashed abductor ship ruin in lavaland can now be broken
- down
- - bugfix: Pipe icons in the RPD now show properly in older versions of IE.
- - bugfix: Removing an ID from a PDA in a backpack no longer hides the ID until something
- else updates.
- - bugfix: Opening and closing airlocks repeatedly no longer stacks queued autocloses.
- - bugfix: Mindswapping with someone else no longer forces ambient occlusion on.
- - bugfix: Admin AI interaction now works properly on firelocks.
- - code_imp: IRV polls now use the same version of jQuery as everything else.
- - rscadd: You can now view your last round end report window with the "Your last
- round" verb in the OOC tab
- - bugfix: Hydroponics trays can no longer be deconstructed with their panels closed
- or unanchored while irrigated.
- - tweak: Frames for machines which do not require being anchored can now be un/anchored
- after the circuit has been added.
- - spellcheck: Fix "Your the wormhole jaunter" when a wormhole jaunter saves you
- from a chasm.
- - rscadd: Analyzers can now scan all kinds of atmospheric machinery - unary, binary,
- ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers,
- vents and so forth can be analyzed.
- - tweak: Analyzers now show temperature in kelvin as well as celsius.
- - tweak: Analyzers now show total mole count, volume, and mole count of all gases.
- - tweak: Analyzers show everything at slightly higher degrees of precision.
- - rscadd: Any anomaly core can now be deconstructed for a one time boost of 10k
- points in the deconstructive analyzer.
- - bugfix: Chasms no longer drop mobs buckled to undroppable mobs or objects.
- - bugfix: Digital valves are once again operable by silicons.
- - bugfix: Field generators are once again operable by adjacent cyborgs.
- - bugfix: Entertainment monitors now view the real Thunderdome rather than the template.
- - bugfix: Flipping and then rotating trinary pipe fittings no longer causes their
- icon to mismatch what they will become when wrenched.
- - bugfix: RPD tooltips for flippable trinary components have been corrected.
- - bugfix: The green overlay indicating where a map template will be placed is no
- longer invisible on space turfs.
- - bugfix: Frost spiders now correctly inject frost oil on bite.
- - bugfix: Inserting materials into protolathes with telekinesis is now possible.
- - bugfix: Telekinesis no longer teleports items removed from deep fryers, constructed
- sandbags, and leftover materials not inserted into lathes.
- - bugfix: Telekinetic sparkles now appear in the correct place when clicking on
- a turf and when clicking in the fog of war in widescreen.
- - bugfix: Telekinetically adjusting power tools no longer causes them to exit the
- universe.
- - tweak: Examining a telekinetic grab in-hand will now examine the grabbed object.
- - bugfix: Non-harmfully placing someone who is resting on a table no longer makes
- them get up.
- - bugfix: The disco machine no longer lags the chat by spamming "You are now resting!"
- messages.
- - tweak: Clicking on the viewport to focus it no longer leaves the input bar red.
- - bugfix: Running diagonally into space now properly continues the diagonal movement
- in zero-gravity.
- - bugfix: Moving diagonally past delivery chutes, transit tube pods, &c. no longer
- causes your camera to be stuck on them.
- - config: The limit of monkey's spawned via monkey cubes is now configurable
- - bugfix: Fixes cyborgs not being able to use two-handed modules while other modules
- are equipped.
- - bugfix: Pubby's auxiliary mining base now works again.
- - bugfix: The overlay effects of cult flooring are now on the floor plane, fixing
- their odd ambient occlusion appearance.
- - bugfix: Cloning no longer breaks a character's connection to their family heirloom.
- - bugfix: Beam rifle tracers no longer fall into chasms.
- - bugfix: Vomiting on the same tile a second time no deletes the vomited reagents.
- - bugfix: fixed the clockwork helmet not dropping to ground when used by non-clock
- cultists
- - refactor: The base machinery type is now anchored by default.
- - bugfix: PDA style now gets loaded correctly.
- - bugfix: Switching mobs into/out of a mech (by VR, ghosting, or mindswap) no longer
- improperly applies the mech's cursor.
- - tweak: roboticists have access to R&D windoors
- - tweak: switched the type of the space suit on the syndicate shuttle
- - bugfix: fixed hydroponics tray weed light staying on when removing weeds with
- integrated circuits
- - bugfix: Atom initialization and icon smoothing no longer race, causing late-loading
- mineral turfs to have no icon.
- - spellcheck: Faceless persons no longer "melt their face off" in energy gun suicides.
- - bugfix: The Lightning Bolt spell now works again.
- - tweak: Vehicle speed changes now happen immediately instead of on the next movement
- cycle
- - bugfix: Picture-in-picture objects now are no longer overlapped by other certain
- objects
- - bugfix: A pAI dying while in holoform no longer deletes the card, instead merely
- emptying it.
- - bugfix: The thermal sight benefits of lantern wisps no longer disappear if you
- change glasses.
- - imageadd: sandstone wall sprite for indestructible object
- - bugfix: Stabilized gold extracts now respawn the familiar properly.
- - bugfix: Stabilized gold familiars retain the proper languages even after respawning.
- - tweak: Stabilized gold familiars can be renamed and have their positions reset
- at will.
- - bugfix: Pulling objects diagonally no longer causes them to flail about when changing
- directions.
- - bugfix: Riders are no longer left behind if you move while pulling something that
- has since been anchored.
- - tweak: Fire alarms now redden all the room's lights, and emit light themselves,
- rather than applying an area-wide overlay.
- - bugfix: Fire alarms no longer visually conflict with radiation storms.
- - bugfix: Plasmamen now receive their suit and internals when entering VR.
- - bugfix: Deaf people can no longer hear cyborg system error alarms.
- - bugfix: Lockboxes are now actually locked again.
- - bugfix: Legion cores and admin revives now heal confusion.
- - bugfix: checks to see if bullets are deleted if they are the ammo type and the
- bullet chambered.
- - spellcheck: Capitalization, propriety, and plurality on turfs have been improved.
- - bugfix: Unbreakable ladders are now left behind when shuttles move.
- - rscadd: Players who edited a circuit assembly can scan it as a ghost.
- - bugfix: It is no longer possible to pull the mirages images at space transitions,
- and some other abstract effects.
- - bugfix: Moving large amounts of items with bluespace launchpads no longer creates
- a laggy amount of sparks.
- - bugfix: The escape pod hallways on MetaStation and DeltaStation now have air again.
- - bugfix: It is no longer possible to repair cyborg headlamps even when their panel
- is closed.
- - bugfix: Item fortification scrolls no longer add multiple prefixes when applied
- to the same item.
- - tweak: The blob core (and only the blob core) now respawns randomly on the station
- when the core is taken off z-level
- - bugfix: Prevents the round from going into an unending state
- - code_imp: Added a variable to the stationloving component for objects that can
- be destroyed but not moved off z-level
- - rscadd: After years of protests NT decided to update the fire security standards
- by adding 3 (three) advanced fire extinguishers to all the new stations.
- - bugfix: Hyperspace ripples now remain visible until the shuttle arrives, even
- during extreme lag.
- - bugfix: Ripples now correctly take the shape of the shuttle, rather than always
- being a rectangle.
- - bugfix: Non-secure windoors now properly support the "One Required" access mode
- of airlock electronics.
- - bugfix: The gulag shuttle no longer moves instantly when returned via the claim
- console.
- - admin: It is now possible to use the ".p" (Asay) and ".d" (Dsay) prefixes while
- an admin ghost.
- - admin: Speaking in deadchat now shows your rank instead of ADMIN
- - rscadd: Added a pink scarf to vendomats
- - rscadd: Players can now ctrl-click the PDA to remove the item in its pen slot
- - bugfix: added a clamp so you can't set a negative multiplier to create materials
- and create more than 50 items.
- - bugfix: anomaly cores no longer tend to dust
- - spellcheck: Plant disks with potency genes clarify the percent is for potency
- scaling and not relative to max volume on examine.
- - rscadd: Blast cannons have been fixed and are now available for purchase by traitorous
- scientists for a low low price of 14TC.
- - rscadd: 'Blast cannons take the explosive power of a TTV bomb and ejects a linear
- projectile that will apply what the bomb would do to a certain tile at that
- distance to that tile. However, this will not cause breaches, or gib mobs, unless
- the gods (admins) so will it. experimental: Blast cannons do not respect maxcap.
- (Unless the admins so will it.)'
- - rscadd: Cyborgs now drop keys on deconstruction/detonation
- - bugfix: The "Save Logs" option in the chat now actually works (IE 10+ only).
- - bugfix: Fixed cyborgs not getting their names at round start
- - bugfix: Fixed cyborgs and A.I.s being able to bypass appearance bans
- - bugfix: fixes cult shuttle message repeating
- - bugfix: Hardsuit helmets now protect the wearer from pepperspray
- - bugfix: It is once again possible for Cargo to export mechs.
- - tweak: tourettes doesnt stack on itself anymore
- - refactor: AI static now uses visual contents and should perform better in theory.
- - bugfix: Bucket helmets cannot have reagents transferred into them until after
- they are removed
- - rscadd: R&D deconstructors can now destroy things regardless of if there's a point
- value or material
- - bugfix: You should now receive your destroy AI objectives properly during IAA
- - bugfix: Deconstructable TEG now propertly connects to pipes.
- - bugfix: Fix of inverted TEG sprite of slow turbine turning. add:Now you can flip
- circulator and make TEG of your dream. add:Add TEG and circulator to "Advanced
- Power Manipulation" techweb node.
- - imageadd: New icon for plastic flaps that actually looks airtight.
- - code_imp: Update to plastic flaps code to use tool procs rather than attackby
- and removed two pointless states.
- - bugfix: Printing the TEG and circulator boards no longer prints the completed
- machinery instead.
- - imageadd: Medical HUDs will now show an icon if the body has died recently enough
- to be defibbed
- Cobby:
- - tweak: Decals are the exception to the recent removal of effects in Chameleon
- Projectors.
- - rscdel: Removed Advanced Mining Scanner from roundstart voucher kits.
- - rscdel: Removed Explorer Webbing from all voucher kits besides the shelter capsule
- pack.
- - bugfix: Paper doesn't give illegal tech anymore
- Cruix:
- - rscadd: AIs now have an experimental multi-camera mode that allows them to view
- up to six map areas at the same time, accessible through two new buttons on
- their HUD.
- Dax Dupont:
- - bugfix: Fixes the wrong tiles in Syndicate VR trainer and uses different tiny
- fans.
- - bugfix: Access didn't append to VR IDs
- - bugfix: Fixes missing curator hud icon.
- - balance: Cult items will no longer be a long ride on the vomit coaster if picked
- up by a non cultist.
- - balance: Cult space bases are kill again.
- - balance: Cult floors now pass gas.
- - bugfix: Fixed a few things deconning into the wrong circuit.
- - bugfix: You can no longer do infinite bioware surgery.
- - bugfix: Foam no longer gives infinite metal
- - bugfix: Mulligan didn't work on lizards and other mutants. Now it does.
- - tweak: The BoH dialog now has Abort instead of Proceed as an default option.
- - bugfix: Fixes accidental empty ahelp replies.
- - balance: More chemicals can be found when vents get clogged.
- - bugfix: Experimentor no longer shits out primed TB nades.
- - bugfix: Fixed rpeds throwing stock part rating related runtimes.
- - bugfix: Fixes a sentience related exploit by blacklisting it in restricted uplinks.
- - bugfix: Botany trays don't magically refill anymore with a rped.
- - balance: It's now easier to become fat. Don't eat so much.
- - bugfix: Fixed missing grilles under brig windows of the pubby shuttle.
- - rscadd: For the pubby shuttle, added some food in the fridge, mostly pie slices.
- Also added a sleeper to the minimedbay.
- - tweak: Reworded pubby shuttle description to be more inline with the new train
- shuttle.
- - refactor: Syndicate and Centcom messages have been squashed together.
- - admin: You can now send both Syndicate and Centcom headset messages. Be mindful
- that the button was changed to HM in the playerpanel
- - bugfix: Fixes missing cream pies in the cream pie fridge.
- - bugfix: Chem synths overlays aren't all kinds of fucked anymore.
- - refactor: Unfucked all of the remaining chem synth code.
- - refactor: Reagents no longer have an unused var that's always set to true. Who
- did this?
- - balance: Makes the xeno nest ruin harder to cheese.
- - bugfix: Fixes the bathroom being airless in the Space Ninja anime jail.
- - admin: Create antags now checks for people being on station before applying.
- - admin: Malf AI machine overloads now are logged/admin messaged.
- Denton:
- - rscadd: APC/air alarm/airlock/fire alarm/firelock electronics are now available
- once Industrial Engineering is researched..
- - tweak: Engi-Vend machines now contain fire alarm and firelock electronics!
- - code_imp: Loose tech storage circuit boards have been replaced with spawners.
- - code_imp: Added /syndicate subtypes for air alarms and APCs.
- - bugfix: Added missing stock parts to the syndicate lavaland base.
- - tweak: Added kitchen related circuit boards to the syndie lavaland base.
- - tweak: There are rumors of the Tiger Cooperative adding a "special little something"
- to some of their bioterror kits.
- - code_imp: Loose silver/gold/solar panel crates have been replaced with "proper"
- crates.
- - balance: Skewium is much less likely to appear during the Clogged Vents event.
- - bugfix: 'Navbeacon access requirements have been fixed: Now you need either Engineering
- or Robotics access, but not both at the same time.'
- - tweak: 'Pubbystation: Added a dual-port vent pump to the toxins burn chamber.'
- - code_imp: Removed most airlock_controller/incinerator related varedits and replaced
- them with defines/subtypes.
- - tweak: The Deltastation toxins lab has its portable scrubber, air pump and intercom
- back.
- - bugfix: Swarmers can no longer attack field generators and turret covers.
- - rscadd: Arcades have been stocked with preloaded tactical snack rigs.
- - bugfix: The Pubbystation maint bar Booze-O-Mat now shows its contents correctly.
- - tweak: Added a warning to the shuttle purchase menu.
- - balance: Pirates and Syndicate salvage workers have been beefed up around the
- caravan ambush ruin.
- - tweak: NanoTours is proud to announce that the Lavaland beach club has been outfitted
- with a dance machine, state of the art bar equipment and more.
- - tweak: Did you know that honey has antibiotic properties?
- - spellcheck: Improved supply shuttle messages and firefighting foam descs.
- - bugfix: Supply shuttles will no longer spill containers on docking.
- Dimmadunk:
- - rscadd: 'There''s a new type of reagent added to the booze dispenser: Fernet.
- With it you can make a couple of new digestif drinks that will help you reduce
- excess fat!'
- ElPresidentePoole:
- - rscadd: SFX for seppuku (on all katanas)
- - rscadd: suicide message for energy katanas ("cyber-seppuku")
- - rscadd: suicide message for replica katanas ("seppuku")
- Flatty:
- - tweak: The blurry eye overlay has been replaced with an actual blur.
- - tweak: The vending machine UI is now prettier.
- Garen:
- - rscadd: Thrower and Gun circuits put messages in chat when they're used.
- - tweak: Only the gun assembly can throw/shoot while in hand
- - imageadd: Adds inhands for the gun assembly
- - bugfix: grabber inventories update when a thrower takes from them
- GrayRachnid:
- - rscadd: Adds private rooms to the ninja holding center
- - rscadd: Along with a few things to make it more tolerable, but fear not. There
- is now a suicide chamber for those who want the easy way out.
- GuyonBroadway:
- - rscadd: Adds gloves of the north star to the traitor uplink. Wearing these gloves
- lets you punch people five times faster than normal.
- - rscadd: Sprites for the gloves courtesy of Notamaniac
- Hatterhat:
- - tweak: The plasma formerly present in some execution syringes was replaced with
- amatoxin.
- Hyacinth:
- - rscadd: Grenadine is now available in the bar!
- - tweak: Tequila sunrises now require grenadine to make!
- Iamgoofball:
- - tweak: Lipolicide now only does damage if you're starving.
- Improvedgay:
- - balance: Naming immerions
- Improvedname:
- - rscadd: Adds rubbershot secrifle shots
- JStheguy:
- - rscadd: Added the data card reader circuit, a circuit that is able to read data
- cards, as well as write to them.
- - tweak: Data cards are now longer inexplicably called data disks despite clearly
- being cards, and can be printed from the "tools" section of the integrated circuit
- printer.
- - tweak: Data cards no longer have a special "label card" verb and instead can have
- their names and descriptions changed with a pen.
- - rscadd: Also, some aesthetically different variants of the data cards, because
- why not.
- - imageadd: Data cards have new sprites, with support for coloring them via the
- assembly detailer.
- Jay:
- - tweak: Bans CMO, RD, CE, and HoP from antag/ling
- Jegub:
- - imageadd: Glowcaps now have their own sprite.
- Kor:
- - rscadd: The Quartermaster and HoP can now access the vault so they can use the
- bank machine.
- - rscadd: Engineering can now create anomaly neutralizer devices, capable of instantly
- neutralizing the short lived anomalies created by the supermatter engine.
- - rscadd: Bubblegum has regained his original (deadlier) move set.
- LetterN:
- - bugfix: Fixes shock collars, they now fit on the neck slot
- - bugfix: you can't put them on pockets anymore
- MacHac:
- - bugfix: Bedsheets once again properly influence the dreams of those who sleep
- under them.
- Mickyan:
- - bugfix: Drinking too much Gargle Blaster, Nuka Cola or Neurotoxin no longer breaks
- time and space.
- - bugfix: Pacifists can now use harm intent for actions that require it (but still
- can't harm!)
- - spellcheck: fixed typo in bronze girder construction
- - rscadd: 'New trait: Drunken Resilience. You may be a drunken wreck but at least
- you''re healthy. If alcohol poisoning doesn''t get you, that is!'
- - bugfix: Fixed pacifists being able to harm using bottles/screwdrivers
- MrDoomBringer:
- - imageadd: the VR sleeper action button has a sprite now
- - admin: Central Command can now smite misbehaving crewmembers with supply pods
- (filled with whatever their hearts desire!)
- - admin: CentCom Supplypods now stun their target before landing, and won't damage
- the station as much
- Naksu:
- - code_imp: clothing-specific flags are now defined in /obj/item/clothing.clothing_flags
- - code_imp: More flags have been moved to their appropriate places
- - code_imp: HEALS_EARS_2 is removed in favor of the earhealing component
- - code_imp: wearertargeting component is available to subtype for components that
- want to target the wearer of an item rather than the item itself
- - code_imp: changed the shockedby list on doors to be only initialized when needed.
- - tweak: Chameleon projector can no longer scan (often temporary) visual effects
- like projectiles, flashes and the masked appearance of another chameleon projector
- user
- - bugfix: Drones can no longer see a static overlay over invisible revenants
- - balance: adjusted default antag rep points to grant every job the same amount
- of points per round, except for assistant which gets 30% less
- - rscadd: Nuclear explosive-shaped beerkegs found on metastation can now be triggered
- with the nuclear disk and the syndicate's legacy nuclear code for a foamy surprise
- - bugfix: comms consoles now work in transit again, and no longer work in centcom
- - code_imp: removed unnecessary getFlatIcons from holocalls
- - bugfix: Screwdrivers and other items with overlays now show the proper appearance
- of the item when attacking something with them, or when put on a tray.
- - code_imp: moved /datum.isprocessing into datum flags
- - code_imp: Removed unused effect object that could be used to spawn a list of humans
- - tweak: The ladders in the tear in the fabric of reality no longer spawn their
- endpoints when the area is loaded, but only when the tear is made accessible
- via a BoH bomb.
- - tweak: CentCom is no longer accessible via the space ladder in the tear.
- - tweak: The lavaland endpoint can no longer spawn completely surrounded by lava,
- unless it spawns on an island
- - code_imp: ChangeTurf can now conditionally inherit the air of the turf it is replacing,
- via the CHANGETURF_INHERIT_AIR flag.
- - bugfix: when ladder endpoints are created, the binary turfs that are created inherit
- the air of the turfs they are replacing. This means the lavaland ladder endpoint
- will have the lavaland airmix, instead of a vacuum.
- - code_imp: navigation beacons are now properly deregistered from their Z-level
- list and re-registered on the correct one if moved across Z-levels by an effect
- such as teleportation or a BoH-induced chasm.
- - bugfix: constructed directional windows no longer leak atmos across them
- - code_imp: setting the value of anchored for objects should be done via the setAnchored
- proc to properly handle things like atmos updates in one place
- Nicc:
- - rscadd: toxins lab boii
- Nichlas0010:
- - tweak: Reseach Director Traitors can no longer receive an objective to steal the
- Hand Teleporter
- - bugfix: Comms consoles won't update while viewing messages
- - spellcheck: you now feel nauseated instead of nauseous
- - bugfix: You can no longer use a soapstone infinitely
- - bugfix: You now can't get multiple download objectives!
- - tweak: RDs, Scientists and Roboticists can no longer get download objectives!
- Poojawa:
- - tweak: Admin IC issue is no longer TG i ded passive aggressive.
- - rscadd: Added *insult, for when you just can't think of anything more clever
- - bugfix: Makes vore specific prefs call Rust_g else uses normal stuff.
- - bugfix: Citadel Toggles should save properly now
- - bugfix: fixed clothing vendor fedoras having Detective Fedora grade armor
- - bugfix: Fixes missing icons on mag weapons for techmemes
- - bugfix: Fixes APCs being replaced in maint from counting Maint as their wall turff
- - rscadd: Added Vore based moodlets, primitive and ain't gunna adapt for not belly
- things but w/e
- Pubby:
- - bugfix: 'PubbyStation: Fixed disposals issue in security hallway'
- Robustin with cat earrs:
- - bugfix: 'Gun overlays should be way less laggy now. remove: Chameleon guns are
- completely removed since they crash the server, were already made unavailable,
- and are the worst shitcode I''ve ever seen in my life.'
- ShizCalev:
- - bugfix: Adminorazine will no longer kill ash lizards.
- - bugfix: Adminorazine will no longer remove quirks.
- - bugfix: Fixed mobs immune to radiation being killed by HIGH bursts of radiation.
- - bugfix: The book of mindswap will now properly mindswap it's users.
- - bugfix: Fixed a runtime with the gulag teleporter that could cause the process
- to fail if you removed the ID.
- - tweak: Not setting the goal of a prisoner's ID when teleporting them will now
- set the ID's goal to the default value (200 points at the time of this change.)
- - bugfix: Fixed cigar cases & cigarette packets taking two inventory slots
- - bugfix: Fixed cigar cases showing the wrong icon for the cigars inside them.
- - bugfix: Fixed cigar cases & cigarette packets stating the wrong name of the cigar/cigarette
- when removed via altclick.
- - bugfix: Fixed items in pockets vanishing when a mob is monkeyized.
- - bugfix: Fixed items in pockets vanishing when a mob is gorillized.
- - bugfix: Fixed items in pockets vanishing when a mob is infected with a transformation
- disease.
- - bugfix: Fixed items in pockets not being properly deleted when a mob goes through
- a recycler
- - bugfix: Fixed items in pockets not being properly deleted when highlander mode
- is enabled.
- - bugfix: Fixed exploit allowing you to remove unremovable tanks from pockets.
- - bugfix: Fixed items in pockets dropping when a mob is equipped with a new outfit.
- - bugfix: Fixed items in pockets not being covered in blood when equipping the psycho
- outfit.
- SpaceManiac:
- - bugfix: The destructive analyzer can once again be used to reveal nodes.
- - spellcheck: Some references to "deconstructive analyzer" have been updated to
- "destructive".
- TGstation contributors:
- - bugfix: Nukeop eshields are now buyable. tgstation/tgstation#39025
- - bugfix: Staff of storms now has admin logging. tgstation/tgstation#39011
- - bugfix: Fixed a couple of inconsistencies in the uplink descriptions of SMGs and
- SMG ammo. tgstation/tgstation#38980
- - bugfix: Fixed blob victory. tgstation/tgstation#38988
- - tweak: You can now un-ignore notifications you've clicked "never this round" on,
- and more. tgstation/tgstation#38990
- - bugfix: Fixes a weird bug with timers. tgstation/tgstation#38994
- - bugfix: (tgstation/tgstation#40043) - Beam rifles no longer open lockers
- - bugfix: (tgstation/tgstation#40061) - Mobs can no longer get stuck at min/max
- body temperature
- - bugfix: (tgstation/tgstation#40041) - Pictures of asses are now properly sized
- - bugfix: (tgstation/tgstation#40084) - The lastattacker var now includes unarmed
- attacks
- - bugfix: (tgstation/tgstation#39968) - Plastic golems can no longer ventcrawl with
- items in their pockets
- - bugfix: (tgstation/tgstation#39885) - You can no longer crash the server by overcharging
- energy guns.
- Thunder12345:
- - rscadd: Added a colour picker component for use with circuits.
- Time-Green:
- - bugfix: Soda is no longer intangible to the laws of physics
- Toriate:
- - rscadd: It appears that ancient pieces of armor have wound up on the open market!
- These armors have degraded beyond usefulness. Grab one now in the loadout!
- - imageadd: added flak jacket and M1 Helmet sprites
- - rscadd: Gives the flak helmet a tiny storage compartment
- - balance: Made the flak helmet even weaker against acid and fire so it crumbles
- into dust easier
- - rscadd: Added the Corporate Uniform and the Silver Bike Horn
- - imageadd: added sprites for the Corporate Uniform and Silver Bike Horn
- Tupinambis:
- - tweak: 'Removes the tesla coils from engineering secure storage, and places them
- within the engine room, functional upon being wrenched down. (Arranged in the
- common method of three coils on the left and right sides.)
-
- Reduces the width of engineering secure storage and its blast door by one tile.
- The machinery within has been rearranged in order to make the most commonly
- used machinery the most accessible.'
- - tweak: Replaces the blood-red hardsuit in Deep Storage with a mining EVA hardsuit,
- and an included oxygen jetpack.
- - rscadd: 'Adds a replacement to the old lavaland xeno ruins in the form of lavaland_surface_alien_nest.dmm An
- image of which is shown below. (The area layer is disabled for visibility.)
- 
- 
-
- This replacement is designed to act as a sort of raid, with the queen as the
- raid boss. The most notable loot includes the corpse of a drone, security bio
- armor, a bone axe, some basic syndicate equipment, and a syringe containing
- alien microbes. All references to the old lavaland xeno ruins have been replaced
- with references to the new map file.'
- - rscadd: New corpse spawners for alien queens and drones.
- - rscadd: New syringe containing the alien microbe reagent.
- - rscdel: Removed the currently unused lavaland_surface_xeno_nest.dmm map file,
- and its references.
- - rscadd: Added an experimental hard suit to toxins bomb test room on Box.
- - tweak: Increased the size of the toxins bomb test room, moved the telescreen,
- and added chairs on Box.
- - tweak: Moved some pipes out of the way on Box and Meta.
- - rscadd: 'Two air pumps have been added to the toxins lab on Pubby and Meta.
-
- The following changes apply to Box, Meta, and Pubby:'
- - tweak: Unbolts the toxin burn chamber doors on round start.
- - tweak: Unlocks the toxins lab air alarm on round start.
- - tweak: When spawned as a nuclear operative, you keep your characters race instead
- of being changed into a human. Plasmamen are an exception to this change.
- - tweak: By popular request, makes the Head of Security spawn with a telebaton instead
- of a stun baton.
- Werebear:
- - rscadd: Seven new holochassis options for pAIs and two new display images for
- pAIs.
- Wilchen:
- - rscdel: Removed box of firing pins from rd's locker
- XDTM:
- - bugfix: Fixed anti-magic not working at all.
- - bugfix: Diseases now properly lose scan invisibility if their stealth drops below
- the required threshold.
- - tweak: Coldproof mobs can now be cooled down, but are still immune to the negative
- effects of cold.
- - bugfix: This also fixes some edge cases (freezing beams) where mobs could be cooled
- down and damaged despite cold resistance.
- - balance: Androids are now immune to radiation.
- Xhuis:
- - tweak: Character traits are now called character quirks. Functionality remains
- unaffected.
- Zxaber:
- - rscadd: Cyborgs can wear more hats now.
- and Fel:
- - imageadd: New chairs are on most shuttles! Finally, you can relax in style while
- escaping a metal death trap.
- armhulen:
- - rscdel: chameleon guns are disabled for breaking the server
- cacogen:
- - rscadd: You can now see what other people are eating or drinking.
- - rscadd: Borg shaker can now synthesise milk, lemon juice, banana juice and coffee
- - bugfix: Renamed drinks no longer revert to their original name when their reagents
- change
- cyclowns:
- - bugfix: Fires no longer flicker back and forth like crazy
- - rscadd: Fusion has been re-enabled! It works similarly to before, but with some
- slight modification.
- - tweak: Fusion now requires huge amounts of plasma and tritium, as well as a very
- high thermal energy and temperature to start. There are several tiers of fusion
- that cause different benefits and effects.
- - tweak: The fusion power of most gases has been tweaked to allow for more interesting
- interactions.
- - tweak: BZ now takes N2O and plasma to create, rather than tritium and plasma.
- - bugfix: Fusion no longer delivers server-crashingly large amounts of radiation
- and stationwide EMPs.
- deathride58:
- - tweak: (Only visible on 512) Stamina crit will now result in the mob's sprite
- subtly darkening around its edges.
- - rscadd: Added a tiny reference item to a year-old weeby game. If you're a traitor,
- you can find this item in the "badassery" section of the uplink. It's free,
- and you can order up to 4 of them! The effects of this item are only visible
- on 512.
- - code_imp: Added a component signal for toggling combat mode on/off.
- - balance: The cleaving saw now deals less staminaloss to its user while inactive.
- - rscadd: You can now make use of custom say verbs with the [say verb*message] format
- - rscadd: Yelling will now echo and penetrate walls
- - tweak: Distant voices now have smaller text
- - tweak: You can now see the amount of charges an emag has by examining it
- - tweak: Emags now make a quiet noise when they're close to running out of charges.
- - tweak: Emags are no longer irreversibly destroyed upon running out of charges.
- - rscadd: Traitors can now purchase emag recharge devices for 2 TC. They have five
- extra charges each, and can be found in the devices and tools section of the
- uplink.. There's no cap on the amount of charges a single emag can have, though
- do be aware that upstream spaghetti code makes it easy to waste charges.
- - tweak: Small emag flavortext changes here and there
- - balance: The warden's particle defender now deals less staminaloss when in stun
- mode.
- - tweak: '"code [alert level]" has been changed to "[alert level] alert" on the
- hub entry.'
- - tweak: The hub entry now displays the current map.
- - tweak: Lavaland is no longer fullbright. We have memory to spare.
- - rscadd: Adds the wheelofsalt command to TGS3. Spin the wheel of salt to find out
- what the Citadel Station 13 players are salting about today!
- - rscadd: You can now slam or slap your hands onto tables by right clicking them
- in combat mode.
- - tweak: Non-admins can no longer use LOOC while dead, unconscious, in crit, or
- while ghosting.
- - tweak: The syndicate mask available in the uplink will now inject you with a chem
- that cuts your click delay in half and increases your stamina regeneration,
- when you enter combat mode. The mask has a five minute cooldown between adrenaline
- injections.
- - balance: Dogborgs will now reduce firestacks when they use their tongue to lick
- someone's face.
- - bugfix: The repo compiles again
- - bugfix: The flag cape donor item should render properly now.
- - tweak: The default amount of z-levels reserved specifically for space ruin generation
- has been reduced from 7 to 1
- - bugfix: Items now spawn on top of, rather than inside, closets and other storage
- structures
- - rscadd: Jukeboxes now have realtime directional audio, complete with occlusion
- when you're far away or behind a wall.
- - rscadd: More than one jukebox can play a song at a time now. Have up to 5 jukeboxes
- playing at once!
- - rscadd: Devs can now control the wet and dry channels of sounds played via playsound_local.
- The new envwet and envdry arguments will control the volume of the wet and dry
- track, respectively.
- - code_imp: Jukeboxes have been turned into a subsystem. Track initialization, audio
- playing, etc, are now handled via SSJukeboxes instead of via the jukebox object
- procs.
- - config: Jukebox tracks now require an additional ID field at the end of their
- name. This will make it easier to add jukebox-style objects that are only capable
- of playing specific songs, without worrying about copyright issues.
- - rscadd: Added Raiq's boombox as a donor item
- - rscadd: You can now manipulate tails, ears, body markings, mutant colors, and
- taur types via DNA console!
- - balance: Reduced the exponent on gas tank ruptures. TTVs and suicide onetanks
- that were previously 20dev are now approximately 9.6dev. Let's see the actual
- toxins nerds adapt!
- - tweak: When a custom say verb message is spoken without any actual words, the
- text will render without a `, ""` at the end of it.
- - balance: The combat rework's training wheels have been removed. Knockdowns no
- longer have any noticeable stun. This indirectly means stunbatons and tasers
- will always deal their full stamloss on hit.
- - balance: The stamloss required for boxing gloves to throw a knockout punch has
- been increased from 50 to 100.
- - rscadd: You can now prime the grenade on bombspears by using them in your hand.
- The wield hotkey is moved to combat mode rightclick while a spear has a grenade
- on it. This is explained in the examine text.
- - balance: Bombspears no longer instantly explode on impact when thrown. They now
- have to be primed to explode when thrown.
- - balance: Bombspears now have 90% embed chance.
- - rscadd: If an embedded item is normal sized or larger, you can take it out instantly
- by pressing resist.
- - balance: Embedded items are now much harder to pull out the smaller they are,
- rather than the other way around. It's much easier to rip out a sword from your
- chest than it is a shard of glass in your face.
- - tweak: The message you get when you get bounced by the PB is now a little more
- clear about what you need to do to gain access to the server.
- - balance: The jukebox now falls off over a greater distance. You can now actually
- hear the jukebox while sitting in a far corner of the bar, or while passing
- through the main hallways.
- - rscadd: Added antag OOC. This is disabled by default, but you can access it with
- the "AOOC" verb as an antagonist when an administrator enables it.
- - tweak: LOOC now supports emojis
- - tweak: 'Deadchat and asay will now both render emojis! :snya:'
- - balance: The disarm attack on EMP'd defibs now has an interruptible 1 second timer
- before it actually lands.
- - balance: The stamina buffer now only takes 1 second to start regenerating.
- - balance: Disablers have had their damage reduced from 36 stamloss to 24 stamloss,
- increasing their shots to stamcrit from 4 to 6.
- - balance: Tasers have had their damage increased from 55 stamloss total to 61 stamloss
- total. Shots required to stamcrit are unaffected.
- - rscadd: Introducing the Kitchen Gun (TM)! Say goodbye to daily stains and dirty
- surfaces with Kitchen Gun (TM)! Just five shots from Kitchen Gun (TM), and it'll
- sparkle like new! Includes two extra ammunition clips for the low, low price
- of just 10 TC! Laser sight and night vision accessories sold separately! Magazines
- can be purchased individually for 1 TC a pop!
- - tweak: Active turf processing is now its own subsystem.
- - code_imp: Ports tgstation/tgstation#39287 - You can now configure how fast a mob
- fires, and how many shots they fire in a single burst
- - rscadd: When you spawn as a miner, you'll get text clarifying your job description.
- You might not think it's necessary, but believe me, it is.
- - rscadd: mushroom people are now roundstart on live
- - rscadd: The geargroupID var of loadout entries can now be a list rather than a
- string. GeargroupID changes are additive when multiple are defined in a single
- loadout entry.
- deathride58 (Original PR by Basilman/Militaires):
- - rscadd: Ported TGstation's Agent Stealth Box! You can the implanter in the syndicate
- uplink for 8 TC. Credit goes to Basilman/Militaires. This port includes minor
- adjustments, see the GitHub for details.
- hatterhat after being yelled at by kevinz:
- - bugfix: deletes an entire line that might fix flash icons idk blame him if it
- gets worse
- iksyp:
- - rscadd: stacking machines and their consoles no longer dissapear into the shadow
- realm when broken
- - rscadd: you can link the stacking machine and its console by using a multitool
- - bugfix: Ever since the great emotion purge of 2558, people were able to work at
- top efficiency, even while starving to death. This is no longer the case, Nanotrasen
- Scientists say.
- - admin: Hunger slowdown only applies if mood is disabled in the config.
- imsxz:
- - admin: Using mayhem bottles and going under their effects is now logged.
- izzyinbox:
- - rscadd: Added an integrated circuit part that interacts with the arousal system
- - tweak: changes the admin-pm input box from single line to multi-line
- - bugfix: Tennis balls now equip and show up in the correct slots
- - rscadd: Adds option in the hide/expose genitals verb to hide genitals even without
- clothes
- kevinz000:
- - rscadd: Cameras now can take pictures up to 7x7. Alt click them to change their
- width/height from the default 3x3.
- - rscadd: Photos are now logged to disk, assuming the host enabled the configuration
- option
- - rscadd: If the above is enabled, albums/frames can now have their persistence
- IDs set in variables to allow for PHOTO PERSISTENCE
- - rscadd: Every head of staff gets a unique album with its own ID in their locker.
- Let your successors know about your accomplishments, screwups, and everything
- in between!
- - rscadd: All of this works or should work with newcasters/pdas/etc etc
- - rscadd: Photo taking now clones the area into transit space and then operates
- on it, instead of on the spot, in theory making photographing things more accurate?
- nicc:
- - rscadd: no more dark locker corner woo
- - tweak: area alterations
- - rscadd: escape pod
- - rscadd: see above
- - rscadd: adds windoor to the plastic flaps in the atmos lobby
- ninjanomnom:
- - rscadd: A plush that knows too much has found its way to the bus ruin.
- resistor:
- - rscadd: Added circuit labels! You can now customize the description of your assemblies.
- slate3:
- - rscadd: ported a new alternative sprite for engineering borgs, mr. handy
- - rscadd: ported a new alternative sprite for security borgs, a spider-like walker
- - rscadd: ported a new alternative sprite for medical borgs, an eyebot
- steamport:
- - bugfix: Borgs/AIs can now toggle rad collectors
- ursamedium:
- - bugfix: slapping / slamming hands on tables now uses appropriate pronouns
- - bugfix: crow pAI is no longer invisible while resting
- yenwodyah:
- - bugfix: A few virus threshold effects should work now
- yorii:
- - bugfix: Fixed the smartfridges to be in line with all other machines and puts
- the released item in your hand.
- yorpan:
- - rscadd: Brain damage makes you say one more thing.
-2019-11-04:
- 4dplanner, MMiracles:
- - tweak: Wizard shapeshift now converts damage taken while transformed
- - bugfix: transform spell transfers damage correctly instead of healing most of
- the time
- - bugfix: 0% simplemob health maps to 0 carbon health, 100% simplemob to 100% carbon
- - bugfix: transforming to a form with brute resistance no longer heals you
- - bugfix: transforming back to a species with brute resistance no longer heals you
- AdmiralPancakes1:
- - rscadd: 'Cryo cell shortcuts: alt-click toggles the doors, ctrl-click toggles
- the power'
- Alonefromhell:
- - rscadd: Ported Oracle UI, a framework for self-updating and neat UI's
- - refactor: Paper now uses OUI
- - refactor: Bins now use OUI
- - bugfix: fixes tootip offset
- AnalWerewolf:
- - rscadd: Fritz plushie
- - rscadd: Donor item
- Anonymous:
- - imageadd: 'More crusader armor variants to pick from armament: Teutonic and Hospitaller.'
- Arturlang:
- - rscadd: You can now use CTRL and ALT click on pumps and filters to toggle them
- on and off and max their output respectively
- - rscadd: You can now use RPDs on windows and grilles.
- - rscadd: The RD can now suplex a immovable rod. Good fucking luck.
- - bugfix: Fixes high alert ERT suit sprites. You can see them now!
- - rscadd: Traitor codewords are now highlighted for traitors.
- - rscadd: You can now examine pumps filters and mixers to see if you can use CTRL
- and Alt click on them.
- - bugfix: Fixes brain damage/trauma healing nanites so they actually work while
- there are only traumas.
- - tweak: Advanced toxin filtration nanites now heal slimes
- Bhijn:
- - rscadd: It's now possible to forcefully eject the occupants of a dogborg's sleeper
- by using a crowbar on them. This action is instant.
- - tweak: Resist values for dogborg sleepers have been adjusted. The baseline has
- been decreased from 30 seconds to 15 seconds. Medihound sleepers have a resist
- timer of 3 seconds. Sechound sleepers retain a resist timer of 30 seconds.
- - tweak: It now takes 10 full seconds to insert people into your sleeper. This should
- hopefully give people some more room to breathe and react to a dogborg attempting
- to sleeper someone either for no reason or in a way that violates law 2.
- - bugfix: Warp whistles no longer grant permanent invulnerability and invisibility
- - bugfix: You can now actually use the resist hotkey to resist out of handcuffs.
- Woah, revolutionary
- - bugfix: the `!tgs poly` command now actually works
- - rscadd: Poly now has a 0.01% chance per squawk to speak through the TGS relay.
- - balance: The point production mode of radiation collectors has been reverted to
- the original behavior of using all of the stored power every process cycle instead
- of just 4% of it
- - tweak: Radiation collectors now display the amount of power/research points they're
- producing per minute rather than per process cycle, which should hopefully clear
- up a lot of confusion.
- - tweak: Radiation collectors also display what's happening to the gas within them,
- which should make it a lot more obvious as to how you get tritium.
- - tweak: Security borgs and K9s are now only available during red alert or higher.
- - server: Headmins or other folks with access to the server's config can choose
- the minimum alert level for secborgs to be chosen via the MINIMUM_SECBORG_ALERT
- config option. See the default game_options.txt for more info.
- - bugfix: The server no longer attempts to check if the CID matches the IP of any
- bans, or if the IP matches any CIDs of any active bans, during client analyzation
- - balance: Vampires can now only ventcrawl in bat form if their blood level is below
- the bad blood volume (224 blood total)
- - balance: Vampires now only take 5 burn per mob life cycle while within chapel
- areas, down from the original 20 burn per life cycle.
- - tweak: K9 pounces have received a minor rework. It now has an effective cooldown
- of 2.5 seconds, can now only deal up to 120 staminaloss, deals a maximum of
- 80 stamloss on hit, has a spoolup of half a second, and now has telegraphing
- in the form of a quiet noise.
- - balance: K9s now only have 80 health
- - balance: Secborgs (but not k9s) now have a hybrid taser. This can be toggled via
- server config.
- - tweak: The disabler cooler upgrade now applies to all energy-based firearms for
- borgs
- - rscadd: Dogborg jaws are now capable of incapacitating targets if using help intent.
- This deals a hard stun depending on how much staminaloss the target has, and
- whether or not they're resting. This behavior can be toggled via server config.
- - balance: K9 jaws now have 15 force, up from their nerfed 10 force.
- - balance: Borg flashes regained their ability to cause knockdown. This can be toggled
- via server config.
- - server: The WEAKEN_SECBORG config option will disable the new dogborg jaws mechanic
- and make secborgs spawn with a standard disabler.
- - server: The DISABLE_BORG_FLASH_KNOCKDOWN will disable the ability for borg flashes
- to knockdown.
- - tweak: Jukeboxes now have 6 audio channels available to them, up from the previous
- accidental 2 and previously intended 5 channels.
- - bugfix: Jukeboxes now work again on clients running versions higher than 512.1459.
- - bugfix: People will no longer have their ears consumed by an eldritch god if multiple
- jukeboxes are active and the first jukebox in the jukebox list stops playing,
- then tries to play again
- - tweak: Instead of the debug text for invalid jukebox behavior being printed to
- world, the debug text is now restricted to the runtime panel.
- BurgerB:
- - tweak: Tweaked the UI of the loadout to be less cluttered due to an issue with
- formatting.
- BurgerBB:
- - rscadd: Adds the bonermeter; a device that measures arousal based statistics.
- - refactor: Added a new input to the electrostimulator that controls the strength
- of the shock. It accepts negative inputs which reduce arousal. Added a new output
- to the electrostimulator that displays the amount of arousal gained.
- - balance: Rebalanced the electro-stimulator to be less spammy by giving it a 2.5
- second enforced cooldown per circuit contraption. Increased the complexity of
- electro stimulator from 10 to 15.
- - refactor: Reworked the Vent Clog event to spray smoke instead of foam, also made
- it shoot smoke over time instead through each vent instead of all at once.
- - tweak: Increased the spawn area of the City of Cogs (Reebe). This does not affect
- the area in which builders can build.
- - balance: Significantly tweaks the Wizard race transformation event to be less
- unreasonably troublesome.
- - rscadd: Adds a new 0 cost trait that makes you immune* to Crocin and Hexacrocin
- - tweak: Tweaks how slurring works so it's more of a gradual change into slurring
- instead of immediate.
- - balance: Slurring is now directly proportional to your drunkenness, with other
- sources of slur being added on top of it.
- - tweak: Bras are now separate from underwear, meaning you can mix and match bras
- if you're into that.
- - tweak: Men can wear female accessory clothing, and females can wear men accessory
- clothing. It's not a fetish, mom, it's PROGRESSIVE.
- - code_imp: Reorganized accessories into their own files to prevent a massive 1000
- line file.
- - server: i'm 10% sure that merging this PR will cause preference corruption sooooooooooo
- I just need to hear from @deathride58 or perhaps someone else on how much damage
- this could possibly do.
- - tweak: Tweaked penis.
- - balance: Rebalanced penis.
- - rscadd: 'Added the following reagents to the common list of vent clog reagents:
- ~~Cooking Oil~~, ~~Frost Oil~~, Sodium Chloride, Corn Oil, Uranium, Carpet,
- Firefighting Foam, semen, femcum, tear juice, strange reagent, ~~spraytan~~.'
- - balance: Vent Clog smoke emits the same transparent smoke as a smoke machine,
- including how much it transfers. Vent Clogs also do not trigger in areas deemed
- "Safe" in code, such as in the dorms or trusted areas where dangerous things
- shouldn't occur.
- - rscadd: Adds additional random brain damage text
- - rscadd: Adds penis enlargement pills.
- - rscadd: Adds Stun Circuit and Pneumatic Cannon Integrated Circuits
- - bugfix: Fixed extinguisher and smoke circuits not accepting any reagents.
- - rscadd: Adds a few important clockcult tips.
- - rscadd: Added Mech Sensors, a brass-created trap that activates when a mech not
- controlled by a cultist crosses it.
- - rscadd: Added power nullifiers, an emp trap that emps everything in a 3x3 area,
- with the center suffering a heavy EMP.
- - tweak: Brass Skewers now deal 50 damage to mechs.
- - balance: Ass slapping only works if you're actually behind the target. Ass slapping
- now respects disarm blocking. You can no longer face/ass slap someone on an
- intent other than help, unless they are also face/ass slapping.
- - bugfix: Fixed ass and face slapping grammar.
- - rscadd: Adds meh effects for ass and face slapping.
- - tweak: '"Unwillingly" eating food now sends a warning message instead of a notice.
- Unable to stuff food down your throat sends a danger message instead of a warning
- message.'
- - rscadd: Adds clockwork reflectors, a fragile anti-laser reflection shield object
- that can be constructed for 10 brass sheets. Upon firing on the object in the
- direction where it is shielded, it ricochets the bullet off of it relative to
- the shooting angle.
- - tweak: Renames some windows in the build menu for consistency.
- - balance: Clockwork Cult walls can no longer be deconstructed by RCDs when heated.
- - rscadd: Adds several new toy loot to the arcade machine.
- - balance: Rebalanced the arcade machine loot. Battlemachines now have a 0.5 second
- delay instead of a second delay between actions.
- - bugfix: Fixed a bug that would not allow the one in a million pulse rifle to spawn.
- - rscadd: Adds a new trait "Buns of Steel" that makes you immune to the effects
- of ass slapping, and temporarily makes the user's arm useless like a stun baton
- hit. It costs 0 points.
- - balance: Ass slapping blowback from the Buns of Steel perk now deals 20 stamina
- damage instead of 50, and no brute damage.
- - rscadd: Gamemode voting results are displayed at the end-round screen.
- - balance: Cloning no longer gives you positive mutations, but a chance for a negative
- one. Cloning has a chance to "scramble" your visual DNA.
- - balance: Chestbursters no longer give and remove your brain. They just disembowel
- and kill you now.
- - bugfix: Fixes WarOps miscalculating players.
- - balance: Activating the nuclear device during war-ops informs the crew of the
- nuke's position.
- - rscadd: The alert level is displayed at the job selection screen.
- - balance: Central Command informs you when a Meteor Storm is about to hit 5 to
- 10 minutes before it happens.
- BurgerLUA:
- - code_imp: Added a new framework for reagents. Reagents can now have a bool that
- determines if it can be detected by handheld medical analyzers. Currently only
- the changeling sting chemical does this.
- - balance: Made changeling transformation string last between 10-15 minutes. Lowered
- the dna cost of changeling sting from 3 dna to 2 dna. Lowered the chemical cost
- from 50 to 10. Lowered the loudness from 2 to 1. Changeling sting transformation
- can be removed via high doses of calomel.
- - bugfix: Fixed most reagents having a placeholder color.
- - bugfix: Fixed autolathe wires not correctly shocking you when pulsed.
- - balance: Rebalanced special jetpacks.
- CalamaBanana:
- - rscadd: Added Deer taur
- - rscadd: Added Elf ears to mammals
- CameronWoof:
- - rscadd: Medihounds now have rollerbeds for non-vore patient transport
- - bugfix: The closed O2 crate now uses the same color scheme as the open one
- - tweak: air alarms are green now instead of blue when the atmosphere is ideal
- - tweak: Hexacrocin overdose no longer causes climaxes
- - tweak: Altered the icons for inventory backplates. Sleek! Stylish! New!
- - bugfix: Attaching a beaker that contains water to an IV stand no longer causes
- a visual glitch
- - tweak: Fluid-producing sexual organs no longer start full
- - tweak: Sexual organ fluid capacity decreased from 50 to 15
- - tweak: Sexual organ production rate decreased from 5u to 0.035u per two seconds.
- - tweak: Sexual fluid decals no longer contain reagents
- - tweak: Sexual fluids cannot by synthesized (e.g., by the Odysseus)
- CdrCross:
- - rscadd: Adds the ability for cloning consoles to read and write record lists to
- the circuit board, and provides a template for giving other machines local circuit
- board memory.
- Cebutris:
- - rscadd: Hugs of the North Star! Get them from the arcades (if you're lucky) and
- hug your friends at INCREDIBLE hihg speeds!
- - bugfix: Tea Aspera now properly contains tea powder
- - tweak: Breasts no longer lactate by default, lactation is now a preference
- Chayse:
- - tweak: Changed the Warden's compact combat shotgun to instead be a regular combat
- shotgun with a foldable stock and penalties for being folded.
- - rscadd: Assorted space-worthy helmets can now act as masks for internals.
- - refactor: Internals code can now check any item with the ALLOWSINTERNALS flag
- through the GET_INTERNAL_SLOTS define. For now this only checks head and mask
- slots, since those are the most realistically speaking usable ones.
- - tweak: Medbay doors can now be opened by anyone from the inside without having
- to press the exit button.
- - bugfix: Borgs now have the necessary dexterity to unbuckle people from themselves
- and from bucklable objects.
- - bugfix: Fixes the Trek Uniform/Suit worn icons
- - bugfix: AIs can now once more talk through holopads successfully
- Code-Cygnet:
- - rscadd: Added new things - Mind trait, alcohol reagent, chemical reagent, drink
- sprite and recipe.
- - imageadd: added commander_and_chief sprite to drinks.dmi
- Coolgat3:
- - tweak: Changed player number checks to 20 from 24 for cult and clockcult, also
- made nukeops 28 required players instead of 30.
- - tweak: Changed enemy minimum age from 14 to 7
- - rscadd: Added the code for the semen donut and made it craftable
- - imageadd: Added the donut sprites
- - bugfix: Made the sec and warden berret offer as much protection like the helmet
- - rscadd: Added berets for all the heads.
- - imageadd: Added sprites for the berets.
- - code_imp: Coded the berets to spawn in appropiate lockers.
- - tweak: Raised the ripley's movement speed and lights range by 1, also lowered
- its armor to compensate.
- - rscadd: Added combat gloves sprite
- - imageadd: Added said sprite
- - imageadd: added combat boots sprite
- Coolgat3 / Avunia:
- - rscadd: Made kindle put the target into stamcrit, which makes it an actually working,
- useful stun.
- - rscadd: Added a stamina loss modifier to the vanguard spell which makes the user's
- stamina drain at a way slower rate. This doesn't make them immune to tasers,
- but it takes a few hits to actually get them to fall down.
- - tweak: Made it so that clock culties don't start with a chameleon suit. Instead
- they start with an engineer suit which is pretty much the same sprite and looks.
- If this is not perfect, then I am willing to make a slightly more brass-colored
- version of the engineer suit sprite and call it a ratvarian engineer jumpsuit.
- - balance: Increased the cost of vanguard, as it is now a spell that works somewhat
- like adrenals, minus the move speed, making your stamina drain really slow and
- making you unable to get knocked onto the ground by just a single taser shot.
- - balance: Lowered the charge time of kindle, reason being that you can usually
- have only one active spell on you, or two at max if you decide to run two slabs,
- but the fact that kindle silences people for such a small amount of time makes
- up for it, in my opinion.
- - server: Figured out that the consoles and their warp function actually work with
- the current code. The thing that makes them not work is when the gamemode is
- ran on debug mode, without the required players to actually support it. It also
- breaks the ark timer which is stuck on -1 seconds until activation. Whenever
- the gamemode starts properly, like any other gamemode, with player checks and
- all, everything seems to work just fine.
- CydiaButt13:
- - rscadd: Lamp Plushie to loadout
- - imageadd: added plushie_lamp to plush icons
- - code_imp: added Lamp Plush to loadout and icons and items
- EgoSumStultus:
- - bugfix: Fixed blood chiller's inhand
- - bugfix: FIXED SHIELF
- - bugfix: fixed magpistol magazine sprites
- - rscadd: Added the Femur Breaker
- - rscadd: Adds male AI vox.
- EmeraldSundisk:
- - rscadd: Adds a gun range to Box Station
- - rscadd: Provides some extra power grid connections
- - rscdel: Sunglasses and Earmuffs removed from the Warden's Office - they can be
- found at the range instead
- - tweak: Rearranges a few objects within the prison as to accommodate the new gun
- range
- - rscadd: Adds a mass driver to Delta Station's chapel
- - rscadd: Adds a second means of entry into the chapel
- - tweak: Slightly expands the chapel to make room for the driver, slight adjustment
- to air systems
- - tweak: Clears a path in the station exterior for the mass driver to work properly
- - tweak: Nearby maintenance loot has been relocated to accommodate the chapel expansion,
- surrounding area has been "cleaned up" somewhat
- - tweak: CentCom has noticed the lack of coffins in Delta Station's chapel and provided
- some, but in exchange for reducing the chapel morgue's capacity.
- - tweak: Fixed a maintenance door the chaplain should have been able to open.
- - bugfix: 'Fixes space areas outside the driver removal: CentCom Defense Analysts
- have ordered the maintenance hatch to the Mass Driver room be removed citing
- "security concerns".'
- - rscadd: Increases the number of plots to 9 (from 5)
- - rscadd: Additional lighting placed directly outside the garden
- - tweak: Cleans up the area to reflect use. Moves the seed extractor to a more central
- location
- - tweak: 'Relocates the seed packs on botany''s counter to the garden removal: Removes
- wooden barricades outside the garden'
- - config: Renames "Abandoned Garden" area designation to "Maintenance Garden", but
- does not replace the icon in Dream Maker
- - rscadd: Expands the chapel mass driver room to make it easier to use
- - rscadd: Rearranges the chapel backroom so there are now six coffins and burial
- garments roundstart
- - tweak: Cleans up the Janitor's office
- - tweak: Readjusts the station exterior so mass-driven coffins (hopefully) have
- less friction
- - bugfix: Adds a fan to the chapel driver
- - bugfix: The Janitor missed a few spots around the newly renovated Maintenance
- Garden
- - bugfix: Readjusts positioning of Delta's QM keycard device
- - bugfix: 'Cleaned up a few spots I missed in #9356, particularly around the janitor''s
- office'
- - rscadd: Adds some potted plants around Box Station
- - bugfix: 'The tile mentioned in #9409 should now be radiation-free.'
- Fermi:
- - bugfix: Fixes tiny runaway decimals in reagents system.
- - bugfix: 'SDGF: Fixes infinite clones.'
- - bugfix: fixed an angery PR
- Fermis:
- - rscadd: Added a panda simplemob
- - bugfix: fixes empathy exploit.
- - rscadd: Added the secbat, a box to hold it and the ability to dispense it from
- the SecTech vendor.
- - rscadd: Adds 3 new music tracks.
- - tweak: tweaked Neurotoxin
- - balance: added more depth to Neurotoxin
- - bugfix: fixed the inability to create Neurotoxin
- - bugfix: fixes fermichem reactions for tiny volumes work
- - tweak: makes quantisation level for chemistry finer
- - tweak: re-enables femichem explosions in grenades.
- - tweak: adds nuance to the SDGF and hatmium explosions.
- - bugfix: Fixes analyse function on ChemMasters to correctly display purity.
- - bugfix: Fixes the custom transfer for buffer to beaker button.
- - rscadd: 'Debug option: Generate Wikichems'
- - rscadd: graft synthtissue surgery, new reagent synthtissue
- - tweak: 'neurine fixes brain objs merge: combines fermichem''s lung damage with
- tg''s'
- - rscadd: on_mob_dead(), bitflags and CHECK_MULTIPLE_BITFIELDS
- - refactor: refactored fermichem vars, moved impure chems into their own reagents
- subtype
- - bugfix: Fixes small residues of chems that won't go away!
- - tweak: tweaked beaker health and allows use of syringes/droppers on chem_heaters
- - soundadd: added a sound for when beakers take temperature damage.
- - imageadd: added some icons for melting beakers
- - refactor: refactored how beakers take damage
- - bugfix: fixes how beakers would only take one instance of damage on pH damage
- - bugfix: fixes Janitor grenades.
- - bugfix: fixes reaction mechanics at low volumes
- - bugfix: stops reactions constantly bubbling on the edge of reaction temperature
- - bugfix: stops small amount reactions from occurring, and prevents disappearing
- tiny numbers
- - tweak: Reduced minimum reaction volume from 1 to 0.01
- - refactor: cleaned up Fermichem
- - rscadd: Adds Jacqueline the Pumpqueen and her familiar Bartholomew for the spooky
- season
- - soundadd: Adds a giggle
- - imageadd: 'Adds cauldron, Jacq and Jacq o lanterns, and a costume for halloween!
- mapedit: adds a new landmark so Bartholomew can spawn somewhere sensible.'
- - bugfix: fixes food reactions and explosion runtimes,
- - bugfix: fixes the too much yes problem
- - bugfix: Heart, Tongue and stomach regen.
- - bugfix: lung damage threshholds.
- - bugfix: Graft synthtissue
- - bugfix: Skeleton's burning for no reason
- - bugfix: Organ freezing handling.
- - bugfix: Fixes chemistry books to point to the right wiki, and keeps tg's just
- in case
- - tweak: Changes top right wiki button location to go to both wikis
- - bugfix: fixed Jacq's fondness for the AI
- Ghom:
- - code_imp: minor clean up on hydroponics reagent containers.
- - bugfix: fixes the perpetual lack of moisture that has affected genitalia descriptions
- since, like, forever.
- - rscadd: implements the arousal state for mammary glands.
- Ghommie:
- - bugfix: Fixes many possible situations of null icons for cit races' bodyparts.
- - imagedel: Removes duplicate slimepeople' sprites.
- - code_imp: Purges that draw_citadel_parts().
- - code_imp: Fixes ISINRANGE_EX using the wrong relational operator.
- - tweak: The kindle status effect stun duration now properly proportional to the
- owner's remaining health.
- - tweak: Clockwork cult's kindle now affects silicons.
- - tweak: Cyborg mounted disablers/tasers/lasers now slowly self-recharge off the
- cyborg user's power cell instead of draining from it directly.
- - tweak: Borg rechargers now properly recharge the borg module's energy guns.
- - bugfix: Prevents a couple more special/mounted guns from being preserved on cryo
- - balance: Halved borg energy guns self-recharge delay and increased their cell
- capacity by 3/4
- - bugfix: Fixes chemical patches always checking the suit slot even if the targetted
- limb was the head.
- - bugfix: Skeleton, nightmare and golem races are once again available to get chemical
- patches applied onto.
- - rscadd: Adds two cartons of space milk to the space skellie pirates cutter's fridge.
- - refactor: Refactored implants to not be located inside mobs codewise, akin to
- organs.
- - bugfix: Fixed gps tracking implants.
- - bugfix: Fixed item not being dumped out of storage implants onto the owner's turf
- upon removal.
- - bugfix: Fixes cult potentially stalling if the target is erased from existence
- without being sacced.
- - balance: Nukes the stunprod's 3 seconds delay.
- - bugfix: Fixes teleprods.
- - bugfix: Stops pulls of resting mobs breaking off whenever you swap turfs with
- someone else because of crawling delays.
- - bugfix: fixes IAA.
- - balance: EMPs now flick off stunbatons, they can be turned back on immediately
- by the user anyway.
- - balance: Stunbatons now very slowly consume charge whilst kept on, at a rate of
- 4/1000th of a standard batoning charge cost per tick.
- - balance: Softened up the charge cost checks to stop the above update from practically
- reducing the maximum uses of a stun baton by one. Now, should the remaining
- charge be lower than the hit cost, the resulting stun will be be proportional
- to the remaining charge divided by the hitcost, within a limit under which the
- stun batoning just won't happen.
- - balance: Buffs condensed capsaicin, a yet another feature previously dunked by
- stam combat.
- - balance: speeds up pepper spray puffs.
- - balance: Buffed krav maga leg sweep stun and stamina damage. On the other hand,
- it's now unable to be used on already lying targets.
- - bugfix: fixes eyestabbing people with cutlery while being a pacifist.
- - bugfix: Reduces goonchat lag from being blasted by pellets and bullets repeatedly
- whilst wearing armor by properly removing the armor protection texts this times.
- - spellcheck: also reduced the size of armor protection messages in general. they
- clog up the chat box.
- - bugfix: Fixes stunbatons icon not properly updating on cell removal and insertion.
- - tweak: Allows lower charge cells to be used with stun batons, and thus single
- use crapshots batons.
- - balance: Adds in a 7 seconds delay to the jackhammer dismantling a superheated
- clockwork wall.
- - tweak: escape pods emergency suits storage can now be busted open by emags or
- excessive damage.
- - bugfix: Fixes alt click bypassing the escape pods' suits storage lock.
- - bugfix: Fixes emags wasting charges on un-emaggable & co stuff.
- - code_imp: Ported some radials code updates.
- - rscadd: Ported the RCL wiring menu and a comfier RCD interface.
- - tweak: A milder combat stance message will show up if the user switch combat mode
- on while on help intent.
- - spellcheck: Properly rewords the extinguisher's instructions on how to empty it
- on the floor since it was changed to be a screwdriver action instead of Alt
- Click a while ago.
- - rscadd: Reskinnable PDAs. A related game preference.
- - refactor: Refactoring the pda, pda painter, obj reskinning and chameleon pda a
- bit to support this feature.
- - imageadd: more PDA sprites and ported reskins.
- - refactor: turned virtual reality into a component datum, which is then applied
- to spawned virtual mobs. This fixes mob transformations (such as wabbajack and
- monkeyizing) breaking the previously hardcoded behaviour and trapping you in
- VR, also enabling a more concrete virtual reality inception experience.
- - bugfix: Fixes power cells being unable to be rigged. Also prevents them from starting
- processing on init if they don't self recharge.
- - bugfix: Fixes many, little or otherwise, issues with the stunbaton status refactor.
- - bugfix: The sacrificial target icon will now display onto the cult objective ui
- alert once again.
- - bugfix: Stopping borgs from sprinting into negative cell charge.
- - tweak: The default amount of z-levels reserved specifically for space ruin generation
- has been increased from 1 to 2
- - tweak: 'Moving some tablecrafting recipes to the appropriate categories: Kitty
- ears and lizard cloche hats to "clothing"; Hot dogs to "Sandwichs"; Cuban carb,
- fish and chips and fish fingers to "Fish".'
- - bugfix: Fixes the not-a-sandwich recipe being M.I.A.
- - rscadd: Adding in peanuts, peanut butter, peanut butter toasts and sandwiches,
- and the PB&J sandwich. The peanuts contain a little bit of extractable cooking
- oil (similarly to soy beans) and can be microwaved or dried in a drying rack
- to make roasted peanuts, which can be mixed in a all-in-one-grinder for peanut
- butter, required to make those sandwiches.
- - balance: Buffed wizard and artificier's Magic Missile, wizard and xeno queen's
- Repulse and juggernaut's Gauntlet Echo.
- - bugfix: Fixes flashlights being unable to be used for rudimentary eyes and mouth
- exams.
- - rscadd: Adds in a grey jumpsuit to the loadout choices, restricted to Assistants.
- - bugfix: Fixes CWC construct shells being visible as ghost role to latejoiners.
- - imageadd: new sprites for the flechette gun, its magazines and the toy ray gun
- - tweak: Merges the end-of-shift and its shuttle autocall announcements into one.
- - bugfix: Prevents the end-of-shift shuttle from being recalled (even if to no avail).
- - bugfix: Fixes being able to teleport papers to your location with TK.
- - bugfix: Fixed some monkey-code shenanigeans making items sometimes disappear from
- pickpocketing.
- - imageadd: New sprites for the some pda cartridges.
- - tweak: The crew monitor's entry for the Quartermaster will now appear bolded,
- while HoP's will be of the same color of the service/unknown/other jobs.
- - bugfix: emergency pods' storage will now properly work.
- - bugfix: The PDA skin preference will now properly save up.
- - tweak: Changed the default PDA icon var to match the default PDA skin preference.
- - bugfix: Fixing the `(pointless) badassary` category appearing between the `dangerous
- and conspicious` and `stealthy and inconspicious` categories.
- - bugfix: Combat gloves plus now properly use the combat gloves sprite.
- - bugfix: Fixes the space ninja's energy netting.
- - rscadd: Adding one pAI to the wizard shuttle and ERT prep room
- - bugfix: Fixes the rocket launcher being unreloadable.
- - balance: Buffed its accuracy a bit.
- - tweak: Replaced the grenade launcher emagged minesweeper loot with the rocket
- launcher like it was originally supposed to be.
- - imageadd: 'Tweaked the :b: emoji.'
- - rscadd: Rubber Toolboxes.
- - rscadd: 'Porting in two bar signs: Cyber Sylph''s and Meow Mix.'
- - bugfix: Fixing stamina damage melee weaponry being unusable by pacifists, and
- still damaging objects and triggering electrified grilles when thrown.
- - refactor: refactored underwears to allow custom color preferences, instead of
- manually colored sprites.
- - rscdel: The aforementioned manually colored pieces. Some of your char preferences
- may have been resetted as result.
- - rscadd: 'More underwear choices, including: Bowling shirts, long johns, a tank
- top, fishnets, more bee socks, bee t-shirt and bee boxers (original PR for the
- latter three by nemvar from /tg/station).'
- - tweak: random bodies will now have random underwear again.
- - bugfix: Dressers will now properly change undergarment again.
- - tweak: Toned down many species' female chest sprites to fit the smaller cups.
- - bugfix: Fixed some body parts sprites inconsistencies, such as the W/E female
- and male chest sprites being the same in some species, and jellypeople's legs
- being one tile off on W/E
- - bugfix: Fixing baklava pies a bit.
- - tweak: Sweaters now cover groins too.
- - balance: Improved the zelus flask to be more viable for bottle smashing than the
- average barman's selection.
- - code_imp: Very slight bottle smashing code clean up, stupid const vars.
- - bugfix: Fixes krav maga gloves, wizard spells knockdowns.
- - tweak: Added in an alert pop up to the cult convertees, on top of the older "click
- here to become a blood cultist" chat message.
- - tweak: The convertee's screen will now flash red to fit in the aforementioned
- message's fluff.
- - spellcheck: Made said message less verbose.
- - rscadd: Towels. Crafted with 3 sheets of cloth, they can be worn on head, suit
- and belt slots even without uniform, or laid flat on the floor. Sprites from
- Baystation and Aurora Station.
- - rscadd: You can combat mode right click people while wielding rags and towels
- to pat out their flames (to no use for rags) or otherwise drying them out.
- - balance: toned down the stamina costs of some of the bulkier weapons.
- - code_imp: repathed hypereutactic blades to be a subtype of dual sabers. Way less
- copypasta.
- - bugfix: Fixing CX Shredder guns not accepting standard flechette mags.
- - bugfix: Fixing missing magpistol magazines icon states.
- - rscadd: sort of overhauled darkmode/lightmode to /vg/station's, also reincluding
- the pre-existing black'n'white theme.
- - bugfix: Fixed LOOC color, fixed .userlove and .love span classes being a bit too
- blurry on dark mode.
- - rscadd: The syndicate base's bathroom is now fitted with a shower, and a special
- towel.
- - bugfix: Fixed many issues with towels.
- - tweak: The dry people off with rags/towels action can only be done if the object
- is NOT moist with reagents now. Also cleans banana creaming.
- - rscadd: Towels deal more damage while soaked with reagents.
- - rscadd: You can now squeeze rags/towels with Alt-Click.
- - rscdel: deleted an old and crappier towel sprite that got in the way.
- - bugfix: Fixes Pubby's disposal conveyor belts and lack of a second lawyer spawner.
- - code_imp: Cleaned up the absolute state of the arousal module.
- - refactor: refactored exhibitionism into a quirk.
- - tweak: arousal states won't persist after death.
- - bugfix: Fixes testicles size adjective thing.
- - bugfix: undergarments toggling now works instead of just making underwear disappear
- and not come back.
- - tweak: The "Always visible" genitals setting will now display them above clothes.
- - bugfix: combat pushes will now properly stop targets from using firearms, and
- will disarm the firearm if performed a second time, and also slow down people
- by 15%, and won't push people on tables blocked by shutters or other dense object
- anymore.
- - bugfix: Fixes CHECK_BITFIELD macro.
- - bugfix: Fixes hypovials being unable to transfer out liquids or be refilled by
- large dispensers like water tanks.
- - bugfix: Fixes chem-masters machineries not dispensing newly made pills inside
- loaded in pill bottles.
- - rscadd: Stunswords now fit in the captain's sabre sheat.
- - rscadd: reworked ninja's stealth mode. Increased invisibility, but engaging in
- combat, attacking or throwing things, bumping people will temporarily lower
- it.
- - rscadd: Ninja shoes are even stealthier.
- - code_imp: cleaned up some 2014 tier processing code horror.
- - tweak: the oxyloss fullscreen overlays now also take in consideration 1/5 of the
- user stamina loss.
- - rscadd: When you're jogging, you will only slip on water if you have more than
- 20% staminaloss, for real this time.
- - imageadd: Different cuffs now come with different worn overlays instead of a generic
- one.
- - bugfix: High luminosity eyes can now be properly deactivated and won't illuminate
- your surroundings again until turned back on.
- - bugfix: Fixes freshly cloned people starting with undershirts. Fixes random characters
- possibly rolling with undergarments of the opposite gender (Doesn't affect preferences'
- freedom of choice).
- - balance: MRE menu 3 has cuban nachos instead of a chili now.
- - bugfix: Removed the illustration overlay from MREs, looks pretty weird otherwise.
- - rscadd: MRE menu 4, vegetarian.
- - bugfix: fixes a few bad touchs on combat mode pushing.
- - bugfix: Fixes clock cult Abscond scripture not dragging pulled mobs into Reebe.
- Also fixes blood cult tele runes teleporting you from the source turf to the
- source turf.
- - bugfix: fixes clock cult mass recall.
- - bugfix: Fixes underwear colors a bit.
- - bugfix: Fixes Blood Cult conversion prompts
- - rscdel: Removes an obnoxious temporary overlay var.
- - bugfix: colorable socks can be colored again.
- - bugfix: Fixed undergarments color preferences resetting each round.
- - bugfix: Fixed a few dozen suits' body coverage inconsistencies. These changes
- shouldn't affect armor and utility vests for most.
- - bugfix: Fixed clown shoes and work boots.
- - bugfix: Fixed some overlay bug that happens when legcuffed and then handcuffed.
- - balance: Slowed down police baton and tele baton speed by 75%, should be still
- be faster than the legacy speed (2 seconds) by 0.6 seconds. Telescopic batons'
- stamina cost per swing is now on par with police batons, ergo more expensive.
- - bugfix: Fixed undershirts n socks colors prefs.
- - bugfix: You can now alt-click to rotate machinery such as the tachyon-droppler
- array or emitters again.
- - bugfix: Sofas can't be wielded and transformed back into plain chairs anymore.
- - rscadd: Enables emojis for PDA messages.
- - balance: Removes revenant blight's shabby toxin damage in favor of mood maluses,
- and a dangerous necropolis curse if not cured in time. Remember
- - tweak: Blood cult altar, forge and archives now use radial menus.
- - bugfix: Fixed some machineries' UIs.
- - tweak: blood and clock cultists messages from metabolizing
- - bugfix: Fixed advanced medical scanners borg upgrades.
- - bugfix: Fixes certain borg upgrades being unapplicable on dogborg counterparts
- of the target cyborg type.
- - bugfix: Fixed people being shovable hrough windows, windoors and the such.
- - rscadd: You can now shove people into disposal bins.
- - refactor: refactored altdisarm(), ergo the "shoving people around" proc.
- - tweak: war ops is now lowpop friendly and doesn't require roughly 54 starting
- players anymore.
- - rscadd: Singularity beacons now also moderately increases the odds meteor waves,
- while lowering their estimeed arrival countdown.
- - bugfix: non-alphanumeric graffiti decals will no longer display as "letter".
- - balance: Nerfs cyborg disabler and its internal power cell to hold 25 disabler
- beam shots rather than 43/44, just like a normal disabler.
- - bugfix: Adds some missing species_traits for cloth, clockwork and cult golems.
- - rscadd: Added towel linen bins, found in dormitory restrooms. Also enhanced the
- bedsheet bins found in some stations' dormitories
- - imageadd: Resprited bedsheet bins in 3/4 perspective
- - tweak: Made SDGF ghost poll message less verbose, made the experimental cloner's
- complaint with the former, and added ghost poll ignore options for both.
- - bugfix: fixing some related onmob sprites issues with the above accessory.
- - bugfix: Teleprods work on non-carbons mobs now.
- - bugfix: Fixed tracking implant teleport issues.
- - balance: Increased stunbatons power cell depletion rate when left on by 50%.
- - bugfix: Gorlex Marauders are pleased to announce non-slip grooves were given to
- their .50 sniper rifles, and thus shouldn't accidentally flop on the floor like
- pocket spaghettis whenever taken out of a bag anymore.
- - bugfix: Silicons can now operate teleporter, medical and security records console
- from a distance again.
- - bugfix: Fixed custom say emotes conflict with drunk memes.
- - bugfix: Fixes identity transfer (envy knife, changeling transformation, making
- a vr avatar) not copying digitigrade legs.
- - bugfix: Fixes temporary transformation sting triggering heart attacks on heartless
- humans.
- - bugfix: Fixed mobs folded inside bluespace bodybags getting their clothing and
- items deleted when passing through a recycler.
- - bugfix: The alien-bursting-from-your-thorax and the xeno "hud" embryo stage images
- will now properly delete them once the embryo egg lifecycle is complete.
- - bugfix: Fixed artificier lesser magic missile.
- - bugfix: Phantom thief masks will now fancy your combat mode yet again.
- - bugfix: Fixed gulag teleporter stripping the user of stuff it really shouldn't
- (like storage implant bags).
- - bugfix: fixing cydonian armor a bit.
- - imageadd: Resprited wooden and critter crates.
- - imageadd: Improved the Cyber Sylph' good yet cumbersome bar sign a little.
- - bugfix: Cyborgs can now use camera consoles on the edge of their widescreen. These
- consoles are also TK friendly now.
- - imageadd: Updated gang dominator sprites.
- - bugfix: Miner borgs can again have installed PKA mods.
- - bugfix: Fixed invisible blackberry n strawberry chocolate cake slices.
- - bugfix: Nuke ops / adminbus combat mechs will no longer spawn with tracking beacons.
- - imageadd: Arcade machine directional sprites.
- - tweak: 'lowered the arcade''s random plush / other prizes ratio from 1 : 2.5 circa
- to 1 : 5. Dehydratated carps and the awakened plush can not be achieved this
- way anymore.'
- - imageadd: Added armrests overlays to sofas and tweaked their sprites a little.
- - bugfix: Fixed dogborg sleepers. Just don't tell me what is exactly fixed, cause
- I don't want to find out.
- - bugfix: Buffed the deep space familiar gorilla against runtimes.
- - imageadd: Updated ratvarian computer sprites.
- - bugfix: Fixed storage implant transplant.
- - bugfix: Refactored how Jacqueen teleportation destination is selected, preventing
- them from teleporting on off-station holopads.
- Ghommie && Kevinz000:
- - balance: Lichdom and necromantic stone skeletons are now of the spaceproof kind
- too.
- - tweak: skeletons now also like dairy products.
- - rscdel: Halloween roundstart skeletons and zombies are no more spaceproof.
- - rscadd: You can choose to set your species to zombie or skeleton through the pride
- mirror yet again, Alas they are not of the spaceproof kind either.
- Ghommie (Credits to Kmc2000 for the original PR):
- - rscadd: Porting in MRE boxes from Yogstation. But be careful, eating possibly
- expired MREs found in maintenance comes with an unrealistically large (actually
- small) chance of food poisoning. Otherwise just bail out and order actually
- safe-to-eat MREs from cargo for 2000 credits.
- Ghommie (Original PR by Dennok):
- - bugfix: Now areas_in_z get areas spawned by templates and blueprints.
- Ghommie (Original PR by Dreamweaver):
- - rscadd: Nanotrasen has received word of a high-tech research facility that may
- contain advancements in bluespace-based research. Any crew members who become
- aware of its whereabouts are to report it to CentCom immediately and are restricted
- from sharing said info.
- - refactor: The turf reservation system now dynamically creates new z levels if
- the current reserved levels are full.
- Ghommie (Original PR by JJRcop):
- - rscadd: 'Ports in more emojis, including : flushed :'
- Ghommie (Original PR by LaKiller8):
- - bugfix: Goonchat options should now save properly.
- Ghommie (Original PR by Vile Beggar):
- - rscadd: Warden now has an added drill hat in his locker. You can change the loudness
- setting of it by using a screwdriver on it. Use wirecutters on it for a surprise.
- Ghommie (Original PR by coiax):
- - refactor: atom/var/container_type has been moved into datum/reagents/var/reagents_holder_flags.
- There should be no visible changes to effects.
- Ghommie (Original PR by nemvar):
- - rscadd: Botanists can now get beeplushies (or cultivator and bucket) as an heirloom.
- - bugfix: Clowns and mimes will now properly pick either a can of paint or their
- brand as heirloom now.
- Ghommie (Original PR by tralezab):
- - bugfix: Fixes an issue with spontaneous appendicitis picking incompatible mob
- biotypes.
- Ghommie (Original PRs by Tortellini Tony and BuffEngineering):
- - bugfix: E-cigs will continue to display their setting after being emagged.
- - bugfix: Vapes now come out of the mouth. fix Fixes an E-cig initialize() runtime.
- Ghommie (Original PRs by nemvar and Rowell):
- - rscadd: Added beekini bras and panties, thigh-high and knee-high bee socks.
- Ghommie (by Arkatos):
- - bugfix: Fixed an issue with a Lizardwine drink crafting, where a final product
- would contain unwated 100u of Ethanol.
- Ghommie (by Floyd / Qustinnus, Arathian):
- - rscadd: The robotocist now has robe to show his love for toasters
- Ghommie (by nemvar):
- - tweak: Dwarfs are now more robust.
- Ghommie (original PR by 4dplanner):
- - bugfix: thrown objects (but not mobs) no longer hit the thrower
- - bugfix: mirror shield rebound no longer depends on the original thrower's momentum
- Ghommie (original PR by 81Denton, kriskog and nemvar):
- - spellcheck: Sleepers now show a message if players try to unscrew the maintenance
- hatch while they're occupied or open. Fixed typos in sleeper/organ harvester
- messages.
- - tweak: Sleepers and dna scanners can now be pried open with crowbars.
- - tweak: You can open and close sleepers and dna scanners by alt-clicking them.
- - bugfix: The scanner's hatch now must be closed (on top of being unoccupied), just
- like sleepers, before being screwdriverable. This fixes a tricky door stuck
- issue with the machine.
- Ghommie (original PR by AffectedArc07 and Shazbot):
- - imageadd: Added 8 new sock styles
- Ghommie (original PR by AffectedArc07):
- - tweak: Religion is now a globalvar instead of being a subsystem for some reason
- Ghommie (original PR by AnturK):
- - bugfix: Supermatter now melt walls if it finds itself in one.
- Ghommie (original PR by Anturk):
- - rscadd: Recipe for fabled secret sauce can now be found in the deepest reaches
- of space.
- Ghommie (original PR by Barhandar:
- - bugfix: Pumpkin meteors on Halloween now replace catastrophic meteor waves, instead
- of ALL OF THEM.
- Ghommie (original PR by CrazyClown12):
- - tweak: The chloral hydrate inside of the sleepy pen is no longer slower acting
- than chloral hydrate made in chemistry.
- - tweak: The chloral hydrate inside of cookies synthesised by emagged borgs is no
- longer slower acting than chloral hydrate made in chemistry.
- - balance: Slight tirizene buff.
- - rscdel: Delayed chloral hydrate
- Ghommie (original PR by Denton):
- - tweak: Nanotrasen has started shipping more types of bedsheets to its stations.
- - rscadd: Added in Runtime, Pirate and Gondola bedsheets. The second one can also
- be found in some pirate ships, while the last can be crafted from gondola hides.
- - balance: You can no longer reveal the 'illegal tech' research node by deconstructing
- .357 speedloaders, riot dart boxes, syndicate cigarettes, syndicate playing
- cards or syndicate balloons.
- Ghommie (original PR by Mickyan):
- - bugfix: Fixed being unable to smother people using the damp rag
- Ghommie (original PR by MrDoomBringer):
- - bugfix: morgues have had their proton packs removed and as such no longer suck
- in ghosts on closing.
- Ghommie (original PR by MrDoomBringer, AnturK and YPOQ):
- - bugfix: Explosions will no longer damage wizards in rod form, the supermatter
- monitoring radio and megafauna GPS.
- - bugfix: Supplypods no longer detonate their contents.
- - bugfix: Fixed silicon items (e.g. cyborg modules) being destroyed by explosion
- epicenters.
- Ghommie (original PR by Naksu):
- - code_imp: get_area() is now a define rather than a proc.
- Ghommie (original PR by Nicjh):
- - rscadd: Abductor console's select disguise option now uses a radial
- Ghommie (original PR by ShizCalev):
- - bugfix: Pineapple haters/lovers will get/no longer get pineapple pizzas respectively
- from infinite pizza boxes.
- - bugfix: As a non-human mob, hovering your cursor over an inventory slot while
- holding an object in your active hand shouldn't runtime now.
- Ghommie (original PR by Skoglol):
- - code_imp: New helper proc for alt-click turf listing, bypasses any interaction
- overrides.
- - code_imp: Ghosts and revenants now use the new proc.
- - bugfix: Ghosts can no longer toggleopen sleepers, adjust skateboard speed or close
- laptops
- - bugfix: Revenant can now alt-click turf to list contents.
- - tweak: Revenant now slightly less nosy, use shift click to examine.
- - tweak: Alt-clicking the same turf again no longer closes the turf listing tab.
- - bugfix: Reduced ventcrawl lag greatly.
- - bugfix: Mining bags will no longer drop ore into backpack.
- - bugfix: Mining bags in backpack no longer interferes with other mining bags.
- - bugfix: Fixes some storage size circumventions.
- - tweak: Moved machine and computer frames below objects, parts are now always on
- top.
- - tweak: Moved structures (chairs, closets, windows, cult altars etc etc) below
- objects.
- - tweak: Moves mineral doors to airlock layers
- - tweak: morgue/crematorium trays' layers shouldn't overlap bodybags' anymore.
- Ghommie (original PR by SpaceManiac):
- - bugfix: Disassembling a chem dispenser for the first time will no longer always
- yield a fully-charged cell.
- Ghommie (original PR by Swindly):
- - rscadd: Arm-mounted implants that contain more than one item use a radial menu
- instead of a list menu.
- Ghommie (original PR by Tlaltecuhtli):
- - bugfix: Other people's clothes burning no longer spam you
- Ghommie (original PR by XDTM):
- - bugfix: Reagents now stop their passive effects (for example, stun immunity) if
- the liver stops working while they're active.
- Ghommie (original PR by YPOQ):
- - bugfix: Fixing roffle waffle, mushroom halluginogen and some invalid reagents.
- - bugfix: Fixes clockwork armor not actually having armor.
- Ghommie (original PR by cacogen):
- - rscadd: The font size of all text in the chat window now scales
- - tweak: High volume (megaphone/head of staff headset) is a slightly smaller
- - tweak: Admins have slightly larger OOC text
- Ghommie (original PR by coiax):
- - code_imp: Randomly coloured gloves and randomly coloured glowsticks now have slightly
- different typepaths, but otherwise function the same.
- - code_imp: The Squeak subsystem has been renamed to Minor Mapping.
- Ghommie (original PR by duckay):
- - rscadd: Added better names and descriptions for blueshirt officer gear.
- - rscadd: Added the above gear to the premium selection of the sectech
- Ghommie (original PR by harmonyn):
- - balance: Resisting out of bucklecuffs takes more/less time depending on the handcuffs
- you used, i.e., fake handcuffs will not bucklecuff someone for ages.
- - tweak: fake handcuffs shouldn't no longer demoralize restrained criminals scums.
- Ghommie (original PR by monster860):
- - bugfix: fixes advanced proccall
- Ghommie (original PR by mrhugo13 on tgstation13):
- - rscadd: The Syndicate has decided to equip their Syndicate leaders operative (Aswell
- as their clown counterparts) with the new Combat Glove Plus! The new Combat
- Glove Plus does everything the old boring Combat Gloves does but with the added
- extra of learning Krav Maga upon wearing them, any other Syndicate operative
- who wants to get in on the action will have to pay 5tc.
- Ghommie (original PR by nemvar):
- - imageadd: Some drinks have new icons or slightly altered icons. In particular
- Wizz Fizz, Bug Spray, Jack Rose, Champagne and Applejack.
- Ghommie (original PR by ninjanomnom):
- - bugfix: Orbiting is a little more aggressive about staying in orbit. The wisp
- as a result now correctly follows you over shuttle moves.
- - bugfix: Gaps between sounds in some looping sound effects should no longer happen
- as much under heavy server lag.
- Ghommie (original PR by variableundefined):
- - bugfix: Cancel button to assault pod destination selector.
- Ghommie (original PR by wesoda25):
- - balance: disembowelment no longer works on mobs that aren't dead or in critical
- condition
- Ghommie (original PRs by Akrilla, Arkatos and Denton):
- - tweak: Sprays cans have a cap on how dark you can make objects. Art is uneffected.
- - bugfix: Fixed a bug where you could get cyborg spraycans via pyrite extracts.
- - rscadd: Added an infinite spraycan for admins to spawn.
- Ghommie (original PRs by Denton and Skoglol):
- - tweak: Reorganized the syndicate uplinks. Items are now mostly alphabetical, some
- misplaced items moved to more fitting categories. Bundles, random item and TC
- have been moved into a new category called "Bundles and Telecrystals". Gloves
- of the North Star and Box of Throwing Weapons have been moved to Conspicuous
- and Dangerous Weapons. Combat Gloves Plus have been moved to Stealthy and Inconspicuous
- Weapons. Moved all implants into the Implants category.
- - tweak: 'Added a new category to the uplink: Grenades and Explosives.'
- Ghommie (original PRs by Floyd/Qustinnus, optimumtact, Denton and coiax):
- - rscadd: You can now select what your pills will look like when making pills from
- the Chem Master
- - rscadd: Red pills can make you think.
- Ghommie (original PRs by Jujumatic and PKPenguin321, respectively):
- - rscadd: Minesweeper Arcade machines. The higher the difficulty setting, the better
- the prizes will be.
- - rscadd: Also keep your eye out for another new (and rare) arcade game!
- Ghommie (original PRs by Kmc2000 and actioninja):
- - rscadd: Added darkmode! You can opt-in to this by clicking the new toggle darkmode
- button just beside the settings one.
- - rscadd: Byond members will now have a new setting for their Antag OOC color, instead
- of using their OOC one. (Antag OOC still locked under admin discretion though)
- - rscdel: Default black'n'white windows style.
- Ghommie (original PRs by Mickyan, Anturk, ShizCalev, nemvar and Naksu):
- - rscadd: After rigorous mandatory art training for the crew, many new graffiti
- styles are now available
- - bugfix: Cleaned up some crayon and spraycan code for futureproofing.
- - bugfix: Spraypainting blast doors no longer makes them see-through.
- - balance: Paint remover now works on blast doors and the like.
- - rscadd: Most objects can now be colored using a spray can.
- - spellcheck: Added visible message to spraying objects and windows.
- - rscadd: Colored lights now shine in different colours.
- - rscdel: Removed individual buttons text in crayon/spraycan UI, speeding it up.
- - bugfix: Text mode buffer is actually visible in the UI.
- - tweak: Last letter of a text mode buffer no longer rotates out to be replaced
- with "a", allowing the text mode to be used for individual symbols.
- Ghommie (original PRs by Naksu and XDTM):
- - bugfix: Transferring quirks now properly removes the roundstart trait from the
- person losing the quirk.
- - bugfix: Roundstart traits no longer block the removal of other sources of that
- trait.
- - code_imp: status traits are now a datum var, the accessors are now defines rather
- than functions.
- Ghommie (original PRs by Naksu and coiax, loser):
- - code_imp: Cleaned up saycode
- - bugfix: Taking mutadone while having the communication disorder brain trauma will
- no longer spam your chat with messages.
- - rscadd: IPCs now come with a subtype of robotic tongue without the omnilingual
- ability, instead of innately having robotic voice spans.
- Ghommie (original PRs by Nichlas0010 and ShizCalev):
- - tweak: AI core display screen can now be set in character preferences.
- - bugfix: AI core display screen will now be restore when revived.
- - spellcheck: Corrected some inconsistent capitalization in the player preferences
- screen.
- - imageadd: Readded some forgotten AI sprites.
- - bugfix: Fixed Hades AI death animation not playing.
- - tweak: the AI icon-selection menu now uses a radial.
- - imageadd: Added in the death icon_states for the "TechDemon" AI screen.
- Ghommie (original PRs by ShizCalev and bobbahbrown):
- - rscadd: Headsets now dynamically show in their description how to speak on any
- channels they can use when held or worn.
- - code_imp: Radio channels names and keys now use defines.
- - tweak: The head arrival announcement will now be broadcast to the supply for the
- quartermaster.
- Ghommie (original PRs by ShizCalev):
- - bugfix: Fixed a bug that allowed you to teleport an ID in your possession to a
- PDA anywhere ingame.
- - bugfix: Fixed an exploit allowing you to steal ID's/pens from PDA's not in your
- possession.
- - bugfix: Fixed an exploit allowing you unlimited control of a PDA's interface even
- if it wasn't near you/in your possession.
- - bugfix: Fixed Pride Mirror exploits.
- - tweak: Corgi collars can now be removed!
- - tweak: Updated the corgi & parrot inventory panels to use the same formatting
- as other mobs
- - bugfix: Fixed corgi inventory panels not closing properly.
- - bugfix: Fixed the parrot inventory panel not closing properly if you're not able
- to interact with it.
- Ghommie (original PRs by ShizCalev, MrDoombringer, AnturK, bgobandit, 81Denton and actioninja):
- - rscadd: Failsafe codes for uplinks are now available for purchase.
- - rscadd: Nuke Ops now have the ability to purchase a usable RPG, the PML-9, as
- well as a couple different types of rockets for it. you can also suicide rocket
- jump with them!
- - spellcheck: Improved Uplink item descriptions and formatting.
- Ghommie (original PRs by ShizCalev, coiax and Tlaltecuhtli):
- - bugfix: Caks will no longer override the bonus reagents provided in a donut when
- frosting them.
- - bugfix: Caks can no longer create frosted frosted jelly donuts.
- - bugfix: Jelly donuts will no longer lose their vitamins when they're frosted.
- - bugfix: Fixed chaos donuts potentially doubling the amount of reagents added when
- microwaved with something else.
- - bugfix: Donuts now always contain 1 sprinkles as was stated on the wiki. Frosted
- donuts have a chance at adding an extra sprinkle.
- - code_imp: Improved the code for ensuring that security members enjoy donuts and
- security-themed alcoholic drinks.
- - balance: neurotoxin doesnt insta stun but gives you limb paralysis overtime and
- heart attacks if it stays in for too long and it is also alcholic
- - balance: beepsky smash now summons imaginary beepskys that deal stamina damage
- instead of outright stunning
- Ghommie (original PRs by Time-Green and Qustinnus):
- - tweak: loot crates can't explode after unlocking anymore
- - bugfix: jumping into loot crates no longers causes them to go boom
- - bugfix: You can now deconstruct abandoned crates with a welder without making
- them go boom. After unlocking them, of course.
- Ghommie (original PRs by Tlaltecuhtli and nicbn):
- - rscadd: alt click to eject beakers from chem masters + chem dispensers + grinders
- + chem heaters
- - rscadd: hit chem master + chem dispenser + chem heaters with a beaker and if its
- loaded with another it swaps em
- - rscadd: All-In-One Blender UI uses a radial menu now. You can see the contents
- and reagents by examining.
- Ghommie (original PRs by XDTM, 4dplanner, nemvar and, yes, myself):
- - code_imp: Merged tinfoil hat kind of protection into the anti_magic component.
- - rscadd: Tinfoil hats can also be warped up from excessive dampening of mindray/though
- control/psicotronic anomalies, or by simply being microwaved in an oven, and
- become useless.
- - rscadd: Immortality Talisman and Paranormal Hardsuit helmets now come with tinfoil
- protection too (minus the paranoia and limited charges).
- - balance: Genetics/Slime/Alien Telepathy and Slime Link are now stopped by tinfoil
- protection.
- Ghommie (original PRs by XDTM, optimumtact, Nichlas0010 and monster860):
- - rscadd: 'Added Quantum Keycards, devices that can link to a quantum pad, and can
- be used on any other quantum pad to teleport to its linked pad. spellchecking:
- Renamed "Bluespace Teleportation Tech" tech node to "Bluespace Travel".'
- - tweak: Moved roasting sticks from the "Bluespace Travel" to "Practical Bluespace".
- - rscadd: Spraying holy water on tiles will now prevent cult-based teleportation
- from using them as a destination point.
- - tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags
- of holding.
- - bugfix: You are now also blocked from teleporting IN to no-teleport areas, not
- just out of them.
- - tweak: Quantum teleportation now makes pretty rainbow sparks instead of the normal
- ones.
- - bugfix: Non-bluespace teleportation (spells etc.) no longer makes sparks.
- - bugfix: Fixed teleportation deleting mob spawners like golem shells and ashwalker
- eggs.
- ? Ghommie (original PRs by carshalash, GranpaWalton, BebeYoshi & Hexmaniacosanna,
- Fire Chance, Ordonis, Krysonism and OnlineGirlfriend)
- : - tweak: Reduced booze power of Mead, Red Mead, and Irish Cream.
- - tweak: Increased booze power of Grappa.
- - rscadd: Added a new premium drink to the soda machine called "Grey Bull" which
- gives temporary shock resistance
- - rscadd: A new drink called Blank Paper was added to the bar menu, it was made
- by a mime and it represents a new start.
- - rscadd: 'Adds a variety of fine alcoholic beverages for discerning patrons of
- the bar: Wizz Fizz, Bug Spray, Champagne, Applejack, Jack Rose, Turbo, Old
- Timer, Rubberneck, Duplex, Trappist Beer, Blazaam and Planet Cracker!'
- - rscadd: 'Also more nonalcoholic drinks: Cream Soda, Lemonade and Red Queen.'
- - rscadd: Packs of a novel artificial sweetener have been added to the kitchen
- vendor.
- - rscadd: Bottles of trappist beer and champagne are now available in the premium
- seection of the booze-o-mat.
- - rscadd: Juicing parsnips now yields parsnip juice.
- - rscadd: Maintenance peaches.
- - bugfix: Grape soda now cools you down like other sodas.
- - tweak: tweaked the Arnold Palmer recipe, it now uses lemonade.
- - imageadd: Added new drink, bottle, vomit and peach can sprites.
- Ghommie (original PRs by grandpawalton and Mickyan):
- - tweak: the contents on the smartfridge icon now change depending on how many items
- it contains
- - bugfix: opening the maintenance panel of smartfridges now correctly updates the
- icon
- - bugfix: Screwing a disk compartmentalizer no longer makes it look like a smartfridge.
- Ghommie (original PRs by nicbn and coiax):
- - rscadd: Microwave UI uses a radial menu now. You can see the contents by examining.
- - rscadd: Microwaves have a single wire accessible when open, the activation wire.
- When cut, the microwave will no longer function, when pulsed, the microwave
- will turn on.
- - rscadd: Stabilized dark purple extracts now cook items in your hands, rather than
- dropping the cooked item on the floor.
- Ghommie (original PRs by ninjanomnom and nemvar):
- - bugfix: Trays now scatter their contents when used for attacks, like they are
- supposed to.
- Ghommie (original PRs by ninjanomnom, coiax, yoyobatty):
- - bugfix: Fixed slaughter demons not getting a speed boost when exiting a pool of
- blood. Fixed slaughter demon giblets not being visible.
- Ghommie (original PRs by subject217, AarontheIdiot, pireamaineach, Gousaid67 and SouDescolado):
- - balance: Removed plasmamen species speedmod in favor of a slowdown for envirosuits.
- - rscadd: Nanotrasen has began deploying departementalized enviro plasmasuits to
- the station! plasmamens can now benefit from some of the bonuses aswell as the
- color pattern of their job, while allowing others to easily determine their
- profession!
- - bugfix: Benevolent Nanotrasen makes gulag available for everyone! (Plasmamen retain
- their equipment and don't die.)
- - rscdel: Removes code that theoretically limits plasmamen from being clowns and
- mimes, but actually doesn't.
- Ghommie (original PRs by zeroisthebiggay, AnturK, MrDoomBringer, Cobby, ATHATH, optimumtact, GranpaWalton, Skoglol):
- - bugfix: Blob overminds, sentient diseases, etc. can no longer dump out boxes.
- Sorry gamers.
- - rscadd: Sentient Disease now has almost all symptoms at its disposal.
- - code_imp: Adding single-symptom disease abilities is super easy now.
- - bugfix: Sentient Disease can now hear (not sure if this was a bug or intentional).
- - rscadd: Sentient Disease is a linguist and knows all languages. Still cannot speak.
- - tweak: Gives Sentient Diseases a medical hud to observe their victims further
- with.
- - bugfix: Fixes and moves around some on_stage_change() and Start()-related things
- for virus symptoms and (sentient) diseases.
- - bugfix: The inorganic biology symptom should work properly now when bought by
- a sentient disease.
- - bugfix: Oxyloss icon no-longer shows up when someone has the self respiration
- symptom
- - tweak: The self respiration now makes you not contract diseases through the air
- and not breathe in smoke
- - bugfix: Sentient diseases can no longer pick two cures that react and disappear
- when eaten.
- - balance: Sentient disease cures are now consistently harder, will only pick cures
- from tier 6 and up.
- - bugfix: Disease cures should now stay the same for all infected mobs.
- - rscadd: The regenerative coma symptom has a new resistance 4 threshold effect!
- Said threshold effect will give hosts of the symptom's virus the TRAIT_STABLECRIT
- trait if its threshold is met.
- - bugfix: An obscure, probably never reported before bug that may or may not exist
- involving sentient diseases and the self-respiration symptom should be fixed
- now (if it even existed in the first place).
- - balance: The cooldown time between each removal or addition of a symptom for sentient
- diseases has been brought down from an agonizingly long 2 minutes to a more
- reasonable 1 minute.
- Ghommie (original pr by Dennok on tgstation):
- - bugfix: Now you don't lose your pulled thing on the z level edge.
- GrayRachnid:
- - rscadd: Added windoors to all the flaps on delta.
- - balance: rebalanced k9dogborgs
- Hatterhat:
- - rscadd: Magnetic pistols now fit in boot pockets - jackboots, workboots, etc.
- - tweak: literally every pistol subtype fits in shoes now. go wild.
- Hippie Circuit Port:
- - rscadd: Added all Atmospheric Circuits
- - rscadd: Added the ability to color data disks
- - rscadd: Added Selection and Storage Examiner Circuits
- - rscadd: Added Smoke, Extinguisher, and Beaker Connector Circuits
- - rscadd: Added Inserter, Renamer, Redescriber, and Repaint Circuits
- - rscadd: Added MMI Tank and pAI Connector Circuits (The possibilities are endless!)
- Improving and Balancing Cyborgs:
- - rscadd: Added Crew Pinpointer to Security Borg
- - rscadd: Added Crew Monitor to Medical Borg
- - rscadd: Added Crew Pinpointer to MediHound Borg
- - tweak: Made the Disabler_Cooler compatible with both Security Borg and K9 Borg
- - tweak: Changed the Warning Text upon selecting Security or K9 module
- ItzGabby:
- - rscadd: Bat Species parts for more leeway for character customization.
- - code_imp: Alphabetized decor wing selection window in character creator for simplicity.
- JTGSZ:
- - tweak: Added one more gang boss slot bringing total to 4 from 3
- - bugfix: Fixed Gang Boss being able to be deconverted
- - tweak: Gave Qualifies_for_Rank Check back its checks in job controller.
- - rscadd: Optional species based clothing restrictions
- - tweak: Gang Dominator excessive wall check tweaked to 25 open turfs
- - bugfix: Gang Dominator no longer functions off-station.
- - rscadd: Adds more control over species based offsets.
- - bugfix: qualifies_for_rank now checks latejoin menu
- - rscadd: Added Halloween Dwarves, for Halloween... Yep.
- - bugfix: Can flip pipes once more.
- - bugfix: barricade girder walls use PlaceOnTop instead of new
- Linzolle:
- - rscadd: ability to quickly max sensors
- - bugfix: atmos helmet visual bug
- - bugfix: supply display are now properly on the wall
- - tweak: consistency in hop and cap berets
- - tweak: slime people now enjoy eating toxic food and it will not disgust them
- - bugfix: hos trenchcloak now properly has a sprite on digi characters
- - rscdel: duplicate definition of hos and sec skirts
- - bugfix: Krav Maga leg sweep now works properly.
- - rscadd: shoes can have a different icon used for their item and mob icons
- - bugfix: combat gloves plus having no mob icon
- - rscadd: inhands sprite for rainbow knife
- - tweak: colour of highlight on the regular knife when held in the right hand
- - rscadd: mining shuttle console can now be printed after computer consoles have
- been researched
- - rscadd: can now carry people on your back by aggressive grabbing them while they
- are laying down and then dragging their sprite onto yours.
- - tweak: dragging people who are prone is now much slower, and carrying them will
- allow you to move faster at the cost of taking 5 seconds to lift them up onto
- your back.
- - tweak: pacifists can now aggressive grab (cannot table slam people though)
- - bugfix: blood on your body floating a bit to your right if you're a taur
- - bugfix: some suits having no icon on tauric characters
- - tweak: front facing CMO hardsuit icon for naga taurs
- - tweak: colour of medical cross on CMO hardsuit for taurs
- - bugfix: taur body and jumpsuit showing through mining suits
- - tweak: all chaplain suits can hold the same items in suit storage
- - code_imp: improvement to organisation for chaplain suits
- - bugfix: blood halberd not going back to 17 force after unwielding
- - spellcheck: unnecessary 's at the end of blood rites healing
- - rscadd: QoL to blood rites, examine the ritual aura to view how many blood charges
- are left
- - code_imp: surgery cleanup
- - tweak: dissection available round-start
- - rscadd: better dissection surgeries from RnD, gives more points
- - rscadd: abductors can now see what glands do
- - code_imp: antagonist abductors now have a surgeon trait that teaches them every
- surgery rather than having it just check if they're an abductor
- - rscadd: muscled veins surgery
- - bugfix: having one of your hands used up if you fireman carry but the person being
- carried dismounts any way other than you dropping them
- - rscadd: Four colour variants of ankle coverings. Select them on the loadout screen.
- - imageadd: ankle coverings
- - tweak: allows for shoes that don't cover your feet to be taken into account for
- footstep sound effects and glass shards
- - rscadd: Tend Wounds surgery. Heal in the field, with better healing the more damage
- the patient has.
- - rscdel: Reconstruction replaced by Tend Wounds
- - balance: made Revival more accessible, more viable alternative to cloning.
- - bugfix: advanced surgery tools can't perform lobectomy or coronary bypass
- - rscadd: Decorative and insect wings can now be coloured individually, similar
- to horns.
- - bugfix: people getting assigned wings if their savefile is old.
- - rscdel: wings that take the hair colour. Unnecessary if you can just set the colour.
- - tweak: Cannot make horns pure black. Trying to do so will set it to a default
- value.
- - bugfix: decorative angel wings being invisible
- - bugfix: abductors now actually work
- - tweak: abductor scientist has their own greet message now
- - bugfix: unable to read paper on airlocks
- - tweak: ai can see paper (still just shows stars)
- - rscadd: Target head and throw a hat at someone to toss it onto their head, knocking
- whatever they're wearing off if they are wearing a hat. Some headgear can't
- be knocked off this way.
- MediHound:
- - rscadd: Made Cyborgs be affected by Ion Storm Law Changes like AIs
- MrJWhit:
- - balance: rebalance melee stamloss
- Multicam Config:
- - config: removed whether or not the stuff for multicam was checking the useless
- var and instead now checks the CONFIG_GET flag.
- - admin: Admins now have a verb in the Server tab to turn AI multicam on and off.
- Naksu:
- - code_imp: default radiation insulation is now handled by atom vars rather than
- a component, components can still be used.
- - code_imp: squeezed a little bit more perf out of atmos
- Nero1024:
- - soundadd: Bare feet will now make the correct footstep sounds.
- - soundadd: Other mobs will make the correct footstep sounds.
- - soundadd: Crawling/dragging sounds for downed/incapacitated mobs
- Onule & Nemvar (ported by Ghommie):
- - imageadd: New Revenant icons
- Original by Citinited, port by Sishen1542:
- - rscadd: You can now use an airlock electronics on a locker to add a lock, and
- can screwdriver an unlocked locker to remove its lock.
- - rscadd: You can now remove the locks on broken or emagged lockers.
- - tweak: Removing the lock from a personal locker now wipes that locker's ID details.
- - tweak: Broken lockers have had their appearance changed.
- Owai-Seek:
- - rscadd: custodial cruiser cargo crate
- - tweak: removed light replacer from power designs and moved to misc designs
- - tweak: added pimpin ride to custodial locator
- - tweak: added additional items to janibelt whitelist
- - tweak: made plant DNA manipulator unwrenchable
- - balance: reduced janitor premium supply costs
- - bugfix: fixed them strawberries
- - rscadd: false codpiece
- - rscadd: crocin/camphor bottles
- - tweak: updated kinkmate item list
- PersianXerxes:
- - code_imp: Adds the clockwork_warp_allowed flag to the Captain's Office area, set
- to FALSE the same way it is for the chapel and armory.
- - tweak: Relocates cult catwalks outside the Reebe dressing room.
- Poojawa:
- - rscadd: Digitigrade legs are now able to wear shoes and look fancy, Uniforms to
- come.
- - tweak: Xenos are only digitigrade now, mammals and aquatics have the option.
- - rscadd: Fire Alarms are visible in low light situations
- - bugfix: fixed vore prefs saving inconsistently, new characters might have a previous
- slot's prefs tacked on.
- - bugfix: fixed mammals not having the option for digilegs. Sprites are fucky until
- body-part related sprites are done.
- - refactor: improved vore sound responsiveness to preference choices.
- - balance: removed morphine from Medihound sleeper chemical list
- - bugfix: fixed preference setting being broken
- - refactor: Medihound sleepers are Initialized properly, and icons update correctly
- now on eject
- - tweak: Air alarm All clear color changed from green to blue
- - balance: APCs are harder to destroy.
- - rscadd: Added Digitigrade versions of everything appliciable in suit.dmi
- - imageadd: Snowflake Icons weren't modified, and were given NO_MUTANTRACE_VARIATION
- - imageadd: naga and quad Taurs literally don't freeze their ass off in space anymore.
- - bugfix: Digitigrade legs will toggle on/off properly on character menue
- - bugfix: The misleading "normal" has been removed from species options
- - balance: Added sanity checks to emag usage
- - bugfix: fixed vtech, but it still doesn't work because of overriding jog/sprint
- mechanics from combat reworks.
- - bugfix: Puppy jaws properly store if you're emagged, they are also toggle-able
- for stealth like the tongue.
- - bugfix: 'Digitigrade legs should properly fucking update for the last fucking
- time. Fucking snowflake code. refractor: Got rid of snowflake sechound cuffs,
- gave them normal zipties like regular secborgs.'
- - bugfix: dogborg sleepers actually extinguish people who are on fire, in case you
- don't have time to lick them out.
- - bugfix: Taur suits should fix themselves properly when worn by other people.
- - rscadd: Added the Yogs/Oracle ported latejoin menu
- - rscadd: All markings, tails, ears, and snouts for Citadel races are color matrixed!
- - imageadd: all markings are on a per-limb basis, including Digitigrade legs!
- - imageadd: a bunch of tails were blessed with tail wagging sprites, Fish, Sharks,
- Fennecs, Wahs, raccoons, and others.
- - imageadd: Tiger markings + tail added, skunk tails improved via sprites from Virgo
- - tweak: tweaked some sprites to look better, but they absolutely could use a few
- extra passes for quality
- - rscadd: HumanScissors in the Tools folder will permit anyone to contribute matrix'd
- markings to the sprite sheet, however Mam_markings is very, very full. Be careful.
- - tweak: Character preview was both optimized for taurs and bad-touched for better
- updating. I don't know if it'll be bad, but hey its better.
- - rscadd: Added Dark Medihound and Pup Dozer from Virgo
- - tweak: Clone pods no longer announce the name of the clone
- - bugfix: fixed flavor text appearing when your face is hidden but you're not an
- Unknown
- - bugfix: Tauric suits now apply an (placeholder) blood overlay, as well as their
- shield overlay.
- - balance: Ashwalkers now have lungs. They cannot breath station air without suffocation
- effects, but are completely fine on their homeworld.
- - balance: Carbon mobs now have a maximum tolerance to oxygen of 50kPa.
- - balance: Deluxe synthetic lungs have a very high bonus to O2 tolerance.
- - bugfix: Digitigrade legs returned to normal, since digi leg markings overlay them
- anyway.
- - bugfix: commented out lizard mam_snout entries, because too many abominations
- - bugfix: Vore Panel restored to have various interactions available again. Semi-untested
- but should work as advertised.
- - tweak: Vore Panel has more feedback.
- - rscadd: is_wet var to bellies, toggled in the panel, will remove flesh sounding
- struggles and the internal loop. JSON version updated.
- - rscadd: Feeding var. You will need to enable feeding to recieve any feed vore
- actions, but you can now feed yourself to mobs that have this set. TODO, Dogborg
- sleeper feeding.
- - rscadd: vore mode button now required to be enabled to perform vore actions. It's
- the mouth icon!
- - bugfix: Ash Drake vore fixed for actual reals this time
- - bugfix: Mobs shouldn't spam the released contents announcement anymore on qdel
- or death. Only if triggered
- - tweak: Hostile mob code now properly ignores targets in bellies
- - rscadd: Your belly can quietly growl if you're starving now.
- - bugfix: Normal blood splattering isn't offset due to tauric mode
- - rscadd: Added plasma man suit icons for taurs
- - rscadd: Added bee butt for insects to have stripes
- - tweak: adjusted random spawn sprite accessories, humans won't be demi by default
- and lizard/mammal spawns will randomly get digitigrade legs
- - bugfix: sprite adjustments for tentacles, as well as a misspelling.
- - bugfix: Humans once again use ears and tail_human, as intended. This is to prevent
- garish randomness
- - bugfix: istype for species is actually correct and usable now, it'll be a factor
- for monkey form expansions.
- - bugfix: Hair functions are de-gendered and more easily selectable now.
- - bugfix: Slimes can *wag, select markings and snouts, and yes it works.
- - bugfix: Slimepeople extra parts now respect their hair_alpha in terms of being
- somewhat see-through. it shouldn't stand out as badly now!
- - bugfix: Hunger noises are now toggled per character
- - bugfix: Ashwalker den is habitable by ashwalkers again
- - rscadd: Medical belts now have overlays! Now you can see if a belt is useful or
- just flatout empty.
- - bugfix: fixed hypo MK IIs not being able to be put on medical belts
- - bugfix: fixed Navy officer uniforms that failed to spawn
- - code_imp: Loadout items will be forcefully added to backpacks or at your feet
- instead of left behind at title screen
- - tweak: hypospray kits hold 12 now, but only vials and sprays themselves
- - bugfix: labcoats can carry MK II hyposprays on them now.
- - rscadd: Vore Mobs are a thing now, not just ash drakes
- - rscdel: 'Removed hunger sound stuff. never taking requests from Coolgat3 ever
- again. refractor: Simple Mobs use the same system regular human mobs do, itjustworks.png'
- - tweak: Character Window settings unsnowflaked and normalized. I have no fucking
- clue how to make them work with taurs still tho, sorry.
- - imageadd: added rotating background images for better clarity and contrast than
- just SOLID FUCKING BLACK. Images from Virgo/Polaris/Eris
- - balance: Defib users automatically stop pulling when they attempt to perform a
- defib shock
- - imageadd: added muzzled varients of space helmets and full masks
- - imageadd: added knight_grey to taur suits, all paranormal ERT now have tauric
- versions enabled
- - bugfix: Lava knights have digitigrade and tauric versions now
- - rscadd: Added a glass version of the gas mask, because it was in the files and
- looked nice. does everything regular ones do except make you an unknown
- - rscadd: Added custom species names! Examining people will now display their species
- name unless they're an Unknown or have their face hidden. like flavor text.
- Set it in your character window!
- - code_imp: changed how health scanners print messages, wrapping it in msg for one
- to_chat instead of printing every line to_chat.
- - server: Discord bot will now report when a round ends and give the vague news
- ticker that a sister-station would have received for the game mode and result
- of the round.
- - bugfix: fixed medical hardsuit overlay issue. I thought it was going to work well
- but fuck byond.
- - bugfix: None body markings shouldn't give rgb hell, but it also should reset properly
- anyway. ree.
- - bugfix: Sorted some sprites to better sooth my byond icon limit anxiety.
- - bugfix: Box Cryopods expanded to 6 public. Permabrig cryo fixed.
- - bugfix: Delta Cryopods expanded to 6 public. Permabrig cryo fixed.
- - bugfix: MetaStation Crypods expanded to 6 public, relocated above sparring ring.
- Permabrig cryo fixed
- - bugfix: PubbyStation gained one more cryopod, Permabrig's cryo fixed.
- - rscadd: Omega given one more crypod as well.
- - rscadd: Gulag was given a cryopod.
- - tweak: Box and Meta's cryo rooms are now a new room entirely.
- - rscadd: Added erect states for all phallic bodyparts
- - bugfix: YOUR DICK ACTUALLY STANDS UP NOW, YOU'RE WELCOME.
- - bugfix: skintone locked genitals match the new skintone colorations.
- - rscadd: added two new vaginal types and descriptions.
- - bugfix: fixed borg defib runtimes
- - bugfix: fixed heart attacks being nonlethal
- - rscadd: Ported Oracle's cloning set up, you're now visible like cryo when being
- cloned, though it's a mystery until you have skin on your meat puppet existance
- - balance: Recyclers are unable to destroy the indestructible any longer.
- - bugfix: Kiara's toy sabre now actually is the correct item + icon states
- - bugfix: Generic armor for taurs fixed, there isn't actually any sprites for 'em,
- so. Full sprites overlay over bodies, but I really can't be bothered to do all
- the offset fixes otherwise.
- - rscadd: Large maps have had a patient room transformed into micro chemistry stations
- with nothing else in them. They've been labelled 'Apothecary' rooms and are
- accessible by doctors.
- - rscadd: females now have female defined sprites
- - bugfix: Slime legs have had their excess pixels adjusted
- - bugfix: Mammal normal legs are more in line with human legs now
- - bugfix: fixed species like abductors and golems getting the fat tiddy or pingas
- - bugfix: Atmos and Station alerts should be more alerting.
- - rscadd: Added visible and hidden testicles
- - rscadd: Added multi-boob support. Now you can have two or three pairs of breasts.
- - bugfix: fixed missing vagina and breast sprites
- - bugfix: fixed prosthetic hands being invisible
- - bugfix: male foxes exist again
- - bugfix: female chest markings improved from being too dark in comparison to their
- other colors, blending better
- - bugfix: Markings behave better on non-organic limbs.
- - tweak: tweaked the name of Sublter to distinguish its use
- - tweak: Gave a hint for vore posting.
- - rscadd: Readded Ninja speech modifications with their mask
- - rscadd: Pacifists can eat people for heal belly or noisy. Digestive modes are
- auto-swapped to noisy
- - rscadd: Added an underwear toggle button under 'Object' tab
- - tweak: Genitals now layer under underwear. Hide these if they're too obnoxious.
- - rscadd: Added digitigrade socks of all known ones anyway.
- - tweak: tweaked the Genital character creation layout to look better
- - bugfix: fixed having balls/womb when you don't have the linked organ at character
- creation
- - bugfix: fixed being able to squeeze semen directly from your balls. Probably.
- - rscadd: NT Newscasters have had repeated reports of gang activity and are now
- looking into it.
- - rscadd: NT Psykers keep mumbling about last words of someone who died. Somehow
- they even have a newsletter for this...
- - bugfix: Gangster greeting messages are a batch message rather than 5 laggy to_chats
- - imageadd: RCL now show what color is currently in use
- - rscadd: Added RGB blood effects, know whose blood this is by color!
- - rscadd: Added Synthetics blood, and a machine that produces it. A universal donor
- for medical to heal people with. Make it via medical protolathe!
- - bugfix: With hearts, slimepeople shouldn't die from the effects of not having
- a heart.
- - bugfix: Plasma vessels from xenomorphs will restore blood if you're on resin.
- - server: Poly's speech now echos to the chat bot.
- - rscadd: Added new wings to Insects and separated fluff from old ones, they're
- Insect's new body markings now without being per-limb (for now).
- - rscadd: Horns are now available to mammals, and they have their own color.
- - rscadd: Legs are no longer a binary hack code, but actually something that can
- be changed. Framework for tauric adaptations.
- - rscdel: Purged Modular Citadel's sprite_accessories.
- - bugfix: improved the quality of a number of sprites.
- - tweak: Moths are now all insects. Avians and Aquatics are all anthromorphics.
- Just as planned.
- - rscadd: Anthromorphs can choose their preferred gibbing meat. I guess. Snowflakes
- are weird.
- - bugfix: Additional Gentlemen names.
- - rscadd: Medical huds are now calibrated for Radioactive wavelengths.
- - balance: Engineering equipment, blue space, and common storage containers are
- radiation protected
- - bugfix: fixed suit storage not cleaning radiation levels of everything stuffed
- into them.
- - bugfix: QM is able to hire/fire people to their department now.
- - bugfix: cryopod UI isn't complete shit anymore
- - bugfix: Cryopods purge silicon gear more efficiently now. Same with ghosts.
- - balance: Med Sprays are now more aligned with patch mechanics
- - balance: Chemistry is encouraged to be more varied in their healing, as well as
- careful in its application
- - tweak: Active NPC priority set much higher priority for the MC, with the intent
- on making NPC combat more interesting
- - bugfix: Clarified access descriptions of some jobs
- - bugfix: fixed missing deco wing states
- - bugfix: fixed a few things related to vore content
- Putnam3145:
- - tweak: Bottles in PanD.E.M.I.C 2200 can now be replaced with an inhand bottle
- directly
- - tweak: Ejecting a bottle from the PanD.E.M.I.C 2200 puts it directly into the
- user's hand
- - tweak: Alt-clicking the PanD.E.M.I.C 2200 ejects the current bottle
- - bugfix: neural nanites only work/drain if you have brain damage or traumas the
- nanites can fix
- - tweak: Pod people can no longer get fat from standing in the light
- - tweak: PanD.E.M.I.C 2200 now ejects onto itself instead of onto user if user's
- hands are full
- - rscadd: Added configs for a bunch of Dynamic rule parameters.
- - config: Added defaults for all the configs (WIP).
- - config: Added dynamic midround/latejoin antag injection to the config.
- - balance: Made starlight condensation not kill slime people.
- - balance: Added not-killing-slime-people to the transmission threshold of plasma
- fixation and radioactive resonance.
- - tweak: Made the clone scanner lock while it's scanning.
- R3dtail:
- - rscadd: Added 16 saltprimaryobject items Added 4 saltsecondarysubject items
- - rscadd: Added a new carpet. Red! Also added said carpet to the Premium Carpet
- crate from the cargo supply console. Trilby said she'd take care of the crafting
- recipe.
- Raptorizer:
- - tweak: Doubled peach spawn rate
- - tweak: tweaked numbers/variables
- - balance: rebalanced numbers/variables
- - spellcheck: removed unneeded code
- Seris02:
- - rscadd: Abductor Replication Lab ruin and advanced tools
- - rscadd: Added looc hotkey
- - tweak: made the autoprocess button relevant
- - tweak: changes so that spooktober starts earlier
- - bugfix: fixed the dark blue lum major effect
- Sirich96 and Dennok (ported by Ghommie):
- - rscadd: Added new Teleporter Station sprites
- - rscadd: Added teleport station calibration animation.
- Sishen1542:
- - rscadd: Pentetic Jelly, new chemical made through mixing 1:1 slime jelly and pentetic
- acid.
- - tweak: Anatomic panacea now gives pent jelly instead of pent acid. Medbeams now
- have TRUE tox healing to heal TOXINLOVER as well.
- - balance: Changed bible heal proc, halving the healed damage and increasing brain
- damage 5x in exchange for a much wider array of items to protect you from it.
- - tweak: Moved around some chems from emag list into upgrades.
- - balance: Added some fun chems to dispensers.
- - bugfix: Gave dispensers old tg functionality.
- - rscadd: Leather, cardboard, bronze & bone golems!
- - rscadd: Bone hurting juice and interactions with plasmamen, skeletons & bone golems!
- - rscadd: Ported addition of new CAS cards.
- - bugfix: Ported a fix for CAS.
- - rscadd: Added the ability to alter your genitalia as a slimeperson more than addition/removal.
- - bugfix: fixed genitalia removal proc in alter form.
- - balance: Ported the inability for non-station AI to interact with station z-level.
- - balance: HoS mains can now peacefully sleep in their office.
- - tweak: Podpeople now have customization options.
- - bugfix: Removed the human check for cult conversion of captain/chaplain minds.
- - balance: Roundstart carbon jetpacks now have full_speed FALSE.
- - tweak: Adds plasteel to medical and security techfabs.
- - rscadd: Added public autolathes to all maps.
- - tweak: density = 0
- - balance: hugboxing mining loot
- - balance: ling blade now has 40 armor pen
- - rscadd: fun
- - rscdel: bad stuff
- - balance: mech bad
- - balance: rebalances strained muscles
- - rscadd: added in the assistant response team
- - bugfix: fixed up access on the centcom hangar button
- - balance: storage tweaks for belt briefcase
- - imageadd: codersprite for belt briefcase
- - rscadd: added pharaoh gear to chaplain vendor
- - spellcheck: fixed typos in pharaoh items
- - rscadd: made laser minigun not shitcode and also craftable
- - soundadd: added new fire sounds for the laser minigun
- - rscadd: holy lasrifle, hypertool, divine lightblade, and blessed baseball bat.
- Four new holy weapons!
- - balance: stamina and force tweaks for most holy weapons.
- - tweak: prayer beads no longer deconvert after a 10 second timer, now just inject
- holy water for delayed effect
- - tweak: cultist runes are now destroyed with a bible or a null rod
- - tweak: bo-staff now functions as a nerfed sleepy carp staff
- - bugfix: fixed kevinz code to add in non-null rod child items as holy weapons
- - bugfix: fixing chems for strained muscles
- - bugfix: narsie no longer asks for consent
- - bugfix: removed reflect from divine lightblade
- - bugfix: teleporting a locker is bad
- Sishen1542, original by @Tlaltecuhtli:
- - bugfix: alt clicking the emitter now rotates it instead of only flipping
- Sishen1542, original by @zxaber:
- - balance: Utility mechs no longer automatically get beacons.
- - balance: Tracking beacons no longer delete themselves when EMPing a mech, and
- instead have a ten-second cooldown in-between EMPs. They also now do heavy EMP
- damage rather than light.
- - balance: Mechs that take EMP damage lose the use of their weapons and equipment
- temporarily. Movement and abilities are not effected.
- - balance: Mechs taking EMP damage no longer roll for a random malfunction.
- Sishen1542, original by Arkatos:
- - rscadd: Action buttons can now be dragged onto each other to swap places
- Sishen1542, original by NewSta:
- - tweak: updated the miasma canister sprites
- Sishen1542, original by Skoglol:
- - rscadd: Heaters/freezers now support ctrl clicking to turn on and alt clicking
- to min/max target temperature.
- Sishen1542, original by XDTM:
- - rscadd: Using the wrong surgery tool during surgery no longer attacks the patient,
- if on help or disarm intent.
- - rscadd: Surgery steps are now shown in detail only to the surgeon and anyone standing
- adjacent to them; the patient and people watching from further away get a more
- vague/ambiguous description.
- Skoglol:
- - rscadd: You can now alt click storage (bags, boxes, etc) to open it.
- Skully):
- - rscadd: Nudity Permit, a completely invisible uniform that still has pockets and
- such, to loadout options. It is more or less a direct port from the RP server.
- SkullyRoberts:
- - rscadd: Penis autosurgeon as rare maint loot.
- TerraGS / Skoglol:
- - rscadd: Adds toggleable light and blinking charge indicator to kinetic crusher
- - rscadd: Kinetic crusher can now be one-hand carried. You'll still need two hand
- to use it.
- Thalpy:
- - bugfix: fixes message_admins in SDZF
- - tweak: Alkaline buffer recipe so people don't get grumpy and expanded the pH range
- - bugfix: fixes buffers
- - bugfix: fixes broken compiler because a var changed name
- - bugfix: impure travis var anger
- - rscadd: Added the ability to dispense smartdarts from the chemmaster.
- - tweak: Tweaks medolier amd chembags to allow quickpickups of smartdarts, lets
- the latter soak in beakers (on the floor)
- - bugfix: fixed rounding errors with smartdart mixes.
- - imageadd: added modified smartdartgun icon.
- - bugfix: 1. Kev asked that there were no antag datums used, so that's been changed.
- 2. Tricks can no longer turn someone into a dullahan, instead you have to spend
- candies to get that. I felt it was too mean to turn people into that, I didn't
- realise you couldn't revert it. 3. Barth will no longer as for impossible items.
- 4. Barth will no longer as for the same item multiple times. 5. Barth will now
- accept broader things, rather than asking for something, when meaning something
- specific. 6. Jacq will now no longer poof off the z level. 7. Jacq will (hopefully)
- stop spooking the AI by teleporting into there 8. Jacq will now try to teleport
- to a location with someone nearby. 9. Barth will tell you where Jacq is currently
- when you speak to him. 10. You can trade 2 candies for a Jacq Tracq (tm) 11.
- Jacq should stop getting mad and cover the station in gas when killed. 12. Fixed
- Jacq not singing (the link died). 13. Slightly changed wording so that people
- will hopefully get to know her. 14. Jacq no longer disappears when you're getting
- to know her.
- Toriate:
- - imageadd: 'All regular crates are now 3/4ths ToriCrates iamgeadd: Unused plastic
- crate sprite added'
- - rscadd: Blood freezer crates now have unique sprites.
- - rscadd: RPD now has inhands
- - imageadd: New sprites for RCDs and RPDs, inhands included
- - imageadd: Updated the sprites of all the regular crates
- Trilbyspaceclone:
- - rscadd: cakes!
- - imageadd: Made some sprites! -Love them really came out well
- - rscadd: new economics
- - tweak: cargo and robotics relationships
- - balance: unbalanced something
- - bugfix: fixed a maybe oversight
- - rscdel: Fun
- - tweak: costs of suit voucher
- - balance: Unblances miner vender
- - bugfix: spare cheaper brute kit
- - tweak: harm from hentie
- - balance: rebalanced goliaths stun to be less auto death
- - rscadd: Armor to blob shields
- - tweak: block weaken state to 70% from 75%
- - bugfix: restores the deathriplys missing armor
- - rscadd: new lockable colalr
- - tweak: armor
- - bugfix: missing hopes and dreams
- - code_imp: orgized the weapon file to be more cat brain friendly
- - imageadd: This means sprite right?
- - rscdel: Many engi flags on non-engi things
- - code_imp: changed some code to be organized at a glance
- - balance: '25% < --- 50% For NPC blocking bullshit ided: Yes'
- - rscadd: mag gun uses cells
- - balance: kev things their to op
- - rscadd: syndicate phobia
- - tweak: other phobia's
- - bugfix: laser carbine
- - tweak: makes collars only locked via key
- - tweak: charging
- - rscadd: Combat inducers for COMBAT!
- - code_imp: made it look nice
- - rscadd: golden swag boxes
- - rscadd: Crafting suitcases
- - rscadd: more bountys
- - rscdel: Nitryl bounty
- - rscadd: better stocks
- - rscadd: more evil blood fluff text
- - rscadd: Added more mime names
- - tweak: replaces a sink with a autolathen
- - balance: 2 -> 3
- - rscadd: MASON SUIT!
- - rscadd: adds the sec jetpack to sec hardsuit storge
- - rscadd: Added a few jet packs to the space queens men
- - tweak: volume of jet packs
- - rscadd: Bad Idea
- - rscadd: bio mass meat
- - rscadd: more box options
- - bugfix: a lack of replaceable boxes
- - bugfix: clothing needing a emag
- - tweak: 4 - > 5
- - tweak: 5->6
- - tweak: 4tc - > 2tc
- - tweak: mulligan costs 4 - > 3
- - tweak: Tuberculosis 12tc - > 8tc
- - tweak: 15 - >10
- - bugfix: both bags have the same name
- - tweak: 5 - > 2
- - tweak: 3 -> 1
- - tweak: 2 < - 4
- - tweak: 1->2 and ultra
- - rscadd: shield + crafting
- - tweak: hierophant movment and melee attack
- - rscadd: More plushies
- - tweak: attack verbs and descs
- - rscadd: bone satchles
- - balance: rebalanced stunslugs
- - rscadd: colored boxes, and more types
- - tweak: harm and such
- - balance: item classes
- - bugfix: resonators being so shitty
- - bugfix: 'Game braking bug critical: bug fix'
- - rscadd: items to syndie surgery bags
- - rscadd: SNOW CONES
- - rscadd: carts buy-able cargo
- - tweak: selling/time to craft
- - bugfix: crafting problems, and red stamp exsplote
- - rscadd: gives paper work sprites that are nicer
- - rscadd: origami
- - rscadd: gang tower shield
- - tweak: costs of boots
- - rscadd: organ box
- - rscadd: Medical breifcaseses
- - rscadd: New cargo crate for tech-slugs!
- - rscadd: Ammo to each fitting crate
- - bugfix: Cat-code
- - spellcheck: fixed a few typos - Again my bad
- - bugfix: fixed airless place
- - rscadd: baklava
- - balance: makes uplink kits more usefull for the risk
- - code_imp: Changes some files to be better
- - balance: As all things are not
- - bugfix: fixing cat code that dosnt work, my bad
- - bugfix: Arcades stealing from noodles
- - rscadd: rapier
- - tweak: speedy quirk
- - spellcheck: Ironic
- - bugfix: A bunch of minor issues with xenobiology are no more!
- - bugfix: I didn't code it right it in the first place
- - rscadd: new nodes
- - balance: points and node gear
- - rscadd: stuff n things
- - rscadd: gear harness and a conflict merg
- - rscdel: Nudity permits
- - bugfix: nothing
- - rscadd: Donner item
- - rscadd: Luna's Gauntlets
- - balance: rebalanced lingy dingy powery gamey
- - tweak: melee and block harm
- - bugfix: sprites*
- - balance: bone satchles
- - tweak: holster doing holster things
- - rscadd: Donor item
- - rscadd: Joy, Happiness, Honk
- - bugfix: small mix up in terms
- - rscadd: Promiscuous Organs crate, pills to lewd crate and testicles to maints
- - bugfix: Made unholy water healtoxinlover
- - rscadd: Zelus Oil, brass flasks
- - rscadd: Added new chairs
- - admin: Bugtesting zone upgrades for easy bug/game testing
- - rscadd: more cargo to cargo
- - rscadd: More loadout gear
- - bugfix: Poojawa power creep
- - bugfix: Not my work not my credit
- - rscadd: Emitter gun
- - bugfix: suit storage nulling anti magic item protection
- - balance: rebalanced steal goals restrictions
- - spellcheck: fixed a few misleading goals
- - bugfix: ports a fix
- - bugfix: oversight in benos
- - bugfix: QM rooms not getting Key Aunths
- - rscadd: new books/cooking
- - spellcheck: less bad wording in slime
- - rscadd: strawbarries and such
- - rscadd: amazing things like tea of catnip, catnip and plant
- - tweak: glue uplinks
- - rscadd: RPDs to drones
- - rscadd: Armor and such
- - rscadd: flavor
- - bugfix: maybe a runtime
- - rscadd: chameloen clothing
- - rscadd: tons of peach themed items
- - spellcheck: caje
- - rscadd: New book - Unused
- - code_imp: organized files
- - imageadd: redid brass tools to look better*
- - bugfix: /cursed from a item path
- - rscadd: Almost all clothing and most weaponds can be sold for pocket change
- - tweak: Cargo costs of packets and selling
- - balance: Lowered mat selling as well as most if not all bountys
- - code_imp: Adds more files for easy finding/adding in packs
- - bugfix: oops not being blacklisted
- - code_imp: removes some cit-modular things
- - bugfix: Missing sprites with bad ones
- - tweak: emag charge amount
- - rscadd: Reebe QoL aka creep in gear
- - bugfix: ???
- - server: HEY MADE THE REEBEEE WAY SMALLER - Making it less lagging hopefully
- - rscadd: Surgerys and spays in bags
- - tweak: earthbloods stam regen
- - imageadd: Red to Blue/Black crosses as questioned by Bhijn
- - bugfix: clean bot not cleaning basic cleanables
- - rscadd: new traitor bundle
- - rscadd: trash
- - imageadd: 'eye bleed :add: misstakes'
- - rscdel: Removed old things!
- - bugfix: UI memes
- - rscadd: Blue space blood bag
- - tweak: blood costs
- - rscadd: Beebal and Honeybalm plants
- - tweak: Costs of crates and paperwork
- - rscadd: Adds 2 more crates hacked only
- - rscadd: Added two seed packets of cotten to ash walkers base
- Tupinambis:
- - tweak: Changes large parts of the nuclear operative base, including the addition
- of a new barracks where the ops spawn, a personal bedroom for the leader, the
- rearrangement of numerous rooms, some added fluff, a slightly more roomy bar,
- a larger hanger, a kitchen, and various other small changes to make the base
- feel just a bit more alive. This was achieved by completely redoing the base
- from scratch so there was room to work with, as a result potential bugs could
- crop, please do report them.
- - bugfix: The drop pod chamber was airless. This seems like an oversight, and has
- been filled with air.
- - rscadd: Cryo Sleepers have been added to Perma on all four maps in rotation. the
- bathroom windoor and window have switched places to accommodate this change.
- - rscadd: You can now choose the pre-exisiting "loader" sprite as an appearance
- for your engineering borg.
- - tweak: A vast majority of references to humans within ion laws have been replaced
- with crew. AI modules have received similar treatment
- - rscadd: 'Adds a syndicate themed emergency shuttle that costs 20000 credits, and
- can ONLY be purchased when the communications console is emagged. This shuttle
- features a fully stocked medbay with self serve sleepers, plenty of room that
- can fit highpop, a fully featured bridge, ballistic auto turrets, and an armory,
- EVA prep room, and bar, all of which are only accessible by either an agent
- ID or through hacking.
-
- -EVA prep features 2 syndicate hardsuits and 3 syndicate softsuits. -Armory
- features 5 stetchkins with spare ammo, and 2 riot c-20r''s.
-
- '
- - balance: Lone operatives no longer spawn with a syndicate hardsuit and a bulldog.
- They instead spawn with a black and red EVA suit and an extra 15 TC (40 in total)
- 
- - rscadd: The tesla engine has been replaced with a supermatter engine, and pubby
- engineering has been redesigned to accommodate this change.
- - rscdel: The tesla engine has been completely removed along with any related components
- - bugfix: RD and R&D vents are now actually connected to the air distribution.
- - rscadd: New engineering hivebot. Has a bit more health but otherwise aesthetic.
- - tweak: Oldstation no longer has an excessive amounts of hivebots within it, however
- the bots that remain are individually a larger threat.
- - balance: Hivebots are now more robust, with a higher melee damage output and health.
- - server: Remove this ruin from the blacklist or this PR is pointless.
- - bugfix: the air injectors for the SM engine waste and for toxins waste should
- now receive power
- - tweak: Adds a mixed clothing closet to Deltastation Dorms.
- - tweak: Adds a bottle of unstable mutagen to Botany, on account of its distance
- from Chemistry.
- - bugfix: Omegastation should no longer have any turf with missing textures, as
- those spots have been replaced with playing covered in a sandy turf decal.
- - tweak: Removed all living eggs from the xeno ruin because people self antag. Honk.
- - rscadd: Adds a new security level between Blue and Red (Amber). The shuttle call
- time at this level is 8 minutes.
- - tweak: Blue security level now has a shuttle call time of 12 minutes.
- - tweak: The security level increase/decrease texts have been modified to accommodate
- the change.
- - imageadd: Adds a code Amber sprite for the fire alarms
- - tweak: Removed the plushes from the toy crate, giving them their own.
- - tweak: Plushes are now less likely to spawn out of arcades
- - imagedel: Removes a moth plush from the game.
- - balance: added a small fire delay (3 ticks) to automatic shotguns
- - balance: Reduced buckshot brute damage by 20%. (12.5 -> 10 brute per pellet) (75
- -> 60 brute at close range)
- - balance: Reduced rubbershot stamina damage by 40% (25 -> 15 stamina per pellet)
- (150 -> 90 stamina at close range)
- - balance: Reduced beanbag stamina damage by 12.5% (80 -> 70 stamina per shot)
- - balance: Engivend RCDs now vend upgraded RCDs
- - imageadd: Beautified and stylized the cyborg HUD sprites, animated and cleaned
- up some of the old, modernized APC hacking and Doomsday sprites,
- - tweak: moved cyborg language select above the radio icon, instead of above the
- picture icon.
- Twaticus & Poojawa:
- - rscadd: Added new carpets from TauCetiStation!
- - rscadd: More Liquid carpet chemicals, mix carpet with certain reagents to get
- different colors!
- - refactor: Tablets have a better means of being assembled codewise. nothing's different
- on player end.
- UntoldTactics:
- - tweak: Rewords the click here prompt given when an attempted conversion is done
- on an offer rune (for blood cult)
- UristMcAstronaut:
- - bugfix: allows a pai to activate its holoform while in a pai connector without
- getting derped.
- Useroth:
- - bugfix: the collars are now aware of their proper overlay sprites
- - bugfix: The space hotel dorms are now properly boltable with the buttons inside.
- - bugfix: Makes the booze-o-mat hacked by default. Alternative to https://github.com/Citadel-Station-13/Citadel-Station-13/pull/8350.
- - bugfix: After the PR which raised the ammo capacity of said magazines, due to
- the code, they ended up with an invalid icon state. Fixed through changing the
- icon state name in the icon file.
- - rscadd: 'Taeclowndo shoes which grant the four following abilities: - Conjuring
- a cream pie right into their hand. Every three seconds. - Making a banana peel
- appear out of thin air at the tile of the clown''s choice. Every ten seconds.
- - Mega HoNk. A touch-ranged, very small AOE ability, with effect equal to being
- honked by a Honkerblast on a clown mech, with the effects halved for anyone
- who isn''t its direct target. Every ten seconds. - Bluespace Banana Pie. You
- don''t throw this one... not right away at least. This baby can fit an entire
- body inside. Good for disposal of evidence. 25 second-long action, 45 second
- cooldown. Also produces a "[victim''s name] cream pie". The body drops out of
- the pie if you splat it somewhere or destroy the pie. If you eat it, it will
- chestburst out of you a''la monkey cube.
-
- It''s a 14 TC item for traitor clowns and a 12 TC item for clown-ops.'
- - tweak: The tentacle now directly puts the item in your hands, instead of toggling
- your throwing and tossing it at you. Tentacles suffer from ranged inaccuracies
- as if they were guns, I think it's enough of an inconvenience.
- - tweak: Makes the netting much less clunky. If there's only one target you can
- net while you press the button, it will just net that target instead of bringing
- up a list of mobs.
- - tweak: Energy nets now revive and fully heal capturees (even dead ones, after
- calculating points). If someone's got a scan and wants to get cloned, they can
- always kill themselves still.
- - tweak: Capture points are added on capture, rather than round-end, so it no longer
- matters whether your captures kill themselves in the holding facility or not.
- - balance: Makes the nets a bit more sturdy. (previously it took mere two welder
- hits to break one)
- - balance: Makes stungloves actually stun people (currently comparably with stunbatons,
- adjustable). Because electrocute_act(25, H) did fuck all, stunwise, and on top
- of that, people in insulated gloves were completely unaffected.
- - balance: Reduced the stunglove electrocute_act value to 15 due to above. Could
- possibly be lowered further.
- Weblure:
- - rscadd: Added the relevant Beepsky animations from TG's aibots.dmi file to Cit's
- aibots.dmi file.
- WhiteHusky:
- - rscadd: Sleepers now show blood level and type.
- - tweak: Changed the styling of arousal messages to use pink-ish colors.
- - bugfix: The orgasm moodlet message new-lines properly.
- - bugfix: Flavor text with special characters will not get partially unescaped.
- - bugfix: Canceling when setting flavor text does not clear it anymore.
- - tweak: Checking yourself shouldn't freeze the client anymore.
- XDTM:
- - rscadd: Added the experimental dissection surgery, which can be performed once
- per corpse to gain techweb points.
- - rscadd: Rarer specimens are more valuable, so xenos and rare species are more
- efficient subjects.
- - rscadd: Added two new surgery procedures, under the Experimental Surgery techweb
- node.
- - rscadd: Ligament Hook makes it so you can attach limbs manually (like skeletons)
- but makes dismemberment more likely as well.
- - rscadd: Ligament Reinforcement prevents dismemberment, but makes limbs easier
- to disable through damage.
- - tweak: Golem limbs can now be disabled, although they are still undismemberable.
- YPOQ:
- - bugfix: Stealth implants work again
- Yakumo Chen:
- - balance: Made stealth implant boxes flimsier
- - balance: Autocloning now requires tier 4 parts
- - rscdel: Removes autoscan
- - balance: Scanning people now requires someone to operate the cloning computer
- regardless of part level.
- - balance: removed antimagic component from holymelon
- YakumoChen:
- - tweak: AEGs brought more in line with current radiation system. Try not to get
- EMP'd.
- - tweak: Jetpacks no longer last twice as long between air refills.
- - rscdel: Reverted laser miniguns.
- - rscadd: Adds beanbag slugs to the sec protolathe at round start
- - bugfix: Brings shotgun ammo availability back in like between seclathe and autolathe.
- Zargserg:
- - balance: Lungs maximum toxin threshold is 0.5% of the atmosphere.
- - bugfix: Permanently contaminated atmosphere does not murder crew anymore.
- ZeroNetAlpha:
- - tweak: Cleans up autoylathe code and brings it back in line with the regular autolathe.
- - bugfix: Fixes autoylathe interface not updating propperly.
- - tweak: Silicons are now consumable by scrub pups.
- actioninja:
- - bugfix: APC UI autoupdates correctly
- bluespace bio bags:
- - rscadd: Added bluespace bio bags and put it in the tech web, in the node applied
- bluespace
- - imageadd: added a crappy icon for bluespace bio bags
- chef:
- - rscadd: Added main hallway approach to monastery
- - rscadd: Added Maintenance hallway approach, with some maint loot
- - tweak: moved the docking arm for the white ship
- - tweak: changed placement of some grills and windows
- coiax:
- - admin: When the nuclear disk stays stationary long enough to trigger an increase
- for the lone op event chance, admins will be notified every five increments.
- dapnee:
- - rscadd: Plasmaglass tables, spears, tiny plasmaglass shards
- - bugfix: Plasmaglass structures now drop plasmaglass shards instead of nothing
- - rscadd: Trim lines!
- - bugfix: You can now make plasmaglass tables again.
- deathride58:
- - admin: When a gamemode fails pre_setup, it will now send a message in admin IRC
- and in ingame admin chat, instead of only being viewable in the logs.
- - balance: Portal guns now spawn without firing pins.
- - balance: Reduced the default/baseline nanite pool amount from 100 nanites to 25
- nanites, and reduced the maximum nanite amount from 500 nanites to 125 nanites.
- The safety threshold was reduced from 50 nanites to 12 nanites.
- - balance: Most of Lavaland's mobs are now on crack.
- - balance: Blood drunk miners now move once every two ticks, rather than once every
- three ticks.
- - balance: Bubblegum now has a maximum movement speed of once every three ticks.
- Buffed from the original value of once per 5 ticks.
- - balance: The minimum time for the Colossus to attack again after firing a random
- shot is two deciseconds, Sped up from the original value of three seconds. The
- minimum time for the Colossus to attack again after performing a blast is now
- one second, with the original value being two seconds. The minimum time for
- it to attack again after performing its alternating shot pattern is now two
- seconds, original value being four seconds.
- - balance: Ashdrakes now move once every five ticks, rather than once every ten
- ticks.
- - balance: Heirophant chasers now move once every two ticks rather than three ticks
- by default, and the chaser cooldown has been reduced from 10 seconds to 5 seconds.
- The cooldown for the Heirophant's major attacks has also been sped up to 4 seconds
- from the original value of 6 seconds.
- - balance: The Legion (megafauna) now moves at two ticks per second rather than
- three ticks. It additionally now actually moves faster while charging. The cooldown
- timer for it's special attacks has been reduced from 2 seconds to 1 second.
- Additionally, The Legion's view range has been decreased from 13 tiles to 10
- tiles.
- - balance: All megafauna now have a default view range of 4 tiles, decreased from
- the original of 5 tiles, and an aggro'd view range of 15 tiles, decreased from
- the original of 18
- - balance: Goliaths now move once every ten ticks, sped up from the original value
- of 40(!!!) ticks. Additionally, their cooldown for their tentacles has been
- reduced from 12 seconds to 6 seconds. To compensate, their cooldown now only
- decreases by 5 deciseconds every time they're attacked, rather than 10 deciseconds,
- their melee damage has been reduced to 18 per hit from 25 per hit, and their
- vision range has been decreased from 5 tiles unaggroed, 9 tiles when aggroed,
- to 4 tiles and 7 tiles respectively. Ancient goliaths have a default attack
- cooldown of 8 seconds, sped up from the original value of 12 seconds.
- - balance: Legion (the common mob) now has a cooldown of 1.5 seconds on their skull
- attack, sped up from the original value of 2 seconds. Additionally, their view
- range has been decreased from 5 tiles, 9 tiles when aggroed, to 4 tiles, 7 tiles
- when aggroed.
- - bugfix: Stamina no longer regenerates at hyper speeds.
- - tweak: To accommodate for upstream's stamina changes, knockdown() now applies
- staminaloss only to the chest.
- - tweak: adjuststaminaloss() now has a new argument that allows you to specify a
- zone to apply staminaloss to. This defaults to the chest
- - tweak: apply_damage() is now capable of healing carbon mobs and human mobs.
- - tweak: Since the head has the same exact effects as the chest when disabled, and
- doesn't really make much sense to be affected by stamina, the head no longer
- has stamina.
- - tweak: The chest now has a stamina cap of 200 stamina due to the above.
- - tweak: Footsteps now sound mostly the same as they did before the hard sync
- - bugfix: Jukeboxes now properly remove themselves from the active jukebox list
- when destroyed
- - rscadd: Server operators and badmins can now make the server play like TG by toggling
- the stamina buffer on/off using the DISABLE_STAMBUFFER config option.
- - bugfix: Airlock wires now work as they did prior to the hard sync
- - balance: The thing you're currently grabbing is now taken into account when left-click
- disarming. Things you have grabbed now roughly have a 45% chance to be disarmed.
- - balance: Disarm push rolls are now determined by the target's staminaloss rather
- than a flat number.
- - balance: When you're in combat mode, pushing someone who isn't in combat mode
- is a guaranteed knockdown. Hard counter to stam regen squeezing in melee combat.
- - balance: Failed disarm push attempts now deals light staminaloss to the target
- so long as both the attacker and target are standing. The total stamloss dealt
- to the target is random, clocking in at a very inefficient 1-5 stamloss per
- unsuccessful push attempt.
- - tweak: Disarm pushes now play the thudswoosh sound regardless if they're successful
- or not. Had it not been for copyright, I would've used L4D's melee sound.
- - tweak: Disarm push attempts are now logged
- - bugfix: Autostand no longer makes you invulnerable to dropping items when being
- knocked down with a force greater than 80
- - bugfix: You can no longer abuse an href exploit to return from the labor camp
- before obtaining enough points to satisfy your point goal.
- - bugfix: Norko's donor item is now listed in the right category
- - rscadd: The medihound sleeper now has a non-vore variant. This will be used by
- default. The old voracious variant will only appear if both the person being
- sleeper'd and the medihound have the voracious hound sleepers pref enabled.
- Sprites by Toriate
- - tweak: '"Allow medihound sleeper" is now labelled "Voracious medihound sleepers",
- and is now off by default'
- - bugfix: AOOC no longer prints to players in the lobby
- - bugfix: Human tails and human ears now save again. Humans now use mam_tail and
- mam_ears for their snowflake bits instead of tg's equivalent, just as they did
- prior to human tail and ear saving breaking
- - bugfix: Disarm pushes no longer deal staminaloss to resting targets
- - bugfix: You can no longer force a hard stamcritted spaceman to stand by clicking
- them with help intent. Get more creative if you want to torture someone that's
- in hard stamcrit.
- - tweak: The revolution gamemode now waits until the 20 minute mark before checking
- for win conditions.
- - balance: You can no longer resist/move out of grabs while you're resting. Disarming
- your way out still works, though.
- - rscadd: Stamina damage now has diminishing returns on people who are in hard staminacrit
- with the addition of a new multiplier. When you take staminaloss while in hard
- staminacrit, you'll be under the effects of the new multiplier, which reduces
- the amount of staminaloss you take from all sources of staminaloss. The diminishing
- returns multiplier will steadily return to 1 once you're out of staminacrit.
- - rscadd: You can now scramble while resting. You can do this by dragging your spaceman
- onto an adjacent turf. This works even if you're in staminacrit, but the timer
- depends entirely on your staminaloss.
- - bugfix: Fully augged cyborg people now heal stamina damage properly.
- - bugfix: Job EXP is now tracked properly for all roles.
- - balance: Nightmares and shadowpeople have had their light threshold for being
- considered in darkness reduced. Nightmares can no longer stand unharmed next
- to a light fixture during a nightshift 100% unharmed. The threshold is high
- enough so that APC lights on their own won't harm a nightmare, but being on
- the edge of a light source will.
- - balance: The detective revolver's .38 bullets are now non-lethal again, but now
- require 3 shots to hard stamcrit
- - rscadd: The current lethal variant of the .38 bullets can still be printed at
- sec protolathes.
- - rscadd: You can now access ghost roles from the latejoin menu.
- - rscadd: Eyeblur now scales depending on how much actual eyeblur you actually have.
- - balance: Ebows now induce 50 drowsiness on whatever they hit.
- - balance: Telepads have been buffed across the board. T1 parts on a launchpad still
- grants you a range of 15 tiles, but T4 parts now grant you a pretty large 60
- tile range (up from their original 18 tile range). Briefcase launchpads were
- also buffed, they now have a range of 20 tiles, up from their previous laughable
- 8 tiles.
- - tweak: The grace period for the revolution win condition check has been reduced
- from 20 minutes to 10 minutes. You don't need to wait nearly as long for the
- round to end if no heads join in.
- - tweak: You can now select plural and neuter as your gender. They're labelled "non-binary"
- and "object" in the character customization menu, respectively.
- - tweak: A lot more light sources now use the same nonbinary colored lighting philosophies
- as flashlights and light fixtures!
- - tweak: Flashlights mounted to guns and helmets now retain the same color and power
- as their original light. Lavaland's caves will reflect a fluorescent blue as
- you shine your KA around, and sec's helmets are now capable of illuminating
- maint in that fancy fluorescent blue.
- - tweak: Cameras now shine a fluorescent blue when lit up by an AI
- - tweak: Glowing goo now actually glows green.
- - tweak: Candles had their power reduced from 1 to 0.8.
- - tweak: Lighters now shine a little further, and are now properly colored.
- - tweak: PDAs now shine an incandescent yellow to match their sprite.
- - tweak: Welding tools now shine an appropriate color
- - tweak: Hardhats now shine an incandescent yellow.
- - tweak: Plasmaman helmets now shine an incandescent yellow.
- - tweak: Microwaves no longer overpower literally every single light in the game,
- instead having a power of 0.9.
- - tweak: Borgs now have incandescent yellow lights to match their sprites
- - tweak: Bots now shine a fluorescent blue light
- - tweak: Airlock light overlays are now on the above lighting layer. This means
- airlock lights can actually be seen in the dark now.
- - bugfix: The mob spawners list no longer leaves null entries behind when a spawner
- has a job description defined. The latejoin menu will no longer show ghost roles
- that are filled, and the spawners menu actually works again.
- - rscadd: The voting system now actually tracks who voted for what. This means it's
- now possible to change your vote, and it's possible to see what you voted for.
- - balance: Using help intent on someone that's in hard stamcrit will now make them
- heal 15 stamloss.
- - tweak: Auto fit viewport is now enabled by default for new players. One less question
- off the FAQ
- - rscadd: The Khajiit favorite, Skooma, was added as a chemistry recipe that can
- be produced with cooperation between chemistry and either cargo or service.
- If you want to spoil the recipe for yourself, take a look at the PR for it!
- - rscadd: When the shuttle leaves for centcom, a vote will be started to select
- the next map instead of the map being randomly chosen via biased voting methods
- - server: If a server operator wishes to re-enable the biased TG preference voting
- system, you can do so by toggling the TGSTYLE_MAPROTATION config flag on in
- the config.txt. Keep in mind that doing so will bring you great misfortune.
- - balance: Cacti in lavaland now have 6u of vitfro instead of just 4u. This lessens
- the gap between cacti and first aid kits, the third rarest and second rarest
- readily available healing methods for ashwalkers, respectively.
- - bugfix: the "genitals use skintone" option now appears in the character appearance
- menu when appropriate again.
- - rscadd: Clicking your stamina bar will now show your exact stamina along with
- info regarding your stamina buffer
- - bugfix: The bug where ghost role spawners leave null entries in glob.mob_spawners
- has actually been fixed
- - bugfix: The Kitchen Gun (TM) is no longer invisible.
- - balance: The majority of cult spells no longer have exclamation marks at the end
- of their invocations. This means they will no longer be bound to the rules of
- shouting. Which means sec officers will no longer be able to hear culties sacrificing
- the captain from the complete opposite side of the maintenance tunnel the sacrifice
- is happening in. However, things like EMP pulses and runeless teleportation
- still have the effect due to their inherent loud nature.
- - balance: The stun blood spell now instantly causes hard stamcrit. However, to
- offset this, it now also only has one charge and has a higher cost.
- - balance: The Gloves of the North Star now restore 2/3 of the stamina used up by
- punches when harm intent punching. With aggressive play and good stamina buffer
- management, this makes it entirely plausible to roughly double your stamina
- regeneration per mob life process tick.
- - balance: Revs can no longer remember the name of the person who flashed them when
- deconverted. This brings it in-line with the other conversion antag deconversions.
- - bugfix: The bug where you can sometimes get permanently stuck in stamcrit should
- HOPEFULLY be fixed. I'm unable to reproduce the bug myself, but let's hope.
- - balance: The night vision trait now grants you darksight for an entire 1:1 screen,
- but the alpha of the lighting plane with the trait has been increased from 245
- to 250 to balance it out
- - bugfix: It's now actually possible to click the stamina hud button
- - bugfix: The stamina hud button now displays your stamina buffer correctly
- - balance: Bone spears now have a reach of 2 tiles.
- - bugfix: You can no longer phase through solid objects via scrambling
- - bugfix: The syndicate mask now works properly as intended.
- - balance: Stamina is no longer affected by health at all.
- - rscadd: You can now right-click yourself in help intent in combat mode to instantly
- get up from resting. This will cost stamina equal to your entire stamina buffer.
- Manage your stamina well, and you'll be able to shrug off a single stray golden
- bolt
- - rscadd: The new player panel now displays your currently selected character's
- name
- - balance: Flashes no longer knockdown. Instead, they deal eyeblur and have increased
- confusion
- - server: The server's tagline is now a config option. People can now stop confusing
- us with BR cit
- - rscadd: Attack animations will now rotate your character slightly, similar to
- Goon.
- - rscadd: Throwing items will now perform the attack animation and play a sound
- - rscadd: flashlights will now make sounds when toggled on/off
- - rscadd: Things in disposals will now emit sounds every single time they hit corners.
- This increases immersion.
- - bugfix: Air alarms now actually emit the proper light color when their status
- is okay.
- - rscadd: Backpacks and other storage items will now jiggle and squish when you
- interact with them, similar to the animations seen on Goon.
- - balance: Mops no longer have a delay on their cleaning, making them an actually
- viable alternative to all of the janitor's other cleaning tools
- - balance: To balance this, mops now take stamina to clean tiles. Standard mops
- take 5 stamina to use, while advanced mops take 2 stamina.
- - tweak: Oh and also mops make fancy new sounds and play animations when used now
- - balance: Pump-action shotguns now take 2 stamina per pump instead of 5 stamina
- per pump. This also applies to bolt-action rifles, as bolt racking counts as
- pumping.
- - tweak: Pickpocketing items will now place them in your hands if possible
- - rscadd: Combat mode is now displayed in examine text
- - rscadd: Combat mode now makes a visible message when enabled if you haven't touched
- your combat mode button in the last ten seconds. It's done this way to avoid
- chat spam from those who know how to pull off stam regen squeezing.
- - balance: All knockdown sources will now force people to be dismounted from ridden
- vehicles.
- - rscadd: When an item is thrown, it will now be rotated and displaced.
- - rscadd: Shards of glass will now be rotated when spawned.
- - rscadd: Bullet casings will now be rotated when they're ejected from a gun.
- - rscadd: Bottles now have random rotations and pixel offsets when smashed via throwing.
- - rscadd: Picking up an item will now reset its rotation.
- - rscadd: Glasses thrown onto tables by bartenders will now have their rotation
- reset.
- - balance: Slime speed potions can now only increase the speed of vehicles to be
- on par with sprinting speed. They can no longer make a scooter roll around ten
- times faster than a speeding blue hedgehog.
- - rscdel: Changelings will no longer recieve team objectives
- - balance: Changelings no longer start off with hivemind communication as an innate
- ability. Hivemind communication now requires 1 dna point, on par with syndicate
- encryption keys, which are 2 TC.
- - code_imp: Hivemind link now relies on hivemind communication just like the hivemind
- download/upload abilities.
- - bugfix: It's now only possible to zoom a gun if it's in one of your hands
- - bugfix: Mobs without clients no longer cause runtimes when their eyeblur updates
- - rscadd: Blood tests have been added. If a changeling has a sufficient number of
- loud abilities, you will be able to test their blood by heating up a sample
- of it. However, if the changeling has a large amount of loud abilities, attempts
- to test their blood will have explosive results.
- - rscadd: Changelings now make a very obvious noise when readapting. This is to
- prevent the cheese strat of simply readapting when you get caught to avoid detection.
- - tweak: The blood splatter effect that happens when you get attacked will now always
- make you lose blood depending on the damage you've taken. The effect now also
- scales with item damage, meaning tiny little papercuts will no longer be able
- to cause a massive blood splatter.
- - rscadd: The blood reagent will now cover items and spacemen in blood when applied
- to objects and mobs.
- - tweak: Helmets, masks, and neck items are all now valid targets to get splattered
- when you get covered in blood. Groovy.
- - tweak: The temperature notification will now take into consideration both the
- ambient temperature and your body temperature, increasing the responsiveness
- of the temperature notification and making it much more realistic.
- - tweak: Shuttle transit borders are now 10 tiles wide instead of 8 tiles, hopefully
- repairing the immersions that get shattered by the ability to see normal space
- where the transit areas end.
- - rscadd: Instead of transit turfs simply teleporting things to space, transit is
- now handled in a somewhat realistic manner. Transit turfs now act like normal
- space turfs, though exiting the transit area or being present in the transit
- area after the shuttle moves out of transit will teleport you to space and throw
- you in the direction the shuttle was moving in.
- - tweak: Reservation areas are now able to designate a border turf.
- - bugfix: The sprint hotkey will no longer cause you to get permanently stuck sprinting
- if the server lags. Just tap shift again if you get stuck
- - rscadd: You can now hear sounds in the real world while inside of a VR sleeper.
- - rscadd: You can now make nameless characters. Nameless characters will spawn in
- with their name set as their job title followed by a unique five digit number.
- The "Name" option in the character setup menu will be replaced with a "Default
- designation" option for nameless characters, and the default designation will
- be used in place of a job title for assistants and other jobs that don't require
- dress codes.
- - admin: The out-of-game round end notification is now a little more verbose. It'll
- now display the round type, end result of the round, and the survival rate.
- - bugfix: Xenos can no longer strip items off of people to be capable of using any
- item in the game.
- - bugfix: also, items from pockets get placed into your hands properly now
- - bugfix: A mob's last words are now properly tracked and recorded on death. The
- first death of the round will now actually display the victim's last words on
- the round end screen.
- - bugfix: Divine shenanigans can no longer result in someone becoming immune to
- staminaloss
- - bugfix: Fixed body_markings in bodyparts being assigned as a list when in reality,
- it's a string and literally everything expects it to be a string and uses it
- as a string. This should mean that markings no longer have completely fucked
- up caches for character preview and other things.
- - tweak: Since apparently the game is literally unplayable if items are not in the
- exact center of a turf, the maximum pixel variance of thrown objects has been
- reduced by four pixels to make things a smidge more clearer for those that dont
- know what a turf is.
- - bugfix: Bartender glasses should HOPEFULLY no longer be tilted when landing on
- a table. Why the fuck is after_throw called via a timer.
- - rscadd: Changeling screeches now have their own unique sounds, and are much easier
- to recognize.
- - rscadd: Most synthetic emotes are now available to humans. *ping
- - rscadd: You can now merp
- - balance: The TEG will now only produce a meaningful amount of power if the hot
- pipe contains gas that's actively combusting
- - admin: Added the "add PB bypass" and "revoke PB bypass" verbs, which allow admins
- to let a specific ckey to bypass the panic bunker for the rest of the round
- - rscadd: Jogging is no longer treated exactly the same as sprinting for water slips.
- When you're jogging, you will only slip on water if you have more than 20% staminaloss.
- - tweak: The atmospherics turf subsystem now has double the wait time, which should
- free up server processing power for other tasks.
- - bugfix: The IRC now actually displays the actual survival rate
- - rscadd: Bloodcult conversions are now consensual. Convertees are given a ten second
- timer to accept or wait out. This should drastically improve the quality of
- those that get converted into bloodcult.
- - rscadd: All sacrifices now count as a third of a cultist for the end-game narsie
- summon.
- - bugfix: Nameless captains will no longer proc a "Captain Captain on deck!" message.
- Instead, it'll be a much more boring but much more sensical "Captain on deck!"
- message.
- - bugfix: Transit turfs on the centcom z-level now function properly again at keeping
- mobs within the areas defined by their boundaries.
- - bugfix: The title screen is also positioned correctly again.
- - tweak: Ghost role eligibility for both event and spawner ghost roles is now affected
- by DNR status. If you suicide, ghost, or cryo out, you will be unable to qualify
- for any ghost roles
- - tweak: Cryo now applies DNR status no matter how long the round has been going
- on
- - tweak: Suicide is now properly admin logged as it is supposed to be. Ghosting
- while alive is now also logged.
- - bugfix: Sparks and igniters will now actually heat areas rather than cooling them,
- as was intended.
- - tweak: To alleviate some potential complaints, RPDs now have a cooldown before
- they can create sparks, and both RPDs and emitters produce less sparks.
- - tweak: Conversion runes will now mute the victim temporarily while they're deciding
- whether to convert or be sacrificed.
- - bugfix: Conversion runes no longer require a third cultist to sacrifice if the
- victim refuses conversion
- - bugfix: Staminaloss targeted at the head now properly redirects to the chest.
- - tweak: Sprinting no longer takes stam when you're being pulled or when you're
- in zero gravity. Other sources of involuntary movement are not affected.
- - code_imp: In an attempt to improve performance during highpop, mouse movements
- will now only call onmousemove() while a user is in combat mode
- - tweak: Ballistic projectiles are now the only projectiles capable of emitting
- dinks.
- - admin: Panic bunker toggling and bypassing is now logged in admin IRC
- - tweak: OOC and LOOC now use separate toggles. You can now use LOOC while OOC is
- globally toggled off, and admins now have the option to toggle LOOC off separately
- from OOC
- - code_imp: also revamped and reorganized relevant looc adminverb code
- - bugfix: The endgame narsie summon rune no longer requires 24 total sacrifices,
- and will now properly account for cultists that surround it
- - tweak: The succumb verb is now available in the IC tab
- - tweak: Lighting now uses a linear algorithm to calculate falloff instead of an
- inverse-square algorithm.
- - code_imp: get_hearers_in_view() now actually caches the results of view() instead
- of calling view() twice
- - code_imp: Goonchat's JS no longer contains checks related to a completely unused
- message filtering function, which should improve clientside performance quite
- a bit
- - rscadd: The storage hud now properly takes into account the viewer's view size,
- meaning storage items with a large amount of storage slots will properly stretch
- across the bottom of the screen when running in widescreen.
- - rscadd: Action buttons are now able to fill the entire screen in widescreen and
- other weird view sizes.
- - rscdel: Omegastation's job changes will no longer be included at compile time.
- - code_imp: The client update portion of /mob/Login() now double-checks to make
- sure client.player_details exists and is of the proper type. This should hopefully
- fix the "cannot read null.player_details" runtimes that can spontaneously cause
- clients to get kicked out and forced back to the lobby.
- - rscadd: You can now quickly use unequipped items on objects by simply click-dragging
- the item onto the object with an empty active hand. Doing so will place the
- item in your hand, and then use that item on the object.
- - code_imp: In an attempt to improve the performance of /mob/Stat(), various time-related
- procs now use defines instead of being procs that call procs that call other
- procs that call even more procs.
- - bugfix: If a living mob has vore initialized but doesnt have voreprefs initialized,
- then client login will force voreprefs to load.
- - bugfix: 'Hopefully fixed paper crash 2: electric boogaloo'
- - refactor: Added unomos, which is basically listmos except gas mixtures only use
- one single list for handling their gasses. This is a significant performance
- improvement that also offers a mild memory improvement under normal circumstances.
- - balance: Locomotion circuits are now restricted to jogging speed
- - balance: MMI circuits and pAI circuits both now have 60 complexity, up from their
- original 29.
- - tweak: Biogenerators now have a sane limit for production
- - bugfix: Fixed a fairly huge server crash exploit
- - bugfix: Shield blobs no longer become completely invulnerable to all forms of
- damage after reaching a """weakened""" state
- - tweak: Taken care of what appeared to have been an oversight where shield blobs
- don't recover their armor after becoming weakened.
- - bugfix: Nerfed concatenators by limiting the amount of characters they're able
- to output
- - tweak: The timer for stripping an item off of a spaceman is no longer interrupted
- by your active held item changing. This means you no longer have to worry about
- filling both of your hands when you're stripping items off of someone.
- - rscadd: Ported the zulie cloak and blackredgold coat donor items from RP.
- - balance: Normal mops now only use 2 stamina to mop a tile, nerfed from their previous
- value of 5 stamina per tile mopped.
- - balance: Advanced mops now only use 1 stamina to mop turfs, from their former
- value of 2 stam.
- - tweak: The femur breaker now uses `*scream` instead of forced speech. This means
- that the femur breaker will no longer spam deadchat with "AAAAAAAAAHHHHHHHHHH!!"
- - tweak: The femur breaker will now guarantee that the victim falls into crit, which
- will make it harder to perform torture scenes with it since the victim can just
- succumb.
- - bugfix: Fixed another runtime in warp whistles.
- - bugfix: Spamming forged packets no longer crashes the server.
- - bugfix: Things that access job_preferences now explicitly access keys, which means
- it no longer attempts to access invalid indices and runtimes as a result.
- - balance: The taser's electrode has been reworked. Instead of being a strong knockdown
- that deals a heavy amount of stamloss, it now causes a weak knockdown, applies
- a debilitating status effect for 5 seconds, and deals 35 stamloss on hit up
- to a maximum 50 total stamloss.
- - balance: Roundstart turrets now have a nonlethal projectile that gets used when
- they're set to stun and the target is resting
- - tweak: Hybrid tasers now have disablers set as their default mode.
- - rscadd: There is now a 1% chance for the station's announcer to be the medibot
- voice instead of the classic TG announcer.
- - rscadd: The map config system has been expanded to allow mappers to specify the
- map type, announcer voice, ingame year, and how often a given map can be voted
- at roundend.
- - bugfix: The map vote system now takes into account map playercount limits properly.
- - bugfix: Examining a spaceman, and other things that use get_examine_string(),
- will now actually properly show when an item is blood-stained.
- - bugfix: Plasmaman tongues no longer have a maxHealth of "alien", and no longer
- cause the organ's on_life to always runtime.
- - bugfix: Shooting a simplemob no longer causes runtimes prior to the blood effect
- being created.
- - bugfix: Removing a filter from an object that lacks filters no longer causes runtimes.
- deathride58 (Original PR by actioninja):
- - rscadd: Disarm pushing (combat mode right click in disarm intent) will now actually
- push mobs away. Knockdowns from disarm pushing are no longer rng based on the
- target's staminaloss. Knockdowns from disarm pushing now only happen when you
- push someone into another mob, a table, or a wall. Pushes will now also temporarily
- stop targets from using firearms, and will disarm the firearm if performed a
- second time. Pushes still deal staminaloss to standing targets, and won't deal
- a single ounce of staminaloss to resting targets.
- - rscdel: You can no longer displace mobs that are in harm intent by simply walking
- into them. Mobs that aren't in help intent have to be disarm pushed to actually
- be moved.
- dtfe3:
- - tweak: Increased music maxlines from 300 to 600
- - tweak: Made it so any oxygen tank can be used instead of only red ones.
- - tweak: Watcher wing Trophy's effect lasts 1 second instead of 0.5
- - rscadd: Pink Panties
- - rscadd: Twintails
- - rscadd: Schoolgirl outfits for the loadout menu!
- - tweak: Now the fox ears are located in front of hair meaning they now behave much
- like cat ears, that being they are on-top of the hair layer.
- izzyinbox:
- - rscadd: adds VoG orgasm command using words "orgasm", "cum", "squirt", "climax"
- - rscadd: adds VoG dab command using words "dab" and "mood"
- - rscadd: Generic dog body marking sprite
- - imageadd: colormatrix dog sprites
- - tweak: lowered the player age for command jobs to 1/3 of their previous setting
- - rscadd: '*bark emote'
- jtgsz:
- - rscadd: ported gang mode
- kappa-sama:
- - rscdel: Removed racism
- - tweak: Teleporter calibration actually matters to all roundstart players
- - balance: Slows down teleportation with the console/hub/teleporter setup if you
- care for your species.
- - balance: Dedicated non-humans can now get hulk without having to become human.
- - bugfix: seed
- - tweak: added obj/item/key to wallet whitelist
- - tweak: blood cult ritual daggers fit in jack/combat boots
- - tweak: voidcells can now unlock alien tech
- - balance: rebalanced tech trees (not really)
- - rscadd: hugbox (/s)
- - tweak: ashwalker spawn text now tells them "i" "c" not to leave lavaland
- - bugfix: you can no longer have infinite ebows
- - bugfix: kevinz forgot to nerf miasma research and cargo value after making it
- produce like 100x as much lmao
- kevinz000:
- - balance: Hierophant now goes sicko mode, but hey, at least you can't be multi-hit
- by melee waves!
- - rscadd: Racking shotguns is now more threatening.
- - balance: Medibots no longer kill slimes when trying to heal their toxins.
- - rscadd: The Syndicate started selling claymores to their agents.
- - balance: Nerfed VTEC modules.
- - bugfix: Neurotoxin no longer stuns non-carbons.
- - rscadd: peacekeeper cyborgs now get a megaphone
- - bugfix: Fixes storage bugs regarding reaching into things you shouldn't be able
- to reach into.
- - code_imp: BYOND 513 preliminary support added.
- - balance: 'Trashbags now only allow accessing the first 3 items. 5 for bluespace
- ones. experimental: Storage now allows for limiting of random access'
- kiwedespars:
- - rscadd: regenerative materia to hallucination sting
- - rscadd: mindbreaker toxin as an actual chemical to hallucination sting
- lolman360:
- - rscadd: NT has authorized shipments or Cotton to Megaseed Servitors. It's time
- to start picking, liggers.
- - imageadd: missing durathread sprites
- - rscadd: Added durathread jumpskirt
- - imageadd: Duraskirt sprites and rolled down jumpsuit sprites.
- - bugfix: Fixes an undocumented change to the naming of Plasmamen.
- - tweak: chainsaw kind of weapons and the mecha drill and the CLAMP can now be used
- with 100% accuracy for surgery
- - refactor: surgery tools now work on defines
- - balance: advanced surgerytools can now switch types instead of just being faster
- - bugfix: fixes bug with new surgerytools examine
- nicc:
- - rscadd: Exo-suit
- - rscadd: SEVA suit
- - rscadd: Flags for Goliath resistance and weakness
- - rscadd: suit voucher
- - rscadd: temp suit sprites
- - rscadd: '*dab'
- - balance: teg less gay maybe
- ninjanomnom and WhoneedSpacee:
- - rscadd: Some rpg affixes now have special effects
- - rscadd: 'New RPGLoot modifiers: Vampirism which heals you when you attack, Pyromantic
- which sets things you hit on fire. Shrapnel which causes projectiles fired from
- a gun to fire projectiles in a radius when they hit something. Finally, Summoning
- which summons mobs that sometimes aid you in combat.'
- original by @randolfthemeh and @twaticus, port by sishen1542:
- - rscadd: jumpskirts
- - rscadd: more jumpskirts
- - rscadd: jumpskirt/suit prefs
- original by Bumtickley00, port by sishen1542:
- - tweak: Suit storage units will now also remove radiation from mobs.
- original by GuyonBroadway, SkowronX, and Arizon5. port by sishen1542 and kerse:
- - rscadd: Clockwork cultists may now summon forth Neovgre, the ratvrarian super
- weapon. This powerful mech can be summoned when applications scripture has been
- unlocked, boasts superior offensive and defensive capabilities, however once
- a pilot enters he cannot leave and is doomed to die with the mech.
- - imageadd: Sexy Sprite work courtesy or SkowronX from /tg/
- - imageadd: brass edits by Arizon5
- - soundadd: steamy laser by kerse
- original by Skoglol, port by sishen1542:
- - balance: Added lots of new virus cures, made cure difficulty scale more consistently.
- Cures are now picked from a list of possible cures per resistance level, multiple
- diseases at the same level no longer always share a cure. Looking at you table
- salt.
- - admin: Dynamic gamemode now more auto-deadmin friendly.
- original by TheChosenEvilOne, port by sishen1542:
- - rscadd: Ported dynamic mode from /vg/, originally made by @DeityLink, @Kurfursten
- and @ShiftyRail
- original by Tlaltecuhtli, port by sishen1542:
- - rscadd: rcd disk that gives rcd computer frame and machine frame designs
- - rscadd: upgraded rcd in CE lockers
- - tweak: moved deconstruction to the upgrade disk, ashwalker rcd comes upgraded
- original by actioninja, port by sishen1542:
- - tweak: Medical and Security consoles now check access on worn or inhand ID instead
- of requiring an inserted ID
- - tweak: mining vendor now reads from ID in hand or on person instead of requiring
- an inserted ID
- - bugfix: ORM is functional again (for real this time)
- - tweak: ORM claim points button transfers points to worn/inhand ID instead of to
- an inserted ID, no longer accepts insertions
- - tweak: Same for gulag consoles
- original by redmoogle, port by sishen1542:
- - rscadd: Added support for 3 new gasses; Tritium, Pluoxium, and BZ
- 'original by: WJohnston, Antur, Arcane, plapatin, sprites by cogwerks and edited by mrdoombringer. port by sishen1542':
- - rscadd: THE GOOSE IS LOOSE
- r4d6:
- - rscadd: Added decoratives angel wings for Mammalians only
- - rscadd: Added blindfolds to the Loadout list
- - rscadd: Added Decorative Wings for Humans, Felinids, Slimepersons and Lizardpeoples.
- - tweak: Change the SEVA suit & Exo-suit's descriptions
- - bugfix: Batteries are now Rad-Proof like the other stock parts
- tigercat2000@Paradise:
- - bugfix: fixed invalid characters breaking chat output for that message
- tinfoil hat wearer:
- - rscadd: Added a new alien technology disk to scientist and roboticist uplinks
- that allows them to research the heavily-guarded secrets of the Grays.
- - tweak: Alientech is now the only Hidden alien research. To compensate for this,
- alien_bio and alien_engi have had their research costs doubled and now require
- advanced surgery tools and experimental tools respectively to research. Their
- export price is also halved.
- - balance: roboticists now have brainwashing disks AND alien technology added to
- their role-restricted uplink section. alien technology gives them brainwashing
- at a much later date, so brainwashing is the much cheaper option for instant
- power. makes logical sense because doctors get it as well because they do surgery,
- and roboticists can now either choose to brainwash people for less price but
- less power or emag borgs for higher prices, limited uses, but higher power.
- ursamedium:
- - imageadd: Gas icons changed.
-2019-12-07:
- AffectedArc07:
- - code_imp: Fixes a LOT of code edge cases
- Anonymous:
- - rscadd: Added NEET-- I mean, DAB Suit and Helmet into loadout. Exclusive to Assistants,
- for obvious reasons, and don't provide any armor. Goes well with balaclava,
- finger-less gloves and jackboots for that true tactic~~f~~ool experience.
- - tweak: Renamed loadout name appropriately (ASSU -> DAB)
- Arturlang:
- - tweak: PDA catridges cant be irradiated anymore.
- Bhijn:
- - code_imp: Item mousedrop() now provides a return value indicating whether or not
- behavior has been overridden somehow.
- - bugfix: Defibs now properly check that their loc is the same as the user for mousedrop()
- calls, meaning ghosts can no longer make you equip defibs. Plus extra sanity
- checks.
- - bugfix: Pet carriers no longer attack turfs while trying to unload their contents.
- - bugfix: Decks of cards now function as they originally intended when attempting
- to use their drag and drop behavior.
- - bugfix: Paper bins and papercutters no longer act wonky when you're trying to
- pull a piece of paper from them.
- - bugfix: Adds clothing drag n drop sanity checks.
- - bugfix: Sythetic hats now have extra sanity checks
- Coconutwarrior97:
- - bugfix: Can only wrench down two transit tubes per turf.
- Commandersand:
- - rscadd: Added more stuff to loadout,check uniforms mask and backpack
- DeltaFire15:
- - rscadd: Adds eight new plushies
- - imageadd: Adds icons for the new plushies and adds a new icon for the skylar plush
- - imagedel: Deleted a old, no-longer used icon for the skylar plush
- - spellcheck: Fixed a typo in the trilby plush
- Fermis:
- - tweak: tweaks botany reagent pHes
- - tweak: Purity, Astral, RNG, MK, SMilk, SDGF, furranium, hatmium, eigen, nanite.
- - bugfix: Eigen and purity.
- - refactor: refactored sleepers!
- - rscadd: Organ fridges to all maps near surgery with a random sensible organ, steralizine
- and synthtissue.
- - tweak: the med hand scanner to be less of a mishmash of random things
- - rscadd: a little icon to the HUD if someone's heart has failed.
- - tweak: Lets neurine's brain splash attack work via syringe.
- - rscadd: a new surgery; Emergency Cardioversion Induction for use on the recently
- deceased
- - tweak: Synthtissue to be less demanding on growth size for organ regeneration
- and improves clarify of it's growth gated effects.
- - tweak: Synthtissue now is more useful than synthflesh on the dead
- Fox McCloud:
- - bugfix: Fixes a very longstanding LINDA bug where turfs adjacent to a hotspot
- would be less prone to igniting
- Fox McCloud, Ghommie:
- - bugfix: Fixes being able to mech-punch other mobs, as a pacifist
- - bugfix: Fixes being able to hurt people, as a pacifist, by throwing them into
- a wall or other mob, or by using most martial arts (save for the unpredictable
- psychotic brawl, and the stamina-damage-only boxing).
- - balance: Buffs boxing to outdamage natural stamina regeneration. Made the chance
- of outright missing your opponent actually possible.
- - tweak: Pacifists can now engage in the (laughably not harmful) sweet sweet art
- of boxing now.
- Ghommie:
- - bugfix: Fixing implant cases being lost inside implant pads when trying to eject
- them with your active hand full.
- - tweak: Moved the implant pad's case ejection from attack_hand() to AltClick(),
- added examination infos about it.
- - bugfix: Fixed holodeck sleepers leaving sleeper buffers behind when deleted.
- - bugfix: Fixed traitor codewords highlight and some other hear signal hooks spans
- highlight (phobias, split personality, hypnosis) or modifiers (mind echo)
- - bugfix: Fixed traitor codewords highlight not passing down with the mind datum
- and stickying to the first mob.
- - spellcheck: Fixed the incongruent bone satchel description.
- - bugfix: Fixed sofa overlays doing nothing, because their layer wasn't properly
- set.
- - tweak: Suicide and cryo now prevents ghost/midround roles for a definite duration
- of 30 minutes (and more if that was done before 30 minutes in the game passed),
- down from the rest of the round.
- - bugfix: fixed several midround roles bypassing and nulling the aforementioned
- prevention measures.
- - bugfix: Fixed the little issue of PDA skins not updating on job equip.
- - tweak: Anomaly Crystals of the clowning type will now rename the victim to their
- clown name preference when triggered, instead of giving them a random clown
- name.
- - balance: Lowered blob event earliest start from 1 hour to 40 minutes (ergo one
- third), and the required player population from 40 to 35.
- - bugfix: Several fixes and QoL for dullahans. They can see and hear visible and
- audible messages now, don't need a space helmet they can't wear anyway to be
- space/temperature proof, can examine things through shiftclick, and, most of
- all, fixed their head being unpickable. Fixed dullahans gibbing when revived
- or had their limbs regenerated.
- - bugfix: humans should now drop gibs when gibbed again.
- - rscadd: synths (not to be confused with IPCs), android and corporate species,
- as well as robotic simple mobs, will now spawn robotic giblets instead of organic
- ones.
- - bugfix: You can't wear dakimakuras in any other inappropriate slots save for the
- back slot anymore, degenerates.
- - bugfix: Insert snarky remark about clock welders actually displaying the welder
- flame overlay when turned on now here.
- - balance: Minor ninja tweaks and stealth nerfs. The stealth penalty for the many
- combat-related actions, bumping and now teleporting/dashing or firing guns has
- been increased a by a third. There is now a cooldown of 5 seconds on toggling
- stealth as well as a slighty slowed stealth in/out animation.
- - imageadd: Ported slighty better matchbox sprites from CEV-Eris, also resprited
- cigar boxes myself.
- - bugfix: Fixed abductors/abductees objectives by porting an objective code.
- - bugfix: Riding component fix
- - bugfix: fixing a few runtimes on lightgeists, libido trait, rcd, one admin transformation
- topic, chem dispensers, glowing robotic eyes...
- - imageadd: Porting CEV-eris delivery packages sprites and dunking the old syndie
- cybernetics box sprite.
- - bugfix: Certain objects shouldn't be able to become radioactive because of a bitflag
- that previously was checked nowhere in the code anymore.
- - rscadd: Added a new PDA reskin, sprites from CEV-Eris
- - rscadd: Clock cult starts with some spare vitality matrix charge scaled of the
- number of starter servants.
- - balance: Made the vitality matrix sigil slighty more visible, also allowed conversion
- runes to heal fresh converts at the cost of some vitality charge.
- - bugfix: 'Crawling won''t save you from the wrath of ocular wardens and pressure
- sensors anymore, heretics. fix: Pressure sensors are no more triggered by floating/flying
- mobs.'
- - bugfix: Strawberry milk and tea have sprites now.
- - bugfix: Fixed the Aux base camera door settings and toggle window type actions.
- Also enabling the user to modify both door access and type.
- - imageadd: Improved the two grayscale towel item sprites a little.
- - bugfix: Fixed towels onmob suit overlays. Again.
- - spellcheck: Fixed some reagents taste descriptions.
- - bugfix: Fixed hidden random event reports only priting a paper message without
- sending the message to the consoles' message list.
- - bugfix: Rosary beads prayer now works on non-carbon mobs too, and won't break
- when performed on a monkey or other humanoids.
- - tweak: You can flagellate people with rosary beads on harm intent. It's even mediocrer
- than the sord though.
- - tweak: Moved the `Stealth and Camouflage Items` uplink category next to `Devices
- and Tools`.
- - bugfix: Deleted a duplicate phatom thief mask entry from the uplink.
- - bugfix: Fixed missing delivery packages sprites
- - bugfix: fixed a few minor issues with console frames building.
- - bugfix: Wizards can use the teleport spell from their den once again.
- - tweak: Wizards will now receive feedback messages when attempting to cast teleport
- or use the warp whistle while in a no-teleport area.
- - rscadd: New clockwork cultist, gondola, monkey and securitron cardboard cutouts.
- - bugfix: Fixed aliens gasping randomly once in a while.
- - bugfix: fixed superlube waterflower, my bad.
- - bugfix: Fixed closing the aux base construction RCD's door access settings window
- throwing you out of camera mode when closed.
- - rscdel: Removed not functional aux base RCD's door type menu. Use airlock painters,
- maybe.
- - rscadd: Honkbot oil spills are of the slippery kind now. Honk.
- - imageadd: local code scavenger finds forgotten slighty improved apc sprites left
- buried in old dusty folders.
- - bugfix: Seven old and otherwordly pAI holochassis icons have crawled their way
- out of the modular citadel catacombs.
- - bugfix: chem dispenser beakers end up in your hand yet again.
- - bugfix: Bikehorns squeak yet again, the world is safe.
- - bugfix: Cyborgs can now actually use cameras from a distance.
- - bugfix: Suicides are yet again painful and instant and won't throw people in deep
- crit from full health.
- - bugfix: fixed rogue pixels on the energy gu- ahem blaster carbine... and a few
- apc lights states being neigh-indistinguishable.
- - bugfix: Fixed several "behind" layer tail sprites skipping areas normally covered
- by bodyparts.
- - bugfix: Morgues' original alert beeping sound has been restored, they no longer
- go "ammunition depleted"
- - bugfix: Fixed missing hypereutactic left inhand sprites.
- - bugfix: Dying, ghosting, having your mind / ckey transferred to another mob, going
- softcrit or otherwise unconscious now properly turn off combat mode.
- - bugfix: combat mode can't be toggled on while non fully conscious anymore.
- - bugfix: Fixed limbs' set_disabled NOT dropping your held items, updating your
- hand slot inventory screen image, prompting chat messages and making your character
- scream like a sissy.
- - bugfix: Lusty xenomoprh maids will now actually clean tiles they travel onto yet
- again.
- - bugfix: Fixed double whitespace gap in human and AI examine. Fixed single whitespace
- in carbon examine.
- - rscdel: 'Removed a few useless supply packs: "Siezed" power cells, means of production
- and promiscous organs.'
- - tweak: Merged the synthetic blood supply pack into the standard blood supply pack,
- effectively removing a random type blood pack in favor of two synthetic ones.
- - tweak: "Merged together premium carpet pack n\xB01 and n\xB02 to hold one of each\
- \ standard pattern."
- - tweak: You can no longer estimate the amount of reagents found inside a damp rag.
- - tweak: You can now squeeze a rag's reagents into another open container, as long
- as the other one is not full.
- - bugfix: Fixed ED-209 being unbuildable past the welding step.
- - bugfix: Fixed ai displays status being reset to "Neutral" on login, regardless
- of choice.
- - bugfix: Fixed tinfoil hats giving random traumas.
- Ghommie (original PR by Denton):
- - rscadd: Added three new .38 ammo types. TRAC bullets, which embed a tracking implant
- inside the target's body. The implant only lasts for five minutes and doesn't
- work as a teleport beacon. Hot Shot bullets set targets on fire; Iceblox bullets
- drastically lower the target's body temperature. They are available after researching
- the Subdermal Implants node (TRAC) or Exotic Ammunition node (Hot Shot/Iceblox).
- - tweak: Renamed the Technological Shells research node to Exotic Ammunition.
- - code_imp: The "lifespan_postmortem" var now determines how long tracking implants
- work after death.
- - rscadd: .357 AP speedloaders can now be ordered from syndicate uplinks.
- - balance: lowered the cost of uplink's .357 speedloaderd from 4 to 3.
- Ghommie (original PR by nicbn and Menshin):
- - bugfix: You can click on things that are under flaps or holo barriers.
- Ghommie (original PRs by ShizCalev, CRTXBacon and Niknakflak):
- - rscadd: Adds the intelliLantern, a big ol' spooky intelliCard skin
- - rscadd: crafting recipe for the new intelliCard skin (requires 1 pumpkin, 1 intelliCard,
- 5 cables and a wirecutter as a tool)
- - tweak: changed the intelliTater crafting recipe to match the intelliLantern recipe
- (but with a potato for obvious reasons) add:cute pai gameboy face :3
- Ghommie, porting lot of PRs by MrDoomBringer, AnturK, nemvar and coiax.:
- - admin: Admins can now launch supplypods the old, slightly quicker way as well
- - bugfix: Centcom-launched supplypods will now properly delimb you (if they are
- designated to do so) instead of touching you then literally yeeting all of your
- internal organs out of your body.
- - admin: Centcom can now specify if they want to yeet all of your organs out of
- your body with a supplypod
- - soundadd: Supplypods sound a bit nicer as the land now.
- - admin: admins can now adjust the animation duration for centcom-launched supplypods
- - admin: admins can adjust any sounds that are played as the supplypod lands
- - bugfix: Reverse-Supplypods (the admin-launched ones) no longer stay behind after
- rising up, and also auto-delete from centcom.
- - admin: The centcom podlauncher now has better logging
- - tweak: Admins can now allow ghosts to follow the delivery of Centcom-launched
- supply pods
- - admin: Admins can now use the Centcom Podlauncher to launch things without the
- things looking like they're being sent inside a pod.
- - admin: sparks will not generate if the quietLanding effect is on, for the centcom
- podlauncher
- - admin: makes input text clearer for the centcom podlauncher
- - admin: New 'Podspawn' verb, which functions like 'Spawn', except any atoms movable
- spawned will be dropped in via a no-damage, no-explosion Centcom supply pod.
- - bugfix: Removed an oversight that made many obj/effect subtypes accidentally bombproof.
- GrayRachnid:
- - rscadd: Added saboteur syndicate engiborg
- - tweak: changed cyborg tool icons and the secborg taser/laser icons.
- - bugfix: Fixes golden toolbox missing inhand sprite
- - rscadd: Added traumas
- - rscadd: Added science powergame tool
- - tweak: a few hearing args
- - bugfix: fixed my mistakes
- - tweak: tweaked the number of ingredients/pancakes you can stack.
- Hatterhat:
- - tweak: The Big Red Button now sets bomb timers to 2 seconds, instead of 5.
- - tweak: Gloves of the North Star (not Hugs of the North Star) now use all their
- intents very, very fast. This does not apply to grabs' click cooldown, nor shoving
- people.
- - rscadd: The seedvault/alien plant DNA manipulator can now be printed off with
- Alien Biotechnology.
- Iroquois-Pliskin:
- - rscdel: Removed Clockwork Cult Surgical facility from Reebe
- Jerry Derpington, baldest of the balds, and nemvar.:
- - rscdel: Nanotrasen has lost communication to two away mission sites that contained
- a beach for Nanotrasen employees.
- - rscadd: Nanotrasen has been able to locate a new away mission site that ALSO has
- a beach. Nanotrasen employees will be able to enjoy the beach after all!
- - rscadd: Seashells have been added to the game.
- KathrinBailey:
- - rscadd: Two extra 'luxury' dorms rooms!
- - rscadd: Gas miners to atmos.
- - rscadd: Posters around the station.
- - rscadd: Vacant room added to the Starboard Bow with it's own APC, above electrical
- maintenance.
- - rscadd: New trendy clothes to the locker room, giving variety and bringing fashion
- back onto Nanotrasen stations.
- - rscadd: Coloured bedsheet and towel bin.
- - rscadd: Maid uniforms for the janitor.
- - tweak: Completely reworked bar. Milk kegs added in bar office. The bar has been
- changed for a homey restaurant feel just in time for Christmas! You can now
- run it as an actual restaurant! Local Bartender Icktsie III loved it so much
- he rolled around on the new floor smiling happily.
- - tweak: Dorms rework. Fitness room now has lots of costumes and outfits.
- - tweak: Junk removed from engineering, welding goggles added.
- - tweak: Welding tools in engineering replaced with industrial welding tools.
- - tweak: Package wrappers and hand labellers now in major departments.
- - tweak: Cell charger moved from engineering lobby to the protolathe room, just
- like how it is in all of the other maps and just where the cell charger is actually
- needed.
- - tweak: Library redesigned to have a private room and a 3x3 private study that
- is cleaned up.
- - tweak: Paper bins have gone big or gone home, with premium stationery scattered
- around. Engineering and security now have a labeller and packaging supplies.
- - bugfix: Dark spot top left of Botany fixed.
- - bugfix: Huge galactic-sized dark spot in bar fixed.
- - bugfix: Light replacers now are less horrifically overpowered and PTSD-inducing
- for the server.
- - bugfix: 'Fixes issue 9706: https://github.com/Citadel-Station-13/Citadel-Station-13/issues/9706
- Part of maint getting hit by radstorms.
-
- _Kathrin''s Box Beautification:_'
- - rscadd: Ports TG's pews https://github.com/tgstation/tgstation/pull/42712
- - rscadd: The first step of a corporate incursion of Space IKEA into Nanotrasen.
- Kevinz000, Cruix, MrStonedOne, Denton, Kmc2000, Anturk, MrDoomBringer, Dennok, TheChosenEvilOne, Ghommie:
- - rscadd: Added support for Multi-Z power, atmospherics and disposals
- - bugfix: 'massive service department nerf: space can no longer be extra crispy.'
- Knouli:
- - rscadd: attack_self proc for the legion core which triggers a self-heal al la
- the previous 'afterattack' proc, as if clicking on the character's own sprite
- to self-heal
- - rscadd: admin logging for all three use cases of legion core healing - afterattack,
- attack_self, and implanted ui_action_click
- Krysonism, Ghommie:
- - rscadd: NT has made breakthroughs in ice cream science, ice creams can now be
- flavoured with any reagent!
- - tweak: The ice cream vat now accepts beakers.
- - bugfix: Grape and Peach icecreams have scoop overlays yet again.
- Linzolle:
- - code_imp: butchering component update
- - tweak: hat tossing can no longer knock hats off
- - bugfix: strange reagent being unable to revive simplemobs
- - rscadd: jitter animation and more clear text to strange reagent revival
- Mickyy5:
- - rscadd: Nanotrasen are now issuing Plasmamen with plasma in their survival boxes
- MrJWhit:
- - tweak: tweaked brain damage line
- Naksu, ShizCalev:
- - refactor: Refactored examine-code
- - bugfix: Examining a human with a burned prosthetic limb will no longer tell you
- that the limb is blistered.
- - tweak: Items will now inform you if they are resistant to frost, fire, acid, and
- lava when examined.
- Owai-Seek:
- - rscadd: '"silly" bounties'
- - rscadd: '"gardenchef" bounties'
- - rscdel: several bounties that require seriously good RNG to pull off.
- - tweak: moved several chef and assistant bounties to silly and gardenchef
- - balance: modified several bounty point rewards
- - server: added new files "silly.dm" and "gardenchef.dm"
- - rscadd: 15+ new crates for cargo
- - tweak: organizes crates and moving them to proper categories
- - rscdel: some dumb stuff like toner crates re
- - rscadd: leg wraps and sweaters to clothesmate
- - rscadd: screwdriver and cable coil to janidrobe
- - rscadd: screwdriver and cable coil to janibelt whitelist (for fixing/placing light
- fixtures)
- - rscadd: monkey cube, syringe, enzyme, soy sauce, and cryoxadone to chef's vendor
- (contraband and premium)
- - rscadd: add cracker, beans, honey bars, lollipops, chocolate coin, and spider
- lollipop to snack vendors (contraband and premium)
- - rscadd: newspaper to loadout menu for bapping purposes
- - rscdel: removed poppy pretzels from snack vendor premium
- - rscadd: maid uniform (janimaid alt) to kinkmate.
- - tweak: moves gear harness from premium to normal stock in kinkmate
- - balance: re-balanced metal shield bounty
- - rscadd: cryoxadone bottle (for use in chef vendor)
- PersianXerxes:
- - tweak: Reduces the grace period for meteors from a minimum of 5 and maximum of
- 10 to 3 and 6 minutes respectively.
- - rscadd: Adds a pair of VR sleepers to Box Station's permabrig
- - rscadd: Adds a pair of VR sleepers to Delta Station's permabrig
- - rscadd: Adds a pair of VR sleepers to Pubby Station's permabrig
- - rscadd: Adds a pair of VR sleepers to Meta Station's permabrig
- Putnam:
- - bugfix: From-ghosts dynamic rulesets now actually listen to "required candidates"
- - bugfix: Every dynamic-triggered event is now blacklisted from being triggered
- by the random events system when dynamic can trigger them.
- - rscadd: Dynamic voting now features extended, if recent rounds have been chaotic.
- - tweak: Roundstart rulesets now scale on population ready rather than total population.
- - bugfix: Threat log now accurately represents what actually used the threat.
- - tweak: Verbose threat log (admin-only) now shows ALL threat level changes.
- - bugfix: VR mobs can no longer be dynamic midround antags.
- - bugfix: Personal closets can use anything that holds an ID card now.
- Putnam3145:
- - bugfix: traitors work now
- - balance: Gas filters now push gas the same way volume pumps do.
- - balance: Gas filters now won't clog if only one output is clogged.
- - tweak: Glowsticks can no longer be radioactively contaminated (one more supermatter
- contam exploit gone)
- - bugfix: traitor removal is no longer borked
- - rscadd: Dynamic voting
- - config: Added DYNAMIC_VOTING to game_options
- - tweak: SDGF now copies memories as well as antag data and factions.
- - bugfix: Summon events now properly costs threat.
- - bugfix: Refunded spells refund threat, too.
- - refactor: Made wizard spells inherently have a requirement and cost.
- - tweak: Meteor wave is no longer repeatable in dynamic.
- - tweak: tweaked nuke ops
- - bugfix: Organs can no longer be radioactively contaminated.
- Robustin, Subject217:
- - balance: The NukeOp Shuttle hull has been dramatically hardened. The walls are
- now "R-Walls" with far greater explosion resistance.
- - balance: The NukeOp Shuttle guns have been significantly buffed. They now rapidly
- fire a new type of penetrator round, at a greater range, and have far greater
- explosion resistance.
- - balance: The nuclear device on the NukeOp Shuttle is now in an anchored state
- by default, the Nuke can only be unanchored by inserting the disk and entering
- the proper code.
- - balance: Non-Syndicate cyborgs are now unable to access the NukeOp Shuttle Console.
- - bugfix: You can now unanchor Nukes even when the floor under them has been destroyed
- Seris02:
- - rscadd: added sleeping carp hallucination
- - rscadd: Centcom + Assistant's formal winter coat + loadout + narsian + ratvarian
- winter coats
- - rscadd: GPS location on examine
- - bugfix: fixed the meteor hallucination
- - tweak: tweaked the way the tapered penis looks
- - rscadd: Added nine winter coats
- - imageadd: added images for the winter coats
- - tweak: adds the mining winter coat to mining wardrobes and mining lockers
- ShizCalev:
- - tweak: Ghosts can now see active AI cameras.
- - bugfix: Fixed a couple of laser / energy guns never switching to the empty icon
- despite being unable to fire.
- Swindly:
- - bugfix: Fixed MMIs not being able to use mecha equipment
- - bugfix: Fixed MMIs not getting mecha mouse pointers
- - bugfix: Fixed MMIs not getting medical HUDs in Odysseuses
- - tweak: Brains can now switch to harm intent
- Tetr4:
- - bugfix: Turning a tile with gas effects into space now gets rid of the effects.
- Trilbyspaceclone:
- - rscadd: plastic trash cart crafting with plastic
- - rscadd: wallets are known for now holding more items
- - tweak: shades and clowns HP
- - rscadd: six more crates, A barrel, A Loom, 40 cotton sheets, two sets of fruit
- crates, raw lumber crate
- - rscadd: All fermi chems, Boozes, Medical, food chems now sell
- - rscadd: Loads more to sell - Mech gear, Cooking and more!
- - tweak: Moved around the vaule of some things and removed elastic of most items
- - balance: Rebreather implants will now loss vaule, Do to being just metal and glass
- - balance: lowered how many chems are in lewd chem kegs to be around 150-100 as
- well as the fancy booze kegs
- - bugfix: bad returns and tools used
- - rscadd: 8 new cargo crates!
- - tweak: tablet cargo crate by -3k
- - admin: Closes a bunch of issues
- - server: updates changlogs and such
- - bugfix: fixed a catnip not having sprites
- - balance: Boh cant hold WEIGHT_CLASS_GIGANTIC, just Bulky. Makes katana, chainsaw
- and base ball bat into bulky items so they may fit
- - server: changes header to be more cit-like
- - rscadd: new clothing for the hotel staff and a hat
- Ty-the-Smonk:
- - bugfix: You can now interact with self sustaining crossbreeds
- Useroth:
- - rscadd: Colored fairygrass variants.
- - bugfix: Added a missing cherrybulb seedpack sprite
- - bugfix: numbered storages now are sorted in a consistent way, instead of depending
- on ordering of their contents var
- - rscadd: strange seeds as a buyable traitor botanist item
- - bugfix: resolves the issues revolving around blackpowder exploding where the reaction
- happened, instead of where it actually is through making it explode instantly
- - tweak: the explosion delay moved from blackpowder directly into bomb cherries,
- to keep them functioning as intended
- - rscadd: A bunch of newer tg plants
- - rscadd: A bunch of newer tg plant traits
- - rscadd: A couple of newer tg plant reagents
- - bugfix: the new plants now properly get their reagents and reagent genes instead
- of being empty with UNKNOWN reagents listed in the DNA machine
- - rscadd: extradimensional oranges now contain haloperidol
- - bugfix: extradimensional oranges now actually grow properly and give proper seeds.
- Weblure:
- - rscadd: Button added to slime console that prints out the hotkey commands to the
- user. [Includes DMI update]
- - rscadd: Shift-click a slime to pick it up, or the floor to drop all held slimes.
- (Requires Basic Slime Console upgrade)
- - rscadd: Ctrl-click a slime to scan it.
- - rscadd: Alt-click a slime to feed it a potion. (Requires Advanced Slime Console
- upgrade)
- - rscadd: Ctrl-click on a dead monkey to recycle it, or the floor to place a new
- monkey. (Requires Monkey Console upgrade)
- - rscadd: If the console does not have the required upgrade, an error message will
- print to the user.
- - rscadd: You can now pick up a single slime from a pile, instead of all of them
- at once.
- - tweak: When recycling monkeys, the console will now report how many monkeys it
- has (will not report decimal increases).
- - tweak: Console now alerts you when you're out of monkeys and reports your current
- decimal amount.
- - tweak: Console messages are now styled consistently.
- XDTM, ShizCalev, Naksu, Skoglol, cacogen, Rohesie (ported by Ghommie):
- - tweak: Holding an ID in your hands uses it instead of your worn ID for authentication
- purposes.
- - tweak: If you don't have an ID in your id slot, the belt slot will be checked
- as well.
- - code_imp: small cleanup to id and bounty console html generation
- - tweak: Hop console now hurts your eyes less. Red button text replaced with green.
- - tweak: IDs with ID console access now go into the Confirm Identity slot by default
- like they used to, similarly IDs without it go into the Target slot by default
- again
- - rscadd: Can easily swap out IDs by clicking the machine or the UI fields with
- another ID
- - rscadd: ID console now names which IDs are added/removed in its visible messages
- - rscadd: Labels the ID slot fields when logged in so you know which is which
- - tweak: Can use Job Management without an ID provided the console is logged in
- (matches how the console now stays logged in even without an ID)
- - tweak: Can log in without an ID in the Target field (matches how the machine now
- stays logged in even after the ID is removed from the Target field)
- - tweak: Cleans up UI slightly (had some duplicate/conflicting buttons)
- - bugfix: Fixes ID console duping issues. Includes some ID containers, such as PDAs,
- tablets and wallets, into the swapping behavior when an ID card is being removed
- and the item is being held.
- Xantholne:
- - rscadd: New Berets for most heads and departments available in their autodrobes
- or lockers
- YakumoChen:
- - imageadd: New AI Holograms and Displays! Ported from /vg/station.
- actioninja:
- - bugfix: med records no longer can eat id cards for no reason
- - bugfix: Chat is properly sent to legacy window if goonchat fails to load again.
- dapnee:
- - bugfix: fixed closet initialisation being broken
- - rscdel: emergency closets no longer have a 1% chance to delete themselves
- - bugfix: Communications console window no longer updates, won't steal focus anymore.
- - bugfix: Trimline neutral end exists now.
- dzahlus:
- - soundadd: added a new gun sounds
- - sounddel: removed an old gun sounds
- him:
- - bugfix: hos and aeg guns now conform to le epic taser rework standards
- kappa-sama:
- - tweak: changed flavor text of alien tech on uplink
- - imageadd: added TG's icons for traitor, russian, and golden revolver
- kevinz000:
- - rscadd: you can now choose never for this round for magical antags
- - rscadd: Cargo has passive point generation again at 750 points/minute
- - balance: Mindshield crate price increased from 3000 to 4000
- - balance: Miasma sell price reduced from 15/mol to 4/mol
- - balance: bluespace wizard apprentice now has blink instead of targeted area teleportation
- - balance: Emagged medibots now charcoal toxinlovers.
- - balance: disablers buffed 0.7 --> 0.6 speed 24 --> 28 damage
- - balance: kinetic crushers no longer drop if you try to use it with one hand
- - config: added multi_keyed_list, delimiter defaults to |.
- - balance: Light pink extracts no longer speed you up. Instead, they give stamina
- regeneration and free sprinting.
- kiwedespars:
- - rscdel: removed moth fluff coloring you like your wings
- - balance: made insect not so bad.
- nemvar:
- - bugfix: You now get a message if your PDA explodes while you are holding it.
- - tweak: The lavaland clown ruin has some new pranks ready.
- - rscadd: Added a new loot item to the lavaland clown ruin.
- - rscdel: Removed the slime core from said ruin.
- - balance: The clown PDA now properly slips people on jogging move intent regardless
- of fatigue. Honkmother's will.
- nemvar, ShizCalev, Qustinnus/Floyd, Ghommie:
- - rscadd: You can now unfasten the loom.
- - tweak: it now takes 4 strands to make one piece of durathread cloth
- - bugfix: Looms can now be attacked.
- - rscadd: Durathread golem weaves his magic
- - tweak: Supply ordered looms are unanchored. Bring a wrench.
- r4d6:
- - rscadd: Added Departements Winter Coats to the loadout list.
-2019-12-30:
- AnturK:
- - bugfix: Fixed ranged syndicate mobs stormtrooper training.
- Arturlang:
- - rscadd: Adds Bloodsuckers, beware.
- BlueWildrose:
- - bugfix: Fixed stargazers being unable to link to themselves if mindshielded or
- if holding psionic shielding devices (tinfoil hats) when the species is set.
- - bugfix: Fixes non-roundstart slimes being unable to wag their tail.
- Commandersand:
- - tweak: added two words to clown filter
- - rscadd: Added new things to loadouts, check em
- DeltaFire15:
- - balance: Clock cult kindle no longer cares about oxygen damage
- - tweak: changed mecha internals access for some special mechs.
- - tweak: no more mech maintenance access for engineers.
- - tweak: All heads of staff can now message CC
- - code_imp: Removes a magicnumber
- - balance: Rebalanced cult vs cult stun effects to debuff instead of stun
- Detective-Google:
- - bugfix: short hair 80's is no longer jank
- Fermis:
- - tweak: tweaked how super bases/acids work but limiting them
- Fikou:
- - tweak: the windup toolbox now has some more "realistic" sounds
- - bugfix: the windup toolbox now rumbles again
- Ghommie:
- - bugfix: Fixed hulks, sleeping carp users, pacifists and people with chunky fingers
- being able to unrestrictly use gun and pneumatic cannon circuit assemblies.
- - bugfix: Fixed gun circuit assemblies being only usable by human mobs.
- - balance: Doubled the locomotion circuit external cooldown, thus halving the movable
- assemblies' movespeed.
- - tweak: Made wooden cabinet/closets... actually made of wood.
- - tweak: Wooden cabinets are now deconstructable with a screwdriver.
- - tweak: Deconstruction of large crates and other closet subtypes deconstructable
- with tools other than the welder is no longer instant.
- - tweak: You shouldn't be able to target objects you can't see (excluding darkness)
- with the ARCD and RLD
- - tweak: The admin RCD is ranged too, just like the ARCD.
- - bugfix: Fixed welding, thirteen loko, welding and wraith spectacles not blinding
- people as expected. Thank you all whomst reported this issue in the suggestions
- box channel instead of the github repository's issues section, very smart!
- - bugfix: Fixed on_mob eyes overlays not updating properly in certain cases.
- - bugfix: Fixed deconversion from bloodshot eyes blood cult resetting your eyes'
- color to pitch black instead of their previous color, more or less.
- - balance: 'Spinfusor nerf: Upped the casing and ammo box size by one step, removed
- the projectile''s dismemberment value (explosions can still rip a limb or two
- off), halved the ammo box capacity, reduced the spinfusor ammo supply pack contents
- from 32 to 8, removed the casing''s ability to explode when thrown.'
- - bugfix: Fixes bubblegum's death not unlocking the arena shuttle buyment.
- - bugfix: Fixed alien tech node not being unlockable with subtypes of the accepted
- items.
- - bugfix: Fixed reactive armor onmob overlays not updating when toggled and reactive
- teleport armor still using forceMove() instead of do_teleport()
- - bugfix: Fixed space hermit asteroid rocks unintendedly spawning airless asteroid
- turf when mined, save for the perimeter.
- - bugfix: Fixes reviver implant having been a crapshot ever since soft-crit was
- introduced years ago.
- - tweak: Added a "convalescence" time (about 15 seconds) after the user is out of
- unconsciousbess/crit to ensure they are properly stabilized.
- - tweak: Added a 15 minutes hardcap for accumulated revive cooldown (equivalent
- to 150 points of brute or burn healed) above which the implant starts cooling
- down regardless of user's conditions.
- - bugfix: Fixed AI core displays I may have broken with my coding extravaganza.
- - soundadd: Blue, Amber and Red security alert sounds should be half as loud now.
- - balance: Buffed clown ops by removing their clumsiness and adding a new trait
- to be used in place of several clown role checks.
- - tweak: Clown ops too also suffer from not holding or wearing clown shoes now.
- - bugfix: Fixed a few holo barriers lacking transparency.
- - bugfix: Fixed character setup preview bodyparts not displaying correctly most
- of times.
- - bugfix: Fixed character appearance preview displaying the mannequin in job attire
- instead of undergarments.
- - bugfix: Fixed raven's shuttle computer not being of the emergency shuttle type.
- - tweak: Blood bank generators can now be anchored and unanchored now.
- - admin: Ghost mentors can now orbit around the target instead of setting their
- view to theirs'.
- - bugfix: Fixes a ghostchat eavesdropping exploit concerning VR.
- - bugfix: Fixes VR deaths being broadcasted in deadchat.
- - bugfix: Fixed a few pill bottle issues with the ChemMaster.
- - bugfix: Fixes a few negative quirks not being properly removed when deleted.
- - tweak: Phobia and mute quirks are no longer cheesed by brain surgery grade healing
- or medicines.
- - bugfix: Fixed double-flavour (and bland custom) ice creams.
- - bugfix: Fixed Pubbystation's wall Nanomeds being inconsistent with other stations'.
- - bugfix: dextrous simplemobs can now swap action intent with 1, 2, 3, 4 now. Just
- like humies, ayys and monkys.
- - bugfix: Stops humanoids whose skin_tone variable is set to "albino" from showing
- up as pale when examined should their species not use skintones anyway.
- - rscdel: Removed the old (almost) unused roboticist encryption key and headset.
- - bugfix: Fixed goose meat.
- - bugfix: Fixed a little door assembly glass dupe exploit
- - bugfix: Fixed AI holopad speech text being small and whispers that in multiple
- exclamation marks echo through multiple areas.
- - rscdel: Removed literally atrocious polka dotted accessories. They were even more
- atrocious than the yellow horrible tie.
- Ghommie (also porting PRs by AnturK and Arkatos):
- - bugfix: Fixed light eaters not burning out borg lamplights and flashes. fix Fixed
- light eater not affecting open turfs emitting lights such as light tiles and
- fairy grass.
- - bugfix: Fixed an empty reference about light eater armblade disintegration after
- Heart of Darkness removal.
- Ghommie, Skogol:
- - refactor: refactored altclick interaction to allow alt-click interactable objects
- to parent call without forcing the turf contents stat menu open.
- - tweak: Alt clicking will no longer show turf contents for items inside bags etc.
- - tweak: Alt clicking the source of your turf contents stat menu will now close
- said menu.
- GrayRachnid:
- - bugfix: fixes consistency
- Hatterhat:
- - rscadd: Regenerative nanites, a "chemical" used in the combat stimulant injector.
- Actually quite stimulating, and not bad in a pinch for a nuclear operative.
- Check the Combat Medic Kit!
- - tweak: The Combat Medic Kit now has an advanced health analyzer and medisprays
- instead of patches and a chloral syringe.
- - balance: The Advanced Syndicate Surgery Duffelbag or whatever it was doesn't get
- the better injector, because nobody uses it and so nobody's bothered to update
- it.
- - rscadd: .357 speedloaders can now be printed with the Advanced Illegal Ballistics
- node on the tech tree!
- - balance: okay so i may have given the .357 an extra speedloader at the same cost
- but it comes in a box now
- ItzGabby:
- - bugfix: Fixed AltClick on polychromic collars so they actually work now.
- KeRSedChaplain:
- - soundadd: Extends the file "deltakalaxon.ogg" to a 38 second .ogg.
- Linzolle:
- - rscadd: neck slice. harm intent someone's head while they are unconscious or in
- a neck grab to make them bleed uncontrollably.
- - bugfix: officer's sabre now properly makes the unsheating and resheating noise
- - bugfix: fireman failure has a different message depending on the circumstance
- - rscadd: Abductor chem dispenser, and added it to the abductor console.
- - rscadd: '"Superlingual matrix" to the abductor console. It''s the abductor''s
- tongue. Can be used to link it to your abductor communication channel and then
- implanted into a test subject.'
- - rscadd: Shrink ray and added it to the abductor console.
- - soundadd: Shrink ray sound effect (its the fucking mega man death sound)
- - rscadd: special jumpsuit for abductors
- - imageadd: abductor jumpsuit, including digi version if a digitigrade person somehow
- manages to get their hands on it. sprites for the shrink ray and chem dispenser.
- - rscadd: new glands to play with, including the all-access gland, the quantum gland,
- and the blood type randomiser.
- - code_imp: split every gland into its own file instead of all being in one file
- - tweak: cosmic coat crafting recipe changed to coat + cosmic bedsheet
- Mickyan, nemvar, RaveRadbury, AnturK, SpaceManiac:
- - bugfix: Certain incompatible quirks can no longer be taken together.
- - bugfix: If an admin sends a ghost back to the lobby, they can now choose a different
- set of quirks.
- - spellcheck: the quirk menu went through some minor formatting changes.
- - bugfix: Podcloning now lets you keep your quirks.
- - rscadd: Quirks have flavor text in medical records.
- - spellcheck: All quirk medical records refer to "Patient", removing a few instances
- of "Subject".
- - tweak: Quirks no longer apply to off-station roundstart antagonists.
- - code_imp: Mood quirks are now only processed by the quirk holders
- Narcissisko (ported by Hatterhat):
- - rscadd: Luxury Bar Capsule, at 10,000 points. Comes with no medical supplies,
- a bar, and a bunch of cigars. Ported from tgstation/tgstation#45547.
- Nervere and subject217, Militaires, py01, nemvar:
- - balance: The cook's CQC now only works when in the kitchen or the kitchen backroom.
- - spellcheck: corrected CQC help instructions
- - bugfix: CQC and Sleeping Carp are properly logged.
- - tweak: CQC can passively grab targets when not on grab intent. Passive grabs do
- not count towards combos for CQC or Sleeping carp.
- - code_imp: Martial Art and NOGUN cleanup.
- PersianXerxes:
- - rscdel: Removed night vision quirk
- Putnam:
- - bugfix: acute hepatic pharmacokinesis now works if you already have relevant genitals
- - balance: Contamination is no longer an infinitely spreading deadly contagion causing
- mass panic
- - tweak: Dynamic rulesets have lower weight if a round recently featured them (except
- traitor).
- Putnam3145:
- - balance: Buffed HE pipes by making them realistically radiate away heat.
- - bugfix: Dynamic has a (totally unused for any relevant purpose) roundstart report
- now.
- - admin: A whole bunch of dynamic data is now available for statbus
- - bugfix: Dynamic from-ghost antags no longer double dip on threat refunds when
- the mode fails due to not enough applications.
- - bugfix: whoops broke quirks
- - bugfix: quirks work
- - rscadd: 'New tab in preferences screen: "ERP preferences"'
- - rscadd: New opt-outs for individual effects of incubus draught, succubus milk
- - rscdel: Acute hepatic pharmacokinesis has been removed, replaced with above
- - tweak: Renamed "Toggle Lewdchem" to "Toggle Lewd MKUltra", since that's what it
- actually means, and made it toggle the "hypno" setting (rename it again if more
- hypno mechanics are added).
- - tweak: Made MKUltra's lewd messages require both people involved to have hypno
- opted-in.
- - config: Buncha dynamic config tweaks
- - bugfix: Ghost cafe spawns are actual ghost roles by the game's reckoning now
- - bugfix: a runtime in radioactive contamination
- - balance: Bomb armor now acts like other armor types.
- - balance: Devastation-level explosions on armorless people no longer destroys everything
- in their bags.
- Seris02:
- - rscadd: the clowns headset
- - bugfix: distance checks
- - bugfix: the sprites
- - rscadd: added the runed and brass winter coats (cosmetic ratvarian/narsian)
- - tweak: how the narsian/ratvarian coats can be made
- - bugfix: fixes some ghost roles from dying of stupid shit
- - bugfix: pandoras attacking their owners
- - rscadd: Added Rising Bass and the shifting scroll.
- - tweak: Changes the martial arts scroll in the uplink to "Sleeping Carp Scroll"
- ShizCalev:
- - bugfix: Fixed floodlights not turning off properly when they're underpowered.
- - bugfix: Fixed emitters not changing icons properly when they're underpowered.
- Sishen1542:
- - rscadd: Clicking a pack of seeds with a pen allows you to set the plant's name,
- description and the pack of seeds' description. Useful for differentiating genetically
- modified plants. These changes will persist through different generations of
- the plant.
- - rscadd: Hydroponics trays update their name and description to reflect the plant
- inside them. They revert to default when emptied.
- Toriate:
- - rscadd: Polychromic shorts now have a digitigrade state
- Trilbyspaceclone:
- - rscadd: ports all the new donuts, burgars, and chicken stuff from RG
- - rscadd: ports new snowcone
- - rscadd: ports grill
- - rscadd: ports beakfeast tag/mood lit as TG has it
- - rscadd: ports all the amazing new sprites
- - tweak: ports crafting for many things like snowcones needing water
- - balance: ports of many craftings
- - soundadd: lowers fryers sound
- - imageadd: ported icons for new food/grill
- - imagedel: ports the deletion of some icons and images
- - spellcheck: ports a spell check for the snowcones
- - code_imp: ports fixes for stuff I didnt know were even broken with snowcones
- - bugfix: coder cat failers to push the last commit from year(s) ago
- - admin: Updates the changlogs
- - tweak: meat hook from HUGE to bulky
- - tweak: CE hardsuit is now more rad-proof
- - bugfix: Wrong icon names, missing dog fashion with telegram hat
- - rscadd: New softdrink that comes in its own vender!
- - rscadd: Honey now has a reaction with plants
- - tweak: Buzz fuzz now only has a 5% to give honey and will now give 1u of sugar
- not 2
- - rscadd: Blaster shotguns back into armory
- - rscdel: Removed Lighters in thunderdomes
- - rscadd: Silicons now know what a slime is saying!
- - balance: honey now will not kill slimes. Honey slimepeople can be a thing now,
- go sci.
- - rscadd: Added insulin into many of the borg hypo's
- Useroth:
- - rscadd: bamboo which can be used to build punji sticks/ blowguns available as
- a sugarcane mutation or in exotic seed crate
- - tweak: changed the sugar cane growth stages because fuck if I know why, but it
- was in the PR
- - rscadd: 'New lavaland ruin: Pulsating tumor'
- - rscadd: New class of lavaland mobs, a bit weaker than megafauna but still stronger
- than most of what you normally see
- - rscadd: Ghost cafe spawner. For letting people spawn as their own character in
- the ninja holding facility. It bypasses the usual check, so people who have
- suicided/ghosted/cryod may use it.
- - rscadd: Dorms in the ninja holding facility.
- Xantholne:
- - rscadd: Santa Hats to Loadout and Clothesmate
- - rscadd: Christmas Wintercoats to Loadout and Clothesmate
- - rscadd: Christmas male and female uniforms to loadout and Clothesmate
- - rscadd: Red, Green, and Traditional Santa boots to loadout and Clothesmate
- - rscadd: Christmas Socks, Red candycane socks, Green candycane socks to sock selection
- kappa-sama:
- - balance: legion drops more crates now
- - balance: .357 speedloaders in autolathes are now individual bullets instead, speedloaders
- are now illegal tech, costs less total metal to make 7 bullets than a previous
- speedloader. 7.62mm bullets in autolathe when hacked and costs more metal to
- make 5 7.62mm bullets than getting a clip from the seclathe.
- - tweak: mentions that you can refill speedloaders on .357 uplink description
- - bugfix: you can now strip people while aggrograbbing or higher
- - rscadd: plasmafist to wizard
- - code_imp: modular is gone
- - rscadd: martial apprentices for the local Chinese wizard
- - bugfix: broodmother baby lag
- - balance: you can no longer get 100k credits by spending 4k roundstart
- - balance: cooking oil in sunflowers instead of corn oil
- - bugfix: throats are no longer slit happy
- keronshb:
- - rscadd: Adds reflector blobs to shield blob upgrades
- kevinz000:
- - rscadd: Launchpads can now take number inputs for offsets rather than just buttons.
- - balance: nanites no longer spread through air blocking objects
- - rscadd: Night vision readded as a darkness dampening effect rather than darksight.
- - rscdel: conveyors can only stack items on tiles to 150 now.
- - rscadd: added 8 character save slots
- - rscadd: Cargo shuttle now silently ignores slaughter demons/revenants instead
- of being blocked even while they are jaunted. A drawback is that manifested
- ones can't block it either, any more.
- - balance: flashbangs process light/sound separately and uses viewers(), so xray
- users beware.
- - tweak: Stat() slowed down for anti-lag measures.
- - bugfix: sprint/stamina huds now work again
- - balance: Combat defibs now instant stun on disarm rather than 1 second again
- - balance: Defibs are now always emagged when emagged with an emag rather than EMP.
- - bugfix: aooc toggling now only broadcasts to antagonists
- - code_imp: Antag rep proc is now easier to read and supports returning a list.
- - balance: Clockwork marauders are now on a configured summon cooldown if being
- summoned on station. They also rapidly bleed health while in or next to space.
- And they glow brighter.
- lolman360:
- - rscadd: Added ability to pick up certain simplemobs.
- nemvar:
- - bugfix: The brains of roundstart borgs no longer decay.
- - code_imp: Refactored the visibility of reagents for mobs.
- nicbn, Kevinz000, ShizCalev:
- - tweak: Fire alarm is now simpler. Touch it to activate, touch it to deactivate.
- When activated, it will blink inconsistently if it is emagged.
- - bugfix: You can no longer spam fire alarms. Also, they're logged again.
- - bugfix: Fixed fire alarms not updating icons properly after being emagged and
- hacked by Malf AI's.
- r4d6:
- - rscadd: Added a N2O pressure tank
- - rscdel: Removed a AM Shielding from the crate
- - rscadd: Added Handshakes
- - rscadd: Added Nose booping
- - rscadd: Added submaps for the SM, Tesla and Singulo
- - rscadd: Added a placeholder on Boxstation for the Engines
- - bugfix: fixed Nose boops not triggering
- shellspeed1:
- - rscadd: Adds Insect markings
- - rscadd: Adds three new moth wings.
-2020-01-27:
- 4dplanner, CRITAWAKETS, XDTM, ninjanomnom:
- - rscadd: sepia slime extract has a delay before activating
- - balance: the user of a sepia slime extract is no longer immune to the time field
- - balance: chilling sepia is now the support extract - it always freezes the user,
- but not other marked people. give one to your golem!
- - rscadd: burning sepia spawns the rewind camera. Take a selfie with someone and
- give it to them to make sure they remember the moment forever! You don't actually
- need to give them the photo, they'll remember anyway. Keep it as a reminder.
- - rscadd: rewinding (deja vu) effect resets your location to the turf you were on
- after 10 seconds as well as resetting limbs/mobs/objects damage to the point
- it was added.
- - rscadd: The deja vu effect cannot resurrect the dead, but will heal their corpse.
- New limbs fall off, old ones re-attach
- - rscadd: 'Regenerative sepia cores add a deja vu effect before healing instead
- of a timestop remove: timefreeze camera is admin spawn only.'
- - rscadd: recurring sepia recalls to the hand of the last person to touch it after
- activating. Reusable timestop grenades!
- - tweak: some special cameras don't prompt for customisation
- - bugfix: timefreeze camera actually makes a photo
- - bugfix: timestop stops pathing and mechs.
- - bugfix: adds a check to make sure simple_animals don't get their AI toggled while
- sentient
- - bugfix: Adds the timestop overlay to frozen projectiles
- - bugfix: Timestopped things have INFINITY move_resist as opposed to being anchored
- - bugfix: Timestop will now unfreeze things that somehow leave it
- - bugfix: mobs in the middle of a walk_to will have their walk stopped by timestop
- - bugfix: mobs that are stunned will be stopped mid walk as well
- - bugfix: pulling respects changes in move_force
- - bugfix: swapping places respects move_force if the participant is not willing
- - bugfix: timestop is properly defeated by antimagic.
- - bugfix: timestop only checks antimagic once
- - tweak: Time stop now applies its visual effect on floors, walls and static structures
- (with no change otherwise)
- - tweak: Movable structures are now anchored while time stopped.
- - tweak: Timestop effects now prevent speech.
- AffectedArc07:
- - code_imp: All code files are now in the LF line format, please stick to it
- - tweak: Added CI step to check for CRLF files
- - code_imp: Line ending CI works now
- Arkatos, Zxaber, Ghommie:
- - rscadd: Certain AI abilities now dynamically show their remaining uses on the
- mouse hover over their respective action buttons.
- - bugfix: Malfunctioning AIs can no longer abuse the confirmation popup to create
- extra (unstoppable) doomsdays.
- - bugfix: Fixed AIs being able to use some of their abilities such as the doomsday
- whilst dead, and the doomsday loading phase not halting upon AI death.
- Arturlang:
- - tweak: Vampires are no longer as tanky
- - rscadd: Added modular computers to the loadout
- Bhijn:
- - rscadd: Limbs now regenerate their stamina faster while disabled
- - rscadd: Limbs now have the same incoming stamina damage multiplier mechanics as
- spacemen, where the more staminaloss they take while disabled, the less staminaloss
- they'll take.
- - balance: Limbs have had their base stamina regen rate doubled to match the doubled
- stamina regen rate of standard spacemen.
- - rscadd: Added a preference to make the sprint hotkey be a toggle instead of a
- hold bind
- - rscadd: Added a preference to bind the sprint hotkey to space instead of shift.
- - bugfix: server_hop can no longer be used to remotely lobotomize a spaceman
- Bhijn helped:
- - bugfix: Fixes Dragon's Tooth Sword 50% armor penetration by making it 35%
- BonniePandora:
- - admin: 'Added another SDQL option. Using "UPDATE selectors SET #null=value" will
- now resolve value and discard the return. This is useful if you only care about
- the side effect of a proc.'
- CameronWoof:
- - rscadd: Ghost Cafe patrons now spawn with chameleon kits. Dress up! Be fancy!
- - rscadd: Robots can now check the crew manifest from anywhere with the "View Crew
- Manifest" verb.
- - tweak: Lizard tails are now viable options for humans and anthromorphs.
- Commandersand:
- - bugfix: fixed some clothnig sprites
- - balance: lightning bolt,tesla,forcewall,emp spells have lower cooldown
- - balance: fireball has a 10 second starting cooldown
- DeltaFire15:
- - bugfix: Vitality matrixes now correctly succ slimes
- Denton, ported by Hatterhat:
- - tweak: Most upgradeable machines now show their upgrade status when examined while
- standing right next to them.
- - tweak: Added examine messages to teleporter stations that hint at their multitool/wirecutter
- interactions.
- - tweak: Renamed teleporter stations from station to teleporter station.
- - code_imp: Changed the teleporter hub accurate var to accuracy; the old name misled
- people into thinking that it was a boolean.
- Detective-Google:
- - tweak: replaced the sprites with new ones requested.
- EmeraldSundisk:
- - rscadd: Adds a sign outside MetaStation's custodial closet
- FantasticFwoosh, ported by Hatterhat:
- - rscadd: Both reagent universal enzyme & sacks of flour are now available for their
- respective costs from the biogenerator.
- - rscadd: New crafting recipies for donut boxes, eggboxes & candle boxes have been
- added to cardboard recipes for the collective benefit of service personnel and
- the station.
- Ghommie:
- - tweak: Attached kevlar/soft/plastic padding accessories are now stealthier and
- will no longer be displayed on mob examine.
- - refactor: Refactored that mess of a code for alternate worn clothing sprites for
- digitigrade and taurs.
- - bugfix: Fixed some issues with the aforementioned feature you may or may not have
- experienced because it was pretty lame.
- - bugfix: Fixed missing digi versions fishnet sprites and wrong digitigrade left
- dir purple stockings sprite.
- - imageadd: Add digitigrade versions for boxers and the long johns.
- - bugfix: Fixed the secret sauce recipe being randomized every round.
- - bugfix: Fixed singularity pulls duping rods out of engine floors.
- - rscdel: Removed an old pair of zipties from the captain closet.
- - bugfix: Chestbursters won't delete the host's brain somewhat anymore.
- - bugfix: Fixed roundstart mushpeople being unable to MUSH PUUUUUUUUUUUUNCH!!
- - bugfix: Lattices can be examined yet again.
- - bugfix: Made reagent containers examine text less annoying.
- - bugfix: Virus food dispensers dispense virus food again.
- - bugfix: Borg hypos inputs do not display typepaths anymore.
- - bugfix: Restored chem dispensers alphabetical order.
- - bugfix: Sanitized cargo export messages for reagents.
- - bugfix: Riot foam dart (not the ammo box) design cost is yet again consistent
- with the result's material amount.
- - bugfix: Fixed a little exploit with ventcrawlers being capable of escaping closed
- turfs by printing scrubbers/vents into them.
- - bugfix: deconstructing a rubber toolbox with the destructive analyzer won't "lock"
- the machine anymore.
- - bugfix: Something about empty hand combat mode right click waving hands defying
- common sense and being spammy.
- - imageadd: Towels are now "digitigrade-friendly".
- - bugfix: The Barefoot drink and mousetraps will now work even if wearing certain
- "feet-less shoes".
- - rscadd: Refactored code to allow all living mobs to use shields and not only humans.
- - tweak: Monkys will now retaliate against aliens attacking them (as if they even
- posed a threat to start with).
- - tweak: add a click cooldown to the overly spammable table slamming.
- Ghommie (original PRs by Kevinz000, ShivCalez, 4dplanner, Barhandar, 81Denton, zxaber, Fox-McCloud):
- - rscadd: All atom movables now have move force and move resist, and pull force
- An atom can only pull another atom if its pull force is stronger than that atom's
- move resist
- - rscadd: 'Mobs with a higher move force than an atom''s move resist will automatically
- try to force the atom out of its way. This might not always work, depending
- on how snowflakey code is. experimental: As of right now, everything has a move
- force and resist of 100, and a pull force of 101. Things take (resist - force)
- damage when bumped into experimental: Failing to move onto a tile will now still
- bump up your last move timer. However, successfully pushing something out of
- your way will result in you automatically moving into where it was.'
- - bugfix: Bolted AIs can no longer be teleported by launchpads.
- - balance: Megafauna cannot teleport
- Hatterhat:
- - balance: Beakers are generally more useful now, with slight capacity increases.
- - tweak: Transfer amounts are different now. Adjust your muscle memory to compensate.
- - balance: ore redemption machines actually get affected by lasers again kthx
- - tweak: crusher trophy drop chance on mining mobs increased to 1 in 4 (from 1 in
- 20)
- - bugfix: Blood-drunk buff from blood-drunk eye crusher trophy is less likely to
- cripple its user.
- - tweak: Forcefield projectors now fit on toolbelts.
- - imageadd: New sprites for ATMOS holofan and forcefield projectors!
- - tweak: tweaks some values around with beaker transfer amounts, adds a transfer
- value verb (altclick)
- - rscadd: 'Syndicate sleepers (read: the ones that''re red and have controls in
- them) can now be recreated with a sufficient basis in nonstandard (read: illegal)
- technologies!'
- - bugfix: Explorer hoods on standard explorer suits can be reinforced with goliath
- hide plates again.
- - rscadd: A shipment of Staff Assistant jumpsuits from the Goon-operated stations
- appear to have made their way into your loadout selections - and into the contraband
- list from ClothesMates...
- - balance: Dropped Exo-suit armor to put it more in line with being an explorer
- suit sidegrade and not a straight upgrade for Lavaland usage.
- - rscadd: You can now print .357 AP speedloaders from Security techfabs after you
- pick up the Advanced Non-Standard Ballistics node.
- - rscdel: Forensic scanner removed from Advanced Biotechnology node.
- - tweak: Ash Drake armor now has goliath resistance, same as the Exo-suit.
- KathrinBailey:
- - rscadd: Empty engineering lockers for mappers.
- - rscadd: Industrial welding tools to the engineer welding locker.
- - rscdel: Removed the multitool, airlock painter, mechanical toolbox, brown sneakers,
- hazard vest and airlock painter from the CE's locker.
- KeRSedChaplain:
- - imageadd: The clockwork cuirass can now support slithering taur bodies.
- Kevinz000:
- - bugfix: Fixes successful projectile hits also striking another atom on the same
- turf should the first one be not the target the projectile was meant for.
- - rscdel: Removes infinite reflector loops.
- Kraseo:
- - bugfix: Jelly donuts and pink jelly donuts will now properly display sprinkled
- icon state.
- - bugfix: Jelly donuts and its variants will properly spawn with berry juice.
- - bugfix: Slime jelly donuts have slime jelly in them now. (thanks ghommie)
- - bugfix: Virgo hairstyles no longer have those annoying quotation marks. Rejoice
- for you will no longer have to use the scrollbar.
- - imagedel: Got rid of some strange-looking hairstyles. (Tbob, fingerweave, etc.)
- LetterN:
- - rscadd: Doppler logs
- - tweak: Shockcolar and electropack uses the new signaler ui
- - tweak: Renaming shockcolar requires a pen
- - rscadd: Adds banjo
- Linzolle:
- - bugfix: fixes matchboxes runtiming every time they spawn
- MrJWhit:
- - tweak: Increases plasma usage in radiation collectors
- Naksu:
- - code_imp: reagent IDs have been removed in favor using reagent typepaths where
- applicable
- - bugfix: mechas, borg hyposprays etc no longer display internal reagent ids to
- the player
- Owai-Seek:
- - rscadd: Four New Bounties
- - tweak: tweaked several bounties
- - tweak: reorganised several bounties
- - balance: balanced several bounties
- - bugfix: added shady jims to vendor
- - rscadd: Towel, Bedsheet, and Colored bedsheet bins to Dojo. Some lockers with
- carpets and wood, another bathroom/shower, tons of cleaning supplies, some additional
- trash cans, a tiny medical area, and some vendors/vendor resupplies. Also added
- some Ambrosia Gaia seeds.
- - tweak: Moved some lights around, extended the dojo a bit to make it feel more
- spacious.
- - rscdel: Cafe Newsfeed Frame
- PersianXerxes:
- - tweak: Reduces the range of the forcefield projector from 7 tiles to 2 tiles.
- Putnam:
- - rscadd: Alcohol intolerance trait, which forces vomiting on any alcohol ingestion
- - rscdel: Arousal damage is gone, and with it the arousal damage heart on the UI.
- - rscdel: As exhibitionist relied on arousal damage, that's gone too.
- - rscdel: Bonermeter and electronic stimulation circuit modules are gone.
- - rscdel: Masturbation is no longer an option in the climax menu. It was identical
- to climax alone in every way but text. Emote it out.
- - rscadd: Arousal on genitals can now be displayed manually, on a case-by-case basis.
- - rscadd: '"Climax alone" and "climax with partner" now only display to the people
- directly involved in the interaction. rework: Catnip tea, catnip, crocin, hexacrocin,
- camphor, hexacamphor all had functions or bits of functions reworked.'
- - tweak: '"Climax with partner" now requires consent from both parties--it can no
- longer be used on mindless mobs, and it asks the mob getting climaxed with if
- they consent first.'
- - tweak: A lot of MKUltra behaviors have been moved to hypno checks or removed due
- to reliance on maso/nympho/exhib.
- - rscadd: Cold-blooded quirk
- - rscadd: 'Two relief valves for atmospherics, available in your RPD today: a unary
- one that opens to air and a binary one that connects two pipenets, like a manual
- valve.'
- - tweak: The atmos waste outlet injector on box has been replaced with an atmos
- waste relief valve.
- Putnam3145:
- - rscadd: Dynamic storytellers, a new voting paradigm for dynamic
- - rscadd: Support for approval voting and condorcet (ranked choice) voting in server
- votes
- - rscadd: Ghost cafe mobs can now ghostize
- - rscadd: Ghost cafe now has a cremator
- - rscadd: Ghost cafe mobs are now eligible for ghost roles
- - refactor: Ghost roles now use an element for eligibility purposes
- - bugfix: You can toggle some prefs properly now.
- - bugfix: no ass slap is no longer the same thing as no aphro
- - balance: Devastating bombs kills bomb armor'd mobs again
- - rscadd: Added a sort of "game mode ban" by way of having people rank their game
- modes favorite to least favorite after the secret/extended vote.
- - bugfix: Turns out the schulze scoring was written wrong and it was setting things
- to 0 that shouldn't have been, so that's fixed.
- - config: Random engines are now weighted.
- - rscadd: Ghost dojo now has an autoylathe.
- - rscdel: Ghost dojo no longer has VR or modular computer access.
- - tweak: Ghost dojo mobs are pacifists.
- - tweak: Ghost dojo booze-o-mat is now all access.
- - bugfix: Ghost dojo crematorium now has a button.
- - bugfix: Traitor objectives don't take a dump when they try to add an assassinate
- anymore
- - admin: Objective removal with antag panel no longer commented out silently while
- still being an option that gives useful feedback on stuff it's not doing in
- any respect
- - rscadd: Second, temporary flavor text!
- - bugfix: Limb damage works now
- - tweak: Score instead of ranked choice for mode tiers
- - bugfix: Chemistry not :b:roke
- - tweak: Ghost dojo spawns will dust if their owner suicides or uses the "ghost"
- verb.
- - admin: Crafting is logged in a file now
- - bugfix: temporary flavor text now pops up properly
- - code_imp: demodularized player panel code, mostly
- - admin: added ghost role eligibility delay removal to player panel
- - balance: Metabolic synthesis disables if user isn't well-fed rather than if user
- is starving
- - bugfix: Gibtonite no longer instantly explodes upon being pickaxe'd.
- - balance: Cold-blooded costs -2 quirk points now
- - config: Added suicide to the config.
- - tweak: Ghost cafe mobs are super duper attached to the ghost cafe.
- - bugfix: Meow Mix bar sign works
- - bugfix: Fixed a few relief valve behaviors
- Ryll/Shaps, ported by Hatterhat:
- - rscadd: Point-blanking people with shotguns actually throws them backwards!
- Savotta:
- - rscadd: snout
- - imageadd: snout
- Seris02:
- - tweak: made it so trait blacklisting removes random positives instead of removing
- everything
- - rscadd: added atmos holofirelocks and temperature blocking
- - tweak: tweaked how atmos holofan looks
- - rscadd: stunglasses
- - rscadd: disabler sechuds
- - rscadd: adds coconut
- - rscadd: adds a coconut bong
- - rscadd: Auto ooc
- - admin: changed "assume direct control" from m.ckey = src.ckey to adminmob.transfer_ckey(M)
- so it works with auto ooc
- - rscadd: marshmallow
- - rscadd: telescopic IV drip
- - bugfix: cardboard box speed
- - tweak: makes gorilla shuttle emag only
- - tweak: changed where the observe verb is.
- - tweak: the way chameleon clothes update on change
- - bugfix: chameleon cloak icon
- - balance: Explosions now cause knockdown instead of KOs, with the amount of time
- scaling off bomb armor. Heavy explosions still cause a ~2 second KO for follow
- up attacks.
- - balance: Devastating explosions now no longer gib players with more than 50 bomb
- armor. This used to be more or less random depending on the amount of bomb armor.
- - code_imp: Removed reagent explosion code that would trigger for <1 amount reactions.
- - rscadd: traitor tool for bowmanizing headsets + bowmanizing headsets
- - rscadd: durathread winter coats from hyper station
- - tweak: conveyor belt now are stacks instead of single item
- - tweak: conveyor crate has 30 belts
- - tweak: printing a conveyor costs 3000 metal
- - rscadd: you can press the conveyor switch in hand to link any not deployed belts
- to it
- - tweak: sniffing sneezing etc doing anything if they don't breathe
- - bugfix: probably fixes the make mentor button
- - tweak: the sprites for the conveyor belts to look more directional
- Skoglol:
- - bugfix: Falsewalls now properly hide pipes and wires.
- SpaceManiac, bobbahbrown, ShizCalev, SpaceManiac (ported by Ghommie):
- - code_imp: It is now possible to set a different most-base-turf per z-level.
- - spellcheck: Removed unlawful reference to Disney's Star Wars franchise in map
- logging.
- - tweak: Moved mapping related errors to their own log file.
- - bugfix: Destruction on Lavaland will no longer reveal space in rare situations.
- Tlaltecuhtli, Nemvar, Trilby, Hatterhat:
- - rscadd: russian surplus crate, sec ammo crate, meat/veggie/fruit crate, rped crate,
- bomb suit crate, bio suit crate, parrot crate, chem crate, db crate
- - tweak: lowered price of some crates which are overpriced for no reason aka the
- tablet crate and the mech circuits crates, track implant crate has also track
- .38 ammo
- - bugfix: sectech vendor has a refill pack
- Trilbyspaceclone:
- - bugfix: Fermi plushie can be made once again
- - tweak: range on Engi Tray scanners and Rad-Scanners
- - bugfix: issues with mapping done my Trilby
- - rscadd: Grass now makes light beer when distilled
- - tweak: allows bandoliers to hold any ammo type as long as it has a casing
- - server: Cleans out the last years of changlogs
- - bugfix: 'rouge cases of #$39; in bottle/pill/patch/condiments'
- - tweak: Adds missing but needed flags to MASON RIG
- - bugfix: missing sprites with crushed cans
- - tweak: Halfs the nutriments in sugar
- - rscadd: Glitter is now makeable with ground plastic and some crayons
- - code_imp: Makes more folders and files for uplink.
- - rscadd: Seed packs now have RnD points inside them
- - rscadd: New tips that reflect the now use seed packs have for Rnd / Chems affect
- on plants
- - code_imp: Made the research file look nice rather then an eye harming list
- - bugfix: Fixed fragile space suits breaking from weak and non-damaging "weapons"
- (such as the Sord, toys and foam darts).
- - rscadd: 'tip of the round: Cleanbot can withstand lava and burning hot ash. Its
- a god'
- - rscadd: more glassware
- - rscadd: Few new packs and glassmaker kit!
- - tweak: prices/chems of crates/autobottler
- - bugfix: some crates ungettable as well as some broken crates
- Trilbyspaceclone, Ghommie:
- - rscadd: More types of glass can now be used to make a solar panel, with different
- sturdiness and efficiency depending the type.
- Tupinambis:
- - tweak: Replaces new fire alarms with a slightly updated version of the old ones.
- - bugfix: Fixed bug where Amber alert had no proper alert lights, and red alert
- had amber lights.
- - balance: RLDs now cost more to use, have reduced matter capacity, and sheets are
- worth less when refilling them.
- Unit2E & JMoldy, ported by Hatterhat:
- - balance: the powerfist now punches people away at high velocity depending on setting.
- - rscadd: the powerfist now leaks the gas it uses onto the tile you're on.
- - tweak: Adds weak punch variations for empty and near-empty punching.
- Xantholne:
- - bugfix: Christmas clothes that where missing stuff should work again
- - tweak: Christmas clothes moved from clothesmate and loadout to premium autodrobe,
- hoodies and boots remain.
- - rscadd: Botany bee pet, Bumbles
- - rscadd: New bee models that aren't 1 tile big of 0 opacity pixels
- - rscadd: Cheongsam and Qipao clothing added to loadout and clothesmates
- dapnee:
- - imageadd: new toxin's uniform and accessories
- - imagedel: old toxin's uniform and accessories
- deathride58:
- - balance: The stamina buffer no longer uses stamina while recharging.
- jakeramsay007:
- - rscadd: The assorted .357 revolvers (except russian revolver) can now also load
- .38, like real life.
- kappa-sama:
- - rscadd: loot crates in cargo contraband
- - code_imp: modular_citadel file movement
- - code_imp: modular citadel loses some files
- - balance: dragnet snares can now be removed in 5 seconds
- keronshb:
- - rscadd: Adds new features for nanites
- - bugfix: fixed the missing icons from Dermal Button nanites
- - rscadd: Ports the special nanite remote, mood programs, and research generating
- nanites
- - balance: rebalances some nanites
- - bugfix: fixed my messup
- kevinz000:
- - rscadd: throwing things no longer makes them randomly turned as long as you aren't
- on harm intent
- - rscadd: Custom holoforms have been added for pAIs and AIs. oh and cyborg holograms
- of specific modules too.
- - balance: pais are no longer indestructible-flagged while in card form. pai radios
- now short out if they are forcefully collapsed from damage.
- - bugfix: telescopic iv drips now have the proper sanity checks for deployment.
- - bugfix: megafauna can hear again
- - balance: Cargo passive gen is now 500 down from 750.
- - config: Added a few more nightshift config entries
- - rscadd: nightshift_public_area variable in areas to determine how public an area
- is.
- - rscadd: NIGHT_SHIFT_PUBLIC_AREAS_ONLY config entry allows the server to be configured
- to only nightshift areas of that level and below (so areas that are more public)
- - rscadd: Config entries added for requiring authorizations to toggle nightshift.
- Defaults to only requiring on public areas as determined by above
- - balance: nuclear fist buffed.
- - balance: cogscarabs are now fulltile-hitbox.
- - balance: emitters are now hitscan
- - balance: monkies gorrilize easier now
- - rscadd: Ghosting no longer stops abductors from using you.
- - rscadd: guests can now looc
- - tweak: tableslamming has 0.4 second cooldown instead of 0.8
- - bugfix: health analyzers now work
- - code_imp: Mapping helpers added for power cables and atmos pipes.
- - rscdel: Blood duplication is gone, but viruses now react up to 5 times, 1 time
- per unit, for virus mix.
- - rscadd: you can now block people on your PDA
- - bugfix: Grenades can now have their timers adjusted.
- - balance: Cloning has been nerfed.
- - bugfix: hilbert hotel is now less of an exploity mess
- - balance: Doorcrushes are once again instant.
- nik707:
- - tweak: engraving light_power from 1 to 0.3
- r4d6:
- - rscadd: Added a Radiation Hardsuit
- - rscadd: Added a Radiation Hardsuit crate
- - rscadd: Added 3 SM Engine variations.
- - rscadd: 'Added a way to make opaque plastic flaps change: Change the already existing
- flap recipe to show that they are see-through'
- - rscadd: Animations for the RCD
- - bugfix: Said animations being pulled by the Singulo
- - balance: Prevent Reinforced Doors from being RCD'ed
- - bugfix: Deconstructing Floors now cost MUs like everything else
- - tweak: changed the RCD's upgrades into flags
- - rscadd: Allow RCDs to print APC, Firelocks and Fire Alarms with the right upgrade
- - balance: Allow Engineers to print RCDs and RPDs from their protolathe without
- needing to hack one.
- - rscadd: Added a playback device
- - bugfix: Made the Voice Analyzer actually care about languages
- - bugfix: fixed SM's piping
- - rscadd: Added a message when pulsing the open wire.
- - bugfix: fixed being able to use a playback device and a voice analyzer to activate
- each others
- - rscadd: added passive vent to the arsenal of atmospheric devices.
- - rscadd: Mining base now has a common area accessible via a new shuttle on the
- medium-highpop maps, and a security office connecting the gulag and the mining
- base. Gulag also has functional atmos.
- - rscadd: Added more Cyborg Landmarks
- - refactor: better code for passive vents
- - bugfix: fixed a hole in Meta
- - rscadd: Added the ability to easily add variations of the mining base
- - bugfix: fixed a sprite
- timothyteakettle:
- - bugfix: fixed not being able to remove trait genes without a disk being inserted
- into the dna manipulator
-2020-02-26:
- AnturK ported by kevinz000:
- - rscadd: Dueling pistols have been added.
- Arturlang:
- - rscadd: Replaces a lot of ingame UIs with TGUI next, increasing performance drastically.
- - rscadd: Each night for bloodsuckers will last longer due to the sun dimming.
- - tweak: You cant level up for free, now you have to pay blood for power.
- - balance: Bloodsuckers are no longer as resistant to hard stuns and regenerate
- less stamina. and a lot of their cooldowns are a lot higher.
- - rscdel: Removed text macros from the chem dispenser.
- - rscadd: Replaced with dispenser input recording macros.
- - bugfix: Fancifying makeshift switchblades now works
- - balance: Shields will no longer block lasers, and will break if they take too
- much damage.
- - rscadd: Added a TGUI Next interface for crafting
- - rscdel: Removed the old TGUI slow crafting interface
- - tweak: The MK2 hypospray now
- - admin: The debug outfit is now kitted out for whatever debbuging needs.
- - bugfix: Fixed the pandemic naming and the radiation healing symptom UI crashing
- - tweak: Hyposprays now switch modes on CTRL click, instead of alt, as it was already
- reserved for dispension amount.
- - rscadd: Nanite interfaces have gotten a rework to TGUI Next, and can now support
- sub-programs. add:Adds the nanite sting program, which will allow you to manually
- sting people to give them nanites, changeling style.
- - balance: The pandemic can no longer make vaccines or synthblood as quickly.
- - rscadd: The syndicate uplinks interface has been redone in TGUI Next
- - tweak: Valentines can now be converted by bloodsuckers
- Bhijn:
- - tweak: Click-dragging will now only perform the quick item usage behavior if you're
- in combat mode.
- BlueWildrose:
- - bugfix: podpeople tail wagging
- - tweak: lifebringer ghost role fixes
- BuffEngineering, nemvar.:
- - bugfix: Addicts can now feel like they're getting their fix or kicking it.
- - bugfix: Aheals now remove addictions and restore your mood to default.
- CameronWoof:
- - tweak: Lighting looks better now. I can say that because the PR wouldn't be merged
- and you wouldn't be reading this if it wasn't true.
- - rscadd: Ammonia and saltpetre can now be made at the biogenerator.
- Commandersand:
- - tweak: uplink centcomm suit doesn't have sensors
- DeltaFire15:
- - balance: Nar'Sie runes no longer benefit from runed floors.
- Detective-Google:
- - rscadd: 'the POOL. remove: boxstation dorms 7'
- - bugfix: valentines candy no longer prefbreaks
- - rscadd: Loudness Booster pAI program
- - rscadd: Encryption Key pAI program
- EmeraldSundisk:
- - bugfix: Connects mining's disposal unit on Delta.
- - tweak: Slight visual adjustments to the immediate affected area.
- Feasel:
- - balance: Buffed dissection success chances.
- Ghommie:
- - tweak: The anomalous honking crystal should now properly clown your mind.
- - bugfix: Stopped the ellipsis question mark from being displayed twice in the examine
- message for masked/unknown human mobs.
- - tweak: Made the aforementioned ellipsis question mark display on flavor-text-less
- masked/unknown human mobs too for consistency.
- - bugfix: Stopped an APTFT exploit with spray bottles.
- - bugfix: Fixed the detective revolver being quite risky to use.
- - bugfix: Hair styles and undergarments are yet again free from gender restrictions.
- - tweak: Clown ops will find bombananas and clown bomb beacons instead of minibombs
- and bomb beacons in their infiltrator ship now.
- - tweak: For safety, the syndicate shuttle minibombs and bombananas come shipped
- in a box. Please don't instinctively eat any of those nanas, thank you.
- - tweak: Uplink items excluded (such as mulligan, chameleon, ebow) from or exclusive
- (such as cyber implants) to normal nuke ops will now be properly unavailable/available
- to clown ops.
- - bugfix: Fixed bananium energy sword/shield slips.
- - balance: Buffed said slips to ignore no-grav/crawling/flying as well as adding
- some deadly force to the e-sword.
- - bugfix: Fixed the 'stache grenade anti-non-clumsy user check.
- - balance: Doubled the timer for the sticky mustaches effect from the above grenade
- (from 1 to 2 minutes)
- - bugfix: Fixed an edge case with the chaplain armaments beacon spawning the box
- in nullspace.
- - tweak: The playback device's cooldown now proportionally increases with messages
- longer than 60 characters (3 seconds is the default assembly cooldown).
- - bugfix: Fixed space ninjas "Nothing" objective. Now you gotta steal some dandy
- stuff such as corgi meat and pinpointers as a ninja too.
- - bugfix: Fixed maploaded APC terminals direction.
- - balance: Nerfed magnetic rifles/pistols by re(?)adding power cell requirements
- for it. These firearms must be recharged after firing 2 magazines worth of projectiles
- and are slightly more susceptible to EMPs.
- - bugfix: Fixed the tearstache nade not properly working.
- - balance: Buffed it against space helmet internals.
- - tweak: Holographic fans won't display above mobs and other objects anymore.
- - bugfix: Fixed paraplegics appearing as shoeless.
- - bugfix: Fixed the petting element.
- - bugfix: Fixed slipping.
- - refactor: Refactored mob holders into an element.
- - bugfix: Fixed a few minor issues with that feature. such as mismatching sprites
- for certain held mobs and a slight lack of safety checks.
- - rscdel: holdable mobs can't force themselves into people's hands anymore.
- - bugfix: Milkies fix.
- - bugfix: Fixed some mounted defibrillator issue with the altclicking functionality.
- - bugfix: Fixed no-grav lavaland labor/mining shuttle areas.
- - bugfix: Fixed a little issue with sleeper UI and blood types.
- - bugfix: Fixing accidental nerfs to the magpistol magazine.
- - bugfix: The Lavaland's Herald speech sound should only play if they are actually
- speaking.
- - bugfix: Nerfed cargo passive points generation from 500 to 125 creds per minute.
- - bugfix: Fixed whitelisted/donor loadouts
- - bugfix: Childproofs double-esword and hypereuplastic blade toys.
- - balance: Some reagent holders (such as cigarettes, food) are not suitable for
- reagents export anymore, while unprocessed botany crops will only net 1/3 of
- the standard reagents values.
- - bugfix: Export scanners now include the reagents value in the price report.
- - bugfix: Fixed a little inconvenience with the character setup preview dummy having
- extra unwarranted bits.
- - bugfix: Stopped role restricted uplink items from being discounted despite not
- being purchasable most times.
- - bugfix: Missing words replacement file for the gondola mask.
- - bugfix: Fixed an issue with the nearsighted prescription glasses taking over worn
- eyewear.
- - bugfix: Fixed AI unanchoring not properly removing the no teleport trait. My bad.
- - bugfix: Fixed another issue with hering comsig.
- - imageadd: Fixed dozen missing privates sprites.
- - bugfix: A little fix concerning some R&D and reagents.
- - bugfix: Further mob holder fixes.
- - bugfix: Fixed being unable to dump a trash bag's contents directly into disposal
- bins.
- - bugfix: Doubled the halved flavor text maximum length.
- - bugfix: Reduced tongue organ damage and tasting pH message spam.
- - bugfix: Fixed agent IDs not registering the inputted name. Thanks MrPerson.
- - bugfix: Fixed solar panels/trackers (de)construction being a bit wonky.
- - bugfix: Fixed something about slime blood and the law of conservation of mass.
- - bugfix: Fixed flypeople being emetic machine guns.
- - bugfix: Fixed virology being unable to be done with synthetic blood.
- - rscdel: Renamed "blaster carbine" and "blaster rifles" back to "energy gun" and
- "laser gun" respectively
- - bugfix: Fixed magnetic rifles & co being inconsistent with printed energy guns
- and start with an empty power cell.
- - imagedel: Reverted practice laser gun sprites back to their former glory. Mostly.
- - bugfix: Fixed sprint buffer cost and regen being rounded down.
- - balance: Nerfed the fermenting barrel export industry.
- - tweak: Reagent dispensers selling price no longer takes in account the reagents
- volume. It's already handled by reagents export.
- - bugfix: pAIs are yet again unable to perform certain silicon interactions with
- machineries yet again.
- - bugfix: Fixed pAI radios inability to be toggled on/off.
- ? Ghommie (original PRs by Floyd/Qustinnus, 4Dplanner, Willox, ninjanomnom, mrdoombringer,
- Fikou, Fox McCloud, TheChosenEvilOne, nemvar, bobbahbrown, Time-Green, Stonebaykyle,
- MrPerson, ArcaneMusic and zxaber)
- : - rscadd: You can now make toolboxes out of almost any solid material in an autolathe
- - rscadd: adds Knight's Armour made out of any materials
- - rscadd: new ruin found in lavaland protected by dark wizards, I wonder what
- they're guarding
- - rscadd: You can now put a bunch more mats in the coin mint and autolathe
- - rscadd: Adamantine and Mythril are now materials (Adamantine still only from
- xenobio, Mythril still only from badminnery). Adamantine boosts an item's
- force by 1.5, Mythril gives an item RPG statistics.
- - rscdel: most custom sprites for coins have been lost
- - rscadd: You can now give your ass acute radiation poisoning
- - rscadd: floydmats now apply to all objs / items
- - rscadd: you can now make tables and chairs out of any material
- - bugfix: Fixes being able to exploit fully upgraded destructive analyzers to
- multiply materials
- - rscadd: An old monastery from a previously abandoned sector of space has recently
- resurfaced in some regions surrounding the station.
- - rscadd: Latent scans of the surrounding systems have picked up trace signs of
- new, smaller cult constructs, however these signatures quickly vanished.
- - rscadd: In other news, scavengers in your sector have been seen occasionally
- with classically recreated maces, so autolathe firmware has been upgraded
- to accommodate this.
- Hatterhat:
- - balance: Zombie powder is now instant when ingested, but delayed when injected
- or applied through touch.
- - tweak: The H.E.C.K. suit is now goliath tentacle resistant and probably better
- for acid resistance.
- - rscadd: The Engineering techfab can now print standard and large RCD compressed
- matter cartridges.
- - rscadd: The Experimental Tools node now has the Combifan projector, blocking both
- temperature and atmospheric changes.
- - tweak: fiddles with the seed extractor upgrade examine to make it not shit
- - rscadd: Formaldehyde prevents organ decay and corpses' miasma production at 1u
- in the body.
- - rscadd: Epinephrine pens now contain 3u formaldehyde. This should not kill you.
- - rscadd: The ships often crashed by Free Golems on Lavaland now have GPSes. They're
- off, by default, but an awakening Golem could easily turn one on.
- - tweak: Standard RCD ammo can now be printed from Engineering-keyed techfabs once
- you hit Industrial Engineering.
- - tweak: Consoleless interfaces are now default - this means unrestricted protolathes
- and circuit imprinters can now be interfaced with by interacting with the machine
- itself.
- - bugfix: Multitools can now actually be printed from Engineering and Science protolathes/techfabs
- once you unlock Basic Tools.
- - rscadd: Husking (from being burned to shit) can now be reverted! 5u rezadone or
- 100u synthflesh, at below 50 burn.
- - balance: Turning a body into a burnt husk now takes more effort. 300 burn's worth
- of effort.
- - balance: Buckshot individual pellet damage up from 10 to 12.5. Still firing 6
- pellets.
- - rscadd: Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay
- into histamine. Instead, it just prevents your organs from rotting into nothing.
- - balance: You can now purify eldritch longswords with a bible. This creates purified
- longswords, which do not have anti-magic properties, but are still good for
- swinging at cultists.
- - rscadd: Extend votes! Ported from Hyper, ported from AUstation.
- - bugfix: mechs with stock parts now have icons
- - balance: Pie reagent transfer now requires an uncovered mouth.
- - bugfix: Biogenerators can now actually generate universal enzyme.
- - bugfix: The Basic Tools node now unlocks the multitool for printing on Engineering
- and Science fabricators.
- - rscadd: The Ash Walkers' nest on Lavaland now starts with three bowyery slabs.
- - rscadd: You can now welder-harden arrows. It might take longer.
- - balance: Silkstring's costs adjusted for bows and whatnot.
- - spellcheck: Grammar adjusted on a lot of things relating to bows.
- - bugfix: Pipe bows' bowstring doesn't look like it replicated itself upon draw.
- IHOPMommyLich:
- - tweak: Changed the multiplicative_slowdown of Stimulants from -1 to -0.5
- IronEleven:
- - balance: Minor stat changes to Choking, Spontaneous Combustion, Autophagocytosis
- Necrosis, Hallucigen, Narcolepsy, Shivering, and Vomiting symptoms.
- KathrinBailey:
- - bugfix: Missing turf_decals in Cargo Office.
- - bugfix: Turns on the docking beacons on Box.
- - bugfix: Fixes Starboard Quarter maint room being spaced. It was never intended
- to be like how it was.
- - bugfix: The aforementioned maint room not having stuff in it.
- - bugfix: varedited photocopier sometimes not opening any UI.
- - bugfix: Atmos differences in Starboard Quarter maint.
- - bugfix: Atmos differences in destroyed shuttle/EVA bridge. Plating replaced with
- airless plating.
- - bugfix: Rotates AI satellite computers. These have probably been like this since
- computers had the old sprites and no directional ones. You shouldn't sit at
- a chair to operate a sideways computer.
- KrabSpider:
- - imageadd: The Van Dyke is no longer Fu Manchu.
- - imagedel: Gets rid of a Fu Manchu imitation.
- Kraseo:
- - bugfix: You can no longer pull before wearing boxing gloves to bypass the grab
- check.
- - bugfix: Nightmares no longer delete entire guns from existence for merely having
- a light on them.
- Linzolle:
- - bugfix: Bows now will not delete an arrow if it cant fire it.
- - bugfix: bows now like and respect sprite changes
- MalricB:
- - rscadd: '"Shaggy" sprite from virgo'
- - rscadd: '"shaggy" option in the character customization'
- MrJWhit:
- - rscdel: Removed meteor defense tech node
- - tweak: TEG
- Naksu:
- - bugfix: Odysseus chem synthesizing now works again.
- Owai-Seek:
- - rscadd: Burger, Cargo Packaging, Dirty Magazine, Air Pump, and Scrubber crates.
- - rscdel: Duplicate Crate, Festive Wrapping Paper Crate, Contraband Monkey Meat
- Crate
- - tweak: Gave Seed Crate Ambrosia Seed, gave Biker Gang Crate Spraypaint.
- - tweak: Organised some crates with sub-categories. Also, moved all vendor refills
- to a new tab.
- - tweak: Moved Grill to Service Tab
- - bugfix: Engineering Hardsuit Access
- - tweak: Blood Crate now has all of the current blood types.
- - tweak: Birthday Cake Recipe is now the same as TG.
- - tweak: Added Soy Sauce and BBQ Packets to Dinnerware Vendor.
- - tweak: Added nurse outfit, nurse cap, and mailman hat to loadout.
- - tweak: Changed the name of scrubs to blue, green, and purple scrubs.
- - rscadd: Bacon and Eggs food item. Delicious! Added a Lemony Poppy Seed Muffin.
- - tweak: Snack Vendor has Chocolates, Tortilla Chips, and a Marshmallow Box
- - balance: Mops can now be printed at service lathe once tools are researched.
- - balance: Biobags can hold most organic limbs/organs, but not brains, implants,
- or cybernetics.
- - balance: Trash Bag can now hold limbs (but not heads.)
- - balance: Most snack vendor items reduced by 1.
- - bugfix: Trash Cans are now actually craftable, and only require metal instead
- of plastic.
- - imageadd: Bacon and Eggs, Drying Agent Bottle.
- - imageadd: Mugs now show reagent colors of contained reagents. Thanks Seris!
- - tweak: Reorganized all food recipes, (hopefully) making things easier to find.
- - balance: Trays now have a whitelist, allowing them to pick up normal sized foods,
- bowls, glassware, booze, ect.
- - bugfix: Easter foods are no longer their own Misc Food Category on the top of
- the menu.
- - spellcheck: fixed a few typos/capitalization consistency.
- - tweak: Mexican Foods are their own Subcategory.
- - tweak: Donuts are their own Subcategory
- - tweak: Moved Sweets from Misc Food in with Pies. Renamed to Pies & Sweets
- - rscadd: BROOM
- - tweak: Janitor Vendor now has gear for two Janitors.
- PersianXerxes:
- - rscadd: 'SMES and PACMAN attached to gulag Security to power electrified windows
- remove: Removed Sec vendor from gulag Security'
- - tweak: Separation of gulag and public mining
- - rscadd: Better clarified the comment explaining the contraband tag.
- - tweak: Cargo nuclear defusal kits now require an emag'd drop pod console to be
- purchased.
- - rscadd: Added Kilo Station
- - tweak: Adjusts Kilo Station to be more in line with Citadel standards
- - imageadd: Added area icons required to make Kilo Station editable on Citadel code
- - code_imp: Fixed a reagent container on Kilo pointing to a nonexistent reagent
- - config: Adds Kilo Station to the maps config file, does not fix Meta Station's
- population requirement
- Psody-Mordheim:
- - rscadd: You can now make synth-flesh with synthetic blood.
- - rscadd: You can now make synthetic blood via mixing saline glucose, iron, stable
- plasma and heating it to 350 temp.
- - rscadd: You can mix synthetic blood and cryoxadone to create synth-meat in addition
- to normal blood.
- - rscadd: Disfiguration Symptom.
- - rscadd: Deoxyribonucleic Acid Saboteur Symptom.
- - rscadd: Polyvitiligo Symptom.
- - rscdel: Revitiligo Symptom.
- - rscdel: Vitiligo Symptom.
- Putnam3145:
- - admin: Added logging to various consent things.
- - rscadd: Lots of new traitor objectives
- - bugfix: gender change potion now respects prefs
- - bugfix: Hypno prefs work better.
- - admin: Panic bunker is now round-to-round persistent
- - tweak: Relief valve now has a TGUI-next UI
- - bugfix: Atmos reaction priority works now.
- - rscadd: map voting doesn't suck anymore
- - bugfix: Dynamic now defaults to "classic" storyteller instead of just failing
- if the vote didn't choose a storyteller.
- - bugfix: antag quirk blacklisting works now
- - tweak: default should be... default
- - balance: all supermatter damage is now hardcapped
- - tweak: Supermatter sabotage objective no longer shows up with no supermatter
- - bugfix: Mining vendors no longer fail and eat your points iff you have precisely
- enough points to pay for an item
- - tweak: Licking pref
- - bugfix: Fixed IRV.
- - bugfix: Runtime if nobody has a chaos pref set
- - bugfix: IRV fixed... again
- - bugfix: temporary flavor text can now be of reasonable length
- - balance: Shooting the supermatter now adds to the supermatter's power. CO2 setups
- beware!
- - rscadd: Logging for renaming
- Raiq & Linzolle:
- - rscadd: Bone bow - Ash walkers crafting , bone arrows - Ash walkers crafting,
- silk string used in bow crafting, harden arrows - Ash walkers crafting, ash
- walker only crafting book, basic pipe bow, and bow & arrow selling. Quivers
- for ash walkers as well, just to hold some arrows well out on the hunt!
- Seris02:
- - tweak: tweaked the way the SM works
- - rscadd: custom reagent pie smite
- - rscadd: hijack implant
- - code_imp: changed mentions of the issilion proc to hasSiliconAccessInArea based
- on what the proc is used for
- - rscadd: recipe for mammal mutation toxin
- - rscadd: polychromic winter coat
- - rscadd: thief's gloves
- - rscadd: crushing magboots
- - bugfix: golden plastitanium toolbox being actually plastitanuium
- - bugfix: character slot amount
- - balance: rebalanced rising bass
- - bugfix: string highlighting whitespace
- - bugfix: glitch with PKA
- - bugfix: meteor hallucinations (again)
- - rscadd: Added naked hallucination
- - rscadd: crowbarring manifests off crates
- - balance: makes RCDs cost a better amount
- - bugfix: apc icons
- - rscadd: rest hotkey
- - rscadd: hsl instead of sum of rgb for spraycan lum check
- - balance: bloodcrawl's cooldown
- ShadeAware:
- - rscadd: Craftable Switchblades, a weaker subtype of normal switchblades that can
- be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable
- Coil. Requires a welder to complete.
- - bugfix: You can now actually craft Switchblades.
- - bugfix: Switchblades no longer regain their old Makeshift sprite after retracting
- if you've made them fancy with Silver.
- - rscadd: 'The Captain''s Wardrobe, a special one-of-a-kind and ID-locked wardrobe
- for the Captain that holds all of their snowflakey gear. Remove: Snowflake gear
- from the Captain''s locker, since now it has its own vendor.'
- Tlaltecuhtli, ported by Hatterhat:
- - balance: Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning
- modules and capacitors on construction. This means that they also gain reduced
- power consumption and EMP protection from higher-tier stock parts.
- Trilbyspaceclone:
- - bugfix: Vault hallway door being all access
- - server: Updates change logs
- - rscadd: Crafts are now made of plasteel and can be made with 5 sheets
- - rscadd: Takes away NT's connections to the Aliens that run the Syndicats
- - rscadd: Carps have evolved to take more damage
- - rscadd: restock crates for each vender
- - rscadd: restock units for all station venders
- - bugfix: Sec-vender missing icon
- - bugfix: 'Box station captain office issues maping: Gulag on box can now be accessed'
- - rscadd: Alien stools and chairs
- - tweak: Bone armor/Dagger are now crafting from bones rather then crafting menu
- - rscadd: Firing pins that only works when not on station
- - rscadd: Medical locked crates
- - balance: Russian gear crates have less gear in some cases but all will cost more
- - bugfix: Medical locked crates that were not locked
- - spellcheck: Crates that were out of date are corrected
- - balance: Heads of staff have been better screened by NT before being promoted
- - balance: The suit full of spiders also known as a ninja now is a tactical turtleneck
- - balance: The Wiznerds now dont have suits set to max
- - tweak: Meat wheat no longer has blood
- - bugfix: Flat guns can no longer be suppressed
- - tweak: replaced stickmans .45 caliber with 10mm, for consistency.
- - tweak: Meatwheat and Oats now have rarity
- - balance: Oats now have at lest 50% more flour in them
- - balance: BDM now uses a PKA rather then a normal KA
- - tweak: Gang tower shield is no longer transparent
- - tweak: Cosmic winter coat now glows like the bedsheet, and holds normal winter
- coat gear
- - server: Express console is now logging what it buys, like the normal console should
- - bugfix: Crabs are now made of crab meat.
- - bugfix: AIs now understand the old ways of drunken dwarfs
- - balance: Removes some armored Russian hats from box station round start
- - bugfix: Doner items spawning
- - balance: Engi/Sec Trek suit no longer has 10% melee protection
- - bugfix: IPC hearts are now made of robomeat and roboblood thats emp proof. Heals
- and is all and all just like an normal heart
- - imageadd: All robotic organs now have an animation.
- - imageadd: IPC's now organs now look like robotic ones, even tho thats not the
- case game wise
- - imageadd: Added a new bee themed bar sign
- - imageadd: Makes plywood chair not look as bad.
- - bugfix: corndog sprite being miss-spelled
- - bugfix: Ash from land of lava now is useable for sandstone
- - bugfix: Peach cake slices are no long made by mimes
- Tupinambis:
- - tweak: the portion of laws that require harm prevention by silicons has been removed.
- - server: silicon_laws.txt config file is required to be modified for full implementation.
- - bugfix: masks no longer improperly stick out of helmets when they should be hidden.
- - bugfix: Status Displays should now update correctly.
- - balance: stunbatons now take 4 hits to inflict hard crit, up from 3.
- - balance: stunbatons no longer disarm targets.
- Yakumo Chen:
- - rscadd: Rings for your fingers!
- - rscadd: New cargo crates and loadout options to bling your rings!
- YakumoChen:
- - tweak: Observe is back in the OOC tab
- - imageadd: Rings look nicer. Sprites used from RP.
- - imageadd: Ring on-hands. Diamond rings sparkle!
- - tweak: You can now propose using a diamond ring in your hand.
- - tweak: Legion skulls behave like bees!!!!
- Zellular:
- - imageadd: Movement state for pupdozer and its decals
- - tweak: Tweaked the movement state for the pupdozer's eyes
- ancientpower:
- - bugfix: Fixes an error in pH strips' feedback message.
- - rscadd: Ported drink sliding from /vg/station.
- - bugfix: Fixes color mismatching with the "genitals use skintone" preference.
- - imageadd: Bunny ear style for humanoid species.
- - tweak: Ghosts are now literate.
- bunny232:
- - tweak: Changes the simple animal sentience event from the xenomorph preference
- to sentience potion preference.
- coiax:
- - rscadd: Admin and event only pair pinpointers! They come in a box of two, and
- each pinpointer will always point at its corresponding pair. Aww.
- deathride58:
- - bugfix: Spacemen no longer run at lightspeed on local servers.
- kappa-sama:
- - bugfix: the plant dudes can actually make plant disks now
- keronshb:
- - rscadd: Added repairable turrets
- - rscadd: Adds Tiny Fans to the pirate ship
- - tweak: changes some reinforced windows to plastinanium pirate windows
- - tweak: made the pirate shuttle + turrets bomb resistant
- - tweak: made most pirate machines + consoles indestructible
- - tweak: increased pirate turret health
- - rscadd: Adds the CogChamp drink and Sprite
- - rscadd: Added burn and knockback to stunhand during HALOS on cult.
- - balance: Added burn and knockback to stunhand during HALOS on cult.
- - bugfix: fixed accelerated regeneration nanites
- - bugfix: fixed mechanical repair nanites
- - bugfix: fixed bio reconstruction nanites
- kevinz000:
- - refactor: Custom snowflake plushies are now in config rather than code.
- - balance: Abductor mindsnapping (aka abductee objectives) can now be "cured" with
- brain surgery.
- - rscadd: Shuttle hijacking has been completely reworked. Alt-click the shuttle
- as a hijack-capable mind (so traitors, and especially traitors with hijack)
- to begin or continue a hacking process.
- - refactor: 'A good amount of the blood RGB rework was cleaned up/reverted, with
- some notable gameplay changes including: Gibs and blood not having max blood
- by default (no more easy rampages, cultists), infinite gib streaking, etc etc.'
- - balance: meteor waves are now directional and announces the direction on the command
- report.
- - rscadd: CTF CLAYMORES
- - balance: shoves buffed, now shoving into a wall twice rapidly will also disarm
- their weapon.
- - balance: traitor+bro gamemode minimum population set to 25 until there can be
- more in depth configuration systems for gamemodes.
- - bugfix: no more bluespace skittish locker diving,
- - rscadd: moths now have unique laughs and can *chitter.
- - tweak: nuke explosion is now full dev radius for anti lag purposes
- - balance: Gangs can now only tag with a gang uplink bought spraycan.
- - tweak: dueling pistol accesses have been changed to be more accessible.
- - bugfix: mechs no longer have admin logs flooding into IC control console log viewing
- - refactor: Guncode and energy guns have been refactored a bit.
- - rscadd: You can now combat mode ight click on an energy gun to attempt to switch
- firing modes. This only works on guns without right click functions overridden.
- - balance: shoes can now fit magpistols again.
- - balance: Projectiles now always hit chest if targeting chest, snipers have 100%
- targeting zone accuracy. All other cases are unchanged.
- - tweak: The lawyer's PDA cartridge has been rebranded to something more accurate
- to its true nature.
- - refactor: Refactored ghostreading/etc
- - balance: Cyborgization will now de-gang people, even gangheads.
- - bugfix: reactive repulse armor now has an item limit
- - bugfix: beam rifle runtime fix during aiming_beam
- - bugfix: 'fail2topic runtime fix: taking out an ip while incrementing index resulted
- in accessing the next-next entry instead of the next and results in out of bound
- errors.'
- - rscadd: gravity gun repulse and chaos now work in all angles, rather than just
- basic cardinals and diagonals. fun.
- - balance: Public autolathes can no longer be hacked.
- - bugfix: Energy weapons now once again have their lens in contents.
- - bugfix: pais are no longer muted for literally a whole hour on emp.
- - rscadd: auto profiler subsystem from tg
- - bugfix: Brig cells now are more accurate by using timeofday instead of realtime
- - bugfix: Cryo now actually transfers reagents at tier 4 on enter rather than every
- 80 machine fire()-process()s regardless of if it was "reset" by open/close.
- - rscadd: cmo now gets advanced surgery drapes that techweb-sync for advanced surgeries
- without an operating console.
- - bugfix: ctf claymores now actually spawn (and fit).
- - bugfix: STOP_PROCESSING now removes from currentrun to prevent another process
- cycle from happening where it shouldn't.
- - balance: hand teleporters now require 30 deciseconds of still movement by the
- user to dispel portals. there's a beam effect too.
- - balance: Sort of a bugfix but cult blood magic and all guns now respect stamina
- softcrit.
- - balance: Organ healing rate doubled. Organ decay rate halved to match its define
- (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked).
- - tweak: Storage now caches max screen size and only stores when being opened by
- a non ghost, meaning ghosts will no longer distort living player screens when
- viewing storage.
- - balance: Stunbatons changed yet again.
- - tweak: the game's built in autoclicker aka CanMobAutoclick no longer triggers
- client/Click()'s anti clickspam guard.
- - balance: pais can no longer bodyblock bullets
- - balance: pai radio short changed to 3 minutes down from 5
- - balance: pais are no longer fulltile click opacity.
- - refactor: vampire "immortal haste" has been reworked to be more reliable and consistent.
- - tweak: hand teles use a less atrocious beam
- necromanceranne:
- - rscadd: Ebows now disarm people hit by them.
- - rscadd: Ebows now do 60 stamina damage on hit.
- - rscdel: Ebows no longer inflict drowsiness
- - balance: Miniature ebows do 15 toxin damage, up from 8.
- - balance: Ebows have considerably shorter knockdowns.
- - balance: Ebows now make you slur rather than stutter.
- - balance: Large ebows are now heavy and bulky.
- - rscdel: You can no longer order spinfusors or their ammo from cargo.
- - rscdel: Removed the formal security officer jacket from the secdrobe
- - tweak: formal security jackets are now armor vests
- - rscdel: Bullets causing bleed rates equal to unmitigated damage through all forms
- of defense.
- - balance: 'Reverted #9092, crew mecha no longer spawn with tracking beacons.'
- - balance: '[Port] Mecha ballistics weapons now require ammo created from an Exosuit
- Fabricator or the Security Protolathe, though they will start with a full magazine
- and in most cases enough for one full reload. Reloading these weapons no longer
- chunks your power cell. Clown (and mime) mecha equipment have not changed.'
- - balance: '[Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching
- Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).'
- - balance: '[Port] Both Missile Launchers and the Clusterbang Launcher do not have
- an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded
- ammo has been spent, you can use the appropriate ammo box to load the weapon
- directly.'
- - rscadd: '[Port] Utility mechs that have a clamp equipped can load ammo from their
- own cargo hold into other mechs.'
- - rscadd: '[Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons,
- should they run low.'
- - bugfix: Literally unclickability with a cham projector
- nemvar:
- - code_imp: Slight changes the self-repair borg module. It no longer references
- the borg that owns it.
- - bugfix: Trash from food now gets generated at the location of the food item, instead
- of in the hands of the eater.
- - code_imp: Changed mob biotypes from lists to flags.
- r4d6:
- - rscadd: Added a dwarf language
- - rscadd: Added more engines
- - tweak: RPD subcategories and preview icons reorganized.
- - rscadd: RPD now starts with painting turned off, hitting pipes with build and
- no paint will target the turf underneath instead. Bye bye turf pixelhunting.
- - config: Made dwarves into a roundstart races
- - tweak: Meteor Timer back to 3-5 minutes
- - bugfix: Mining no longer lead to spess
- - rscadd: Added Plasteel Pickaxe
- - rscadd: Added Titanium Pickaxe
- - bugfix: fixed a missing tile
- tralezab, bandit, Skoglol:
- - rscadd: The mime's PDA messages are silent now!
- - rscadd: 30 new emoji have been added. Mime buff, mime now OP.
-2020-03-28:
- Arreksuru and Detective Google:
- - rscadd: new HUDpatches for medical, diagnostic, and mesons.
- - rscadd: crafting and de-crafting recipes for new HUDpatches.
- - bugfix: silly typo with "singlasses" in one of the crafting recipes for HUDglasses.
- Arturlang:
- - balance: Bloodsuckers can no longer get usable blood from blood tomatoes.
- - bugfix: Fixed reagent container transfer amount cycling.
- Bhijn:
- - tweak: Clicking an open closet with harm intent no longer attempts to place your
- currently held item inside, but rather attacks it.
- Bhijn (original PR by Azarak, sprites by Discord user Smug Asshole Muhreen#5522):
- - rscadd: Synths, the open source and free-as-in-freedom species by FA user vader-san,
- have been ported from Skyrat.
- - rscadd: Ported VOREStation's synthetic taursprites
- - rscadd: Markings that don't match very well with your selected species are now
- hidden from the markings list by default. You can still use these mismatched
- markings to create horrendous sparkledog abominations by using the "Show mismatched
- markings" button ingame.
- - bugfix: Body markings who's iconstates don't match their name will now actually
- render properly.
- - code_imp: Limb base icons are no longer hardcoded, should_draw_citadel and should_draw_grayscale
- have been removed in favor of the species-level `icon_limbs` var and the bodypart-level
- `base_bp_icon` and `color_src` vars. Downstreams should no longer have to touch
- bodypart rendering code a whole lot if they want to add custom species. Downstreams
- that have already added species with digitigrade leg support will have to append
- species IDs to the digitigrade leg sprites, but aside from that, the migration
- process to this more modularity-friendly system should be fairly smooth.
- BlackMajor:
- - tweak: Adjusted the ash walker camp's storm proofing.
- - rscadd: Added a tip about creating areas to the ash walker spawn text.
- Bumtickley00:
- - tweak: Iron sheets build the normal metal table again
- Crystal9156:
- - bugfix: Fixes Chocolate Jelly Donut icon
- Dennok, ported by Hatterhat:
- - bugfix: Lava rivers no longer burn into basalt.
- - code_imp: The river generator can now specify baseturfs.
- Detective-Google:
- - bugfix: absurd dong sizes.
- - bugfix: my dumb stupid paramedics
- - balance: Medical no longer spawns with syringe guns, Medical now spawns with medidart
- guns.
- EmeraldSundisk:
- - rscadd: Adds CogStation's shuttles to-be.
- - rscadd: Adds the "NES Classic" escape shuttle.
- - refactor: Accounts for the new shuttles.
- Ghommie:
- - tweak: Added a few cooldowns to chill nuclear bomb and communications console
- security level change spam, as well as the emergency shuttle's authorization
- announcements.
- - bugfix: Fixed viruses not working on anthros and some others species.
- - sounddel: Made the cogchamp mixing sound less annoying.
- - rscdel: Removed makeshift switchblades.
- - bugfix: pAIs, drones, monkys and lizards can be worn over the head again.
- - bugfix: Fixed cargo passive point generation to not go into decimals.
- - bugfix: Syndicate ninjas are slightly less friendly now.
- - balance: Allowed blobbernauts to drag objects (but not mobs) again.
- - bugfix: The examiner circuit now works better for mobs.
- - tweak: Chances are monkeys won't end up gorillizing as quickly after being exposed
- to a rad storm for a minute or so.
- - bugfix: Vampire mesmerize doesn't permanently disable combat mode.
- - bugfix: The flying speed slowdown while hurt now actually affects flying mobs
- and not floating ones.
- - bugfix: Joining in as a positronic brain won't break the spawner menu anymore.
- - bugfix: Fixed dynamic voting.
- - bugfix: The autotransfer subsystem is slightly more modulable now.
- - imageadd: Resprited some sprite_accessory icon states.
- Ghommie (plus a fix originally done by Skogol):
- - bugfix: Drinks dispensers now only show the container they are holding.
- - bugfix: Ghost cafe patrons are warded against a few more events now.
- - bugfix: Fixed RnD machineries UI displaying designs' required reagents' typepaths
- instead of names.
- Hatterhat:
- - bugfix: Red and blue boxes are now actually red or blue.
- - rscadd: Beegions! Like Legions, but with actual bees. As in, the bees from the
- holodeck sim with the randomly-generated toxic bees.
- - rscdel: Mining cyborgs are no longer physically capable of claiming points nor
- wielding a premium accelerator.
- - tweak: Arrow crafting has been finagled with, preventing fire-hardened arrows
- from being fire-hardened repeatedly. Or something.
- - bugfix: Space hermits (those quirky fellas stuck in a rock with carp surrounding
- them) now have gravity! But they lost their perpetual generators.
- - balance: Space hermits now have to mine for their research tech (golem vendor
- board, ORM board). They have slightly less bad parts, though. And better(?)
- rocks.
- InnocentFire made the sprites all thanks to them!:
- - imageadd: All bows now have inhand sprites once again
- KathrinBailey:
- - rscadd: Nine new posters!
- - rscadd: Shower curtains can be crafted.
- - rscadd: New sofas!
- - rscadd: Green and purple comfy chairs to the crafting menu to fit green and purple
- carpets.
- - bugfix: Shower curtains now let you see through them once open, and don't once
- closed.
- Kraseo:
- - balance: If you have the powersink objective, you will now receive a free beacon.
- - rscadd: Lavaland flora have more traits now, to encourage harvesting and sending
- these off to the botanists.
- - bugfix: Napalm will now properly remove weeds from a tray if the plant in it has
- the fireproof gene.
- - balance: Gangs no longer get soporific rounds for their sniper rifles.
- - rscadd: Syndicate Contracts. Use the new contract uplink to select a contract,
- and bring the assigned target dead or alive to the designated drop off. Call
- for the extraction pod and send them off for your TC payment, with much higher
- rewards for keeping them alive. A high risk, high reward choice for a traitor
- who wants a real challenge.
- - rscadd: New 20 TC contract kit - supplies you with your contractor loadout and
- uplink.
- - rscadd: Targets successfully extracted will be held for ransom by the Syndicate
- after their use to them is fulfilled. Central command covers the cost, but they'll
- be taking a cut out of station funds to offset their loss...
- - rscadd: Adds a third random item, as well as a small guide on using the contract
- kit. Also added new possible items that can appear.
- - tweak: Supplied space suit in the contract kit is now an improved variant on the
- normal Syndicate version.
- - balance: TC payouts adjusted to be a bit more fair to the contractor. Total payout
- can never be below a certain threshold.
- - bugfix: Broken dropoff locations work again, and general bugfixes.
- - rscadd: Contract kit comes with a contractor baton - a unique, lightly electrified
- weapon to help complete your contracts.
- - tweak: Finalized payment system for contracts; much more balanced for contractors.
- No more extremely low paying contract sets.
- - tweak: Generated contracts will all have unique targets, no more duplicates.
- - tweak: Extraction droppod explosion has been removed, it'll only damage the tile
- it lands on.
- - bugfix: Extraction pods get sent to the jail immediately again.
- - refactor: Refactored classic_baton code.
- - rscadd: Contractor Hub. A unique store for contractors to buy items with Contractor
- Rep, with two Rep being given when completing a contract.
- - rscadd: Contractor pinpointer, available through the Hub. A very inaccurate pinpointer
- that ignores suit sensors.
- - rscadd: Call reinforcements, available through the Hub. Limited to a one-time
- buy for a contractor, you can purchase an agent to be sent down to help in your
- mission. Role is polled to ghosts.
- - rscadd: Blackout, available through the Hub. Disable station power for a small
- duration - an expensive, but powerful option of getting into secure areas.
- - rscadd: Fulton extraction, available through the Hub. Purchase a fulton extraction
- kit to help move your targets across the station for those difficult dropoffs.
- - tweak: Assigning yourself to another tablet will give you another contract set.
- - rscadd: Contractors can now reroll their contracts a small number of times.
- - rscadd: Brand new sprites! A redesign of the specialist space suit, and the kit's
- own unique tablet. Done by Mey Ha Zah.
- - tweak: Displays contract target jobs under their name.
- - tweak: New locations, such as maintenance, are now possible dropoff locations.
- - balance: Contractor kit pop cap reduced from 20 to 15.
- - balance: You can no longer get haunted 8balls from contractor kits.
- - bugfix: Pods and shuttles should no longer be valid dropoff locations.
- - bugfix: Contract tablets will no longer break when one of your contracts is deleted
- from the world.
- - bugfix: Baton inhands for the right hand now shows the right direction.
- - bugfix: Mice don't chew on wires anymore while they're on your person.
- - bugfix: Bloodsucker heart theft objective now completes successfully.
- - tweak: Blacklists turret protected areas, the toxins test range, asteroid ruins,
- and solars from being valid dropoff locations for contracts.
- Linzolle:
- - tweak: pacifists can no longer meatspike living things
- - bugfix: flypeople being unable to gain nutrition from eating vomit
- - bugfix: targetting mouth on help intent now properly nose boops
- - tweak: cmo hypokit now holds the same amount of items as normal kits
- Moonlit Protector:
- - rscadd: Introducing the 'Heroic Beacon', standing vigil over service the curator
- can assume one three different historic heroes, each determining their equipment
- and emergent playstyle to suit the player; a beacon can be found in the curator's
- backpack upon spawning
- - rscadd: Become the Braveheart, a fierce scottish warrior armed with a ceremonial
- claymore, spraycan, kilt and a disregard for underwear with the scottish themed
- hero pack.
- - rscadd: A unique mention is the "First man on the Moon" heroic pack, with a two
- piece space worthy suit, air tank & a GPS for recreating a key spessfaring moment
- in history.
- - tweak: The Curadrobe has been stripped & refilled full of helpful library supplies,
- including varieties of pens and glasses including the jamjar's.
- - tweak: The curator's explorer equipment & whip has been moved into the 'Courageous
- Tomb Raider' heroic pack; removed from the backpack & the Curavend respectively.
- MrJWhit:
- - tweak: Added minor station things
- - balance: re balanced r-walls
- - tweak: Evens both sides of the gas containers TEG with reinforced windows
- - tweak: Removed egun in every head locker, replaces RPD with air pump in science,
- fixes a computer in sec, moves hand teleporter, and removes decals under lockers.
- MrPerson:
- - rscadd: Solar panels will visually rotate a lot more smoothly instead of being
- locked to only 8 directions.
- - rscadd: Timed solar tracking is in degrees per minute. You're still not gonna
- use it though.
- Naksu:
- - rscadd: Time based free rerolls
- - refactor: Refactored Blobs
- - balance: Blob rerolls now give the blob 4 different options to choose from, rather
- than forcing a single random one.
- NecromancerAnne and goldnharl:
- - imageadd: Sprite cleanups and animations for energy guns.
- NecromancerAnne and zawo and zeroisthebiggay and carlarctg:
- - rscadd: The Infiltrator Bundle, an armor kit for 3TC. Murder people in style!
- - rscadd: Some pajamas for nukies to get plenty of bed rest.
- - rscadd: halved firefight carry delay with latex or nitrile gloves
- - tweak: headset upgrade is cheaper
- Owai-Seek:
- - rscadd: Butter Bear
- - rscadd: Crab Burger, Bisque, Crab Rangoon, French Onion Soup, Empowered Burger,
- Chicken Nugget box.
- - tweak: +++ Spider Eggs to Exotic Meat crate. --- Bacon from Exotic Meat crate.
- - tweak: Tweaked Crab Recipes
- - imageadd: Butter Bear aka Terrygold
- - balance: Food Crafting is now 5 deciseconds instead of 30.
- Putnam:
- - tweak: Swarmers, portal storm, wormholes are now controlled by dynamic.
- - tweak: Dynamic-controlled events can now have a minimum start time.
- - balance: Threatening meteors are more common (though still have pretty strict
- requirements)
- - balance: Different storytellers now balance around different expected players-per-antag;
- default was 5, now intrigue/story/random have 7 and calm has 10.
- - rscadd: Clown ops is now available as a roundstart antag in dynamic.
- - balance: Sentient disease and revenant are now in the event pool rather than the
- antag pool (with the logic that they're both completely useless and unfun to
- play if people are actually playing against them).
- - rscadd: A new formulation of extended was added to the storytellers; no antags,
- but still spending threat on events.
- - bugfix: Fixed a runtime in dynamic due to my misunderstanding pickweightAllowZero
- - rscdel: Made conversion storyteller 0-weight-by-default.
- Putnam3145:
- - tweak: Salbutamol causes jittering now.
- - bugfix: Made lickable pref save
- - rscadd: 'Traitor classes for traitors: a new way for traitors to have objectives
- assigned.'
- - bugfix: Actually made things work as intended.
- - code_imp: Removed a redundant turf melting check from the supermatter.
- - rscdel: Removed "realistic tcomms lag"
- - rscdel: Removed some particularly bad flavor objectives.
- - balance: Power sink objective is 10x as easy to get
- - bugfix: Processing objectives now properly stop once won
- - rscdel: MKUltra no longer explodes into lovegas when it fermi explodes, instead
- causing a regular ol' fireball.
- - tweak: Eigenstasium OD flavor text less restrictive
- - bugfix: Dynamic voting should work absent of a config.
- - tweak: Autotransfer vote now requires actual transfer votes to transfer.
- - bugfix: More dynamic fixes
- - bugfix: Server-run votes aren't subject to vote cooldown
- - rscadd: Mass hallucination can better be admemed
- - tweak: Waffle co objective rewritten to make more clear it's not a murderbone
- objective
- - rscadd: CTF spawns, random animals and possessed blades can now be pinged for
- ghost roles.
- - bugfix: A bunch of polls now work with ghost role eligible non-observers.
- - bugfix: Removes superfluous line in supermatter processing.
- - code_imp: Power sink objective processing now makes sense.
- Qustinnus/floyd, Ghommie:
- - bugfix: To save costs, Nanotrasen has removed the emergency battery ejection systems
- in modular computers. We realized saving the batteries isn't really important.
- - bugfix: You can squash spiderlings with your bare hands now.
- - bugfix: Being deafened properly stops jukebox music from playing.
- - bugfix: admin multicam toggles no longer tells everyone but only admins and AIs
- Ragolution:
- - rscadd: All winter coats and hoods might be different if slightly from one a other.
- - tweak: Adjusted Bartender's Drink Flinging print message to not include name of
- target turf and save immersion.
- Seris02:
- - rscadd: tg genetics
- - balance: illegal technology
- - balance: rebalanced rising bass's buttom actions from repulse to side kick
- - bugfix: projectiles and rising bass and items and rising bass
- - bugfix: a very specific fix with tails and wagging
- - rscadd: duffel bags of holding
- - bugfix: quirk blacklist fixing
- - bugfix: robotics console button swapping
- - bugfix: fixed thieving gloves not pickpocketing fast
- - rscadd: mentor de/rementor button
- - bugfix: mentor !msg
- - balance: bloodsuckers being unable to accept genes
- - balance: removes xray from the gene pool
- Skoglol:
- - bugfix: Fixed gibber exploit.
- Timberpoes:
- - bugfix: 'Shuttle countdowns once again read like "01:05" instead of "01: 5".'
- Trilbyspaceclone:
- - rscadd: Three new arm implants, shield for sec, janitor and service
- - rscadd: Two new legion drop. Assistant and Bee-Activist
- - rscadd: Three new posters have been issued to the printing press
- - rscadd: Well contruction, grubs to ash walker home, more seeds for ash walkers.
- - rscadd: Wooden buckets can be made from 2 planks of wood, Tower caps also can
- be used on a fire to make coal
- - tweak: Makes all ashwalker round start seeds 5 yield and 50 harvest so that they
- can get good crops in rather then failing after 1 harvest
- - bugfix: arrow crafting has been fixed
- - balance: Blobs now can store 250 points.
- - spellcheck: Alien bar stool is no longer bronze
- - server: 28 days log changlogs have been added well 56+ day old changlogs have
- been removed
- - balance: Added sunglasses that are able to be huds AND prescription
- - rscadd: Prescription sunglasses and crafting of each new type for - Diagnostic,
- Med and Sec
- - rscadd: Diagnostic Sunglasses
- - bugfix: Blackists Prescription HUDs from sunglasses crafting
- - tweak: Cotton/Durathread now stack to 80 bundles
- - rscadd: Medical hardsuits now have a Medi-Hud built into its helm
- - rscdel: Removed old unused Techweb Node selling
- - imageadd: Corrects snowcones names and a pixle. Corrects Space Wind snowcone as
- well
- - bugfix: Arrow crafting has been fixed... Again...
- - rscadd: Soidifaction of and uranium can be done as well as making new bluespace
- shards
- - balance: Xeno and Fountain Hall will no longer spawn more then once
- - tweak: Makes the game want to spawn in more then one tumor maybe
- - tweak: Number of paper work in the crate "freelance paperwork" is half
- - code_imp: A few cases were something their is unneeded copy past replaced with
- many 1 in spawns
- - rscadd: Potass Iodide has been fitted into standered borgs as well as medical
- ones. Upgraded hypos now have Prussian Blue as well.
- - tweak: Syndi borgs Potass Iodide has been swapped for Prussian Blue
- - bugfix: No longer can you get the The End and Russian Flask without being the
- donator
- - balance: Pipes are small now
- - bugfix: Edaggers now enbed as intended
- - rscadd: The sleeper agents can be outfitted with some larger then normal sunglasses
- for 1TC in Badass category
- - rscadd: The Syndi Medical borg has been outfitted with the newest and latest ~~Stolen~~
- MediCo Gear on the market
- - rscadd: Ninjas may be asked to steal the CMO's smart drapes
- - tweak: Hyper Cell steal goal is upgraded to a bluespace cell, as well as the BoH
- goal now wants a type of BoH rather then the normal default one.
- - rscadd: Gutlunches have gotten teeth now and will eat legs, arms, and organs!
- - Tho are picky and will not eat the brain just laying about!
- Useroth:
- - bugfix: contractor tablets spawned with invalid icon_state
- Xantholne:
- - rscadd: Bumbles is now actually in every station's hydroponics.
- - bugfix: Bumbles will now actually rest, sit up, and buzz
- YakumoChen:
- - imageadd: Nekomata (double cat) tails.
- - imageadd: 2CAT LMAO
- - bugfix: Mining base looks more natural where it's spawned.
- - server: Templates Headers will now correctly use the Citadel Official Wiki Link
- Yenwodyah:
- - bugfix: Bear traps and bolas apply slowdown correctly again
- - bugfix: Recycler doesn't delete people in mechs, cardboard boxes, spells, etc.
- anymore.
- actioninja, ninjanomnom:
- - tweak: Being fat is no longer lessened by flying.
- - bugfix: The slowdown from grabbing someone no longer applies when you're floating.
- bunny232:
- - rscadd: Box bar now has a lightswitch.
- - bugfix: fixes several piping issues around box station
- - bugfix: moved a scrubber and vent down 5 pixels
- - rscadd: Box station captain office now has a standard issue renault
- - bugfix: Box bridge now actually has the air distro connected
- dapnee:
- - rscadd: Lambdastation and it's accompanying files
- - rscadd: Robotic's APC, a few missing buttons (bridge shutters and crematorium),
- paramedic has spawn locations now, two rapid cable deployers to engineering
- - tweak: Renamed some doors and edited engineering to be a bit more open in one
- spot
- - bugfix: a few APCs with bad area tags, access on maintenance doors fixed, engine
- APC is now connected to the grid instead of power created by the engine
- - rscdel: the two syringe guns in medical were removed
- - rscadd: couple gas masks around atmos
- - bugfix: direction on turbine plasma pressure tank, cloning actually has a cloning
- console now
- floyd:
- - bugfix: Everything made from glass in the game has a little more tegridy and doesnt
- break from a single punch.
- kappa-sama:
- - rscdel: removed laptops giving slowdown when open
- - balance: removed (mostly aesthetic) requirement to become hulk
- - bugfix: changed add to remove on crit
- - rscadd: a super combat shotgun that loads and fires 2 shells at a time
- - balance: replaces bubblegum's blood contract drop with the super shotgun
- - balance: 60 seconds instead of 120 for firebreath
- keronshb:
- - balance: blobs now receive a 50% cost refund on attacks that don't spread
- - balance: reflector blobs are considerably tougher
- - bugfix: fixed an integrity
- - bugfix: attempting to turn a damaged strong blob into a reflector blob now refunds
- points
- - bugfix: also fixes blob node camera jump (from another PR)
- kevinz000:
- - code_imp: Mobility flags are here. Fixed some edge cases with xeno hardstuns and
- similar stuff like warden's shotgun hardstuns and yeah.
- - rscadd: Security now has riot quarterstaves in their lethal shotgun locker.
- - tweak: Pushing is no longer free space movement.
- - tweak: You can now right click to point the tip of some sharp tipped weapons at
- people.
- - bugfix: compact defibs have 10k cells again
- - tweak: music max characters per line is now 150 instead of 50.
- - bugfix: storage no longer closes while being dragged
- - balance: disabler taser alt fire shots are faster and have a 14 tile range now
- - balance: HoS taser now only applies tased effect for 1 second and warden's pump
- action stun blaster no longer applies it at all.
- - balance: Nanite adrenals have been nerfed.
- - balance: Ninja stungloves nerfed 49 stamina to 25 (so they're basically just better
- than stunbatons).
- - tweak: Batons now also trigger disarm behavior in disarm intent and not just on
- right click.
- - refactor: combat mode/sprint/resisting lying down/attempting to crawl under all
- refactored, added combat/sprint mode lockouts, being locked out of combat mode
- no longer disables it and allows right click interactions etc etc
- - bugfix: hands free actions no longer check mobility and only consciousness.
- - rscadd: Minimaps, accessible via a button on OOC.
- - bugfix: unnecessary blindness post-unconsciouss has been fixed with a hack that's
- almost as garbage as the code that caused it in the first place.
- - bugfix: synthflesh and rezadone now take total amounts of both applied and existing
- reagents rather than only existing and only applied respectively.
- - balance: reverts bubblegum bloodling swarming.
- - balance: Beam rifles shot count 10 --> 5 and can no longer pierce. Also renders
- properly for reflections against blobs and some other things.
- - bugfix: being stunned no longer stops an ai from undeploying from a shell.
- - bugfix: beam rifles are less terrible code
- - code_imp: slowdown on items should now be set by set_slowdown().
- - bugfix: hypereutactic blades properly slow down their wielders when being used
- and vv-editing an item's slowdown will once again properly update someone's
- slowdown to take the new value into account.
- - balance: stunprods knockdown again.
- monster860:
- - tweak: You can now moan in soft crit
- - rscadd: Use Ctrl-Shift-direction key to shift your characters position. Use for
- ERP.
- necromanceranne:
- - rscadd: Ports New Sleeping Carp
- - refactor: Ports the martial arts refactors, which includes things like moving
- martial into the martial subfolder and renaming it _martial, and cleans up human_defense
- rising bass/sleeping carp exclusive code.
- - balance: Particle Defender is now a much more sane weapon.
- - balance: Tasers are no longer ignoring stimulants.
- - bugfix: Blood beam can't create harvesters out of mech pilots.
- - code_imp: Some minor fixes to fakedeath and a tg fix port.
- - bugfix: Bleeding out all your blood from getting love tapped by a toolbox.
- - bugfix: Diagnostic HUDSunglasses are better than ever!
- - bugfix: Sprite fixes I hope
- - balance: You can no longer acquire stun bullets in the .45 calibre. You can get
- the 30 damage version out of the autolathe instead.
- - balance: KITCHEN GUN (TM) is a lot stronger. Cleaning bullets are a whole 40 damage!
- - bugfix: Fixed turrets not allowing their guns to be recovered.
- - balance: Altered the plastitanium rapier from a perfect AP but weaker esword equivalent
- to a more unique sleep inducing melee weapon.
- - rscadd: Touched up all the relevant sprites.
- - balance: Nightvision goggles are nerfed all-round. Flashes have actual use against
- people using nightvision, as do flashbangs.
- - balance: Syndicate nuclear agents get to live peacefully knowing their eyes are
- well protected by their special night vision goggles. Spider clan also get these
- goggles.
- raspyosu:
- - rscadd: some flavor text for lunge, cloak
- - tweak: mesmerize, cloak functionality/requirements
- - balance: mesmerize, lunge, cloak
- - soundadd: lunge telegraph sound
- - spellcheck: mesmerized status icon flavor text
- - bugfix: cloak sometimes not restoring initial move intent
- - tweak: mesmerize (line of sight checking system and remove progress bar)
- - balance: 'nerf: lunge, mesmerize'
- spookydonut:
- - code_imp: adds selective duplicate component mode
- wesoda25:
- - code_imp: You no longer hit fermenting barrels when taking reagents from them
- zeroisthebiggay:
- - rscadd: kilo shuttle less bad
- - rscadd: tauric contractor space suits
- - tweak: ghost hud and nv defaults on
- - bugfix: syndicate elite hardsuit helmet doesnt hide masks anymore
- - balance: syndicate contractor helmets are no longer secretly lead
- - rscadd: Space Fashion has discovered a new way to wear bandannas. With some simple
- minor adjustments and ties, bandannas can be made into fashionable neckerchiefs!
- - rscadd: Box Station has gotten a brand new brig. Go and check it out and discover
- all the quirky little soulbits.
- - bugfix: box brig miscellaneous issues
- - bugfix: box station hos office
-2020-04-15:
- Arturlang:
- - rscadd: Adds garlic, a mutation of onions
- - rscadd: You can now make garlic necklaces.
- - tweak: Tweaked hunger to be more the same as blood level for bloodsuckers
- - tweak: Bloodsuckers no longer get zero healing from regenerative cores, the core
- now heals their wounds but not their blood.
- - balance: Bloodsucker heal is now based a lot more on blood level.
- - bugfix: You can no longer be effectively immortal when fully auged as a bloodsucker.
- - bugfix: Regenerative cores will regain their old names when they are renewed,
- no more working decayed cores.
- - code_imp: Removes a lot of unnecesiry clutter of comments and tries to make the
- vars more consistent for bloodsucker code.
- - code_imp: Made the regenerative core use one proc instead of copypasta
- Auris456852:
- - rscadd: Added printer sound for admins that plays when someone messages Centcomm
- or the Syndicate. Just like RP!
- Bhijn:
- - admin: The traitor panel now actually shows a list of contractor targets.
- - server: Fail2Topic now supports Linux. Do beware that this requires some sysop
- experience to properly set up!
- - config: Fail2Topic is now disabled by default, and the out-of-the-box config files
- have been updated to be a little more detailed.
- - rscadd: Added a lfwb-inspired orbiting pixel + flashing outline animation to the
- sprint and combat mode buttons. This can be toggled via the preferences menu,
- and is completely independent from all HUD themes.
- BuffEngineering:
- - bugfix: You may no longer summon plasteel from the door dimension.
- - tweak: High security airlocks are now 33% more materially efficient!
- DeltaFire15:
- - balance: clockie vanguard now quickly regenerates stam while active (as its description
- always told you,)
- Detective-Google:
- - balance: Shotguns are now slower and require two hands to fire.
- Ghommie:
- - bugfix: mobs with antag statuses such as wizard, ert and nuke ops get their flavor
- text removed now.
- - bugfix: Fixed megafauna mobs, goliaths and "anchored" AIs being stuffable into
- closets.
- - bugfix: After years of visual agony, the Curse of The Floating Disembodied Phallus
- has come to an end.
- - rscadd: Underwear now fulfills its purpose.
- - rscadd: Privates visibility preferences.
- - refactor: refactored polychromic clothing into an element.
- - tweak: Blacklists unsynthetizable reagents from botany bees honey production.
- - bugfix: Fixed toilet cistern loot spawning on the floor.
- - tweak: The megafauna's hitbox doesn't include 0 alpha sections anymore.
- - bugfix: Wizard robes & co work again now.
- - bugfix: Fixed some spell casting message spam.
- - rscadd: Added M/F body preferences.
- - bugfix: fixed yet another few airless issues with the space hermit ruin.
- - bugfix: Intellectual property infringment is not cool.
- - bugfix: Near-station nuclear explosions now display the on-station nuke explosion
- cinematic, consistently with its clearance of the station level and its nuclear
- victory / total annihilation ending status.
- - balance: Nuclear bombs can't be anchored in space areas (not just turfs) anymore,
- as a quick effortless way to discourage players from anchoring the device on
- the edge of the map.
- - bugfix: Fixed a whacky miniature cell duping issue.
- - bugfix: Liver failure is back!
- - tweak: standarized a few (prefs off) side effects from enlargment chems on livers
- to do organ damage instead without the blood volume whackiness.
- - tweak: High liver damage now slows mobs down.
- - bugfix: Fixing an issue with the split personality removing the original owner
- from the round if the body died while the stranger was in control.
- - bugfix: fixed a few floaty sprite accessories.
- - bugfix: Fixed a few mutations not working correctly.
- - bugfix: Fixed the phantom thief component, again.
- - refactor: Made votes obfuscation settings more robust.
- - admin: Also included them in custom votes.
- - tweak: The map rotation vote will only hide ongoing votes now, not the results.
- - balance: The crusher's vortex talisman trophy now has a cooldown between each
- spawned wall.
- - refactor: Backend body size preferences.
- - bugfix: Infiltrator's boots don't stop slips and "space wind" through the power
- of runtime errors anymore, and properly silence the user's footsteps now.
- - tweak: Chaplains are now inelegible for bloodsuckers.
- - bugfix: Fixed crafting hud icon overlapping the second pocket on 1:1 screen mode.
- - code_imp: Removed some dead flightsuit code leftovers.
- - rscadd: Reenabled the swarmers event. Also blacklisted another dozen other machineries
- and structures that may be critical to the shift or station integrity from swarmers'
- HUNGER for materials.
- - bugfix: Fixed find_safe_turfs() searching for turfs with concentration of oxygen
- lower than 16 rather higher.
- KathrinBailey:
- - rscadd: Radiation shuttesr to all supermatters.
- - rscadd: Windowed shutters to armouries where relevant.
- - rscadd: New posters are now on the map in relevant locations.
- - bugfix: Windowed shutter now has glass, the door closing proc sees this and no
- longer changes opacity.
- - bugfix: Accidental HoochMaster removal in the bar.
- - bugfix: Spawning looking at the supermatter with no mesons on Meta.
- - bugfix: Missing disposal pipe outside HoP office.
- - bugfix: Sofas were never adjusted when the pool was added.
- - rscadd: New shutter sprites
- - rscadd: Reinforced Shutter
- - rscadd: Radiation Shutter
- - rscadd: Window Shutter
- - tweak: Shutters not being blast doors functionally.
- - balance: Shutter armour block and health.
- Kraseo:
- - balance: Sneaksuit now costs 5 TC rather than 3.
- - bugfix: You can break out of neckgrabs once more.
- Owai-Seek:
- - rscadd: Port Pina Colada, Painkiller, Moscow Mule, Hivemind Eraser, Moana Lou
- Drinks
- - rscadd: Gunfire, Hellfire, Sins Delight, Strawberry Daiquiri, Miami Vice, Malibu
- Sunset, Lizz Fizz, Hotline Miami
- - rscadd: Strawberry and Pineapple Juice
- - rscadd: Salami Slices
- - tweak: Soda Dispenser Juices
- - tweak: Reorganize Vendor Objects (Bowls, Glasses, Shot Glasses)
- - tweak: Strawberry Milk and Tea actually use strawberry Juice.
- - tweak: Lizards can eat egg wraps. Moved Egg Wraps to Misc
- PersianXerxes:
- - rscadd: 'TGUI Next UIs for: chem heaters, chem masters, chem dispensers, and sleepers'
- - code_imp: Reworked Chem Master code
- Putnam3145:
- - rscdel: No more station integrity goal
- - tweak: Upload-hacked-law goal only picksif there's an AI to upload to
- - rscadd: A new, much more barebones holding facility for contractors.
- - rscdel: Energy nets are gone.
- - tweak: Various ghost roles are now easier to ghost as.
- - tweak: The candles in the dojo no longer make the place hotter and hotter over
- time.
- - rscdel: Nymphomania removed
- - code_imp: Exhibitionism ignored by preferences now, since it was also removed
- - code_imp: Quirk migration now does an admin log instead of a stack trace
- - bugfix: Roundstart rulesets now roll properly.
- - config: Added configs for various antag threat levels.
- - bugfix: Fixed a runtime in threat calculation.
- - tweak: Fixed up some misleading texts.
- - tweak: 'Dynamic reworked to be more "storyteller-like": threat is now how threatened
- the station is right now and threat level is how much the mode wants the station
- to be threatened.'
- - tweak: Random storyteller is now truly random.
- - tweak: Story storyteller now gives a nice rising-action-climax-falling action
- curve for threat level.
- - tweak: '"Chaotic" storyteller now simply ramps up threat level as round goes on.'
- - rscadd: '"Classic" storyteller, basically doing what "random" did before.'
- - rscadd: Latejoin changelings for dynamic
- - bugfix: Average threat calculation works now
- - bugfix: Contamination is back.
- Seris02:
- - balance: stops hijackers from being able to remotely blow up borgs
- - rscadd: wall walking boots
- - bugfix: made color picking for character appearance show the colors when you pick
- them
- - tweak: the sergal markings
- Trilbyspaceclone:
- - rscadd: Cooks aided by Clowns have came out with and new healthy Salad - Caesar
- Salad. Just dont eat the knife...
- - rscadd: Ports over TG's Mortars and Pestles.
- - balance: Water, Holywater and Unholywater will now now quickly purge itself if
- you have 151u in your system
- - rscadd: Most crate types can now be made, some costing more do to function over
- fashion
- - rscadd: Medical Mechs syringe gun now knows many more life saving chems, like
- Insulin, Dexalin, Prussian Blue, Kelotane and Bicaridine
- - balance: torches take less staminda to use.
- - balance: Glowsticks dont last as long
- - balance: Penlights are better at being lights
- - balance: Torches are brighter then before - Indian Johns want to be on lava land
- rejoy!
- - balance: Eye lights have 30% less light coming out of them.
- - spellcheck: Spec Ops crate no longer talks about a "Null Crate" what ever that
- is
- - server: Changlogs are updateded once again as of the 28th of March on year 2020
- - balance: White Ships, Telerelays and a defunk mining post are now always going
- to spawn.
- - spellcheck: Corrects a few desc on station side ruins
- Xantholne:
- - bugfix: bumbles will stop sleeping so much
- actioninja:
- - rscadd: Washing machines now support arbitrary dye color
- - rscadd: Washing machines now dye nearly every item.
- - refactor: lots of backend changes to clothing overlays, report any issues
- - rscadd: Better glowing lights
- actioninja (ported by Ghommie):
- - refactor: repathed all under clothing, keep an eye out for errors.
- bunny232:
- - bugfix: Box secmos now is now longer connected to the scrubber loop
- dapnee:
- - rscadd: plant disk sorter in botany, bounty console for the rest of cargo, a missing
- air alarm in the incinerator
- - tweak: fixed a decal in front of security, moved an AIR alarm so it doesn't look
- awful to ghosts/AI, asteroids don't delete air anymore, fixed more active turfs,
- the buttons in the bridge "should" work now, HoP and cargo desks should be secure
- now
- - rscdel: quarters that found their way out of the quartermaster's back room
- kappa-sama:
- - rscdel: normies can no longer steal circuit codes
- - balance: doubles the Stam damage of nonlethal krav stompers
- - bugfix: no longer Krav Maga stomp people that are standing
- - balance: no more 20pop requirement for noslips
- keronshb:
- - tweak: Reverts Mining Base RNG Placement
- kevinz000:
- - rscadd: Melee attacks now stagger people, preventing them from sprinting until
- the (relatively short lived) effect runs out. Duration equation is [(1.5 + (w_class/7.5))
- * force].
- - balance: Fireman carrying now makes the person being carried unable to use items.
- Piggybacking now slows down the person being ridden. In both cases, the person
- riding will be dazed when forcefully dismounted, and dazed for a second if dismounting
- from piggybacking
- - bugfix: turfs properly initialize atom colors if they're colored.
- - tweak: cloners now stabilize mutations while someone's cloning, meaning active
- genes will not life tick.
- - code_imp: datum/pipeline return_air stack trace now gives a reference so it's
- actually marginally useful if caught in round.
- - rscadd: Volumetric storage is here.
- - rscadd: Traitor chaplains can now become neutered versions of cults.
- - bugfix: beams should no longer go across the map and mess everything up if their
- source or target isn't on a turf.
- kiwedespars:
- - rscadd: Added paper masks.
- necromanceranne:
- - bugfix: Fixed limb damage calc
- - tweak: Stunslugs are now a mixed damage taser-like slug that will allow you to
- apply a variety of damage while still being countered by tasers usual counters.
- - balance: Mech scattershot guns are no longer oneshotting people into stamina crit.
- - rscdel: 'Removed an number of cargo crate packs: Riot shotguns/standard shotguns,
- double barreled shotguns, techshell crate, swat tasers, WT550 types (not rubber
- or standard), traitor theft objective kits.'
- - balance: HEALTH AND STAMINA DON'T STACK FOR PUTTING YOU INTO STAMINA CRIT.
- - balance: YOUR FISTS ARE HELLA GODDAMN STRONG.
- - balance: 'ACCEPT THE FELINIDS WARES, FOR SKOOMA HAS INCREDIBLE LETHAL PROPERTIES:
- YOUR HANDS BECOME LIKE SWORDS.'
- - balance: BOXERS CAN ONLY KNOCK OUT OTHER BOXERS BECAUSE THEY HAVE HONOR OR SOME
- SHIT
- - balance: INCREASED STAMINA DAMAGE TO LIMBS FROM 50% TO 75%.
- - balance: Double-barreled shotguns and any child of such now can be used with off-hand
- equipment.
- - rscadd: Readds bioterror darts to the nuclear operative uplink for the legacy
- price of 6tc! Has all new horrid reagents!
- - balance: Scatterlaser is now in-line with buckshot. Nukies can't purchase scatterlaser
- shot.
- - rscdel: Null crates are no longer available in cargo!
- - bugfix: Sleeping Carp and Rising Bass now dodge. Again.
- - bugfix: Russian Revolver can no longer be exploited for a free 357.
- - balance: Several guns now shoot exactly where you click regardless of movement
- or turning.
- timothyteakettle:
- - rscadd: added beacon for cooks to choose an ingredient box, which replaces the
- random box they used to receive
- - rscadd: added a new sushi ingredients box
- - rscadd: added more items to the wildcard box's possible contents
- - rscadd: add new holodeck wrestling belt which lets you use moves only on those
- also wearing it
- - rscadd: add new holodeck map featuring the holodeck wrestling belt
- - rscadd: new reagent 'Condensed Cooking Oil'
- - tweak: list of chems that can go into fried non-food items was changed
- zeroisthebiggay:
- - rscadd: sneaksuit to contractor items
- - tweak: sneaksuit is a bundle
- - rscdel: intel potion and radio implant from contractor items
- - rscadd: ghosts can now DNR
- - balance: sneaksuit is not fireproof
- - bugfix: insidious balaclava muzzlepsprite works
- - rscadd: You can now choose your name and color as a holoparasite/guardian/holocarp!
- - bugfix: fixes lings being able to get mechanical holoparasites
-2020-04-16:
- ForrestWick:
- - tweak: changed a certain item to be called meatball, ended racism, thank you obama
- Linzolle:
- - tweak: remove any slurs, etc. to comply with GitHub's ToS
-2020-04-19:
- Anonymous:
- - rscadd: Xenohybrids will now scream like xeno.
- Arturlang:
- - bugfix: You can no longer spam craft things using the crafting menu
- Detective-Google:
- - bugfix: uncorks some of Lambda's rooms.
- Ghommie:
- - rscadd: Custom skin tone preferences.
- - tweak: Normalized box dorm lockers. Also removed a straight jacket found in the
- same area.
- Jake Park:
- - bugfix: fixed path name for youtool vending
- Putnam3145:
- - bugfix: Objectives now clean theirselves up instead of leaving null entries in
- lists everywhere.
- Seris02:
- - bugfix: stops magboots from not updating slowdowns
- Trilbyspaceclone:
- - rscadd: Maints have seen an uptick in left over types of welders, and tools. As
- well as different types of masks
- - rscadd: New type of 02 locker - Rng! It can have almost any type of gas/breath
- mask and almost any type of o2 tank as well as even plasma men internals - Fancy!
- - tweak: Tool lockers have 70% odds to have a spare random tool inside!
- - rscadd: 12 new more drinks for most races!
- - rscadd: New animations for mauna loa, and colour swap from red to blue for a Paramedic
- Hardsuit helm
- - tweak: Lowers cog champ ((the drink)) flare rate
- - rscadd: Six more Sci based bounties have been posted at your local Cargo Bounty
- Request console
- - bugfix: Mimes have made catnip plants not become invisible. How helpful.
- - rscadd: Honey Palm now distills into mead rather then wine
- UristMcAstronaut:
- - rscadd: Adds circuit analyzers to maps and to integrated circuit printer and circuitry
- starter crate.
- kappa-sama:
- - balance: aranesp heals 10 instead of 18 stamina per tick
- - rscdel: removed roundstart hyper earrape screams from xenohybrids
- kevinz000:
- - bugfix: you can no longer stun xenos
- - balance: Contractor kits are now poplocked to 30 players.
- - rscadd: Shield bashing has been added
- necromanceranne:
- - rscadd: You can now craft armwraps!
- - balance: Pugilists disarm you more easily and are harder to disarm. They also
- get a discount on disarm.
- - balance: Pugilists only suffer a flat 10% chance to miss you. It's just like old
- punches! Kinda.
- - balance: Chaplain's armbands are a +2, up from a +1!
- - balance: Martial artists spend stamina when they disarm.
- - balance: Rising Bass had several moves shortened and made stronger. Has a disarm
- override attack which does stamina damage and trips people on a disarm stun
- punch.
- - balance: CQC had it's disarm move altered to be a stronger version of Krav Maga's.
- Dizzies and disarms on a disarm stun punch or just does some stamina damage
- and brute damage.
- - balance: Sleeping Carp can punch you to the floor on a harm stun punch.
- - bugfix: Hugs of the Northstar are no longer nodrop.
- - bugfix: Adding in some overrides and proper flag checks for martial arts.
- - bugfix: Stun thresholding stops disarm spams at extremely high stamina loss.
- - tweak: Ashen Arrows are actually called Ashen Arrows in the crafting menu.
-2020-06-08:
- DeltaFire15:
- - bugfix: Delinging now properly removes their special role
- - balance: Keycard auth devices now require two seperate IDs with sufficient access
- to auth.
- Linzolle:
- - bugfix: shotguns no longer delete chambered shells while firing
- kevinz000:
- - rscadd: test
- - rscdel: test
- shellspeed1:
- - rscadd: Internal tanks are now printable at the engineering lathe.
- timothyteakettle:
- - bugfix: newly created areas using blueprints now maintain the previous areas noteleport
- value
- - bugfix: kudzu seeds now actually spawn vines
-2020-06-09:
- Anonymous:
- - rscadd: Added Orville-inspired clothing as a worthy alternative to Trek stuff.
- - tweak: Adds chaplain role allowance to the TMP Service Uniform loadout.
- - tweak: Adds paramedic in every medsci mentioned uniform loadout.
- DeltaFire15:
- - bugfix: Offstation AIs can once again only interact with their z-level
- Ghommie:
- - bugfix: Fixing IC material containers interaction with stacks, for real.
- Trilbyspaceclone:
- - tweak: Gasses like BZ and Masiam seem to just sell for less in cargo, markets
- seem to change it seems
- kevinz000:
- - balance: plantpeople should stop dying in the halls now
- - rscadd: Modifier-independent hotkey bindings have been added.
-2020-06-10:
- DeltaFire15:
- - bugfix: Golems / simillar now inherit the neutered antag datum if the creator
- is neutered.
- Ghommie:
- - bugfix: Fixing missing pill type buttons from the chem master UI.
- Naksu:
- - code_imp: Lighting corner updates are ever so slightly faster.
- Putnam for helping me code the contamination clearing on people:
- - rscadd: Lab made Zeolites have been remade anew and more affective now that they
- refined the best possable way to mix and make a supper Zeolite capable of clearing
- contamination form not only people but items!
- Trilbyspaceclone:
- - tweak: Tank Dispender has been moved into toxin storage from toxins
- kevinz000:
- - rscadd: traitor classes can now be poplocked. hijack/glorious death are now locked
- to 25/20 respectively.
- timothyteakettle:
- - rscadd: adds a new fermichem, used for creating sentient plushies!
- - rscadd: Mice can now breed using cheese wedges
- - rscadd: Royal cheese can be crafted to convert a mouse into king rat
-2020-06-11:
- Ghommie:
- - balance: Balanced vending machine prices to be generally more affordable, a minority
- has been priced up though.
-2020-06-12:
- EmeraldSundisk:
- - tweak: The Detective's Office has been commandeered in order to serve a Head of
- Security. Detectives will find their new office within starboard maintenance.
- - rscadd: Adds the Head of Security's standard equipment to their new office.
- - tweak: Slight adjustment/expansion to the main security department
- - rscadd: Additional maintenance work
- timothyteakettle:
- - rscadd: Crabs, cockroaches, slimes and crabs are now small enough to fit in pet
- carriers
-2020-06-14:
- Bhijn:
- - bugfix: raw HTML can no longer be used in flavortext
- - rscadd: Added Lesbian Visibility Day (April 26th)
- - rscadd: Added Bisexual Visibility Day (September 23rd)
- - rscadd: Added Coming Out Day! (October 11th)
- - rscadd: Added Intersex Awareness Day (October 26th)
- - rscadd: Added Transgender Awareness Week (November 13th - 19th)
- - rscadd: Added the Transgender Day of Remembrance (November 20th)
- - rscadd: Added Asexual Awareness Week (Last full week of October, this year it'll
- be Oct. 25-31)
- - rscadd: Added the Stonewall Riot Anniversary (June 28)
- - bugfix: Moth week is now *actually* the last full week of July, instead of the
- 4th of every weekday + the 5th Sunday.
- Floof Ball / Kathrin Morrison / Floof Ball#0798:
- - rscadd: Improvised Pistol + 32 ACP ammo.
- - rscadd: Improvised Energy Gun. Fires 5 shots of 10 burn damage each. Can be upgraded
- with a lens made from glassworking and T4 parts for a minor buff.
- - rscadd: Ammo + gun part loot spawners for mappers.
- - rscadd: New sprites for Improvised Rifle, the ability to sling the rifle and a
- sprite for that.
- - rscadd: New sprites for the Improvised Shotgun and its sling sprite.
- - balance: Improvised shotguns are now two-handed only.
- - balance: Improvised shotguns now only have a much less harsh 0.9* modifier, keeping
- them two hits to crit with slugs and buckshot. It can no longer be dual-wielded
- but can still be sawn off for w_class medium (can fit in backpacks).
- - bugfix: Missing handsaw icons added in.
- - tweak: Crafting table cleaned up into sections.
- Ghommie:
- - tweak: changed the weak attack message prefix from "inefficiently" to "limply",
- "feebly" and "saplessly" and lowered the threshold.
- - bugfix: Fixing old beserker hardsuits having the wrong helmet type.
- The0bserver and Stewydeadmike:
- - rscadd: Hey, there's a bit of dust in this recipe book! Recipes using peas? How
- many recipes does this book even have?
- - rscadd: Adds 6 new food items, and 1 new consumable reagent using all forms of
- the recently discovered peas. Ask your local botanist and chef for them today!
- YakumoChen:
- - tweak: Adds polychrome options to loadout
- - tweak: Adds risque polychrome options to Kinkmate vendors
- kevinz000:
- - bugfix: emissive blockers can no longer be radioactive.
- - rscadd: Ghosts can now scan air inside most objects that contain air by clicking
- on them.
- - rscadd: Directional blocking has been added, keybound to G. This will reduce a
- portion of incoming damage if done with eligible items at the cost of stamina
- damage incurred to the user based on damage blocked as well as while active,
- as well as in most cases preventing the user from doing any attacks while this
- is active.
- - rscadd: Parrying has been added, keybound to F. Timing-based counterattacks, effect
- heavily dependent on the item, WIP.
- - balance: Disks are now smaller.
-2020-06-15:
- Anturk, kevinz000:
- - bugfix: VV now properly allows access to datums in associative lists
- - rscadd: SDQL2 printout has been upgraded for the 5th time.
- kevinz000:
- - bugfix: plushies now work. credits to timothytea.
- - rscadd: You can now tape knives to cleanbots
- kevinz000 (port from VOREStation):
- - imageadd: Ported zoomba skins for cyborgs.
-2020-06-16:
- Ghommie:
- - bugfix: You can't blink nor use LOOC/AOOC as a petrified statue anymore.
- Trilbyspaceclone:
- - tweak: BEPIS decal painter has been moved to venders, replacing it being the flashdark
- kevinz000:
- - refactor: projectile ricochets now use a less hilariously terrible way of being
- handled and should be easier to w
- - bugfix: projectile runtime/ricocheting
- - balance: Lobotomy no longer has a 50% chance of giving you a nigh-unremovable
- trauma, but does 50 brain damage even on success. On failure, it will give you
- a lobotomy-class trauma.
- - balance: spinesnapping from tackling now only gives a lobotomy class trauma instead
- of magic.
- timothyteakettle:
- - bugfix: Food carts now function as intended, allowing the pouring and mixing of
- drinks.
- - rscadd: slimes can now change their color using alter form
-2020-06-17:
- SmArtKar:
- - rscadd: New ID icons
- - rscadd: Sutures and Meshes
- Trilbyspaceclone:
- - bugfix: Gin export takes gin now
-2020-06-18:
- Detective-Google:
- - tweak: cog is now less the suck
- - bugfix: couple little derpy bits
- - balance: malf disk and illegal tech disk moved from ashwalker base (guaranteed)
- to tendrils (chance based)
- SmArtKar:
- - rscadd: Ported shuttles from beestation
- timothyteakettle:
- - rscadd: embeds got reworked, sticky tape was added, more bullets that ricochet
- also added
- - rscadd: medbots can now be tipped over
- - soundadd: added more medbot sounds
-2020-06-19:
- Bhijn:
- - bugfix: Atmos can no longer become completely bricked
- Funce:
- - bugfix: Square root circuit should now actually work.
- SmArtKar:
- - bugfix: Fixed my runtimes
- TheSpaghetti:
- - rscadd: more insectoid insects
- kevinz000:
- - rscadd: bay/polaris style say_emphasis has been added. You can now |italicize|
- _underline_ and +bold+ your messages.
- timothyteakettle:
- - rscadd: Adds the brain trauma event, where one player gets a random brain trauma!
- - rscadd: Adds the wisdom cow event, where the wisdom cow appears on the station!
- - rscadd: Adds the fake virus event, where people get fake virus symptoms.
- - rscadd: Adds the stray cargo pod event, where a cargo pod crashes into the station.
- - rscadd: Adds the fugitives event, where fugitives are loose on the station, and
- it's the hunters jobs to capture them.
-2020-06-20:
- LetterN:
- - rscadd: Asset cache from tg
- - tweak: Made the map viewer not look bad
- - bugfix: Admin matrix right-bracket
- bunny232:
- - rscdel: Removed unsavory things from the vent clog event
-2020-06-21:
- kevinz000:
- - balance: calculations for punch hit chance has been drastically buffed in favor
- of the attacker.
-2020-06-22:
- Ghommie (porting PRs by zxaber, Ryll-Ryll, AnturK):
- - tweak: Certain small items purchased through cargo now get grouped into a single
- box. They also are immune to the 10% private account fee.
- - rscadd: Added single-order options for several existing products in the Cargo
- Catalog.
- - tweak: Medkit listings are now single-pack items, and considered small items that
- get grouped into single boxes. Price for medkits is as close to unchanged as
- is reasonable.
- - rscadd: You can now beat on vending machines to try and knock loose free stuff!
- You can also almost kill yourself doing it, so it's your call if your life is
- worth ten bucks.
- - rscadd: Cigarette packets now have coupons on the back for small cargo items!
- Smoking DOES pay!
- - tweak: Some single/small items in cargo have been rebranded as goodies, come in
- lockboxes rather than crates, and can only be purchased with private accounts.
- kevinz000:
- - refactor: Life() is split into BiologicalLife() and PhysicalLife. A component
- signal has been added that can prevent either from ticking.
- shellspeed1:
- - rscadd: Adds IV bags.
-2020-06-24:
- DeltaFire15:
- - balance: Choosing a random item in your uplink will no longer sometimes reroll
- your contract.
- - rscdel: Syndicate crate event cannot fire as a random event anymore.
- Detective-Google:
- - bugfix: singulos no longer succ infinite rods out of the ice
- - bugfix: one of the directions for the diag hudpatch was blu instead of orang
- timothyteakettle:
- - bugfix: bonfires/grills no longer produce infinite quantities of food
- - bugfix: slime's alter form ability now updates their hair colour when changing
- their body colour
-2020-06-25:
- Anonymous:
- - rscadd: Added kepi and orvilike kepi. Available through loadout.
- Detective Google:
- - rscadd: Medigygax
- Detective-Google:
- - bugfix: malf AIs can no longer yeet the station while shunted
- - bugfix: SMESes can now properly use self charging cells
- - rscadd: ghosts now show up when the round ends
- - balance: away missions
- Funce:
- - bugfix: Mentor SQL queries are now deleted properly.
- Linzolle:
- - bugfix: analyze function on chem master is no longer broken
- - bugfix: organs now decay inside dead bodies again
- dapnee:
- - rscadd: wataur bottle item
- - imageadd: wataur bottle and overlay
-2020-06-26:
- Ghommie:
- - bugfix: Snore spam.
- - bugfix: Hostile mobs shouldn't hit their original spawner structures or thoses
- of the same faction.
- silicons:
- - bugfix: soap cleans blood again
-2020-06-27:
- Detective-Google:
- - tweak: Lying down is better
- timothyteakettle:
- - rscadd: felinids now nya when tabled
-2020-06-28:
- Detective-Google:
- - bugfix: cog is less the suck
- - tweak: piggybacking is no longer absolutely inferior
- Ghommie:
- - bugfix: Fixing windows interaction with spraycans.
- - bugfix: Fixing kinetic accelerator guns not working well with gun circuitries.
- - bugfix: Fixing Zoomba borgs lights overlays.
- - bugfix: Fixing the "absorb another ling" and "absorb the most dna" objectives
- rolling when no other changeling is around.
- - spellcheck: Clarified a pet peeve about the spread infestation ability.
- - bugfix: BEPIS nodes won't show up anymore in the expert mode ui of the r&d console
- anymore (good thing they weren't researchable).
- - bugfix: Hopefully fixing sound loop edge cases.
- - bugfix: Fixing pAI radios being permanently disabled by EMPs at times.
- - rscadd: Windoors can now be obscured with spraycans just like windows.
- Ghommie porting PRs by Qustinnus/Floyd, Willow, cacogen, nemvar, Ghilker and EOBGames (Inept):
- - bugfix: Fixes a material duplication bug.
- - code_imp: unique combinations of custom_materials lists are now shared between
- objects
- - rscadd: meat material. yes.
- - rscadd: materials can now be used to build walls/floors. meat house
- - bugfix: edible component now does not try to attack if you eat something with
- it
- - rscadd: Texture support for mat datums with thanks to 4DPlanner!
- - bugfix: you no longer hit yourself with organs when eating
- - rscadd: A whole bunch of materials are now datumised! Check out bronze, runed
- metal, sand, sandstone, snow, paper, cardboard, bone and bamboo. Oh, and pizza.
- Yes, pizza.
- - balance: Buffs material floor tiles' throwforces from 1 to 10 (same as iron) to
- better showcase the effect of different materials (e.g. meat vs. titanium)
- - bugfix: Radioactive items no longer output a single . when examined at a distance
- MrJWhit:
- - rscdel: Removed air alarm in Snow Snaxi in Tcomms Sat
- - rscdel: Removed trash bins in genetics and mining
- - tweak: Gives cargo techs a cargolathe
- Putnam3145:
- - bugfix: lost my mind just a couple of times
- b1tt3r1n0:
- - rscadd: pouches, again, and and material pouches.
- timothyteakettle:
- - rscadd: support for custom blood colours implemented, slimes blood colour now
- equivalent to their body colour
-2020-06-29:
- b1tt3r1n0:
- - balance: Made teratomas from sdgf less powergame
- timothyteakettle:
- - bugfix: slimes no longer have white blood by default
-2020-06-30:
- Fikou:
- - rscadd: spray cans, airlock painters, and decal painters added to engineering/service/autolathe
- (where applicable)
- Ghommie:
- - bugfix: Fixed a gap on the male insect anthro torso sprite when facing south.
- - bugfix: Fixed mecha ID access not being removable.
- - bugfix: Fixed a peeve with the hypno trance status effect not sanitizing some
- heard hypnosis inputs (i.e. custom say messages like say"honks*clownem ipsum
- dolor")
- - bugfix: fixed an issue about using stacks with only 1 amount left.
- - bugfix: Fixed a peeve on attack messages against carbons/humans.
- - bugfix: Fixed missing hypnochair board.
- - bugfix: Fixed material walls and tiles. My bad on that port.
- Ghommie (inspired by MrDoomBringer's work on tgstation):
- - rscadd: New check skills UI.
- Ghommie (porting PRs by XTDM, coiax, MrDoomBringer):
- - tweak: Random Events now have a follow link for ghosts!
- - rscadd: Adds the Spontaneous Brain Trauma to the event pool. Sometimes your brain
- just goes a little wrong.
- - rscadd: Sometimes a low level cloning pod will make errors in replicating your
- brain, leaving you with a mild brain trauma.
- - rscadd: When a person is cloned, any mental traumas are cloned as well.
- - rscadd: The wizard federation announces that the Curse of Madness is out of beta
- and is now available for purchase for 4 points. It causes long-lasting brain
- traumas to all inhabitants of a target space station.
- - rscadd: The wizard federation declines responsibility for any self-harm caused
- by curses cast while inside the targeted station.
- - rscadd: Due to the extensive testing of the Curse of Madness some unique new trauma
- types have appeared across Nanotrasen-controlled space.
- - rscadd: Curse of Madness can now be triggered by a wizard's Summon Events, at
- the same chance as Summon Guns or Summon Magic.
- - admin: When an admin triggers Curse of Madness manually, they can specify their
- own dark truth to horrify the station with.
- nightred:
- - code_imp: Created two_handed component
- - refactor: Updated all existing two handed items to use the new component
- silicons:
- - bugfix: typing indicators no longer generates duplicate message boxes.
- - rscadd: config errors now have line numbers.
- - tweak: outgoing mentorpms are now blue instead of green for the sender.
- - soundadd: '*squish'
- timothyteakettle:
- - rscadd: you can now select your tongue and speech verb in the character customization
- menu!
- - rscadd: skeleton is now split into two more types, greater and lesser
- - bugfix: non-carbon blood is now not white
- - spellcheck: fixed a bunch of grammar/spelling mistakes
-2020-07-02:
- Ghommie:
- - bugfix: Fixing a few issues with twohanded items.
- - bugfix: Unum decks now work correctly.
- - bugfix: Abductor walls are once again buildable with alien alloy.
- Trilbyspaceclone:
- - tweak: Makes pride and envy ruin a bit smaller!
- - rscadd: Pride now has rings, lipstick wigs and silver walls/door making a nice
- and polished look then cyan blue walls.
- - rscadd: more trash and better dagger placement on food ruin
- - rscadd: Snowboim now has snowballs and toy gifts for the two skeles daw!
- - tweak: Beach boim now has carp light branding beer, as well as soap!
- - tweak: Greed ruin now uses nice slick walls and carpet!
- - tweak: Founten ruin looks a lot better with its carpets and well maintained fluff
- things, but walls suffered and no longer can salvage ruined metal...
- - rscadd: Alien nest has a bit more glowy floors of resin looking a bit more lived
- in by the drones. As well as the "door" now being see through resin rather then
- the thicker stuff that you cant see through
- - rscadd: Pizza party has a few more gifts, some candy and snap pops yay!
- - balance: Sloth ruin is about 15~ tiles shorter, has and has more fruit for a bowl.
- How lazy!
- silicons:
- - bugfix: bohbombing is a thing now
-2020-07-03:
- Arturlang:
- - rscadd: You can now toggle hardsuit helmets from the strip menu
- Ghommie:
- - bugfix: fixed custom speech/tongue stuff.
- - balance: Lowered shaft miners' paycheck, they have other ways to make cash.
- - rscadd: You can't (un)equip garments on/from obscured inventory slots anymore.
- - balance: The stamina cost multiplier for swinging melee weapons against mobs has
- been brought back to 1 from 0.8
- - balance: The stamina cost for throwing mobs now scales with their mob size variable.
- LetterN:
- - tweak: Ported some tags from tgui-3.0 to Vending.js
- - bugfix: vending icons
- - bugfix: r&d icons
- - bugfix: chem master icons
- Onule:
- - tweak: titanium wall man good
- Sonic121x:
- - bugfix: Bringback the ChemMaster pill type button.
- - bugfix: Fix Technode icon.
- bunny232:
- - tweak: Witchhunter hat no longer obscures mask ears ,eyes, face and mouth
- timothyteakettle:
- - bugfix: bloodpacks initialise correctly now
-2020-07-04:
- Sonic121x:
- - rscadd: crushed Soldry sodacan
- - rscadd: digitigrade version of chief medical officer's turtleneck and captain's
- female formal outfit.
- silicons:
- - refactor: blood_DNA["color"] is now a single variable instead of a list
-2020-07-05:
- Ghommie:
- - bugfix: You can now actually gain wiring experience from using cable coils.
- - bugfix: Opening the View Skill Panel shouldn't trigger messages about insufficient
- admin privileges anymore.
- Yakumo Chen, kappa-sama:
- - rscdel: Removes improvised handguns
- - rscdel: removed handsaws, improvised gun barrels (you can use atmos pipes again)
- - balance: Guncrafting is less time and resource intensive
- - tweak: Item names in guncrafting are user-friendly.
- kappa-sama:
- - rscadd: cloth string to replace durathread string
- - rscdel: durathread string
- - balance: All bows and arrows have had crafting times significantly reduced, coming
- out at up to 6 times faster crafting speeds. Improvised bows no longer require
- durathread; instead, they use cloth materials.
- silicons:
- - tweak: active blocking now has a toggle keybind
- - rscadd: auto bunker override verb has been added
- - balance: shields take 2.5 stam instead of 3.5 stam per second to maintain block
- - rscadd: Cybernetic implant shields will auto-extend and be used to block if the
- user has no item to block with
- timothyteakettle:
- - tweak: cooking oil is now far less lethal, requiring a higher volume of the reagent
- to deal more damage
-2020-07-07:
- KasparoVy:
- - tweak: Fixes misaligned south-facing silver legwraps sprite.
- Owai-Seek:
- - bugfix: Bee Balm is now visible.
- Weblure:
- - bugfix: Fixed the slowdown formula for small character sprites; you guys don't
- use custom sprite sizes so just ignore these changes.
- - bugfix: Fixed the "Move it to the threshold" button; it now does what it says.
- - tweak: Reworded some text to be clearer.
-2020-07-08:
- DeltaFire15:
- - bugfix: The kill-once objective now works properly.
- EmeraldSundisk:
- - rscadd: CogStation now has an apothecary
- - rscdel: Removes an outdated note on sleepers
- - tweak: Readjusts CogStation's chemistry lab
- - tweak: Slight area designation adjustments for Robotics
- - bugfix: The arrivals plaque should be readable now
- Owai-Seek:
- - rscadd: Margarine, Chili Cheese Fries.
- - tweak: Egg Wraps are now categorized under egg foods.
- - bugfix: Tuna Sandwich crafting/sprite is now visible.
- - imageadd: Icons for chicken, cooked chicken, steak, grilled carp, corndogs
- - imageadd: Icons for chili cheese fries, margarine, BLT sandwich
- - imageadd: (Unused) icons for raw meatballs, and lard
-2020-07-09:
- timothyteakettle:
- - rscadd: bluespace tray added, allowing twice as many items as the regular tray,
- printable at the service lathe, researched through science
- - rscadd: bluespace jar added, a kind of pet carrier that allows human sized mobs
- inside, and smashes when thrown, researched and printed through science
-2020-07-10:
- Chiirno:
- - code_imp: Gave jellypeople a unique brain object /obj/item/organ/brain/jelly
- - imageadd: added an icon for jellypeople brains.
- EmeraldSundisk:
- - rscadd: Adds a pool to PubbyStation
- - tweak: Slight adjustments to the surrounding area as to fit said pool
- Sneakyrat6:
- - bugfix: Fixes hair falling out of hoodies.
- TheObserver-sys:
- - bugfix: Actually adds the juice reagent to make laugh peas donuts.
-2020-07-11:
- Putnam3145:
- - refactor: Gas mixtures now live entirely in a DLL.
-2020-07-12:
- DeltaFire15:
- - balance: Sentinels compromise now heals augmented bodyparts.
- EmeraldSundisk:
- - rscadd: Adds turnstiles to CogStation's security wing
- - rscadd: Readds robotics to the Corpse Disposal Network
- - rscadd: Readds chemistry's ability to send items directly to the experimentation
- lab
- - tweak: Visual renovation and slight adjustments to CogStation's robotics lab
- - tweak: Slight visual adjustments elsewhere (the library)
- - bugfix: CogStation's mail and disposal pipes are once again complete
- - bugfix: CogStation's robotics lab now has spawners, lights, and other room essentials
- HeroWithYay:
- - rscadd: Added Telecrystal Dust
- - tweak: Telecrystals can be sold at cargo
- LetterN:
- - rscadd: Added d[thing] emojis
- - bugfix: bye xss
- MrJWhit:
- - rscdel: Removes northern tunnel to the monastery on Pubby
- Yakumo Chen:
- - rscadd: Adds a wedding crate to cargo full of wedding attire.
- kappa-sama:
- - tweak: wisdom cow is half as common and is wise enough to lag the server 66% less
- silicons:
- - config: 'policy configuration added, plus support hooks for assisting enforcement
- of clone memory disorder. logging: added logging of revival by defib, cloning,
- strangereagent, and revival surgery'
- - rscadd: You can now "audibly emote" by having ! at the start of a sentence.
- timothyteakettle:
- - rscadd: due to recent biological advancements, you can now make eye contact with
- people.
- zeroisthebiggay:
- - bugfix: a singular stray pixel
-2020-07-13:
- Linzolle:
- - bugfix: you can no longer vore and digest people regardless of vore preferences
- Owai-Seek:
- - tweak: Trashbags can now hold most shoes, and organs.
- - balance: You can no longer nest nuke disks or hold brains in the trash.
-2020-07-14:
- silicons:
- - rscadd: chemical reactions now are sorted by priority first and temperature second.
- - rscadd: sec and medical records have been added to character setup.
- - bugfix: circuit reagent heaters are now sanitized for temperature from 2.7 to
- 1000.
- timothyteakettle:
- - bugfix: ports a money bag exploit
-2020-07-15:
- Sonic121x:
- - bugfix: Paramedic jumpsuit
-2020-07-16:
- DeltaFire15:
- - bugfix: Fixes a zeolite runtime caused by a missing check.
- Sneakyrat6:
- - bugfix: Fixes being able to meta people real name with OOC Notes
- timothyteakettle:
- - rscadd: travelling traders from another dimension can now visit the station in
- search of something specific, and reward you for giving it to them
- - bugfix: small error with pet carrier logic fixed and also making sure simple mobs
- are catered for properly inside bluespace jars
- - bugfix: fixes coin related issue
-2020-07-17:
- ShizCalev, Fikou:
- - bugfix: Added some sanity checking for varedit values.
- - bugfix: Fixed an exploit involving coins and mints that could crash the server.
- - bugfix: Fixed an exploit that would allow you to destroy round-critical / indestructible
- items with folders.
- - bugfix: Swarmers can no longer cut power lines by deconstructing catwalks underneath
- them.
- - bugfix: Fixed a scenario that allowed infinite resource generation via ore machines.
- - bugfix: you can no longer inject html in ahelps
- - admin: you cant either, jannies
- timothyteakettle:
- - bugfix: fixes a small pickle related issue
- - rscadd: recent culinary and scientific advancements have brought forth new pickle
- related technologies
-2020-07-19:
- Arturlang:
- - rscadd: TGUI 3.0 and enables all the UIs, plus the smart asset cache, and all
- the things required for them
- EmeraldSundisk:
- - rscadd: Adds a pool to Delta Station
- - rscadd: Adds light fixtures to specified areas
- - tweak: Relocates objects in impacted areas of Delta's starboard maintenance
- MrJWhit:
- - rscadd: Adds a small light next to the kitchen counter
- Putnam3145:
- - bugfix: Pen uplinks no longer broken
- TheObserver-sys:
- - rscadd: 'Adds a new reaction: Slime Extractification. Take 30u Slime Jelly, 5u
- Frost Oil, and 5u plasma to generate a fresh grey slime extract.'
- Yakumo Chen:
- - tweak: Hierophant club now checks for friendly fire by default.
- b1tt3r1n0:
- - rscadd: Added the updated circle game
- silicons:
- - rscadd: Unarmed parry is now a thing.
- timothyteakettle:
- - rscadd: plushies in the loadout have been replaced with a box that lets you choose
- one instead
- - bugfix: wrestling should no longer have the ability to permanently rotate people
- - rscadd: you can now select to wear a snail shell as your backpack in the customization
- menu
- zeroisthebiggay:
- - tweak: martial arts twenty minpop
- - bugfix: records
-2020-07-20:
- lolman360:
- - tweak: Service borgs now have synthesizers instead of a violin and guitar.
- - bugfix: borg RSF
-2020-07-21:
- Arturlang:
- - bugfix: Decal painter ui now works, yay?
- CameronWoof:
- - rscadd: Adds aloe, a new growable plant
- - rscadd: Adds medicated sutures and advanced regenerative meshes
- - bugfix: Polypyrylium oligomers and liquid electricity now correctly populate
- Chiirno:
- - rscadd: Alt-click pill bottles places top-most pill into active hand.
- - tweak: Moved dice bags from pill_bottle/dice to box/dice to avoid dice bags being
- affected from medical specific pill bottle changes.
- DeltaFire15:
- - bugfix: Swarmers can once again eat items as long as there's nothing living in
- them.
- Funce:
- - bugfix: Genetics spiderwebs are no longer impassable walls
- Kraseo:
- - balance: Damp rags no longer instantly apply their chemicals onto someone.
- SiliconMain:
- - tweak: Geigers can no longer be contaminated
- TheSpaghetti:
- - rscadd: new snowflake trait
- kappa-sama:
- - balance: advanced surgery duffel bag no longer comes with a nukie medkit. it costs
- 4 less telecrystals to make up for this colossal nerf.
- - tweak: quartered the weight of the stray cargo pod event from 2x normal to 1/2
- normal
- silicons:
- - tweak: survivalists (from summon guns/magic) are proper objective'd pseudoantagonists
- again
- - tweak: summon guns/magic can only be used once each
- - tweak: summon guns/magic now only cost one point each
- - imageadd: ':dsmile: :dfrown: :dhsmile: :dpog: :dneutral:'
- - bugfix: gravity should update for mobs a fair bit faster
- - rscadd: voting can now be done from the stat panel if the system is plurality
- and approval
- timothyteakettle:
- - rscadd: new fried component used for frying objects
- - bugfix: various frying bugs fixed such as being able to unfry items and frying
- turfs with cold cooking oil
-2020-07-22:
- Ludox:
- - rscdel: You can no longer be brainwashed into giving birth to a fake baby
- kappa-sama:
- - balance: brainwashing disk has lost its cost buffs (3->5) and is role restricted
- once more (medical doctor/roboticist)
-2020-07-23:
- DeltaFire15:
- - bugfix: Traits are no longer fucked
- Putnam3145:
- - tweak: Slight optimization in chat code.
- kappa-sama:
- - bugfix: tendril chests being empty
- zeroisthebiggay:
- - rscadd: fetish content
-2020-07-24:
- EmeraldSundisk:
- - rscadd: Adds a CMO office, along with Virology and Genetics labs to Omega Station
- - rscadd: Adds a second chemistry station to the chemistry lab
- - tweak: Adjusts the locations of some objects in medical to accommodate these new
- additions
- - tweak: Relocates the morgue
- - tweak: Relocates items in impacted areas of maintenance as well as the library
- - bugfix: Fixes an air line Bartholomew somehow knocked out
- Linzolle:
- - bugfix: wounds now have a description on examine
- Owai-Seek:
- - rscadd: Meatball Sub, Meatloaf + Meatloaf Slices, Bear Chili, Mashed Potatoes
- - rscadd: Buttered Potatoes, Fancy Cracker Pack, Spiral Soup, Sweet and Sour Chicken
- - tweak: Organised the Food DMI a bit.
- - tweak: Deleted some stray pixels on some sprites.
- - tweak: Nuggie boxes are now centered correctly.
- - imageadd: Icons for the the food items in this PR.
- Sneakyrat6:
- - bugfix: Fixes dressers not giving you undies
- - bugfix: Fixes Snaxi not loading properly because of typos
- - rscadd: You can now burn photos
- Zandario:
- - spellcheck: Murdered **tipes** and gave birth to **is**.
- silicons:
- - tweak: sanitization now doesn't cut off 15.7 or something million possible colors
- from character preferences (instead of only allowing 16 values for R G and B,
- it now allows 256 each)
- - balance: projectiles are by default 17.5 tiles per second instead of 12.5
- timothyteakettle:
- - rscadd: due to recent innovative research in the medical field, you now have bones
- - tweak: zombie claws are now sharp and do less damage, but can destroy non-lifeforms
- far faster
- - tweak: zombies now take less stamina damage
- - rscadd: beepsky can now wear hats
- zeroisthebiggay:
- - imageadd: rad and kravglove sprites
-2020-07-25:
- CameronWoof:
- - bugfix: Aloe now has an icon.
- timothyteakettle:
- - bugfix: beepsky replaces the word THREAT_LEVEL with the actual threat level
-2020-07-26:
- DeltaFire15:
- - bugfix: Organs now decay again.
- Iatots:
- - tweak: Licking wounds now may cause you to spit out a hairball once in a while!
- - rscadd: You can now craft a catgirl plushie with 3 of a new ingredient occasionally
- found in medbay!
- dapnee:
- - tweak: removed legacy public mining shuttle area and remade lounge
-2020-07-27:
- Hatterhat:
- - rscadd: Training bokkens! Make 'em from wood, use 'em in-hand to toggle between
- harmful and not-so-harmful, practice your parrying with them!
- - bugfix: Marker beacons should have a sprite again.
- silicons:
- - rscadd: clownops and clown mobs now share the same faction. HONK!
- timothyteakettle:
- - bugfix: modern pickle technology now allows people who have been turned into pickles,
- to be retrieved through the medical course of dying
-2020-07-28:
- Cacogen:
- - rscadd: OSHA has more pull than anyone could have expected. All armor provided
- by Nanotrasen and the syndicate now have tags that accurately lists defenses
- and resistances of a piece of clothing.
- CameronWoof:
- - tweak: Exotic seed crates now contain a spaceman's trumpet seed packet.
- EmeraldSundisk:
- - rscadd: Renovates Snow Taxi's northeast bathroom to have multiple non-urinal toilets
- and showers
- - rscadd: Adds signage/labeling to improve map readability
- - rscadd: Adds a bathroom to the northwest station
- - rscadd: Adds a filing cabinet to the cargo department
- - tweak: Area designation adjustments to account for the above changes
- - bugfix: Adds a missing airlock cyclelink near medical
- Ludox235:
- - tweak: Makes the flavour text that appears when you become a zombie tell you to
- act like one.
- MrJWhit:
- - tweak: Decluttered toxins and hid the yellow mix line in atmos, for metastation
- SiliconMain:
- - tweak: Paramedic heirloom is now a zippo
- - tweak: Durathread belts now protect their contents from radiation, and can hold
- full sized extinguishers
- Sishen1542:
- - rscdel: removed zoomba
- dapnee:
- - tweak: added a fan to the listening outpost
- - bugfix: added two missing r-walls near the SM, removed random light and wire node
- below the engine, and fixed the missing cable in the courtroom on Kilo
- kappa-sama:
- - balance: Stimpaks cost 5tc once more, up from 3tc.
- silicons:
- - rscadd: polychromatic cloaks to loadout
- - rscdel: no more self healing with medibeam guns
- - balance: oh no, taser buff. alt fire delay dropped to 0.4 seconds.
- - rscadd: you can now shoot yourself by disarm-intenting yourself with a gun.
- timothyteakettle:
- - tweak: species code is now slightly less messy
- - bugfix: slight tweak to how material crafting works
- - bugfix: changed up pet carriers / bluespace jars a bit so you can't fit certain
- things inside them and also the text shown for resist times is accurate
- zeroisthebiggay:
- - rscadd: Black Box theft objective
-2020-07-29:
- DeltaFire15:
- - bugfix: The 'Naked' outfit is no longer broken.
- Ghommie:
- - bugfix: fixed cremator trays, paleness examination strings, chat message for stamping
- paper, looping sounds, load away missions/VR admin verb, access requirements
- for using the sechuds.
- - tweak: Alt-Clicking a cigarette packet should pull the lighter out first if present,
- then cigarettes.
- Hatterhat:
- - bugfix: Directional windows can now be rotated counterclockwise properly again.
- NecromancerAnne, Sirich96:
- - rscadd: Stunbaton sprites by Sirich96.
- - rscadd: New sprites for the stunsword.
- necromanceranne:
- - rscadd: Adds some in-hands for the rapier sheath.
- timothyteakettle:
- - bugfix: tail wagging should work in all cases now
- - bugfix: bluespace jars work as intended now
- - bugfix: aliens can remove embeds now
- - bugfix: bloodsuckers are not affected by bloodloss
- zeroisthebiggay:
- - rscadd: Flannel jackets and bartender winter coat
-2020-07-30:
- Adelphon:
- - rscadd: Created a Cosmetic version of the camo.
- Arturlang:
- - code_imp: Bloodsucker LifeTick runs from BiologicalLife now
- Ryll-Ryll ported by silicons:
- - rscadd: Shoelaces are now a thing. You can untie them by laying down next to someone.
- - tweak: shoes now have lace delays and some can't be laced at all
- - refactor: do after now tracks who's interacting with who, meaning some actions
- now break when the target moves away.
- SiliconMain:
- - rscadd: Ported the long range atmos analyzer from sk*rat, credit to NotRanged
- silicons:
- - rscadd: energy sword perfect parries now reflect projectiles back at their shooters.
- - balance: any mob can now parry if they have the right item
- - rscadd: beam rifles now go into emitters properly
- - refactor: clickdelay has been refactored into an experimental hybrid system. Check
- code/modules/mob/clickdelay.dm for more information.
- - balance: Resisting no longer checks clickdelay, but is standardized to a 2 second
- per resist system for most forms of resisting. It still sets clickdelay, though.
- - rscadd: 'Meters have been added for estimating time until next attack/resist.
- Won''t be that useful due to our clickdelay currently being very short, though.
- They''re visible from your hand and resist HUD elements. experimental: Most
- attacks and forms of attacking (minus unarmed because it''s too much of a pain
- to refactor how hugs/gloves of the north star works) now check for time-since-last-attack
- rather than making it so you can''t attack for said time. This means you can
- very quickly switch to a gun from a melee weapon, whereas in the old system
- a melee weapon would put you on lockout for 0.8 seconds, in the new system all
- the gun cares about is that you did not attack for at least 0.4 seconds.'
- - code_imp: All clickdelay setting/reading are now procs, so it should be trivial
- to implement another system where drawing/switching to a weapon requires you
- to have it out for x seconds before using it. I am not personally doing it at
- this point in time though because it will likely just annoy everyone with no
- real gain unless we do something like putting a 0.8 second switch-to cooldown
- for guns (which I did not, yet)
- - refactor: 'attack_hand has been refactored to on_attack_hand remove: sexchems
- no longer impact click delay'
- - rscadd: turrets now automatically stagger their shots. Happy parrying/blocking.
- - bugfix: turrets now speed_process, they were shooting slower than they should
- be
- - balance: anything can now block with the right items
- timothyteakettle:
- - bugfix: some crafted crates won't contain items now, and thus have stopped breaking
- the laws of physics
- - tweak: beepskys hats now follow the laws of gravity and move up/down when he bobs
- up and down
-2020-08-01:
- dapnee:
- - tweak: added cake hat to bar, adds another atmostech spawn
- - bugfix: sinks point in the right direction, APC won't spawn off the wall in circuits
- - bugfix: changes commissary APC so it actually powers the room, adds a missing
- AIR alarm, arrivals no longer has active atmos tiles.
- silicons:
- - tweak: toy shotguns no longer need 2 hands to fire
- - bugfix: being on fire works again.
- timothyteakettle:
- - bugfix: monkeys no longer continuously bleed everywhere
-2020-08-02:
- Auris456852:
- - rscadd: Added B.O.O.P. Remote Control cartridges to the PTech.
- Hatterhat:
- - rscadd: Durathread reinforcement kits! Sprites by Toriate, sets jumpsuit armor
- to durathread levels, craft in the crafting menu.
- KeRSedChaplain:
- - rscadd: The belligerent scripture and a brass multitool, and a new marauder variant
- which act similar to holoparasites/guardian spirits.
- - rscdel: Removed the abductor teleport consoles they get, removes abscond for the
- time being as I've not seen much use for it other than just spamming it and
- hoping you end up in the armory.
- - tweak: moved around scriptures to make the cult work better as being based around
- the station, makes the Ark scream more often and work as a summonable object,
- clockwork armor now has a flat 0 defense up to 10 instead of negatives against
- laser damage. Makes the Ark work better in a station based setting, as well
- as the Heralds beacon in case It works for the mode.
- - soundadd: added powerloaderstep.ogg for Neovgre
- - tweak: changes 'Dread_Ipad.dmi' to 'clockwork_slab.dmi'
- MrJWhit:
- - tweak: Adjusts abductor spawntext
- Seris02:
- - bugfix: fixed replica pods
- dapnee:
- - bugfix: fixed active turfs on wizard ruin and space hermit, fixed missing APC's
- and added a light on Delta
- ike709 and bobbahbrown:
- - rscadd: Admins can now see your bans on (some) other servers.
- kappa-sama:
- - bugfix: chaplain cultists being able to convert people to full clockwork cult
- status
- timothyteakettle:
- - tweak: combat mode now has weaker buffs in terms of damage dealt and took for
- being or not being in the mode
- - tweak: damage debuff for laying down has been decreased from 0.5x to 0.7x
-2020-08-03:
- KeRSedChaplain:
- - bugfix: fixed clockwork guardians being able to reflect ranged weapons
- Linzolle:
- - bugfix: uv penlight no longer invisible
- dapnee:
- - bugfix: active turfs on box and xenohive, maintenance bar APC not being stringed
- correctly, turned a monitor to face a direction that makes sense, changed tag
- of camera in gravgen being misnamed
- silicons:
- - rscadd: shoves have been buffed to apply a status effect rather than a 0.85 movespeed
- modifier, meaning repeatedly shoving someone now renews the debuff
- - balance: shoves now stagger for 3.5 seconds.
- - tweak: war operatives now actually time 20 minutes since roundstart to depart
- instead of 15.
- - balance: explosive stand bombs can now be examined from any distance
- - code_imp: explosive stand bombs are now a component.
-2020-08-04:
- Seris02:
- - bugfix: lizard spines
- timothyteakettle:
- - rscadd: due to further advancements in medical technology, you can now have holes
- poked into your body for fun and enjoyment
- zeroisthebiggay:
- - rscadd: prefs for headpat wagging
-2020-08-06:
- Auris456852:
- - rscadd: Added B.O.O.P. Remote Control cartridges to the PTech.
- Hatterhat:
- - rscadd: Proto-kinetic glaives! Essentially a proto-kinetic crusher with a different
- blade, handguard, and goliath hide grip. Expensive, but elegant.
- - balance: Door charges no longer knock people out.
- Ludox235:
- - rscadd: You can now buy damaged AI upload modules in the traitor's uplink.
- Seris02:
- - bugfix: fixed ghost chilis
- Trilbyspaceclone:
- - rscadd: 4 New blends of tea have been shipped to the station, and how to make
- them has been leaked!
- b1tt3r1n0:
- - rscadd: Added the warp implant
- dapnee:
- - tweak: added a hallway to telecoms for engineers to get there on meta
- kappa-sama:
- - rscdel: dildo circuit assemblies
- lolman360:
- - bugfix: The Tendril-Mother on Lavaland has remembered how to make ashwalkers who
- know how to speak Draconic again.
- timothyteakettle:
- - tweak: nanotrasen has decided to fire all disabled members of the security division
- and confiscate certain sentimental items from doctors
- - tweak: the custom tongue preference now passes through cloning so you spawn with
- your selected tongue
- - tweak: several changes to travelling traders so they look better and spawn slightly
- less often
- zeroisthebiggay:
- - rscadd: nukies can buy holoparasites
-2020-08-07:
- dapnee:
- - bugfix: fixed active tufs on some space ruins, murderdome VR, and a few on pubby,
- changed cargo autolathe to techfab, messed with pipe room leading to monastery.
- lolman360:
- - bugfix: vendors are now unanchored when tipped. it just fell over it's not bolted
- to the ground anymore.
- - bugfix: podpeople no fat when sunbathing.
- silicons:
- - balance: explosions only recurse one level into storage before dropping 1 level
- per storage layer.
- - tweak: volumetric storage is now minimum 16 pixels per item because 8 was ridiculous
- - spellcheck: shieldbash balanace --> balance
- - rscadd: attempting to send too long of an emote will now reflect it back to you
- instead of cutting it off and discarding the overflow.
- - rscadd: holoparasites can now play music
- - balance: lethal blood now causes damaging bleeding instead of outright gibbing
-2020-08-08:
- DeltaFire15:
- - balance: Roundstart cultists now start with a replica fabricator - no brass though,
- make your own.
- - balance: 'Kindle cast time: 10 > 15, mute after stun end: 2 > 5, slur after mute
- end: 3 > 5'
- - bugfix: The ratvarian spear no longer adds negative vitality under very specific
- circumstances.
- - balance: The Ratvarian Spear can parry now! Short parries with low leeway, but
- low cooldown.
- - rscadd: The brass claw, a implant-based weapon which gains combo on consecutive
- hits against the same target.
- - rscadd: The sigil of rites, a sigil used to perform various rites with a cost
- of power and materials
- - rscadd: 'The Rite of Advancement: Used to add a organ or cyberimplant to a clockie
- without need for surgery.'
- - rscadd: 'The Rite of Woundmending: Used to heal all wounds on another cultist,
- causing toxins damage in return.'
- - rscadd: 'The Rite of the Claw: Used to summon a brass claw implant. Maximum of
- 4 uses per round.'
- Hatterhat:
- - rscadd: You can now buy a toolbox's worth of Mosin-Nagant ammo for a fairly discounted
- price.
- - rscadd: Revolvers from the dedicated kit now have reskinning capabilities.
- - bugfix: You can now actually buy the riflery primer, which lets you pump shotguns
- and work the Mosin's bolt faster.
- - imageadd: Bulldog slug magazines now have a unique sprite.
- Ludox235:
- - rscdel: Removed an abductee objective that told you to remove all oxygen.
- - rscadd: Added a new abductee objective to replace the removed one.
- Sishen1542:
- - tweak: "\U0001F171\uFE0Foneless"
- - rscadd: squishy slime emotes
- timothyteakettle:
- - tweak: heparin makes you bleed half as much now
- - tweak: cuts make you bleed 25% less now
- - rscadd: more items in the loadout and loadout has subcategories now for easier
- searching
-2020-08-09:
- Hatterhat:
- - rscadd: Proto-kinetic glaives (not crushers) can parry now.
- MrJWhit:
- - rscadd: Adds a second shutter on the top of the hop line
- silicons:
- - bugfix: immovable rods no longer drop down chasms
- - rscdel: 'fun removal: squeaking objects now have an 1 second cooldown between
- squeaks, and will have a 33% chance of interrupting any other squeaking object
- when Cross()ing, meaning no more ear-fuck conveyor belts.'
-2020-08-10:
- Hatterhat:
- - bugfix: Parry counterattack text now shows up.
- - balance: Sterilized gauze is now better at stopping bleeding, and applies slightly
- faster. Very slightly faster.
- - balance: Ointment and sutures now hold more in a stack (12 and 15, respectively).
- - tweak: Sterilized gauze can now be made by just pouring 10u sterilizine onto standard
- medical gauze, instead of having to craft it. Why you had to craft it, I will
- honestly never know.
- - balance: Proto-kinetic glaives are more expensive, stagger/cooldown on failed
- parries increased slightly, perfect parries required for counterattack.
- - rscadd: 'New item: Temporal Katana. 2 points for wizards, timestops upon successful
- parry, bokken quickparry stats (100 force on melee counter!).'
- - rscadd: Also you can *smirk. This has no mechanical effect, other than being smug.
- KeRSedChaplain:
- - rscadd: Added a guide for romerol usage
- - balance: made infectious zombies not enter softcrit and take no stamina damage
- LetterN:
- - tweak: clocktheme color
- - code_imp: Ports TGUI-4
- Lynxless:
- - rscadd: 'Ports TG #51879'
- Owai-Seek:
- - tweak: Meatballs now spawn raw from food processors.
- Putnam3145:
- - rscadd: Ethereals
- - rscdel: (Hexa)crocin
- - rscdel: (Hexa)camphor
- - tweak: Tweaked wording for marking tickets IC issue.
- - tweak: Rerolling your traitor goals will ONLY give you "proper" objectives.
- Seris02:
- - bugfix: borgs being able to select and use a module when it's too damaged
- Sishen1542:
- - balance: gave chairs active block/parry in exchange for removal of block_chance
- - tweak: replaces box whiteship tbaton with truncheon
- kappa-sama:
- - balance: made the Dirty Magazines crate cost 4000 instead of 12000 credits
- - rscadd: MODS I SPILLED MU JUICE HEJPPHRLP HELPJ JLEP HELP
- silicons:
- - balance: player made areas are no longer valid for malf hacking
- - tweak: default space levels is 4 again.
- - tweak: rats now swarm instead of stacking on one spot.
- - balance: getting hit by an explosion will now barely hard knockdown, but will
- leave you somewhat winded.
- timothyteakettle:
- - tweak: speech verbs copy through dna copying now
-2020-08-11:
- Hatterhat:
- - bugfix: PDA uplinks can now steal from pens. Properly. Just make sure to have
- a pen in your PDA, first.
- kappa-sama:
- - tweak: tracer no longer gives you full stamheals per use
- zeroisthebiggay:
- - rscadd: volaju two
-2020-08-12:
- DeltaFire15:
- - balance: 'hellgun single-pack classification: goodies -> armory'
- Detective-Google:
- - bugfix: hallway table hallway table
- Hatterhat:
- - balance: The temporal katana is now slightly more worthy of the 2 spell point
- cost, with a smaller, antimagic respecting timestop, less force, and no random
- blockchance. Society has progressed past the need for blockchance.
- LetterN:
- - rscadd: Mafia Component
- - bugfix: Fixed missing icons and handtele
- Putnam3145:
- - bugfix: a whole lot of jank regarding funny part sprite display.
- Toriate:
- - rscadd: Opossums have migrated into the maintenance tunnels! Seek them out at
- your own peril!
- ancientpower:
- - tweak: Doors added to the west side of box medbay to make things a bit more manageable.
- kappa-sama:
- - tweak: smuggler satchel cost 2->1
- - tweak: radio jammer cost 5->2
- - bugfix: smuggler satchel uplink description now implies that persistence is disabled
- lolman360:
- - rscadd: renameable necklace (accessory, attaches to suit) and ring (glove slot.)
- - tweak: custom rename is now 2048 characters? i think it's characters.
- silicons:
- - rscadd: You can now use anything as an emoji by doing :/obj/item/path/to/item:.
- This works for any /atom or subtype.
- timothyteakettle:
- - rscadd: syndicate agents now have access to mechanical aim enhancers which allow
- them to aim bullets to bounce off walls
- - bugfix: ricochets work properly now for the bullets that support them
- zeroisthebiggay:
- - imageadd: hair and some sechuds
- - balance: ce hardsuit radproofing
-2020-08-13:
- LetterN:
- - rscdel: Removes fermisleepers and reverts them to tg ones
-2020-08-14:
- silicons:
- - bugfix: abductors can buy things
-2020-08-15:
- LetterN:
- - bugfix: missing anomaly core icons
- - bugfix: wrong state. blame the tg vertion i copied
- silicons:
- - tweak: the 8 rotation limit from clockwork chairs has been removed. please don't
- abuse this.
- - tweak: ethereals can now wear underwear
-2020-08-16:
- kiwedespars:
- - balance: nerfed hypereut chaplain weapon.
- - balance: 50% rng blockchance -> 0%
- - balance: parry made much worse because it's an actual weapon and a roundstart
- one at that.
- zeroisthebiggay:
- - rscadd: tips
- - rscdel: tips
-2020-08-17:
- DeltaFire15:
- - bugfix: Cogscarabs are no longer always Pogscarabs
- Strazyplus:
- - rscadd: Added drakeborgs
- - rscadd: Added drakeplushies
- - imageadd: added drakeborg sprites
- - imageadd: added drakeplushie sprites
- - code_imp: changed some code - added drakeplushies to backpack loadout Removed
- duplicate voresleeper belly sprites from engdrake & jantidrake. [CC BY-NC-SA
- 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/)
- - rscadd: Added CC BY-NC-SA 3.0 license details to icon/mob/cyborg moved drakeborg.dmi
- to icon/mob/cyborg
-2020-08-18:
- DeltaFire15:
- - balance: 'kindle cast time: 15ds -> 25ds'
- - tweak: Moved the Belligerent Scripture to where it should be in the code
- Detective-Google:
- - rscadd: glass floors
- - rscadd: uncrowbarrable plasma floors tweak:disco inferno's plasma floors can no
- longer be crowbarred.
- - rscadd: ghost cafe has funky fresh art
- - bugfix: you can actually remove glass floors now
- - code_imp: get_equipped_items is hopefully less gross
- - balance: plasma cutters are no longer gay
- Hatterhat:
- - balance: Slaughter demons (and laughter demons, being a subtype) are MOB_SIZE_LARGE,
- with one of the more immediate effects being able to mark them with a crusher
- and backstab them.
- - balance: The funny blyat men have stumbled upon another surplus of Mosin-Nagants
- and are starting to pack them into crates again.
- - balance: Vehicle riders can now, by default, get shot in the face and/or chest.
- - rscadd: Adminspawn only .357 DumDum rounds! Because sometimes the other guy just
- really needs to hurt.
- - rscadd: Bluespace beakers now have a chemical window through the side that shows
- chemical overlays.
- - rscadd: Plant DNA manipulators now let you chuck things over them. Or they WOULD,
- if LETPASSTHROW worked half a damn.
- LetterN:
- - bugfix: uplink implant states
- - tweak: tweaks how role assigning works
- MrJWhit:
- - rscadd: Gives ashwalkers nightvision
- - balance: Makes tesla blast people, not the environment, to save the server.
- TheObserver-sys:
- - bugfix: moves Garlic sprites from growing.dmi to growing_vegetable.dmi
- - rscdel: Removes the unused Electric Lime mutation, it just takes up space with
- no actual function nor sprites.
- - imageadd: Gives Catnip growing sprites
- - imagedel: Removes redundant images in growing.dmi
- kiwedespars:
- - rscadd: 10 force to a fucking rubber cock.
- lolman360:
- - balance: shotgun stripper clip nerf. ammoboxes can now accept a load_delay that
- happens when they attack a magazine, internal or external.
- ported from tg:
- - rscadd: bronze airlocks and windows can now be built
- - balance: i also tweaked bronze flooring to be cheaper.
- silicons:
- - tweak: stamina draining projectiles without stamina for their primary damage type
- now has their stamina damage taken into account for shield blocking, rather
- than the block being done for free for that.
- timothyteakettle:
- - refactor: snowflake code tidyup
- - refactor: snowflake code for mutant bodypart selection has been rewritten to be
- ~14x shorter
- - tweak: meat type and horns can now be selected by any species
-2020-08-20:
- DeltaFire15:
- - bugfix: The cooking oil damage formula is no longer scuffed.
- - tweak: Changed the clockie help-link to lead to our own wiki.
- Fikou:
- - admin: admins can now do html in ahelps properly
- Hatterhat:
- - balance: Pirate threats are now announced as "business propositions", and their
- arrivals are now also announced properly.
- tiramisuapimancer:
- - bugfix: Ethereal hair is now their body color instead of accidentally white
-2020-08-21:
- LetterN:
- - rscadd: Updates and adds some of the tips
- Putnam3145:
- - admin: added reftracking as a compile flag
- SmArtKar:
- - tweak: RSD limitation is now 500 tiles
- - bugfix: Fixed broken RSD sprites
- - config: Removed that shuttle limit
- timothyteakettle:
- - bugfix: two snouts can once again be chosen in customization
- - bugfix: lizard snouts work again
-2020-08-22:
- Time-Green (copypasta'd by lolman360):
- - rscadd: plumbing
- - rscadd: automatic hydro trays
-2020-08-23:
- DeltaFire15:
- - bugfix: silicons and clockies can now access APCs properly
- EmeraldSundisk:
- - rscadd: Medbay now has a smartfridge for organ storage
- - rscadd: Slight enhancements to the station's electrical wiring layout
- - rscadd: Very small library renovation
- - bugfix: Exterior airlocks have been given proper air systems for safety's sake
- Ghommie:
- - bugfix: Stops shielded hardsuits from slowly turning the wearer into a big glowing
- ball of stacked energy shield overlays.
- - tweak: the shielding overlay is merely visual as result. Aim your clicks.
- Ludox235:
- - tweak: no more 10 pop xenos (25pop now)
- MrJWhit:
- - tweak: Increases the majority of airlocks by 1 tile.
- - tweak: Minor adjustments to the TEG engine.
- Putnam3145:
- - balance: Simplemobs no longer count in dynamic.
- - balance: '"Story" storyteller no longer starts at a ludicrously low threat, always.'
- - balance: Blob threat now scales with coverage.
- - tweak: One person with their pref on no longer overpowers 40 people who might
- not even know there is one.
- - bugfix: Negative-weight rulesets are no longer put into the list.
- kiwedespars:
- - tweak: removed durathread from armwraps recipe.
- lolman360:
- - rscadd: breath mask balaclava
- timothyteakettle:
- - bugfix: lizards are now a recommended species for mam snouts
- zeroisthebiggay:
- - rscadd: new sprites for the temporal katana
- - rscadd: suiciding with the temporal katana omae wa mou shinderius you into the
- shadow realm
- - soundadd: twilight isnt earrape
-2020-08-24:
- MrJWhit:
- - bugfix: Fixes areas on expanded airlocks
- silicons:
- - bugfix: wormhole jaunters work
- - tweak: wormhole jaunters no longer get interference from bags of holding
- - bugfix: airlocks now only shock on pulse/wirecutters instead of on tgui panel
- open.
- timothyteakettle:
- - rscadd: three new items are in the loadout for all donators
- zeroisthebiggay:
- - rscadd: contraband black evening gloves in kinkvend
-2020-08-25:
- Hatterhat:
- - rscadd: Insidious combat gloves have been replaced by insidious guerilla gloves.
- They're generally the same, except now you can tackle with them.
- Literallynotpickles:
- - tweak: You can now equip handheld crew monitors on all medical-related winter
- coats.
- Putnam3145:
- - tweak: vore now ejects occupants on death
- raspy-on-osu:
- - tweak: Thermoelectric Generator power output
- timothyteakettle:
- - tweak: I.P.Cs now short their circuits when expressing emotion, causing sparks
- to appear around them.
-2020-08-26:
- ancientpower:
- - tweak: Ghosts can read newscasters by clicking on them.
- silicons:
- - balance: hierophant vortex blasts now have 50% armor penetration vs mecha
- - balance: ventcrawling now kicks off every attached/buckled mob, even for non humans.
-2020-08-27:
- silicons:
- - tweak: eyebeam lighting can only have 128 maximum HSV saturation now.
- - balance: no more shotgun stripper clips in boxes.
- - balance: goliath tentacles now do 20 damage to mechs at 25% ap
- timothyteakettle:
- - tweak: changing your character's gender won't randomize its hairstyle and facial
- hairstyle now
-2020-08-28:
- EmeraldSundisk:
- - rscadd: Adds more paper to the library
- - rscadd: The law office now has a desk window
- - tweak: Expands most of CogStation's exterior airlocks. Slightly adjusts surrounding
- areas to accommodate this.
- - tweak: Updates some of CogStation's paperwork
- - tweak: The rat in the morgue turned themselves into a possum. Funniest shit I've
- ever seen.
- - bugfix: Adjusts some area designations so cameras should receive power properly
- - bugfix: Cleans up an errant decal
- Hatterhat:
- - tweak: Traitor holoparasites can now only be bought once, because apparently you
- can only have one active holopara.
- - balance: PDA bombs can now only be bought once per uplink.
- lolman360:
- - rscadd: atmos = radiation = chemistry.
- shellspeed1:
- - rscadd: Adds slow mode for iv drips
- timothyteakettle:
- - rscadd: an ancient game over a thousand years old has re-emerged among crewmembers
- - rock paper scissors
- - tweak: customization features appear in alphabetical order where necessary
- - tweak: bokken do two more stamina damage now
- - rscadd: you can now choose a body sprite as an anthromorph or anthromorphic insect,
- and can choose from aquatic/avian and apid respectively (and obviously back
- to the defaults too)
-2020-08-30:
- raspy-on-osu:
- - rscadd: new explosion echoes
- - tweak: explosion echo range
- - soundadd: 5 new explosion related sounds
-2020-08-31:
- Arturlang:
- - tweak: Slimes can now damage structures, don't leave them unfed!
- Chiirno:
- - bugfix: Moves pill_bottles/dice to box/dice on CogStation.
- Couls, ported by NecromancerAnne:
- - code_imp: cleans up mech backstabbing code
- DeltaFire15:
- - rscdel: teleport-to-ark ability of the eminence, commented out
- - rscadd: teleport-to-obelisk ability for the eminence
- Detective-Google:
- - tweak: plasmamen have no more slowdown
- - rscadd: object reskins now use very nice and cool radials
- EmeraldSundisk:
- - rscadd: Adds a pool to MetaStation
- - tweak: Slight readjustments to the surrounding area
- - bugfix: Fixes a handful of external airlocks
- ForrestWick:
- - balance: removes wall walking boots from nukie uplink
- - tweak: removes wall walking boots from nukie uplink
- Ghommie:
- - bugfix: e-gun overlays and some floor decals should have been fixed.
- LetterN:
- - rscadd: tgchat
- Lynxless:
- - tweak: Changed anatomic panacea into a direct buff, instead of a chem injection
- - balance: Changed the values of anatomic panacea
- - imageadd: Added a new icon for panacea's buff alert
- Putnam3145:
- - tweak: Pref for genital/vore examine text
- - bugfix: Fixed a couple events having ghost roles eligible.
- - balance: 'Buffed slaughter demon: gets stronger as it eats people'
- - balance: 'Nerfed slaughter demon: no longer permanently round-removes all who
- are eaten by it, instead releasing their now-heartless bodies'
- - bugfix: Dynamic storytellers now calculate property weights properly.
- Sonic121x:
- - bugfix: Fix the four type of new tea that will stuck inside your vein.
- - rscadd: drinking glass sprite for those tea.
- kappa-sama:
- - balance: miners can no longer acquire funny antag item
- lolman360:
- - bugfix: shuttle engine/heater sprites now face the right way
- raspy-on-osu:
- - tweak: TEG power output
- - tweak: tesla movement priorities
- - rscadd: tesla counterplay
- - rscadd: tesla containment check (containment variable now usable)
- silicons:
- - bugfix: brooms now sweep objects on MOVABLE_PRE_MOVE rather than MOVABLE_MOVED
- - balance: firedoors no longer automatically open on touch when there's no pressure
- differences.
- timothyteakettle:
- - tweak: buzz, buzz2 and ping are now all unrestricted emotes and can be used by
- anyone
- - imagedel: the drake credit and pickle credit sprites have been removed
- - refactor: tongue speech handling is now done by accent datums
- zeroisthebiggay:
- - rscdel: waffleco
-2020-09-01:
- BlueWildrose:
- - bugfix: fixed slimes starting off hungry
-2020-09-02:
- Putnam3145:
- - code_imp: Added a unit test for character saving.
- - balance: Plastitanium rapier no longer silently sleeps with no chance at counterplay
- when used by pacifists.
- - bugfix: Fusion scan is now actually useful.
- Tupinambis:
- - tweak: moved the dakis, genital growth pills, and genital autosurgeons out of
- the maintenance loot table and into kinkmates.
- raspy-on-osu:
- - bugfix: pyroclastic anomaly client spam
- timothyteakettle:
- - rscadd: you can hide your ckey now from the roundend report
-2020-09-03:
- Ghommie:
- - bugfix: Jaunters should now work with magic mirror chasming.
- - bugfix: The photocopier can now print more than one copy at a time.
- - bugfix: Alkali perspiration infos don't crash the Pandemic UI anymore.
- - bugfix: Windoors can be actually tinted now.
-2020-09-04:
- timothyteakettle:
- - bugfix: ipcs can speak
-2020-09-05:
- Bhijn:
- - rscadd: Readded the old method of temperature notifications in the form of a new
- pair of shivering/sweating notifications.
- Putnam3145:
- - tweak: Hilbert hotel flavor text for one particular snowflake hotel changed.
- - admin: admins can now actually reduce threat level in dynamic
- - tweak: Made owo.ogg smaller.
- - tweak: Character saving unit test is now more verbose on failure.
- - refactor: Added an extools proc hook alternative to rust_g logging.
- raspy-on-osu:
- - tweak: supermatter shard examine text
- - tweak: protolathe item categories
-2020-09-06:
- Putnam3145:
- - rscdel: Dynamic no longer pushes events.
- - balance: Made spontaneous brain trauma a good deal less annoying.
- lolman360, NecromancerAnne:
- - rscadd: The ancient art of blacksmithing, now in pixels.
- - imageadd: cool swords and shit (thanks anne)
- raspy-on-osu:
- - tweak: thermomachine examine text
-2020-09-07:
- DeltaFire15:
- - spellcheck: fixed a typo causing a span not to show.
- Putnam for debugging ammo loading! Thx!!:
- - rscdel: Removed spell blade, diamond picaxe, and fire wand from lava land loot
- tables
- - tweak: Each mini boss now has its own type of crate.
- - tweak: Each spike has its own type of crate that it pulls its now smaller loot
- table from
- - balance: Moved god eye from spike loot table to hard spawn collosses fight
- - balance: Moved holoparasight from spike loot table to bubble gum
- - balance: Moved magic meat hook from spike loot table to drake
- - rscadd: 2 more crates to Arena Shuttle as well as 4-4-4 of each new type of chest
- - balance: Replaced the diamond pick loot with a better one
- - tweak: Replaced the cursted katana with a non cursted verson that deals half the
- damage and has less block!
- - rscadd: Three new potions, blue heals the mind like a mama potion, Green heals
- the soul aka the organs! Lastly Red heals the body, by 100 damage of each main
- types. Best not to waste them!
- - rscadd: Four more "wands" Spellbooks! These fun little guys shoot out its own
- pages to do the affect, one will set the target on fire like a bullet, one will
- harm them a bit, one will heal the target a small bit - How nice! Last one will
- give them a few statis affects like a taser bolt but without as much power or
- tasing affect
-2020-09-08:
- Ghommie:
- - spellcheck: fixed names of the Electrical Toolbox goodie pack and green croptop
- christmas suit.
- - bugfix: Fixed turf visuals for real. Original PR by AnturK on tgstation.
- KeRSedChaplain:
- - soundadd: added borg_deathsound.ogg and android_scream.ogg
- silicons:
- - balance: meteor waves now have a static 5 minute timer.
-2020-09-09:
- Putnam3145:
- - bugfix: Made superconductivity work for the first time literally ever.
- timothyteakettle:
- - bugfix: accents work better
-2020-09-11:
- Putnam3145:
- - balance: Superconducting turfs now can't go below 0 celsius.
-2020-09-12:
- BlueWildrose:
- - bugfix: The Polychromic winter coat's hoodie will now polychrome, alongside any
- other new polychromic items with toggleable headwear.
- - bugfix: Minesweeper will no longer blow up the player's ears when they select
- "Play on the same board"
- - rscadd: Slimepeople will find warm donk pockets among other toxin healing items
- even more repulsive, as they are anti-toxic.
- - tweak: Slimepeople are now neutral to gross foods.
- DeltaFire15:
- - balance: AIs can no longer qdel() the gravity generator
- Putnam3145:
- - code_imp: Added some unit tests for reactions.
- - refactor: replaced handle_changeling and handle_bloodsucker with signal registration
- Sonic121x:
- - bugfix: Fixed pill button on chemical press
- TheObserver-sys:
- - rscadd: Brass now has a proper datum. Aspiring Forgetenders rejoice!
- Trilbyspaceclone:
- - bugfix: Race based drinks will no longer stay inside your blood for ever.
- Tupinambis:
- - tweak: Redid Cogstation atmos pipes to make it less cluttered.
- - tweak: Removed a few doors from the main hallway to mitigate chokepoint issues
- - bugfix: All belt hell conveyers are now on by default, so that belt hell actually
- works.
- - bugfix: IDs for poddoors and belts and the like. Everything is now properly hooked
- and should work as expected (except for the pressure triggered mass drivers)
- - bugfix: addresses most if not all roundstart active turfs.
- - bugfix: Issue where wires were connected to the SMES improperly, and SMES were
- not properly precharged, resulting in power failure earlier than intended.
- - bugfix: various rogue turfs and wirings.
- - bugfix: security office APC being hooked to maintenance for some reason.
- - bugfix: TEG is now directly wired to the SMES.
- - code_imp: 'adds a subtype of mass drivers that is triggered by things being on
- it. TODO: Make these mass drivers trigger poddoors, to make belt hell fully
- functional.'
- lolman360:
- - bugfix: glaives now work again
- zeroisthebiggay:
- - balance: Revolver is now poplocked down to fifteen people.
-2020-09-16:
- timothyteakettle:
- - tweak: fixed an icon path
-2020-09-17:
- DeltaFire15:
- - rscadd: Failing the plushmium reaction can now create peculiar plushies, depending
- on reaction volume.
- - bugfix: The mood-buff from petting a plushie now works properly again.
- - bugfix: Fixed wacky necropolis loot chest behavior
- EmeraldSundisk:
- - rscadd: Adds the Research Director's office to Omega Station
- - rscadd: Adds 2 new solar arrays (and control rooms)
- - rscadd: Adds some action figures that weren't there previously
- - rscadd: The CMO's office now has a light switch
- - tweak: Slight readjustments to impacted areas
- - tweak: Readjusts the toxins air supply line to (ideally) be easier to service
- - bugfix: Department camera consoles should now be able to actually check appropriate
- cameras
- - bugfix: Xenobiology can now be locked down (by the Research Director)
- MrJWhit:
- - rscadd: Adds a brain damage line
- Putnam3145:
- - bugfix: Your balls finally feel full, again.
- timothyteakettle:
- - rscadd: due to changes in policy, and several lawsuits, Nanotrasen has been forced
- to allow disabled people to sign up
-2020-09-20:
- DeltaFire15:
- - bugfix: Sutures work on simplemobs again.
- - bugfix: Attacking dismembered bodyparts now targets the chest instead, for weapons
- aswell as unarmed attacks.
- MrJWhit:
- - rscadd: New sprites for chess pieces! You can craft them in-game with metal sheets.
- silicons:
- - balance: hulks can smash again (walls no longer break their hands)
- - rscdel: acid no longer degrades armor
-2020-09-22:
- Arturlang:
- - rscadd: TGUI Statpanel
- YakumoChen:
- - imageadd: Mechsuits, robotics jumpsuits added to RoboDrobe
- timothyteakettle:
- - tweak: character previews should be more consistent now
-2020-09-24:
- Putnam3145:
- - refactor: Atmos is free.
-2020-09-25:
- Putnam3145:
- - bugfix: Removed a non-working proc that already had its functionality implemented
- in another proc in the same file.
-2020-09-26:
- CoreFlare:
- - rscadd: IPC's can have hair. Why wasn't this added earlier. Use the bald hairstyle
- for no hair.
-2020-09-27:
- SiliconMain:
- - tweak: Holograms made from projectors (atmos, engi, sec, medical, ect...) can
- no longer be contaminated by radiation
-2020-09-28:
- ArchieBeepBoop:
- - rscadd: Craftable Micro Powered Fans
- Degirin2120:
- - rscadd: Added engineering hazard jumpsuits, can be found in the engidrobe, comes
- in 3 varieties.
- Putnam3145:
- - tweak: Added a brute-force check-every-single-tile step to SSair when it has enough
- time to run.
- - balance: G fuid production is now much lower.
- - rscdel: Supermatter sabotage objective's gone.
- - balance: Subterfuge objectives are now all equally likely.
- - spellcheck: Replaced a "(hopefully) 1" with a "2"
- - tweak: Cryoing no longer unwins already-won objectives.
- SiliconMain:
- - tweak: Minor adjustment to material cost of long range atmos analyzer
- Trilbyspaceclone:
- - tweak: Most drinks now have some animation in them, from basic soda bubbles fizzing
- around to ice cubes bobbing just a bit.
- Tupinambis:
- - bugfix: Ghost poly's color value is now a hex value instead of an oct value. This
- has been a thing for OVER FIVE YEARS
- - imageadd: Updates TEG, Antimatter, Jetpack sprites (CO2 and Oxy from Eris).
- - imageadd: Replaced old chair sprites with new ones ported and modified from eris.
- - tweak: Beds can now be placed both right and left.
- - tweak: Subtle changes to stool legs to give them more of a shine.
- raspy-on-osu:
- - tweak: TEG power generation
- thakyZ:
- - rscadd: Added the ability to print the Light Replacer at the Engineering Protolathe
- timothyteakettle:
- - bugfix: turrets can once again be broken
- - rscadd: you can now have heterochromia and select individual eye colours
-2020-09-29:
- timothyteakettle:
- - bugfix: fixed a typo causing your right eye colour to save as the left eye colour
-2020-10-01:
- BlueWildrose:
- - soundadd: Slimepeople are given unique laughs and screams.
- - tweak: Adds "warbles", "chimpers", and "puffs" to the customizable speech verbs
- for character.
-2020-10-02:
- ArcaneMusic, with minor tweaks by TheObserver-sys:
- - rscadd: Adds and modifies fertilizers, as well as a new stat, Instability.
- - rscdel: Removes the rather disused functionality of irrigation hoses, temporarily
- disables circuit use on hydroponics trays.
- - tweak: Plant Analyzer have been upgraded. Using one in hand will now switch between
- a stat view of your plant, and a chemical view of your plant. tweak:Trays now
- accept and store reagents, as well as coming with an autogrow mode. However,
- these upgrades came at the cost of old self sufficiency, meaning you must attend
- to your plants a bit more often.
- - tweak: Earthsblood, while not being able to gild trays anymore, has been found
- to still be quite powerful as a fertilizer.
- CoreFlare:
- - rscadd: Altcloaks! Available in loadout.
- Detective-Google:
- - rscadd: a smattering of clothes from the RP server
- - rscadd: detective wardrobe
- EmeraldSundisk:
- - rscadd: Adds the "Skelter" space ruin
- - code_imp: Creates a few new area designations for the Skelter
- - rscadd: Cargo techs now have access to a "long pants" variant of their standard
- work uniform
- - rscadd: Adds said uniform to CargoDrobes and the loadout menu
- ItzGabby:
- - rscadd: Three new turf tiles.
- - imageadd: Turf icons with multiple damage icons, with in-hand icons for each tile.
- - spellcheck: Edited the name and description to wooden.
- LetterN:
- - rscadd: craftable railings
- - code_imp: ports robust savefiles
- MrJWhit:
- - tweak: tweaked heavy suit dmi
- - bugfix: Fixes drones not being able to quickslot items
- Putnam3145:
- - rscadd: New policy config for pyroclastic slimes.
- - tweak: SDGF clones now naked.
- - balance: SDGF is now way more likely to make a clone that will align with the
- creator's goals, with purity, making it a better antagging tool.
- - bugfix: SDGF clones now have the same traits as the original.
- - bugfix: transfer_ckey now resets view, preventing things like SDGF clones with
- much larger view range.
- - config: 'Policy configs have been added for SDGF, currently unused: SDGF, SDGF_ALIGNED,
- SDGF_UNALIGNED.'
- - bugfix: Shivering now has thresholds and fever's thresholds now work.
- - bugfix: Made allturfs setup actually set up all turfs.
- - balance: Dynamic is now more aggressive with adding antags.
- - bugfix: Fixes vore pref saving.
- SandPoot:
- - bugfix: Fixes headslugs being unable to recover their human form.
- Tupinambis:
- - rscadd: Adds methane and methyl bromide gases.
- - tweak: Minor gas name/desc changes to improve consistency
- - imageadd: Ports the methyl bromide tank from bay. Adds two new canister sprites
- for the new gases and CH4 screen alerts.
- - bugfix: fixed a mispelling in the wound armor value for the bounty hunter suit
- dapnee:
- - rscadd: atrium, clinic, an extra office, a pseudo public mining area, two more
- deluxe dorms, micro beach, aux bathroom, two construction areas, mass driver,
- more intercoms
- - tweak: moved all of service, chapel, dorms, garden, holodeck to a different z-level,
- RnD is more open, maintenance is a bit more random, more firelocks, added more
- mine-able rock
- - bugfix: fixed the buttons in xenobio, gave shutters to cargo's storage area, fixed
- holodeck so it works now, fixed some techfabs being lathes, added sensors to
- atmos tanks, more decals, couple more signs, little floral areas and sitting
- areas added to break up hallway monotony, mech chargers are no longer missing
- their consoles, whiteship won't crash into arrivals anymore while the area it
- takes up is more telegraphed, APC placement on AI sat entrance, missing wire
- node for the outer portion of the AI sat, civilian level now has a telecom relay
- lolman360:
- - bugfix: smonk machine runtimes
- - bugfix: automatic hydro tray has a unique sprite now (fancy robot arm)
- timothyteakettle:
- - rscadd: added luminescent and stargazer sprites as selectable body sprites for
- slimes
- - tweak: wound exponent lowered slightly from 1.225 to 1.2
- - config: wound exponent and limb damage multiplier are now config values
- - rscadd: ipcs and synthlizards are now treated as actual robots, with robotic limbs,
- an extra organ, and better emp acts
- - rscadd: surgeries for healing robotic limbs, and brain surgery for robotic heads
- - bugfix: androids limbs now show up as intended
- - refactor: emps now work from 1-100 severity instead of 1/2 and the severity reduces
- as you move from the epicentre
- zeroisthebiggay:
- - rscadd: ratvar gf is complete
-2020-10-04:
- DeltaFire15:
- - bugfix: Synths / IPCs are no longer wound immune.
- - bugfix: Husked IPCs / Synths should now be rendered correctly.
- - bugfix: Falling vendors now squish synths / IPCs' limbs again.
- - bugfix: Synths and IPCs now do not have some fun roundstart oversights anymore.
- - bugfix: Regenerate_limbs now works for carbons with the ROBOTIC_LIMBS trait.
- - bugfix: Pacifists no longer counterattack on parries if that attack would be harmful.
- - tweak: Heretic sacrifices now husk with the reason of burn, and deal some additional
- damage.
- - bugfix: Neovgre can no longer become invincible on clock tiles.
- - bugfix: Plushlings no longer break when absorbing snowflake plushies.
- Detective-Google:
- - bugfix: the snow cabin doors actually bolt now
- Putnam3145:
- - bugfix: Ghosts are no longer incapable of going away.
- monster860:
- - tweak: The slimeperson swap-body UI stays open when you switch bodies
- timothyteakettle:
- - bugfix: limb id entry in mutant bodyparts now supports switching to/from species
- with gendered body parts
- - tweak: the minimum brightness of mutant parts is now a define
-2021-01-21:
- Acer202:
- - bugfix: Main mining shuttle should no longer look at the public mining shuttle
- and attempt to dock ontop of it. Monastery shuttle should now function again.
- Acer202, with minor help from The0bserver:
- - rscadd: After internal deliberation, CentCom has decided to run a limited reinstatement
- of public mining shuttles for use in more tried and true station classes. CentCom
- would like to remind you that this privilege is easily revoked, and that abuse
- may result in immediate detonation.
- - rscadd: Restores the mining shuttle on Pubby, Box, Delta, Meta, and Lambda Station.
- ArcaneMusic, The0bserver-sys:
- - rscadd: 'New from Hydrowear LLC: The Botanical Belt! This handy yellow belt lets
- you hold most of your botany gear, and a few beakers for reduced bag and floor
- clutter!'
- - tweak: Gives Hydrotrays plumbing pipes automatically, allowing you to make a self
- sustaining tray via plumbing.
- - tweak: Gives Service access to Bluespace Beakers, at last, gives Cargo, Science,
- and Medical the ability to construct reinforced plungers for use on lavaland.
- ArchieBeepBoop:
- - rscadd: Upgraded Advanced RTG Machine Preset
- - bugfix: Outlet Injector Mapping Asset Layer Fix
- - bugfix: Jacqueen and the Christmas tree should no longer spawn abstract things
- that can cause shittons of runtimes.
- Arturlang:
- - bugfix: You can't tackle in nograv anymore
- - tweak: You cannot spam drink from blood bags anymore
- - bugfix: Blood bag drinking inefficiency is now the right way, so you loose some
- of the blood drinking it straight
- - bugfix: Handles more edge cases with construct soul returning
- - tweak: Being sacrificed by the cult no longer removes all hope of rescue.
- - bugfix: Makes construct mind returning more robust
- - tweak: Prayers to admins now do a wee ding sound for all prayers, instead of just
- chaplains
- - bugfix: Fixes the mint machine's UI
- - bugfix: Hopefully fixes whitescreen issues for TGUI UI's by giving assets more
- time to get to the client
- - bugfix: Fixes hijack implant APC UI, again
- - code_imp: Comments out spaceman dmm do not sleeps for mob/proc/CommonClickOn,
- atom/proc/attack_hand, datum/proc/keyLoop and mob/living/proc/Life
- - bugfix: Bloodsuckers tresspass ability can no longer work while they are not awake.
- - tweak: The cursed heart now only takes away half as much blood every loop, and
- can be used as long as you are alive, instead if only you are awake/able to
- use your hands
- Bhijn:
- - tweak: Changeling loudness is now determined as an average of all their abilities,
- rather than the sum
- - tweak: To compensate for this, blood tests now require a loudness value of 1 or
- higher to detect ling blood. Additionally, blood test explosions are now triggered
- only when the loudness value is higher than 2.
- BlackMajor:
- - tweak: Cyborg hypospray no longer injects if it means OD'ing while on help intent.
- BlueWildrose:
- - tweak: Nyctophobia quirk now has some light lag compensation.
- - bugfix: Fixes cloning computer UI not updating when pressing certain buttons -
- also adds extra check for names to update a message
- - rscdel: Removes oversized genitalia analysis from medical scanners, since huge
- dick and titty are no longer a problem anymore thanks to advancements in that
- kind of technology when it comes to chemical fun times growth.
- - bugfix: Fixed species-specific drinks not giving a mood boost if you are that
- species.
- - tweak: You will now only unbuckle fireman-carried/piggybacked people on disarm
- or harm intent.
- - balance: The traitor AI can no longer activate the doomsday device while carded.
- - bugfix: Fixes noodle size appearance for 12+ inch members.
- - bugfix: Fixed the subtle hotkey being weird with its input prompts.
- - rscadd: Adds a subtler anti-ghost hotkey. Default key is 6.
- - tweak: No more straining when your cock or breasts are growing via incubus draft
- or succubus milk.
- - rscadd: PubbyStation now has two Christmas Tree spawners.
- - tweak: You can now have a max-roundstart-dicksize-config inch long johnson before
- you start suffering blood loss and slowdowns instead of a 20 inch one.
- - rscadd: Color Mates have been added to all stations (except Snaxi). Enjoy coloring
- your attire without having to bug science!
- - bugfix: Polychromic hoodies that were obtained from the loadout have functional
- colorable hoods now.
- - rscadd: Adds in timid woman/man costumes. Available at your autodrobe! Also adds
- in garters as some new socks.
- - spellcheck: Corrected the capitalization in gasmask concealment examine text
- Chiirno:
- - rscadd: Added the paramedics EVA suit as a purchase from the cargo console.
- - rscadd: Paramedics office and Surgery Storage Room
- - tweak: Remodeled the surgery room, as well as shrunk Morgue and Starboard Emergency
- Storage. Fiddled with some areas for better map edit clarity and fixed one runtime
- in Vacant Office A.
- - imageadd: Added the paramedic closet sprite, a paramedic colored medical3 closet.
- - code_imp: Added a paramedic closet, which is the standard medical3 closet with
- their suit, a pinpointer, and a crew monitor added.
- - tweak: Nightmare now deals additional damage to most light sources.
- - bugfix: Nightmare now one-shots miners beacons and glowshrooms
- - bugfix: Portable Chem Mixer now researchable from biotech node.
- - tweak: Chem masters can now dispense 20 instances of its outputs instead of 10.
- Delams-The-SM:
- - rscadd: Added 3 new emotes *hiss *purr *meow
- - soundadd: ported sounds from Citadel RP for *purr and *meow
- - bugfix: fixed randomization of colors for things like mulligan and Stabilized
- green slime extract for matrixed body parts
- DeltaFire15:
- - balance: Biomechanical (hybrid) bodyparts now have access to wound-fixing surgeries.
- - tweak: A wound being fixed no longer just qdel()s surgeries connected to it.
- - tweak: Some robotic surgery steps are now a bit more clear.
- - bugfix: Organs no longer get fed to people after successfully being inserted into
- them.
- - tweak: Not completing the do_after of a surgery no longer causes you to attack
- the target with whatever you were holding.
- - rscadd: IPC cells & power cords are now printable after they are researched.
- - rscadd: A new surgery, allowing revival of synths without a defib at hand.
- - balance: 'Semi-permanent damage of Synth limbs caused by passing the damage threshold:
- 10 <- 15.'
- - tweak: The embed removal surgery now has a version for Synths.
- - balance: EMPs no longer hardstun Synths.
- - bugfix: Portals no longer runtime because of incorrect args.
- - tweak: Abductors now can use experimental organ replacement surgery on robots
- / synthetics.
- - bugfix: Fixes a minor incorrectness in ratvarian borg slabs (ratvar_act -> ui_act)
- - bugfix: Changelings no longer double-deathgasp when activating the regen stasis
- ability while not dead.
- - bugfix: People installing KA modkits in miner borgs is no longer broken.
- - bugfix: Fixes the tail entwine messages displaying incorrectly.
- - bugfix: Antagging / Deantagging Heretics now properly sets their special role.
- - bugfix: The borg VTEC ability now actually gets removed when the upgrade is removed.
- - bugfix: Supplypods shouldn't cause runtimes anymore, and shrapnel (pelletclouds)
- should work for them.
- - rscadd: Robots (anyone with the robotic_organism trait) have toxins damage replaced
- with system corruption. See the PR for details.
- - code_imp: Clockwork rites now support hiding specific rites from neutered servants.
- - tweak: AIs now only have to kill people once instead of permanently.
- - bugfix: Scripture no longer sometimes eats part of its invocation.
- - balance: APCs and silicons are now more susceptible to powerdrains (by the power_drain()
- proc, which is rare)
- - balance: Void Volt has been modified from a chant to a singular pulse.
- - balance: Robotpeople are now fully immune to the effects of alcohol (drunkness
- etc.)
- - tweak: Renames the alcohol intolerance trait in the code to make what it does
- more clear.
- - bugfix: Self-fueling weldingtools recharge fuel properly again.
- - bugfix: Brass welders now actually recharge faster than experimental ones.
- - bugfix: Repeatable surgery steps can no longer cause an infinite loop if not completing
- the do_after
- - bugfix: The Revenant self-revive ability is no longer broken.
- - bugfix: Loot items mobs drop are no longer always failing to initialize.
- - tweak: Instant summons can no longer do wacky stuff with disposals (and nukes).
- - bugfix: Objectives are no longer very broken.
- - bugfix: Bloodcult stunhands now work against clockies like they were supposed
- to instead of hardstunning.
- - balance: zeolites are now actual fermichems instead of being incredibly easy to
- make.
- - bugfix: Using syringes / droppers on chem heaters with beakers in them works again.
- - bugfix: Some edge cases causing issues with system corruption shouldn't be able
- to occur anymore.
- - bugfix: Cyborg B.o.r.i.s. installation now checks for if the chest has a cell,
- just like how it does with MMIs.
- - bugfix: The 'Your body is in a cloner' notification works again
- - bugfix: Hijack implants should work properly again (or, at least better)
- - bugfix: Liches are now good skeletons again instead of weak ones
- - bugfix: The piratepad control cannot be destroyed again.
- - bugfix: Pirates have received new supplies of jetpacks instead of useless oxygen
- tanks
- - bugfix: Ratvarian AIs are once again able to show their linked borgs Ratvar's
- light
- - bugfix: Hijackers are once again unable to detonate borgs without being adjacent
- to the console
- - bugfix: Automated annoucement systems and gulag ore consoles no longer waste emag
- charges
- - bugfix: Automated announcement systems once again can be remote controlled by
- non-AIs with silicon access
- - bugfix: APCs being hijacked multiple times at once is no longer possible, preventing
- some issues
- - bugfix: Recharging APCs no longer use 0.2% of the power they should be using.
- - bugfix: APCs no longer always use as much power as they can for their cell, even
- if it is full.
- - bugfix: Vampire shapeshifting should now behave as intended
- - balance: Some synth damage stuff has been a bit rebalanced, see the PR for details.
- - rscadd: Nanogel, available at medical and robotics, which fixes internal damage
- in sufficiently repaired robotic limbs.
- - balance: Robotic Limbs now each have their own damage threshhold values
- - balance: Robotic Limb damage threshholds are now seperated into threshhold itself
- and mindamage when passed balance; Hybrid limbs can now be injected with hypos,
- but not sprayed (Still not healed by chems)
- - tweak: Brain surgery has been tweaked back to allowing robotic limbs, blacklisting
- IPC brains instead.
- - tweak: Robot brain surgery can now be used on organic heads, if there is a IPC
- brain in them somehow.
- - tweak: The robot limb heal surgery can now be used even if the target's torso
- is not robotic, as long as they have robotic limbs
- - refactor: BODYPART_ROBOTIC / BODYPART_ORGANIC checks replaced with helper-procs
- whereever possible.
- - code_imp: Added a BODYPART_HYBRID define for robotic bodyparts that behave organic
- in some regards.
- - bugfix: The transmission sigil power drain works now
- - bugfix: A certain lizard (totally not me) being stupid is no longer going to break
- regenerate_bodyparts
- - bugfix: Combat mode now will not stay permanently disabled due to status effects
- not working as intended.
- - bugfix: Attacking some certain objects no longer has no clickdelay.
- - bugfix: the blacksmithing skill now works properly
- - tweak: Anvils cannot be interacted with with hammers whilst they are already being
- used
- - tweak: If someone has no gloves when interacting with heated ingots, they no longer
- ignore their effects.
- - bugfix: A runtime caused by hallucinations is gone.
- - bugfix: Cargo packs marked as 'no private buying' now actually register as such.
- - balance: Fleshmend, Anatomic Panacea and bloodsucker healing now work for Synths
- / IPCs.
- - tweak: Medibots now ignore people they cannot help due to their biology.
- - bugfix: get_damaged_bodyparts() is no longer broken.
- - bugfix: Your target cryoing will no longer give you a free greentext.
- - bugfix: Sleeper UI interactiveness now behaves correctly.
- Detective-Google:
- - rscadd: arcade carpet
- - rscadd: explosions now get broadcasted to deadchat.
- - rscadd: Lick radial
- - bugfix: Hilbert's jukebox works
- - bugfix: arcade carpets now actually work
- - tweak: the snow taxi is no longer the slow taxi
- ERP mains:
- - rscadd: Subtler Around Table is now a verb
- EdgeLordExe, MoonFalcon:
- - balance: Ported a bunch of heretic-related tweaks and changes from tg
- EmeraldSundisk:
- - rscadd: Adds a few new area designations primarily for CogStation, incorporates
- them into said map
- - tweak: Reorganizes some area designations for ease of use, along with renaming
- the central "Router" to "Routing Depot"
- - bugfix: Fixes an incorrectly designated area in CogStation
- - bugfix: Changes the area designations to be not varedited since the code didn't
- like that anymore
- - bugfix: The cargo bay conveyor belts not only work with the shuttle now but go
- in the right direction to boot
- - tweak: Slight visual adjustments to cargo in light of this
- - rscadd: The arcade's got RAD carpet now
- - bugfix: Fixes the conveyor belt issues in Delta Station's cargo wing
- - rscdel: Removes some of the dirt around the affected area (presumably they would
- have cleaned it up while working on it)
- - rscadd: Adds a floor light to fix the "dark spot" cargo had
- - rscadd: Adds a new "Computer Core" area designation for CogStation
- - bugfix: Fixes some missing area strings
- - tweak: Replaces some firelocks with directional ones as to ensure desks/counters
- can still be accessed
- - balance: The "Skelter ruin" now has stechkins as opposed to M1911s
- - tweak: Skelter's decorative bullet casings replaced to factor in the change in
- caliber
- - rscadd: Skelter now has a combat knife and fluff note
- Ghommie:
- - bugfix: You can access the mime / clown mask skins radial menu once again.
- - bugfix: Dice bags no longer act like cardboard boxes.
- - bugfix: Abductors should be no longer mute.
- - bugfix: Item action buttons should now properly show the item current overlays,
- most times.
- - bugfix: The blackbox should now go into your hand slot when pried out, rather
- than tumbling on the ground everytime.
- - tweak: The Quick Equip hotkey is now usable by all living mobs (so long they have
- hands and equipment slots)
- Ghommie, porting PRs by MMMiracles and pireamaineach, credits to BlueWildrose too.:
- - rscadd: You can now draw on plasmaman helmets with a crayon to turn their frown
- upside-down.
- - balance: Plasmaman helmets no longer hide your identity when worn by themselves.
- - balance: Plasmaman helmets now have welding visors, which can't stack with their
- torches in the helmet and are visible.
- Hatterhat:
- - rscadd: Energy sabre reskin for the energy sword - access via alt-click.
- - bugfix: Alt-click reskins are fixed.
- - tweak: Defibrillators and their many, many overlays were moved to another .dmi.
- - tweak: You can now change the color of an energy sword via multitool. Not deswords.
- Yet.
- - imageadd: The Syndicate appear to be issuing new revolver variants.
- - rscadd: Basic sticky technology is now a roundstart tech. Advanced sticky technology
- is BEPIS-locked, though. Theoretically.
- - tweak: Non-smithed katanas (including the temporal katana) can now fit in the
- twin sheath.
- - tweak: Cotton and durathread processing by hand now acts like grass. Stand on
- a pile of cotton (or durathread) and use a single bundle from it.
- - spellcheck: Utility uniforms now comply with the "nonproper equipment names" thing.
- - bugfix: The CapDrobe now allows the captain to get his own clothes for free. Probably.
- - tweak: All captains' clothes now offer 15 woundarmor, up from the 5. Because apparently
- only the suit and tie and its suitskirt subtype have this wound armor, which
- is dumb.
- - rscadd: The nature interaction shuttle with the monkeys now has tiny fans on the
- airlocks in, because that's apparently a feature that was missing.
- - rscadd: More bags have been added to department vendors.
- - balance: Every roundstart species (and also ash walkers) now has flesh and bone
- that can be wounded.
- - balance: Recipes for sutures, regen mesh, and sterilized gauze have been adjusted
- to be easier, mostly.
- - balance: Sterilized gauze is better at absorbing blood and being a splint.
- - bugfix: Energy sabres now have an off inhand.
- - balance: The bone gauntlets should be slightly less murderously punchy on the
- fast punches mode.
- - tweak: RPEDs now drop their lowest part tier first when quick-emptied (used inhand).
- - tweak: Improvised gauzes can now be crafted in stacks up to 10, like their maximum
- stacksize implies they should be capable of doing.
- - bugfix: Pouring sterilizine on gauze now takes the proper 5u per sterilized gauze
- instead of 10u.
- - bugfix: Cryogenics now screams on common again when your fuckbuddy heads out.
- - rscadd: Survival daggers! A slightly more expensive survival knife that comes
- with a brighter flashlight. On the blade.
- - tweak: Luxury pod capsules look different from normal capsules.
- - rscadd: The wastes of Lavaland and the icy caverns of Snow Taxi rumble in unison.
- - tweak: Exosuits sold on the Supply shuttle no longer leave wreckages.
- - rscdel: Apparently, shrink rays were buyable again, despite a PR having been made
- a while ago specifically for removing shrink rays. They're gone again.
- - rscadd: Changeling bone gauntlets! They punch the shit out of people really good.
- - tweak: Guerilla gloves and gorilla gloves inherit the strip modifiers of their
- predecessors, because apparently they had those.
- - balance: Pugilists now always hit the targeted limb and never miss.
- - rscadd: The dock-silver standard set by Box and Meta has been enforced across
- maps in rotation (Delta, Pubby, Lambda).
- - bugfix: The Box whiteship now has its missing tiny fan back.
- - bugfix: The survival dagger light on the sprite now actually turns on and off.
- - balance: The survival dagger in the glaive kit that can also be bought by itself
- is now better at butchering things.
- HeroWithYay:
- - bugfix: Changed description of Necrotizing Fasciitis symptom.
- - tweak: Wormhole Projector and Gravity Gun now require anomaly cores to function
- instead of firing pins.
- KeRSedChaplain:
- - imageadd: Resprited the brass claw
- LetterN:
- - rscadd: 2 more ways to get up from z1
- - tweak: tweaked the z2 garden to be less blank
- - bugfix: fixed telecomms pda log
- - rscadd: Coin & Holochip support for slot machine
- - admin: Stickybans are now saved in the DB too
- - soundadd: Immersive ™ audio reverbs. (also adds multiz audio)
- - code_imp: Semi-hardsync from TG
- - code_imp: Updates rust-g
- - code_imp: Uses git CI instead of travis/appveyor now
- - code_imp: Updates git and build tests.
- - bugfix: minimap text
- - code_imp: ports cinematic upgrades
- Linzolle:
- - bugfix: entertainment monitors no longer invisible
- - rscadd: entertainment monitors now light up and display text when motion is detected
- in thunderdome
- - bugfix: lizard snouts are no longer *slightly* lighter than they are supposed
- to be.
- MrJWhit:
- - rscadd: Expanded space hermit base
- - tweak: Replaced engineering fuel tank with a large fuel tank
- - tweak: Changed access to sec suit storage from armory access in every map to other
- security access
- - rscadd: Adds a space loop to every map in toxins
- - rscadd: ''
- - tweak: Added the ability for cargo to buy a large welding tank
- - imageadd: Tweaked large tank reagent sprites to /tg/'s
- - tweak: Gives metastation toxins storage a scrubber and a vent
- - tweak: Updates suit storage info on Tip Of the Round.
- - tweak: Increased christmas event from 22th to 27th to 10th to 27th
- - tweak: Removes an opposum from the wall
- - tweak: Donut boxes show what's inside of them now
- - tweak: Updated meat icons
- - admin: Canceling events gives more time to stop from 10 to 30
- - tweak: Fixes two chairs on one table
- - tweak: Removed the wires connecting the AI from the rest of the station on cogstation.
- - tweak: Fixes experimenter on cogstation.
- - tweak: Less pipes in the overall area in toxins on cogstation
- - tweak: Small fixes on security on boxstation
- - tweak: Updated jukebox sprite.
- - tweak: Fixes maint area in boxstation
- - tweak: Christmas starts on the 18th now
- - rscadd: Adds a goose bar sign
- - bugfix: Effects can no longer trigger landmines
- - rscdel: Removes the screen flashing on climax.
- - rscadd: Makes gas sensors fireproof.
- - tweak: A small bucket of random fixes,
- - tweak: Minor fixes to kilo
- - tweak: Porting garbage collection tweak from /tg/
- - tweak: Updates our dark gygax sprites to /tg/'s
- - tweak: Bugfix of a morph becoming an AI eye
- - tweak: Mining station oxygen locker on the cycling airlock starts out wrenched.
- - balance: Nerf combat knife damage
- - bugfix: Code improvement on ventcrawling
- NT Cleaning Crews On Break:
- - rscadd: Most kinds of dirt, grime, and debris are now persistent. Get to work,
- jannies.
- - rscadd: Dirt can now be removed by tile replacements. Other cleanable decals can't,
- though.
- Putnam3145:
- - tweak: Replaces majority judgement with usual judgement.
- - bugfix: Toilet loot spawners don't lag the server on server start with forced
- hard dels.
- - bugfix: vore prefs save now
- - tweak: gear harness no longer magically covers up the body mechanically despite
- covering up nothing visually
- - balance: Regen coma now puts into a coma even from crit or while unconscious.
- - bugfix: Regen coma now properly weakens while asleep.
- - bugfix: Multi-surgery unit test no longer fails at random.
- - refactor: Dwarf speech is no longer absolutely paranoid about word replacement.
- - balance: Spontaneous brain trauma now requires minimum 5 players
- - tweak: Grab bag works as advertised.
- - balance: Xeno threat in dynamic tripled.
- - code_imp: 'Vote system #defines are now strings'
- - rscadd: Stat panel UI for ranked choice votes
- - rscadd: A fallback for dynamic antag rolling that allows for it to just try between
- traitor, blood brothers, heretics, changeling, bloodsucker and devil until there
- are enough roundstart antags. This can also happen randomly anyway. Blood brothers
- and devil are disabled for now, but the code is there to enable them.
- - rscadd: A new storyteller, "Grab Bag", that forces the above round type.
- - bugfix: atmos subsystem no longer dies if there's too many gases
- - bugfix: Emotes can properly be filtered for in TGUI.
- - bugfix: Holofirelocks work now.
- - bugfix: adminhelping no longer removes entire admin tab
- - bugfix: end of round no longer removes entire admin tab
- - bugfix: Fixed a runtime in every healing nanite program.
- - bugfix: removed a unit test causing master to fail
- - tweak: Planetary atmos no longer does superconduction.
- - bugfix: Dynamic vote no longer shows the none-storyteller.
- - tweak: You can now exit polycircuit input
- - bugfix: Polycircuits now check for range
- - bugfix: gear harness alt-click is now sane
- - code_imp: rolldown() and toggle_jumpsuit_adjust() now no longer mix behavior-that-should-be-overridden
- and behavior-that-shouldn't-be-overridden in ways that make no sense.
- - tweak: Gear harness now covers nothing.
- - bugfix: Chemical stuff now displays fermichem stuff properly
- - balance: Rad collectors now get 1.25x as much energy from radiation
- - balance: Rad collectors now put out 1.25x as much stored energy per tick
- - balance: Above two rad collector changes give a total 56.25% power output increase
- - balance: Zeolites now only generate 1/5 the heat when reacting and don't require
- a catalyst.
- Ryll/Shaps:
- - admin: Fixed an issue with player logs becoming confused when someone triggers
- multiple events within one second (like being attacked by two people at the
- same time) that would cause holes in the logs
- SandPoot:
- - tweak: You can attack a pile of money on the floor with your id to put it all
- in quickly.
- - refactor: Changes the limb grower a lot.
- - bugfix: '"Limb" costs on limbgrower are actually displayed like it was meant to
- all along.'
- - code_imp: Swaps the gift static blacklist with a global list one.
- SiliconMain:
- - tweak: Engi department has gas masks in loadout
- - tweak: hololocks (which haven't worked for god knows how long) commented out until
- auxmos is merged
- Sonic121x:
- - rscadd: alarm ert hardsuit sprite for naga and canine
- - tweak: adjust the naga ert hardsuit to cover the hand
- - bugfix: cydonia hardsuit helmet
- - rscadd: digi sprite uniform
- - bugfix: digi leg suit
- SpaceManiac:
- - bugfix: Fixed the maphook
- Thalpy:
- - bugfix: fixes some bugs in jacqs code from edits to the codebase
- The Grinch:
- - rscdel: infinite presents from hilbert hotel
- TheObserver:
- - rscadd: Re-adds the rifle stock, and sets the improv shotgun to be as it was.
- - rscdel: The maintenance rifle has been shelved - for now. Watch this space.
- TheObserver-sys:
- - bugfix: Drake? Where's the dead fairygrass sprite?
- TheSpaghetti:
- - bugfix: no more tumor bread double punctuation
- Trilbyspaceclone:
- - tweak: Zeolites now use gold rather then uranium for catalyst
- - tweak: Zeolites are not as hard to make ph wise
- - tweak: Making Zeolites heats up the beaker less allowing for better control
- - tweak: ASP 9mm and M1911 can now have suppressers added
- - balance: Brass welders are 50% faster at refueling
- - code_imp: redoes self fueling welders in the code to be less speggie
- - rscadd: the corporate unifoms can now be gotton in the clothing mate vender
- TripleShades:
- - rscadd: 'Firelock to Surgery Bay drapes change: Swapped Nanomed and Fire Alarm
- button locations in both Surgery Bays change: Removes the double mirror in both
- Surgery Bays to be a singular mirror change: Moved an intercom to not be doorstuck
- below Paramedical Office remove: One Surgery Observation Fire Alarm button'
- - rscadd: 'New Paramedic Office next to Genetics where the old Genetics Reception
- used to be change: Surgery, Surgery Observation, and Recovery Hall layout revamped
- drastically change: Maints below Surgery lowered by one tile to recover lost
- tile space from Surgery expansion'
- Tupinambis:
- - rscadd: Arachnids (spider people) with limited night vision, flash vulnerability,
- and webbing.
- Vynzill:
- - rscadd: 'new gateway mission mapadd: jungleresort map'
- - bugfix: fixes high luminosity eyes
- Xantholne:
- - bugfix: Fixed new birds changing back to basic parrot when sitting
- - rscadd: New parrots from the RP server, can be found in Bird Crate in Cargo
- - rscadd: You can now tuck disky into bed
- - rscadd: You can now make beds by applying a bed sheet to them
- - rscadd: You can now tuck in pai cards into bed
- - rscadd: Added bed tucking element, can be added to any held object to allow tucking
- into beds
- - bugfix: Twin Sword Sheaths have an equipment icon and icon when worn now and make
- a sound when sheathed/unsheathed
- Yakumo Chen:
- - balance: Slime Jelly is no longer obtainable from slimepeople. Go ask Xenobio
- YakumoChen:
- - balance: "To lower production costs, Buzz Fuzz is now manufactured with Real\u2122\
- \uFE0F Synthetic honey."
- Zandario:
- - code_imp: Added some framework for future species expansions, including clothing
- refitting.
- - refactor: Made majority of the relevant Species IDs and Categories pre-defined,
- also for easier expansion and use.
- - bugfix: lum slime sprites work again
- - code_imp: Slapped the Species Defines where relevant
- corin9090:
- - tweak: The chaplain's prayer beads can now be worn on your belt slot
- kappa-sama:
- - bugfix: super saiyan
- - tweak: ishotgun crafting recipe no longer requires plasteel and is slightly more
- convenient
- - balance: ishotgun does 45 damage now instead of 40.5
- - rscadd: s
- - tweak: s
- - balance: s
- - bugfix: s
- - rscadd: A new spell for the wizard and his martial apprentices, the Inner Mantra
- technique. It makes you punch people really good and makes you durable, but
- drains your energy while it's active.
- - rscadd: A self-buffing spell for valiant bubblegum slayers that is ultimately
- useless on lavaland and probably overpowered for miner antagonists. Go figure.
- At least all it does is let you punch hard while draining your health every
- second.
- - balance: bubblegum now drops a book that makes you into an abusive father instead
- of a shotgun that plays like pre-nerf shotguns
- - soundadd: a powerup and powerdown sound effect
- - imageadd: two icons for two buff spells
- keronshb:
- - bugfix: Allows Energy Bola to be caught
- - balance: This also allows them to be dropped/picked up.
- - rscadd: Adds a reduced stamina buffer for SCarp users
- - rscadd: Gives SCarp users a better parry
- - rscadd: Adds the SCarp bundle which includes a bo staff
- - rscadd: Lets Carp costumes carry Bo Staffs
- - balance: reduces the stamina damage of scarp slightly
- - balance: reduced the blockchance of the bo staff
- - rscadd: Adds more room to northwest maint
- - rscadd: Adds a bridge between Atmos and the Turbine.
- - balance: Blob Resource Tower to 2 points per instead of 1 point per.
- - balance: Blob Factory Towers can be placed 5 tiles apart instead of 7.
- - bugfix: Fixes Blobbernaut Factories consuming Factories if no naut is chosen.
- - bugfix: Fixes Reflective Blobs
- - rscadd: Re-adds the Clown Car to the clown uplink
- - balance: 15 >16 TC cost
- - balance: bonks on external airlocks
- - bugfix: Fixes the parry data for scarp
- kittycat2002:
- - rscadd: set the name of /datum/reagent/consumable/ethanol/species_drink to Species
- Drink
- kiwedespars:
- - balance: balanced bone gauntlets.
- - rscadd: the robust dildo weapon now has sound.
- necromanceranne:
- - bugfix: Fixes various sprites for bokken, as well as being unable to craft certain
- parts and duplicate entries.
- - rscadd: 'Bokken now come in two lengths; full and wakizashi, and two varieties:
- wood and ironwood. They have different stats for all four.'
- - rscadd: Bokken require menu crafting and part construction, as well as more complicated
- materials.
- - tweak: Bokken (long and short) require wood, cloth and leather to craft with a
- hatchet and screwdriver.
- - tweak: Ironwood bokken (long and short) require ironcap logs, cloth and leather
- to craft with a hatchet, screwdriver and welder.
- - balance: Twin sheathes can only fit a pair of blades (longsword + shortsword)
- or they can fit two shortswords.
- - bugfix: Fixed a twin sheath runtime.
- - imageadd: A lot of bokken related sprites received an overhaul. Added overlay
- sprites for weapons sheathed in the twin sheathes.
- - imageadd: The extradimensional blade received improved sprites for inhands/back
- sprites.
- - bugfix: You can now make all the variants of the bokken.
- - bugfix: Removes a duplicate sprite.
- - tweak: Renames all instances of 'ironwood' to 'steelwood'.
- - rscadd: Adds new roboticist labcoat sprites!
- qwertyquerty:
- - bugfix: Flash the screen on climax
- raspy-on-osu:
- - spellcheck: salicylic acid
- - tweak: space heater heating range and power
- - tweak: windoor open length
- shellspeed1:
- - rscadd: Wings from Cit RP have been ported over
- - rscadd: Moth wings from cit have been ported over
- - bugfix: Cleaned up some pixels on existing moth wings.
- - tweak: Organized the lists for wings by if they are for moths or not and than
- by alphabetical.
- - balance: Lings now have infinite space for DNA.
- - rscadd: All xenomorph types have been added as corpses for mapping purposes
- - balance: The dead xenomorphs in the lavaland xenomorph hive now have more variety.
- - tweak: Floor bots are now buildable with all toolboxes.
- - rscadd: 'Xenomorph hybrids can now select wings ~~add: Xenomorph hybrids can now
- speak xenomorph~~'
- - rscadd: Xenomorph tongues are available for customization.
- - rscadd: Mining borgs can claim points again
- - rscadd: Construction bags have been added, use them to carry all sorts of construction
- bits.
- - rscadd: A recipe has been added to cloth stacks to make material and construction
- bags.
- - balance: Material bags and construction bags are now available in engineering
- lockers.
- - rscadd: Adds the disposable sentry gun from tg for 11tc each.
- - rscadd: The exofab can now print prosthetic limbs
- - bugfix: The exofab was missing access to multiple cybernetic organs. This has
- now been rectified.
- - rscadd: A new recipe for a spicy has been given to us by a strange business man.
- - rscadd: The bluespace navigation gigabeacon design has been added to shuttle research
- for those wanting to take their ships around space more.
- - tweak: Xenomorph powers now list plasma cost in their description.
- silicons:
- - tweak: nanite resistances tweaked
- - rscadd: new nanite programs added for locking the user out from being modified
- by consoles or antivirals.
- - rscdel: anomalies no longer spawn in walls
- - rscadd: 'Twitch Plays: Clown Car'
- - rscadd: pugilists can now parry
- - balance: c4 can no longer gib mobs
- - tweak: medium screens are better now
- - tweak: text formatting now uses one character instead of two around the text to
- emphasize.
- - rscadd: colormates
- - balance: shoving yourself up now costs 50% more
- - bugfix: dullahans enabled
- - rscadd: tailed individuals can now target groin to intertwine tails on grab intent.
- - rscadd: Clowns now have unpredictable effects on supermatter crystals when dusting
- from contact.
- - tweak: anyone new to the server is lucky enough to have their sprint default to
- toggle instead of hold
- - balance: stamina crit is only removed when at or under 100 stamina, rather than
- 140. stamina crit threshold is still at 140.
- - tweak: luxury shuttle no longer has noteleport
- - rscdel: now only poly gets a headset on spawn, not all birds.
- - tweak: the warp implant now actually warps you back 10 seconds. leaves a trail,
- though. now unlimited us.
- - bugfix: things in DEATHCOMA do not deathgasp on death
- - tweak: Meth and changeling adrenals no longer ignore all slowdowns, rather damage
- slowdowns.
- - rscadd: you can now be an angel using a magic mirror again
- - tweak: command headsets are 120% instead of 160%
- - bugfix: no more emote italics
- - rscadd: players can now respawn/return to lobby as a ghost after a 15 minute (default)
- delay and rejoin on another character with some/many restrictions
- - rscadd: cryo now preserves everything
- - bugfix: Magrifle ammo no longer glows.
- - tweak: temperature slowdown divisor nerfed to 35 from 20.
- - balance: dna melt drops all items being destroying you
- - bugfix: keybinds generate anti-collision bindings where necessary automatically
- now
- - balance: changeling combat mutations rebalanced. most of them take chemicals to
- upkeep now.
- - rscadd: set-pose has been added
- - tweak: temporary flavor text renamed to set pose, fully visible in examine
- - bugfix: ninja gloves no longer hardstun
- - balance: ninja gloves now cost half as much to use to compensate
- - bugfix: simple mobs are now immune to radioactive contamination
- timothyteakettle:
- - bugfix: time for memory loss message to show up when being revived is now correctly
- 300 seconds, instead of 30
- - bugfix: the load away mission verb won't crash the server now
- - rscadd: roundstart slimes can turn into puddles now
- - rscadd: all gas masks (but welding + glass) can be alt clicked to show/hide identity
- - tweak: autosurgeons from travelling trader rewards now only have one use
- - bugfix: fixes held items proccing crossed when passing someone
- - tweak: you can now get a family heirlooms based off your species instead of job
- - tweak: changeling stings retract upon turning into a slime puddle
- - tweak: you cannot transform into a slime puddle with a no drop item in your hands
- - tweak: slime puddles are now transparent and their colour looks more natural in
- comparison to the user
- - tweak: slime puddles are now even slower
- - tweak: slime puddles now get no protection from worn clothing
- - rscdel: removes two debug messages left in from my prior eye customization pr
- - rscadd: adds unlockable loadout items, corresponding category in loadouts, etc
- - rscadd: added in-game age verification as an alternative to access requests
- - bugfix: disabling adminhelp noises no longer disables looc
- - bugfix: apids render now
- - bugfix: you can now only entwine tails with people who have a tail
- - bugfix: custom eyes and tongues now properly carry across cloning
- - rscadd: re-adds the holoform verb for people who want to use it over going through
- the char list
- - bugfix: eye sprites should look normal once more
- - rscadd: licking people washes pie off their face
- - rscadd: you can now pick your eye sprites from customization
- - tweak: looking at loadout equips loadout items on your preview image instead of
- job items
- - tweak: custom holoforms are now accessible through an action instead of through
- verbs
- - tweak: AI holoforms can now emote
- - tweak: cloning now correctly copies your blood colour, body sprite type and eye
- type
- - bugfix: species with NOTRANSSTING cannot have envy's knife used on them
- - rscadd: avian/digitigrade legs have been added for slimes
- - rscadd: you can teleport bread
- - tweak: slime puddles are no longer layered down one layer
- - tweak: you cannot tackle with two paralysed arms
- - tweak: tackling with a single paralysed arm lowers your tackle roll by 2
- - bugfix: circuits get pin data proc is sanitized when text is returned as data
- - rscadd: loadout now has save slot support and colour choosing/saving for polychromic
- items
- - rscadd: polychromic maid outfit
- - rscadd: you can rebind communication hotkeys and they're the default now
- - rscadd: you can now customize your size from 90% to 130%, going below 100% makes
- you have 10 less max health
- - rscadd: '*squeak'
- - rscadd: anthromorphic synth species
- - rscadd: improvements to the automatic age gate
- - tweak: antag items are now of critical importance and wont fail to be placed on
- the character
- - bugfix: a tonne of fixes to colourisation of parts, too many to name, including
- some sprite fixes
- - rscadd: things now have their own individual primary/(secondary)/(tertiary) colours
- as required, and these can be modified by you
- uomo91:
- - bugfix: Fixed "Show All" tab in player panel logs being broken.
- - bugfix: Whispers, OOC, and various other things display differently in logs, visually
- distinguishing them from say logs.
- - refactor: Player panel logs will now show all logs chronologically, so you'll
- see commingled say and attack logs if you're on the "Show All" tab, etc...
- yorii:
- - bugfix: fixed botany rounding error that caused grass and other plants to misbehave
- zeroisthebiggay:
- - bugfix: legion now drops chests
- - rscadd: Traitor assistants can now purchase the patented POGBox! Put TC into it
- for even higher damage!
- - balance: MEGAFAUNA DROPS ARE LAVAPROOF
- - imageadd: cool codex cicatrix inhands
- - rscadd: gravitokinetic stands from tg
- - balance: buffs stands overall
- - bugfix: protector stands no longer become tposing invisible apes sometimes
- - bugfix: jacqueline spawns on boxstation
- - rscadd: secsheath for your cool stunsword at your local security vendor. you gotta
- hack it first though.
- - imageadd: fuck the r*d cr*ss
- - rscadd: The legion megafauna has been reworked. The fight should now be both slightly
- harder and faster.
- - balance: You can no longer cheese the colossus by being a sand golem and simply
- being immune.
-2021-01-22:
- Arturlang:
- - rscadd: Adds a way to give items to people, you can combat mode rightclick to
- offer it to one person, right click on people without mode and click the give
- verb, or use the hotkey CTRL G to offer it to everyone around you
-2021-01-25:
- MrJWhit:
- - bugfix: Alien radio code
- - rscadd: Microwave can now be cleaned by a damp rag as well as soap.
- - bugfix: Removes some unused code, and improves some other code.
- - rscadd: The AI has a verb to look up and down z-levels
- - bugfix: Making a monkey into a human doesn't unanchor random things on the tile
- - bugfix: Makes a few slight improvements to drinking code
- - tweak: Makes encryption keys be put in the hands of the user when able instead
- of being dropped on the floor when removed from headsets
- raspy-on-osu:
- - refactor: ventcrawling
- silicons:
- - tweak: you can now shove yourself up in any intent, not just help.
-2021-01-27:
- ArcaneMusic, ported by Hatterhat:
- - rscadd: Strike a hydroponics tray with a fully-charged floral somatoray to lock
- in a mutation.
- - rscadd: Floral somatorays now have the ability to force a mutation in a plant.
- This should drain the cell in a single shot, but we'll see.
- - balance: Somatorays now take uranium to craft instead of radium.
- Arturlang:
- - rscadd: Actually adds a right click give option
- - rscadd: Revenants can now clickdrag to throw stuff at people, with some items
- doing various things at the same time.
- DeltaFire15:
- - bugfix: The woundmending rite no longer causes runtimes.
- - bugfix: Ratvarian borgs can now use their tier-0 spells.
- - balance: Ratvarian borgs can always use their assigned spells, if there is enough
- power.
- - admin: The heretic antag panel now shows their sacrifices & current sacrifice
- targets.
- - tweak: The heretic roundend report now shows their sacrifices and nonsacrificed
- targets.
- - bugfix: Living hearts can no longer select the same target as another living heart,
- removing a certain problem.
- Hatterhat:
- - tweak: Department budget cards have been readded. TO THE CODE. NOT LOCKERS.
- - tweak: Also budget cards now look more like every other ID - see tgstation#55001.
- - balance: One of the contractor tablet's payouts has been raised from a small payout
- to a medium payout.
- - balance: The free golem ship's GPSes no longer start on. They were never meant
- to, but they did.
- - rscdel: Headsets can't be found on most legion corpses now.
- - rscdel: The flash on the assistant corpse is gone, too.
- MrJWhit:
- - tweak: Remaps some air alarms for sanity.
- SandPoot:
- - bugfix: The drop circuit can no longer drop things that are not inside it.
- raspy-on-osu:
- - bugfix: bespoke ventcrawling element not detaching due to malformed call
- shellspeed1:
- - bugfix: Floorbots had had a software update, preventing them from dogpiling on
- their target as easily as they did before.
- - soundadd: Floorbots will now play a small chime when stacked on top of each other
- to indicate that they're moving apart.
- timothyteakettle:
- - rscadd: blobs can use the 'me' verb
- - admin: adminhelps and pms only sanitize once instead of twice
-2021-01-28:
- silicons:
- - rscadd: colormates can now paint some mobs.
- - bugfix: 1 dev explosions shouldn't delete brains anymore
-2021-01-29:
- MrJWhit:
- - tweak: Ported the QM, Captain, CMO, and HoS cloaks from beestation.
- - rscdel: Removes excess air alarms from boxstation
- TripleShades:
- - bugfix: fixes engineering secure storage being the wrong area because I fucked
- that up previously my bad
- - bugfix: removes funny extra light switch under right surgery table in surgery
- oops
- - rscadd: Added chairs to the corpse launch viewing area
- - rscadd: Small garden plot for flowers for parity with other station Chapels
- - rscadd: Plain Bible to glass tables in Chapel
- - rscadd: Candles and Matchbox to glass tables in Chapel
- - rscadd: More glass tables, with a chaplain figure and another spare bible.
- - rscadd: Bookcase to Box Chapel for parity with other station Chapels
- - rscadd: Minimoog to Box Chapel as substitute for a church organ
- - rscadd: 'Holy department sign just below Chapel change: Expanded the corpse launching
- area to feel less congested change: Added windows to the corpse launch so you
- can look inside I guess? change: Moved flowers and burial garments to the corner
- next to the corpse launcher change: Box Chaplain''s office door is moved over
- one change: Confessional is now connected to Chaplain''s office for parity with
- other station Chapels change: Moved coffins over to old confessional location
- change: Box Chapel now has pews instead of stools change: Box Chapel Confessional
- is now lit instead of being nearly pitch black remove: Two coffins from Chapel'
- timothyteakettle:
- - bugfix: the miner bedsheet will now increment its progress when you redeem points
- from the ORM
- - rscadd: you can add custom names and descriptions to item's on the loadout now
- zeroisthebiggay:
- - rscadd: roundstart aesthetic sterile masks and roundstart paper masks
- - rscadd: more accessory slot items
- - rscadd: cowbell necklace happy 2021
- - rscadd: shibari ropes & torn pantyhose
-2021-01-30:
- timothyteakettle:
- - rscadd: adds 'clucks', 'caws' and 'gekkers' to the speech verb list
- zeroisthebiggay:
- - rscadd: some more FUCKING hairs
- - imageadd: uncodersprites the advanced extinguisher
-2021-01-31:
- Putnam3145:
- - balance: fermichem explosion EMPs don't cover the entire station
-2021-02-02:
- silicons:
- - rscadd: pais can now be carried around piggybacking/fireman
- - balance: Meth and Nuka Cola once again, speed you up.
-2021-02-03:
- Hatterhat:
- - bugfix: The green energy sabre's sprite now respects proper handedness.
-2021-02-05:
- SmArtKar:
- - rscadd: The orbit menu now has an Auto-Observe button! No more sifting through
- the lame observe menu to snoop in people's backpacks! Also, orbit menu now refreshes.
- - bugfix: KAs are no longer getting broken when fired by a circuit
- keronshb:
- - balance: Force and damage > 15 from 18/25
- - balance: Knockdown put down to 5 from 30
- - balance: Armor pen down to 10 from 100.
- - balance: Makes cell chargers, charge faster.
- raspy-on-osu:
- - bugfix: alien royals can no longer ventcrawl
- shellspeed1:
- - balance: There actually needs to be people for zombies to happen now.
- timothyteakettle:
- - rscadd: dwarf facial hair is no longer randomised
-2021-02-07:
- Thalpy:
- - refactor: 'Dispenser: Adds the ability to store a small amount of reagents in
- the machine itself for dispensing. Reacting recipies cannot be stored. Size
- of storage increases with bin size.'
- - refactor: 'Dispenser: Allows reagents to be color coded by pH'
- - refactor: 'Dispenser: Each reagent displays it''s pH on hover'
- - refactor: 'Dispenser: Allows the user to toggle between buttons and a radial dial'
- - refactor: 'Dispenser: When the dispencer is upgraded it can dispense 5/3/2/1 volumes
- based on rating refactor: Dispenser: as it was before. This does not break recorded
- recipes.'
- - tweak: Adds a round function to some numbers so they're not huge
- - tweak: The Chem master can now get purity for all reagents when analysed
- - bugfix: Synthissue fixes
- - tweak: buffers now have a strong and weak variant. Weak can be dispensed, and
- strong can be created. Strong buffers are 6x more effective.
- - bugfix: Some buffer pH edge calculation fixes
- TyrianTyrell:
- - rscadd: added a signed language, that can't be used over the radio but can be
- used if you're mute. also added the multilingual trait.
- - imageadd: hopefully added an icon for the signed language.
- - code_imp: changed how some traits function slightly.
- dzahlus:
- - tweak: tweaked a few sounds
- - soundadd: added a new weapon sounds
- - sounddel: removed old weapon sounds
- - code_imp: changed some sound related code
- silicons:
- - rscadd: syndicate ablative armwraps have been added.
-2021-02-09:
- Chiirno:
- - rscadd: Adds clown waddle to clown shoes. Enhanced Clown Waddle Dampeners can
- be engaged in-hand with ctrl+click, _but why would you?_
- MrJWhit:
- - rscadd: Re-adds theater disposal outlet, and makes dorms disposal able to have
- things sent to it on boxstation.
- TyrianTyrell:
- - bugfix: made default tongue able to speak signed language.
- timothyteakettle:
- - balance: sentient viruses can now infect synths and ipcs
-2021-02-11:
- Adelphon:
- - rscadd: Charismatic Suit
- - rscadd: Urban Jacket
- DeltaFire15:
- - tweak: Added nanogel to the robodrobe.
- Putnam3145:
- - rscadd: Config to keep unreadied players from mode voting
- dzahlus:
- - bugfix: fixes grenadelaunch.ogg being used where it shouldn't and makes mech weapons
- use correct sound
- keronshb:
- - balance: 10 > 30 second for Warp Implant cooldown
- - rscdel: Comments out power sink objective.
- timothyteakettle:
- - bugfix: persistent blood should stop being invisible and alt clicking it shouldn't
- return the entire spritesheet
- - admin: pickpocketing is now logged using log_combat
- zeroisthebiggay:
- - tweak: the aesthetic sterile mask no longer hides faces so you can cosplay egirls
- and keep flavortexts
-2021-02-12:
- Hatterhat:
- - balance: The ATVs on SnowCabin.dmm have been replaced with snowmobiles.
- MrJWhit:
- - tweak: Random deltastation fixes.
- - tweak: Gives boxstation vault door actual vault door access
- silicons:
- - balance: Voice of God - sleep removed, stun staggers instead, knockdown is faster
- but does not do stamina damage, vomit is faster but doesn't stun
-2021-02-13:
- Hatterhat:
- - balance: Energy bolas now take 2.5 seconds to remove and dissipate on removal.
- timothyteakettle:
- - admin: migration error to version 39+ of savefiles is now logged instead of messaging
- all online admins in the chat
-2021-02-14:
- DeltaFire15:
- - admin: The antag panel now correctly shows the names of cultist / clockcult datum
- subtypes.
- - bugfix: Adding clock cultists via the admin panel now works correctly.
- - bugfix: Xeno larvae should now be able to ventcrawl again.
- Hatterhat:
- - tweak: Repairing sensors on jumpsuits now requires a fully-intact jumpsuit. Find
- some cloth.
- - tweak: Durathread armor kits now require you to have a fully-repaired jumpsuit,
- first, with no attachments.
- - bugfix: Durathread armor kits now no longer weave the entirety of the jumpsuit
- armor universe into having armor.
- TyrianTyrell:
- - code_imp: added a define for multilingual granted languages, and changed the multilingual
- trait to use it.
-2021-02-15:
- Adelphon:
- - rscadd: polychromatic shoes
- - rscadd: polychromatic windbreaker
- - rscadd: polychromatic canvas cloak
- - bugfix: digitigrade charismatic suit texture
- DeltaFire15:
- - balance: Kneecapped pugilist parries somewhat.
- - balance: Slightly nerfed default unarmed parries.
- - balance: Slightly nerfed traitor armwrap parries.
- - bugfix: Pugilist parries now cannot perfectly defend against projectiles, as they
- were supposed to.
- - bugfix: Some parrying numbers that one would think were in seconds didn't have
- the SECONDS. I added those.
- - balance: Clock cultists now yell alot less when invoking scripture.
- dzahlus:
- - rscadd: Added new emote
- - soundadd: added a new emote sound
- silicons:
- - balance: people on the ground hit less hard in unarmed combat. rng miss remove
- from punches.
- - bugfix: chat highlighting no longer drops half your entered words.
-2021-02-16:
- silicons:
- - config: sprint removal entry added, UI will revert to old UI while this is active.
-2021-02-18:
- BlueWildrose:
- - admin: Admins now receive messages regarding certain holodeck actions.
- Hatterhat:
- - bugfix: Free Golem Ship GPSes now start as disabled. Like they were supposed to.
- LetterN:
- - tweak: No more liver damage when you opt out of "hornychems"
- SmArtKar:
- - rscadd: Added a new TCG card game
- dzahlus:
- - rscdel: Removed maroon objective due to toxic gameplay behaviour
- shellspeed1:
- - bugfix: floor bots place plating before tiles now.
- - bugfix: gets rid of another tile duplication issue.
- silicons:
- - spellcheck: priviledge --> privilege
-2021-02-19:
- Putnam3145:
- - bugfix: Buzz Fuzz's addiction threshold is now a can and a sip as intended.
- timothyteakettle:
- - admin: staring into pierced realities is now logged
-2021-02-20:
- Adelphon:
- - rscadd: polychromic pants
- - tweak: urban coat made polychromic
- Chiirno:
- - tweak: Synthflesh now unhusks with 100u instead of requiring 101u.
- SmArtKar:
- - tweak: Added some QoL changes to TCG
- - bugfix: Fixed TCG cards not saving
- TyrianTyrell:
- - bugfix: fixed the signed language so that you can actually use it, and that it's
- unusable when it's meant to be.
- timothyteakettle:
- - bugfix: stops people using Message All on PDAs when their cartridge doesn't allow
- it
-2021-02-21:
- Hatterhat:
- - balance: Anomaly announcements and brand intelligence now always announce instead
- of having some ham-fisted chance of being a command report.
- IronEleven:
- - balance: Raises Space Vine Population Requirement from 10 to 20
- MrJWhit:
- - tweak: Removes an unnecessary % on the seed extractor.
- timothyteakettle:
- - bugfix: the query for checking mentors now gets properly deleted
- - rscadd: vampires no longer burn in the chapel if they signed up as the chaplain
-2021-02-22:
- Putnam3145:
- - rscadd: (Hexa)crocin
- - rscadd: (Hexa)camphor
- - rscadd: Nymphomaniac quirk
- - admin: All climaxes and arousals are now logged, as well as genital exposure.
- SandPoot:
- - rscadd: Cyborg tablets and it's special app for self-management.
- - bugfix: In the case of a doomsday device being created outside of an AI it will
- delete itself.
- - imageadd: Some sprites for it have been added and the borg's hud light toggles
- been changed to only on-off (made by yours truly)
- - refactor: A lot of borg code was changed
- - refactor: Tools no longer use istype checks and actually check for their behavior.
- Vynzill:
- - rscadd: cursed rice hat that's hard to find and obtain, along with a couple other
- hats
- - rscadd: a replacement toy gun for donksoft lmg
- - rscadd: gorillas to the jungle gateway, friendly, even when attacked.
- - bugfix: couple mapping errors I noticed, most importantly a missing window in
- the chapel.
- - balance: shotgun and donksoft lmg removed, captain coat nerfed armor values.
- - balance: leaper healthpool from 450 to 550 hopefully making it more of a struggle,
- and gives it a name.
- - tweak: leaper pit is more wider. The hidden room south is now more obvious to
- find
- dzahlus:
- - rscadd: Added pain emote to getting wounded
- - soundadd: added a new pain emote sounds
-2021-02-23:
- keronshb:
- - rscadd: Hyperblade to uplink with poplock
- - balance: Removes combination of two Dragon Tooth Swords while keeping it for regular
- eutactics.
- timothyteakettle:
- - bugfix: banning panel prioritises mobs with clients now when trying to find them
- if they're in the game
-2021-02-24:
- SandPoot:
- - bugfix: Regular crowbars no longer open powered airlocks.
- silicons:
- - balance: xeno cube makes hostile xenos now, and drops a sentinel instead of a
- drone.
-2021-02-25:
- DeltaFire15:
- - bugfix: Traitor / Ling objective amount should now be correct again.
-2021-02-26:
- DeltaFire15:
- - code_imp: All machine-frame based tool-use actions now have state-checking callbacks.
-2021-02-27:
- Hatterhat:
- - balance: Lingfists (trait_mauler) now deal no stam damage and lost their 15(!!!)
- armor penetration.
- Putnam3145:
- - tweak: Tablets now protect their contents from rads.
- TheObserver-sys:
- - rscadd: Chems that should have been usable are now usable, try some cryoxadone
- on a plant today!!!
- kappa-sama:
- - tweak: cards and card binders are now small-class items
- keronshb:
- - balance: 16 > 10 unlock cost for stronger abilities
- - balance: Made nearly all other abilities for free.
- kiwedespars:
- - balance: reverted the pr that absolutely gutted pugilism and made it worse than
- base unarmed, also gives it a second long stagger
- - balance: removed the ability to parry while horizontal, because that's dumb and
- makes it easy to just time the parries right.
- silicons:
- - bugfix: chaplain arrythmic knives can no longer be abused for infinite speed.
-2021-02-28:
- Putnam3145:
- - bugfix: Polychromic windbreaker's alt-click message is now coherent
- - code_imp: Toggleable suits now have an on_toggle proc to be overridden.
- R3dtail:
- - tweak: doubled max belly name length and quadrupled belly description length
- SandPoot:
- - tweak: Body rejuvenation surgery will loop until the patient is completely healed.
- dzahlus:
- - bugfix: fixes toxinlovers dying from heretic stuff that should heal them instead
-2021-03-01:
- SmArtKar:
- - bugfix: Fixes decks breaking your screen
- - bugfix: Fixes binders not saving cards
- - bugfix: Fixes binders not saving multiple cards of the same type
- Vynzill:
- - bugfix: cursed rice hat right in front of the jungle gateway's entrance is now
- removed from this dimensional plane
-2021-03-02:
- LetterN:
- - bugfix: 'colorpainter: let''s not dispense null'
- SandPoot:
- - bugfix: Changelings will actually become the person they want to be when using
- "human form" ability(after having used last resort).
-2021-03-03:
- MarinaGryphon:
- - bugfix: The AOOC mute pref is now properly respected.
- - bugfix: Muting adminhelp sounds no longer mutes AOOC.
- Putnam3145:
- - config: pAIs now have a policy config
- - rscadd: '"Supermatter surge" event, which might cause problems if the supermatter
- is not sufficiently cooled (i.e. the setup is messed up in some way)'
- - rscdel: Fusion can no longer be done in open air.
- - rscdel: Valentine's day event no longer gives everyone a valentine's antag.
- SandPoot:
- - bugfix: Legions should now pass their type to the person they infect (if valid).
- dzahlus:
- - rscadd: Added new subtype to lesser ash drake balanced around player control
- - balance: rebalanced dragon transformation to a 1 minute cooldown as well as using
- the new subtype of megafauna
- qweq12yt:
- - bugfix: fixed infectious zombies not being able to attack if host was pacifist
- - rscadd: adds a way for species to have blacklisted quirks, the removal, and restoration
- of said quirks upon species changes
- - bugfix: Now pacifists won't be able to use flamethrowers
- - bugfix: Kinetic Accelerator now properly reloads a charge to it's chamber instead
- of nulling the variable forever
- - bugfix: Now pacifists won't be able to use Kinetic Accelerators if a non-pacifist
- shoots it first
-2021-03-04:
- LetterN:
- - code_imp: removes bsql
-2021-03-05:
- Putnam3145:
- - tweak: Lowered ash storm volume
- - tweak: Minesweeper can no longer be made to lag the server on purpose
- keronshb:
- - tweak: Prevents heat from going through reinforced plasma glass.
-2021-03-07:
- Hatterhat:
- - rscadd: You can now reskin your improvised shotguns.
- - rscadd: The spontaneous brain trauma event now announces to ghosts whoever got
- funnied upon.
- - imageadd: Ports EikoBiko's cat tail sprite.
- Putnam3145:
- - bugfix: nitryl now consumes oxygen/nitrogen instead of generating them
- - balance: Hyper-nob and nitryl are easier to make.
- dzahlus:
- - rscadd: Added taser microbattery for MWS-01
- - tweak: tweaked MWS-01 beacondrop to have more batteries
- - balance: rebalanced MWS-01 disabler battery to fire 10 shots
- - soundadd: added unique sound to the MWS-01
- - spellcheck: fixed Modula Weapons System to "Modular Weapon System"
- timothyteakettle:
- - balance: exiting a bluespace jar through any means, hardstuns you for 5 seconds
-2021-03-09:
- LetterN:
- - refactor: tg hardsync, mostly contains tgui
-2021-03-10:
- Hatterhat:
- - rscadd: The femur breaker now actually breaks legs by applying a compound fracture.
- Putnam3145:
- - balance: uncapped TEG power, buffing high-temp TEGs
-2021-03-12:
- R3dtail:
- - spellcheck: Adds Periods and moves some words around.
-2021-03-14:
- Adelphon:
- - rscadd: messy2
- - bugfix: papermask
- Hatterhat:
- - rscadd: Robotic limb repair surgery now has tiers.
- - rscadd: 'Pubby and Delta now have roundstart limb-growers relatively close to,
- if not in, the operating theaters. tweak: Box QM''s console now can announce
- things.'
- Putnam3145:
- - bugfix: chaos loads now
- kiwedespars:
- - rscadd: adds a cute new plushie
- necromanceranne:
- - bugfix: Fixes cosmetic augments missing their foot sprites.
-2021-03-16:
- GrayRachnid:
- - balance: removed red toolbox, agent id, and guerilla gloves from unlocking illegal
- tech.
- HeroWithYay:
- - bugfix: fixed spelling error
- LetterN:
- - bugfix: Borg light icons not turning off
- - bugfix: Double ai icon select + Fixes ai core not having icons
- - bugfix: Missing air tank icon
- - bugfix: Computer boards being dumb and nullspacing/qdeling itself
- Putnam3145:
- - balance: Supernova now much lower chance to be inconsequential
- - balance: Made hyper-nob's point values way lower (25/20 for science/cargo instead
- of 1000/1000)
- - balance: Made nitryl's cargo sell value less (10 instead of 30)
- SandPoot:
- - bugfix: Fixed interacting with telecomms.
-2021-03-17:
- KeRSedChaplain:
- - rscadd: Added three new rites, and makes soul vessels obtainable
- - bugfix: fixes clockwork guardians inheriting marauders blocking
- - soundadd: added sounds for the ratvar end sequence, voiced by @dzahlus
- timothyteakettle:
- - rscadd: speech panel added to main menu customization
-2021-03-18:
- Arturlang:
- - bugfix: Combat mode right click and right click verb give's are now actualyl targeted
- Hatterhat:
- - rscadd: Hypospray vials are now printable from the medical techshift start.
- - rscadd: 'Empty hypospray kits are now printable behind biological technology.
- tweak: Quantum electromag (T4 lasers) are now behind Advanced Bluespace like
- the rest of T4.'
-2021-03-19:
- DeltaFire15:
- - rscdel: 'Bluespace jars can no longer be printed / acquired from lathes / techwebs.
- tweak: The travelling animal trader now gives you your reward in a one-use bluespace
- jar.'
- Putnam3145:
- - rscadd: '"Antag" role that can be toggled to disable all antags'
- SandPoot:
- - rscadd: Tactitool Skirtleneck.
- - rscadd: Adds the tactitool skirtleneck to the loadout.
- kiwedespars:
- - rscadd: 'New heretic path - Path of Void- it specializes in being extremely stealthy.
- tweak : Removed curse of blindness replaced with mask of madness. hey it even
- rhymes.'
- - bugfix: fixes heretic mass deletion during transmutation bug.
- - bugfix: Fixes heretic brews being permanent.
- - bugfix: 'Fixes void storm breaking after resurrecting. tweak: Heretic has received
- a minor textual facelift. tweak: Heretics who finish the Void Path and become
- an Aristocrat of the Void can now survive in the Void (space).'
- - bugfix: Heretics who research Aristocrats Way on the Void Path will no longer
- suffocate in their own storm when they ascend (no longer breathes).
- - bugfix: Mark of Void and Seeking Blade are once again exclusive only to Void.
- - balance: 'Carving knife now deals more damage on throw and can embed in your enemies.
- tweak: Grasp of Rust only rusts floors and machines on harm intent. tweak: when
- u choose a sac target as heretic it ll also tell the job of the sac'
- - rscadd: 2 new void spells, one a placeholder.
- - rscadd: flesh mansus grasp buffed, now gives you 5u eldritch fluid when hitting
- someone.
- zeroisthebiggay:
- - bugfix: fixes spriteless heretic book
-2021-03-20:
- Hatterhat:
- - bugfix: Bluespace beaker filling icons for that narrow band between 90 and 80%
- full now actually exist.
-2021-03-21:
- Arturlang:
- - bugfix: Vampire statpanel no longer shows spans unnecesary
- GrayRachnid:
- - bugfix: fixed the holopad autocall bug
- - bugfix: properly incorporated the secure holopad that was commented out in the
- code.
- - config: the in_character_filter.txt is now usable
- - admin: headmins should edit the in_character_filter.txt
- - server: someone with box access should delete racism with the in_character_filter.txt
- - balance: buffed particle defender disabler shots from 13->15 stamina (15*6=90)
- - balance: buffed particle defender laser ammo to 4 shots
- Hatterhat:
- - rscdel: removes pacifism from ghost cafe. have fun beating up your coworkers
- LetterN:
- - rscadd: Art gallery (meta)
- - rscadd: Laptop vendor (meta, delta, box)
- Putnam3145:
- - balance: Buffed supermatter surge massively.
- The-Sun-In-Splendour:
- - bugfix: You cannot revive yourself (as a changeling) if you've been absorbed anymore
- dzahlus:
- - balance: rebalanced hierophant STAFF to do 15 damage on all attacks
- timothyteakettle:
- - bugfix: using the puddle ability when stunned wont break it
-2021-03-23:
- LetterN:
- - bugfix: NIRM departamental purchases now work. Have fun spending the entire R&D
- Budget!
-2021-03-24:
- BlueWildrose:
- - bugfix: The nightmare's light eater can now destroy messes that emit light, like
- glowing goo or ectoplasmic puddles.
- Hatterhat:
- - bugfix: The NOGUNS trait now takes precedence over the triggerguard checks.
- - balance: Medicated sutures and advanced regenerative mesh are now easier to make.
- Reagent-quantity wise, anyway.
- ItzGabby:
- - rscadd: Fluff Items with polychromic support
- - rscadd: A new vendor called Bark box
- - rscadd: A new form of snack with it's own box
- - rscadd: Two harness, one of them being lewd
- - rscadd: One new collar, with a ribbon. Classy.
- - rscadd: More locked forms of collars
- - rscdel: Purged old balls
- - balance: Removed the funny buffs each colored tennis ball had, down with the powergame!
- - imageadd: Added polychromic fluff icons, vendor icons, suit icons, snack icons,
- fancy box icons, and a polychromic version of Izzy's ball.
- - imagedel: Deleted old balls, Izzy's Ball, except the rainbow one since it's special
- and as I did not go out of my way to get permission to touch.
- - spellcheck: Walked into vending.dm and glared for a moment at hydroponics' grammar.
- LetterN:
- - bugfix: fixed laptops pickability
- - bugfix: fixed closets being unweldable
- YakumoChen:
- - balance: Genetics - Thermal vision is a recipe instead of a natural gene now.
- Nearsighted+Stimmed. Other minor nerfs, Thermal is 40 instability.
- - balance: Research - X-ray eyes are now an illegal tech.
- qweq12yt:
- - rscadd: added the black market uplink
- - imageadd: added blackmarket.dmi
- - bugfix: increased the black market interface's width, now the delivery options
- will show properly when the LTSRBT is built
- zeroisthebiggay:
- - rscadd: biodegrade works on legcuffs
-2021-03-25:
- zeroisthebiggay:
- - balance: strained muscles isn't free
-2021-03-26:
- BlueWildrose:
- - balance: Clothing no longer drops when shredded. It just becomes useless.
- - balance: Suit sensors are guaranteed to short out when the clothes become shredded,
- not damaged now.
- - balance: Uniform limb integrity increased from 30 to 120.
- - balance: 'Suit sensor damage has been added. The more damaged your suit sensors
- get, the less features that will be available from these suit sensors. It takes
- two e-sword hits to ruin your tracking beacon for instance. tweak: Examine text
- on uniforms is now more clear about needing cable coil to repair your suit sensors.'
- - bugfix: Fixed prisoner uniform sprite paths
- CuteMoff:
- - balance: Diamond's forcemod was changed from 1.1x to 1.2x
- Hatterhat:
- - rscadd: Lever-action rifles, chambered in .38, are now sitting in the code. They
- might be buyable from Cargo or the Black Market soon. Watch this space.
- - rscadd: Sawed-off shotguns now look like shotguns, but short, when inhand, instead
- of "generic gun".
- timothyteakettle:
- - bugfix: slimes can be delimbed
- - bugfix: the loadout now colours pet collars correctly
-2021-03-28:
- CuteMoff:
- - balance: Changed Strength Modifier from the default (1.0) too .7
- Hatterhat:
- - bugfix: As a heretic, shattering your blade no longer interferes with bluespace.
- Putnam3145:
- - rscadd: Threat tracking is now universal, rather than dynamic-only
- - rscadd: Slaughter demon event now increases weight based on how much blood there
- is.
- R3dtail:
- - rscdel: Removed ichor creates
- - balance: Removed ichor crates and adjusted crate rolling appropriately
- - balance: Removed the bonespear from the blackmarket uplink, and made EMP grenades
- harder to get from the same item.
- - rscadd: Added a description to the black market uplink
- Shadow-Quill:
- - imageadd: Added small versions of the walk icon for all hud styles, except Retro.
- dzahlus:
- - rscadd: Added radial menu to joy mask for alt reskins
- - imageadd: added pensive, angry and flushed sprites to joy mask
- keronshb:
- - balance: Radioactive microlasers can no longer knock out creatures who are immune
- to the effects of radiation.
- - bugfix: The radioactive microlaser now calculates the strength of its delay effect
- using the intensity setting it had when you initially used it on your victim,
- not the intensity setting it currently has. This prevents people from "cheating
- out" its intensity 20 effect with only a 2 second delay and a 1 second cooldown.
- - balance: Radioactive microlasers no longer contain twice as much metal as normal
- health analyzers do.
- necromanceranne:
- - rscadd: Replaces the useless bullet and laser shields with new Kinetic and Ablative
- shields, which do as they advertise.
- - rscadd: Replaces the shield implants shield with a hardlight shield that can take
- large amounts of brute damage, but disintegrates when shot with disablers.
- - bugfix: Fixes Fake Roman Shields being able to be used as normal riot shields.
- - bugfix: Fixes nonlethal/non-physical damage types destroying shields. (stamina,
- toxins, oxygen, clone, brain)
- - bugfix: Fixes tower shields not doing anything, while also giving them intergrity
- to match their advertised durability.
- - bugfix: Uses additional flags to determine what kind effects work well and what
- works poorly against various shields.
- timothyteakettle:
- - rscadd: ghost cafe residents can now disguise themselves as any mob or object
- - bugfix: fixes character preview not updating when selecting the loadout tab
- zeroisthebiggay:
- - rscadd: triple kitsune tail
-2021-03-29:
- BlueWildrose:
- - bugfix: Fixed being unable to fix suit sensors if damaged at all unless destroyed
- completely
- YakumoChen:
- - rscadd: A less-than-new Syndicate bundle that reminds you of the good old days
- when we didn't need all those newfangled traitor items the young-uns get. We
- had 6 items in the uplink and we had Monkey in rotation and by god we made do.
- qweq12yt:
- - rscadd: Added Earmuffs
- - rscadd: Added Random Drink
- - rscadd: Added Clear PDA
- - rscadd: Added Internals Box
- - rscadd: Added Meson Goggles
- - rscadd: Added Smoke Grenade
- silicons:
- - bugfix: automated hydroponics system design now works properly
-2021-04-02:
- LetterN:
- - bugfix: piratepayment
-2021-04-03:
- BlueWildrose:
- - bugfix: The hydroponics pet bee, Bumbles no longer has a number besides their
- name.
- Putnam3145:
- - rscdel: '"Destroy all nanotrasen cloning machines" objective is gone'
- - code_imp: Removed all the commented-out sabotage objectives (we can just get them
- from history)
- - rscadd: Observe verb logging
-2021-04-04:
- Hatterhat:
- - balance: After a sudden crash in the tower-cap log slash wooden plank economy,
- NanoTrasen has decided to stop selling tower-cap logs to Cargo.
-2021-04-06:
- ArcaneMusic:
- - bugfix: Prevents people from lagging the server by growing HUMANS FROM CABBAGE!
- BlueWildrose:
- - admin: Admins get to hear the prayer ding again unless they have prayer sounds
- turned off.
- DeltaFire15:
- - bugfix: The wood plank cargo pack no longer is named incorrectly.
- Putnam3145:
- - bugfix: forced climax doesn't do a climax-with
- SandPoot:
- - bugfix: Reverts locker/crate behavior for attacking it with an item while closed
- (use any intent other than help to bash it).
- - bugfix: 'Laptop interactions are no longer weird and now you can drag it to yourself
- to pick it up. tweak: Ctrl+Shift-Click to toggle laptops open/closed. tweak:
- More examine info for laptops.'
- - bugfix: Lockers/Crates can now be deconstructed the right way respecting the cutting_tool
- (even if it's not one of the default interactions).
- - rscdel: Dragging the laptop into itself shouldn't do anything anymore (kind of
- pointless and hard to do).
-2021-04-07:
- LetterN:
- - rscadd: Perln generation & biomes from lavaland
- - code_imp: Cleans up the area, update it's icon and updates the openspace to use
- the modules.
-2021-04-09:
- BlueWildrose:
- - balance: The genetics mutation Autotomy has been buffed to be 20 instability instead
- of 30, and harmless in delimbing.
- - rscadd: 'There are now three more pills in each breast or penis enlargement pill
- bottle. tweak: There are now 10 pill bottles of breast and penis enlargement
- pill bottles in a Kinkmate instead of 5.'
- - balance: Because of such changes that increases their amount in the kinkmate,
- succubus milk and incubus draft values are reduced to RARE from VERY_RARE.
- - spellcheck: Grammar correction on titty pill bottle.
- - rscadd: The pandemic machine can now let you swap containers.
- - bugfix: Slime puddles will now show mutation visual indicators & cult indicators
- after exiting slime puddle form
- - bugfix: Slime puddle transformation animations are now resized to fit the slimeperson's
- current size, making it visually more consistent
- - spellcheck: Typo correction in some mutation descriptions and other things
- - code_imp: Cult/clockcult layers moved from LAYER_MUTATION to LAYER_ANTAG, new
- update section for them specifically now
- - rscadd: Sylvan and Mushroom languages are now tongueless, and Encoded Audio Language
- is now learnable.
- SandPoot:
- - bugfix: The dragons_blood "lizard with the appearance of a drake" no longer wipes
- important stuff.
- - bugfix: Fixes Ashlizard legs not being digitigrade and makes them have the "Sharp"
- snout.
- - bugfix: Machines that open no longer drop their stock parts.
- brokenOculus:
- - rscadd: Added Telescopic Baseball Bat
- - rscadd: Added Telescopic Baseball Bat to Stealthy uplink items
- - rscadd: Added sprites for Telescopic Baseball Bat
- - rscadd: Added Telescopic Baseball Bat to Baseball kit under uplink bundles
-2021-04-12:
- BlueWildrose:
- - bugfix: Fixed female slime-subspecies left/right sprites being flipped
- - bugfix: Fixed drones nullspacing things they try to place on tables and in closets
- - bugfix: Fixed phantom mob-holder items. You can now grab Ian from your backpack
- without any issues.
- silicons:
- - balance: gold cores can spawn simplemob xenos again.
- timothyteakettle:
- - config: makes AGE_VERIFICATION option off by default
-2021-04-13:
- rossark:
- - bugfix: wrong word
-2021-04-14:
- Hatterhat:
- - balance: Space pirates are now slightly more aware of how much money the station
- has, and will demand payment accordingly. (No more 20k minimum payouts and basically-confirmed
- three midround skeletons.)
-2021-04-15:
- BlueWildrose:
- - bugfix: Fixed escape pods not docking at Centcom
- skodai:
- - imageadd: Resprited the icons for the sushi, onigiri, tuna can and sea weed.
-2021-04-16:
- BlueWildrose:
- - bugfix: (TGport-Timberpoes) You can once again pay off the pirate event from the
- communications console without it silently failing for no obvious reason.
- - bugfix: Fixed being unable to delete messages from the communication consoles
- message list save for the one on the bottom.
- - bugfix: The data siphon that the space pirates have will no longer go invisible
- when it begins siphoning.
- - bugfix: If the space pirate's "offer" has been rejected, there is now announcement
- feedback for if this does happen.
- DeltaFire15:
- - bugfix: Borgs can now use tank dispensers (again?)
-2021-04-18:
- BlueWildrose:
- - balance: '(TGport-Kriskog) Reduced blight cost to 75, more in line with its underwhelming
- nature. tweak: (TGport-Kriskog) Revenants now only use stolen essence to unlock
- new spells. No more counting corpses or waiting for regen before draining. tweak:
- (TGport-Kriskog) Spell unlock costs adjusted accordingly, defile upped from
- 0 to a cost of 10. tweak: (TGport-Kriskog) Drain targets in soft-crit will be
- stunned, to prevent them crawling away.'
- - bugfix: (TGport-ShizCalev) Fixed revenant's light overload ability not blowing
- lights in a square if there was another broken/burnt out/empty light in it.
- DeltaFire15:
- - bugfix: Mechs now do not get drained an absurd amount of energy when EMPd.
- - bugfix: Organic healing surgeries no longer show up for people without any organic
- bodyparts.
- SandPoot:
- - rscadd: Adds a fancy TGUI interface for the cloning computer.
- - rscdel: 'Destroys the old cloning interface. tweak: Alt-Click now removes disks
- from the cloning computer.'
- - refactor: Replaced way too much code for the cloning computer.
- - refactor: Cloning scan's implant now outputs a list if desired.
-2021-04-20:
- BlueWildrose:
- - rscadd: New slimeperson organs that aren't really that different from humans for
- now.
- - imageadd: Some blue organs for slimepeople.
- - rscadd: Space pirate sleepers can now be crowbared to be destroyed.
- DrPainis:
- - rscadd: ash drake meat
- Hatterhat:
- - bugfix: Plastitanium glass now properly applies the *2 bonus for integrity and
- efficiency when used as a solar panel.
- HeroWithYay:
- - imageadd: replaced some icons
- Putnam3145:
- - rscadd: Bluespace pipes, which can teleport gas over long distances
- - rscadd: Donk co traitor class (assassin-heavy)
- - rscadd: Waffle co traitor class (freeform)
- - rscadd: 'Admin-only activity tracking system only attached to antags for now tweak:
- Objective rerolling can now be done twice'
- - bugfix: Sabotage objectives won't give "free objective" anymore
- The0bserver, TripleZeta, and AsciiSquid:
- - rscadd: New, easily concealable weapons, chambered in .38, .357, and .45-70 Govt.
- Fun for the whole family!
- - rscadd: Some smugglers seem to have acquired a high amount of .38 derringers,
- and are looking to offload them to those of gray morality, with no questions
- asked!
- - rscadd: An enigmatic gun collector has seen fit to do special acquisition work
- for the Gorlex Marauders, selling the fruits of his labor for a premium price.
- If you have the right electomagnetic sequence, you might be able to contact
- him to acquire a piece of his armory.
- coiax:
- - rscadd: Nuke ops can now purchase a box of "deathrattle implants". When an implanted
- person dies, all the other users of the implant will get a message, saying who
- died and where they died.
- keronshb:
- - balance: Weight per blood is .03 now instead of .05
- - balance: Dragnet Snare breakout timer is now 2.5 seconds down from 5 seconds.
- qweq12yt:
- - bugfix: Fixed a bug where some cargo crates would never arrive and still charge
- users
- zeroisthebiggay:
- - rscdel: the box ghost burger
-2021-04-21:
- necromanceranne:
- - balance: Stun batons (not police batons/telebatons) no longer knockdown on leftclick.
- - balance: Stun batons apply a knockdown and tase effect on right click, but once
- every few seconds (they still don't disarm). They are vulnerable to a shove
- disarm briefly, however. Standard batons have a cooldown of 5 seconds. Stun
- prods have a cooldown of 7 seconds.
- - balance: Taser resistance prevents the knockdown, so any chem that grants this
- (like adrenals) protects you from this knockdown.
- - balance: Stun batons apply a stagger when they hit someone, preventing sprinting
- for a few seconds.
- - balance: Stun batons respect melee armor for their stamina damage, but their cells,
- based on max charge, grant armor penetration. For every 1000 charge, they gain
- 1 armor pen. (Roundstart batons have 15 pen, just fyi)
- - balance: Shoves can disarm you of any item, not just guns.
- - bugfix: Removes a duplicate trait definition for TRAIT_NICE_SHOT.
-2021-04-22:
- Whoneedspacee:
- - rscadd: new arena attack where ash drake summons lava around you
- - rscdel: removed old swooping above you, instead flies above you instantly
- - balance: ash drake now spawns temporary lava pools instead of meteors falling
- down
- - balance: ash drake takes twice as long to swoop down now that he instantly goes
- above you
- - balance: ash drake now moves twice as fast
- - balance: increases the odds of lava spawns in the lava pool attack
- - balance: 'increases fire line damage and decreases lava attacks direct damage
- tweak: ash drake fire now shoots in the direction of the target tweak: changes
- times of certain animations tweak: changes sounds of meteor falling to lava
- creation'
- - bugfix: a bug where ash drakes attacks did not damage mechs
- - imageadd: changes meteor icon to lava creation animation from lava staff
- - rscadd: Mass fire attack, sends fire out from the ash drake in all directions
- - rscadd: Adds an enraged attack for ash drake, heals him as well as making him
- glow and go faster, spawning massive amounts of fire in all directions
- - rscdel: 'Removes the old triple swoop with lava pools attack tweak: Lava pools
- can now spawn with the normal fire breath attack sometimes tweak: Lava pools
- now have changed delays for lesser amounts so they don''t all just place around
- one area tweak: Increases default swoop delay'
- - balance: Teleporting out of the lava arena now has some actual consequences by
- enraging the ash drake
- - bugfix: Makes lava arena a bit less laggy by not recalculating range_turfs every
- time
- - bugfix: Fixes the arena attack selecting inaccessible tiles as the safe tile though
- this will not change the turfs to basalt temporarily to prevent moving through
- indestructible walls
- - bugfix: Fire lines would not spawn if their range would place their final turf
- location outside of the map
- - bugfix: The arena attack will no longer destroy indestructible open turfs
- - balance: ash drake fire does less damage now
- - balance: ash drake takes longer to swoop down now
- - balance: tiles take longer to fully convert into lava now, slowing down the arena
- attack as well
- - balance: fire breath now moves slower
- - balance: triple fire breath for the lava swoop only happens below half health
- now
- - bugfix: The arena attack not making safespots when you fight it in a mech
-2021-04-25:
- DrPainis:
- - spellcheck: Bubblegum is now capitalized.
-2021-04-26:
- Trigg, stylemistake and SandPoot:
- - admin: 'Admins just got a new TGUI Select Equipment menu tweak: Prevents the window
- from creating sprites for any animated version there might be. (this guarantees
- consistant sprite size/amount)'
-2021-04-29:
- Putnam3145:
- - bugfix: Fixed a couple runtimes in activity (threat) tracking
- keronshb:
- - balance: Removes the Reinforcement Chromosome from Genetics.
-2021-04-30:
- DrPainis:
- - spellcheck: Bubblegum's hallucinations are capitalized.
- Melbert, SandPoot:
- - refactor: TGUI Limbgrower
- - refactor: Refactored the limbgrower to modernize the code and allow for more types
- of designs.
- - rscadd: The limbgrower now supports plumbing ducts.
- - bugfix: Fixes genitals not actually getting data from disks.
- - code_imp: Adds two special helpers.
- SandPoot:
- - rscadd: The decal painter now has visible previews for your tile painting funs.
- - bugfix: Fixes decal painter painting in the opposite direction.
- TheObserver-sys:
- - bugfix: Restores the access lock on crates that should have them, given the goods
- inside.
- - bugfix: Makes the 10MM Surplus Rifle a less awful thing to use.
- - bugfix: replaces unarmored things with their armored versions.
- - balance: Illegal Tech Ammo actually is fucking reasonable, now.
- - balance: Expensive Illegal Tech Ammo Boxes are now constructible, with actually
- justifiable prices.
- WanderingFox95:
- - balance: There's finally a reason for the reagent dart gun to exist and be used!
- akada:
- - imageadd: Changes the space adaptation sprite to something less intrusive and
- more subtle.
- necromanceranne:
- - rscadd: 'Basic cybernetic organs: they''re worse than organic! Basic stomachs,
- hearts, lungs and livers! For when you hate someone enough to not bother harvesting
- organs from a monkeyhuman!'
- - rscadd: 'Cybernetic organs have been adjusted into three tiers: 1 (basic), 2 (standard,
- better than organic) and 3 (absolutely better than organic but expensive to
- print)'
- - rscadd: Cybernetic organs that are emp'd instead suffer different effects based
- on the severity of the emp. The bigger the emp, the worse the effect is.
- - rscadd: Rather than outright bricking, severely emp'd cyberorgans degrade over
- time very quickly, requiring replacement in the near future.
- - rscadd: Fake blindfolds in the loadout. They don't obscure vision, for better
- or worse.
-2021-05-01:
- qweq12yt:
- - bugfix: Restores the sprite for the Riot Suit.
-2021-05-03:
- TripleShades:
- - rscadd: Added two air alarms to Pubby Security, one in the evidence locker room
- and one in the main equipment back room
- - rscadd: pAI Card back to outside Research in Meta Station
- - bugfix: Pubby Disposals now shunts to space
- - bugfix: Maintinence Areas being not applied to certain airlocks as well as stealing
- minor walls
- - bugfix: Box Surgery Storage camera is now renamed to be on the network
- - bugfix: 'Box Paramedic Station camera is now renamed to be on the network, and
- no longer steals the Morgue''s cam tweak: Box Surgery Storage is now it''s own
- proper room'
-2021-05-05:
- The0bserver, with a great amount of advice from TripleZeta/TetraZeta:
- - rscadd: Adds a new crate type, for use with any manner of cheeky breeki shenanigans,
- as well as with existing Russian contraband.
- bunny232:
- - rscadd: There's some new vents and scrubbers in the meta station xenobiology department.
- Welders and wrenches not included*
- keronshb:
- - balance: Nightmare Shadow Jaunt threshold up to 0.4
- - balance: Vendor and Engraved message light down to 0.3
-2021-05-08:
- Arturlang:
- - bugfix: Synthblood bottles now have the proper color and probably won't poison
- you anymore
- timothyteakettle:
- - rscadd: lets humans have digi legs (and avian legs)
-2021-05-09:
- Putnam3145:
- - rscadd: Priority announcement admeme verb
- SandPoot:
- - bugfix: Fixed Cyborg examines adding an extra weird line.
- - code_imp: Everything can be set to have tooltips, and even coded to have neat
- tooltips.
- - rscadd: Makes it so humans and borgs already have tooltips.
- TheObserver-sys:
- - bugfix: Fixes most of the weird handling bugs and improves cigarette case handling
- in general.
- - rscadd: The Gorlex Marauders have seen fit to allow you to purchase the .45-70
- GOVT rare ammo, at a premium cost. Don't waste it.
- WanderingFox95:
- - rscadd: added the unrolling pin, an innovative solution to dough-based mishaps.
- - imageadd: added visuals for the unrolling pin
- dzahlus:
- - soundadd: added new malf AI spawn and doomsday sound
- - sounddel: removed old malf AI spawn and doomsday sound
- zeroisthebiggay:
- - balance: pirates now have a medbay and several other things qualifying as a buff
- - balance: pirates lost their toilet
-2021-05-11:
- LetterN:
- - bugfix: fixes emagging console shuttle purchases
- - balance: syndie melee simplemobs has no more bullshit shield
- bunny232:
- - rscadd: Delta station xenobiology department has received enhanced scrubbing and
- ventilation capabilities similar to box and meta
-2021-05-12:
- DeltaFire15:
- - bugfix: find_safe_turf no longer always fails on safe oxygen levels(??)
- - bugfix: 'Heretic bladeshatters now actually take the heretic''s z into account
- as intended, instead of always being station z tweak: Message for failing the
- bladeshatter despite succeeding the do_after tweak: Improves bladeshatter a
- bit by making it safer codewise'
-2021-05-13:
- Linzolle:
- - spellcheck: anthromorphic -> anthropomorphic
- WanderingFox95:
- - rscadd: Pinot Mort (Necropolis Wine), a new, (totally healthy) mixed drink!
- qweq12yt:
- - bugfix: Fixed sleeping disky spam (it still sleeps soundly, but every minute instead
- of every two seconds)
- - bugfix: Fixed Hulks not breaking cuffs, zipties, restraints.
- silicons:
- - code_imp: A deterministic wave explosion system has been added. Use it with wave_explosion().
- zeroisthebiggay:
- - rscadd: vegas style bunny ears
-2021-05-14:
- keronshb:
- - balance: Removes VOG sleep command since it was an undocumented readd.
- zeroisthebiggay:
- - spellcheck: consealed
-2021-05-15:
- bunny232:
- - bugfix: Corrects the bot pathing by engineering on meta station
- timothyteakettle:
- - balance: borg spraycans have a five second delay before being able to knock someone
- down again
-2021-05-19:
- WanderingFox95:
- - rscadd: The E-Fink, a mending tool for food.
- - soundadd: A backwards bladeslice. (Yes, for the E-fink)
- - imageadd: And Icons for the E-fink, of course.
- shellspeed1:
- - rscadd: Survival pods can now be designated as requiring power. Survival pods
- with this feature should include an APC when created and will run out of power
- rather quickly if no source is added. Perfect for true emergencies.
- - rscadd: An empty survival pod has been added to the mining vendor. This is an
- extremely barebones pod featuring only a gps, table, apc, and the standard fridge
- for some donk pockets.
- zeroisthebiggay:
- - rscadd: New Alcohol Amaretto and various cocktails
- - rscadd: more drink mixture flavortext
- - soundadd: you're going to Baystation
-2021-05-20:
- qweq12yt:
- - bugfix: Fixed void cloak voiding itself into oblivion.
- - bugfix: You can now order emag shuttles again.
- timothyteakettle:
- - rscadd: ports rp's marking system
-2021-05-21:
- Putnam3145:
- - bugfix: Fixed activity being attached to minds instead of mobs on antag attach.
-2021-05-23:
- Putnam3145:
- - bugfix: Antag and species no longer remove all traits if one has a blacklisted
- trait
- WanderingFox95:
- - imageadd: Replaced the antlers showing up when you select deer ears with actual
- deer ears. Literally why was that even a thing before?
- - imageadd: Straight rabbit ears are now a thing.
- keronshb:
- - balance: 30 > 25 pop req for contractor kit
- - code_imp: adds a special hud for simple mobs.
- - imageadd: a lot of >32x32 mobs now have icons for their health dolls
-2021-05-24:
- zeroisthebiggay:
- - rscadd: 'New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight
- telecrystals, buy today!'
- - rscadd: hairs from Airborne Snitch
-2021-05-26:
- bunny232:
- - bugfix: Removed two random 'captain's office' tiles from space on meta station
-2021-05-29:
- Kraseo:
- - bugfix: No more slamming into people while bloodcrawled.
- Linzolle:
- - bugfix: brand intelligence event works again
- keronshb:
- - rscadd: swag outfit available in clothesmate
- - rscadd: 'swag shoes availble in clothesmate resprite: changed swag shoes icon
- to the one twaticus made.'
- - rscadd: Adds the clown mob spawner for admins
- zeroisthebiggay:
- - balance: puglism damage can no longer stack with scarp
-2021-06-03:
- MrJWhit:
- - balance: Removed some debug tiles on the xenoruin.
- TripleShades:
- - rscadd: Added a camera to both solar entryways
- - rscadd: Added an intercom to toxin's launch for the doppler
- - rscdel: The fake nuke auth disk in the library
-2021-06-04:
- MrJWhit:
- - rscadd: Adds a missing pipe
- Putnam3145:
- - bugfix: sniper rifle doesn't ruin your round instantly now
-2021-06-05:
- Arturlang:
- - code_imp: float sanity now makes it not actually run if it's actively being thrown
- coderbus13:
- - bugfix: Pubby's toxins injector now starts at 200L, like it does on other maps
- zeroisthebiggay:
- - rscadd: light floppy dog ears
-2021-06-06:
- bunny232:
- - rscadd: Pools are capable of mist at lower temperatures
-2021-06-10:
- Arturlang:
- - balance: Holoparasites for traitors now cost 12 crystals, for operatives 8, the
- ricochet eyepath traitor item now 4.
- DrPainis:
- - rscadd: goliath calamari
- - rscadd: cat meteors
- Linzolle:
- - bugfix: cults can build in maintenance (and other small areas) again.
- - bugfix: centcom can no longer be selected as the target area for narsie to be
- summoned??????
- MrJWhit:
- - balance: Moves medical holodeck to the restricted category
- SandPoot:
- - code_imp: Uses some of the existing images for the typing indicators.
- - bugfix: Fixes soulstone shard not working for non-cultists.
- WanderingFox95:
- - rscadd: A random event for the cat surgeon to invade the station. Listen for scary
- noises!
- - soundadd: Screaming Cat SFX, you know, for the mood.
- bunny232:
- - bugfix: Atmos resin now properly prevents all atmos from moving
- - bugfix: Air tanks now properly have a 21/79 o2/n2 mix
- - rscadd: Hydroponics can now make 5u of slimejelly by injecting 3 oil, 2 radium
- and 1 tinea luxor into a glowshroom
- keronshb:
- - balance: Made it so Off Balance only disarms if they're shoved into a wall or
- person.
- - balance: Reduced Off Balance time to 2 seconds.
- - balance: Pierced Realities despawn after 3 minutes and 15 seconds, new unresearched
- realities spawn in after that time elsewhere to help other heretics get back
- into the game.
- - balance: A required sacrifice amount for heretic's second to last and last powers
- are added to discourage only rushing for holes.
- - balance: An announcement automatically plays to everyone that there's a heretic
- gunning for ascension upon learning the 2nd to last power
- - balance: 'Blade Shatters are now used in hand other than with a HUD icon tweak:
- Adjusted some TGUI menus for the book to reflect how many sacrifices a heretic
- has and how many are required for certain powers'
- - bugfix: Fixes sprite issue for Void Cloak for people who have digigrade legs.
- - bugfix: Fixes the Raw Prophet recipe to match the description
- - balance: Lets the Cargo Shuttle use Disposal Pipes again
- - rscadd: Adds motivation and adds it to the uplink
- - rscadd: Adds Judgement Cut projectiles
- - rscadd: Adds Judgement Cut hit effects and firing effects.
- - soundadd: added sounds for the firing and hit sounds of Judgement Cuts, created
- by @dzahlus
- - rscadd: Adds Floor Cluwnes and event for midround
- - rscadd: Adds Cluwne mutation
- - rscadd: Adds Cluwne spell
- - rscadd: Adds Cluwnes
- - imageadd: Adds Cluwne Mask + shoes
- - admin: Adds Floor Cluwne spawn button
- - admin: Adds Cluwne smite button
- zeroisthebiggay:
- - bugfix: Fixed an exploit allowing you to grab people from anywhere with a clowncar.
- - balance: revenant essence objective reduced
-2021-06-12:
- silicons:
- - bugfix: xenos are now truly immune to stamina damage.
-2021-06-14:
- EmeraldSundisk:
- - rscadd: 'Adds a brand new, wholly unique mining base to Snaxi tweak: A thorough
- redesign of Snaxi (see PR #14818 for more info)'
- - bugfix: Increases the number of electrical connections between substations
- MrJWhit:
- - balance: Removes cat meteors.
- SandPoot:
- - rscadd: Tablet computers now have a pen slot, they can almost replace your pda!
- - spellcheck: Removed a bracket from printer's examine.
- - bugfix: The cosmetic turtleneck and skirtleneck no longer start with broken sensors.
- TripleShades:
- - rscadd: Lights to AI Sat Walkways
- - rscadd: Lights to Atmospherics
- - rscadd: Floor labels to Atmospherics Gas Miner containment units
- - rscdel: Gas canisters from Gas Miner containment units
- - rscdel: Excessive wiring in Security and Detective's Office
- qweq12yt:
- - bugfix: Locker orders now properly bundle together in a single locker (still separated
- by buyer).
- - bugfix: Changed some package names to be more accurate.
- timothyteakettle:
- - rscadd: bees can go in containers and are released upon opening the container
- - rscadd: 7 more round tips have been added
- zeroisthebiggay:
- - imageadd: new singularity hammer sprite
- - imageadd: various slight sprite additions
- - imageadd: distinctive combat defib sprite
- - imageadd: a onesleeved croptop accessory sprited by trojan coyote
- - imageadd: new bank machine sprite
- - imagedel: unused goon coffin sprite
- - imageadd: new water cooler sprite
-2021-06-15:
- EmeraldSundisk:
- - rscadd: Xenobiology now has proper lighting
- - bugfix: The Corporate Showroom now has a proper front door
- - bugfix: Mining snowmobiles now have keys
- - bugfix: Adjusts area designations so GENTURF icons should no longer be visible
- in-game
-2021-06-16:
- silicons:
- - bugfix: on_found works again
-2021-06-17:
- Vynzill:
- - rscadd: ability to change crafted armwrap sprite to alternate one.
- - imageadd: extended armwrap icon and sprite
- timothyteakettle:
- - bugfix: fixes an oversight causing embed jostling to do 2x as much damage as it
- should
-2021-06-19:
- keronshb:
- - bugfix: Ling Bone Gauntlets work again
-2021-06-20:
- Arturlang:
- - rscadd: Port's TG's nanite storage modification programs from the bepis
- - bugfix: Fixes infective nanite progreams not syncing cloud ID.
- - rscadd: Add's off icons for nanite machinery
- - bugfix: Fixes antitox nanites runtiming on simplemobs
- - rscadd: Updates the nanite dermal button icon set
- - rscadd: Adds the ability to select the logic for nanite rules
- - bugfix: Nanite programs with triggers won't ignore rules.
- - bugfix: 'Coagluating nanite program research no longer has the wrong name tweak:
- Nanite program''s have better descriptions now tweak: Nanite subdermal ID''s
- now also include pulled ID''s for simplemobs'
- - bugfix: Nanite voice sensors should properly work now.
- - bugfix: Fixes nanite comm remote, now they should actually work
- EmeraldSundisk:
- - rscadd: 'Adds ColorMates to Snow Taxi tweak: Slight adjustments near the arrival
- shuttle landing zone'
- - rscdel: Removes an undesired corporate entity
- Nanotrasen Structual Engineering Division:
- - rscadd: Added lables to the atmos tanks on Metastation.
- - rscadd: Adjusted Pubbystation's emitter room wall layout to prevent light-breakage
- on startup of emitters.
- - rscdel: Removed frestanding sink and showers from Metastation science airlock,
- and Deltastation Xenobio. Added an emergency shower next to the kill room.
- - bugfix: Removed a leftover pipe in Metastation security hallway.
- bunny232:
- - bugfix: Pressure tanks other then air tanks start with gas!
- keronshb:
- - rscadd: Adds the Space Dragon midround event
- - soundadd: Space Dragon sounds
- - imageadd: Space Dragon + effects
- - code_imp: Added Spacewalk trait
- - code_imp: Gibs the original owner if they are turned into a Space Dragon with
- the traitor panel
- - admin: logging for Space Dragon creation
- kiwedespars:
- - rscadd: a downside to wheely heelies ((made it actually detrimental))
- zeroisthebiggay:
- - imageadd: beltslot sprites for various items
- - imageadd: resprite for telebaton
-2021-06-21:
- silicons:
- - bugfix: glowshroom scaling
- timothyteakettle:
- - bugfix: vore is 0.1% less shitcode
-2021-06-22:
- bunny232:
- - bugfix: Adds a missing win door to meta xenobiology pen 6
- silicons:
- - bugfix: no more doubleroasting
-2021-06-23:
- DeltaFire15:
- - bugfix: A bunch of small nanite things should be less wonky
- - bugfix: Slimes are no longer immune to vomiting (undocumented change from a previous
- PR)
- - bugfix: Fruit wine exists again.
- - code_imp: Airlock hacking no longer sleeps.
- - code_imp: The clockwork gateway deconstruction no longer sleeps.
- - code_imp: Teslium reactions and Holywater booms no longer sleep.
- - code_imp: Slime timestop no longer sleeps.
- Putnam3145:
- - bugfix: inelastic exports no longer uselessly do exponential functions
-2021-06-24:
- WanderingFox95:
- - rscadd: An announcement to let players know the Cat Surgeon has come to visit.
- - balance: Upped the Volume of his spawn noise and lowered the spawn weight slightly.
-2021-06-25:
- MrJWhit:
- - rscadd: Adds two missing decals to the 5x5 SM.
- brokenOculus:
- - rscadd: pillbottles and syringesare now printable from the medbay protolathe,
- shiftstart. Hyposprays are now printable in medbay lathe under advanced biotech.
-2021-06-28:
- Putnam3145:
- - bugfix: APCs aren't infinite power anymore
- - rscadd: FDA, LINDA without the bookkeeping.
- - rscadd: Putnamos, a simpler replacement for Monstermos. If I can get Monstermos
- to work, this will be Monstermos instead.
- - rscdel: LINDA, the old active-turfs-based atmos subsystem.
- - rscdel: Monstermos? I would rather not get rid of this, but I can't get it to
- work correctly.
- - server: Extools has been removed, and loading extools alongside auxtools will
- cause massive problems. If this is tested or merged, remove extools from the
- static files.
- WanderingFox95:
- - rscadd: Carrots are good for your eyes - but eyes are also good for your carrots.
- Adds the googly eyes trait to walkingshrooms (Oculary Mimicry)
- - imageadd: Googly Eyes - they make everything better.
-2021-06-30:
- WanderingFox95:
- - rscadd: More plushies in the code.
- - imageadd: Nabbed some plushie sprites from Cit RP and TG and made some myself.
- Enjoy!
- - rscadd: The Daily Whiplash (Newspaper Baton) is now available! (Using sticky tape
- to stick a newspaper onto a baton) Bap!
- - imageadd: A rolled up newspaper sprite was provided.
- - balance: Switched Gateway and Vault locations on Boxstation, bringing it more
- in line with other stations.
- bunny232:
- - rscadd: The pubby xenobiology air/scrubber network is now isolated from the rest
- of the station
- qweq12yt:
- - rscdel: HoP's cargo access was removed...
- shellspeed1:
- - balance: NT has lost experimental KA tech to miners who were lost in the field.
- Make sure to try and recover it.
- - rscadd: Adds an extremely expensive survival pod to mining for people to work
- towards. Get to work cracking rocks today.
-2021-07-02:
- silicons:
- - bugfix: spray bottles work again.
-2021-07-03:
- DeltaFire15:
- - bugfix: Turrets on nonlethal mode now once again shoot till the target is stamcrit
- as opposed to unable to use items, resolving some issues.
- Putnam3145:
- - bugfix: A bunch of sleeping process() calls now either don't sleep or make sure
- to call a proc with waitfor set to FALSE
- WanderingFox95:
- - bugfix: The axolotl ears in the .dmi file actually exist to the game now.
-2021-07-04:
- cadyn:
- - server: Updated server scripts for proper linux support
-2021-07-05:
- Putnam3145:
- - bugfix: Watchers no longer search 9 tiles away for stuff then throw the result
- away if it's more than 1 tile away
- - server: Auxmos pull now uses a tag instead of pulling straight from the main branch
- WanderingFox95:
- - bugfix: Moved a sprite one pixel to the left.
- zeroisthebiggay:
- - imageadd: tg based tool resprites
- - bugfix: wirecutters have proper overlays
-2021-07-07:
- DeltaFire15:
- - bugfix: Golem / Plasmaman species color should work again.
-2021-07-09:
- MrJWhit:
- - bugfix: Made a light not exist on the same tile as a door on pubby.
- - bugfix: Makes the RD APC automatically connect to the powernet with the correct
- wire on pubby.
- - rscadd: Added another wall for the AM engine so it doesn't space the airlock roundstart.
-2021-07-10:
- WanderingFox95:
- - imageadd: Returns the wheelchair sprites to having, you know, wheels?
- - rscadd: 'A motorized wheelchair addsound: Chairwhoosh.'
-2021-07-11:
- shellspeed1:
- - balance: replaces the seed machine with a biogen in the survival pod.
- - bugfix: corrected an issue regarding wrong pair of gloves in the pod for DYI wiring
- .
-2021-07-12:
- Putnam3145:
- - refactor: causes_dirt_buildup_on_floor is now just a thing humans do instead of
- a weird var only true for humans
-2021-07-13:
- MrJWhit:
- - rscadd: Adds a mirror above the sink in the captains bedroom in pubby
-2021-07-14:
- Putnam3145:
- - refactor: Acid is now a component
-2021-07-15:
- Putnam3145:
- - bugfix: fixes a major source of lag
-2021-07-17:
- cadyn:
- - server: precompile.sh updated
-2021-07-18:
- timothyteakettle:
- - bugfix: fixes photosynthesis stopping nutrition going past well fed from non-photosynthesis
- means
-2021-07-19:
- Arturlang:
- - bugfix: The crafting button should no longer silently make more copies of itself
- on reconects
- - code_imp: There are no longer two copies of the crafting component.
- - code_imp: 'There is no longer a rogue d in tracer.dm tweak: Everything in Misc
- was moved to Miscelanious in the crafting menu, and Misc was nuked from orbit.
- Nobody will miss you.'
- MrJWhit:
- - bugfix: Fixes a memory leak, there's a good chance that it's the same one that
- killed kilo.
- SandPoot:
- - rscadd: Put back mob vore with a pref.
- - code_imp: Taken some stuff from tg for tgui_alert.
- - refactor: Refactored a lot of code on vore panel.
- WanderingFox95:
- - rscadd: custom plasteel kegs
- YakumoChen:
- - rscadd: You can now wear the suffering of others on your head with just a sheet
- of human skin!
- - imageadd: Human skin hats
- keronshb:
- - rscadd: Stripping/equipping things to a conscious braindead person (AKA a human
- owned by a disconnected player) will now give them a message with your visible
- name and roughly how long ago you touched their stuff when they login again.
- Touching someone's pockets or adjusting their gear other than equipping/unequipping
- is not logged. After 5 minutes, you'll have forgotten both their name and exactly
- how long ago past those 5 minutes it happened. (Credit to Ryll-Ryll)
- - rscadd: LAZYNULL
- - rscadd: Breaking mirrors now gives you a bad omen
- timothyteakettle:
- - bugfix: anthros can now select the cow tail
- - rscadd: new quirk that allows you to eat trash
-2021-07-23:
- silicons:
- - balance: Batons are slightly more powerful.
-2021-07-24:
- MrJWhit:
- - rscadd: Replaces the northwest maint room on box with a sadness room
- - rscadd: Replaces bar stripper room with an arcade on boxstation
- - rscadd: Squished the west bathrooms a bit and made a room to sell things on boxstation.
- - balance: Southeast maint hallway on box is now ziggy and zaggier.
- - bugfix: Fixed pipes being not connected with the recent map PR for boxstation.
- Putnam3145:
- - bugfix: hallucination now bottoms out at 0
- - balance: supermatter now causes only half the hallucinations
- cadyn:
- - server: auxmos bump for dependencies.sh
-2021-07-26:
- SandPoot:
- - rscdel: Removes a sneaky transform button on the vore panel.
-2021-07-27:
- Putnam3145:
- - bugfix: Generic fires work now
- - balance: A knock-on effect of the HE pipe change is that space cooling is ~8.4x
- as powerful
-2021-07-29:
- EmeraldSundisk:
- - rscadd: Adds decals between Virology and the general Medbay to provide clarity
- - rscadd: Adds an airlock with access to the Engineering Cooling Loop
- - rscadd: The Maintenance Theater now has a suitable amount of dust
- - rscdel: Removed an errant entertainment monitor left in the morgue
- - rscdel: 'Removed redundant scrubber piping in and around the bar and kitchen tweak:
- Slightly readjusts an airpipe to take advantage of newfound space tweak: The
- Toxins Lab has received (predominantly) visual adjustments as to render it more
- in line with the general science department tweak: Toxins Storage is no longer
- its own area and as such needn''t worry about APCs'
- - bugfix: Hydroponics now has a proper APC as intended
-2021-07-31:
- MrJWhit:
- - bugfix: Fixes some minor mistakes around space near boxstation.
- TripleShades:
- - rscadd: 'Fountain area to public mining station-side tweak: Moved around the tables
- and chairs and monitor at public mining station-side'
- WanderingFox95:
- - rscadd: 'Added new ruin maps: The Bathhouse, The Library, The Engineering outpost,
- The Hotsprings(un-cursed), Lust, Wrath and an alternate spawn for the BDM in
- the form of a mining outpost, based on the same Ruins on the Ice Moon. removed:
- A lot of the fun items within the ice moon-based ruins that would break mining
- even more and trading cards.'
- - balance: 'Yes, this includes that the lavaland version of the hot spring is literally
- just water and not cursed. tweak: Also "fixed" that only one version of the
- BDM ruin ever spawns. Not sure it needed fixing but even locally hosted, only
- blooddrunk2.dmm would spawn. Since I added another spawn for the BDM, I fixed
- that too.'
-2021-08-02:
- TripleShades:
- - rscadd: 'Decorative (read: Station-safe) water tile in the code'
- - bugfix: Pubby's new water feature wont kill atmosphere anymore
-2021-08-03:
- zeroisthebiggay:
- - balance: tempgun is a laser
- - balance: bake mode is useful
- - balance: tempgun has less shots
- - imageadd: tempgun has more sprites
-2021-08-04:
- BlueWildrose:
- - bugfix: The debrained overlay actually shows for brainless corpses now instead
- of showing a blue error.
- timothyteakettle:
- - bugfix: legs are no longer awful
-2021-08-05:
- Putnam3145:
- - bugfix: organs decay again
-2021-08-07:
- BlueWildrose:
- - bugfix: The black dress, pink tutu, the bathrobe, the kimonos, and the qipaos
- no longer have a missing pixel when wearing them with the feminine bodytype.
- They're also no longer adjustable (they have no sprite for the adjusted variant
- and therefore it would just make an error if someone did that.)
- Putnam3145:
- - balance: 'Supernova rad storms are now half as likely per tick tweak: Supernovae
- don''t announce they''re ending if they never announced they''re starting tweak:
- Supernovae say explicitly no rad storms can happen if they can''t'
- - rscadd: Monstermos is back
-2021-08-09:
- Arturlang:
- - bugfix: Nanite machinery overlays should now work properly
- - code_imp: screen objects are now atom/movables instead
- - code_imp: Update appearance is used for updating atoms now instead of update_icon
- and such
- BlueWildrose:
- - bugfix: Old gateway animation is back. Feedback is given that the gateway is open
- again.
- Putnam3145:
- - balance: Rod of asclepius can now be used for revival surgery
-2021-08-11:
- timothyteakettle:
- - rscadd: lets felinids, humans and moths have markings
-2021-08-12:
- Arturlang:
- - rscdel: Nonslimes and nonvampires will no longer be able to increase their blood
- to stupid heights
- Putnam3145:
- - refactor: Supermatter values use auxgm
- cadyn:
- - server: precompile.sh and build.sh updated, auxmos set to 0.2.3 in dependencies.sh
-2021-08-13:
- Putnam3145:
- - bugfix: makes certain organs no longer have circular references
-2021-08-16:
- BlueWildrose:
- - bugfix: Incapacitated mobs are blacklisted from being human-level intelligence
- sentience event candidates. This is particularly important due to slimes in
- BZ stasis on the station.
- bunny232:
- - bugfix: Polyvitiligo actually changes your color now
-2021-08-18:
- timothyteakettle:
- - rscadd: lets you select 4 prosthetic limbs instead of only 2
-2021-08-20:
- EmeraldSundisk:
- - rscadd: Adds a law office/courtroom to OmegaStation
- - rscadd: Adds a gateway to OmegaStation
- - rscadd: Adds a pool/maintenance bar to OmegaStation
- - rscdel: 'Removes the original maintenance garden in OmegaStation tweak: Relocates
- the bathrooms to the starboard hall tweak: Modifies port quarter maintenance
- to include some affected items'
- Putnam3145:
- - rscadd: Beach now has showers
- TripleShades:
- - rscadd: At least four or five space heaters spread across Pubby Station Maints
- - rscadd: Missing decal in Pubby Station engineering
- - bugfix: Moved an atmos alarm in the SM emitter chamber so it wont be destroyed
- WanderingFox95:
- - rscadd: Empty bottles and pitchers are available to the bartender now.
- - imageadd: They even come with 10 different fillstates!
- - imageadd: Better Shark Tails, dodododododo~
- - rscadd: The old ones are now listed as carp tails.
-2021-08-22:
- zeroisthebiggay:
- - spellcheck: trillby can't spell pair
-2021-08-23:
- zeroisthebiggay:
- - spellcheck: i hate the grammarchrist
-2021-08-24:
- BlueWildrose:
- - balance: MK ultra explosions (failures at making MKultra) are gone, and replaced
- with a gas that just causes a bunch of status effects to you.
-2021-08-26:
- keronshb:
- - rscadd: Adds catwalk floors
-2021-08-28:
- DeltaFire15:
- - bugfix: 'Demons now drop bodies on their own tile instead of scattering them across
- the station. tweak: Space dragon content ejection is now slightly safer.'
- - bugfix: Space dragons no longer delete their contents if they die due to timeout,
- ejecting them instead.
- - bugfix: Carp rifts created by space dragons now have their armor work correctly.
- Putnam3145:
- - config: Planetary monstermos can now be disabled with varedit
- - rscadd: Lavaland/ice planet atmos is no longer a preset gas mixture and varies
- per round
- keronshb:
- - rscadd: Ports Inventory Outlines
- - imageadd: Re-adds the old glue sprite
- - rscadd: Adds Plague Rats
- - rscadd: Gives Plague Rat spawn conditions for regular mice
- - imageadd: Plague Rat sprite
- - rscadd: Gremlin
- - imageadd: Gremlin sprites
- zeroisthebiggay:
- - rscdel: grilles as maintenance loot
- - rscadd: sevensune tail from hyperstation
-2021-09-01:
- BlueWildrose:
- - bugfix: The waddle component now takes size into account when running rotating
- animations, thus not reverting character sizes to default size.
- ma44:
- - bugfix: Weapon rechargers now have their recharger indicators again.
- - bugfix: Energy guns now update when switching modes again.
- - bugfix: Stabilized yellow slime extracts will now update cells and guns it recharges.
- - rscadd: Weapon rechargers will now be more noticeable when it has finished recharging
- something.
- zeroisthebiggay:
- - bugfix: the fucking chainsaw sprite
-2021-09-03:
- timothyteakettle:
- - bugfix: fixes losing your additional language upon changing species
-2021-09-04:
- Putnam3145:
- - bugfix: Might've fixed some ghost sprite oddities nobody even knew about
- WanderingFox95:
- - bugfix: Lavaland architects don't screw up so badly anymore and do in fact not
- somehow leave holes through the planet surface all the way into space under
- their bookshelves.
- - bugfix: Snow was removed from Lavaland Ruins.
- keronshb:
- - bugfix: Fixes entering an occupied VR sleeper bug
- timothyteakettle:
- - bugfix: makes the arm/leg markings for synthetic lizards appear as an option again
-2021-09-05:
- DeltaFire15:
- - bugfix: Unreadied player gamemode votes now actually get ignored (if the config
- for this is enabled).
-2021-09-07:
- bunny232:
- - bugfix: fixed some jank in pubby's xenobiological secure pen
- keronshb:
- - bugfix: Gremlins no longer have AA when dead
- zeroisthebiggay:
- - spellcheck: you can just about
-2021-09-08:
- keronshb:
- - imageadd: Adds the parade outfit for the HoS and Centcomm
- - imageadd: Recolors the parade outfit for the Captain
- - imageadd: Adds a toggle option for the parade outfits
- - bugfix: Observers can no longer highlight your items
-2021-09-10:
- BlueWildrose:
- - rscadd: CTRL + (combat mode) Right Click - positional dropping and item rotation.
- keronshb:
- - rscadd: Readds Reebe
- - rscadd: Added the ability to dye your hair with gradients by using a hair dye
- spray.
- - rscadd: The new Colorist quirk, allowing you to spawn with a hair dye spray.
- - rscadd: Adds Hair gradients to preferences
- - imageadd: Three new hair gradients, a pair of shorter fades and a spiky wave.
- - bugfix: Adds viewers for mask of madness so it doesn't wallhack
- zeroisthebiggay:
- - bugfix: Replaced the DNA probe's old sprite (Hypospray) with a unique sprite
- - imageadd: added some icons and images for hyposprays and medipens so they stand
- out
- - imageadd: added inhands for the cautery, retractor, drapes and hemostat.
- - imageadd: New icon and sprites for the DNA probe
- - imageadd: Emergency survival boxes now have an unique blue sprite and description
- to tell them apart from regular boxes.
- - imageadd: Added craftable normal/extended emergency oxygen tank boxes to put your
- emergency oxygen tank collection inside.
- - imageadd: Emergency first aid kits now look visually consistent with full first
- aid kits.
- - imageadd: Ports new Hypospray, Combat Autoinjector, Pestle, Mortar and Dropper
- sprites from Shiptest!
- - imageadd: Adds a new sprite for pill bottles!
- - imageadd: new surgical tool sprites
- - imageadd: The cyborg toolset is now all new and improved, with a new coat of paint!
- - imageadd: Updates pride hammer sprites!
- - imageadd: Replaced old Mjolnir sprites with new Mjolnir sprites.
-2021-09-11:
- LetterN:
- - code_imp: Tickers, GC, MC, FS updates
- - code_imp: rust_g update. It is default that we use their urlencode/unencode now.
- - code_imp: updates CBT to juke
- - bugfix: CI Cache works properly now
- Putnam3145:
- - bugfix: Removed some crashes
- SandPoot:
- - rscadd: 'Cyborg grippers now have a preview of the item you are holding. tweak:
- Cyborg grippers no longer drop using alt-click, instead, you try to drop the
- gripper to drop the item, and then you can drop the gripper. tweak: You can
- now use the "Pick up" verb on the right click menu to take items with a cyborg
- gripper.'
- - bugfix: You should be able to access the interface of airlock electronics once
- again as a borg.
- - refactor: Reworks a lot of stuff that was being used on the grippers.
- timothyteakettle:
- - bugfix: arachnid legs now show up properly
- zeroisthebiggay:
- - imageadd: reinforcing the mining hardsuit with goliath hide now makes the sprite
- cooler
- - imageadd: The SWAT helmet is now consistent between its front, side and back sprites
- for coloration.
- - imageadd: new riot armor sprites
-2021-09-12:
- LetterN:
- - bugfix: lowers the audio volume of ark sfx
- - bugfix: readded cwc theme in the index.js once more
- timothyteakettle:
- - rscadd: allows custom taste text and color on the custom ice cream setting in
- the ice cream vat
-2021-09-14:
- Hatterhat:
- - balance: The Syndicate zero-day'd the NT IRN program on modular computers through
- cryptographic sequencing technology. NanoTrasen's cybersecurity divisions are
- seething.
- LetterN:
- - code_imp: sync mafia code
- Putnam3145:
- - balance: Nerfed bad toxins bombs and buffed good toxins bombs. There's no longer
- an arbitrary hard research points cap.
- keronshb:
- - balance: Removes zap obj damage and machinery explosion from the SM arcs
- - bugfix: Fixes hitby runtime.
- zeroisthebiggay:
- - rscadd: the permabrig erp role
- - balance: changeling adrenals buff
- - bugfix: speedups
- - bugfix: bread goes in mouth and not on head
-2021-09-17:
- DeltaFire15:
- - bugfix: Techweb hidden nodes should now show less weird behavior.
-2021-09-18:
- kiwedespars:
- - balance: blacklisted morphine and haloperidol from dart guns
-2021-09-20:
- BlueWildrose:
- - balance: Slime regenerative extracts now require five seconds of wait before they
- are used. They add 25 disgust when used.
- DeltaFire15:
- - bugfix: Catsurgeons should now spawn at more reasonable locations if possible.
- - balance: carded AIs can now be converted by conversion sigils (clockcult)
- - bugfix: There is now a way to acquire nanite storage protocols (bepis, like the
- other protocols), as opposed to them existing with no way to acquire them.
- - bugfix: Plastic golems are back to ventcrawler_nude instead of ventcrawler_always
- Putnam3145:
- - config: monstermos config added, disabled
- buffyuwu:
- - bugfix: fixed medihound sleeper ui display
- - rscadd: Adds 4 redesigned jackets and 2 redesigned shirts to loadout
- - bugfix: Holoparasites no long rename and recolor on relog
- dapnee:
- - bugfix: attaches an air vent that was just there on the AI sat, changes some areas
- to what they'd logically be
- keronshb:
- - bugfix: Plague Rats will no longer spawn thousands of dirt decals
- - bugfix: Plague Rats will no longer spawn thousands of corpses
- - bugfix: Plague Rats can't spawn or transform off station z anymore
- - bugfix: Plague Rats shouldn't explosively grow instantly
- - bugfix: Plague Rats won't spawn infinite miasma anymore.
- - balance: Plague Rats health is now 100.
- - balance: Plague Rats can now ventcrawl through everything to prevent farming.
- - bugfix: Slaughter Demons Slam will now wound again on hit.
- - balance: Damage for demons back up to 30
- - balance: 'Wound Bonus for demons now at 0. image_add: Adds a sprite for the action
- bar'
- - refactor: Changed the CTRL+SHIFT Click to an action button. People can see the
- cooldown now too.
- - rscadd: PAIs can be emagged to reset master
- qweq12yt:
- - bugfix: Fixed space heaters not being able to be interacted/turned on in non powered
- areas
- timothyteakettle:
- - bugfix: removes passkey from access circuits as its not used anymore
- - rscadd: a new mild trauma, **[REDACTED]**
- zeroisthebiggay:
- - balance: glass has do_after
- - bugfix: box perma has power
- - bugfix: missing madness mask sprites
- - balance: The Spider Clan has recently taken up the Space Ninja project again along
- with the Syndicate. Space Ninjas have been drastically changed as a result,
- becoming much weaker and more stealth oriented. As a result of cutting costs
- per ninja, more ninjas were able to be hired. Expect to see them around more
- often.
- - bugfix: prisoners cannot latejoin anymore
- - bugfix: bone satchel onmob sprites
- - rscadd: new tips
- - rscdel: old tips
- - imageadd: all medipens get inhands
- - rscadd: some more brainhurt lines
-2021-09-22:
- silicons:
- - bugfix: dice bags can only hold dice
- - rscdel: limb damage changes reverted
- - bugfix: crawling can't be adrenals'd
-2021-09-23:
- KrabSpider:
- - code_imp: cryogenics ain't a candidate for anomaly spawns anymore.
- buffyuwu:
- - rscadd: canvas and spray can are now sold in the fun vendor
-2021-09-24:
- zeroisthebiggay:
- - balance: gremlins become shock immune
-2021-09-25:
- buffyuwu:
- - bugfix: fixes accordions
-2021-09-27:
- zeroisthebiggay:
- - bugfix: helter skelter actually spawns
- - bugfix: 'code\modules\mob\living\simple_animal\hostile\plaguerat.dm:139:warning:
- newmouse: variable defined but not used'
-2021-09-28:
- zeroisthebiggay:
- - balance: helter skelter loot insanity
- - bugfix: helter skelter comms insanity
-2021-09-29:
- Ghommie:
- - rscdel: Animals are no loner n(e)igh-immune to stuttering.
- - bugfix: Silicons and animals won't keep stuttering or slurring forever after being
- struck by something that made them like that in the first place (such as a Blue
- Space Artillery).
- Hatterhat:
- - balance: Reports from other stations' Wardens blasting themselves in sensitive
- places due to mishandled firearms has led to the introduction of a folding-stock
- safety for their shotgun, rendering it inoperable while the stock is folded.
- - balance: Compact combat shotguns now stay compact when stored, by virtue of being
- unable to be extended while in a bag.
- - balance: Reloading a shotgun with a shell clip now inflicts melee click delay.
- LetterN:
- - rscadd: clowncar railgun- i mean gun
- - rscadd: more achivements
- - rscadd: syndie carp can pick up the disky (and is smart now)
- - code_imp: hooks most of the achivements, all of the heretics work now
- Putnam3145:
- - bugfix: Lavaland can no longer be too cold for its natives to surivive
- buffyuwu:
- - bugfix: flannels can now be toggled in style from buttoned to unbuttoned
- - rscadd: ports more rp and existing tg assets with minor edits into loadout selection
- keronshb:
- - refactor: Ninja status back in the status menu
- zeroisthebiggay:
- - bugfix: the monkey shuttle brig
- - rscadd: meta gets a prison
- - bugfix: the floating fire extinguisher
- - balance: fucks the motivation's cost.
- - soundadd: a new maintenance ambience
-2021-09-30:
- Hatterhat:
- - rscdel: The xenomorph infestation on Moon Outpost 19 is significantly less prone
- to outbreaks, theoretically.
- Putnam3145:
- - rscdel: Minesweeper's "play on same board"
-2021-10-13:
- Hatterhat:
- - rscadd: Contraband dealers are now embracing their inner Old Space Westerner.
- Look for the Old West Surplus Crate on your mildly-hacked cargo console today.
- MrJWhit:
- - rscadd: Adds more fire-saftey closets and trashpiles to boxstation
- - rscadd: Adds trashpiles to delta.
-2021-10-16:
- Ryll/Shaps:
- - rscadd: Asay now supports pings (via using @[adminckey])
- SandPoot:
- - bugfix: If a gamemode fails to load too many times, a safe gamemode will be loaded
- instead.
- - code_imp: Dynamic is no longer hardcoded, and you can now set a gamemode to be
- forced in the configs.
- - bugfix: Equip delays are a bit less weird now, only relevant for coders/people
- who use straight jackets... on themself, since that's the only thing that uses
- it right now.
- - bugfix: Toggling arousal will properly update your sprite.
- - bugfix: That also means no spam when moving it in your hands.
- WanderingFox95:
- - bugfix: Removes the quick attack loop (like TG did it)
- dapnee:
- - rscadd: 'BEPIS to science tweak: moved the courtroom'
- keronshb:
- - rscadd: Adds the fat dart cigarette and to vendors
- - imageadd: Adds the sprites for the fat dart
-2021-10-20:
- Putnam3145:
- - bugfix: Removed a panic from auxmos
- - bugfix: Properly implemented hysteresis on heat exchanger processing
-2021-10-22:
- Putnam3145:
- - bugfix: Ashwalker lungs more aggressively attempt to be safe on lavaland
- WanderingFox95:
- - bugfix: fixed the wielded sprites not showing up properly.
- - bugfix: fixed a runtime in the bark box vendor
- - imageadd: added a missing tennis ball sprite
-2021-10-25:
- Putnam3145:
- - rscadd: Vent pumps can now be set to siphoning via the air alarm UI
- keronshb:
- - balance: 10k pirate spending money
-2021-10-26:
- WanderingFox95:
- - rscadd: bone anvils and bone ingots
- - imageadd: bone anvil sprites
-2021-10-28:
- Hatterhat:
- - rscadd: 'Proto-kinetic gauntlets! Less straight damage, extra damage on backstabs,
- slows Lavaland fauna on counterhit. tweak: The glaive kit has been renamed to
- the premium kinetic melee kit, and now has a voucher for either a glaive or
- gauntlets.'
- - rscadd: NanoTrasen is rolling out a prototype Autoloom, hidden behind Botanical
- Engineering. It only processes cotton and logs. Despite its visual similarity
- to the recycler, it is entirely tamperproof.
- Linzolle:
- - bugfix: plasmamen now spawn in their proper outfit in the ghostcafe
- Putnam3145:
- - rscdel: Removed minesweeper
- keronshb:
- - balance: -40 wound bonus for DSword
- - balance: -20 Wound bonus for Hyper Eu
- - bugfix: Fixes hyper eu's slowdown when it's not wielded
-2021-10-30:
- keronshb:
- - balance: Jacq can't burn in the cremator anymore
- - balance: Jacq also can't be cheesed off station
- - balance: Barth also cannot be destroyed
-2021-10-31:
- DeltaFire15:
- - bugfix: You can now drag things over prone people again.
- DrPainis:
- - bugfix: Walking no longer makes you fat.
- keronshb:
- - balance: Christmas trees are now indestructible
-2021-11-05:
- keronshb:
- - balance: removes required enemies
- - balance: Lowers assassination threat threshold
-2021-11-06:
- Putnam3145:
- - bugfix: Ashwalkers should no longer suffocate on lavaland (and hypothetical other
- future problems)
- - bugfix: A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma,
- for ashwalkers)
-2021-11-08:
- timothyteakettle:
- - bugfix: fixes party pod sprite
- - bugfix: fixes red panda head marking
-2021-11-10:
- Ethan4303:
- - rscadd: Added two wire nodes under the engineering PA room Apc and under the HOS
- office APC
- - rscadd: Added cables to connect the second floor relay to the power grid
- - rscdel: Removed the generic broken computer from Hos Office
- - bugfix: Fixed Hos office not having the Security records console
- Putnam3145:
- - bugfix: Power alerts now work
- - bugfix: No longer have too much O2 from too much CO2
- SandPoot:
- - rscadd: Crayon precision mode.
-2021-11-11:
- DrPainis:
- - bugfix: The universe has realized that not every species uses hemoglobin again.
- Putnam3145:
- - refactor: '"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM"
- is short for'
-2021-11-13:
- Putnam3145:
- - balance: Chonker cubans pete now no longer have a reasonable chance to be unbeatable
-2021-11-14:
- TripleShades:
- - rscadd: (Pubby) Surgery table to Brig Medical
- - rscadd: (Pubby) Dirt decals added to Command maint
- - rscadd: (Pubby) Decals and gavel block to Courtroom
- - rscadd: (Pubby) Training bomb to Birg
- - rscdel: (Pubby) Chapel stripper pole room
- - rscdel: '(Pubby) Command maint storage shed room tweak: (Pubby) Makes Arrivals
- atmos room into a main atmos grid room akin to what Meta has'
- - bugfix: (Pubby) Gulag shuttle spawning in a tile off from the airlocks
- - bugfix: (Pubby) Air Injector in Medical maints having no power
- - bugfix: (Pubby) Incorrect area on one side at AI Sat where the turrets are
- - bugfix: (Pubby) Arrivals atmos is now linked to the main atmos grid
- - bugfix: (Pubby) Medbay front airlocks access
- keronshb:
- - admin: Admins get messaged if dynamic midrounds fail to hijack
-2021-11-16:
- Putnam3145:
- - bugfix: Lavaland can no longer go below 281 kelvins
- TripleShades:
- - bugfix: (Pubby) Engineering security checkpoint no longer has a duplicate records
- console
-2021-11-18:
- DeltaFire15:
- - bugfix: Devastation level explosions no longer delete your organs after gibbing
- you.
- - code_imp: Adjusted all overrides of ex_act() and contents_explosion() to take
- account of current args for them.
- - code_imp: 'Reebe can now be loaded via a proc. tweak: The clockwork relay in reebe
- is now indestructible and not deconstrutible to avoid some issues.'
- Putnam3145:
- - bugfix: Regal rat can no longer keep spawning stuff while dead
- SandPoot:
- - rscadd: When your statpanel doesn't load, you'll get a message with a button to
- fix it.
- - bugfix: The fix chat message button now works.
- keronshb:
- - rscadd: Ball
- - rscadd: Spookystation Map
- - rscadd: Tree chopping/Grass cutting
- - rscadd: Vectorcars
-2021-11-19:
- shellspeed1:
- - rscadd: 'An experimental smart dart repeater rifle has been added by NT. It accepts
- both a large and small hypovials and uses it to fill the smart darts it synthesizes.
- It can hold 6 smart darts and makes a new one every 20 seconds. To research
- it, grab the medical weaponry node. tweak: Reagent gun renamed to reagent repeater'
- - balance: reagent repeater now holds 6 syringes.
- - balance: Reagent repeater and smart dart repeater rifle start with 4 syringes
- instead of a full clip.
- - balance: 'reagent repeater synthesizes a new syringe every 20 seconds. tweak:
- smart dart guns now use the syringe gun as an inhands sprite.'
-2021-11-20:
- SandPoot:
- - bugfix: Acid will disappear when not existant.
- - code_imp: Updates component Destroy code, might result in less component related
- runtimes.
-2021-11-21:
- DeltaFire15:
- - rscadd: Power cord implants can now also be connected to cells to recharge.
- - rscdel: Synthetics can no longer bite power cells.
- LetterN:
- - rscadd: Search option on the cwc slab
- MrJWhit:
- - balance: Reduces the HP from loot piles to 100, from 300.
- TripleShades:
- - rscadd: '(Pubby) Loot piles to maint halls remove: (Pubby) CMO''s sex dungeon
- tweak: (Pubby) Surgery layout is now more open'
- keronshb:
- - rscadd: 'Adds Cogscarab spell tweak: Cogscarabs gib now because I have no idea
- how to fix the issue of dead pogscarabs eating up the limit.'
-2021-11-23:
- TripleShades:
- - rscadd: '(Pubby) Paramedic Office tweak: (Pubby) Moved Medbay delivery to the
- south hall entrance'
- - bugfix: (Pubby) Morgue wall being labeled as Bar
-2021-11-24:
- timothyteakettle:
- - bugfix: oil drum now recognises synthetic anthormorphs as synths
-2021-11-25:
- Arturlang:
- - rscadd: Buldmode mapgen save tool
- SandPoot:
- - rscadd: Double Bed Type. Miners can also make Double Pod Beds to really feel like
- an Alaskan King.
- - rscadd: Bedsheets to match! Try to share those big blankets with a lizard if you
- see that they're shivering!
- - code_imp: Stuff that lets you interact with the benches and beds in-game, so that
- you too can enjoy being a king.
- - imageadd: Ports the Double Bed sprites from Skyrat.
- - bugfix: Dealt with some weirdness when buckling to beds.
-2021-11-28:
- SandPoot:
- - imageadd: Legless sprite for it
- TripleShades:
- - rscadd: (Meta) Adds meters to the refill/scrubber station outside Engineering
- - rscadd: (Meta) Adds a small light fixture to southeast solar access
- - rscadd: (Meta) Places an intercom to southeast solar access
- - rscadd: (Meta) Gives a cautery to Robotics
- - rscadd: (Meta) Camera to Incinerator
- - rscadd: (Meta) Linen bin to dorms
- - rscadd: (Box) Camera to Incinerator
- - rscadd: (Box) Painting mounts to Library
- - rscadd: (Pubby) Painting mounts to Library
- - rscdel: '(Meta) Removes the example tanks from the Atmospherics gas chambers tweak:
- (Box) Moves the Bar camera from out behind the soda dispenser tweak: (Box) Gives
- dorm room 6 a double bed to start tweak: (Pubby) Moves linen bin in washroom
- to a table tweak: (Delta) Moves the plant in Medbay''s Storage to not be in
- front of a vendor tweak: (Delta) Moves the gas miners and labels inside the
- Atmoshperics gas chambers to the centers'
- - bugfix: (Box) Made the upper Execution Chamber airlock unable to be used by the
- AI
- - bugfix: (Box) Moves prison cell 4 and 6's shutter button to the wall
- keronshb:
- - rscadd: FestiveMap
- - rscadd: Specific Truck and Ambulance vector cars
- - rscadd: Radials for those cars
-2021-12-01:
- DeltaFire15:
- - balance: Pellets now care about block woundwise
- - balance: Pellet wound-bonus no longer stacks for the final calculation
- - balance: Embeds no longer bypass full blocking.
- - bugfix: Shields now work properly against unarmed / mob attacks.
-2021-12-02:
- DeltaFire15:
- - balance: Synthetics gained quasi-immunity to most chemicals, excluding some core
- medical chems and a few specific disruptive ones.
- - rscadd: Health analyzer, ChemMaster and chemical analyzer interactions with the
- chemical processing flag system.
- - bugfix: System Cleaner should now always update health as opposed to before.
- - balance: system cleaner is now twice as effective.
-2021-12-03:
- TripleShades:
- - rscadd: (Pubby) Holopad to surgery viewing area
-2021-12-05:
- Arturlang:
- - rscadd: You can now put in LaTeX equations in TGUI paper if you insert them between
- two $ dollar signs
- DeltaFire15:
- - bugfix: Fireman carry no longer drops the carried person if passing over a prone
- individual.
-2021-12-09:
- DeltaFire15:
- - bugfix: Linters should no longer scream.
- Linzolle:
- - bugfix: it now only snows on festivestation instead of every map
- - bugfix: rain now triggers properly on spookystation
- TripleShades:
- - rscadd: (Pubby) Gives Robotic's Lab Surgery a cautery
- keronshb:
- - rscadd: Lets dynamic pick clock cultists midround
- timothyteakettle:
- - bugfix: being fat no longer makes you slower when floating
-2021-12-11:
- SandPoot:
- - bugfix: Borg speech is now centralized even inside lockers or something like that.
- bunny232:
- - bugfix: Cold blooded critters won't worry too much about the air around them being
- too hot even though their body temperature is the same as it.
- - balance: The warm pool is no longer nearly boiling and the cool pool no longer
- goes below 0C.
-2021-12-12:
- DeltaFire15:
- - bugfix: Linters should no longer complain about afterattack sleeps.
-2021-12-13:
- Putnam3145:
- - bugfix: Per-minute science output fixed
-2021-12-17:
- DeltaFire15:
- - bugfix: The time for admins to cancel events is 30 seconds again.
- SandPoot:
- - bugfix: Fixes assembly holders.
-2021-12-21:
- ShizCalev:
- - bugfix: Fixed an issue where you were able to remove flashlights/bayonets that
- were supposed to be permanently attached to a gun.
- - bugfix: Fixed an issue where you were unable to remove flashlights & bayonets
- from certain weapons.
- - bugfix: Fixed a potential issue where adding a flashlight to your helmet would've
- caused you to lose other action buttons.
- - bugfix: 'Fixed a issue where guns with multiple action buttons would break all
- but one of those action buttons. tweak: If you have both a bayonet and a flashlight
- attached to your gun, you''ll now be given a prompt on which you''d like to
- remove when using a screwdriver on it. tweak: Hacking a firing pin out of a
- gun is no longer done via a crafting menu - you can now do it by simply holding
- the gun in your hand and clicking it with a welder/screwdriver/wirecutters.'
-2021-12-23:
- Putnam3145:
- - bugfix: Atmos group processing heuristic no longer does opposite of intent
diff --git a/html/changelogs/archive/2015-04.yml b/html/changelogs/archive/2015-04.yml
new file mode 100644
index 0000000000..ca148891fc
--- /dev/null
+++ b/html/changelogs/archive/2015-04.yml
@@ -0,0 +1,357 @@
+2015-04-04:
+ ACCount:
+ - rscadd: Emergency welding tool added to emergency toolbox.
+ - rscadd: Changed industrial welding tool sprite.
+ - tweak: Replaced welder in syndicate toolbox with industrial one.
+ - tweak: All tools in syndicate toolbox are red. Corporate style!
+ - tweak: Red crowbar is a bit more robust.
+ - bugfix: 'Fixed two bugs: welder icon disappearing and drone toolbox spawning with
+ invisible cable coil.'
+ AnturK:
+ - rscadd: 'Picket signs: table crafted with a rod and two cardboard sheets, write
+ on them with pen or crayon.'
+ Cheridan:
+ - wip: The bar's layout has been changed with a poker table and re-arranged seating.
+ Dannno:
+ - rscadd: Added gun lockers for shotguns and energy guns. Click on the lockers with
+ an item to close them if they're full.
+ Gun Hog:
+ - rscadd: Nanotrasen research has finalized improvements for the experimental Reactive
+ Teleport Armor. The armor is now made of a thinner, lightweight material which
+ will not hinder movement. In addition, the armor shows an increase in responsiveness,
+ activating in at least 50% of tests.
+ Incoming:
+ - rscadd: The iconic blood-red hardsuits of nuke ops can now be purchased for a
+ moderate sum of 8 TC by traitors.
+ Jordie0608:
+ - tweak: Cyborg mining drills now use up their internal battery before drawing power
+ from a borg's cell.
+ - bugfix: Fixes cyborg mining drills not recharging.
+ RemieRichards:
+ - rscadd: Burning mobs will ignite others they bump into or when they are stepped
+ on.
+ Xhuis:
+ - tweak: Malfunctioning AIs can no longer leave the station z-level. Upon doing
+ this, they will fail the round.
+ - tweak: Phazon exosuits now require an anomaly core as the final step in their
+ construction.
+ xxalpha:
+ - rscadd: Added Nutriment Pump, Nutriment Pump Plus and Reviver implants.
+ - tweak: Added origin technologies to all implants.
+ - tweak: 'The following implants are now much harder to obtain: X-ray, Thermals,
+ Anti-Stun, Nutriment Pump Plus, Reviver.'
+ - tweak: Cauterizing a surgery wound will now heal some of the damage done by the
+ bonesaw if it was used as part of the same surgery.
+ - tweak: Added ability for Medical HUDs to detect cybernetic implants in humans.
+2015-04-09:
+ Iamgoofball:
+ - rscadd: Quite a lot of cleanables can now be scooped up with a beaker in order
+ to acquire the contents.
+ - rscadd: Light a piece of paper on fire with a lighter, and scoop up the ashes!
+ - rscadd: Scoop up the flour the clown sprayed everywhere as a 'joke'!
+ - rscadd: Scoop up the oil left behind by exploding robots for re-usage in chemistry!
+ - rscadd: You can splash the contents of a beaker onto the floor to create a Chemical
+ Pile! This pile can be heated or blown up and have the reagents take the effects.
+ Make a string of black powder around a department in maint. and then heat it
+ with a welder today!
+ - rscadd: Reagents now can have processing effects when just sitting in a beaker.
+ - rscadd: Pyrosium and Cryostylane now feed off of oxygen and heat/cool the beaker
+ without having to be inside of a person!
+ - rscadd: Reagents can now respond to explosions!
+ - rscadd: Black Powder now instantly detonates if there is an explosion that effects
+ it.
+ - rscadd: Fire now heats up beakers and their contents!
+ - rscadd: Activate some smoke powder in style by lighting the beaker on fire with
+ a burning hot plasma fire!
+ RemieRichards:
+ - tweak: Ninja stars are summoned to your hand to be thrown rather than automatically
+ targetting nearby mobs.
+ - rscadd: 'Added Sword Recall: pulls your katana towards you, hitting mobs in the
+ way. Free if within sight, cost scales with distance otherwise.'
+ - rscadd: Enemies can be electrocuted by a ninja as the cost of his energy, stunning
+ and injuring them.
+ - rscdel: Removed SpiderOS, functions moved to status panel.
+ - bugfix: Fixed energy nets not anchoring target, katana emag spam and sound delay.
+ optimumtact:
+ - bugfix: Mimes can't use megaphone without breaking their vow anymore.
+ phil235:
+ - tweak: Flying animals no longer triggers mouse traps, bear traps or mines.
+2015-04-11:
+ Gun Hog:
+ - tweak: Nanotrasen has approved an access upgrade for Cargo Technicians! They are
+ now authorized to release minerals from the ore redemption machine, to allow
+ proper inventory management and shipping.
+ Iamgoofball:
+ - tweak: Blobbernauts no longer deal chemical damage, brute damage increased however.
+ Ikarrus:
+ - experiment: Getting converted by a rev or cultist will stun you for a few seconds.
+ Incoming5643:
+ - bugfix: Fixes some AI malf powers being usable when dead.
+ MrPerson:
+ - tweak: Reduces movement speed penalty from being cold.
+ Xhuis:
+ - rscadd: Adds a pizza bomb traitor item for 4 telecrystals. It's a bomb, diguised
+ as a pizza box. You can also attempt to defuse it by using wirecutters.
+ kingofkosmos:
+ - rscadd: Activating internals with an adjusted breath mask will automatically push
+ it up to normal state.
+ - tweak: Masks can now be adjusted when buckled to a chair.
+ optimumtact:
+ - tweak: Stun batons no longer lose charge over time when on.
+ phil235:
+ - tweak: The AI holopads now use a popup window just like computers and other machines.
+ - rscdel: Nerfs kinetic accelerator and plasma cutters. Plasma cutter is no longer
+ in the mining vendor. Reduces the drilling cost of all drills.
+ - rscadd: Adding 40+ new food and drink recipes, mostly using the newest plants.
+ Notably rice recipes, burritos, nachos, salads, pizzas.
+ - tweak: Opening the tablecrafting window can now also be done by dragging the mouse
+ from any food (that's on a table) onto you.
+ - rscadd: The kitchen cabinet starts with one rice pack.
+ - tweak: Glasses with unknown reagent will no longer be always brown but will take
+ the color of their reagents.
+2015-04-13:
+ AnturK:
+ - rscadd: 'Spacemen have learned the basics of martial arts: Boxing, unleash it''s
+ power by wearing Boxing Gloves.'
+ - rscadd: While boxing you can't grab or disarm, but you hit harder with a knockout
+ chance that scales off stamina damage above 50.
+ - rscadd: Rumors have been heard of powerful martial styles avaliable only to the
+ gods themselves.
+ CosmicScientist:
+ - rscadd: Added a dehydrated space carp to traitor items, bought with telecrystals.
+ Use dehydrated space carp in hand to school them on loyalty. Add water to create
+ a vicious murder machine just for the halibut.
+ - tweak: The toy carp plushie now has attack verbs for fun, hit your friend with
+ one today. I put my sole into this mod.
+ - wip: If you can think of a better fish pun let minnow but I shouldn't leave it
+ to salmon else.
+ Ikarrus:
+ - tweak: Gang bosses can no longer purchase certain potent traitor items but instead
+ have access to some of a nuke op's arsenal of weapons.
+ Incoming5643:
+ - rscadd: 'Three new chemical types of blob can occur: Omnizine, Morphine and Space
+ Drugs.'
+ MrPerson:
+ - experiment: New lighting system! Lighting now smoothly transfers from one lighting
+ level to the next.
+ Xhuis:
+ - rscadd: There have been... odd sighting in Space Station 13's sector. Alien organisms
+ have appeared on stations 57, 23, and outlying.
+ - rscadd: Nanotrasen personnel have reason to believe that Space Station 13 is under
+ attack by shadowlings. We have little intel on these creatures, but be on the
+ lookout for odd behavior and dark areas. Use plenty of lights.
+ Zelacks:
+ - tweak: Defibs no longer have a minimum damage requirement for a successful revive.
+ Patients will have 150 total damage on a successful revive.
+ - tweak: Additional feedback is given for several failure states of the defib.
+ xxalpha:
+ - wip: Airlock crushing damage increased.
+2015-04-16:
+ AnturK:
+ - rscadd: Nanotrasen authorities are reporting sightings of unidentified space craft
+ near space station 13. Report any strange sightings or mental breakdowns to
+ central command.
+ - rscadd: 'PS : Abductions are not covered by health insurance.'
+ - rscadd: Shadowlings and their thralls now have HUD icons.
+ - rscadd: Thralls learn their master's objectives when enthralled.
+ - rscadd: Regenerate Chitin ability lets shadowlings re-equip their armor if lost.
+ - tweak: Loyalty implanted people take 25% longer to enthrall, but lose their implant
+ and become immune to re-implanting.
+ - experiment: Shadowlings now have a message in their spawning text which specifies
+ that cooperation is mandatory.
+ - bugfix: Veil now works on equipped lights.
+ - bugfix: Shadowlings now take correct amount of burn damage and in light and heal
+ clone and brain damage in darkness.
+ - bugfix: Fixes 'Round end code broke' displaying every round.
+ - bugfix: Shadowlings who ascend will nore greentext properly.
+ Gun Hog:
+ - rscadd: Thinktronic Systems, LTD. has increased the Value of the Value-PAK PDA
+ cartridge! Standard issue for Captain PDAs, it can now access security bots,
+ medibots, cleanbots, and floorbots ALL AT ONCE! In addition, it can also connect
+ to your station's Newscaster network at NO EXTRA CHARGE! As a Thank you for
+ our contract with them, they have thrown in Newscaster access for the HumanResources9001
+ cartridge, Heads of Personnel rejoice!
+ - tweak: The Newscaster app has also gotten a free upgrade which allows it to display
+ images and comments inside of posts!
+ - bugfix: Nanotrasen has concurrently released a patch for bots which will allow
+ off-station bots to properly patrol.
+ Incoming5643:
+ - rscadd: Changeling head slugs have been given player control, ventcrawling, and
+ a short escape period after egg laying.
+ MrStonedOne:
+ - rscadd: Admin ghosts can now drag ghosts to mobs to put that ghost in control
+ of that mob.
+ Xhuis:
+ - rscadd: Nanotrasen scientists have recently observed a strange genome shift in
+ green slimes. Experiments have shown that injection of radium into an active
+ green slime extract will create a very unstable mutation toxin. Use with caution.
+2015-04-19:
+ AnturK:
+ - bugfix: Observers can now see abductor hivemind messages.
+ - rscadd: 'Adds advanced baton for abductors: Stun, Sleep and Cuff in one tool.'
+ - rscadd: Abductor agents now have vest cameras.
+ - imageadd: New sprites for abductors and their gear made by Ausops.
+ Fayrik:
+ - rscadd: Added jobban options for Abductors and Deathsquads.
+ - tweak: Made admin antag spawning buttons more efficient and less prone to failure.
+ Xhuis:
+ - rscadd: Recent sightings aboard space stations shows that spirits seem to be manifesting
+ as malevolent revenants and draining the life of crew. The chaplain may be helpful
+ in stopping this new threat.
+ kingofkosmos:
+ - wip: Girder and machine frame construction protocols has been changed. They can
+ now be secured/unsecured with a wrench and disassembled with a welder.
+2015-04-20:
+ Fayrik:
+ - rscadd: Abductors now get advanced camera consoles.
+ - tweak: Redesigned Centcom again. There's a bar at the thunderdome now.
+ - rscadd: Headsets can now be locked to a spesific frequency, this only occurs for
+ nuke ops and deathsquads.
+ - rscadd: The Centcom channel is now available over all z-levels, regardless of
+ telecomms status.
+ - tweak: The Deathsquad space suits have been upgraded to hardsuits.
+ - rscadd: The Deathsquad now have thermal imaging huds, which can swap which hud
+ they display on the fly.
+ phil235:
+ - tweak: Reagents are now back to being metabolized every tick. Fixes frost oil
+ and capsaicin not working.
+ - tweak: Fixes not being able to make sterilizine.
+ - rscadd: Adding overdose to space drug, causing mild hallucination and toxin and
+ brain damage.
+ - tweak: Nerfed healing power of stimulant reagent. Buffed ephedrine a bit.
+ - rscadd: Nitroglycerin can now be stabilized with stabilizing agent, and explodes
+ when heated.
+2015-04-21:
+ Ikarrus:
+ - wip: Gang mode has had some considerable work done on it, including a new objective
+ and currency dynamic.
+ - rscadd: New objective: Claim half the station as territory by tagging it
+ with spray cans supplied to gang bosses, but usable by any member.
+ - wip: An area can only be tagged by one gang at a time, remove your opponent's
+ tag or spray over it.
+ - rscadd: New recruitment: Recruiment pens replace flashes, stab people to
+ recruit them.
+ - experiment: Recruitment is silent, but causes brief seizures and has a cooldown
+ that scales upwards with a gang's size.
+ - rscadd: New tool: The Gangtool is used by bosses and lieutenants to recall
+ the shuttle and purchase supplies.
+ - rscadd: Pistols, ammo, spraycans, recruitment pens and additional gangtools can
+ all be bought.
+ - tweak: Gangtools also alert the user of promotions, purchases and territory changes
+ within the gang.
+ - rscadd: Lieutenants are promoted from gang members when given their own gangtool;
+ they're immune to deconversion and able to do anything a boss can except promotion.
+ - rscadd: New currency: Influence is used to purchase with the gangtool and
+ is generated every 5 minutes by each territory owned by the gang.
+ - tweak: Thermite can be cleaned off walls now.
+2015-04-22:
+ Incoming5643:
+ - rscadd: 'Adds a new fun button for admins: ''Set Round End Sound''. You can use
+ the set round end sound button to set the round end sound. Glad we cleared that
+ up!'
+ Miauw62:
+ - wip: Very slightly expanded atmos and added an external airlock.
+ Xhuis:
+ - bugfix: A few issues have been fixed for revenants. In addition, the Mind Blast/Mind
+ Spike sound effect has been removed.
+ - rscadd: Adds the Hypnotize ability to revenants. It will cause a target to fall
+ asleep after a short time.
+ xxalpha:
+ - rscadd: Added an Exosuit Mining Scanner to the robotics fabricator.
+ - tweak: Buffed Ripley's movement and drilling speed in low pressure environments.
+2015-04-25:
+ Boggart:
+ - rscadd: Generalizes handheld instrument code and Ports Nienhaus's guitar, sounds
+ by BartNixon of Tau Ceti.
+ - rscadd: Fixes being unable to build disposal pipes on walls, makes changing the
+ RPD's settings not affect pipes that are currently building, makes the RPD use
+ the datum/browser ui, makes it use categories and makes it show the selected
+ mode.
+ Gun Hog:
+ - rscadd: Nanotrasen has provided designs for fabrication of APC power control modules.
+ You may print them at any autolathe.
+ Ikarrus:
+ - rscadd: Gangs can now purchase switchblades, a relatively cheap and decently robust
+ melee weapon.
+ - tweak: Gangs now require at least 66% control of the station to win.
+ - tweak: Gang spraycan uses reduced to 15.
+ - tweak: Pistol cost increased to 30 Influence
+ - tweak: Promotions now start off cheap at 20 influence but get more expensive the
+ more people you promote.
+ Xhuis:
+ - rscadd: Added a Create Antagonist button for revenants.
+ - rscdel: Removed Mind Blast.
+ - bugfix: Revenants no longer get killed by explosions.
+ - tweak: Mind spike cooldown increased to 4 seconds.
+ - tweak: Harvest now takes 8 seconds and requires you to be adjacent to the target.
+ - tweak: Hypnotise sleeps targets for longer.
+ - tweak: Revenant now starts with 3 strikes.
+ phil235:
+ - tweak: Telecom machines are now deconstructed the same way as all other constructable
+ machines.
+ - tweak: You can no longer overdose on nicotine but you can get addicted (very mild
+ effects).
+2015-04-29:
+ AndroidSFV:
+ - tweak: Dehydrated carp now are friendly to both the imprinter of the plushie as
+ well as any coded-in allies (I.E. Nuke Ops team), and unfriendly to carp of
+ other origin othan than yourself or your coded-in allies. Dehydrated carp that
+ are not imprinted will still have the same behavior as regular carp.
+ AnturK:
+ - rscadd: Advanced cameras now have all functionality of the abductor consoles.
+ - tweak: Pinpoint teleportation takes 8 seconds and spawns a flashy silhouette at
+ the target location. Can be used as distraction since it appears even if teleporter
+ is empty.
+ - bugfix: Abductors are now immune to viruses.
+ - bugfix: Dissection surgery ignores clothes.
+ - bugfix: Non-abductors can escape the ship by fiddling with consoles enough.
+ - rscadd: Three new negative glands.
+ - rscadd: Bloody glands spray blood everywhere and injure the host.
+ - rscadd: Bodysnatch glands turn the host into a cocoon that hatches doppelgangers.
+ - rscadd: Plasma glands cause the host to explode into a cloud of plasma.
+ GoonOnMoon:
+ - rscadd: Added a new assault rifle to the game for use by Nanotrasen fighting forces
+ in special events. Also happens to be available in the Liberation Station vending
+ machine and the summon guns spell usable by the wizard and badminnery.
+ Iamgoofball:
+ - rscdel: Acid blob has been removed.
+ - tweak: Charcoal and Silver Sulf are more powerful now.
+ - tweak: Styptic power and Silver Sulf metabolize at the default rate.
+ Ikarrus:
+ - rscadd: Spraycans and crayons can now draw Poseur Tags, aka Fake Gang Tags, as
+ grafiti.
+ - tweak: Influence income changed to provide weaker gangs a bigger boost, while
+ slowing down stronger gangs to promote opportunity for comebacks.
+ - tweak: Gangs only earn influence on territories they have held on to since the
+ previous Status Report (the income calculation every 5 minutes). This places
+ more significance on defending your existing territory.
+ - bugfix: You must be in the territory physically to tag it now. So no more tagging
+ everything from maint.
+ - tweak: Gang income delay reduced to 3 minutes intervals.
+ - tweak: Gang Capture goal reduced to 50%
+ - tweak: Gang spraycan use increased to 20
+ - tweak: Gang Boss icon is now a red [G] icon to make it stand out better from regular
+ gang icons
+ JJRcop:
+ - tweak: TED's kill duration has been halved.
+ - tweak: Escaping from the TED's field no longer kills you.
+ RemieRichards:
+ - rscadd: Adds Easels and canvases for custom drawings.
+ - imageadd: Place a canvas on an easel and draw on it with crayons, clean one pixel
+ with a rag or soap and activate it in-hand to erase the whole canvas.
+ - rscadd: Ports VG's Ventcrawling overhaul!
+ - tweak: Crawling through vents is no longer instant, you now have to move and navigate
+ manually
+ - rscadd: While inside pipes and other atmos machinery, you now see pipe vision
+ phil235:
+ - bugfix: Podplants are no longer unharvestable.
+ - tweak: Choosing your clown, mime, cyborg and AI name as well as religion and deity
+ is now done in the preferences window. As a chaplain , your bible's icon is
+ now chosen by clicking the bible.
+2015-04-30:
+ Fayrik:
+ - rscadd: Ported NanoUI to most atmospherics equipment.
+ TheVekter:
+ - tweak: Hooch is now made with 2 parts Ethanol, 1 part Welder fuel and 1 part Universal
+ Enzyme as a catalyst.
+ - tweak: No-slip shoes are paintable, painting them doesn't remove no-slip properties.
diff --git a/html/changelogs/archive/2015-05.yml b/html/changelogs/archive/2015-05.yml
new file mode 100644
index 0000000000..107d2e8572
--- /dev/null
+++ b/html/changelogs/archive/2015-05.yml
@@ -0,0 +1,228 @@
+2015-05-01:
+ Ikarrus:
+ - rscadd: Gang bosses can now rally their gang to their location with their gangtool.
+ - rscadd: Gangtools can no longer recall the shuttle if station integrity is lower
+ than 70%
+ - rscdel: Removed requirement to be in the territory to tag it.
+ - tweak: Recruitment Pen cost reduced to 40.
+ - bugfix: Communications console should now accurately print the (lack of a) location
+ of the last shuttle call.
+ Xhuis:
+ - rscdel: Revenants will no longer spawn without admin intervention. They are pending
+ a remake.
+2015-05-02:
+ Boggart:
+ - bugfix: Cryo tubes can no longer be used for ventcrawling.
+ Ikarrus:
+ - rscadd: Admins can choose the strength and size of Centcom teams to send, ranging
+ from officials to deathsquads, with the 'Make Centcom Respone Team' button.
+ phil235:
+ - tweak: Space carps can no longer knock down anyone, but they now deal additional
+ stamina damage to humans.
+ - tweak: Radiation effects from uranium walls are nerfed to the level of uranium
+ floor.
+ - rscadd: You can no longer put an inactive MMI in a cyborg shell. Ghosted brains
+ now get an alert when someone puts their brain in a MMI. You can now examine
+ the MMI to see if its brain is active.
+2015-05-03:
+ AnturK:
+ - rscadd: Abductors can purchase spare gear with experimentation points.
+ Ikarrus:
+ - rscadd: Admins can now adjust the pre-game delay time.
+ MrStonedOne:
+ - experiment: MasterController and subsystem rejiggering!
+ - rscadd: The MC can now dynamcially change the rate a subsystem is triggered based
+ on how laggy it's being. This has been applied to atmos to allow for faster
+ air processing without lagging the server
+ - tweak: Pipes and atmos machinery now processes in tune with air, rather than seperately.
+ - bugfix: Fixed hotspots and fire causing more lag than they needed to
+ - bugfix: Fixed some objects not getting garbage collected because they didn't properly
+ clear references in Destory()
+ - tweak: The qdel subsystem will now limit its processing time to a 5th of a second
+ each tick to prevent lag when a lot of deletes happen
+ - bugfix: Fixed the ticker not showing a tip of the round if an admin forces the
+ round to start immediately
+2015-05-04:
+ Firecage:
+ - bugfix: Emagged windoors can now be deconstructed.
+ RemieRichards:
+ - rscadd: Adds Plasmamen, a species that breathes plasma and bursts into flames
+ if they don't wear special suits.
+ - imageadd: New burning icon for all humanoid mobs.
+ - imageadd: New sprite for Skeletons to match Plasmamen.
+ oranges:
+ - tweak: Thanks to recent advances in fork science, you no longer need to aim at
+ your eyes to eat the food off a fork
+ xxalpha:
+ - rscadd: 'Adds a new barsign: ''The Net''.'
+2015-05-05:
+ Firecage:
+ - bugfix: Golems and skeletons no longer fall over when stepping on shards.
+ Gun Hog:
+ - bugfix: Mining borg diamond drill upgrade now functional.
+ Ikarrus:
+ - tweak: Doubled the initial charge of SMESs in Engineering.
+ - tweak: Influence cap for gangs has been increased.
+ incoming5643:
+ - bugfix: All modes now select their antagonists before job selection, this means
+ that a player who prefers roles normally immune to being certain antagonists
+ (implanted roles/silicons) can still have a fair shot at every antagonist roll
+ they opt into. If they're selected they simply will not end up with an incompatible
+ job.
+ - bugfix: As an example if someone loved to play Head of Security (humor me here)
+ and had it set to high, and the only other jobs he had set were security officer
+ at medium and botanist at low but he was selected to be a traitor, he would
+ spawn as a botanist even if there ended up being no Head of Security.
+ - experiment: Please give playing security another chance if you'd written it off
+ because it affected your antag chances.
+ xxalpha:
+ - bugfix: Hulks can now break windoors.
+ - bugfix: Fixed smoking pipe messages. Fixed emptying a smoking pipe with nothing
+ in it.
+2015-05-06:
+ Jordie0608:
+ - bugfix: Borgs can now open lockers with the 'Toggle Open' verb.
+ Thunder12345:
+ - bugfix: Severed the cryo tube's connection to the spirit world. Ghosts will no
+ longer be able to eject people from cryo. Please report further instances of
+ poltergeist activity to your local exorcist.
+ Xhuis:
+ - tweak: Many minor technical changes have been made to cult.
+ - rscadd: Cultist communications now show the name of the person using them. Emergency
+ communications do not do this.
+ - rscadd: Emergency communication does less damage.
+ xxalpha:
+ - rscadd: Engineering cyborgs can now pick their cable coil color whenever they
+ want.
+2015-05-07:
+ Xhuis:
+ - rscadd: Emagged defibrillators will now do burn damage and stop the patient's
+ heart if used in harm intent.
+ - tweak: The previous stunning functionality of the emagged defibrillator has been
+ moved to disarm intent.
+ phil235:
+ - tweak: Temperature effects from frost oil and capsaicin reagents and basilisk
+ have been buffed to be significant again.
+ xxalpha:
+ - tweak: Hulks can now break windoors.
+2015-05-08:
+ Firecage:
+ - tweak: Mobs can now be buckled to operating tables.
+ Gun Hog:
+ - rscadd: 'Top scientists at Nanotrasen have made strong progress in Artificial
+ Intelligence technology, and have completed a design for replicating a human
+ mind: Positronic Brains. Prototypes produced on your research station should
+ be compatible with all Man-Machine Interface compliant machines, be it Mechs,
+ AIs, and even Cyborg bodies. Please note that Cyborgs created from artificial
+ brains are called Androids.'
+ - tweak: The pAI role preference and related jobbans have been renamed to properly
+ reflect that they are not soley for pAI, but include drones and positroinc prains.
+ astralenigma:
+ - tweak: Cargo packages are now delivered with their manifests taped to the outside.
+ Click on them with an open hand to remove them.
+ optimumtact:
+ - tweak: Machine frame and girder deconstruction now uses a screwdriver instead
+ of welding tool.
+2015-05-09:
+ Firecage:
+ - tweak: Increased the manifestation chance of super powers.
+ Ikarrus:
+ - experiment: 'Loyalty implants will no longer survive deconverting a gangster.
+ Security now needs to use two of them if they want the permanent effects: The
+ first to deconvert them, and the second to make them loyal.'
+ KorPhaeron:
+ - tweak: Slime mutation chance now starts at 30%.
+ - rscadd: Baby slimes have a -5% to 5% difference of their parent's mutation chance,
+ allowing you to breed slimes that are more likely to mutate.
+ - rscdel: Plasma and epinephrine no longer affect mutation chance of slimes.
+ - rscadd: Red slime extract and plasma makes a potion that can increase mutation
+ chance, Blue slime extract and plasma potions will decrease it.
+2015-05-10:
+ AnturK:
+ - bugfix: Fixed borg's cells draining much faster than they're meant to.
+ Gun Hog:
+ - tweak: Station bot performance greatly increased.
+ - rscadd: Captain PDA cartridge now includes nearly all utilities and functions,
+ including signaller and all bots! HoP now has janitor and quartermaster functions!
+ The RD and Roboticists now have access to Floor, Clean, and Medibots!
+ - tweak: Bot access on PDA is now one button across all PDAs. You will only see
+ what bots you can access, however.
+ - rscadd: Cartridges that include a signaller have been improved so they will work
+ on a larger frequency range.
+ - tweak: All bots now have Robotics access, so they may be set to patrol and released
+ once constructed.
+ - tweak: Roboticists now have access to bot navigation beacons. They are found under
+ the floor tiles as patrol route nodes.
+2015-05-11:
+ Firecage:
+ - imageadd: New icons for Industrial and Experimental welding tools.
+ Gun Hog:
+ - rscdel: The power mechanic for mining drills and the jackhammer has been removed.
+ They no longer require cells or recharging.
+ - bugfix: The diamond drill upgrade for mining cyborgs has been fixed.
+ Xhuis:
+ - rscadd: Adds the pneumatic cannon, attach an air tank and shoot anything out of
+ it.
+ - rscadd: Improvised pneumatic cannons can be tablecrafted with a wrench, 4 metal,
+ 2 pipes, a pipe manifold, a pipe valve and 8 package wrappers.
+ spasticVerbalizer:
+ - bugfix: False walls no longer stackable.
+2015-05-13:
+ Firecage:
+ - rscadd: Kudzu is now admin-logged in Investigate.
+ GunHog:
+ - tweak: Positronic brains are now entered by clicking on an empty one, in the same
+ manner as drones.
+ - rscadd: Ghosts are alerted when a new posibrain is made.
+ Jordie0608:
+ - rscadd: Borg reagent containers (beakers, spraybottles, shakers etc.) are no longer
+ emptied when stowed.
+ - bugfix: Fixes North and West Mining Outposts having empty SMESs.
+ - bugfix: Aliens and slimes can smash metal foam again.
+ - rscdel: Deconstructing reinforced walls no longer creates additional rods out
+ of nowhere.
+ - imageadd: Pepperspray now has inhand sprites.
+ Xhuis:
+ - bugfix: Fixes the recipe for pneumatic cannons; it now only requires a wrench,
+ 4 metal, 2 pipes and 8 package wrappers .
+2015-05-15:
+ xxalpha:
+ - bugfix: Fixed emitter beams not being reflectable.
+2015-05-16:
+ MartiUK:
+ - bugfix: Fixed a typo when cleaning a Microwave.
+ - bugfix: Fixed a typo when burning someone with a lighter.
+2015-05-20:
+ xxalpha:
+ - rscadd: Added three drone shells to the derelict.
+2015-05-22:
+ Jordie0608:
+ - tweak: Smothering someone with a damp rag when in harm intent will apply reagents
+ onto them, for acid-burning their face; otherwise it will inject them, for drugging
+ with chloral hydrate.
+ - imageadd: The healthdoll is now blue when at full health to make it more clear
+ when a body part is injured.
+2015-05-25:
+ spasticVerbalizer:
+ - tweak: Glass airlocks can now be made heat-proof by using a sheet of reinforced
+ glass to create the window, regular glass creates a normal glass airlock.
+ xxalpha:
+ - bugfix: You can no longer drop items inside mechas nor machinery (this includes
+ gas pipes, disposal pipes, cryopods, sleepers, etc.).
+ - bugfix: Fixed exploit of changelings being able to keep thermal vision after resetting
+ their powers.
+ - bugfix: Fixed being able to implant NODROP items with cavity implant surgery.
+2015-05-26:
+ CosmicScientist:
+ - spellcheck: Corrected wording for the pAI, donksoft riot darts and some tip of
+ the round tips.
+ xxalpha:
+ - bugfix: Fixed changeling revival.
+2015-05-30:
+ duncathan:
+ - bugfix: Fixes passive gates not auto-coloring.
+ spasticVerbalizer:
+ - tweak: Players trying to speak but unable to will now get a message.
+2015-05-31:
+ duncathan:
+ - tweak: Clarified the ability to retract changeling armblades.
diff --git a/html/changelogs/archive/2015-06.yml b/html/changelogs/archive/2015-06.yml
new file mode 100644
index 0000000000..703b141606
--- /dev/null
+++ b/html/changelogs/archive/2015-06.yml
@@ -0,0 +1,421 @@
+2015-06-04:
+ Cuboos:
+ - rscadd: Added casting and firing sounds for wizard spells and staves.
+ - rscadd: A new title theme has been added.
+ Gun Hog:
+ - rscadd: Nanotrasen has approved the designs for destination taggers and hand labelers
+ in the autolathe.
+ Palpatine213:
+ - tweak: Allows sechuds to have their id locks removed via emag as well as EMP
+2015-06-05:
+ CandyClown:
+ - tweak: Ointments, bruise packs, and gauze are now stacked to 6 instead of 5.
+ CorruptComputer:
+ - bugfix: Security lockers no longer spawn in front of each other on Box.
+ - bugfix: Hooked up the scrubbers in QM's office on Box.
+ - bugfix: Fixed bar disposals on Box
+ - bugfix: Fixed the stacked heater+freezer in expirementor maint on Box
+ - tweak: Made the turbine into Atmos and Engineering access only, and renamed the
+ doors to Turbine on Box.
+ Ikarrus:
+ - rscadd: Gang Bosses will now be able to discreetly send messages to everyone in
+ their gang for 5 influence a message.
+ - tweak: Conversion pens now use a flat 60sec cooldown rate.
+ KorPhaeron:
+ - rscadd: You can now lay tiles on the asteroid. Go nuts building forts.
+2015-06-06:
+ Incoming5643:
+ - rscadd: Antagonists with escape alone can now escape with others on the shuttle,
+ so long as they are also antagonists.
+ - rscadd: Antagonists with escape alone can also win if non-antagonists are on the
+ shuttle provided they are locked in the brig.
+ - rscadd: Escaping to syndicate space on board the nuke op shuttle is now a valid
+ way to escape the station.
+ Jordie0608:
+ - rscadd: Admin-delaying the round now works once it has finished.
+2015-06-07:
+ Aranclanos:
+ - rscadd: Malfunctioning AIs can preview placement of a Robotic Factory.
+ Iamgoofball:
+ - rscadd: Bicardine, Dexalin, Kelotane, Anti-toxin, Inaprovaline and Tricordrazine
+ have been re-added.
+ RemieRichards:
+ - rscadd: Lizards can now wag their tails, emote *wag to start and *stopwag to stop.
+ kingofkosmos:
+ - tweak: Mops can now be wet from normal buckets and sinks.
+2015-06-08:
+ AnturK:
+ - imageadd: Improved the interface of Spellbooks.
+ Cheridan:
+ - tweak: Push-force from Atmospherics now depends on an entity's weight, heavier
+ objects are less prone to being pushed.
+ - rscadd: Magboots and No-Slip shoes now prevent pushing from spacewind.
+ Firecage:
+ - rscadd: Protolathes can now build Experimental Welding Tools.
+2015-06-09:
+ Aranclanos:
+ - wip: Structures and machines can now be built on shuttles.
+ Iamgoofball:
+ - rscadd: 'Adds the Bluespace Rapid Part Exchange Device: holds up to 400 stock
+ parts and can be used to upgrade machines at range without needing to open their
+ maintenance panel.'
+ - rscadd: A new tier of stock parts have been added, they're very expensive to produce
+ but provide ample improvements.
+ - experiment: Many machines can now also be upgraded.
+ - tweak: 'Emitter: Lasers decrease firing delay and Capacitors decrease power consumption.'
+ - tweak: 'Gibber: Matter Bins increase yield of meat and Manipulators speed up operation
+ time, at high level can gib creatures with clothes.'
+ - tweak: 'Seed Extractor: Matter Bins increase storage and Manipulators multiply
+ seed production.'
+ - tweak: 'Monkey Recycler: Matter Bins increase the amount of monkey cubes produced
+ and Manipulators reduce the monkey-to-cubes ratio to a minimum of 1-to-1.'
+ - tweak: 'Crusher: Matter Bins increase material yield and Manipulators increase
+ chance to yield materials, at high level there is a chance for rarer materials.'
+ - tweak: 'Holopad: Capacitors increase an AI''s traversal range from the holopad.'
+ - tweak: 'Smartfridge: Matter Bins increase storage.'
+ - tweak: 'Processor: Matter Bins increase yield and Manipulators speed up operation
+ time.'
+ - tweak: 'Microwave: Matter Bins increase storage.'
+ - tweak: 'Ore Redemption Machine: Matter Bins increase yield per ore, Lasers increase
+ points per ore and Manipulators speed up operation time.'
+ - tweak: 'Hydroponics Tray: Manipulators improve water and nutrients efficiency.'
+ - tweak: 'Biogenerator: Matter Bins increase storage.'
+ bananacreampie:
+ - rscadd: Added several new options to the ghostform sprites
+2015-06-11:
+ Cheridan:
+ - rscdel: Removes the powerdrain for individiual active modules on cyborgs.
+2015-06-12:
+ Ikarrus:
+ - experiment: Gang Updates
+ - rscadd: 'New objective: To win, Gangs must now buy a Dominator machine (50 influence)
+ and defend it for a varying time frame. * The location of the dominator is
+ broadcasted to the entire station the moment it is activated * The more territories
+ the gang controls, the less time it will take * Gangs no longer win by capturing
+ territories'
+ - rscadd: A choice of gang outfits are now purchasable for 1 influence each
+ - rscadd: Thompson SMGs aka "tommy guns" are now purchasable for 50 influence
+ - rscadd: Bulletproof armor vests are now purchasable for 10 influence
+ - tweak: Gang messages are now free to send
+ - tweak: Prices of pistols and pens reduced to 20 and 30, respectively
+ - tweak: Gang spraycans have been made a lot less obvious. They look nearly identical
+ to regular ones, now.
+ - rscdel: Gangs will no longer be notified how much territory the enemy controls
+ Incoming5643:
+ - rscadd: Growing tired of reports of slain members, the Wizard Federation has cautiously
+ sactioned the dark path of lichdom. Beware of the powerful lich who hides his
+ phylactery well, for he is immortal!
+ - rscadd: The trick to defeating liches is to destroy either their body or their
+ phylactery item before they can ressurect to it. The more a lich is slain the
+ longer it will take him to make use of his phylactery and the more likely the
+ crew is to catch him during a vunerable moment.
+ - rscremove: Due to the addition of proper liching, skeletons as a choosable race
+ from magic mirrors has been discontinued. My apologies to the powergamers. A
+ special admin version of the mirror that allows for skeletons has also been
+ added to the code.
+ Miauw:
+ - tweak: 'AIs have received several minor nerfs in order to increase antagonist
+ counterplay:'
+ - tweak: AI tracking is no longer instant, it takes an amount of time that increases
+ with distance from the AI eye, up to 4 seconds. The AI detector item will light
+ up when an AI begins tracking.
+ - tweak: A random camera failure event has been added, which will break one or two
+ random cameras.
+ - tweak: You can no longer keep tracking people that are outside of your camera
+ vision.
+ - tweak: Camera wires have been removed. Screwdriver a camera to open the panel,
+ then use wirecutters to disable it or a multitool to change the focus.
+ - tweak: You can now hit cameras with items to break them. To repair a camera, simply
+ open the panel and use wirecutters on it.
+ - tweak: Camera alerts now only happen after a camera is reactivated.
+ RemieRichards:
+ - rscadd: New optional explosion effect ported from /vg/'s DeityLink, Explosions
+ that are affected by Walls and Doors
+2015-06-14:
+ Ikarrus:
+ - rscadd: White suits added to gang outfits
+ - tweak: Gang outfits are now free, but are now limited in stock (that replenishes
+ over time)
+ - tweak: While attempting a Hostile Takeover, gangs do not gain influence. Instead,
+ the takeover timer will be reduced by how many territories they control.
+ - tweak: Spraycan cost reduced to 5 influence.
+ - tweak: Recruitment Pen cooldown increased to 2 minutes, but is reduced if the
+ enemy gang has more members than yours.
+ - tweak: Tommy guns no longer deal stamina damage.
+ - rscdel: Gangtools can no longer recall the shuttle if the game mode is not Gang
+ War
+2015-06-15:
+ Incoming5643:
+ - rscadd: Lizards can now choose from a wide varity of physical appearances in character
+ creation! Sprites made by WJohn. Hiss Responsibly.
+ Kor:
+ - rscadd: A terrible new creature stalks the halls of SS13.
+ - rscadd: The wizard has a new artefact related to said creature.
+ - rscadd: Added a new sepia slime plasma reaction. Try it out!
+ spasticVerbalizer:
+ - bugfix: Drones can now properly quick-equip.
+2015-06-18:
+ AnturK:
+ - rscadd: Added new photo-over-pda function. Apply the photo to PDA to send it with
+ your next message!
+ Ikarrus:
+ - rscadd: Department Management consoles have been added to Head of Staff offices.
+ These will enable heads to modify ID's access to their department, as well as
+ preform demotions.
+ Miauw:
+ - tweak: Bullets can now damage cameras.
+ - tweak: Camera alarms now trigger 90 seconds after the first EMP pulse, instead
+ of when all EMP pulses run out.
+ - tweak: Makes the force required to damage cameras greater than or equal to ten
+ instead of greater than ten.
+ - tweak: Camera alarms now trigger when cameras are disabled with brute force or
+ bullets.
+ Xhuis:
+ - rscadd: Nanotrasen scientists have determined that a delaminating supermatter
+ shard combining with a gravitational singularity is an extremely bad idea. They
+ advise keeping the two as far apart as possible.
+ phil235:
+ - rscdel: Nerfed the xray gun. Its range is now 15 tiles.
+2015-06-20:
+ Dorsisdwarf:
+ - tweak: Syndicate Bulldog Shotguns now use slug ammo instead of buckshot by default
+ - rscadd: Nuke Ops can now buy team grab-bags of bulldog ammo at a discount.
+ Ikarrus:
+ - rscadd: Wearing your gang's outfit now increases influence and shortens takeover
+ time faster.
+ - rscadd: Added several more options for gang outfits
+ - rscadd: Pinpointers will now point at active dominators.
+ - tweak: Gang outfits are now slightly armored
+ - tweak: Gang tags are now named 'graffiti' to make them harder to detect
+ - tweak: Initial takeover timer is now capped at 5 minutes (50% control)
+ - tweak: 'Server Operators: The default Delta Alert texts have changed. Please check
+ if your game_options.txt is up to date.'
+ - rscdel: Loyalty implants now treat gangs as it treats cultists. Implants can no
+ longer deconvert gangsters, but it can still prevent recruitments.
+ - tweak: Replaced tommy guns with 9mm 2-burst 32 mag uzis that costs 40 influence.
+ Unlike tommy guns gangs will be able to purchase ammo for uzis.
+ Jordie0608:
+ - tweak: 'For Admins: Jump-to-Mob (JMP) notification command replaced with Follow
+ (FLW).'
+ - rscadd: Message and Follow links added to many notifications.
+ - rscadd: New buttons to toggle nuke and set security level.
+ - spellcheck: Flamethrowers are logged in attack_log.
+ Thunder12345:
+ - rscadd: Combat shotguns are now semi automatic, and will be pumped automatically
+ after firing.
+ - tweak: Combat shotgun capacity has been reduced to six shells.
+ Xhuis:
+ - rscadd: You will now trip over securitrons if you run over them whilst they are
+ chasing a target.
+ - rscadd: An admin-spawnable drone dispenser has been added that will automatically
+ create drone shells when supplied with materials.
+ - rscadd: Airlock charges are available to traitors and will cause a lethal explosion
+ on the next person to open the door.
+ - rscadd: Nuclear operatives can now buy drum magazines for their Bulldog shotguns
+ filled with lethal poison-filled darts.
+ - rscadd: When a malfunctioning AI declares Delta, all blue tiles in its core will
+ begin flashing red.
+ - rscadd: Back-worn cloaks have been added for all heads except the HoP. LARPers
+ rejoice!
+ - rscadd: More suicide messages have been added for a few items.
+2015-06-21:
+ GunHog:
+ - tweak: The Hostile Lockdown ability for Malfunctioning AIs has been nerfed. It
+ now costs 30 CPU, is much more obvious, and automatically resets in 90 seconds.
+ - tweak: Buffed the Upgrade Turrets Malfunction ability. Turrets will now fire heavy
+ lasers instead of simply shooting faster.
+ - rscadd: Nanotrasen has released an Artificial Intelligence firmware upgrade under
+ the ID 41ST0L3MYB1K3. It contains drivers for interacting with all variants
+ of exosuit technology, from the Ripley APLU design to even experimental Phazon
+ units. Simply upload your AI to the exosuit's internal computer via the InteliCard
+ device. Per safety regulations, the exosuit must have maintenance protocols
+ enabled in order to remove an AI from it.
+ - rscadd: Malfunctioning AIs may wirelessly steal mechs via a new power, Mech Domination.
+ For 30 CPU, a Malf AI may permanently upload itself to a mech, ejecting any
+ pilots. Malf AIs will still lose if they leave the Z-level, and the Malf will
+ be gibbed if the mech is destroyed - they cannot be carded out of the mech or
+ shunt to an APC.
+ Iamgoofball:
+ - rscdel: Blobs can no longer have Morphine as their chemical.
+ duncathan:
+ - tweak: Heat exchangers now update their color to match that of the pipe connected
+ to them.
+ - tweak: Heat exchangers are on longer dense.
+2015-06-22:
+ Iamgoofball:
+ - rscdel: Removed failure chance and delay when emagging an APC.
+ KorPhaeron:
+ - tweak: Rebalanced armor to be less effective, reducing the melee, bullet and/or
+ laser damage reduction of all armor suits.
+ LaharlMontogmmery:
+ - rscadd: You can now click and drag a storage container to empty it's contents
+ into another container, disposal bin or floor tile.
+ Xhuis:
+ - experiment: Revenants have received a considerable overhaul.
+ - rscadd: Revenants will no longer share spawn points with space carp and will spawn
+ in locations like the morgue and prisoner transfer center.
+ - rscadd: Revenants can no longer cross tiles covered in holy water.
+ - rscadd: Revenants have a new ability called Defile for 30E. It will cause robots
+ to malfunction, holy water over tiles to evaporate, and a few other effects.
+ - rscadd: Upon death, revenants will appear and play a sound before rapidly fading
+ away and leaving behind glimmering residue as evidence of their demise.
+ - rscadd: This residue lingers with the essence of the revenant. If left unattended,
+ it may reform into a new revenant. Simply scattering it is enough to stop this,
+ but it also has high research levels.
+ - rscadd: Revenants now have fluff objectives as well as a set essence goal.
+ - tweak: Revenanants will be revealed for longer when using abilities and also receive
+ feedback on this revealing.
+ - tweak: Revenants can now only spawn via random event with a specific amount of
+ dead mobs on the station. The default for this is 10.
+ - bugfix: Revenants can no longer use abilities from inside walls.
+ - rscdel: Directly lethal abilities have been removed from revenants. In addition,
+ they can no longer harvest unconscious people, only the dead.
+2015-06-23:
+ Fayrik:
+ - rscadd: NanoUI is now Telekenesis aware, but due to other constraints, NanoUI
+ interfaces are read only at a distance.
+ - tweak: Refactored all NanoUI interfaces to use a more universal proc.
+ - tweak: Adjusted the refresh time of the NanoUI SubSystem. All interfaces will
+ update less, but register mouse clicks faster.
+ - bugfix: Removed automatic updates on atmospheric pumps, canisters and tanks, making
+ them respond to button clicks much faster.
+ - bugfix: Atmos alarm reset buttons work now. Probably.
+ Iamgoofball:
+ - rscadd: Adds a progress bar when performing actions.
+ Ikarrus:
+ - rscadd: New gang names with tags created by Joan
+ - rscadd: C4 explosive can be purchased by gangs for 10 influence.
+ - tweak: Recruitment pen cost increased to 50.
+ - rscadd: Lieutenants recieve one free recruitment pen.
+ - tweak: Recruitment pens are now stealthy and no longer give a tiny prick message.
+ - tweak: Increased chance of deconversion with head trauma
+ - tweak: Recalling the shuttle now takes about a minute to work, during which you
+ won't be able to use your gangtool.
+ - rscadd: Pinpointers no longer point at dominators. Instead, dominators will beep
+ while active.
+ - rscadd: Added puffer jackets and vests.
+ - tweak: Increased gang outfit armor. It is moderately resistant to bullets now.
+ - rscdel: Removed bulletproof vests from gangtool menu.
+ Jordie0608:
+ - rscadd: Admins can now flag ckeys to be alerted when they connect to the server.
+ MrStonedOne:
+ - rscadd: Admins can now reject poor adminhelps. This will tell the player how to
+ construct a useful adminhelp and give them back their adminhelp verb
+ RemieRichards:
+ - tweak: Cumulative armour damage resistance is now capped at 90%, you will now
+ always take at bare minimum, 10% of the incoming damage.
+ - rscadd: Added a system for Armour Penetration to items, it works by temporarily
+ (It does NOT damage the armour or anything) reducing the armour values by the
+ AP value during the attack instance.
+ - rscadd: 'The formula for AP is Armour-ArmourPenetration = AdjustedArmour and AdjustedArmour
+ is used for all the remaining calculations instead of Armour (Eg: 80 Melee -
+ 15 AP = 65 Melee).'
+ - rscadd: The Ninja's Energy Katana has 15 AP, Xenomorphs have an inbuilt AP of
+ 10.
+ - tweak: You can now unwrench pipes who's internal pressures are greater than that
+ of their environment...
+ - rscadd: However it will throw you away from the pipe at extreme speed! (You are
+ warned beforehand if the pipe will do this, allowing you to cancel)
+ Vekter:
+ - bugfix: Finally fixed immovable rods! They will now properly bisect the station
+ (and crit anyone unlucky enough to be in their path).
+ - tweak: Increased Meteor activity detected in the vicinity of the station. Be advised
+ that many storms may be more violent than they once were.
+ - rscadd: Gravitational anomalies will now throw items at mobs in their vicinity.
+ Take care while scanning them.
+ - rscadd: Flux anomalies explode much more violently now. Get there and destroy
+ them, or risk losing half a department.
+ xxalpha:
+ - rscadd: 'Added a new Reviver implant: now it revives you from unconsciousness
+ rather than death.'
+ - rscadd: Added cybernetic implants and a cybernetic implants bundle to the Nuke
+ Ops uplink.
+ - bugfix: Fixed Nutriment pump implant printing.
+ - tweak: Health Analyzers now have the ability to detect cybernetic implants.
+ - tweak: X-Ray implants are now much harder to unlock.
+2015-06-24:
+ Ikarrus:
+ - rscadd: Request Console message sent to major departments will now be broadcasted
+ on that department's radio.
+ - rscadd: Request Consoles can be used to quicly declare a security, medical, or
+ engineering emergency.
+2015-06-25:
+ Iamgoofball:
+ - rscadd: Changes up how Explosive Implants work.
+ - rscadd: They have become Microbomb Implants. They cost 1 TC each. Each implant
+ you inject increases the size of the explosion. You gib on usage, regardless
+ of explosion size.
+ - rscadd: A Macrobomb implant was added for 20 TC. It is the equivalent of injecting
+ 20 microbombs.
+ - rscadd: Nuke Ops start with microbomb implants again.
+2015-06-26:
+ Ikarrus:
+ - imageadd: Added a couple of new gang tag resprites by Joan.
+ Kor:
+ - tweak: Summon Guns has returned to its former glory. The spell will once again
+ create antagonists, now with the objective to steal as many guns as possible.
+ - tweak: Summon Guns once again costs a spell point, rather than granting one.
+ phil235:
+ - tweak: Buffs traitor stimpack (and adrenalin implant) to be more efficient against
+ stuns/knockdowns.
+ pudl:
+ - rscadd: You can now play games of mastermind to unlock abandoned crates found
+ throughout space.
+2015-06-27:
+ Ikarrus:
+ - rscadd: Some objects can be burned now.
+ - rscadd: Bombs will shred your clothes, with respect to their layering and armor
+ values. Exterior clothing will shield clothing underneath. Storage items will
+ drop their contents when bombed this way.
+ Laharl Montogmmery:
+ - rscadd: 'Storage Content Transfer : Bluespace Boogaloo! You can now transfer the
+ content of the BoH/BRPED into tiles/bins/bags out of your reach. Range is 7
+ tiles.'
+ MrStonedOne:
+ - tweak: Admins will now receive a notification when one of them starts to reply
+ to an adminhelp to cut down on multiple responses to adminhelps and let admins
+ know when an adminhelp isn't getting replied to.
+ - rscadd: The keyword finder in admin helps (adds a (?) link next to player names
+ in the text of adminhelps) has been added for all player to admin pms, as well
+ as admin say.
+ NullQuery:
+ - wip: Introduces html_interface, a module to streamline the management of browser
+ windows.
+ - rscadd: Adds playing cards that utilize a new HTML window management system.
+ Vekter:
+ - rscadd: Added a new military jacket to the Autodrobe and ClothesMate.
+2015-06-28:
+ Ikarrus:
+ - rscadd: Gang Lieutenants can buy gang tools now, but at a higher cost than the
+ original boss
+ - rscadd: Gang leaders can register additional gangtools to themselves for use as
+ spares.
+ - tweak: Number of maximum lieutenants lowered to 2
+ - tweak: Pistol cost increased to 25 influence
+ - tweak: Uzi cost increased to 50 influence
+ - tweak: Uzi Ammo decreased to 20 influence
+ - rscadd: Overcoats added to items the biogenerator can produce.
+ - rscdel: Micro and Macro bomb implants are now restricted to the Nuclear game mode.
+ phil235:
+ - tweak: Smoke (and foam) no longer distribute more reagents than they have. The
+ amount of clouds in a smoke now depends on the amount of smoke created. Acid
+ no longer melts items on a mob at low volume, and the chances to melt them increases
+ with the amount applied on the mob. Sprays can now contain acid again.
+2015-06-29:
+ Ikarrus:
+ - rscadd: Clothing has been separated out of equipment lockers into wardrobes to
+ reduce clutter.
+ Incoming5643:
+ - rscadd: The secrets of the rainbow slimes have finally been revealed. To attain
+ this rare blob you must breed a slime with a 100% mutation chance!
+ - rscadd: Rainbow slime cores will generate a randomly colored slime when injected
+ with plasma. It's a good plan B if the slimes aren't cooperating in terms of
+ colors. You can get any color slime this way, pray to the RNG!
+ Xhuis:
+ - rscadd: The Sleeping Carp clan has made its presence known on Space Station 13.
+ Some gangs will name themselves after this group and practice martial arts rather
+ than using traditional gang weaponry. These shadowboxers are not to be taken
+ lightly.
+ oranges:
+ - tweak: Thanks to a breakthrough in directed vector thrusting, all nanotrasen brand
+ jetpacks have been greatly improved in speed and handling
diff --git a/html/changelogs/archive/2015-07.yml b/html/changelogs/archive/2015-07.yml
new file mode 100644
index 0000000000..55e0ac120d
--- /dev/null
+++ b/html/changelogs/archive/2015-07.yml
@@ -0,0 +1,418 @@
+2015-07-01:
+ Ikarrus:
+ - rscadd: Multiple gang leaders are spawned at round start, the number which depends
+ on server population
+ - rscdel: Gangsters can no longer be promoted mid-game.
+ - rscadd: Security can once again deconvert gangsters with loyalty implants
+ - rscadd: Added an Implant Breaker item to the gangtool as a purchasable item for
+ 10 influence each * They are a one-use item that destroys all implants in
+ the target, including loyalty implants * They will also attempt to recruit
+ the target before destroying itself
+ - rscdel: Implanters no longer work if the target is wearing headgear. Remove them
+ first.
+ NullQuery:
+ - tweak: The crew monitoring computer, AI crew monitoring popup and the handheld
+ crew monitor now update automatically.
+ - tweak: 'Crew monitoring: The health information has been turned into a health
+ indicator. It goes from green to red. Hovering over the icon shows detailed
+ information (if available).'
+ - tweak: 'Crew monitoring: The location coordinates have been hidden. You can see
+ them by hovering over the ''Location'' column.'
+ - rscadd: 'Crew monitoring: A minimap has been added so you can easily see where
+ people are.'
+ - tweak: 'Crew monitoring: Players who are not in range of a camera are not shown
+ on the minimap.'
+ - tweak: 'Crew monitoring: AI players can quickly move to other locations or track
+ players by clicking the minimap or items in the table.'
+ - tweak: 'Crew monitoring: For AI players, health information always shows a white
+ indicator instead of green-to-red. This is a deliberate limitation to prevent
+ the AI from becoming too omnipresent.'
+ phil235:
+ - tweak: Space drug overdose no longer cause brute/brain damage but you hallucinate
+ more. Space Drug Blob now makes you hallucinate even if you don't overdose on
+ its space drug.
+ xxalpha:
+ - rscadd: 'Added a new traitor objective: steal the station''s self-destruct nuke
+ plutonium core.'
+2015-07-02:
+ Ikarrus:
+ - rscadd: Throwing reagent containers such as drinks or beakers may spill their
+ contents onto whatever they hit
+ - rscadd: Slipping while carrying items in your hand may cause ~accidents~
+ - tweak: Mounted and portable flashers can now only be burned out from overuse,
+ similar to flashes.
+ oranges:
+ - tweak: Thanks to department budget cuts we've had to remove the security cameras
+ built into officer helmets, Nanotrasen apologies for this inconvenience.
+2015-07-03:
+ Ikarrus:
+ - experiment: Added support for up to six gangs at a time. Admins may add additional
+ gangs to any round.
+ - experiment: Gang mode now has a chance to start with a third gang.
+ - rscadd: Promotion of lieutenants have been re-added
+ - rscadd: Every lieutenant promoted will lengthen the gang's recruitment cooldowns
+ by one minute.
+ - rscdel: Only gang bosses will be able to recall the shuttle from their gangtool.
+ - rscadd: A recruitment pen that has not been used for a while will accumilate charges,
+ so you are no longer punished for waiting to convert people.
+ - rscadd: Gangs are now fully functional outside of gang mode.
+ Ricotez:
+ - rscadd: 'Added two categories of mutant bodyparts for humans with the same system
+ that lizards use: ears and tails. Right now only admins can edit these.'
+ - rscadd: Updated the system that checks for which jobs your character qualifies
+ to be species-dependant. At this moment you won't notice any differences, but
+ in the future coders can use this to be more specific about which jobs a species
+ is allowed in under which circumstances.
+ - imageadd: 'Added one option to both categories, taken from the kitty ears: a cat
+ tail and cat ears.'
+ - rscadd: 'Added a new button to the VV menu drop-down list for admins: Toggle Purrbation.
+ Putting a human on purrbation will give them cat ears and a cat tail, and send
+ them the message ''You suddenly feel valid.'' Using the button a second time
+ removes the effects.'
+ - wip: 'Adding categories for tattoos and scars is in the works. (Read: I need sprites!)'
+ oranges:
+ - tweak: Engineers in nanotrasen's safety equipment department announced the release
+ of a new and improved version of the X25 taser trigger, previous triggers, which
+ suffered from a long line of misfire problems were recalled enmasse. Nanotrasen
+ refused to comment on rumours that the previous trigger design was the work
+ of a saboteur.
+2015-07-04:
+ Gun Hog:
+ - tweak: The Ore Redemption Machine now allows users to release minerals without
+ having to insert an ID first.
+ Ikarrus:
+ - bugfix: Fixed items that logically shouldn't spill, spilling their contents when
+ thrown
+ - bugfix: Fixed Bartender's non-spilling powers
+ - bugfix: Fixed thrown beakers not applying their contents onto floors
+ - bugfix: Fixed unable to transfer reagents between beakers you are holding
+ - bugfix: Fixed bombs shredding clothes that should have been protected by covering
+ clothes
+ - bugfix: Fixed gang mode.
+ MMMiracles:
+ - rscadd: Added patriotic underwear apparel due to the most god damn american holiday
+ being just around the corner.
+ - rscadd: Also adds some other stuff for those inferior countires too, I guess.
+2015-07-05:
+ AlexanderUlanH & Xhuis:
+ - rscadd: Shadowling Ascendants have a new ability to send messages to the world.
+ - bugfix: Glare now properly silences targets.
+ - bugfix: Veil now turns off held lights.
+ - tweak: Drain Thralls replaced with Drain Life, which targets all nearby humans.
+ - rscadd: Spatial Relocation replaced with Black Recuperation which lets you revive
+ a dead thrall every five minutes.
+ - rscdel: Removed Vortex.
+ - tweak: Shadowlings can now only enthrall five people before being forced to hatch;
+ Hatched shadowlings can continue to enthrall however non-hatched ones can't
+ pass the global limit.
+ - tweak: Enthralling sends a message to all nearby humans.
+ - tweak: Removed cooldown on Glacial Freeze.
+ Ikarrus:
+ - tweak: Reactive armor may now teleport user to space tiles. Be careful using it
+ around space.
+ Razharas:
+ - tweak: Firing pins can now be removed by tablecrafting a gun with a plasmacutter,
+ screwdriver and wirecutters.
+ RemieRichards:
+ - imageadd: Melee attacks with weapons now display and animation of the weapon over
+ the target.
+ - rscadd: Tablecrafting window now shows all recipies and has been split into categorized
+ tabs.
+ - rscdel: 30 item limit removed.
+ Sabbat:
+ - rscadd: Updated the cult armor rune to let you get additional equipment or abilities
+ based on what you're wearing or holding. Some nerfed versions of wizard spells
+ can be used by the cult in exchange for unique clothing, these spells require
+ the cult robes or armor in order to use. No armor choices are mandatory, you
+ will always have the option of the default choice.
+ - rscadd: Zealot - Default armor rune. If none of the required clothing is worn
+ this will be chosen automatically. Is the same as ever.
+ - rscadd: Summoner - If you are wearing the wizard robe and hat when using the armor
+ rune this choice will be available. User will receive magus robes and hat and
+ nerfed versions of the summon shard and summon shell spells.
+ - rscadd: Traveler - Available to people wearing EVA suit and helmet. Replaces the
+ EVA suit and helmet with the cult space suit and space helmet. Gives you a sword.
+ - rscadd: Marauder - Available to people wearing the captain's space suit and helmet.
+ Same as Traveler except user is given a spell of summon creature (two creatures).
+ They can and will attack the user.
+ - rscadd: Trickster - Available if wearing the RD's reactive teleport armor. Gives
+ you magus robes, a wand of doors, and a nerfed version of Blink.
+ - rscadd: Physician - Available if wearing the CMO's labcoat. Gives you a wand of
+ life.
+ TheVekter:
+ - rscadd: Ian now has a dog-bed in the HoP's office.
+ nukeop:
+ - rscadd: Uplinks now have a syndicate surgery bag containing surgery tools, a muzzle,
+ a straightjacket and a syndicate MMI.
+ - rscadd: Syndicate MMIs can only be placed in cyborgs to create an unlinked cyborg
+ with syndicate laws.
+2015-07-06:
+ Ikarrus:
+ - tweak: Increased Uzi SMG cost to 60 influence.
+ - tweak: Increased Uzi ammo cost to 40 influence.
+ - tweak: Domination attempt limit is reduced to 1 per gang while the shuttle is
+ docked with the station.
+ - tweak: Gang bosses can promote and recall the shuttle using spare gangtools
+ - bugfix: Fixed Gang bosses getting deconverted with head trauma
+ - rscadd: Lizard characters can now get random names unique from humans.
+2015-07-07:
+ Ikarrus:
+ - bugfix: Fixed bug where gang messages would occasionally fail to send.
+ - bugfix: Fixed bug that prevented implant breakers from recruiting security.
+ - tweak: Implanters are now only blocked by helmets with THICKMATERIAL
+ - rscdel: Light severity explosions no longer shred clothes.
+ MMMiracles:
+ - rscadd: Adds a new crate to cargo in the security section, for when desperate
+ times call for desperate measures.
+ NullQuery:
+ - bugfix: Crew monitoring computers now sort by department and rank again.
+ - tweak: 'Crew monitoring computer: Hovering over a dot on the minimap will now
+ jump to the appropriate entry in the table.'
+ - bugfix: sNPCs were given ID cards with blank assignments.
+2015-07-09:
+ AlexanderUlanH:
+ - rscadd: Riot Shotguns now spawn loaded with rubber pellet shells that deal high
+ stamina damage.
+ kingofkosmos:
+ - tweak: Both beakers and drinking glasses can now be be drunk from, fed to mobs
+ and splashed on mobs, turfs and most objects with harm intent.
+ nukeop:
+ - tweak: RCDs have a larger storage and can be loaded with glass, metal and plasteel.
+ - rscadd: Grilles and Windows can be made with an RCD.
+ - rscadd: Engi-Vend machine now has three RCDs.
+ - rscdel: Removed RCD as a steal objective.
+2015-07-10:
+ Ikarrus:
+ - rscadd: 'New Changeling Ability: False Armblade Sting. It creates an undroppable
+ armblade on the target temporarily. It will appear exactly like a real one,
+ except you can''t do anything with it.'
+ - tweak: Transform stings are no longer stealthy.
+2015-07-11:
+ Dorsidwarf:
+ - tweak: Due to a new Syndicate budget, uplink implants are now only 14 TC.
+ - tweak: In order to facilitate inter-agent communication, Syndicate Encryption
+ Keys have been reduced to 2TC. They retain the ability to intercept all channels
+ and speak on a private frequency.
+ Ikarrus:
+ - tweak: Robotic augmentations have been made a bit more difficult to maintain.
+2015-07-13:
+ Ikarrus:
+ - imageadd: Loyalty Implant HUD Icon has been updated.
+ duncathan:
+ - tweak: Greatly shortened the time it takes to lay pipes with the RPD and to unwrench
+ pipes in general.
+ - rscadd: Added Optical T-Ray scanners to R&D and Atmospheric Technician closets.
+ Optical T-Ray Scanners function identically to a handheld scanner.
+2015-07-14:
+ AnturK:
+ - rscadd: New species of mimic was spotted in the wilderness of space. Watch out!
+ Jordie0608:
+ - rscadd: Added a Local Narrate verb for admins.
+2015-07-17:
+ Ikarrus:
+ - bugfix: Virology is no longer all-access.
+ - rscadd: Changelings now have the ability to swap forms with another being.
+ - tweak: Halved Domination Time.
+ - tweak: Reinforced windows and windoors are a bit more resistant to fires and blasts.
+ MrStonedOne:
+ - tweak: 'Scrubbers now use power: 10w + 10w for every gas its configured to filter.
+ (60w for siphon)'
+ - rscadd: Scrubbers can now be configured to operate on a 3x3 range via the air
+ alarm at a high cost (ranging from 100w to 1000w depending on how many tiles
+ are near it that aren't blocked and how much power it's using normally)
+ - tweak: Huge portable scrubbers (like in toxins storage) now use a 3x3 range rather
+ then a higher volume rate
+ - bugfix: Fixed issue with atmos not allowing low levels of plasma to spread
+ - bugfix: Fixed issue with atmos not adding or removing plasma overlays in some
+ cases
+ - tweak: Panic siphon now uses a 3x3 area range rather then increasing the scrubbers
+ intake rate by 8x
+ - tweak: Replace air uses 3x3 range for the first stage
+ - rscadd: 'Air alarms now have 3 new environmental modes:'
+ - rscadd: Siphon - Panic siphon without the panic, operates on a 1 tile range
+ - rscadd: Contaminated - Activates all gas filters and 3x3 scrubbing mode
+ - rscadd: Refill Air - 3 times the normal vent output
+2015-07-18:
+ AlexanderUlanH:
+ - tweak: Reduced stun duration of tabling to be closer to other stuns.
+ Iamgoofball:
+ - tweak: The Bioterror Chemical Sprayer is now filled with a more deadly mix of
+ chemicals.
+ RemieRichards:
+ - tweak: Changelings now regenerate chemicals and geneticdamage while dead, but
+ only up to specific caps (50% of their max chem storage, and 50 geneticdamage)
+ - tweak: Fakedeath's length has been reduced from 80s dead (1 minute 20) to 40s
+ dead
+ - rscadd: Changelings now get to see the last 8 messages the person they absorbed
+ said, to allow them to better impersonate their victim's speech patterns
+ Steelpoint:
+ - tweak: Reduced weight of Sechailer, it now fits in boxes.
+ phil:
+ - tweak: Smoke and foam touch reactions gets buffed.
+ - rscadd: Reagent dispensers (watertank, fueltank) tells you how much reagents they
+ have left when examined.
+ - tweak: Liquid dark matter blob spore smoke now cannot throw you. The effects of
+ sorium, blob sorium, liquid dark matter and blob liquid dark matter are now
+ scaled by their volume. Sorium/LDM blob's touch now throws the mobs who are
+ close but simply moves the mobs that are further away.
+2015-07-19:
+ Gun Hog:
+ - rscadd: Nanotrasen advancements in cyborg technology now allow for integrated
+ headlamps! As such, the flashlight package normally used as a module is now
+ seamlessly merged with their systems!
+ Ikarrus:
+ - rscadd: Asimov's subject of "human beings" can now be modified by uploaders.
+ - rscadd: Eaxmining AI modules while adjacent to them will show you what laws it
+ will upload.
+ MMMiracles:
+ - soundadd: Adds a TWANG sound effect when hitting things with a guitar.
+2015-07-20:
+ AnturK:
+ - tweak: Lightning Bolt now always bounces 5 times and deals 15 to 50 burn damage
+ to each target depending on the chargeup
+ KorPaheron:
+ - rscadd: Added the Multiverse Sword, a new wizard artifact that can summon clones
+ of yourself from other universes, allowing for dangerous amounts of recursion.
+ phil235:
+ - tweak: Mechs no longer use object verbs and the exosuit interface tab. They now
+ use action buttons. Mechs now have a cycle equipment action button to change
+ weapon faster than by using the view stats window. Mechs get two special alerts
+ when their battery or health is low. Mechs now properly consume energy when
+ moving and having their lights on. Using a mech tool that takes time to act
+ now shows a progress bar (e.g. mech drill).
+ - rscadd: Mechs now have a cycle equipment action button to change weapon faster
+ than by using the view stats window.
+ - rscadd: Mechs get two special alerts when their battery or health is low.
+ - tweak: Mechs now properly consume energy when moving and having their lights on.
+ - rscadd: Using a mech tool that takes time to act now shows a progress bar (e.g.
+ mech drill).
+2015-07-21:
+ Fayrik:
+ - tweak: Syndicate Donksoft gear now costs less.
+ Xhuis:
+ - rscadd: Firelocks may now be constructed and deconstructed with standard tools.
+ Circuit boards can be produced at a standard autolathe.
+ phil235:
+ - tweak: Thrown things no longer bounces off walls, unless they're in no gravity.
+ Heavy items and mobs thrown can push the mobs and non anchored objects they
+ land on. Throwing a mob onto a mob in no gravity will push each one in opposite
+ direction. Thrown mobs landing on wall, or dense object or mob gets stunned
+ and a bit injured. The damage when mob hit a wall is nerfed.
+2015-07-23:
+ NullQuery:
+ - tweak: 'Crew monitoring: The minimap now supports scaling. You can zoom in and
+ out using the buttons. Hovering over an entry in the table centers the minimap
+ on that part of the screen.'
+ - tweak: 'Crew monitoring: If the window is wide enough the health indicator will
+ expand to show full health data (if available).'
+ - tweak: 'Crew monitoring: Clicking on the area name will now copy the coordinates
+ to your clipboard.'
+ - tweak: 'Crew monitoring: The AI can view health information again, but there is
+ a 5 second delay between updates for everyone watching.'
+ freerealestate:
+ - rscadd: Added resist hotkeys for borgs and humans. With hotkeys mode, use CTRL+C
+ or C as a human and CTRL+C, C or END as a borg. With hotkeys mode off, use CTRL+C
+ as a human and END as a borg.
+ xxalpha:
+ - bugfix: Changeling augmented eyesight night vision is now working.
+2015-07-24:
+ Incoming5643:
+ - rscadd: The spells disintegrate and flesh to stone have had their mechanics changed.
+ Using these spells will spawn a special touch weapon in a free hand (your dominant
+ hand if possible) that can then be used to inflict the spell on the target of
+ your choice. Having the touch weapon out is obvious, this is not a stealth based
+ change. Clicking the spell while the hand is out will let you return the charge
+ without using it.
+ - rscdel: The spell won't begin to recharge until the hand attack is either used
+ or returned. Additionally these changes mean you can no longer use these spells
+ while stunned or handcuffed. As a suggestion remember that the mutate spell
+ allows you to break out of cuffs very easily, and warping abilities will keep
+ you from getting cuffed to begin with!
+2015-07-25:
+ Dorsisdwarf:
+ - tweak: Due to a fire sale at Syndicate HQ, many of the more interesting traitor
+ gadgets have been cut in price dramatically. Please take this opportunity to
+ make full use, as we cannot guarantee that the sale will last!
+ bgobandit:
+ - bugfix: Under pressure from the Animal Rights Consortium, Nanotrasen has improved
+ conditions at its cat and dog breeding facilities. Cats and pugs are now much
+ more responsive to their owners.
+ duncathan:
+ - tweak: Restores RPD delay on disposals machines.
+ xxalpha:
+ - tweak: Agent IDs are now rewrittable.
+2015-07-26:
+ Phil235:
+ - rscadd: Sechailers will now break when used too often.
+ - imageadd: Mechs now have new action button sprites.
+ Steelpoint:
+ - rscadd: Security Officers now spawn with a security breathmask in their internals
+ box.
+ - imageadd: Abductor's batons now changes color with modes.
+ - imageadd: Unique sprites for Abductor hand cuffs and paper.
+ goosefraba19:
+ - imageadd: Updated the Power Monitoring Console with better alignment and colorized
+ readouts.
+2015-07-27:
+ Bgobandit:
+ - bugfix: Burgers can now be made from corgi meat again.
+ Ikarrus:
+ - rscadd: Added shutters to the armory to allow quick access when needed.
+ - bugfix: Security can now use the Brig external airlocks.
+ - rscadd: Added a join queue when the server has exceeded the population cap.
+ - tweak: Decreased the cost of Body Swap and removed it's genetic damage.
+ kingofkosmos:
+ - rscadd: Added a link to re-enter corpse to alert when your body is placed in a
+ cloning scanner.
+2015-07-28:
+ Anonus:
+ - imageadd: New gang tags for Omni and Prima gangs.
+ Chiefwaffles:
+ - rscadd: After realizing how often AIs tend to 'disappear', Central Command has
+ authorized the shipment of the Automated Announcement System to take over the
+ AI's responsibility of announcing new arrivals.
+ - rscadd: In addition, users are able to configure the messages to their liking.
+ Early testing has shown that this feature may be vulnerable to malicious external
+ elements!
+ - rscadd: The station's R&D software has been updated so it can now succesfully
+ create its own prototype AAS board once the prerequisite levels have been met.
+ Dorsisdwarf:
+ - tweak: Increased the cost of Bioterror darts to 6TC.
+ Incoming5643:
+ - experiment: Double Agents no longer know they're Double Agents and not just standard
+ Traitors.
+ xxalpha:
+ - rscdel: Removed Anti-Drop and Nutriment Pump implants from Nuclear Operative's
+ uplink.
+2015-07-29:
+ AnturK:
+ - rscadd: Aliens can now mine through asteroid rock.
+ GunHog:
+ - tweak: Cyborg headlamps have a short cooldown before reactivation when forcibly
+ deactivated.
+ - bugfix: Shadowling's Veil now shuts down headlamps for the ability's entire duration.
+ Kor:
+ - rscadd: Eating the heart of a Slaughter Demon will grant you dark powers.
+ freerealestate:
+ - bugfix: Fixed bug where copying with ctrl+C didn't work due to it being assigned
+ to resist.
+ - rscadd: Changed resist to B (hotkeys mode) and ctrl+B (either mode) instead.
+ - rscdel: Removed End resist from cyborgs.
+2015-07-30:
+ Gun Hog:
+ - tweak: The Reactivate Camera power for Malfunctining AIs now costs 10 CPU, and
+ works on the entire camera network, up to 30 cameras fixed.
+ - tweak: The Upgrade Cameras power now costs 35 CPU, upgrades all cameras in the
+ network to have EMP proofing, X-ray, and gives the AI night-vision.
+ Ikarrus:
+ - rscadd: Door Access buttons can now be emagged to remove access restrictions.
+ LordPidey:
+ - rscadd: Added a new medication, Miner's Salve. It heals brute/burn damage over
+ time, and has the side effect of making the patient think their wounds are fully
+ healed. It is mixed with water+iron+oil, or grind a twinkie, a sheet of metal,
+ and a sheet of plasma.
+ - rscadd: Added a grinder to the mining station.
+ Midaychi:
+ - rscadd: Random loot has been added to the derelict as salvage for drones.
+ Scones:
+ - rscadd: Adds a Rice Hat to the biogenerator.
diff --git a/html/changelogs/archive/2015-08.yml b/html/changelogs/archive/2015-08.yml
new file mode 100644
index 0000000000..b82da17768
--- /dev/null
+++ b/html/changelogs/archive/2015-08.yml
@@ -0,0 +1,229 @@
+2015-08-02:
+ Incoming5643:
+ - rscadd: Syndicate toolboxes now come with never before seen red insulated gloves.
+ Steelpoint:
+ - bugfix: Fixed multiple mapping errors for Boxstation and the mining base.
+ - rscadd: A circuit imprinter and exosuit fabrication board have been added to tech
+ storage.
+ SvartaSvansen:
+ - rscadd: Our lizard engineers have worked hard and managed to improve Centcom airlocks
+ so they no longer disintegrate when the electronics are removed!
+ - tweak: Put a safety net in place so future airlocks without assemblies produce
+ the default assembly instead of disintegrating.
+2015-08-04:
+ Kor:
+ - rscadd: Soulstones will now attempt to pull ghosts from beyond if the targeted
+ corpse has no soul.
+ Summoner99:
+ - rscadd: Added the *roar emote back to Alien Larva
+ - bugfix: Fixed aliens not being able to do the *hiss and *screech emotes
+ - tweak: 'Changed how the plural emote system works and now some emotes have plural
+ versions, example is: *hiss and *hisses.'
+2015-08-05:
+ CoreOverload:
+ - rscadd: Implants, implant cases and implanters got RnD levels and can be DA'ed
+ for science.
+ - rscadd: Surgically removed implant can be placed into an implant case. Remove
+ implant with empty implant case in inactive hand.
+ - rscadd: Surgical steps now got progress bars.
+ - rscadd: You can cancel a surgery by using drape on operable body part again. This
+ works only before you perform surgery's first step.
+ - rscadd: Operating computer shows next step for surgeries. No more alt-tabbing
+ to view next step on wiki while operating.
+ - tweak: You cannot start two surgeries on one body part at once. You can start
+ two multiloc surgeries (i.e. two augumentations) on diffirent body parts at
+ once.
+ - tweak: Monkey <-> Human transformations now keep your internal organs, cyberimplants
+ and xeno embryos included.
+ Ikarrus:
+ - rscdel: Head beatings no longer deconvert gangsters.
+ LordPidey:
+ - rscadd: 'Added a new chemical. Spray tan. It is made by mixing orange juice with
+ oil or corn oil. Warning: overexposure may result in orange douchebaggery.'
+ Xhuis:
+ - rscadd: Shadowling thralls can now be deconverted via surgery or borging.
+ - rscadd: Thralls can be revealed by examining them. They can hide this by wearing
+ a mask.
+ - rscadd: Thralls have a few minor abilities they can use in addition to night vision.
+ - rscadd: Hatch-exclusive abilities can no longer be used if you are not the shadowling
+ mutant race.
+ - rscadd: Ascendants are now immune to bombs and singularities. Honk.
+ - rscadd: A Centcom report has been added for shadowlings.
+ - tweak: Ascending no longer kills all shadowling thralls. This allows antagonists
+ who were enthralled to succeed along with the ascendants.
+ - tweak: Annihilate now has different sound and a shorter delay before the target
+ explodes. In addition, it now works on all mobs, instead of just humans.
+ - bugfix: Glacial Blast now properly has no cooldown if used while phase shifting.
+ - bugfix: Fixes a runtime if a target with no mind is enthralled.
+ bgobandit:
+ - rscadd: Nanotrasen scientists have achieved the tremendous breakthrough of injecting
+ gold slime extracts with water. Pets ensued.
+2015-08-06:
+ AnturK:
+ - rscadd: Adds the voodoo doll as a mining treasure, link it with a victim with
+ an item previously held by them.
+ - rscadd: Once linked the voodoo doll can be used to injure, confuse and control
+ the victim.
+ Core0verlad:
+ - tweak: Items can now be removed from storage containers inside storage containers.
+ - imageadd: Beds and bedsheets have new sprites.
+ - rscdel: MMIs are no longer ID locked.
+ KorPhaeron:
+ - tweak: Slaughter Demon's have had their health reduced to 200 and their speed
+ reduced but they get a speed boost when exiting blood.
+ MrPerson:
+ - rscadd: Items stacks now automatically merge unless thrown when moved onto the
+ same tile.
+2015-08-07:
+ KorPhaeron:
+ - rscadd: Added a new Guardian Mob that can be summoned to manifest inside a mob.
+ - rscadd: Guardians can communicate with their host and materialize themselves to
+ protect their host with magic powers.
+ - rscadd: Guardians are invincible but cannot live without or too far from their
+ host, they also relay injuries they suffer to the host.
+ Phil235:
+ - bugfix: Fixed being able to run into your own bullet.
+ RemieRichards:
+ - rscadd: You no longer need to click on an item in a storage container to remove
+ it, clicking anywhere around the item works.
+ bustygoku:
+ - rscdel: Removed the chance for a disease to make you a carrier on transfer.
+ phil235:
+ - tweak: The plasma cutter's fire rate is now a bit lower but its projectile can
+ pierce multiple asteroid walls and its range isn't lowered in pressurized environment
+ anymore.
+2015-08-09:
+ RemieRichards:
+ - rscadd: 'Nanotrasen Mandatory FunCo Subsidiary: CoderbusGames, would like to announce
+ an update to Orion Trail!'
+ - rscadd: 'Spaceports: Buy/Sell Crew, Trade Fuel for Food, Trade Food for Fuel,
+ Buy Spare Electronics, Engine Parts and Hull Plates, or maybe you think you''re
+ tough enough to attack the spaceport?'
+ - rscadd: 'Changelings: Changelings can now sneak into your crew, Changelings eat
+ double the standard food ration and have a chance to Ambush the rest of the
+ crew!'
+ - rscadd: 'Kill Crewmembers: Do you suspect changelings? or dont feel you have enough
+ food rations? Just shoot somebody in the head, at any time!'
+2015-08-12:
+ CosmicScientist:
+ - rscadd: Added Space Carp costume to the code, get it from an autodrobe near you.
+ - rscadd: Added Ian costume to the code, take his place under the HoP's hand, get
+ it from an autodrobe or corgi hide, keep it away from washing machines or it'll
+ meat its end as clothing.
+ - rscadd: Added Space Carp spacesuit to the code, I know what I'm praying for.
+ bgobandit:
+ - rscadd: After multiple complaints from WaffleCo food activists, Nanotrasen has
+ added real chocolate, berry juice and blue flavouring to its ice cream products.
+2015-08-13:
+ CoreOverload:
+ - rscadd: 'Added a new 8TC traitor item: subspace storage implant. It allows you
+ to store two box-sized items in (almost) undetectable storage. '
+ - tweak: Changed the way most of the surgical operations work. See wiki for new
+ steps.
+ - tweak: You can cancel step 2+ surgeries with drapes and cautery in inactive hand.
+ - tweak: Defib no longer works on humans who have no heart. Changeling/thrall/cult/strange
+ reagent revives are still working, and this is intended.
+ - rscadd: You can eat all organs raw now, with exception for brains and cyberimplants.
+ - rscadd: Some xenos abilities are linked to their organs. Play with xenos' guts
+ for fun and profit!
+ RemieRichards:
+ - rscadd: Modifying a string (Text) variable with View Variables or View Variables
+ Mass Modify now allows you to embed variables like real byond strings, For example
+ the variable real_name; you could set a text var to [real_name] and it would
+ be replaced with the actual contents of the var, This allows for Mass fixing
+ of certain variables but it's also useful for badmin gimmickery
+2015-08-15:
+ Miauw:
+ - rscadd: Changeling transformations have been upgraded to also include clothing
+ instead of just DNA.
+ - tweak: Patches no longer work on dead people.
+ - rscadd: Added 15-force edaggers that function like pens when off.
+ MrPerson:
+ - rscadd: Objects being dragged will no longer get shoved out of your grasp by space
+ wind. Retrieving dead bodies should be possible.
+ RemieRichards:
+ - rscadd: Added Changeling Team Objectives, these are handed out to all lings, with
+ the chance of a round having one being 20*number_of_lings% (3 lings = 60%)
+ - rscadd: 'Impersonate Department (Team Objective): As many members of a department
+ as can reasonably be picked are chosen for the lings to kill, replace and escape
+ as'
+ - rscadd: 'Impersonate Heads (Team Objective): 3 to 6 Heads of Staff are chosen
+ for the lings to kill, replace and escape as'
+ - tweak: If the Changelings have a Team Objective, their usual Kill, Maroon, Etc.
+ objectives will not pick other changelings, to discourage backstabbing in teamling
+ - tweak: Changeling Engorged Glands is now the default storage and regen rate, Engorged
+ Glands remains for an extra boost
+ - rscadd: Armblades can now be used to open powered doors, however it takes 10 seconds
+ of the changeling standing still, Their ability to instantly open unpowered
+ doors remains unchanged
+ - rscdel: Debrain objective is no longer handed out to lings, it's as good as broken
+ these days
+ - rscadd: Changelings may now purchase a togglable version of the Chameleon Skin
+ genetics mutation, for 2 DNA
+2015-08-16:
+ Joan:
+ - rscadd: Revenants will now occasionally spawn as an event.
+ - tweak: Revenants gain more energy from Harvesting, and can Harvest from people
+ in crit.
+ - tweak: Revenant powers are more effective, and no longer freeze you in place,
+ besides Harvest.
+ - tweak: Slain Revenants will respawn much faster.
+ - bugfix: Fixed a whole bunch of revenant bugs, including one that caused the objective
+ to always fail.
+ Kor:
+ - rscadd: The wizard can now stop time.
+ MMMiracles:
+ - tweak: Revamps bioterror darts into a less-lethal, syringe form. Removed the coniine
+ and spore toxins to keep it solely for quiet take-downs.
+2015-08-18:
+ CoreOverload:
+ - rscadd: Added a new low-tech eye cyberimplant in RnD - welding shield implant.
+ - rscadd: Implanter and empty implant case added to protolathe.
+ - rscadd: You can sell tech disks and maxed reliability design disks in cargo for
+ supply points.
+ - tweak: DA menu shows current research levels.
+ - tweak: You can print cyberimplants in updated mech fab.
+ Supermichael777:
+ - bugfix: Added an ooc hotkey for borgs = O. They simply didn't have one and it
+ was a consistency issue
+ - rscadd: Also added Ctrl+O as an any mode keycombo so you dont have to backspace
+ and type ooc. Added to hotkey mode to remain consistent with all other Ctrl
+ combos
+ bustygoku:
+ - tweak: Most backpacks now have 21 or more slots, but are still weight restricted.
+ What this means is that you can have a lot of tiny weight items, but only 7
+ medium items just like before.
+ phil235:
+ - tweak: Janicart rider no longer slip on wet floor or bananas. Moving on a floor
+ tile with lube while buckled (chair, roller bed, etc) will make you fall off.
+2015-08-19:
+ Joan:
+ - rscadd: Added a new revenant ability; Malfunction. It does bad stuff to machines.
+ - tweak: Defile and Overload Lights now briefly stun the revenant.
+ - tweak: You can now Harvest a target by clicking on them while next to them.
+ - bugfix: Harvesting no longer leaves you draining if the target is deleted mid-drain
+ attempt.
+ - rscdel: Defile no longer emags bots or disables cyborgs, Malfunction does that
+ now.
+ Kor:
+ - rscadd: The Ranged and Scout guardian types have been merged, and gained a new
+ surveillance snare ability.
+ SconesC:
+ - rscadd: Added Military Belts to traitor uplinks.
+ bgobandit:
+ - rscadd: CentComm now offers its cargo department toys, as well as detective gear
+ so their boss can figure out which tech wasted all the points on them.
+ phil235:
+ - rscadd: You can now partially protect yourself from blob attack effects by wearing
+ impermeable clothes like hardsuits, medical clothes, masks, etc. Max protection
+ effect is capped at 50%.
+ - rscdel: Splashing someone with chemicals no longer injects those chemicals in
+ their body.
+ - bugfix: Fixes splashing acid on items or floor with items not having any effect.
+2015-08-28:
+ bgobandit:
+ - bugfix: 'Overheard at CentComm: ''This burn kit said salicyclic acid would heal
+ my burns! WHO MADE THIS SHIT?'' A muffled honking is heard in the background.
+ (Burn first-aid kits now contain an appropriate burn pill.)'
+ - rscadd: Oxandrolone, a new burn healing medication, has been added to burn first-aid
+ kits and to chemistry. Ingesting 25 units or more causes burn and brute damage.
diff --git a/html/changelogs/archive/2015-09.yml b/html/changelogs/archive/2015-09.yml
new file mode 100644
index 0000000000..57532365e3
--- /dev/null
+++ b/html/changelogs/archive/2015-09.yml
@@ -0,0 +1,306 @@
+2015-09-01:
+ Dorsidwarf:
+ - tweak: Changelings' Digital Camoflague ability now renders them totally invisible
+ to the AI
+ ExcessiveUseOfCobblestone:
+ - rscadd: Added health analyzer to the autolathe.
+ - tweak: Moved Cloning board to Medical Machinery section.
+ - tweak: Moved Telesci stuff to Teleporter section.
+ Fox P McCloud:
+ - tweak: Adds the emitter board to to the circuit imprinter for R&D.
+ Gun Hog:
+ - tweak: The Disable RCD Malfunction power is now Destroy RCDs! It costs 25 CPU
+ (down from 50), causes RCDs to explode, can be used multiple times, and no longer
+ affects cyborgs.
+ Kor:
+ - rscadd: Revheads and Gang leaders now spawn with chameleon security HUDs, for
+ keeping track of loyalty implanted crew.
+ - rscadd: Syndicate thermals now have a chameleon function as well, allowing you
+ to disguise the goggles to match your job.
+ Miauw:
+ - tweak: Edaggers actually work now and have been buffed to 18 brute and 2 TC.
+ Oisin100:
+ - rscadd: Nanotransen discover ancient human knowledge confirming that trees produce
+ Oxygen From Carbon Dioxide
+ - tweak: Trees now require Oxygen to live. And will die in extreme temperatures
+ Xhuis:
+ - rscadd: The arcade machines have been stocked with a xenomorph action figure that
+ comes with realistic sounds!
+ - rscadd: Darksight now has its own icon.
+ - rscadd: Empowered thralls have been added. While obvious, they are more powerful
+ and can resist dethralling while conscious. Only 5 can exist at one time.
+ - rscadd: Shadowlings can now change their night vision radius by using the action
+ button their eyes (glasses) now provide.
+ - tweak: Torches are dimmer, being as bright as flashlights, and no longer fit on
+ belts.
+ - tweak: Black Recuperation now has a 1 minute cooldown, down from 5. It can also
+ be used to empower living thralls.
+ - tweak: Guise can now be used outside of darkness and makes the user more invisible
+ than before.
+ - bugfix: Enthrall now functions properly when a shadowling is not hatched, allowing
+ them to enthrall up to 5 people before hatching.
+ xxalpha:
+ - tweak: Blood crawling is now a spell.
+ - rscadd: Engineering cyborgs now have a constant magpulse.
+ - tweak: Changed foam spreading to be like gas spreading.
+2015-09-05:
+ Shadowlight213:
+ - rscadd: The syndicate have taken notice of the camera bug's woeful underuse, and
+ have managed to combine all of its upgrades into one!
+2015-09-06:
+ Fox P McCloud:
+ - bugfix: Fixes gold sheets having plasma as their material.
+ Xhuis:
+ - bugfix: Nanotrasen inspectors have discovered a fault in the buckles of chairs
+ and beds. This has been fixed and you are now able to buckle again.
+2015-09-07:
+ xxalpha:
+ - tweak: Changed xeno weed spread to be like gas spread.
+2015-09-09:
+ Joan:
+ - rscadd: New blob chemical; Cryogenic Liquid. Cools down targets.
+ - tweak: Tweaked names, colors, and effects of remaining blob chemicals;
+ - tweak: Skin Ripper is now Ripping Tendrils and does minor stamina damage, in addition
+ to the brute damage.
+ - tweak: Toxic Goop is now Envenomed Filaments and injects targets with spore toxin
+ and causes hallucinations, in addition to the toxin damage.
+ - tweak: Lung Destroying Toxin is now Lexorin Jelly and does brute damage instead
+ of toxin damage. The oxygen loss it causes can also no longer crit you in one
+ hit.
+ - tweak: Explosive Gelatin is now Kinetic Gelatin and does random brute damage,
+ instead of randomly exploding targets.
+ - rscdel: Skin Melter, Radioactive Liquid, Omnizine, and Space Drugs blob chemicals
+ are gone.
+ bgobandit:
+ - rscadd: Nanotrasen has commissioned two new corporate motivational posters for
+ your perusal and edification.
+ - rscadd: Nanotrasen also wishes to remind the crew that non-authorized posters
+ ARE CONTRABAND. Especially those new ones with Rule 34. Perverts.
+2015-09-11:
+ CosmicScientist:
+ - tweak: Drone dispenser now has a var for its cooldown, get var editing.
+2015-09-13:
+ Fox P McCloud:
+ - bugfix: Fixes an exploit and inconsistency issue with a few material amounts on
+ a few items and designs.
+ - bugfix: Fixes Bibles/holy books not properly revealing runes.
+ - bugfix: fixes stimulants not properly applying its speedbuff.
+ Gun Hog:
+ - tweak: Nanotrasen scientists have proposed a refined prototype design for the
+ nuclear powered Advanced Energy guns to include a taser function along with
+ the disable and kill modes. Addtionally, they have modified the chassis blueprint
+ to include a hardpoint for attachable seclites.
+ Iamgoofball:
+ - tweak: Reduced the cost of changeling armor to 1 and increased it's armor values.
+ Jordie0608:
+ - rscadd: You can now view the reason of a jobban from character setup.
+ xxalpha:
+ - rscadd: Drying agent splashed on galoshes will turn them into absorbent galoshes
+ that dry wet floors they walk on.
+ - rscadd: Drying agent can be made with ethanol, sodium and stable plasma.
+2015-09-14:
+ Fox P McCloud:
+ - tweak: Adds a mining voucher to the Quartermaster's locker.
+ Thunder12345:
+ - rscadd: The captain has been issued with a new jacket for formal occasions.
+ - tweak: Research has shown that is is possible to build technological shotshells
+ without the need for silver. The design blueprints supplied to your station
+ have been updated accordingly.
+ xxalpha:
+ - bugfix: Fixed not being able to grab things from storage while inside aliens.
+ - bugfix: Fixed two progress bars when devouring.
+ - rscadd: Shields will now block alien hunter pounces.
+ - tweak: Alien hunters health reduced to 125 from 150. Alien sentinels health increased
+ to 150 from 125.
+ - tweak: Alien hunters will no longer be transparent when stalking, this ability
+ was given to alien sentinels.
+ - tweak: Alien slashing now deals constant 20 damage but has a chance to miss.
+ - tweak: Reduced alien disarm stun duration vs cyborgs, from 7 seconds to 2 seconds.
+ - tweak: Alien sentinels now move as fast as humans.
+ - tweak: Facehuggers and alien eggs layers increased to be higher than resin walls.
+2015-09-16:
+ Razharas:
+ - tweak: Replaces the space cube with space torus. Space levels are now each round
+ randomly placed on the grid with at least one neigbour, any side of the space
+ level that doesnt have neigbour will loop either onto itself or onto the opposite
+ side of the furthest straight-connected space level on the same axis.
+ Supermichael777:
+ - tweak: The detomax pda cartridge no longer blows its user up.
+ Xhuis:
+ - experimental: Cultists will now be able to create all runes without needing to
+ research or collect words. This is subject to change.
+ - tweak: Cult code has been significantly improved and will run much faster and
+ be more responsive.
+ - tweak: Conversion runes can now be invoked with less than three cultists, but
+ take a small amount of time to convert the target.
+ - tweak: Armor runes will only outfit the user with standard armor, rather than
+ having different loadouts for different worn clothing items.
+ - tweak: Astral Journey runes will now pull the user back to the rune if they are
+ moved. The user also has a different color while on the rune.
+ - tweak: Free Cultist has been removed. Summon Cultist now works even if the target
+ is restrained.
+ - tweak: Sacrifice and Raise Dead runes now offer more precise target selection.
+ - soundadd: Sacrifice runes now have different sounds, and gib rather than dust
+ (assuming the target is not a silicon).
+ - tweak: There is no longer a maximum cap on active runes.
+ - tweak: Runes have been renamed to Rites. For instance, the Teleport rune is now
+ the Rite of Translocation. The only exception to this is the rune to summon
+ Nar-Sie, which is a Ritual.
+ - tweak: Nar-Sie now has a new summon sound.
+ - tweak: The Nar-Sie summon rune has a new 3x3 sprite.
+ - tweak: The stun rune no longer stuns cultists.
+ - rscadd: The Rite of False Truths had been added, that will make all nearby runes
+ appear as if they were drawn in crayon.
+ - rscadd: Runes can now be examined by cultists to determine their name, function,
+ and words.
+ phil235:
+ - tweak: Riot and energy shield users now have a chance to block things thrown at
+ them as well as xeno leaping at them.
+2015-09-17:
+ bgobandit:
+ - rscadd: Meatspikes can now be constructed and deconstructed with metal and rods,
+ as well as wrenched and unwrenched! Humans and corgis can be used on them as
+ well.
+ xxalpha:
+ - tweak: 'Reworked nuke deconstruction: Standardized steps, partial reparation (use
+ metal) to contain radiation.'
+ - rscadd: New portable nuke, self-destruct terminal, syndie screwdriver sprites
+ by WJohnston.
+2015-09-19:
+ Xhuis:
+ - rscadd: Shadowlings are now able to sacrifice a thrall to extend the shuttle timer
+ by 15 minutes. This will not stack.
+ - bugfix: Additional abilities granted by Collective Mind will now properly have
+ icons.
+ - bugfix: Shadowlings now have their antagonism removed if turned into a silicon.
+ - tweak: The order of abilities unlocked by Collective Mind has been changed. It
+ now starts with Sonic Screech.
+ - tweak: Veil now destroys glowshrooms in a much larger radius than before.
+2015-09-20:
+ Xhuis:
+ - tweak: Rites have been renamed to their old runes, which reflect their functionality.
+ - tweak: Examining a talisman no longer opens the paper GUI.
+ - tweak: Armor talismans have been re-added.
+ - tweak: EMP talismans now have the same range as their rune counterpart.
+ - tweak: Some talismans now cost health to use, costing more or less depending on
+ their effect.
+ - tweak: Scribing runes now deals 0.1 brute damage instead of 1.
+ - tweak: Bind Talisman runes no longer deal 5 brute damage when invoking.
+ - tweak: Rune shapes and colors are now identical to their old versions.
+ - tweak: Conversion runes can no longer be used by yourself, and require a static
+ 2 cultists.
+2015-09-22:
+ Kor:
+ - rscadd: A new admin command, Offer Control to Ghosts, can be found in the view
+ variables menu. It will randomly select a willing candidate from among dead
+ players, providing a fair method of replacing antagonists.
+ Xhuis:
+ - tweak: When a morph changes form, a message is shown to nearby people. This also
+ happens upon undisguising.
+ - tweak: Morphs now have an attack sound and message.
+ - tweak: The Spawn Morph event now plays a sound to the chosen candidate.
+ - tweak: Slaughter demons (and other creatures with blood crawl) now take two seconds
+ to emerge from blood pools. Entering is still instantaneous.
+ - tweak: The demon heart's sprite has been updated.
+ - tweak: Eating a demon heart now surgically implants the heart into your chest.
+ If the heart is removed from you, you lose the ability. Someone else can eat
+ the heart to gain the ability.
+ - tweak: Blood Crawl no longer has a 1-second cooldown, instead having none.
+ - tweak: You can no longer hold items when attempting to Blood Crawl, nor can you
+ use any items while Blood Crawling.
+ - tweak: Creatures that can Blood Crawl now take two seconds to emerge from blood
+ pools.
+ - tweak: Slaughter demons now store devoured creatures, and will drop them upon
+ death.
+ - tweak: Revenants now have the ability to speak to the dead.
+ - tweak: Revenant abilities now have icons.
+ - tweak: Malfunction no longer EMPs a specific area - it will instead EMP nearby
+ machines directly and stun cyborgs. Dominators are immune to this.
+ - tweak: Revenants now have directional sprites.
+ - tweak: Overload Lights now has a smaller radius.
+ - tweak: Defile no longer corrupts tiles.
+ - tweak: When glimmering residue reforms, the game will attempt to place the old
+ revenant in control of the new one. If this cannot be done, it will find a random
+ candidate.
+ - tweak: Revenants can no longer see ghosts. They can see other revenants, however,
+ and ghosts can still see revenants.
+ - tweak: The Spawn Slaughter Demon event now plays a sound to the chosen candidate.
+ phil235:
+ - rscdel: Lizards and other non human species can no longer acquire the hulk mutation.
+ Hulks no longer have red eyes
+ - bugfix: Monkeys now always have dna and a blood type (compatible with humans).
+ - bugfix: Monkey transformation no longer deletes the human's clothes.
+ - bugfix: Space Retrovirus now correctly transfers dna SE to the infected human.
+ - bugfix: Changeling's Anatomic Panacea removes alien embryo again.
+ - bugfix: Cloning someone now correctly sets up their dna UE.
+ - bugfix: Fixes the laser eyes mutation not giving glowing red eyes to the human.
+ - bugfix: Using changeling readaptation now properly removes all evolutions bought
+ (arm blade, chameleon skin, organic suit).
+ xxalpha:
+ - rscadd: Added a researchable cyborg self-repair module to the robotics fabricator.
+2015-09-23:
+ Xhuis:
+ - rscadd: Syndicate medical cyborgs have been added.
+ - rscadd: The Dart Pistol is now available from the uplink for 4 telecrystals. It
+ functions as a pocket-sized syringe gun with a quieter firing sound.
+ - tweak: Boxes of riot foam darts now cost 2 telecrystals, down from 10, and are
+ available to traitors.
+ - tweak: Foam dart pistols now cost 3 telecrystals, down from 6.
+ - tweak: Syndicate cyborg teleporters now allow a choice between Assault and Medical
+ cyborgs.
+ - tweak: Syndicate cyborgs are now distinguished as Syndicate Assault.
+ - tweak: Syndicate cyborg energy swords now cost 50 energy per use, down from 500.
+ - tweak: Airlock charges now cost 2 telecrystals, down from 5.
+ - tweak: Airlock charges are much more powerful.
+ - tweak: There is no longer a 25% chance to detonate an airlock charge while removing
+ it.
+ - tweak: The description of many uplink items has been changed to better reflect
+ their use.
+2015-09-24:
+ Jordie0608:
+ - tweak: Advanced energy guns now only critically fail after successive minor failures.
+ Cease firing after multiple recent minor failures to avoid critical ones.
+ Kor:
+ - rscadd: Guardian Spirit types and powers have been heavily reworked. Full details
+ of each type are available on the wiki.
+ - rscadd: Guardian damage transfer to users now deals cloneloss if their user is
+ in crit.
+ - rscadd: Guardians are now undergoing a trial run in the traitor uplink, under
+ the name of Holoparasites.
+ - rscadd: You can now hang human mobs (dead or alive) from meatspikes. Escaping
+ the meatspike will further damage the victim.
+ - rscdel: You can no longer slam humans into the meatspike as an attack.
+2015-09-25:
+ Xhuis:
+ - rscadd: Changelings have a new ablity, Biodegrade. Costing 30 chemicals and having
+ an unlock cost of 1, it allows them to dissolve handcuffs and straight jackets
+ in 3 seconds, and escape from lockers in 7.
+ - tweak: Fleshmend's effectiveness is now halved each time it is used in a short
+ time span.
+ - tweak: Last Resort now blinds and confuses nearby humans and briefly disables
+ silicons upon use.
+ - tweak: Headslugs now have 50 health, up from 20.
+2015-09-26:
+ MMMiracles:
+ - rscadd: Nanotrasen's genetic researchers have rediscovered the inactive dwarfism
+ genetic defect inside all bipedal humanoids. Suffer not the short to live.
+ WJohnston:
+ - tweak: Repiped the entire station. Atmosia and the disposals loop were not touched.
+ - tweak: Moved mulebot delivery from misc lab to RnD.
+2015-09-28:
+ Feemjmeem:
+ - bugfix: Rechargers can now be wrenched and unwrenched by cyborgs.
+ - bugfix: Rechargers no longer stop working forever if you move them from an unpowered
+ area to a powered area, and now actually look powered off when they are.
+ - bugfix: Guns and batons can no longer be placed in unwrenched chargers.
+ Razharas:
+ - rscadd: Added button to preferences menu that kills all currently playing sounds
+ when pressed, now you can kill midis and any other sounds for real.
+ phil235:
+ - bugfix: Fixed the syndicate cyborg's grenade launcher.
+ - tweak: You can modify the dna of corpses again.
+2015-09-29:
+ Kor:
+ - bugfix: The Chaos holoparasite can now actually set people on fire properly.
+ - tweak: Guardian powers are now used via alt+click rather than shift+click.
+ - tweak: Added an alert chime for ghosts when someone is summoning a Guardian.
diff --git a/html/changelogs/archive/2015-10.yml b/html/changelogs/archive/2015-10.yml
new file mode 100644
index 0000000000..9c733e85c8
--- /dev/null
+++ b/html/changelogs/archive/2015-10.yml
@@ -0,0 +1,276 @@
+2015-10-04:
+ Fox P McCloud:
+ - tweak: Adds a bar of soap to the janitor's locker.
+ - rscadd: Re-adds the advanced mop as a researchable R&D item.
+ - rscadd: Adds a bluespace trashbag as a researchable R&D item; can hold large quantities
+ of garbage.
+ Jordie0608:
+ - rscadd: Added Special Verb 'Create Poll', an in-game interface to create server
+ polls for admins with +permissions.
+ MrPerson:
+ - rscdel: Removed NTSL. Sorry. People could write scripts that crashed the server,
+ and this is the only thing that can be done to prevent them from doing that.
+ MrStonedOne:
+ - rscdel: Removed feature where quick consecutive ghost orbits while moving could
+ be used to fuck with your sprite
+ - bugfix: Fixed ghosts losing floating animation when returning from an orbit
+ - bugfix: Fixed logic error that prevented orbit's automatic cancel when the orbiting
+ thing moved in certain situations.
+ - rscadd: Ghost Orbit size now changes based on the icon size of the thing they
+ are orbiting (for that sweet sweet singulo orbiting action)
+ - tweak: Removed needless checks in ghost orbit, you can now orbit yourself and
+ restart an orbit around the thing you are already orbiting
+ Xhuis:
+ - rscadd: Syndicate Medical cyborgs now have cryptographic sequencers.
+ - rscdel: Syndicate Medical cyborgs no longer have syringes.
+ - tweak: Restorative Nanites now heal much more damage per type.
+ - bugfix: Operative pinpointers now actually point toward the nearest operative.
+ - bugfix: Syndicate Assault cyborgs no longer start with medical supplies.
+ - bugfix: Energy saws now have a proper icon.
+ - bugfix: Non-operatives can now longer use operative pinpointers or Syndicate cyborg
+ teleporters.
+ - tweak: Doctor's Delight now requires cryoxadone in its recipe instead of omnizine.
+ - tweak: Doctor's Delight now restores half a point of brute, burn, toxin, and oxygen
+ damage per tick.
+ - tweak: Doctor's Delight now drains nutrition while it's in your system (that is,
+ unless you're a doctor).
+ - bugfix: Syndicate roboticists have given Syndicate medical cyborgs sharper hypospray
+ needles - they are now able to penetrate armor.
+2015-10-06:
+ Gun Hog, for WJohnston:
+ - rscadd: 'Add new Xenomorph caste: The Praetorian. Drones may become this on their
+ way to growing into a full queen, and a queen may promote one if there is not
+ one already.'
+ - tweak: Xenomorph queens are now GIGANTIC, along with the new Praetorian. Together,
+ they are considered royals.
+ - tweak: Queens are now significantly tougher to make up for their huge size.
+ - bugfix: All forms of dead xenomorph may now be grabbed and placed on a surgery
+ table for organ harvesting!
+ Xhuis:
+ - rscadd: Maintenance drones now have a more descriptive message when examined.
+ - tweak: A recent Nanotrasen firmware update to drones has increased vulnerability
+ to foreign influences. Please periodically check drones for abnormal behavior
+ or status LED malfunction. Note, however, that cryptographic sequencers will
+ not incur this behavior.
+ - tweak: In response to complaints about rogue drones, Nanotrasen engineers have
+ allowed factory resets on all drones by simply using a wrench.
+ - experiment: Central Command reminds drones to immediately retreat, if possible,
+ when a law override is begun. Not doing so may anger the gods and incur their
+ wrath!
+ - rscadd: Some virus symptoms that had no messages now have them.
+ - rscadd: 'New virology symptom: Weakness. This will cause stamina damage and fainting
+ spells.'
+ - tweak: Many virus symptom messages have been changed to be more threatening.
+2015-10-07:
+ Kor:
+ - rscadd: The alien queen can now perform a tail sweep attack, throwing back and
+ stunning all nearby foes.
+2015-10-13:
+ AnturK:
+ - rscadd: Display cases can now be built using 5 wood planks and 10 glass sheets.
+ - rscadd: Add airlock electronics to open it with id later, otherwise you'll have
+ to use crowbar
+ - tweak: Broken display cases can be fixed with glass sheets or removed using crowbar
+ - tweak: Added start_showpiece_type variable for mappers to create custom displays
+ - rscadd: Syndicate Lone Operatives spotted near the nanotrasen stations! Keep the
+ disk safe!
+ - tweak: Admin spawned nuclear operatives will now have access to nukeop equipment
+ Gun Hog:
+ - rscadd: Nanotrasen's research team has released a new, high tech design for Science
+ Goggles, which previously did nothing! They new come fitted with a portable
+ scanning module which will display the potential research data gained from experimenting
+ with an object. Nanotrasen has also released drivers which shall enable the
+ prototype hardsuit's built in scan visor.
+ - rscadd: Supporting this new design, Nanotrasen has seen fit to provide blueprints
+ for Science Goggles to the station's protolathe.
+ Kor:
+ - tweak: Gang implanters now only break implants/deconvert gangsters, meaning you
+ will have to use a pen to convert them afterwards.
+ - rscadd: An important function, accessible via alt+click, has been restored to
+ the detectives hat.
+ - sounddel: When Nar-Sie is created, they now use the old sound effect.
+ Steelpoint:
+ - rscadd: The Chief Medical Officers 'Medical Hardsuit' has been added to the CMO's
+ office. Boasts the usage of lightweight materials allowing fast movement while
+ wearing the suit as well as complete biological protection to airborne and similar
+ pathogens.
+ - rscadd: The Head of Security's personal 'HoS Hardsuit' has been added to the HoS's
+ office. This Hardsuit is slightly more armored than the regular Security Hardsuit.
+ - rscadd: The Research Directors 'Prototype Hardsuit' has been added to the RD's
+ office. This Hardsuit offers the highest levels of protection against explosive,
+ as well as biological, attacks, as well as fireproofing.
+ - rscdel: The Command EVA space suits, due to budget concerns, have been removed
+ and reloacted to another space station.
+ Xhuis:
+ - rscdel: All instances of autorifles have been removed from Security.
+ - rscadd: The armory has been re-mapped.
+ - tweak: The spell book has received a rebalancing! There are now ten uses by default,
+ but most spells cost two uses. Some underused spells, like Blind, Smoke, and
+ Forcewall, only cost a single use.
+ - experiment: After searching through the Sleeping Carp's ancient monastery in deep
+ space, more secrets have been uncovered of their traditional fighting techniques.
+ - tweak: Members of the Sleeping Carp gang are now able to deflect all ranged projectiles.
+ - tweak: Members of the Sleeping Carp gang are now uanble to use any type of ranged
+ weaponry. Doing so would be dishonorable.
+ - tweak: The Sleeping Carp martial art's effects are more damaging, and many stuns
+ have been increased in duration.
+ phil235:
+ - bugfix: Fixes critical bug causing multiple hits from single projectile.
+ - bugfix: Fixes not being able to shoot a mob on same tile as the shooter.
+ - bugfix: Clicking your mob (without targeting your mouth) no longer causes you
+ to shoot yourself.
+ - bugfix: Fixes not being able to shoot non human mobs at point blank.
+ - rscdel: Morphs no longer automatically drop the things they swallowed, you have
+ to butcher their corpse to retrieve their contents.
+ - bugfix: butchering a corpse no longer also attacks it.
+ - rscdel: Dipping cigarette (to asbsorb liquids) in a glass can now only be done
+ with an unlit cigarette. Lit cigarette now heats up the glass content (like
+ other heat sources).
+ - bugfix: Fixes trashbag not being able to pickup drinks and ammo casings.
+ - tweak: Slimes now attaches themselves to mobs via buckling.
+2015-10-16:
+ MrStonedOne:
+ - rscadd: Added a reconnect option to the file menu. This will allow you to reconnect
+ to the game server without closing and re-opening the game window. This should
+ also prevent another byond ad from playing during reconnections.
+ Xhuis:
+ - rscadd: A gamebreaking bug has been fixed with buckets. You can now wear them
+ on your head.
+ bgobandit:
+ - rscadd: The Grape Growers Consortium has complained that Nanotrasen kitchens do
+ not use their products enough. HQ has come up with a few recipes to pacify them.
+ Goddamn winos.
+2015-10-19:
+ AnturK:
+ - rscadd: Handheld T-Ray Scanners now detect critters in pipes.
+ Kor:
+ - tweak: Weapons and projectiles that are armour piercing now have an increased
+ chance to bypass riot shields.
+ - tweak: Slipping on lube now deals slightly more damage, but is concentrated on
+ a random body part, rather than spread to your entire body.
+ - tweak: Slipping on water no longer deals damage
+ - rscadd: You can now attach grenades and C4 to spears to create explosive lances.
+ This is done via table crafting. Alt+click the spear to set a war cry.
+ Shadowlight213:
+ - rscadd: In response to reports of stranded drones, Nanotrasen has added magnets
+ to drone legs. They are no longer affected by lack of gravity or spacewind!
+ - bugfix: Drones can now set Airlock access on RCDs.
+ bgobandit:
+ - rscadd: Nanotrasen loves recycling! In the highly unlikely occasion that your
+ space station accumulates gibs, scoop 'em up and bring them to chemistry to
+ recycle into soap, candles, or even delicious meat product!
+ - rscadd: L3 biohazard closets now contain bio-bag satchels for the safe collection
+ of biowaste products, such as slime extracts.
+ phil235:
+ - rscdel: Removing Smile, Swedish, Chav and Elvis mutations from genetics. These
+ mutation can still be acquired via adminspawned dna injector.
+ - rscadd: Added a dna injector for laser eyes mutation for admin use.
+ - bugfix: Fixes winter coat hood sprite appearing as a bucket.
+ - bugfix: Fixes using razor on non human shaving non existent hair.
+ - bugfix: Fixes chair deconstruction dropping too much metal.
+ - bugfix: Fixes snapcorn not giving seeds.
+ - bugfix: Fixes portable chem dispenser.
+ - tweak: Changing the transfer amount of all reagent containers (beaker, bucket,
+ glass) is now done by clicking them, similar to spray. Reagent dispensers (watertank,
+ fueltank, pepperspray dispenser) no longer have their own transfer amounts and
+ use the reagent container's transfer amount instead (except for sprays which
+ get 50u for faster refilling).
+2015-10-23:
+ Incoming5643:
+ - rscadd: 'Syndicate bomb payloads will now detonate if set on fire long enough.
+ Note that the casings for the bombs is fireproof, so if you want to set fire
+ to a bombcore you''ll need to remove it from the case first (cut all wires,
+ then crowbar it out). A reassurance from our explosives department: it is, and
+ always has been, impossible to detonate a syndicate bomb that isn''t ticking
+ with wirecutters alone.'
+ Xhuis:
+ - rscadd: Geiger counters have been added and are obtainable from autolathes and
+ EngiVends. They will measure the severity of radiation pulses while in your
+ pockets, belt, or hands. One can scan a mob's radiation level by switching to
+ Help intent and clicking on it. These counters never really discard the radiation
+ they store, and rumor has it this can be used in nefarious ways...
+ - tweak: When a mob is impacted by radiation, the radiation is now relayed to all
+ items on the mob.
+2015-10-24:
+ Kor:
+ - rscadd: The friendly gold slime reaction now spawns three mobs.
+ phil235:
+ - tweak: Changed the effects of alcohol to be more realistic. The effects of alcohol
+ now appear twice as fast. Drunkenness now scales with how much alcohol is in
+ you, not how long you've been drinking. This means drinking very little but
+ continuously no longer makes you very drunk, or confused/slurring for a long
+ time or give you alcohol poisoning. The dizziness and slurring effects now properly
+ scale with how drunk you are (and dizziness is generally more pronounced).
+2015-10-25:
+ Incoming5643:
+ - rscadd: The spell Charge has been added to the spellbook. It can be used to extend
+ the life of magic and energy weapons and even reset the cooldowns of held wizards!
+ It cannot reset your own cooldowns.
+ - rscadd: The Staff of Healing has been added to the spellbook. Heals all damage
+ and raises the dead! Can't be used on yourself however.
+ - bugfix: The exploit that allowed you to use the staff of healing on yourself by
+ suicide has been fixed.
+ Jordie0608:
+ - rscadd: You can now selectively mute non-admin players from OOC with the Ignore
+ verb in the OOC tab.
+ Tkdrg:
+ - rscadd: Added chainsaws. They can be tablecrafted using a circular saw, a plasteel
+ sheet, some cable coil, and a welding tool. Don't forget to turn it on!
+2015-10-26:
+ Fox P McCloud:
+ - tweak: Standardizes the slowdown of most spacesuits to 1 as opposed to 2.
+ Incoming5643:
+ - rscadd: 48x48 pixel mode (x1.5 zoom) has been added to the Icons menu (top left).
+ While playing in 32x32 or 64x64 will still provide a clearer looking station,
+ for those of us with resolutions that fall into the gap between the two zooms
+ this can provide a more consistant looking station than stretch to fit.
+ - rscadd: 96x96 pixel mode (x3 zoom) has also been added for our players who enjoy
+ looking at spacemen on their 4k monitors at a crisp and consistent scale.
+ - tweak: The lich spell has been subjected to some gentle nerfing. When you die
+ a string of energy will tie your new body to your old body for a short time,
+ aiding others in determining your location. The duration of this beam scales
+ with the number of deaths you've avoided.
+ - tweak: Additionally the post revival stun now also scales in this way.
+ - tweak: The spell will also fail if the item and the wizard don't share the same
+ z level, though the nature of space means the odds of the item (or the wizard)
+ looping around back to the station is pretty high.
+ - rscadd: The spell is still really good.
+2015-10-27:
+ Joan:
+ - bugfix: You can now click on things under timestop effects, instead of clicking
+ the effect and looking like a fool.
+ Kor:
+ - rscadd: Added a zombie mob that turns its kills into more zombies. Currently adminspawn
+ and xenobio only.
+ - rscadd: Using water with a red slime extract will now yield a speed potion. Using
+ the speed potion on an item of clothing will paint it red and remove its slowdown.
+ MrStonedOne:
+ - rscadd: You may now access the setup character screen when not in the lobby via
+ the game preferences verb in the preferences tab
+ - rscadd: The round end restart delay can now be configured by server operators.
+ New servers will default to 90 seconds while old servers will default to the
+ old 25 seconds until they import the config option to their server.
+2015-10-28:
+ Tkdrg:
+ - rscadd: Added a Ghost On-screen HUD. It can be toggled using the "Toggle Ghost
+ HUD" verb. Thank you Razharas for the sprites!
+ - rscadd: Ghosts can now use the "Toggle med/sec HUD" verb to see the basic secHUD
+ (jobs only) or the medHUD of humans.
+ - rscadd: Ghost will now get clickable icon alerts from events such as being put
+ in a cloner, drones being created, Nar-sie being summoned, among others. The
+ older chat messages were kept. These alerts can not be toggled.
+2015-10-29:
+ Kor:
+ - tweak: Slightly changed what items spawn on the captain vs in his locker, hopefully
+ saving some annoying inventory shuffle at roundstart.
+2015-10-30:
+ Incoming5643:
+ - rscadd: Slimepeople can now split if they contain 200 units of slime jelly, and
+ slimepeople will now slowly generate slime jelly up to 200 units provided they
+ are very well fed. Split slimepeople are NOT player controlled, but rather the
+ original slime person can swap between the two mobs at will. If one of the slimepeople
+ should die under player control, the player won't be able to swap back to their
+ living body. Splitting only creates a new body, any items you have on you are
+ not duplicated.
+ - rscadd: Slimepeople now take half damage from sources of heat, but double damage
+ from sources of cold. Lasers good, Space bad.
diff --git a/html/changelogs/archive/2015-11.yml b/html/changelogs/archive/2015-11.yml
new file mode 100644
index 0000000000..c0223b35f8
--- /dev/null
+++ b/html/changelogs/archive/2015-11.yml
@@ -0,0 +1,456 @@
+2015-11-01:
+ Gun Hog:
+ - rscadd: Nanotrasen listens! After numerous complaints and petitions from Security
+ personnel regarding energy weapon upkeep, we have authorized the construction
+ and maintenance of your station's weapon rechargers. As an added bonus, we have
+ also provided a more modular design for the devices, allowing for greater recharge
+ rates if fitted with a more efficient capacitor!
+ - rscadd: Added Diagnostic HUDs! They can be used to view the health and cell status
+ of borgs and mechs. Silicons have them built in, Roboticists get two in their
+ locker, and the RD's hardsuit has one built in.
+ Incoming5643:
+ - rscadd: The number of roundstart head revolutionaries nows depends on the roundstart
+ security force as well as the roundstart heads
+ - rscadd: The maximum number of head revs is 3, the minimum is 1. If there is fewer
+ than three station heads there will never be more than that number of head revs
+ at roundstart. For every three vacant security roles (Head of Security/Warden/Security
+ Officer/Detective) at roundstart the number of starting head revs will be reduced
+ by 1.
+ - rscadd: Head revolutionaries can be gained during play if the security/head roles
+ are filled. They are drawn from existing revolutionaries.
+ - rscadd: Added dental implant surgery. While targeting the mouth drill a hole in
+ a tooth then stick a pill in there for hands free later use.
+ Kor:
+ - rscadd: Added an experimental control console for Xenobiology. Ask the admins
+ if you'd like to try it out. It may not work on maps other than Box if they
+ have renamed the Xenobiology Lab.
+ - rscadd: Injecting blood into a cerulean slime will yield a special one use set
+ of blueprints that will allow you to expand the territory your camera can cover.
+ Kor and Remie:
+ - rscadd: Added as series of laser reflector structures, the frame of which can
+ be built with 5 metal sheets.
+ - rscadd: Completing the frame with 5 glass sheets creates a mirror that will reflect
+ lasers at a 90 degree angle.
+ - rscadd: Completing the frame with 10 reinforced glass sheets creates a double
+ sided mirror that reflects lasers at a 90 degree angle.
+ - rscadd: Completing the frame with a single diamond sheet creates a box that will
+ redirect all lasers that hit it from any angle in a single direction.
+ MMMiracles:
+ - tweak: Energy Swords can now embed when thrown for a 75% chance. Embedding
+2015-11-05:
+ AnturK:
+ - rscadd: Added wild shapeshift spell for wizards.
+2015-11-08:
+ Cuboos:
+ - soundadd: Added a new and better sounding flashbang sound and a ringing sound
+ for flashbang deaf effect
+ JJRcop:
+ - tweak: Chronosuits have had their movement revised, they now take time to teleport
+ depending on how far you've traveled, and don't teleport automatically anymore
+ unless you stop moving for a short moment, or press the new ' Teleport Now'
+ button.
+ - rscadd: Added new outfit that allows admins to dress people up in the chrono equipment
+ easier.
+ Jalleo:
+ - tweak: Due to a recently discovered report it turns out The Wizard Federation
+ has devised a way for CEOs to stop having some teas from their Smartfridges
+ due to this change all smartfridges will temporarily be unable to stack contents.
+ Joan:
+ - tweak: Revenant draining now takes about 5 seconds to complete and can be interrupted
+ by dragging the target away.
+ - tweak: Revenants can now tell if they are currently visible.
+ - tweak: Revenant ability costs tweaked; Defile now costs 40 essence to cast, Overload
+ Lights now costs 45 essence to cast, and Malfunction now costs 50 essence to
+ cast.
+ - tweak: Malfunction now affects non-machine objects, even if they're not being
+ held by a human.
+ - tweak: Defile does an extremely low amount of toxin damage to humans and confuses,
+ but does much less stamina damage and stuns the revenant for slightly longer.
+ - tweak: Overload Lights will no longer shock if the light is broken after a light
+ is chosen to shock an area.
+ Kor:
+ - rscadd: Using water on a dark blue slime extract will now yield a new potion capable
+ of completely fireproofing clothing items.
+ - rscadd: You can once again click+drag mobs into disposal units. Xenobiologists
+ rejoice.
+ Xhuis:
+ - tweak: Shadowling abilities now require the user to be human.
+ - tweak: Enthralling now takes 21 seconds (down from 30).
+ - tweak: Regenerate Chitin has been renamed to Rapid Re-Hatch.
+ - tweak: Dethralling surgery's final step now requires a flash, penlight, or flashlight.
+ - tweak: Dethralling surgery now produces a black tumor, which has a high biological
+ tech origin but dies quickly in the light.
+ - rscdel: Shadowlings no longer have Enthrall before hatching.
+ - rscadd: Shadowling clothing now has icons to better reflect its existence.
+ - rscdel: Ascendant Broadcast has been removed.
+ - rscdel: Destroy Engines is now removed from the user after it is used once.
+2015-11-11:
+ AnturK:
+ - tweak: DNA Injectors now grant temporary powers on every use. Duration dependent
+ on activated powers and machine upgrades
+ - rscadd: 'Delayed Transfer added to DNA Scanner - It will activate on the next
+ closing of scanner door '
+ - rscadd: 'UI+UE injectors/buffer transfers added for convinience '
+ - tweak: Injector creation timeout cut in half
+ Firecage:
+ - rscadd: NanoTrasen specialists has developed a new type of operating table. You
+ can now make one yourself with only some rods and a sheet of silver!
+ Kor:
+ - rscadd: Adds immovable and indestructible reflector structures for badmin use.
+ - rscadd: The Mjolnir has been added to the wizards spellbook.
+ - rscadd: The Singularity Hammer has been added to the wizards spellbook.
+ - rscadd: The Supermatter Sword has been added to the wizards spellbook.
+ - rscadd: The Veil Render has been added to the wizards spellbook.
+ - rscadd: Trigger Multiverse War (give the entire crew multiswords) has been added
+ to the wizards spellbook, at a cost of 8 points.
+ - rscadd: Converting (to cultist, rev, or gangster) a jobbaned player will now automatically
+ offer control of their character to ghosts.
+ - rscadd: Emergency Response Teams and Deathsquads no longer accept non-human members
+ if the server is configured to bar mutants from being heads of staff.
+ LordPidey:
+ - rscadd: Nanotransen doctors have re-approved Saline-Glucose Solution for usage
+ in IV drips, when blood supplies are low. Simple pills will not suffice.
+ MMMiracles:
+ - tweak: Water slips have been nerfed to a more reasonable duration. It is still
+ a guaranteed way to disarm an opponent and obtain their weapon, but you can
+ no longer manage to cuff/choke everyone who manages to slip without a problem.
+ MrStonedOne:
+ - bugfix: Fixes the smartfridge not stacking items.
+ Xhuis:
+ - soundadd: The emergency shuttle now plays unique sounds (thanks to Cuboos for
+ creating them) when launching from the station and arriving at Central Command.
+ torger597:
+ - rscadd: Added a syringe to boxed poison kits.
+2015-11-12:
+ Dunc:
+ - rscdel: DNA injectors have been restored to their original permanent RNG state
+ from the impermanent guaranteed state.
+ Xhuis:
+ - rscadd: Reagents can no longer be determined by examining a reagent container
+ without the proper apparatus. Silicons and ghosts can always see reagents.
+ - rscadd: Science goggles now allow reagents to be seen on examine. In addition,
+ chemists now start wearing them. The bartender has a pair that looks and functions
+ like sunglasses.
+2015-11-13:
+ as334:
+ - rscadd: Nanotrasen has hired a brand new supply of ~~expendable labor~~ *LOYAL
+ CREW MEMBERS* please welcome them with open arms.
+ - rscadd: Plasmamen are now a playable race. They require plasma gas to survive
+ and will ignite in oxygen environments.
+2015-11-15:
+ CosmicScientist:
+ - tweak: Hopefully made the dehydrated carp's uplink description 100% clear.
+ - tweak: Made the dehydrated carp cost 1 TC (instead of 3) to help with your traitor
+ gear combos.
+ Incoming5643:
+ - tweak: The supermatter sword was being far too kind in the hands of men. They
+ should now have the desired effect when swung at people.
+ Joan:
+ - tweak: Anomalies move more often, are resistant to explosions and will only be
+ destroyed if they are in devastation range. You shouldn't bomb them, though.
+ - tweak: Hyper-energetic flux anomaly will shock mobs that run into it, or if it
+ runs into them.
+ - tweak: Bluespace anomaly will occasionally teleport mobs away from it in a small
+ radius.
+ - tweak: Vortex anomalies will sometimes throw objects at nearby living mobs.
+ - tweak: Pyroclastic anomalies will produce bigger, hotter fires, and if not disabled,
+ it will release an additional burst of flame. In addition, the resulting slime
+ will be rabid and thus attack much more aggressively.
+ - bugfix: Gravitational anomalies will now properly throw objects at nearby living
+ things.
+ MrStonedOne:
+ - bugfix: Away mission loading will no longer improperly expand the width of the
+ game world to two times the size of the away mission map.
+ - tweak: This should also improve the speed of loading away missions, since the
+ game doesn't have to resize the world
+ RemieRichards:
+ - rscadd: Deities now start off with the ability to place 1 free turret
+ - tweak: HoG Claymores now do 30 Brute (Down from 40) but now have 15 Armour Penetration
+ (Up from 0)
+ - bugfix: Killing the other god objective is fixed
+ - tweak: Turrets will no longer attack handcuffed people
+ - rscadd: Followers are now informed of their god's death
+ - rscadd: Followers are now informed of the location of their god's nexus when it
+ is placed
+ - tweak: Gods can no longer place structures near the enemy god's nexus
+2015-11-16:
+ Gun Hog:
+ - tweak: The Combat tech requirement for Loyalty Firing Pins has been reduced from
+ 6 to 5.
+ Joan:
+ - tweak: Plasmamen can now man the bar.
+ - tweak: Defile no longer directly affects mobs. Instead, it rips up floors and
+ opens most machines and lockers.
+ - rscadd: Blight added. Blight infects humans with a virus that does a set amount
+ of damage over time and is relatively easily cured. Blight also badly affects
+ nonhuman mobs and other living things.
+ - experiment: While the cure to Blight is simple, it's not in this changelog. Use
+ a medical analyzer to find the cure.
+ - tweak: Tweaked costs and stuntimes of abilities;
+ - tweak: Defile now costs 30 essence and stuns for about a second.
+ - tweak: Overload Lights now costs 40 essence.
+ - tweak: Malfunction now costs 45 essence.
+ - rscadd: Blight costs 50 essence and 200 essence to unlock.
+ - imageadd: Transmit has a new, spookier icon.
+ - bugfix: Revenant abilities can be given to non-revenants, and will work as normal
+ spells instead of runtiming.
+ bgobandit:
+ - rscadd: Blood packs can now be labeled with a pen.
+2015-11-17:
+ Xhuis:
+ - tweak: Many medicines have received rebalancing. Expect underused chemicals like
+ Oxandralone to be much more effective in restoring damage.
+ - tweak: Many toxins are now more or less efficient.
+ - tweak: The descriptions of many reagents have been made more accurate.
+ - rscadd: 'New poison: Heparin. Made from Formaldehyde, Sodium, Chlorine, and Lithium.
+ Functions as an anticoagulant, inducing uncontrollable bleeding and small amounts
+ of bruising.'
+ - rscadd: 'New poison: Teslium. Made from Plasma, Silver, and Black Powder, heated
+ to 400K. Modifies examine text and induces periodic shocks in the victim as
+ well as making all shocks against them more damaging.'
+ - rscadd: Two Chemistry books have been placed in the lab. When used, they will
+ link to the wiki page for chemistry in the same vein as other wiki books.
+2015-11-18:
+ oranges:
+ - tweak: Nanotrasen apologies for a recent bad batch of synthflesh that was shipped
+ to the station, any rumours of death or serious injury are false and should
+ be reported to your nearest political officer. At most, only light burns would
+ result.
+ phil235:
+ - bugfix: Remotely detonating a planted c4 with a signaler now works again.
+2015-11-19:
+ Joan:
+ - rscadd: Constructs have action buttons for their spells.
+ - imageadd: The Juggernaut forcewall now has a new, more cult-appropriate sprite.
+ - imageadd: Cult floors and walls now have a glow effect when being created.
+ - bugfix: Nar-Sie and Artificers will properly produce cult flooring.
+ - spellcheck: Nar-Sie is a she.
+2015-11-20:
+ AnturK:
+ - tweak: Staff of Doors now creates random types of doors.
+ Incoming5643:
+ - bugfix: Setting your species to something other than human (if available) once
+ again saves properly. Note that if you join a round where your species setting
+ is no longer valid it will be reset to human.
+ PKPenguin321:
+ - tweak: Healing Fountains in Hand of God now give cultists a better and more culty
+ healing chemical instead of Doctor's Delight.
+ kingofkosmos:
+ - rscadd: Added the ability to upgrade your grab by clicking the grabbed mob repeatedly.
+ octareenroon91:
+ - rscadd: Add the four-color pen, which writes in black, red, green, and blue.
+ - rscadd: Adds two such pens to the Bureaucracy supply pack.
+2015-11-21:
+ Joan:
+ - rscadd: Blobs now have a hud, with jump to node, create storage blob, create resource
+ blob, create node blob, create factory blob, readapt chemical, relocate core,
+ and jump to core buttons.
+ - tweak: Manual blob expansion is now triggered by clicking anything next to a blob
+ tile, instead of by ctrl-click.
+ - tweak: 'Rally Spores no longer has a cost. Reminder: You can middle-click anything
+ you can see to rally spores to it.'
+ - tweak: Creating a Shield Blob with hotkeys is now ctrl-click instead of alt-click.
+ - rscadd: Removing a blob now refunds some points based on the blob type, usually
+ around 40% of initial cost. Hotkey for removal is alt-click.
+ - rscadd: Blobs now have the *Blob Help* verb which will pull up useful information,
+ including what your reagent does.
+ - tweak: Storage Blobs now cost 20, from 40. Storage Blobs also cannot be removed
+ by blob removal.
+ - tweak: Readapt Chemical now costs 40, from 50.
+ octareenroon91:
+ - rscadd: Add numbers and a star graffiti to crayon/spraycan designs.
+2015-11-23:
+ octareenroon91:
+ - rscadd: Spilling oxygen or nitrogen will obtain a release of the corresponding
+ atmospheric gas in the effected tile.
+ - rscadd: 'Carbon Dioxide has been added as a reagent. Recipe: 2:1 carbon:oxygen,
+ heated to 777K.'
+ - rscadd: Spilling CO2 will produce CO2 gas.
+2015-11-24:
+ Kor:
+ - rscadd: Added a lava turf. Expect to see it in away missions or in admin 'events'
+2015-11-25:
+ Incoming5643:
+ - experiment: A number of popular stunning spells have undergone balance changes.
+ Note that for the most part the stuns themselves are untouched.
+ - experiment: 'Lightning Bolt Changes:'
+ - rscdel: You can no longer throw the bolt whenever you want, it will fire itself
+ once it's done charging.
+ - rscadd: Getting hit by a bolt will do a flat 30 burn now, as opposed to scaling
+ with how long the wizard spent charging the spell. Unless said wizard made a
+ habit of charging lightning bolt to near maximum every time this is a buff to
+ damage.
+ - rscdel: Every time the bolt jumps the next shock will do five less burn damage.
+ - rscadd: Lightning bolts can still jump back to the same body, so the maximum number
+ of bolts you can be hit by in a single casting is three, and the maximum amount
+ of damage you could take for that is 60 burn.
+ - experiment: 'Magic Missile Changes:'
+ - rscdel: Cooldown raised to 20 seconds, up from 15
+ - rscadd: Cooldown reduction from taking the spell multiple times raised from 1.5
+ seconds to 3.5 seconds. Rank 5 magic missile now has a cooldown of 6 seconds,
+ down from 9, and is effectively a permastun.
+ - experiment: 'Time Stop Changes:'
+ - rscadd: Time Stop field now persists for 10 seconds, up from 9
+ - rscdel: Cooldown raised to 50 seconds, up from 40
+ - rscadd: Cooldown reduction from taking the spell multiple times raised from 7.75
+ seconds to 10 seconds. Rank 5 time stop now has a cooldown of 10 seconds, up
+ from 9, and is effectively a permastun.
+ Kor:
+ - rscadd: Escape pods can now be launched to the asteroid during red and delta level
+ security alerts. Pods launched in this manner will not travel to Centcomm at
+ the end of the round.
+ - rscadd: Each pod is now equipped with a safe that contains two emergency space
+ suits and mining pickaxes. This safe will only open during red or delta level
+ security alerts.
+ MrStonedOne:
+ - bugfix: fixes interfaces (like the "ready" button) being unresponsive for the
+ first minute or two after connecting.
+ - tweak: Burn related code has been changed
+ - tweak: This will give a small buff to fires by making them burn for longer
+ - tweak: This will give a massive nerf to plasma related bombs
+ - tweak: I am actively seeking feedback, if the nerf to bombs is too bad we can
+ still tweak stuff
+ PKPenguin321:
+ - rscadd: Chainsaws (both arm-mounted and not arm-mounted) can now be used in surgeries
+ as a ghetto sawing tool. Arm-mounted chainsaws are a teeny bit more precise
+ than regular ol' everyday chainsaws.
+ YotaXP:
+ - tweak: Spruced up the preview icons on the Character Setup dialog.
+ incoming5643:
+ - rscdel: Citing shenanigan quality concerns the wizard federation has withdrawn
+ supermatter swords and veil renderers from spellbooks.
+ neersighted:
+ - bugfix: Make Airlock Electronics use standard ID checks, allowing Drones to use
+ them.
+2015-11-26:
+ neersighted:
+ - tweak: Cyborg Toner is now refilled by recharging stations.
+ oranges:
+ - tweak: Removed the 'gloves' from the sailor dress which looked weird since it
+ was a blouse basically
+ - tweak: Made the skirt on the blue/red skirts less blocky,
+ - tweak: Made the striped dress consistent at every direction
+2015-11-27:
+ AnturK:
+ - rscadd: Turret control panels can now be made through frames available at autolathe.
+ - rscadd: Unlocked turrets can be linked with built controls with multiool
+ JJRcop:
+ - bugfix: Restores golem shock immunity.
+ Kor and Ausops:
+ - rscadd: Added four different suits of medieval plate armour.
+ - rscadd: The Chaplain starts with a suit of Templar armour in his locker. God wills
+ it!
+ - rscadd: Rumour has it that Nanotrasen is now training a new elite unit of soldiers
+ to deal with paranormal threats. Corporate was unable to be reached for comment.
+ MMMiracles:
+ - rscadd: Adds a brand new away mission for the gateway called 'Caves'.
+ - rscadd: The away mission has multiple levels to explore and could be quite dangerous,
+ running in without proper preparation is unadvised.
+ YotaXP:
+ - bugfix: Drones can now use the pick-up verb, and watertanks no longer get jammed
+ in their internal storage.
+ bgobandit:
+ - rscadd: Due to changes in Nanotrasen's mining supply chain, ore redemption machines
+ now offer a variety of upgraded items! However, certain items are more expensive.
+ Point values for minerals have been adjusted to reflect their scarcity.
+ - rscadd: Nanotrasen R&D has discovered how to improve upon the resonator and kinetic
+ accelerator.
+ - rscadd: After a colossal tectonic event on Nanotrasen's asteroid, ores are distributed
+ more randomly.
+ - rscadd: Bluespace crystals have been discovered to be ore. They will now fit into
+ satchels and ore boxes.
+ - rscadd: Mech advanced mining scanners now include meson functionality.
+ neersighted:
+ - bugfix: Wooden Barricades now take bullet damage.
+ - tweak: Rebalance Wooden Barricade damage.
+2015-11-28:
+ TechnoAlchemisto:
+ - tweak: Cloaks are now worn in your exosuit slot!
+2015-11-29:
+ Firecage:
+ - rscadd: Hand tools now have variable operating speeds.
+ GunHog:
+ - tweak: Nanotrasen has improved the interface for the hand-held teleportation device.
+ It will now provide the user with the name of the destination tracking beacon.
+ JJRcop:
+ - bugfix: Fixes changeling Hive Absorb DNA ability runtime.
+ Joan:
+ - imageadd: When sacrificing a target with the sacrifice rune, Nar-Sie herself will
+ briefly appear to consume them.
+ - imageadd: When an artificer repairs a construct, there is a visible beam between
+ it and the target.
+ - imageadd: When reviving a target with the raise dead rune, there is a visible
+ beam between the two corpses used.
+ - imageadd: When draining a target with the blood drain rune, there is a visible
+ beam between you and the rune.
+ - imageadd: Construct sprites are now consistent and all bob in the air.
+ - rscadd: Most cult messages now use the cult span classes, though visible messages
+ from cult things generally do not.
+ - bugfix: Examining a cultist talisman as a cultist no longer causes the paper popup
+ to appear.
+ - bugfix: You no longer need to press two buttons to read a cultist tome.
+ - spellcheck: Cult should have a few less typos and grammatical errors.
+ - spellcheck: The sacrifice rune now uses the proper invocation.
+ KorPhaeron:
+ - rscadd: Guardians and holoparasites can now be manually recalled by their master.
+ - rscadd: The ghost controlling a guardian or holoparasite can be repicked by their
+ master, only one use which is removed when a new ghost is chosen.
+ MrStonedOne:
+ - rscadd: Re-adds 100% chance timed injectors, as it was removed over a misunderstanding.
+ - bugfix: Fixes bug with injectors having a 100% power chance despite not being
+ timed
+ - bugfix: Fixes the excessive amount of time it took the game to initialize.
+ - bugfix: Fixes some interface bugs.
+ - rscadd: when an interface window has to send a lot of resources before it can
+ open, it will now tell you with a "sending resources" line so you know why it's
+ not opening right away.
+ PKPenguin321:
+ - rscadd: Teleprods can now be constructed. Make them via tablecrafting, or by putting
+ a bluespace crystal onto a stunprod. They warp the target to a random nearby
+ area (which may include space/the inside of a wall) in addition to giving the
+ victim a brief stun. Like stunprods, they require a power cell to function.
+ - rscadd: Teleprods can have their crystal removed and be made back into stunprods
+ by using them in your hand when they have no cell installed.
+ - imageadd: Mounted chainsaws now have a unique inhand sprite.
+ Remie + Kor:
+ - tweak: Holopads now use AltClick to request the AI
+ Shadowlight213:
+ - tweak: Syndie melee mobs have been buffed.
+ TheNightingale:
+ - rscadd: Nuclear operatives can now buy the Elite Syndicate Hardsuit for 8 TC that
+ has better armor and fireproofing.
+ - tweak: Added throwing stars and Syndicate playing cards to nuclear operative's
+ uplink.
+ Yolopanther12:
+ - rscadd: Added the ability to use a box of lights on a light replacer to more quickly
+ refill it to capacity.
+ incoming5643:
+ - rscadd: OOC will now take steps to try and prevent accidental IC from people who
+ mistakenly use OOC instead of say. This doesn't catch all mistakes, so please
+ don't test it.
+ ktccd:
+ - bugfix: Blob pieces on some areas no longer count for blob mode victory (Such
+ as space or asteroid).
+ - bugfix: Blobcode no longer spawns and destroys blobs uselessly, which fixes other
+ stuff too.
+ - bugfix: Asteroid areas are no longer valid gang territory.
+ neersighted:
+ - experiment: Nanotrasen would like to announce NanoUI 2.0, now being rolled out
+ across all our stations. Existing NanoUI devices have been updated, and more
+ will be added soon. Please report any bugs to Nanotrasen Support.
+ - tweak: Many NanoUI interfaces have had +/- buttons replaced with input fields.
+ - tweak: Some NanoUI interfaces have had more information added.
+ - bugfix: Drones can now interact with NanoUI windows.
+ swankcookie:
+ - bugfix: Fixes issue of space-Christians forgetting about the true, humbling values
+ of space-Christmas.
+ - rscadd: Adds snowmen outfits
+2015-11-30:
+ neersighted:
+ - bugfix: Nanotrasen would like to apologize for Chemistry being stuck on NanoUI
+ 1.0... Please report any further bugs to Nanotrasen Support.
+ - tweak: NanoUI becomes... difficult to operate with brain damage. Who would have
+ guessed?
+ - tweak: Telekinesis enables you to use NanoUI at a distance.
+ - bugfix: Canisters require physical proximity to actuate...
+ - bugfix: NanoUI no longer leaks memory on click.
diff --git a/html/changelogs/archive/2015-12.yml b/html/changelogs/archive/2015-12.yml
new file mode 100644
index 0000000000..81dde90a37
--- /dev/null
+++ b/html/changelogs/archive/2015-12.yml
@@ -0,0 +1,448 @@
+2015-12-01:
+ Kor:
+ - rscadd: The away mission Listening Post, originally mapped by Petethegoat, has
+ removed as a mission. It is now present in normal deep space.
+ neersighted:
+ - tweak: Attack animations are now directional!
+ - rscadd: Nanotrasen brand Airlock Electronics now sport our latest NanoUI interface!
+ Upgrade your electronics today!
+ - bugfix: Cryo now knocks you out.
+ - bugfix: Resisting out of cryo has a delay.
+ - rscadd: Cryo auto-ejection can now be configured.
+ - rscdel: Remove Cryo eject verb (resist out).
+ - bugfix: Cryo works... Love, neersighted
+ swankcookie:
+ - tweak: Switches cloak usage to overclothing slot
+2015-12-02:
+ GunHog:
+ - bugfix: Nanotrasen has discovered a flaw in the weapon recharging station's design
+ that makes it incompatible with the Rapid Part Exchange Device. This has been
+ corrected.
+ neersighted:
+ - tweak: You can now stop pulling by trying to pull the same object again.
+ - rscadd: Nanotrasen is proud to announce that even the dead can use our state of
+ the art NanoUI technology.
+2015-12-03:
+ Joan:
+ - rscadd: Artificers now have feedback when healing other constructs, showing how
+ much health the target has.
+ - tweak: Constructs can move in space.
+ - imageadd: Fixes cult flooring not lining up with normal floors.
+ - imageadd: Fixes a juggernaut back spine not glowing where it should.
+ Spudboy:
+ - tweak: Realigned the librarian's PDA.
+ Swankcookie:
+ - bugfix: Cakehat now creates light
+ YotaXP:
+ - rscadd: Rolled out a new line of space heaters around the station. This new model
+ has the functionality to cool down the environment, as well as heat it. Additionally,
+ they can be built and upgraded like any other machine.
+ neersighted:
+ - bugfix: Dominator now shows the correct area name on non-Box maps.
+ - bugfix: Unwrenching atmos pipes is less... nuts...
+ - bugfix: You don't get hopelessly spun when standing on a unwrenched pipe... Don't
+ try it, though.
+ - tweak: You can now cancel pulling by Ctrl+Clicking anything else
+ - tweak: Chemistry Dispensers now have a built-in drain!
+2015-12-05:
+ Joan:
+ - rscdel: Magic missiles no longer do damage.
+2015-12-06:
+ Gun Hog:
+ - rscadd: Nanotrasen is proud to announce that it has improved its Diagnostic HUD
+ firmware to include the station's automated robot population! New features include
+ integrity tracking, Off/On status, and mode tracking! If your little robot friend
+ suddenly manages to acquire free will, you will be able to track that as well!
+ - tweak: Artificial Intelligence units may find that their bot management interface
+ now shows when a robot gains free will. This is also displayed on the Personal
+ Data Assistant's bot control interface.
+ neersighted:
+ - bugfix: Cryo now properly checks it is on before healing...
+2015-12-07:
+ octareenroon91:
+ - rscadd: Wallets now use the access of all IDs stored inside them.
+ - rscadd: As the accesses of all IDs are merged, two IDs in a wallet may grant access
+ to a door that neither one alone would open.
+ - bugfix: Wallets used to be useless for access if the first ID card put into it
+ was taken out, until another ID card was put back in. That should not happen
+ anymore.
+2015-12-08:
+ Joan:
+ - experiment: Revenants can no longer move through walls and windows while revealed,
+ though they can move through tables, plastic flaps, mobs, and other similarly
+ thin objects.
+ - tweak: Defile now reveals for 4 seconds, from 8.
+ - tweak: Overload lights now reveals for 10 seconds, from 8.
+ - tweak: Blight now reveals for 6 seconds, from 8.
+ - rscadd: Blight has a higher chance of applying stamina damage to the infected.
+ Kor:
+ - rscadd: The blocking system has been completely overhauled. Any held item, exosuit,
+ or jumpsuit can now have a chance to block, or a custom on hit effect. Different
+ shields can now have different block chances.
+ - rscadd: The clowns jumpsuit now honks when you beat the owner.
+ - rscadd: There is a new (admin only for now) suit of reactive armour that ignites
+ attackers instead of warping you.
+ - rscadd: Shields will no longer block hugs. Give peace a chance.
+ neersighted:
+ - tweak: MC tab reworked, more items made available.
+ - rscadd: Admins can now click entries in the MC tab to debug.
+2015-12-09:
+ GunHog:
+ - tweak: Nanotrasen has discovered new strains of Xenomorph which resist penetration
+ by known injection devices, including syringes. This seems to only extend to
+ the large 'Royal' strains, designed 'Queen' and 'Praetorian'. Extreme caution
+ is advised should these specimens escape containment.
+ - rscadd: Ghosts may now use Diagnostic HUD.
+ - tweak: Feedback added for which HUD is active.
+ Kor:
+ - rscadd: Security barricades now block gunfire 80% of the time while deployed.
+ - rscadd: Standing adjacent to barricades will allow you to shoot over them.
+ MrStonedOne:
+ - rscadd: noslip floors make you slightly faster
+ Shadowlight213:
+ - rscadd: Admins can now interact with mos of the station's machinery as if they
+ were an AI when ghosting.
+ incoming5643:
+ - rscadd: a mutation of glowshrooms, glowcaps, have recently been discovered in
+ botany.
+ ktccd:
+ - bugfix: Blobs now require the correct amount of blobs to win that scales depending
+ on number of blobs, instead of a set value of 700.
+2015-12-12:
+ Joan:
+ - tweak: The blob Split Consciousness ability now requires a node under the overmind's
+ selector, instead of picking the oldest living node to spawn a core on.
+ - bugfix: Revenant antagonist preference can once again be toggled from the Game
+ Preferences menu.
+ Kor:
+ - rscadd: You now have a chance to flip while attacking with a dualsaber.
+ - rscadd: Bluespace survival capsules have been added to escape pod safes.
+ - rscadd: Standing between activating shield generators now has disastrous consequences.
+ Lo6a4evskiy:
+ - bugfix: Ninja drains power properly, no more infinite stealth.
+ RemieRichards:
+ - rscadd: Adds a Synth Species
+ - rscadd: Species can now react to being force set by admins, used for Synth species
+2015-12-13:
+ Kor:
+ - rscadd: Adds reactive stealth armor. Admin spawn only.
+2015-12-15:
+ Incoming5643:
+ - rscadd: The summon events... event "RPG loot" now allows for items to have bonuses
+ of up to +15!
+ - rscadd: The "RPG loot" event now also improves the damage reduction of armor!
+ - rscadd: Check out the item mall for new item fortification scrolls!
+ as334:
+ - rscadd: New research has shown that when when plasma reaches a high enough temperature
+ in the presence of a carbon catalyst, it undergoes a violent and powerful fusion
+ reaction.
+ - rscadd: Adds a new gas reaction, fusion. Heat up plasma and carbon dioxide in
+ order to produce large amounts of energy and heat.
+ oranges:
+ - tweak: hulk no longer stuns
+ - tweak: John Cena
+2015-12-16:
+ AnturK:
+ - rscadd: Medical Beam Gun now available for Nuclear Operatives and ERT Medics.
+ Joan:
+ - tweak: Revenant Overload Lights reveal time lowered from 10 seconds to 8 seconds,
+ shock damage increased from 18 to 20.
+ - tweak: Revenant Blight reveal time lowered from 6 seconds to 5 seconds.
+ Kor:
+ - rscadd: Styptic once again works in patches.
+ - rscadd: Nuke Op team leaders can now activate challenge mode if more than 50 players
+ are online.
+ - rscadd: Xenobio mobs will no longer spontaneously murder their friends if you
+ give them sentience
+ The-Albinobigfoot:
+ - bugfix: The Wishgranter now displays its faith in humans with curbed enthusiasm.
+ Tkdrg:
+ - experiment: Cult has been overhauled in an attempt to make the gamemode more fun.
+ - rscdel: Cult onversion and stunpapers have been removed. So have most cult objectives.
+ - tweak: The cult's single objective is now defend and feed a large construct shell
+ in order to summon the Geometer.
+ - tweak: The cult must sacrifice souls in order to acquire summoning orbs, which
+ must be inserted inside said shell.
+ - tweak: The large construct shell can be procured by using a summoning orb in hand,
+ but it is vulnerable to attack.
+ - tweak: Once enough orbs are inserted, the station will go Delta. After three minutes,
+ the cult will have won.
+ - rscadd: Cult communications now no longer damage you when done without a tome.
+ - rscadd: Cultists now start with a sacrificial dagger, with bleeding effects and
+ high throwing damage.
+ - rscadd: Most existing runes were buffed, merged, or removed. A Immolate rune and
+ a Time Stop rune were added. Experiment!
+ - experiment: Each cultist now gets a random set of runes in their tomes. Pool together
+ your knowledge in order to thrive.
+ neersighted:
+ - experiment: NanoUI 3.0
+ - experiment: Completely rewrite NanoUI frontend; rework backend.
+ - tweak: Re-design NanoUI interface to be much more attractive.
+ - tweak: Reduce NanoUI LOC count/resource size.
+ - tweak: Reduce NanoUI tickrate; make UIs update properly.
+ - rscadd: Add chromeless NanoUI mode.
+ - rscadd: NanoUI's chromeless mode can be toggled with the 'Fancy NanoUI' preference.
+ - bugfix: Allow NanoUI to work on IE8-IE11, and Edge.
+ - bugfix: Close holes that allow NanoUI href spoofing.
+2015-12-17:
+ Kor:
+ - rscadd: Security barricades are now deployed via grenade. You can no longer move
+ them after they've been deployed, you must destroy them.
+ - rscadd: You can now shoot through wooden barricades while adjacent, while any
+ other gunfire has a 50% chance of being blocked.
+ - rscadd: There are no longer restrictions against implanting the nuclear disk in
+ people.
+ - rscadd: If the station is destroyed in a nuclear blast, any surviving traitors
+ will complete their "escape alive" objective regardless of their location.
+ - rscadd: Hulks now lose hulk when going into crit, rather than at 25 health.
+ - rscadd: Shuttles will no longer drag random tiles of space with them. This means
+ you can be thrown out of partially destroyed escape shuttles very easily.
+ - rscadd: The people and objects on destroyed tiles won't be along for the ride
+ when the shuttle moves either.
+ - rscadd: Adds hardsuits with built in energy shielding. CTF and security versions
+ are admin only.
+ - rscadd: Nuclear operatives can buy a shielded hardsuit for 30tc.
+ - rscadd: Traitors can now buy a Mulligan for 4 telecrystals, a syringe that completely
+ randomizes your name and appearance.
+ - rscadd: The spy bundle now includes a switchblade and Mulligan.
+ MMMiracles:
+ - rscadd: A set of coordinates have recently reappeared on the Nanotrasen gateway
+ project. Ask your local central official about participation.
+ MrStonedOne:
+ - tweak: 'Ghosts can now double click on ANY movable thing (ie: not a turf) to orbit
+ it'
+ PKPenguin321:
+ - rscadd: Dope golden necklaces have been added. They're a jumpsuit attachment like
+ ties and are completely cosmetic.
+ - rscadd: Dope necklaces can be bought from the clothesmate with a coin. Three are
+ in the clothesmate by default, so you can get your posse going. Gangs that aren't
+ Sleeping Carp can also purchase necklaces for 1 influence each. Dope.
+ xxalpha:
+ - tweak: Restores the ability to bolt and unbolt operating airlocks.
+2015-12-18:
+ Incoming5643:
+ - rscadd: Soon to be blobs in blob mode can now burst at their choosing. However
+ they will still burst if they wait too long.
+ - rscadd: Burst responsibly.
+ Joan:
+ - rscadd: 'New blob chemicals:'
+ - rscadd: Pressurized Slime, which is grey, does low brute, oxygen, and stamina
+ damage, but releases water when damaged or destroyed.
+ - rscadd: Energized Fibers, which is light yellow, does low burn damage, high stamina
+ damage, and heals if hit with stamina damage.
+ - rscadd: Hallucinogenic Nectar, which is pink, does low toxin damage, causes vivid
+ hallucinations, and does some bonus toxin damage over time.
+ - tweak: Replaces Kinetic Gelatin with Reactive Gelatin, which does less brute damage,
+ but if hit with brute damage in melee, damages all nearby objects.
+ - wip: 'Changes three of the old blob chemicals:'
+ - tweak: Ripping Tendrils does slightly more stamina damage
+ - tweak: Envenomed Filaments no longer causes hallucinations, but does some stamina
+ damage in addition to toxin damage over time.
+ - tweak: Cryogenic Liquid will freeze targets more effectively.
+ Kor:
+ - rscadd: Shooting someone who is holding a grenade has a chance to set the grenade
+ off.
+ - rscadd: Shooting someone who is holding a flamethrower has a chance to rupture
+ the fuel tank.
+ - tweak: Shields have a bonus against blocking thrown projectiles.
+ Swankcookie:
+ - rscadd: lanterns no longer turn into flashlights when you pick them up.
+ bgobandit:
+ - rscadd: Lizard tails can now be severed by surgeons with a circular saw and cautery,
+ and attached the same way augmented limbs are.
+ - rscadd: The Animal Rights Consortium is horrified by Nanotrasen stations' sudden
+ rise of illegal lizard tail trade, with such atrocities as lizardskin hats,
+ lizard whips, lizard clubs and even lizard kebab!
+ neersighted:
+ - tweak: NanoUI should now load much faster, as the filesize and file count have
+ been reduced
+2015-12-20:
+ Joan:
+ - tweak: Reduces Lexorin Jelly's oxygen damage significantly.
+ - experiment: Blobbernaut chemical application on attack is back, but much less
+ absurd this time; blobbernauts with an overmind will do 70% of the normal chem
+ damage(plus 4) and attack at a much slower rate than the blob itself can.
+ - wip: As an example, a blobbernaut with the Ripping Tendrils chemical would do
+ 14.5 brute and 10.5 stamina damage per hit.
+ Kor:
+ - rscadd: Adds reactive tesla armour. Adminspawn only.
+ - rscadd: Adds the legendary spear, Grey Tide. Admin only.
+ - rscadd: Nuke Ops can now purchase penetrator rounds for their sniper rifles.
+ - rscadd: Nuke ops can now purchase additional team members for 25 telecrystals.
+ They don't come with any gear other than a pistol however, so remember to save
+ some points for them.
+ - rscadd: Nuke Ops now have an assault pod. A 30tc targeting device will allow you
+ to select any area on the station as its landing zone. The pod is one way, so
+ don't forget your nuke.
+ - rscdel: The teleporter board is no longer available for purchase in the uplink.
+ - rscdel: After finding absolutely nothing of value, Nanotrasen away teams placed
+ charges and scuttled the abandoned space hotel.
+ - rscadd: Metastation now has xenobiology computers.
+ - rscadd: Metastation now has escape pod computers.
+ - rscadd: A distress signal has been detected broadcasting in an asteroid field
+ near Space Station 13.
+ - rscadd: Clicking the (F) follow link for AI speech will now make you orbit their
+ camera eye.
+ MMMiracles:
+ - tweak: The SAW has been revamped slightly. It now requires a free hand to fire,
+ but includes 4 new ammo variants along with a TC cost decrease for both the
+ gun and the ammo boxes.
+ MrStonedOne:
+ - bugfix: Fixes ghost orbit breaking ghost floating
+ - bugfix: Fixes orbiting ever breaking golem spawning
+ - bugfix: 'Fixes orbiting ever preventing that ghost from showing up in pictures
+ taken by ghost cameras resdel: Fixes being able to break your ghost sprite by
+ multiple quick consecutive orbits (FINAL SOLUTION, PROVE ME WRONG YOU CAN''T)'
+ Remie:
+ - rscadd: 'Byond members can now choose how their ghost orbits things, their choices
+ are: Circle, Triangle, Square, Pentagon and Hexagon!'
+ - tweak: orbit() should be much cheaper for clients now, allowing those of you with
+ potato PCs to survive mega ghost swirling better.
+ incoming5643:
+ - bugfix: the terror of double tailed lizards and featureless clones should now
+ be over
+ - rscdel: the emote *stopwag no longer works, just *wag again to stop instead
+2015-12-21:
+ AnturK:
+ - tweak: Ghost HUD and Ghost Inquisitiveness toggles are now persistent between
+ rounds.
+ Kor:
+ - rscadd: Malfunctioning AIs have been merged with traitor AIs. They no longer appear
+ in their own mode.
+ - rscadd: Hacking APCs now gives you points to spend on your modules. Save up enough
+ points and you can buy a doomsday device on a 450 second timer.
+ - rscadd: The detectives revolver reskins on alt click now.
+ - rscadd: You can now dual wield guns. Firing a gun will automatically fire the
+ gun held in your off hand if you are on harm intent.
+ LanCartwright:
+ - tweak: The TC costs for nuke ops have been rebalanced. Guns, viscerators and mechs
+ are cheaper, ammo and borgs are more expensive.
+ - rscadd: Most guns can now be bought in bundles, together with some ammo and freebies
+ for a special discount.
+ The-Albinobigfoot:
+ - rscadd: Nuclear Operative families may once again requisition ultra-adhesive footwear.
+2015-12-22:
+ Iamgoofball:
+ - rscadd: Tesla engine has been added alongside the singularity engine to all maps.
+ Joan:
+ - wip: 'Adds three new blob chemicals:'
+ - rscadd: Replicating Foam, which is brown, does brute damage, has bonus expansion,
+ and has a chance to expand when damaged.
+ - rscadd: Sporing Pods, which is light orange, does low toxin damage, and has a
+ chance to produce weak spores when expanding or killed.
+ - rscadd: Synchronous Mesh, which is teal, does brute damage and bonus damage for
+ each blob tile near the target, and splits damage taken between nearby blobs.
+ - experiment: Synchronous Mesh blobs take 25% more damage, to compensate for the
+ spread damage.
+ Kor:
+ - rscadd: Cayenne will no longer be targeted by the syndicate turrets.
+ - tweak: Energy shields now only reflect energy projectiles.
+ - rscadd: Added accelerator sniper rounds to uplink, a weak projectile that ramps
+ up damage the farther it flies.
+ MMMiracles:
+ - bugfix: Saber magazines have been dropped to 21 per magazine. When asked, Nanotrasens
+ official ballistic department replied "There is indeed such a thing as too much
+ bullet."
+ Xhuis:
+ - tweak: Stun batons can now be blocked by shields, blocked hits don't deduct charge.
+ xxalpha:
+ - rscadd: Janitor cyborgs now have a bottle of drying agent.
+2015-12-25:
+ Joan:
+ - rscdel: The blob Split Consciousness ability has been removed.
+ - tweak: The blob mode now spawns more roundstart blobs, instead.
+ Kor:
+ - rscadd: AI holograms no longer drift in zero gravity
+ LanCartwright:
+ - tweak: Shotguns shells now have one extra pellet.
+ MrStonedOne:
+ - bugfix: Screen shakes will no longer allow you to see through walls
+ - tweak: Screen shakes will now move with you when moving rather than lag your client
+ behind your mob
+ - tweak: Screen shakes are now less laggy in higher tickrates
+2015-12-26:
+ Buggy123:
+ - tweak: Salicyclic Acid now rapidly heals severe bruising and slowly heals minor
+ ones.
+ Iamgoofball:
+ - tweak: Telsa energy ball now shoots only a single, powerful beam of lightning
+ that can arc between mobs.
+ - soundadd: Energy ball can now be heard when near-by.
+ Incoming5643:
+ - tweak: Animated objects now revert if they have no one to attack for a while.
+ - rscadd: Added Golden revolver, a powerful sounding gun with large recoil.
+ Kor:
+ - rscadd: Transform Sting is now actually functional.
+ MrStonedOne:
+ - tweak: Movement in no gravity now allows you to push off of things only dense
+ to some mobs if it is dense to you (such as tables/blob tiles) rather than just
+ objects that are only dense to all mobs.
+ - bugfix: Long/timed actions will now cancel properly if you move and quickly move
+ back to the right location.
+2015-12-27:
+ Joan:
+ - rscadd: Overmind-created blobbernauts are now player-controlled if possible.
+ - tweak: Creating a blobbernaut no longer destroys the factory, instead doing heavy
+ damage to it and preventing it from spawning spores for one minute.
+ - tweak: You cannot spawn blobbernauts from overly damaged factories.
+ - rscadd: Procedure 5-6 may be issued for biohazard containment under certain situations.
+ - tweak: Blobs will now burst slightly later on average, and the nuke report with
+ the nuke code will arrive slightly earlier.
+ Kor:
+ - soundadd: Spacemen now announce when they are changing magazines.
+ - rscadd: Command headsets now have a toggle to let you have larger radio speech.
+ LanCartwright:
+ - rscdel: The Syndicate Ship no longer spawns with Bulldog shotguns, operative have
+ been given 10 extra telecrystals instead.
+ MrStonedOne:
+ - bugfix: Flashes that were emp'ed were incorrectly flashing people in range of
+ the emper, not in range of the flash.
+ - tweak: Flashes in a mob's inventory that are emp'ed will only aoe stun if it is
+ not inside of a container like a backpack/box
+2015-12-28:
+ AnturK:
+ - rscadd: You can now write an entire word with crayons by setting it as a buffer
+ and then clicking the target tiles in the right order.
+ Joan:
+ - rscdel: Blobbernauts can no longer smash walls of any type.
+ MrStonedOne:
+ - tweak: Progress bars now have 20 states instead of 5.
+ - bugfix: Bump mining should be fixed.
+ - tweak: Long actions now checks for movement/changed hands/etc more often to prevent
+ edge cases.
+ - tweak: Multiple progress bars will now stack properly, rather than fight each
+ other for focus.
+ Ressler:
+ - rscadd: Adds the reagent Haloperidol.
+ - rscadd: It is an anti-drug reagent, good for stopping assistants hyped up on meth,
+ bath salts, and equally illegal drugs.
+ - rscadd: It can be made with Chlorine, Fluorine, Aluminum, Potassium Iodide, and
+ Oil.
+ neersighted:
+ - bugfix: Make NanoUIs transfer upon (un)ghosting.
+ - bugfix: Fix NanoUIs jumping when resized/dragged.
+ - bugfix: Lots of other NanoUI bugs.
+2015-12-31:
+ Bawhoppen:
+ - rscadd: Nanotrasen has opened the availability of tactical SWAT gear to station's
+ cargo department
+ - rscadd: Due to a new trade agreement with Chinese space suit manufacturers, Nanotrasen
+ can now obtain basic space suits much cheaper; This has been reflected in the
+ cargo prices
+ - rscadd: Amateur medieval enthusiasts have found a quick way to easily make wooden
+ bucklers.
+ Joan:
+ - imageadd: Replaced every book sprite in the game with new, consistent versions.
+ - imageadd: Except the one-use wizard spellbooks, which already got new sprites.
+ PKPenguin321:
+ - rscadd: Chest implants have been added that allow you to morph your arms into
+ a gun and back at will. There are two variants, a taser version and a laser
+ version. Both versions are self-charging. Getting EMPed with one of these implants
+ results in the implant breaking and loads of fire damage. The implants are currently
+ admin-only.
+ - tweak: The telecrystal price for thermal imaging goggles has been lowered from
+ 6 to 4.
+ incoming5643:
+ - rscadd: The wizard federation has finally updated their assortment of guns for
+ the summon guns event. Look forward to getting shot in the face with a whole
+ new batch of interesting and rarely seen weaponry!
diff --git a/html/changelogs/archive/2016-01.yml b/html/changelogs/archive/2016-01.yml
new file mode 100644
index 0000000000..9725d48765
--- /dev/null
+++ b/html/changelogs/archive/2016-01.yml
@@ -0,0 +1,204 @@
+2016-01-01:
+ Iamgoofball:
+ - experiment: Redid how objectives are assigned, they're now a lot more random in
+ terms of what you can get.
+ Incoming5643:
+ - tweak: Removed gender restrictions from socks.
+ Joan:
+ - rscdel: Storage Blobs are gone; they were effectively a waste of resources, as
+ there are more or less no points at which you should need them, unless you were
+ winning excessively hard.
+ - rscdel: Blobs can no longer burst early; instead, the button gives some early
+ help and serves to indicate you're a blob.
+ - wip: Blobbernauts now poll candidates instead of grabbing a candidate immediately.
+ The poll is 5 seconds, so that there's no significant pause between making a
+ blobbernaut and it doing stuff.
+ - rscadd: Blobbernaut creation replaces Storage Blob creation on the blob HUD.
+ - tweak: Overmind communication is now much larger and easier to see, and blob mobs,
+ such as blobbernauts, will hear it.
+ Kor:
+ - rscadd: The wizard has a new spell, Lesser Summon Guns. This summons an unending
+ stream of single shot bolt action rifles into his hands, automatically replacing
+ themselves as you fire.
+ - bugfix: Fixes successive generations of grey tide clones not despawning.
+ - tweak: Using challenge ops now delays shuttle refuel.
+ - rscadd: Added a new wizard event, Advanced Darkness.
+ MrStonedOne:
+ - experiment: GHOST POPUP RE-WORK
+ - bugfix: Ghost popups will no longer steal focus
+ - bugfix: Ghost popups will no longer submit on key press (regardless of focus)
+ unless you tab to a button first
+ - tweak: Ghost popups will close themselves after the time out has ended
+ - rscadd: Ghost popups are now themed.
+ - tweak: Long actions (like resisting out of handcuffs) will no longer count space/nograv
+ drifting as the user moving.
+ - tweak: This does not apply to the target of a long action if that target isn't
+ you. Pulling something while space drifting and working on it intentionally
+ won't work.
+2016-01-02:
+ Kor:
+ - rscadd: Guardians/Parasites are now named after constellations, and have new sprites
+ from Ausops.
+ Kor and GunHog:
+ - rscadd: Malfunctioning AIs can now purchase Enhanced Surveillance for 30 points,
+ which allows them to "hear" with their camera eye.
+ MMMiracles:
+ - rscadd: A distress signal was recently discovered with gateway coordinates attached
+ to a far-off research facility owned by Nanotrasen. The signal was sent out
+ in hopes of someone competent receiving it, unfortunately, your station was
+ the only one to respond. Local security forces may not be welcoming your arrival
+ group with open arms.
+2016-01-07:
+ KorPhaeron:
+ - tweak: Doubled cost of Lesser Summon Guns to 4 and increased charge time to 75
+ seconds.
+ TrustyGun:
+ - rscadd: 'Added two new UI styles: black and green Operative and pale green Slimecore.'
+2016-01-09:
+ Wjohnston:
+ - wip: AI Satellite has been remapped to make it more secure.
+2016-01-11:
+ Joan:
+ - rscdel: Blob cores and nodes no longer cause normal pulsed blobs to animate. Factories
+ and resource nodes will still animate.
+ - imageadd: Holoparasite sprites have been updated again, are now named after silvery
+ metals and flowers and can also be colored purple, blue or yellow.
+ xxalpha:
+ - tweak: Pipes and cables under walls, intact floors, grilles and reinforced windows
+ will now be shielded from explosions until exposed.
+2016-01-13:
+ Joan:
+ - imageadd: Alien whisper ability has a new icon
+ MrStonedOne:
+ - tweak: Control clicking on the thing you are pulling will no longer unpull, instead
+ control clicking on anything too far away to be pulled will unpull. (reminder
+ that the delete key also unpulls)
+ OneArmedYeti:
+ - imageadd: To help with colorblindness, gang HUDs have been changed so leaders
+ have a border and normal gangster icons are smaller.
+2016-01-15:
+ Joan:
+ - bugfix: Holoparasites can no longer beat their owner to death while inside of
+ them.
+ - spellcheck: Updates traitor holoparasite descriptions for accuracy.
+ - spellcheck: Adds 8 additional silvery metals to the holoparasite name pool.
+ - imageadd: Adds two new holoparasite colors, light purple and red.
+ - imageadd: Holoparasite HUD buttons now have new sprites.
+ - imageadd: Adds glow effects when guardians teleport or recall, including fire
+ guardian teleporting and support guardian teleporting.
+ Kor:
+ - rscadd: Washing machines are activated via alt+click rather than a right click
+ verb.
+2016-01-16:
+ Joan:
+ - imageadd: Alien queens and praetorians have suitably large speechbubbles.
+ - imageadd: Syndicate cyborgs and syndrones have suitably evil robotic speechbubbles.
+ - imageadd: Blob mobs have suitably uncomfortable-looking speechbubbles.
+ - imageadd: Holoparasites and guardians have suitably robotic and magical speechbubbles.
+ - imageadd: Swarmers have suitably holographic speechbubbles.
+ - imageadd: Slimes have suitably slimy speechbubbles.
+2016-01-17:
+ Joan:
+ - bugfix: You can once again repair a hacked APC by using an APC frame on it instead
+ of welding it off the wall, at the same stage as you'd weld it off the wall.
+ MrStonedOne:
+ - bugfix: Control clicking on a turf now un-pulls
+2016-01-19:
+ neersighted:
+ - rscadd: Many many interfaces have been ported to tgui; uplinks and MULEbots being
+ the most important
+ - rscadd: You can now tune radios by entering a frequency
+ - bugfix: Air Alarms now support any gas
+2016-01-23:
+ neersighted:
+ - experiment: Refactor wires; port wire interface to tgui.
+ - rscadd: Wire colors are now fully randomized.
+ - rscdel: Remove pizza bombs, as the code and sprites were terrible.
+ - rscadd: Add pizza bomb cores, which can be combined with a pizza box to make a
+ pizza bomb.
+ octareenroon91:
+ - bugfix: Chemistry machinery should now all equally accept beakers, drinking glasses,
+ etc.
+2016-01-27:
+ Joan:
+ - tweak: Golems have about a 40% chance to stun with punches, from about 60%.
+ - tweak: Millitary Synths have about a 50% chance to stun with punches, from literally
+ 100%.
+ - wip: Blobbernaut creation costs 30 points, and does much more damage to the factory.
+ - rscdel: Blob factories regenerate at half normal rate.
+ - tweak: Blob reagents tweaked;
+ - rscadd: Ripping Tendrils does slightly more brute damage, but less stamina damage.
+ - rscdel: Lexorin Jelly does less brute damage.
+ - rscadd: Energized Fibers does slightly more burn damage.
+ - rscadd: Sporing Pods does slightly more toxin damage.
+ - rscadd: Replicating Foam will try to replicate when hit more often.
+ - rscadd: Hallucinogenic Nectar does slightly more toxin damage and causes hallucinations
+ for longer.
+ - rscadd: Cryogenic Liquid does more burn damage.
+ - experiment: Synchronous Mesh does slightly less damage with one blob but massive
+ damage with more than one nearby blob.
+ - rscdel: Dark Matter does less brute damage.
+ - rscdel: Sorium does slightly less brute damage.
+ - rscdel: Pressurized Slime has a lower chance to emit water when killed and when
+ attacking targets.
+ - tweak: Supermatter explosion is no longer capped, and under normal conditions
+ will produce a 8/16/24 explosion when delaminating.
+ - imageadd: Blob tiles now do an attack animation when failing to expand into a
+ turf.
+ - imageadd: Overmind-directed expansion is more visible than automatic expansion.
+ Kor:
+ - rscadd: Capture the flag has been added in space near central command. The spawners
+ are disabled by default, so be sure to harass admins when you die until they
+ let you play. The arena was mapped by Ausops.
+ - rscadd: Nuke ops can purchase mosin nagants for 2 telecrystals.
+ MrStonedOne:
+ - bugfix: Fixes the powersink drawing less power than the smeses put out.
+ - tweak: Made the powersink hold significantly more power before overloading and
+ going boom.
+ - tweak: Buffed the explosion of the power sink when it overloads. You are suggested
+ to think twice about wiring the engine to the grid.
+ PKPenguin321:
+ - rscadd: The Autoimplanter, a device that can insert cyberimplants into humans
+ instantly and without the need of surgery, has been added to the game. It is
+ currently only obtainable by nuke ops, by way of being included in the Box of
+ Implants.
+2016-01-28:
+ Joan:
+ - rscadd: Blobs can communicate before bursting to allow for more coordination.
+ Kor:
+ - rscadd: Butchering mobs by attacking them with sharp objects will only happen
+ on harm intent. This means it is possible to do surgery on aliens again.
+2016-01-29:
+ Joan:
+ - rscadd: Holoparasites can now see their summoner's health at all times. The health
+ displayed is a percentage, with 0 being dead.
+ - imageadd: Holoparasites now have visual flashes on the summoner's location when
+ recalled due to range limits and when manifesting.
+ Kor:
+ - rscadd: Red xenobio potions now work on vehicles (janitor cart, ATV, secway, etc),
+ causing them to go faster.
+ - rscadd: Stuffing people in bins uses clickdrag instead of grab.
+2016-01-30:
+ Boredone:
+ - tweak: Due to an experiment gone wrong, the Research Director's Teleport Armor
+ now causes some mild radiation poisoning on teleportation to the wearer.
+ Francinum:
+ - rscadd: Added two new female underwear styles.
+ Kor:
+ - rscadd: You can now use the abandoned white ship as an escape route at round end.
+ This is possible on Box, Meta, and Dream.
+ - rscadd: Added support so that mappers can make any shuttle function as an escape
+ shuttle.
+ MMMiracles:
+ - rscadd: Three new bra sets have been added for the ladies out there who want to
+ show their patriotism.
+ xxalpha:
+ - rscadd: Blueprints will now allow the expansion of an existing area by giving
+ its name to a new adjacent area.
+ - rscadd: Added a no power warning cyborg verb to Robot Commands.
+2016-01-31:
+ Kor:
+ - rscadd: Added a special AI upgrade disk that allows normal AIs to use malf modules
+ and hack APCs. It is admin only.
+ - rscadd: Added an AI upgrade disk that grants AIs the lipreading power. It is admin
+ only.
diff --git a/html/changelogs/archive/2016-02.yml b/html/changelogs/archive/2016-02.yml
new file mode 100644
index 0000000000..db6bf9b284
--- /dev/null
+++ b/html/changelogs/archive/2016-02.yml
@@ -0,0 +1,350 @@
+2016-02-01:
+ Erwgd:
+ - rscadd: The Kitchen Vending machine now stocks salt shakers and pepper mills!
+ - rscadd: The NutriMax now stocks spades, cultivators and plant analyzers.
+ - rscadd: Rice seeds are now stocked in the MegaSeed Servitor, and the seeds supply
+ crate now contains a pack of rice seeds.
+ - rscdel: Botanists should be aware that wheat stalks can no longer mutate into
+ rice.
+ Fayrik:
+ - rscadd: pAI cards can now be inserted into simple robots, to allow for more robust
+ robot personalities.
+ PKPenguin321:
+ - rscadd: You can now store knives, pens, switchblades, and energy daggers in certain
+ types of shoes (such as jackboots, workboots, winter boots, combat boots, or
+ no-slips).
+ - rscadd: Horns can now be stored in clown shoes. Honk.
+ TrustyGun:
+ - rscadd: Adds gag handcuffs to the prize pool for arcade machines. They act like
+ regular handcuffs, but you break out of them in a second.
+ WJohnston:
+ - rscadd: Adds missing booze & soda dispenser, library console, fixes door access
+ and a few other minor things to Efficiency Station
+ - rscadd: Also adds direction tags so people can find their way around better.
+ bgobandit:
+ - rscadd: On Valentine's Day, all spacemen will receive candy hearts and valentines
+ for their special someones! Label valentines with a pen.
+ - rscadd: Note that today is not Valentine's Day.
+2016-02-05:
+ Joan:
+ - experiment: Blob expansion is faster near the expanding blob, but slower further
+ away from it.
+ - tweak: Blob spores produce a slightly larger smoke cloud when dying. Sporing Pods
+ spores and blob zombies produce the current small cloud.
+ - rscdel: Blobbernauts can no longer pull anything at all.
+ - tweak: Blobbernauts health reduced to 200, but blobbernauts now take half brute
+ damage.
+ - tweak: Blobbernauts now take massive damage from fire.
+ - tweak: Blobbernauts do approximately 3 more damage when attacking.
+ - wip: Replicating Foam will expand more actively when damaged.
+ - rscadd: Adds Electromagnetic Web, which is light blue, does burn damage and EMPs
+ targets, and causes a small EMP when dying.
+ - rscadd: Electromagnetic Web takes more damage; a normal blob that hasn't been
+ near a node or the core for 6~ seconds can be oneshotted by a laser.
+ - rscadd: Anomalies, such as pyroclastic and vortex anomalies, now appear at the
+ bottom of the ghost orbit and observe menus.
+ Kor:
+ - rscadd: Nuke ops can purchase sentience potions for 4tc
+ MMMiracles:
+ - tweak: Bulldog now starts with stun-slugs instead of its usual 60-brute slugs.
+ Slugs now cost 3 TC instead of 2.
+ - tweak: Most SAW ammo has been slightly buffed in damage so maybe it'll be worth
+ buying now along with a slight cost decrease for the gun itself.
+ - tweak: Incen shells for the shotgun now apply extra firestacks on hit so it actually
+ sets people on fire instead of turning them into a light show.
+ - tweak: Incen rounds for the SAW now leave a fire trail similar to the bulldog's
+ dragonsbreath round.
+ - rscadd: Nuke Ops now have the ability to purchase breaching shells, a weaker variant
+ of the meteorslugs that can still push back people/airlocks/mechs/corgis.
+ - bugfix: SAW should now use its in-hand sprites for an open-closed magazine
+ PKPenguin321:
+ - rscadd: You can now sharpen carrots into shivs by using a knife or hatchet on
+ them.
+ bgobandit:
+ - rscadd: Seven new emoji have been added to hasten the death of the English language.
+ octareenroon91:
+ - rscadd: Player-controlled medibots can examine a patient to know what chems are
+ in the patient's body.
+ - bugfix: autolathes have been showing extra copies of the hacked designs, but no
+ more.
+2016-02-06:
+ LordPidey:
+ - rscadd: Added suicide command for pipe valves. It's quite messy.
+ Lzimann:
+ - tweak: Combat Mechas now have a increased chance of destroying a wall with punches
+ (40% for walls and 20% for reinforced walls)!
+ - rscadd: Combat mechas can now destroy tables and racks with a punch!
+ neersighted:
+ - rscadd: The Syndicate has stolen the latest tgui improvements from Nanotrasen!
+ All uplinks now feature filtering/search.
+ - rscadd: Nanotrasen is proud to announce its next generation sleepers, featuring
+ tgui!
+ - rscadd: Portable atmospheric components have been overhauled to use the latest
+ interface technology.
+ - rscdel: The Area Atmosphere Computer has been removed.
+ - rscadd: Huge scrubbers now require power.
+ - rscdel: Borg jetpacks are now refilled from a recharger and not a canister.
+ - rscadd: Power monitors now have a state of the art graph. Hopefully they're actually
+ useful to someone.
+ - rscadd: Cargo consoles have been redesigned and now feature search and a shopping
+ cart!
+2016-02-08:
+ Incoming5643:
+ - rscadd: Poly will now speak a line or emote when pet.
+ - rscadd: Poly now responds to getting fed crackers by becoming more annoying for
+ the round.
+ - experiment: Every day he is growing stronger
+ Kor:
+ - rscadd: A certain hygiene obsessed alien is now obtainable via xenobiology gold
+ cores.
+ - rscadd: Add laserguns with swappable, rechargeable magazines. They are adminspawn
+ only.
+ - rscadd: Operatives now get their pinpointers in their pocket when they spawn,
+ meaning reinforcements automatically come with them (and hopefully people stop
+ forgetting them in general).
+ - rscadd: Capture the flag now features a high speed instagib mode, with guns courtesy
+ of MMMiracles.
+ phil235:
+ - tweak: The vision updates for mobs are now instantaneous (e.g. you don't have
+ to wait one second to see again when removing your welding helmet)
+ - tweak: Your vision is now affected when you're inside something or viewing through
+ a camera. You can no longer see mobs or objects when ventcrawling (unless you
+ have xray for example), an xray user viewing through a camera do not see through
+ walls around the camera. On the other hand, cameras with an xray upgrade let
+ you see through walls. Unfocused camera now give you the same effect as when
+ you are nearsighted. Being inside closets, morgue container and disposal bins
+ give you some vision impairments.
+ - rscadd: The ability to toggle your hud on and off (with f12) is now available
+ to all mobs not just humans.
+2016-02-09:
+ AnturK:
+ - rscadd: Syndicate Operatives can now buy bags full of plastic explosives for 9
+ TC.
+ Gun Hog:
+ - rscadd: '"Nanotrasen has drafted a design for an exosuit version of the medical
+ nanite projector normally issued to its Emergency Response Personnel. With sufficient
+ research, a prototype may be fabricated for field testing!"'
+ incoming5643:
+ - rscadd: The wizard spell wild shapeshift has been made less terrible.
+ neersighted:
+ - rscadd: Internals tanks now provide an action button
+ - rscadd: Jetpacks now emit the gas consumed for propulsion onto their turf
+ - rscdel: Jetpacks no longer have object verbs
+ - rscdel: tgui no longer has internals buttons
+ - bugfix: Malf AI's flood ability now correctly sets vent pressure bounds -- the
+ results are devastating... Try it!
+2016-02-10:
+ Joan:
+ - rscadd: Blob mobs now heal for 2.5% of their maxhealth when blob_act()ed, basically
+ whenever they're on blobs near a node or the core.
+ - tweak: Blob expansion no longer has a chance to fail inversely proportional with
+ the expanding blob's health. Blobs still, however, expand at roughly the same
+ rate as they do currently.
+ - experiment: Adds five new blob chemicals.
+ - rscadd: Adds Penetrating Spines, which is sea green and does brute damage through
+ armor. The damage can still be reduced by bio protection.
+ - rscadd: Adds Explosive Lattice, which is dark orange and does brute damage to
+ all mobs near the target. Explosive Lattice is very resistant to explosions.
+ - rscadd: Adds Cyclonic Grid, which is a light blueish green and does oxygen damage,
+ in addition to randomly throwing or pulling nearby objects.
+ - rscadd: Adds Zombifying Feelers, which is a fleshy zombie color and does toxin
+ damage, in addition to killing and reviving unconscious humans as blob zombies.
+ - rscadd: Adds Regenerative Materia, which is light pink and does toxin damage,
+ in addition to making the attacked mob think it is at full health.
+ - wip: Tweaks some of the existing blob chemicals slightly.
+ - rscadd: Sporing Pods can produce spores when killed by damage less than 21, from
+ less than 20. This means lasers can produce spores.
+ - rscadd: Reactive Gelatin has a slightly higher maximum damage and will attack
+ the nearby area when hit with brute damage projectiles, from just when attacked
+ by brute damage in melee.
+ - tweak: Sorium, Dark Matter, and the new Cyclonic Grid will not throw mobs with
+ the 'blob' faction, such as blobbernauts and spores.
+ Kor:
+ - rscadd: The chaplain can now transform the null rod into a holy weapon of his
+ choice by using it in hand. Each one has different strengths and drawbacks.
+ MrStonedOne:
+ - tweak: Tesla balance changes
+ - tweak: Tesla will now require increasingly more energy to trigger new orbiting
+ balls. First ball comes with 32 energy (down from 300), fourth requires 256
+ (down from 1200), and so on and on, doubling with each new ball. Balls after
+ 7 are increasingly harder to get than before, whereas balls before 6 are easier
+ to get.
+ - rscadd: MULTIBOLT IS BACK!
+ - tweak: Be warned that in multibolt all but 1 primary bolt now have a random shocking
+ range, meaning they may still target a close human over a far away grounding
+ rod as the rod may be out of range.
+ - tweak: Power output of tesla massively dropped, it should no longer put out almost
+ twice the power of a stage 3 singulo with maxed collectors without any balls,
+ you'll need at least 3 balls for that now.
+ - tweak: Tesla can now lose power, causing ball count to drop. Tesla will never
+ shrink out of existence, just lose its balls.
+ - tweak: Tesla is now more likely to head in the direction of the thing it last
+ zapped.
+ PKPenguin321:
+ - rscadd: Chameleon Jumpsuits now have slight melee, bullet, and laser protection.
+ - tweak: The armor values for security helmets, caps, and berets have all been brought
+ in line. Consequently, helmets and berets are a teeny bit better, and caps now
+ have the slight bomb protection that the other two had.
+ - experiment: The time needed to complete most tablecrafting recipes has been cut
+ in half to make tablecrafting less annoying to use.
+ Shadowlight213:
+ - rscadd: pAI controlled mulebots can now run people over.
+ - tweak: Mulebot health has been greatly decreased.
+ neersighted:
+ - rscadd: Horizontal (lying) mobs now fit into crates
+ - rscadd: Mobs may now be stuffed into crates, as with lockers
+ - rscadd: Stuffing into a locker deals a mild stun (the same as tabling)
+ octareenroon91:
+ - rscadd: New designs can now be added to Autolathes via a design disk. Simply use
+ a disk containing a suitable design on your autolathe.
+2016-02-11:
+ neersighted:
+ - rscdel: Remove all cyborg jetpacks... They were awful...
+ - rscadd: Adds borg ion thrusters, which are available as an upgrade module for
+ any borg.
+ - rscdel: Jetpack stabilizers are always on, but now we have...
+ - rscadd: Jetpack turbo mode, to move at sanic speed in space.
+2016-02-12:
+ Kor:
+ - rscadd: Malf AIs can now get the objective to have a robot army by the end of
+ the round.
+ - rscadd: Malf AIs can now get the objective to ensure only human crew (no mutants)
+ are on the shuttle at round end.
+ - rscadd: Malf AIs can now get the objective to prevent a crewmember from escaping
+ the station, while requiring that crewmember still be alive.
+ neersighted:
+ - rscadd: Cybernetic implants purchased from the uplink now include a free autoimplanter!
+ octareenroon91:
+ - rscdel: You can no longer kill yourself with the SORD
+ - rscadd: Suicide attempts with the SORD will inflict 200 stamina damage. You will
+ only die of shame.
+ - bugfix: Cleanup to suicide verb code.
+2016-02-13:
+ Buggy123:
+ - rscadd: You can now build cable coils using the autolathe.
+ Fox McCloud:
+ - bugfix: Fixes the sleeping carp martial arts grab not being an instant aggressive
+ grab
+ KazeEspada:
+ - rscadd: 'New backpack options available! New options include: Department Bags,
+ Leather Satchels, and Dufflebags!'
+ Kor:
+ - rscadd: Chainsaw sword, force weapon, and war hammer have all been added as Chaplain
+ weapon options.
+ Malkevin:
+ - tweak: Tracking implants have been upgraded. The old clunky manually adjusted
+ number system has been replaced with an automated ID scanner, this will show
+ the implant carrier's name on both the Prisoner Management Console and the hand
+ tracker. Happy deep striking!
+ PKPenguin321:
+ - tweak: 'Traitor EMP kits have had their cost reduced from 5 to 2, and no longer
+ contain the EMP flashlight. rcsadd: EMP flashlights can now be bought separately
+ for 2 TCs.'
+ Zerrien:
+ - rscadd: Conveyor pieces can be placed as corner pieces when building in non-cardinal
+ directions.
+ - rscadd: Using a wrench on a conveyor rotates it while in place.
+ neersighted:
+ - tweak: Gibtonite can now be pulled.
+ - tweak: Slowdown factors are ignored when in zero gravity.
+ phil235:
+ - rscadd: Brains can no longer be blinded.
+ - bugfix: Fixes brain being immortal. They are immune to everything but melee weapon
+ attacks. Brains not inside a MMI can now be attacked just like MMIs. Damaged
+ brain can't be put into a robot, they can still be put inside a brainless humanoid
+ corpse and cloned, but deffibing the corpse always fails (can't revive someone
+ with a brain beaten to a pulp).
+2016-02-14:
+ Joan:
+ - rscadd: Blobbernauts can now speak to overminds and other blobbernauts with :b
+ - rscadd: Blobs can now expand onto lattices and catwalks.
+ - rscdel: Blob expansion on space tiles with no supports is much slower.
+ - tweak: Blob Sorium and Dark Matter now have less range on targets with bio protection.
+ - tweak: Blob Sorium does slightly less damage.
+2016-02-17:
+ Fox McCloud:
+ - tweak: Laser eyes mutation no longer drains nutrition
+ Joan:
+ - rscdel: The sleeping carp gang no longer has special equipment and an inability
+ to use pneumatic cannons.
+ PKPenguin321:
+ - tweak: The traitor surgery bag now costs 3 TC, down from 4.
+ Zerrien:
+ - rscadd: adds unique icons for the two medical patch types
+2016-02-18:
+ Kor:
+ - rscadd: 'Four more chaplain weapon options have been added: hanzo steel, light
+ energy sword, dark energy sword, and monk''s staff.'
+2016-02-19:
+ AnturK:
+ - rscadd: Chairs and stools can now be picked up and used as weapons by dragging
+ them over your character.
+ PKPenguin321:
+ - rscadd: The cleanbot uprising has begun.
+ - rscadd: Emagged cleanbots are much scarier now. Standing on top of one will yield
+ very devastating results, namely in the form of powerful flesh-eating acid.
+2016-02-20:
+ CPTANT:
+ - tweak: Due to new crystals Nanotrasen lasers weapons may now set you on FIRE.
+ Joan:
+ - imageadd: Blobbernauts and blob spores now have a visual healing effect when being
+ healed by the blob.
+ xxalpha:
+ - rscadd: 'New event: Portal Storm.'
+ - rscadd: Kinetic accelerators now reload automatically.
+2016-02-24:
+ CPTANT:
+ - tweak: stamina regeneration is now 50% faster.
+ Joan:
+ - rscadd: Revenants now have an essence display on their HUD
+ - rscadd: Revenants retain the essence cap from the previous revenant when reforming,
+ minus any perfect souls.
+ - rscadd: Revenants can now toggle their night vision.
+ - tweak: Revenant Defile has one tile more of range, but does less damage to windows.
+ - tweak: Revenant Blight kills space vines and glowshrooms slightly more rapidly.
+ - tweak: Delays before appearing when harvesting are slightly randomized.
+ - tweak: Revenant fluff objectives have been changed to be slightly more interesting.
+ RemieRichards:
+ - rscadd: Cursed heart item for wizards, allows them to heal themselves in exchange
+ for having to MANUALLY beat their heart every 6 seconds. Heals 25 brute/burn/oxy
+ damage per correctly timed pump.
+ Steelpoint:
+ - tweak: Syndicate engineers have reinforced the exterior of their stealth attack
+ ships. Nuclear Operative ship hull walls are now, once again, indestructible.
+ - tweak: In addition Syndicate engineers had the opportunity to revamp the interior
+ of stealth attack ships. The inside of Op ships now has a slightly new layout,
+ including a expanded medbay, as well as additional medical and explosive equipment.
+ - rscadd: Thanks to covert Syndicate operatives, strike teams can now bring the
+ stealth attack ship within very close proximity to the station codenamed 'Boxstation'.
+ A new ship destination labeled 'south maintenance airlock' is now available
+ to Op strike teams.
+ phil235:
+ - rscadd: Holo tape is replaced by holo barriers.
+ - rscadd: The action button of gas tanks and jetpacks now turn green when you turn
+ your internals on.
+2016-02-26:
+ Iamgoofball:
+ - rscadd: Adds the Chameleon Kit to uplinks for 4 telecrystals containing a Chameleon
+ Jumpsuit/Exosuit/Gloves/Shoes/Glasses/Hat/Mask/Backpack/Radio/Stamp/Gun/PDA.
+ - rscadd: The chameleon gun fires no-damage lasers regardless of what it looks like.
+ - rscadd: The Voice Changer has been merged into the Chameleon Mask.
+ - rscadd: No-slip shoes have been combined into Chameleon Shoes.
+ - rscdel: Space Ninjas no longer have voice changing capabilities.
+ - rscdel: The Chameleon Jumpsuit has been replaced by the Chameleon Kit in the uplink
+ for the same price.
+ - tweak: All chameleon clothing items have lost EMP vulnerability.
+ - tweak: Chameleon equipment provides very minor armor.
+ - experimental: Agent ID Cards can now use chameleon technology to look like any
+ other ID card.
+ - bugfix: The Chameleon Kit is actually purchasable now. It doesn't give a single
+ chameleon jumpsuit anymore.
+ PKPenguin321:
+ - rscadd: The kitchen vendor now contains two sharpening blocks.
+ - rscadd: Only items that are already sharp (such as fire axes, knives, etc) can
+ be sharpened. Items used on sharpening blocks become sharper and deadlier. The
+ sharpening blocks themselves can only be used once, and you can only sharpen
+ items once.
+ - tweak: The EMP kit has been buffed. It now contains five EMP grenades, up from
+ two.
+ - tweak: The EMP implant found in the EMP kit has been buffed. It now has three
+ uses, up from two.
diff --git a/html/changelogs/archive/2016-03.yml b/html/changelogs/archive/2016-03.yml
new file mode 100644
index 0000000000..f5d766b79a
--- /dev/null
+++ b/html/changelogs/archive/2016-03.yml
@@ -0,0 +1,566 @@
+2016-03-02:
+ CoreOverload:
+ - rscadd: A new "breathing tube" mouth implant. It allows you to use internals without
+ a mask and protects you from being choked. It doesn't protect you from the grab
+ itself.
+ - tweak: Arm cannon implants are now actually implanted into the arms, not into
+ the chest.
+ - bugfix: Arm cannons have an action button again.
+ - tweak: Heart removal is no longer instakill. It puts you in condition similar
+ to heart attack instead. You can fix it by installing a new heart and applying
+ defibrillator if it wasn't beating.
+ - rscadd: You can now make a stopped heart beat again by squeezing it. It will stop
+ beating very soon, so you better be quick if you want to install it without
+ using defibrillator.
+ - rscadd: There is now a chance to recover some of the internal organs when butchering
+ aliens or monkeys.
+ - rscadd: A new organ - lungs. When removed, it will give you breathing and speaking
+ troubles.
+ - rscadd: Human burgers are, once again, named after the generous meat donors that
+ made them possible.
+ Fox McCloud:
+ - rscadd: Gibbing mobs will now throw their internal organs
+ Gun Hog:
+ - rscadd: Ghost security HUDs now show arrest status and implants.
+ - tweak: The Alien queen, upon her death, will now severely weaken the remaining
+ alien forces.
+ Joan:
+ - tweak: Replicating Foam has a lower chance to expand when hit.
+ - tweak: Penetrating Spines is now purple instead of sea green.
+ - imageadd: Blobbernauts now have a brief animation when produced.
+ - experiment: Adds five new blob chemicals. This is a total of 25 blob chemicals.
+ Will it ever stop?
+ - rscadd: Draining Spikes, which is reddish pink and does medium brute damage, and
+ drains blood from targets.
+ - rscadd: Shifting Fragments, which is tan and does medium brute damage, and shifts
+ position when attacked.
+ - rscadd: Flammable Goo, which is reddish orange and does low burn and toxin damage,
+ and when hit with burn damage, emits a burst of flame. It takes more damage
+ from burn, though.
+ - rscadd: Poisonous Strands, which is lavender and does burn, fire, and toxin damage
+ over a few seconds, instead of instantly.
+ - rscadd: Adaptive Nexuses, which is dark blue and does medium brute damage, and
+ reaps 5-10 resources from unconscious humans, killing them in the process.
+ - wip: Confused about what the chemical you're fighting does? Look at https://tgstation13.org/wiki/Blob#Blob_Chemicals
+ - rscadd: Adds 'Support and Mechanized Exosuits' and 'Space Suits and Hardsuits'
+ categories to the syndicate uplink.
+ - rscadd: Nuke op reinforcements and mechs have been moved to the first category.
+ Syndicate space suits and hardsuits have been moved to the second category.
+ - bugfix: Traitors can now properly buy the blood-red hardsuit for 8 TC.
+ - tweak: Nuke ops can no longer buy the blood-red hardsuit, as the elite hardsuit
+ costs the same amount while being absolutely better.
+ Kor:
+ - rscadd: Added door control remotes. Clicking on doors while holding them will
+ let you open/bolt/toggle emergency access depending on the mode. They will not
+ work on doors that have their IDscan disabled (rogue AIs take note!)
+ - rscadd: The Captain, RD, CE, HoS, CMO, and QM all now have door control remotes
+ in their lockers.
+ LanCartwright:
+ - rscadd: Adds Uranium to Virus reaction. Will create a random symptom between 5
+ and 6 when mixed with blood.
+ - rscadd: Adds Virus rations, which creates a level 1 symptom when mixed with blood.
+ - rscadd: Adds Mutagenic agar, which creates a level 3 symptom.
+ - rscadd: Adds Sucrose agar which creates a level 4 symptom.
+ - rscadd: Adds Weak virus plasma, which creates a level 5 symptom.
+ - rscadd: Adds Virus plasma, which creates a level 6 symptom.
+ - rscadd: Adds Virus food and Mutagen reaction, creating Mutagenic agar.
+ - rscadd: Adds Virus food and Synaptizine reaction, creating Virus rations.
+ - rscadd: Adds Virus food and Plasma reaction, creating Virus plasma.
+ - rscadd: Adds Synaptizine and Virus plasma reaction, creating weakened virus plasma.
+ - rscadd: Adds Sugar and Mutagenic agar reaction, creating sucrose agar.
+ - rscadd: Adds Saline glucose solution and Mutagenic agar reaction, creating sucrose
+ agar.
+ - rscadd: Adds Viral self-adaptation symptom, which boosts stealth and resistance,
+ but lowers stage speed.
+ - rscadd: Adds Viral evolutionary acceleration, which bosts stage speed and transmittability,
+ but lowers stealth and resistance.
+ - rscadd: Flypeople now vomit when they eat nutriment.
+ - rscadd: Flypeople can now suck the vomit off the floor to gain it's nutritional
+ content.
+ - rscadd: Flypeople now must suck puke chunks and vomit to fill themselves of food
+ content.
+ Malkevin:
+ - tweak: Sec officers have two sets of cuffs again (one on spawn, one in locker)
+ - tweak: Done some optimisation of sec spawn equipment lists and lockers to remove
+ some of the repetitive clicking, sec belts are now preloaded with equipment.
+ - tweak: HoS has a full baton instead of the collapsible one
+ - tweak: Detective has a classic police baton and pepper spray instead of the collapsible
+ baton (someone made police batons shit, so don't get overly happy)
+ - bugfix: pop scaled additional lockers spawned were the wrong type, changed them
+ to the right type which has batons now (actually belts now that I've changed
+ them).
+ MrStonedOne:
+ - tweak: Suit sensors will now favor higher levels for starting amount with the
+ exception of the max level, that remains unchanged.
+ - tweak: 'Old odds: 25% off 25% binary lifesigns 25% full lifesigns 25% coordinates'
+ - tweak: 'New odds: 12.5% off 25% binary lifesigns 37.5% full lifesigns 25% coordinates'
+ PKPenguin321:
+ - rscadd: Bolas are now in the game. They're a simple device fashioned from a cable
+ and two weights on the end, designed to entangle enemies by wrapping around
+ their legs upon being thrown at them. The victim can remove them rather quickly,
+ however.
+ - rscadd: Bolas can be crafted by applying 6 metal sheets to cablecuffs. They can
+ also be tablecrafted.
+ Sestren413:
+ - rscadd: Botanists have access to a new banana mutation now, bluespace bananas.
+ These will teleport anyone unfortunate enough to slip on their peel.
+ Shadowlight213:
+ - rscadd: A wave of dark energy has been detected in the area. Corgi births may
+ be affected.
+ Shadowlight213 and Robustin:
+ - rscadd: '"Old Cult is back baby!"'
+ - tweak: '"Cult survival objective disabled"'
+ - tweak: '"Imbuing talismans now consumes the imbue rune"'
+ - tweak: '"Invoking the stun talisman now hurts the cultist more"'
+ - tweak: '"The stun talisman duration is nerfed by 10%, mute is nerfed by 60% but
+ a stutter and special new slur effect will last much longer"'
+ - tweak: '"The old cult has retained the rune of time stop, now requiring 3 cultists
+ to invoke"'
+ - rscdel: '"New Cult is removed!"'
+ bgobandit:
+ - rscadd: CentComm has been informed that cargo is receiving new forms of contraband
+ in crates. Remember, Nanotrasen has a zero-tolerance contraband policy!
+ lordpidey:
+ - rscadd: New virology symptom, projectile vomiting. It is a level four symptom.
+2016-03-03:
+ Joan:
+ - tweak: Blobbernauts now die slowly when not near a blob.
+ - rscadd: Blobbernauts can now see their health and the core health of the overmind
+ that created them.
+2016-03-05:
+ CoreOverload:
+ - imageadd: Cyborg tools (screwdriver, crowbar, wrench, etc) now have new fancy
+ sprites.
+ - tweak: Said cyborg tools have received a buff and are now two times faster than
+ their non-cyborg counterparts.
+ Joan:
+ - tweak: Replicating Foam has lower expand chances when hit and on normal expand.
+ - bugfix: Shifting Fragments will no longer try and fail to swap with invalid blobs
+ when hit.
+ - tweak: Electromagnetic Web no longer always EMPs targets, instead doing it at
+ a 25% chance.
+ - tweak: Synchronous Mesh now only takes bonus damage from fire, bombs, and flashbangs.
+ - tweak: Synchronous Mesh no longer tries to split damage to blob cores or nodes.
+ Cores and nodes still split damage to nearby blobs, however.
+ - tweak: Blobbernauts now attack much slower.
+ - tweak: Blobbernauts are now maximum one per factory, reduce that factory's health
+ drastically, and die slowly if that factory is destroyed.
+ - experiment: Factories must still have above 50% health to produce blobbernauts.
+2016-03-07:
+ WJohnston:
+ - tweak: Queens and praetorians have new sprites!
+2016-03-09:
+ Joan:
+ - rscadd: Blobs can now attack people that end up on top of blob tiles with Left-Click
+ or the Expand/Attack Blob verb.
+ - tweak: The Toxin Filter virology symptom now heals 4-8 toxin damage instead of
+ 8-14.
+ - tweak: The Damage Converter virology symptom will now do toxin damage for each
+ limb healed.
+ MrStonedOne:
+ - tweak: Centcom has improved the the tesla generator! The generated tesla energy
+ balls should now be more stable! Growing quicker and dissipating slower. It
+ seems to also move around a touch more but that shouldn't be an issue as the
+ the tesla escaping containment is unheard of!
+2016-03-10:
+ Joan:
+ - rscadd: The blob can now be shocked by the tesla.
+ - tweak: Strong blobs are now much more resistant to brute damage.
+ - wip: Tweaks blob reagents;
+ - rscdel: Removes Ripping Tendrils.
+ - rscdel: Removes Draining Spikes.
+ - tweak: Cryogenic Liquid does less burn damage.
+ - tweak: Pressurized Slime does less brute damage.
+ - tweak: Reactive Gelatin now has a lower minimum damage.
+ - tweak: Poisonous Strands applies its damage over a longer period of time.
+ - tweak: Sporing Pods now does much less damage, and is less likely to produce spores
+ when killed.
+ - tweak: Regenerative Materia, Hallucinogenic Nectar, and Envenomed Filaments do
+ less toxin damage.
+ - rscadd: Energized Fibers no longer heals when hit with stamina damage, and is
+ instead immune to the tesla.
+ - rscadd: Boiling Oil now takes damage from extinguisher blasts. Boiling Oil blobbernauts,
+ however, do not.
+ - tweak: Replicating Foam now takes increased brute damage and when expanding from
+ damage, will not expand again.
+ - tweak: Flammable Goo takes 50% increased burn damage, from 30%.
+ - tweak: Explosive Lattice now takes much higher damage from fire, flashbangs, and
+ the tesla.
+ - experiment: Electromagnetic Web takes full brute damage, lasers will now one-hit
+ normal blobs, and the death EMP is smaller.
+2016-03-12:
+ Joan:
+ - bugfix: Blobbernauts and blob spores can now move near blob tiles in no gravity.
+ - tweak: Boiling Oil does slightly more damage and takes slightly less damage when
+ extinguished.
+ - rscadd: Flammable Goo now applies firestacks to targets, but does not ignite them.
+ Jordie0608:
+ - rscadd: Show Server Revision will now tell you if a PR is test merged currently.
+ PKPenguin321:
+ - rscadd: Added reinforced bolas. They do a very short stun in addition to normal
+ functions, and take twice as long to break out of when compared to regular bolas.
+ - tweak: The traitor's Throwing Star Box has been made into the Throwing Weapons
+ Box. It now contains two reinforced bolas in addition to its old contents. It
+ also costs 5 TCs, down from 6.
+ tkdrg:
+ - tweak: The detective's revolver now takes three full seconds to reload.
+ xxalpha:
+ - rscadd: Detective can be a Traitor/Double Agent.
+ - tweak: Removed Detective's access to security lockers and secbots.
+ - tweak: Removed bowman's headset from Detective's locker.
+ - tweak: Box Brig Security Office and Locker Room require a higher access level
+ (Security Officer level).
+2016-03-13:
+ Dorsisdwarf:
+ - rscadd: 'Adds Robo-Doctor board (The Hippocratic Oath: Now on your beepbot)'
+ - rscadd: Adds Reporter board (The truth will set ye free (termsandconditionsmayapply))
+ - rscadd: Adds Live and Let Live board
+ - rscadd: Adds Thermodynamics as a dangerous board.
+ Impisi:
+ - tweak: Improvised shells now deal more far more damage but are more inaccurate.
+ - tweak: Overloaded shells now require liquid plasma in addition to black powder.
+ Shells now fire explosive pellets that are good at hurting you and everything
+ in front of you.
+ Joan:
+ - rscdel: Blob gamemode blobs will no longer burst from people.
+ - rscadd: Instead, the blob gamemode spawns overminds, which can place their blob
+ core underneath them in an unobserved area.
+ - rscadd: The overminds can, until they have placed a blob core, move to any non-space,
+ non-shuttle tile.
+ - rscadd: If the overminds fail to place a blob core within a time limit, it will
+ be automatically placed for them at a random blob spawnpoint.
+ - tweak: The time before the overmind automatically places the core is slightly
+ lower than the previous average time it'd take a blob to burst.
+2016-03-15:
+ Cuboos:
+ - soundadd: Modded the current door sound and added a few new ones, unique sound
+ for closing, bolting up/down and a nifty denied sound.
+ Isratosh:
+ - rscadd: Security flashlights can now be attached to the bulletproof helmets.
+ Joan:
+ - tweak: Resource blobs produce resources for their overmind slightly slower for
+ each resource blob their overmind has.
+ - rscadd: Blob overminds get one free chemical reroll.
+ - rscadd: Blob overminds can no longer place resource and factory blobs out of range
+ of cores and nodes, unless they Toggle Node Requirement off. It is on by default.
+ - rscadd: Blob UI buttons now have tooltips.
+ - tweak: Cores and nodes will expand slightly slower.
+ - tweak: Blob Chemicals no longer trigger effects on dead mobs.
+ - tweak: Shifting Fragments has a lower chance to move shields with normal expansion
+ and will no longer shift blobs to the location of a dying blob.
+ - tweak: Flammable Goo no longer applies fire to tiles with blobs.
+ - tweak: Electromagnetic Web has a slightly higher EMP range.
+ Kor:
+ - rscadd: Hunger was accidentally disabled sometime back in October 2015. We finally
+ noticed and fixed it.
+ Kor (And all the lovely maintainers and spriters who helped me along the way):
+ - rscadd: Adds a new, lava themed planet to mine on,with randomly generated rivers
+ of lava and islands of volcanic rock. This mine is used on Box and Metastation.
+ Other mappers may enable it at their discretion.
+ - rscadd: Added deadly ash storms to mining.
+ - rscadd: Added slightly deadlier variants of mining mobs to lavaland, with sprites
+ done by my girlfriend.
+ - rscadd: Added portable survival capsules to mining equipment lockers. Don't forget
+ these, or you might get caught out by a storm. You may purchase more at the
+ venders.
+ - rscadd: Added randomly loaded ruins to mining. These maps contain new and unique
+ items not seen elsewhere in thegame. There are around a dozen of them added
+ with the "release" of lavaland, though I plan for many more.
+ - rscadd: Some ruins contain sleepers which allow you to spawn as various roles,
+ such as survivors of a shuttle crash stranded in the wilderness. You can find
+ these sleepers in the orbit list.
+ - rscadd: You can now fly the abandoned white ship to lavaland.
+ LanCartwright:
+ - tweak: Choking now deals damage based on virus' Stage speed and virus Stealth.
+ - tweak: Fever heats the body based on Transmittability and Stage speed.
+ - tweak: Spontaneous Combustion now adjusts firestacks based on stage speed minus
+ Stealth.
+ - tweak: Necrotizing Fasciitis now deals damage based on lower Stealth values.
+ - tweak: Toxic Filter now heals based on Stage speed.
+ - tweak: Deoxyribonucleic Acid Restoration now heals brain damage based on Stage
+ speed minus Stealth.
+ - tweak: Shivering now chills based on Stealth and Resistance.
+ - rscadd: Proc for the total stage speed of a virus' symptoms.
+ - rscadd: Proc for the total stealth of a virus' symptoms.
+ - rscadd: Proc for the total resistance of a virus' symptoms.
+ - rscadd: Proc for the total transmittance speed of a virus' symptoms.
+ MrStonedOne:
+ - rscdel: 'Lag has been removed from the following systems: mob life()/virus process,
+ machine/object/event processing, atmos, deletion subsystem, lighting, explosions,
+ singularity''s eat(), timers, wall smoothing, mass var edit, mass proc calls(and
+ all of sdql2), map loader, and the away mission loader.'
+ - rscdel: Removed limit on bomb cap of 32,64,128, it can now go to the MOON.
+ - tweak: Minimap generation is now a config option that defaults to off so coders
+ don't have to wait for it to generate to test their code, server operators should
+ note that they need to enable it on production servers that want minimap generation.
+ - wip: if you find any things that still lag, please report them to MrStonedOne
+ for lag removal.
+ - experiment: I'm gonna take this time to shill out that, Lummox JR, byond's only
+ dev, coded the tool that made this change possible, he lives off of byond membership
+ donations, if you like the lag removal, become a byond member or at least throw
+ 5 bucks byond's way for doing this.
+ - experiment: Feel free to ask for bomb cap removals when solo antag, but remember,
+ the later in the round it is, the more likely you'll get it.
+ PKPenguin321:
+ - rscadd: Scooters and skateboards have been added.
+ - rscadd: Use rods to make a scooter frame. From there, apply metal to make wheels,
+ creating a skateboard. Apply a few more rods to make a full scooter. You can
+ also use tablecrafting to create them, their recipes can be found under the
+ Misc. category.
+ - rscadd: Each step of scooter deconstruction is performed with either a wrench
+ or a screwdriver, depending on the step.
+ xxalpha:
+ - rscadd: Scrubber clog event now ejects cockroaches.
+2016-03-17:
+ CoreOverload:
+ - rscdel: The recent jetpacks nerf is finally reverted. Turbo mode is dead and stabilization
+ is once again can be toggled on and off.
+ - rscadd: 'Added a new chest cyberimplant: implantable thrusters set. This implant
+ is a built-in jetpack that has no stabilization mode at all and can use gas
+ from environment (if 30+ kPa) or from internals. It can also use plasma from
+ plasma vessel organ, if you have one.'
+ Joan:
+ - tweak: Moved the security hud's icons down slightly to allow it to coexist with
+ medical and antag huds.
+ Shadowlight213:
+ - rscadd: HOG deity can now be heard by all of its followers!
+ - tweak: The prophet no longer needs to wear his hat to speak with his deity.
+ - rscadd: The prophet's hat and staff have a new functionality! Use the staff inhand
+ to reveal hidden structures.
+ - rscadd: Deities can now hide their structures from view! Pretend to be a book
+ club when sec bursts in. experiment:Only enemy prophets or your own deity can
+ reveal these structures and they are disabled when hidden.
+2016-03-19:
+ Joan:
+ - imageadd: Xray lasers now have unique inhands.
+ - imageadd: Xray lasers have been recolored to match R&D equipment.
+ Zombehz:
+ - rscadd: Adds 'chicken' nuggets* in 4 shapes, including regular, star, corgi, and
+ lizard. it. They are made with one cutlet of meat.
+2016-03-20:
+ Joan:
+ - rscadd: Nar-Sie will now corrupt airlocks, tables, windows, and windoors.
+ - rscadd: Corrupted airlocks have no access restrictions.
+ - tweak: Nar-Sie no longer causes destruction while moving around in favor of additional
+ corruption.
+ - tweak: The surplus crate is less likely to give you eight space suits.
+ - bugfix: Nukeops can once again buy noslips. The nuke op magboots are still better
+ than noslips, buy them instead.
+ Kor:
+ - rscadd: Runtime now has a chance to spawn with a more classic look.
+ - rscadd: Killing a necropolis tendril will now drop a chest full of spooky loot.
+ - rscadd: Killing a necropolis tendril will now cause the ground to collapse around
+ it after 5 seconds.
+2016-03-21:
+ CoreOverload:
+ - rscadd: You can now construct and deconstruct wall mounted flashes by using a
+ wrench on empty wall flash. A crate with four linked "flash frame - flash controller"
+ pairs is added to cargo.
+ Joan:
+ - rscadd: Explosive Holoparasites now have a 33% chance to explosively teleport
+ attacked targets, doing damage to everyone near the target's appearance point.
+ - tweak: Explosive Holoparasite bombs can now detonate when living mobs bump them.
+ - rscadd: Adds lightning holoparasites, which have medium damage resist, a weak
+ attack, have a lightning chain to their summoner, and apply lightning chains
+ when attacking targets.
+ - rscadd: Lightning chains shock everyone nearby, doing low burn damage. This is
+ excluding the parasite and summoner; chains will shock enemies they're attached
+ to.
+ - tweak: Holoparasites can now smash tables and lockers.
+ PKPenguin321 && !JJRcop:
+ - rscadd: Milk, which is good for your bones, is now extra beneficial to species
+ that are mostly comprised of bones.
+ kingofkosmos:
+ - rscdel: The backpack close-button has got a visual overhaul.
+ - rscadd: All storage items can be closed by clicking on them again.
+2016-03-23:
+ Iamgoofball:
+ - rscadd: Cargo now works off of Credits.
+ - rscadd: Cargo now plays the Stock Market.
+ - rscadd: Buy Low, Sell High
+2016-03-24:
+ Iamgoofball:
+ - rscadd: CLF3 now melts, burns, and destroys floors a lot more often, as it should
+ be.
+ - rscadd: CLF3 now makes 3x3 fireballs on tiles it touches now, instead of a single
+ fireball.
+ Joan:
+ - tweak: Lightning Holoparasites will actually shock relatively often instead of
+ 'sometimes, maybe, if you're really lucky'
+ PKPenguin321:
+ - tweak: Sand now fits in your pockets
+ - rscadd: Sand can now be thrown into people's eyes, doing slight stamina damage,
+ making their vision slightly blurry, and making them stumble when they walk
+ for a short time.
+ RemieRichards:
+ - rscadd: BEES
+ - rscadd: Hydroponics can now manage bee colonies, bees produce honeycombs that
+ can be grinded to obtain honey, a decent nutriment+healing chemical
+ - rscadd: Hydroponics can inject a queen bee with a syringe of a reagent to alter
+ her DNA to match that reagent, meaning all honeycombs produced will contain
+ that reagent in small amounts
+ - rscadd: Bees with reagents will attack with that reagent
+ Xhuis:
+ - experiment: Alcohol has received multiple tweaks.
+ - tweak: Drunkenness will now be displayed on examine as long as the target's face
+ is not hidden, ranging from a slight flush to being a completely drunken wreck.
+ This also helps to measure alcohol poisoning, although the appearance will remain
+ for thirty seconds after the alcohol leaves the imbiber's bloodstream.
+ - tweak: Alcohol poisoning now has different effects. It begins with standard things
+ such as confusion, dizziness, and slurring, but eventually escalates to constant
+ vomiting, blacking out, and toxin damage.
+ - tweak: Drinks now have a wide variety of alcoholism. Grog is barely a drink whatsoever,
+ for instance, but Manly Dorf will completely floor you with too much consumption.
+ Note that drinks based off of whiskey and vodka are the hardest, whereas beer
+ and wine are the softest.
+ - tweak: The speed of alcohol poisoning has been slightly reduced.
+ - rscadd: Some drinks have received unique effects. Experiment!
+ - rscadd: A new base alcohol joins the lineup! Absinthe has been added, and is very
+ strong.
+ - rscadd: Whiskey Sour, made with Whiskey, Lemon Juice, and Sugar, simply expands
+ the existing whiskey-based lineup.
+ - rscadd: Fetching Fizz, made with Nuka-Cola and Iron, will pull all nearby ores
+ in the direction of the imbiber.
+ - rscadd: Hearty Punch, made with Brave Bull, Syndicate Bomb, and Absinthe, will
+ provide extreme healing in critical condition.
+ - rscadd: Bacchus' Blessing, made with four of the most powerful alcohols on the
+ station, is over three times stronger than any other alcohol on the station.
+ Consume in small amounts or risk death.
+2016-03-26:
+ CPTANT:
+ - tweak: Nanotrasen found a new taser supplier. The new tasers hold 12 shots, down
+ people with 2 hits and hybrid tasers now have a light laser attached.
+ CoreOverload:
+ - tweak: Sorting junctions now support multiple sorting tags.
+ Fox McCloud:
+ - bugfix: Fixes Shadowlings not being spaceproof to pressure
+ - bugfix: Fixes being able to receive multiple spells as a Lesser Shadowling
+ Joan:
+ - rscadd: Adds assassin holoparasites, which do low damage and take full damage,
+ but can go invisible, causing their next attack to do massive damage and ignore
+ armor.
+ - rscadd: Assassin holoparasite stealth will be broken by attacking or taking damage,
+ which will briefly prevent the parasite from recalling.
+ - rscadd: Traitor holoparasite injectors include this parasite type.
+ Kor:
+ - rscadd: There are a couple new lavaland ruins, including one with a new ghost
+ role.
+ PKPenguin321:
+ - tweak: The RD's reactive teleport armor now has a cooldown between teleports.
+ EMPing it will cause it to shut down and have a longer cooldown applied.
+ - imageadd: Bolas, both reinforced and regular, now have newer, sexier sprites.
+2016-03-29:
+ Bawhoppen:
+ - tweak: Bruisepacks, ointment, and gauze now will apply significanty faster.
+ - rscdel: SWAT crates no longer contain combat knives.
+ - rscadd: SWAT crates now contain combat gloves.
+ - rscadd: Combat knives now can be ordered in their own crate.
+ Iamsaltball:
+ - rscadd: GRAB SUPER NERFED
+ - rscadd: IT'S WAY EASIER TO ESCAPE GRABS NOW
+ - rscadd: IT TAKES WAY LONGER TO UPGRADE GRABS NOW
+ - rscadd: 'YOU CAN ACTUALLY FUCKING ESCAPE GRABS NOW TOO #WOW #WHOA'
+ - rscadd: GRAB TEXT IS ALL BIG BOLD AND RED MUCH LIKE YOUR MOM LAST NIGHT
+ - experiment: GIT GUDDERS GO FUCK YOURSELVES YOU CAN'T GET GOOD AGAINST "LOL INSTANT
+ PERMASTUN THAT ISN'T OBVIOUS IN CHAT LIKE THE REST OF THE STUNS"
+ Joan:
+ - tweak: Ghost revival/body creation alerts now use the ghost's hud style.
+ - imageadd: Support holoparasites now have a healing effect with their color when
+ successfully healing a target.
+ - tweak: Ranged holoparasite projectiles now take on the color of the holoparasite.
+ - bugfix: Holoparasite communication(holo->summoner) now sends the message to all
+ holoparasites the summoner has.
+ - bugfix: If you have multiple holoparasites for some reason, Reset Guardian allows
+ you to choose which to reset.
+ - tweak: Resetting a holoparasite also resets its color and name, to make it more
+ obvious it's a new player.
+ - rscadd: Holoparasites can now see their summoner's health and various ability
+ cooldowns from the status panel.
+ - rscadd: Blobbernauts are now alerted when their factory is destroyed.
+ KazeEspada:
+ - bugfix: Blob Mobs no longer swap with other mobs.
+ RemieRichards:
+ - rscadd: Added the ability to make Apiaries and Honey frames with wood
+ - rscadd: Added the ability to make Royal Bee Jelly from 10 Mutagen and 40 Honey
+ - rscadd: Added the ability to make more Queen Bees from Royal Bee Jelly by using
+ it on an existing Queen, to split her into two Queens
+ - tweak: Made homeless bees more obvious
+ - bugfix: Fixed a typo that made almost all bees homeless, severely reducing the
+ odds of getting honeycomb
+ - tweak: Made bee progress reports (50% towards new honeycomb, etc.) always show,
+ even if it's 0%
+ - tweak: Made some feedback text more obvious
+ - bugfix: Fixed being able to duplicate the bee holder object, this was not exploity,
+ just weird
+ - bugfix: Fixed being able to put two (or more) queens in the same apiary
+ - bugfix: Fixed some runtimes from hydro code assuming a plant gene exists
+ - bugfix: Fixed runtime when you use a honeycomb in your hand
+ - tweak: It now takes and uses 5u of a reagent to give a bee that reagent
+ - rscdel: Removed unused icon file
+ Ricotez:
+ - imageadd: The default white ghost form now has directional sprites.
+ - rscadd: The default white ghost form now also has (your) hair! Here's how it works.
+ - experiment: If you ghost from a body, you'll get the hair from that body. If it
+ has hair.
+ - experiment: If you hit Observe, you'll get the hair from the character you had
+ active in your setup window. If they had hair.
+ - wip: This only works with the default white ghost form right now (because the
+ other forms have the wrong shape or lack directional sprites), and with human
+ bodies since they're the only ones that have hair. Sorry lizards and plasmamen!
+ You'll get your turn next time.
+ - rscadd: A new preference called Ghost Accessories. This lets you configure if
+ you want your ghost sprite to show both hair and directional sprites, only directional
+ sprites or just use its original default version without directional sprites.
+ - rscadd: 'A new preference called Ghosts of Others. This preference is clientside
+ and lets you configure how other ghosts appear to you: as their own setting,
+ as the form they chose but without any hair or directional sprites, or as the
+ simple white ghost sprite if you''re sick of those premium users with their
+ rainbow ghosts.'
+ - experiment: The layout of the ghost preference buttons has slightly changed. The
+ old Choose Ghost Form and Choose Ghost Orbit are now a part of Ghost Customization,
+ which also contains the new Ghost Accessories button. Clicking Ghost Customization
+ will send you directly to Ghost Accessories if you don't have premium. The Preferences
+ tab now also contains the Ghost Display button, which lets you configure how
+ other ghosts appear to you.
+ - bugfix: Fixed a bug where the toggles for Ghost Accessories and Ghosts of Others
+ in the Preferences menu wouldn't save your preference update to your save file.
+ - bugfix: Renamed the "Ghost Display Settings" preference toggle button to "Ghosts
+ of Others", so it fits with the name the preference has everywhere else.
+ TehZombehz:
+ - rscadd: Paper sacks are now craftable by tablecrafting with 5 sheets of paper.
+ - rscadd: 'Comes in 5 different designs: Use a pen on a paper sack to change the
+ design.'
+ - rscadd: Certain paper sack designs can be modified with a sharp object to craft
+ a (creepy) paper sack hat.
+ Xhuis:
+ - bugfix: Portal storm messages now use the station name rather than the world name.
+ - bugfix: Shadowlings can no longer glare while shadow walking.
+ - bugfix: Progress bars are now properly shown when reloading revolvers.
+ - bugfix: Cyborgs and AIs are no longer knocked out when being stuffed into lockers.
+ - bugfix: Plasmamen can no longer be the patient zero of the space retrovirus.
+ - bugfix: Cyborgs and AIs now properly display death messages.
+ - bugfix: Revenants can no longer be closed into lockers.
+ - bugfix: Airlocks no longer play sounds or flash lights when denying access if
+ the airlock has no power.
+ - bugfix: Job spawn icons in mapping have been fixed.
+ - bugfix: Gibtonite's disarm message no longer include the outside viewer.
+ - bugfix: Cult walls and girders are now more streamlined and can be built with
+ runed metal.
+ - bugfix: Positronic brains and MMIs can no longer see ghosts.
+ - rscadd: When someone is turned into a statue, the statue now appears as a greyscale
+ version of them.
+ - rscadd: Returning from a statue to a human now knocks you down.
+ - rscdel: Flesh to Stone no longer works on dead mobs.
+ - bugfix: Wall-mounted flasher crates now have the proper price.
+ - bugfix: Wall-mounted flasher frames now have icons.
+ - bugfix: Upgraded resonators now have an inhand sprite.
+2016-03-30:
+ Coiax:
+ - rscadd: Geiger counters can now be stored in the suit storage of radiation suits
+ RemieRichards:
+ - bugfix: fixes shift-clicking action buttons not instantly resetting their location.
+ (I'm only making a changelog for this because apparently barely noone even knows
+ you can move the buttons, let alone reset them...)
+ TehZombehz:
+ - rscadd: Honey buns and honey nut bars are now craftable using honey.
+ - tweak: Brewing mead now requires actual honey.
diff --git a/html/changelogs/archive/2016-04.yml b/html/changelogs/archive/2016-04.yml
new file mode 100644
index 0000000000..59793944eb
--- /dev/null
+++ b/html/changelogs/archive/2016-04.yml
@@ -0,0 +1,544 @@
+2016-04-01:
+ Erwgd:
+ - bugfix: Weed Killer bottles and Pest Killer bottles now contain 50 units.
+ - rscadd: The biogenerator can now make empty bottles and black pepper.
+ Isratosh:
+ - rscadd: Added an admin jump button to explosion logs.
+ Joan:
+ - rscadd: Traitors can now buy charger holoparasites.
+ - rscadd: Charger holoparasites move extremely fast, do medium damage, and can charge
+ at a location, damaging the first target it hits and forcing them to drop any
+ items they're holding.
+ Kor:
+ - rscadd: Mechas are now storm proof
+ - rscadd: Kinetic Accelerators now require two hands to fire, but are free standard
+ gear for miners.
+ - rscadd: All mining scanners are now automatic, with the advanced version having
+ longer range.
+ - rscadd: The QM and HoP no longer have spare vouchers.
+ - rscadd: You can buy a pack of two survival capsules with your mining voucher.
+ - rscadd: Mining Bots will no longer cause friendly fire incidents. They'll hold
+ fire if you are between them and their target
+ - rscadd: There are now four different mining drone upgrades available in the vendor.
+ - rscadd: Resonators can now have more fields and deal more melee damage.
+ - rscadd: Lavaland miners now have explorer's suits instead of hardsuits. Sprites
+ by Ausops.
+ - rscadd: You can now butcher Goliath's for their meat. It cooks well in lava.
+ Shadowlight213:
+ - rscadd: Clients now have a volume preference for admin-played sounds.
+ TehZombehz:
+ - rscadd: The 'Plasteel Chef' program has provided station chefs with complimentary
+ ingredient packages. There are several package themes, and chefs are provided
+ a random package on arrival.
+ coiax:
+ - rscadd: Free Golems on Lavaland have been naming their newborn siblings with a
+ wider range of geology terms
+2016-04-02:
+ Eaglendia:
+ - rscadd: Central Command has released a new, more functional run of their most
+ stylish fashion line.
+ - rscadd: Head of Staff cloaks can now hold specific items - the antique laser gun
+ for the Captain, the replica energy gun for the Head of Security, the hypospray
+ for the Chief Medical Officer, the Hand Teleporter or RPED for the Research
+ Director, and the RCD or RPD for the Chief Engineer.
+2016-04-03:
+ Erwgd:
+ - rscadd: Our valued colleagues in the security department are reminded to search
+ boots for hidden items (such as knives or syringes) as part of standard search
+ procedures. Alt-click a pair of boots to remove any hidden items.
+ Isratosh:
+ - bugfix: Fixed rudimentary transform not working properly on ghosts with minds.
+ - rscadd: Admin logs for bluespace capsules not activated on the mining Z level.
+2016-04-04:
+ TechnoAlchemisto:
+ - rscadd: The recipes for some Trekchems are now back in the game
+ - rscadd: Bicaridine can be made with carbon, oxygen, and sugar.
+ - rscadd: Kelotane can be made with silicon and carbon.
+ - rscadd: Antitoxin can be made with nitrogen, silicon, and potassium
+ - rscadd: tricordrazine can be made by combining all three.
+2016-04-05:
+ Erwgd:
+ - rscadd: Utility belts of all kinds can now accept gloves. Most belts, except janitorial
+ belts, may now also hold station bounced radios.
+ - rscadd: Hazard vests and most jackets can carry a station bounced radio as well.
+ Labcoats can be used to store a handheld crew monitor.
+ - rscadd: The autolathe can now make toolboxes.
+ Joan:
+ - rscadd: Adds protector holoparasites to traitor holoparasite injectors.
+ - rscadd: Protector holoparasites cause the summoner to teleport to them when out
+ of range, instead of the other way around.
+ - rscadd: Protector holoparasites have two modes; Combat, where they do and take
+ medium damage, and Protection, where they do and take almost no damage, but
+ move slightly slower.
+ - tweak: Explosive Holoparasites no longer teleport non-mobs when attacking, but
+ have a higher chance to teleport mobs.
+ - rscdel: Explosive Holoparasite bombs no longer trigger on their summoner or any
+ other parasites their summoner has.
+ - bugfix: Ranged Holoparasites no longer have nightvision active by default. It
+ can still be toggled on.
+ - tweak: Ranged Holoparasite snares no longer alert if the crossing mob is their
+ summoner or one of the parasites their summoner has.
+ - tweak: Ranged Holoparasites are slightly less visible in scout mode.
+ - tweak: Standard Holoparasites attack 20% faster than other parasite types.
+ - rscdel: Support Holoparasite beacons no longer require safe atmospheric conditions,
+ but the warp channel takes slightly longer, and is preceded with a visible message.
+ - tweak: Zombies can no longer destroy more than one airlock at a time.
+ - rscadd: The mining station has been updated.
+ MrStonedOne:
+ - bugfix: Centcom is glad to announce the end of sending workers to our control
+ group for space exposure testing, a fake station in "space" that noticeably
+ had air in "space".
+ TechnoAlchemisto:
+ - tweak: Detective scanners are now smaller.
+ - tweak: Pickaxes now fit in explorer suit exosuit slots.
+ bgobandit:
+ - rscadd: Alt-clicking a fire extinguisher cabinet opens and closes it. That is
+ all.
+2016-04-06:
+ CoreOverload:
+ - rscadd: You can now put slimes in stasis by exposing them to room temp CO2. Useful
+ for both fighting the slimes and safely storing them.
+ Erwgd:
+ - rscadd: The autolathe can now make hydroponics tools! Access the design routines
+ in the Misc. category of the machine.
+ LanCartwright:
+ - tweak: Custom viruses with stealth values of 3 or above are now invisible on the
+ PANDEMIC and no longer visible on health huds.
+ MrStonedOne:
+ - bugfix: Centcom is happy to report that our single sided windows and our windoors
+ should once again create an airtight seal.
+ bgobandit:
+ - rscadd: Honk! Nanotrasen's clowning and development department has invented the
+ clown megaphone, standard in all clowning loadouts! Honk honk!
+2016-04-07:
+ Kor:
+ - rscadd: The Laser Cannon in RD has been replaced with the Accelerator Laser Cannon.
+ Try it out!
+ - rscadd: Mechas now have armour facings. Attacking the front will deal far less
+ damage, while attacking the back will deal massive bonus damage.
+ - rscadd: EMPs now deal far less damage/drain to mechas.
+ Kor and Ausops:
+ - rscadd: Survival pod interiors have been redone.
+ - rscadd: Survival pods now contain a stationary GPS computer.
+ - rscadd: You can now toggle your GPS off with alt+click.
+ bgobandit:
+ - rscadd: Due to budget cuts, Nanotrasen is no longer utilizing copy-protected paper
+ for its classified documents. Fortunately, our world-class security team has
+ always prevented any thefts or photocopies from being made!
+ - rscadd: Secret documents can be photocopied. If you have an objective to steal
+ any set of documents, a photocopy will be accepted. If you must steal red or
+ blue documents, a photocopy will NOT be accepted. Enterprising traitors can
+ forge the red/blue seal with a crayon to take advantage of this.
+2016-04-09:
+ GunHog:
+ - rscadd: Aliens may now force open unbolted, unwelded airlocks. Unpowered airlocks
+ open faster than powered ones. Has a cool sound provided by @Ultimate-Chimera!
+ - tweak: Alien Drone health increased to 125 hp.
+ - tweak: Alien drone is now faster!
+ - tweak: Alien egg and larva maturation times halved.
+ - tweak: Resin membrane health increased to 160 hp.
+ - rscadd: Aliens may now open firelocks.
+ - rscadd: Aliens may now unweld scrubbers and vents. (From the outside!)
+ - tweak: Droppers no longer affect aliens.
+ Joan:
+ - rscdel: You can no longer drop survival capsules on top of dense objects, such
+ as the windows in the emergency shuttle. You can still drop them on non-dense
+ objects and mobs, however.
+ - tweak: Swarmers can now deconstruct objects simply by clicking.
+ - rscadd: Swarmers can still teleport mobs away via ctrl-click.
+ - bugfix: Emps will now properly damage swarmers.
+ Kor:
+ - rscadd: Added wisp lanterns to necropolis chests.
+ - rscadd: Added red/blue cube pairs to necropolis chests.
+ - rscadd: Added meat hooks to necropolis chests.
+ - rscadd: Added immortality talismans to necropolis chests.
+ - rscadd: Added paradox bags to necropolis chests.
+ - rscadd: Ripley drills work again. Go tear up lavaland.
+ PKPenguin321:
+ - tweak: Goofball's grab nerf has been reverted.
+ TechnoAlchemisto:
+ - tweak: Pickaxe upgrades are now better.
+ coiax:
+ - tweak: Efficiency Station Testing Lab now has a Drone Shell Dispenser
+ - tweak: Fixed an issue with a door on the Golem Ship
+ - rscadd: The unfathomable entity Carp'sie has blessed vir followers with mysterious
+ carp guardians.
+ - rscadd: Nanotrasen Cyborgs are now able to empty ore boxes without human assistance
+ - rscadd: Ore boxes are now craftable with 4 planks of wood
+ - tweak: Ore boxes now drop their contents when destroyed, or dismantled with a
+ crowbar
+ coiax, bobdobbington, Core0verload:
+ - rscadd: An experimental plant DNA manipulator, based on machinery recovered from
+ ancient seed vaults, has been installed in the Botany department.
+2016-04-11:
+ Joan:
+ - rscadd: Blob cores will take slight brute damage from explosions.
+ RandomMarine:
+ - rscadd: Additional luxuries have been added to golem ships. Including new rewards.
+ Praise be to The Liberator!
+ - rscdel: However, jaunters are no longer easily obtained by free golems.
+ RemieRichards:
+ - rscadd: The Station Blueprints now display the piping/wiring and some of the machinery
+ the station started with, to assist in repairs
+ coiax:
+ - rscadd: Emagging the cargo console also unlocks regular contraband, in addition
+ to syndicate gear
+ - rscadd: A working drone shell dispenser is now on display in MetaStation's museum,
+ displaying the virtue of the tireless little workers!
+ - rscadd: Dreamstation now has a drone shell dispenser in the Toxins Launch Room
+2016-04-12:
+ Incoming5643:
+ - rscadd: Leading scientists have finally proven that humans (and xenos) in fact
+ have tongues in their mouths.
+ - rscadd: Swapping out tongues allows the various races to change their speech impediments.
+ Putting a xeno tongue in someone allows them to make the hissing sound like
+ a xeno whenever they speak.
+ - rscdel: There are no erp mechanics tied to this feature.
+ - experiment: Remember that tongues are stored in the MOUTH, selecting the head
+ isn't good enough.
+ Kor:
+ - rscadd: Ash walker starting gear has been rebalanced.
+ - rscadd: Ash walkers can no longer use guns.
+ TrustyGun:
+ - rscadd: After carefully investing in the market, the Captain had enough money
+ to replace his silver flask with a golden one!
+ - rscadd: The Detective is now bringing his personalized flask to work, due to the
+ grim work he has to do.
+ - rscadd: The Booze-O-Mat now stocks 3 flasks.
+2016-04-16:
+ Bawhoppen:
+ - tweak: Cryo is no longer god-awful.
+ CoreOverload:
+ - rscadd: A lot of items are now exportable in cargo.
+ - rscadd: Use Export Scanner to check any item's export value.
+ Erwgd:
+ - rscadd: Forks, bowls, drinking glasses, shot glasses and shakers can now be made
+ and recycled in the autolathe! Access the designs in the new 'Dinnerware' category.
+ - tweak: Kitchen knives have been moved to the Dinnerware category of the autolathe.
+ - rscadd: Butcher's cleavers can now be made in a hacked autolathe.
+ Fox McCloud:
+ - rscadd: Slime batteries now self-recharge.
+ - rscadd: Adds transference potion. A potion that allows the user to transfer their
+ consciousness to a simple mob.
+ - rscadd: Adds rainbow slime core reaction that generates a consciousness transference
+ potion when injected with blood.
+ Iamgoofball, Lati, Geo_Jerkal, Tanquetsunami25:
+ - rscadd: Lati requested that the Slime Processor will now automatically scoop up
+ any dead slimes into itself for processing.
+ - rscadd: Geo_Jerkal requested that you be able to mix Arnold Palmers with Tea and
+ Lemon Juice.
+ - rscadd: Tanquetsunami25 requested that cyborg be able to boop.
+ Incoming5643:
+ - rscdel: Removed the horrible meme skeletons, please don't sue us.
+ Kor:
+ - rscadd: Adrenals, no slips, surplus crates and SUHTANDOS now have minimum population
+ requirements before they can be purchased.
+ KorPhaeron:
+ - rscadd: You now need to butcher goliaths and watchers on lavaland to receive their
+ loot. Use the combat knives to do so.
+ Lati:
+ - rscadd: Custom floor tiles can now be added to floorbots. They will start replacing
+ other tiles with these tiles if the option is toggled on.
+ coiax:
+ - rscadd: Boxstation, not to be outdone by all the other competing station designs,
+ has installed a drone shell dispenser in the Testing Lab, which makes automated
+ drones to help fix the station.
+ - rscadd: Toy fans, rejoyce! The famous skeleton brothers from the beloved game
+ Belowyarn now have toys that you can win from the arcade machines!
+ - rscadd: Airlock painters can be printed at your local autolathe
+ - rscadd: Please do not attempt suicide with the airlock painter or the medical
+ wrench.
+ - rscadd: Metastation now has a plant DNA manipulator in Botany.
+ - rscadd: Using the fire extinguisher on yourself or others while in HELP intent
+ will spray you or them, rather than beat their probably flaming body with a
+ metal object.
+ - tweak: Alt-clicking extinguishers to empty them now wets the floor underneath
+ them.
+ lordpidey:
+ - rscadd: Meth labs can now blow up if you don't purify the ingredients or over-heat
+ the end product.
+ nullbear:
+ - rscadd: Added attack verbs for heart and tongue organs
+ - tweak: Maximum output of air pumps has been raised.
+2016-04-18:
+ Joan:
+ - rscdel: Crates are now dense even when open.
+ - rscadd: You can now climb onto crates in the same way as table and sandbags, though
+ climbing onto crates is very fast and does not stun you.
+ - wip: You can walk on crates, provided both are closed/open or the crate you're
+ on is closed.
+ - rscdel: You can't close or open a crate if there's a large mob on top of it.
+ - rscadd: Stuffing items into a closet or crate is now instant and does not close
+ the closet or crate. Stuffing mobs into a closet or crate still takes time and
+ closes the closet/crate in question.
+ - imageadd: Crowbars and wirecutters have new inhand sprites. Crowbars can now be
+ distinguished from wrenches in-hand.
+ RandomMarine:
+ - tweak: Cloth items removed from biogenerator. Instead, it can create stacking
+ cloth that crafts those items.
+ - rscadd: In addition, cloth can be used to create grey jumpsuits, backpacks, dufflebags,
+ bio bags, black shoes, bedsheets, and bandages.
+ - tweak: Bedsheets now tear into cloth instead of directly into bandages.
+ Shadowlight213:
+ - tweak: AI will be notified when one of their cyborgs is detonated.
+ coiax:
+ - bugfix: Fixed slime grinders not sucking up more than one slime
+ - rscadd: Drones now start with a spacious dufflebag full of tools, so they will
+ stop stealing the captain's
+ - bugfix: Fixed issues with drones wearing chameleon headgear.
+ - rscadd: Added admin-only "snowflake drone" (also known as drone camogear) headgear.
+ nullbear:
+ - bugfix: Fixes air canisters being silent when bashed.
+2016-04-20:
+ Erwgd:
+ - rscadd: The autolathe can now make trays.
+ Fox McCloud:
+ - bugfix: Fixes abductor vests having no cooldown between uses
+ Kor:
+ - rscadd: You can now craft boats and oars out of goliath hides. These boats can
+ move in lava.
+ - rscadd: Added a spooky, upgraded boat to necropolis chests.
+ coiax:
+ - tweak: Slime grinders now cease suction of new slimes while grinding
+ coiax, Joan:
+ - rscadd: Drone dufflebags now have their own sprite.
+ kevinz000:
+ - rscadd: 'Admin Detection Multitool: A multitool that shows when administrators
+ are watching you! Now you can grief in safety!'
+ - tweak: Syndicate R&D scientists have significantly increased the range of their
+ "AI detection multitools", making them turn yellow when an AI's tracking is
+ near, but not on you just yet!
+2016-04-21:
+ Kor:
+ - rscadd: Mechas can now toggle strafing mode.
+2016-04-22:
+ Bawhoppen:
+ - rscadd: Security belts can now hold any type of grenade. This includes barrier
+ grenades.
+ - rscadd: Janitorial belts are now able to store chem grenades.
+ - rscadd: Military belts have been given a size upgrade, so they can now hold larger
+ items.
+ - rscadd: Bandoliers have been given a buff and now can hold a much larger amount
+ of ammunition.
+ nullbear:
+ - bugfix: xenobio console is deconstructable again.
+ - tweak: syndibomb recipe calls for any matter bin, scaling effectiveness with tier.
+2016-04-23:
+ Joan:
+ - bugfix: Aliens can now open crates and lockers.
+ - bugfix: Aliens and monkeys can now climb climbable objects, such as crates and
+ sandbags.
+ - rscadd: Aliens climb very, very fast.
+ Kor:
+ - rscadd: Running HE pipes over lava will now heat the gas inside.
+ - rscadd: Alt+clicking on your mecha (while inside it) will toggle strafing mode.
+ Mercenaryblue:
+ - rscadd: Allowed all corgis to wear red wizard hats.
+ TechnoAlchemisto:
+ - rscadd: Goliaths now drop bones, and Watchers drop sinews.
+ - rscadd: You can craft primitive gear from bone and sinew.
+ coiax:
+ - bugfix: Non-humans are now able to interact with bee boxes.
+2016-04-25:
+ Joan:
+ - bugfix: You can once again hit a closet or crate with an item to open it.
+ Kor Razharas:
+ - rscadd: Adds support for autoclicking.
+ - rscadd: The Shock Revolver has been added to RnD.
+ - rscadd: The Laser Gatling Gun has been added to RnD. The Gatling Gun uses autoclick
+ to fire as you hold down the mouse.
+ - rscadd: The Research Director now starts with a box of firing pins.
+ - rscadd: The SABR and Stun Revolver recipes have been removed from RnD
+ coiax:
+ - rscadd: Laughter demons are like slaughter demons, but they tickle people to death
+ - tweak: Slaughter demons are no longer able to cast spells while phased.
+ - tweak: Wizards can now speak while ethereal, but still cannot cast spells while
+ ethereal.
+ - rscadd: 'Centcom''s "drone expert" reports that drones vision filters have been
+ upgraded to include the option of making all beings appear as harmless animals.
+ info: As always, all drone filters are togglable.'
+ - rscadd: As a sign of friendship between the Free Golems and Centcom, they have
+ modified Centcom's jaunter to be worn around a user's waist, which will save
+ them from falling to their death in a chasm.
+ - experiment: The Golems warn that these modifications have created a risk of accidental
+ activation when exposed to heavy electromagnetic fields.
+ - tweak: Renamed hivelord stabilizer to stabilizing serum.
+ - rscadd: Centcom regret to inform you that new instabilities with nearby gas giants
+ are causing exospheric bubbles to affect the telecommunications processors.
+ Please contact your supervisor for further instructions.
+ - rscadd: The Janitor's Union has mandated additional features to station light
+ replacer devices.
+ - rscadd: The light replacer now can be used on the floor to replace the bulbs of
+ any lights on that tile.
+ - rscadd: The light replacer now eats replaced bulbs, and after a certain number
+ of bulb fragments (four) will recycle them into a new bulb.
+ - tweak: The description of the light replacer is now more informative.
+ - rscadd: Clown mask appearance toggle now has an action button.
+2016-04-26:
+ Iamgoofball & Super Aggro Crag:
+ - tweak: Fluorosulfuric Acid now has doubled acid power.
+ - experiment: Fluorosulfuric Acid now does BONUS burn damage scaling on the time
+ it's been inside the consumer.
+ Joan:
+ - tweak: Blobbernauts now spawn at half health.
+ - tweak: Blobbernauts regeneration on blob is now 2.5 health per tick, from 5.
+ - tweak: Blobbernauts now cost 40 resources to produce, from 30.
+ - rscdel: Factories supporting blobbernauts do not spawn spores.
+ Lati:
+ - tweak: Syndicate bomb can be only delayed once by pulsing the delay wire. Time
+ gained from this is changed from 10 seconds to 30 seconds.
+ TechnoAlchemisto:
+ - tweak: Goliath plates can now be stacked.
+ phil235:
+ - rscadd: More structures and machines are now breakable and/or destroyable with
+ melee weapon. Additionally, Some structures and machines that are already breakable/destroyable
+ are now affected by more attack methods (gun projectiles, thrown items, melee
+ weapons, xeno/animal attacks, explosions).
+ - rscadd: Hitting any machine now always makes a sound.
+ - rscadd: You can hit closed closets/crates and doors by using an item on harm intent
+ (but it doesn't actually hurt them).
+ - rscadd: you can now burst filled water balloons with sharp items.
+ - bugfix: Wooden barricade drops wood when destroyed.
+ - bugfix: Slot machines with coins inside are deconstructable now.
+2016-04-27:
+ TechnoAlchemisto:
+ - rscadd: Miners can now select explorer belts from the mining vendor using their
+ vouchers, or mining points.
+2016-04-28:
+ Bawhoppen:
+ - tweak: Sandbags are no longer tablecrafted. Now you just put in sand (or ash)
+ by hand to make them.
+ - rscadd: Miners and Engis now get boxes of empty sandbags in their lockers. Miners
+ also get a few premade aswell.
+ - rscadd: You can now break sandstone down into normal sand.
+ Joan:
+ - rscadd: Attacking a blob with an analyzer will tell you what its chemical does,
+ its health, and a small fact about the blob analyzed.
+ - rscdel: 'NERFS:'
+ - tweak: Zombifying Feelers does less toxin damage.
+ - tweak: Adaptive Nexuses does slightly less brute damage.
+ - tweak: Replicating Foam does slightly less brute damage.
+ - tweak: Blob Sorium does slightly less brute damage.
+ - tweak: Blob Dark Matter does slightly less brute damage.
+ - tweak: Cyrogenic Liquid injects slightly less frost oil and ice and does slightly
+ less stamina damage.
+ - tweak: Pressurized Slime does less brute, oxygen, and stamina damage, and extinguishes
+ objects and people on turfs it wets.
+ - rscdel: Blob core strong blobs no longer give points when removed.
+ - wip: 'PROBABLY BUFFS:'
+ - tweak: Flammable Goo now does slightly more burn damage and applies more firestacks,
+ but applies fire to blob tiles that don't share its chemical.
+ - tweak: Energized Fibers does slightly more burn damage, slightly less stamina
+ damage, and now takes damage from EMPs.
+ - rscadd: 'BUFFS:'
+ - tweak: Boiling Oil does slightly more burn damage and applies more firestacks.
+ - tweak: Reactive Gelatin does slightly more damage on average.
+ - tweak: Penetrating Spines now also ignores bio resistance in addition to armor.
+ - tweak: Hallucinogenic Nectar causes more hallucinations.
+ - tweak: Normal strong blobs now refund 4 points when removed, from 2.
+ - rscadd: Charger holoparasites now play a sound when hitting a target, as well
+ as shaking the target's camera.
+ PKPenguin321:
+ - rscadd: The warden's locker now contains krav maga gloves.
+ TechnoAlchemisto:
+ - rscadd: You can now craft skull helmets from bones.
+ - rscadd: Syndicate bombs are now harder to detect
+2016-04-29:
+ Bawhoppen:
+ - rscadd: Several lesser-used uplink's TC cost have been rebalanced.
+ - tweak: Steckhin down from 9TC to 7TC.
+ - tweak: Tactical medkit down from 9TC to 4TC.
+ - tweak: Syndicate magboots from 3TC to 2TC.
+ - tweak: Powersinks down from 10TC to 6TC.
+ - tweak: Stealth rad-laser down from 5TC to 3TC.
+ - tweak: Bundles have been updated accordingly.
+ Incoming5643:
+ - rscadd: The staff/wand of door creation can now also be used to open airlock doors.
+ - rscadd: Doors spawned by the staff/wand now start open. Keep this in mind the
+ next time you try to turn every wall on the escape shuttle into a door.
+ Robustin:
+ - rscdel: The Teleport Other, Veil, Imbue, Reveal, Disguise, Blood Drain, Timestop,
+ Stun, Deafen, Blind, Armaments, Construct Shell and Summon Tome runes are gone.
+ - rscadd: Disguise, Veil/Reveal, Construct Shell and Armaments are now talismans.
+ The Construction talisman requires 25 sheets of metal.
+ - rscadd: Cultists will now receive a warning when attempting to use emergency communion
+ or create the Nar-Sie rune
+ - rscadd: Cultists can now create talismans with a super-simple Talisman-Creation
+ rune. It takes about 10 seconds to invoke and will present a menu of all the
+ talisman choices available. Its as simple as tossing the paper on, clicking
+ the rune, and selecting your talisman.
+ - rscadd: Cultists now have a proc, "How to Play" that will give a basic explanation
+ of how to succeed as a cultist.
+ - rscadd: The new Talisman of Horror is a stealthy talisman that will cause hallucinations
+ in the victim. Great for undermining security without having to commit to murder
+ them in middle of the hall.
+ - rscadd: Creating the Summon Nar-Sie rune does takes slightly less time, but now
+ adds a 3x3 square of red barrier shields (60hp each) to prevent the rune-scriber
+ from being bumped by other idiots. This works in conjunction with the rune's
+ warning to give crew a chance to stop the summoning. Manifest ghost has a weaker
+ 1x1 shield to prevent bumps as well.
+ - rscadd: Talismans are now color-coded by their effect so you can easily organize
+ and deploy talismans.
+ - rscadd: You can now make colored paper in the washing machine using crayons or
+ stamps, honk.
+ - rscadd: The Electromagnetic Disruption rune will now scale with the number of
+ cultists invoking the rune. **A full 9-cultist invocation will EMP the entire
+ station!**
+ - rscadd: Armaments will now give the recipient a new cult bola.
+ - rscadd: The new Talisman of Shackling will apply handcuffs directly to the victim.
+ These cuffs will disappear when removed.
+ - tweak: Cult slur is a little less potent so victims might be able to squeeze in
+ a coherent word or two if you let them keep jabbering on the radio, stun talismans
+ now have less of a health cost and the stun is back to 10 seconds, from 9.
+ - tweak: Rune and Talisman names now give a much clearer idea of what they do.
+ - experiment: The following changes are courtesy of ChangelingRain
+ - rscadd: The Teleport rune now allows cultists to select which rune to teleport
+ to, and teleports everything on it.
+ - rscadd: Veil and Reveal are merged into Talisman of Veiling. Veiling has two uses,
+ the first use will hide and the second use will reveal.
+ - rscadd: New icons for the cult bola
+ - tweak: You can now attack fellow cultists with a Talisman of Arming to arm them
+ with robes and a sword.
+ - tweak: You can now only place one rune per tile.
+ - tweak: Ghosts are notified when a new manifest rune is created.
+ TechnoAlchemisto:
+ - rscadd: Sinew can now be fashioned into restraints.
+ coiax:
+ - tweak: Internals Crate now contains breath masks and small tanks.
+ - rscadd: Metal foam grenade box crate added for 1000 points
+ - rscadd: Added two Engineering Mesons to Engineering Gear Crate
+ - tweak: Engineering Gear now costs 1300
+ - rscadd: Breach Shield Generator Crate added for 2500 points
+ - rscadd: Grounding Rod Crate added for 1700 points
+ - rscadd: PACMAN Generator Crate added for 2500
+ - rscadd: Defibrillator Crate added for 2500
+ - rscadd: Added more helmets to the Laser Tag Crate.
+ - rscadd: Nanotrasen Customs report that some wide band suppliers have been providing
+ "alternative" firing pins. Nanotrasen reminds all crewmembers that contraband
+ is contraband.
+ - rscadd: Contraband crates now appear visually similar to legitimate crates.
+ - bugfix: The cargo shuttle's normal transit time has been restored.
+ nullbear:
+ - rscadd: Adds a preference option, allowing players to toggle whether recipes with
+ no matching components should be hidden.
+2016-04-30:
+ Joan:
+ - rscadd: Blobs attempting to attack the supermatter will instead be eaten by it.
+ - experiment: This doesn't mean throwing a supermatter shard at the blob is a good
+ idea; blobs attacking it will gradually damage it, eventually resulting in a
+ massive explosion, and it will not consume blobs if on a space turf.
+ - tweak: Hitting a locker or crate with an ID, PDA with ID, or wallet with ID will
+ try to toggle the lock instead of trying to open it.
+ - imageadd: Cable coils, cablecuffs, and zipties now all have properly colored inhands.
+ Kor:
+ - rscadd: Megafauna have been added to lavaland.
+ - rscadd: Ash Drakes have been spotted roaming the wastes. Use your GPS to track
+ their fiery signals.
+ - rscadd: You can now knock on the Necropolis door, but it's probably best that
+ you don't.
+ Mercenaryblue:
+ - rscadd: Adds a basic paper plane to the game. Fold paper with alt-clicking.
+ - rscadd: Paper planes are now fully compatible with every stamps on station.
+ bgobandit:
+ - rscadd: 'Nanotrasen has released Cards Against Spess! Visit your local library
+ for a copy. Warning: may cause breakage of the fourth wall.'
diff --git a/html/changelogs/archive/2016-05.yml b/html/changelogs/archive/2016-05.yml
new file mode 100644
index 0000000000..e9ecdad30b
--- /dev/null
+++ b/html/changelogs/archive/2016-05.yml
@@ -0,0 +1,439 @@
+2016-05-02:
+ Joan:
+ - tweak: Blob spores spawn from factories 2 seconds faster, but the factory goes
+ on cooldown when any of its spores die.
+ - experiment: You can examine tomes, soulstones, and construct shells to see what
+ you can do with them.
+ - rscadd: Releasing a shade from a soulstone now allows you to reuse that soulstone
+ for capturing shades or souls, instead of preventing the stone's use forever
+ if the shade dies.
+ - imageadd: Runes now actually pulse red on failure.
+ - rscadd: The Summon Cultist rune no longer includes the cultists invoking it in
+ the selection menu.
+ - tweak: Imperfect Communication renamed to Emergency Communication.
+ - rscdel: You can no longer hide the Nar-Sie rune with a Talisman of Veiling/Revealing.
+ Kor:
+ - rscadd: Engineering cyborgs now have internal blueprints.
+ Lzimann:
+ - tweak: Automatic nexus placing time changed from 2 to 15 minutes.
+ - tweak: Prophet's gear(hat and staff) prioritizes the backpack instead of automatically
+ equipping.
+ - rscadd: Divine telepathy and prophet to god speak now have a follow button for
+ ghosts.
+ - rscadd: Divine telepathy and prophet to god speak now has the god's color.
+ - bugfix: CTF spawn protection trap is no longer constructable
+ Mercenaryblue:
+ - tweak: Drastically reduced the chances of eye damage when throwing a paper plane.
+ RandomMarine:
+ - tweak: Medical HUDs improved. To better prioritize patients, subjects deep into
+ critical condition have a blinking red outline around the entire HUD icon, and
+ will blink more rapidly when very close to death.
+ TechnoAlchemisto:
+ - tweak: Security uniforms have been made more professional, and more tactical.
+ TrustyGun:
+ - rscadd: By crafting together a legion skull, a goliath steak, ketchup, and capsaicin
+ oil, you can create Stuffed Legion! Be careful, it's hot.
+ coiax:
+ - rscadd: Centcom Department of [REDACTED] have announced a change of supplier of
+ [EXPLETIVE DELETED]. As such, for security reasons, the absinthe [MOVE ALONG
+ CITIZEN] will instead be [NOTHING TO SEE HERE]. We hope that this will not affect
+ the performance of the [INFORMATION ABOVE YOUR SECURITY CLEARANCE].
+ nullbear:
+ - rscadd: A reminder for crew to avoid mopping floors in cold rooms, as the water
+ will freeze and provide a dangerous slipping hazard known as 'ice'. Running
+ on it is not recommended.
+ - rscadd: Frostoil is an effective chemical for rapidly cooling areas in the event
+ of a fire.
+ - rscadd: Added X4, a breaching charge more destructive than C4, it can be purchased
+ from uplinks.
+ - rscadd: C4 can be used with assemblies.
+ - bugfix: Fixes chembomb recipe to use any matter bin. Again.
+ - bugfix: ARG's disappear once finished reacting.
+2016-05-03:
+ coiax, Robustin:
+ - tweak: Changeling Fleshmend is much less effective when used repeatedly in a short
+ time. Changeling Panacea is much more effective at purging reagents, reducing
+ radiation and now reduces braindamage.
+2016-05-04:
+ Fox McCloud:
+ - tweak: shock revolver projectiles are now energy instead of bullets
+ Joan:
+ - rscdel: Cultists no longer communicate via tomes.
+ - rscadd: Cultists now communicate via the 'Communion' action button.
+ - rscadd: Examining the blob with an active research scanner or medical hud will
+ display effects, akin to hitting it with an analyzer.
+ - rscadd: Improved medical HUDs to work on all living creatures.
+ - rscadd: Drones and swarmers, being machines, require a diagnostic HUD for analysis
+ instead.
+ TechnoAlchemist:
+ - rscadd: You can now craft cloaks from the scales of fallen ash drakes, look for
+ the recipe in tablecrafting!
+ coiax:
+ - rscadd: The Service and the Standard cyborg module now have a spraycan built in,
+ for hijinks and passing on important urban messages. The Service cyborg module
+ also has a cyborg-hand labeler, in case anything needs to be labelled.
+ - rscadd: 'Centcom Suicide Prevention wishes to remind the station: Please do not
+ kill yourself with a hand labeler.'
+ xxalpha:
+ - bugfix: Fixed the mk-honk prototype shoes.
+2016-05-05:
+ Joan:
+ - tweak: Revenants are slower while revealed.
+ - rscdel: Revenants can no longer cast inside dense objects.
+ - tweak: Lying down will cure Blight much, much faster.
+ \"Macho Man\" Randy Savage:
+ - rscadd: OOOHHH YEAAAAHHHH
+ - rscadd: SNAP INTO A JLIM SIM WITH THE ALL NEW WRESTLING BELT
+ - rscadd: YOU CAN FREAKOUT YOUR OPPONENTS WITH THE 5 HOT MOVES ON THIS BELT YEAH
+ - rscadd: PRAY TO THE LOCAL SPACE GODS TO EXCHANGE YOUR TELECRYSTALS TO ENSURE THE
+ CREAM RISES TO THE TOP
+2016-05-07:
+ Robustin:
+ - rscadd: A small pantry has been added to SW maintenance.
+ nullbear:
+ - rscadd: Makes Shift+Middleclick the hotkey for pointing.
+ phil235:
+ - rscadd: DISMEMBERMENT! Humans can now lose their bodyparts. Explosions and being
+ attacked with a heavy sharp item on a specific bodypart can cause dismemberment.
+ - rscadd: You can't be handcuffed or legcuffed if you're missing an arm or leg.
+ You can't use items when you have no legs, your arms are too busy helping you
+ crawl, unless your are buckled to a chair. You're slower when missing a leg.
+ - rscadd: You lose organs and items if the bodypart they are inside gets cut off.
+ You can always retrieve them by cutting the dropped bodypart with a sharp object.
+ - rscadd: Medbay can replace your missing limbs with robotic parts via surgery,
+ or amputate you.
+ - rscadd: Changelings do not die when decapitated! They can regrow all their limbs
+ with Fleshmend, or just one arm with Arm Blade or Organic Shield.
+ - rscadd: Your chest cannot be dropped, but it will spill its organs onto the ground
+ when dismembered.
+2016-05-08:
+ CoreOverload:
+ - rscadd: You can now de-power inactive swarmers with a screwdriver to prevent them
+ from activating.
+ - rscadd: Recycle depowered swarmers in autolathe or sell them in cargo!
+ Joan:
+ - rscadd: Cultist constructs, and shades, can now invoke runes by clicking them.
+ - rscdel: This does not include Manifest Ghost, Blood Boil, or Astral Journey runes.
+ - rscadd: Medical huds will now show parasites in dead creatures.
+ KorPhaeron:
+ - rscadd: Burn weapons can now dismember, and they reduce the limb to ash in the
+ process
+ - rscadd: Weapons with high AP values will now dismember limbs much easier. These
+ values are subject to change depending on how things play out over the next
+ week or two.
+ - rscadd: Various weapons with high AP values had them lowered (chaplain scythe,
+ energy sword, dualsaber) to prevent them taking limbs off in a single hit.
+ - rscadd: The chaplain has two new weapons (they are mechanically identical to previous
+ weapons, before anyone gets upset about balance). One is dismemberment themed,
+ the other is related to a new antagonist.
+ Mercenaryblue:
+ - rscadd: Throwing a Banana Cream Pie will now knock down and cream the target's
+ face.
+ - rscadd: You can clean off the cream with the usual methods, such as soap, shower,
+ cleaner spray, etc.
+ - rscadd: The Clown Federation would like to remind the crew that the HoS is worth
+ double points! Honk!
+ Robustin:
+ - experiment: There are rumors that the Cult's 'Talisman of Construction', which
+ turns ordinary metal for construct shells, can be used on plasteel to create
+ structures. If the stories are true, the cult has been producing relics of incredible
+ power through this transmutation.
+ coiax:
+ - rscadd: To save credits, Centcom has subcontracted out emergency shuttle design
+ to third parties. Rest assured, all of these produced shuttles meet our stringent
+ quality control.
+ - tweak: Lavaland ruins spawning chances have been modified. Expect to see more
+ smaller and less round affecting ruins, and no duplicates of major ruins, like
+ ash walkers or golems.
+ lordpidey:
+ - rscadd: Infernal devils have been seen onboard our spacestations, offering great
+ boons in exchange for souls.
+ - rscadd: Employees are reminded that their souls already belong to nanotrasen. If
+ you have sold your soul in error, a lawyer or head of personnel can help return
+ your soul to Nanotrasen by hitting you with your employment contract.
+ - rscadd: Nanotrasen headquarters will be bluespacing employment contracts into
+ the Lawyer's office filing cabinet when a new arrival reaches the station. It
+ is recommended that the lawyer create copies of some of these for safe keeping.
+ - rscadd: Due to the recent infernal incursions, the station library has been equipped
+ with a Codex Gigas to help research infernal weaknesses. Please note that reading
+ this book may have unintended side effects. Also note, you must spell the devil's
+ name exactly, as there are countless demons with similar names.
+ - rscadd: When a devil dies, if the proper banishment ritual is not performed on
+ it's remains, the devil will revive itself at the cost of some of it's power. The
+ banishment ritual is described in the Codex Gigas.
+ - rscadd: When a demon gains enough souls, It's form will mutate to a more demonic
+ looking form. The Arch-demon form is known to be on par with an ascended shadowling
+ in power.
+2016-05-09:
+ Joan:
+ - tweak: Sporing Pods produces spores when expanding slightly more often.
+ - tweak: Replicating Foam now only expands when hit with burn damage, from all damage,
+ but does so at a higher chance. Free expansion from it is, however, more rare.
+ - tweak: Penetrating Spines does slightly more brute damage, and Poisonous Strands
+ does its damage 50% faster.
+ KorPhaeron:
+ - rscadd: The AI no longer has a tracking delay because artificial lag is the most
+ miserable thing in the world.
+ Razharas:
+ - tweak: crafting can now be done everywhere, little button near the intents with
+ hammer on it(its not T) opens the crafting menu, if you are in a locker or mech
+ only things in your hands will be considered for crafting
+ coiax:
+ - tweak: Skeletons now have bone "tongues"
+2016-05-11:
+ Joan:
+ - rscadd: Shades can move in space.
+ - rscadd: Artificers can now heal shades.
+ coiax:
+ - tweak: Added action button to chameleon stamp
+ - rscadd: Added APPROVED and DENIED stamps to Bureaucracy Crate
+ - rscadd: Added the cream pie closet to various maps. Added contraband Cream Pie
+ Crate to Cargo.
+ pudl:
+ - rscadd: The armory has been redesigned.
+2016-05-12:
+ Shadowlight and coiax:
+ - rscdel: Due to numerous reports of teams using human weapons instead of stealth
+ when carrying out their assignments, future teams have been genetically modified
+ to only be able to use their assigned blaster and are unable to use human weapons.
+2016-05-13:
+ Joan:
+ - rscadd: Cultists can now unanchor and reanchor cult structures by hitting them
+ with a tome. Unanchored cult structures don't do anything.
+ KorPhaeron:
+ - rscadd: Drake attacks are now much easier to avoid.
+ - rscadd: Player controlled drakes can now consume bodies to heal, and alt+click
+ targets to divebomb them.
+ TechnoAlchemisto:
+ - rscadd: More items have been added to the mining vendor, check them out!
+2016-05-14:
+ Cruix:
+ - bugfix: Fixed foam darts with the safety cap removed being reset when fired.
+ - rscadd: Added the ability to remove pens from foam darts.
+ - bugfix: Foam darts with pens inside them are no longer destroyed when fired.
+ - bugfix: Foam darts no longer drop two darts when fired at a person on a janicart.
+ Joan:
+ - rscdel: The Raise Dead rune no longer accepts dead cultists as a sacrifice to
+ raise the dead.
+ Metacide:
+ - rscadd: 'A small update for MetaStation, changes include:'
+ - rscadd: Added extra grounding rods to the engine area to stop camera destruction.
+ - rscadd: Added canvases and extra crayons to art storage and some easels to maint.
+ - rscadd: Added formal security uniform crate for parades to the warden's gear area.
+ - rscadd: The armory securitron now starts active.
+ - rscadd: The genetics APC now starts unlocked.
+ - rscadd: Other minor changes and fixes as detailed on the wiki page.
+ coiax, Nienhaus:
+ - rscdel: Unfortunately, the Belowyarn toys have been withdrawn from distribution
+ due to Assistants choking on the batteries. Centcom has sent their condolences
+ to the battery manufacturing plant.
+ - rscadd: We are introducing Oh-cee the original content skeleton figurines. Pull
+ its string, and hear it say a variety of phrases. Not suitable for infants or
+ assistants under 36 months.
+ - tweak: Note that pulling the string of all talking toys is now visible to others.
+ - rscadd: Talking toys produce a lot more chatter than they did before. So do some
+ skeleton "tongues".
+ pudl:
+ - rscadd: Adds normal security headsets to security lockers
+ xxalpha:
+ - bugfix: Fixed drone dispenser multiplying glass or metal.
+2016-05-15:
+ Iamgoofball:
+ - rscadd: Nanotrasen is short on cash, and are now borrowing escape shuttles from
+ other stations, and Space Apartments.
+ Mercenaryblue:
+ - rscadd: Turns out a bike horn made with Bananium is flipping awesome! Honk!
+2016-05-18:
+ Cruix:
+ - bugfix: unwrapping an item with telekinesis no longer teleports the item into
+ your hand.
+ Metacide:
+ - rscadd: 'MetaStation: the library and chapel have had windows removed to make
+ them feel more isolated.'
+ MrStonedOne:
+ - tweak: Tesla has been rebalanced.
+ - tweak: It should now lose balls slower, increase balls faster, and be a bit more
+ aggressive about finding nearby grounding rods.
+ - tweak: additional zaps from it's orbiting balls should be a bit more varied, but
+ a touch less powerful.
+ Robustin:
+ - rscadd: Lings have a new default ability, Hivemind Link. This lets you bring a
+ neck-grabbed victim into hivemind communications after short period of time.
+ You can talk to victims who are in crit/muted and perhaps persuade them to help
+ you, give you intel, or even a PDA code. The link will stabilize crit victims
+ to help ensure they do not die during the link.
+ Shadowlight213:
+ - bugfix: Cleanbot and floorbot scanning has greatly improved. they should prioritize
+ areas next to them, as well as resolve themselves stacking on the same tiles.
+ coiax:
+ - rscadd: Kinetic accelerators only require one hand to be fired, as before
+ - rscdel: Kinetic accelerators recharge time is multiplied by the number of KAs
+ that person is carrying.
+ - rscdel: Kinetic accelerators lose their charge quickly if not equipped or being
+ held
+ - rscadd: Kinetic accelerator modkits (made at R&D or your local Free Golem ship)
+ overcome these flaws
+2016-05-19:
+ Razharas:
+ - rscadd: HE pipes once again work in space and in lava.
+ - rscadd: Space cools down station air again
+2016-05-20:
+ KorPhaeron:
+ - rscadd: The HoS now has a pinpointer, the Warden now has his door remote.
+ bgobandit:
+ - rscadd: Nanotrasen has begun to research BZ, a hallucinogenic gas. We trust you
+ will use it responsibly.
+ - rscadd: BZ causes hallucinations once breathed in and, at high doses, has a chance
+ of doing brain damage.
+ - rscadd: BZ is known to cause unusual stasis-like behavior in the slime species.
+ coiax:
+ - rscadd: Neurotoxin spit can be used as makeshift space propulsion
+2016-05-21:
+ Iamsaltball:
+ - rscadd: Heads of Staff now have basic Maint. access.
+ NicholasM10:
+ - rscadd: The chef can now make Khinkali and Khachapuri
+ coiax:
+ - rscdel: NOBREATH species (golems, skeletons, abductors, ash walkers, zombies)
+ no longer have or require lungs. They no longer take suffocation/oxyloss damage,
+ cannot give CPR and cannot benefit from CPR. Instead of suffocation damage,
+ during crit they take gradual brute damage.
+ - rscdel: NOBLOOD (golems, skeletons, abductors, slimepeople, plasmamen) species
+ no longer have or require hearts.
+ - tweak: NOBREATH species that require hearts still take damage from heart attacks,
+ as their tissues die and the lack of circulation causes toxins to build up.
+ - rscdel: NOHUNGER (plasmamen, skeletons) species no longer have appendixes.
+ coiax, OPDingo:
+ - tweak: Renamed and reskinned legion's heart to legion's soul to avoid confusion;
+ it is not a substitute heart, it is a supplemental chest organ.
+ - rscadd: Legion's souls are now more obviously inert when becoming inert.
+ nullbear:
+ - tweak: Wetness updates less often.
+ - rscadd: Wetness now stacks. Spraying lube over a tile that already has lube, will
+ make the lube take longer to dry. Likewise, dumping 100 units of lube will take
+ longer to dry than if only 10 units were dumped. (lube used to last just as
+ long, regardless of whether it was 1u, or 100u) There is a limit, however, and
+ you can't stack infinite lube.
+ - tweak: Hotter temperatures cause water to evaporate more quickly. At 100C, water
+ will boil away instantly.
+ - rscadd: About 5 seconds of wetness are removed from a tile for each unit of drying
+ agent. Absorbant Galoshes remain the most effective method of drying, and dry
+ tiles instantly regardless of wetness.
+2016-05-22:
+ coiax:
+ - rscdel: Lavaland monsters now give ruins a wide berth.
+ - bugfix: Glass tables now break when people are pushed onto them.
+2016-05-23:
+ CoreOverload:
+ - rscadd: New cyberimplant, "Toolset Arm", is now available in RnD.
+ coiax, OPDingo:
+ - rscadd: Crayons and spraycans are now easier to use.
+ - rscdel: Centcom announce due to budget cuts their supplier of rainbow crayons
+ has been forced to use more... exotic chemicals. Please do not ingest your standard
+ issue crayon.
+ kevinz000:
+ - rscadd: 'Peacekeeper borgs: Security borgs but without any stuns or restraints!
+ Modules: Harm Alarm, Cookie Dispenser, Energy Bola Launcher, Peace Injector
+ that confuses living things, and a weak holobarrier projector! It also comes
+ with the ability to hug.'
+ - rscadd: 'Cookie Synthesizer: Self recharging RCD that prints out cookies!'
+ - tweak: Nanotrasen scientists have added a hugging module to medical and peacekeeper
+ cyborgs to boost emotions during human-cyborg interaction.
+2016-05-24:
+ Joan:
+ - rscdel: You can no longer scribe the Summon Nar-Sie rune under non-valid conditions.
+ Kiazusho:
+ - rscadd: Added three new advanced syringes to R&D
+2016-05-26:
+ Xhuis:
+ - rscadd: Purge all untruths and honor Ratvar.
+ coiax:
+ - bugfix: Fixes bug where bolt of change to the host would kill an attached guardian.
+ - bugfix: Fixes bug where bolt of change to laughter demon would not release its
+ friends.
+ - bugfix: Fixes bug where bolt of change to morphling would not release its contents.
+ - bugfix: Fixes bug where bolt of change transforming someone into a drone would
+ not give them hacked laws and vision.
+ - bugfix: Blobbernauts created by a staff of change are now "independent" and will
+ not decay if seperated from a blob or missing a factory.
+ - rscadd: Independent blobbernauts added to gold slime core spawn pool.
+ - rscadd: Medical scanners now inform the user if the dead subject is within the
+ (currently) 120 second defib window.
+ - rscadd: Ghosts now have the "Restore Character Name" verb, which will set their
+ ghost appearance and dead chat name to their character preferences.
+ - bugfix: Mob spawners now give any generated names to the mind of the spawned mob,
+ meaning ghosts will have the name they had in life.
+ - bugfix: Fixes interaction with envy's knife and lavaland spawns.
+ - bugfix: Fixes a bug where swarmers teleporting humans would incorrectly display
+ a visible message about restraints breaking.
+ - rscdel: Emagging the emergency shuttle computer with less than ten seconds until
+ launch no longer gives additional time.
+ - rscadd: The emergency shuttle computer now reads the ID in your ID slot, rather
+ than your hand.
+2016-05-27:
+ coiax:
+ - rscdel: Gatling gun removed from R&D for pressing ceremonial reasons.
+ phil235:
+ - tweak: Pull and Grab are merged together. Pulling stays unchanged. Using an empty
+ hand with grab intent on a mob will pull them. Using an empty hand with grab
+ intent on a mob that you're already pulling will try to upgrade your grip to
+ aggressive grab>neck grab>kill grab. Aggressive grabs no longer stun you, but
+ they act exactly like a handcuff, preventing you from using your hands until
+ you escape the grip. You can break free from the grip by trying to move or using
+ the resist button.
+ - tweak: Someone pulling a restrained mob now swap position with them instead of
+ getting blocked by the mob, unable to even push them.
+2016-05-29:
+ GunHog:
+ - rscadd: The CE, RD, and CMO have been issued megaphones.
+ Paprika, Crystalwarrior, Korphaeron and Bawhoppen:
+ - rscadd: Pixel projectiles. This is easier to see than explain, so go fire a weapon.
+ Xhuis:
+ - rscadd: Ratvar and Nar-Sie now actively seek each other out if they both exist.
+ - tweak: Celestial gateway animations have been twweaked.
+ - tweak: Ratvar now has a new sound and message upon spawning.
+ - tweak: Ratvar now only moves one tile at a time.
+ - bugfix: The celestial gateway now takes an unreasonably long amount of time.
+ - bugfix: God clashing is now much more likely to work properly.
+ - bugfix: Function Call now works as intended.
+ - bugfix: Break Will now works as intended.
+ - bugfix: Holy water now properly deconverts servants of Ratvar.
+ - bugfix: Deconverted servants of Ratvar are no longer considered servants.
+ pudl:
+ - rscadd: Chemicals should now have color, instead of just being pink.
+2016-05-30:
+ coiax:
+ - rscadd: A new Shuttle Manipulator verb has been added for quick access to probably
+ the best and most mostly bugfree feature on /tg/.
+ - rscadd: Spectral sword is now a point of interest for ghosts.
+ - bugfix: Clicking the spectral sword action now orbits the sword, instead of just
+ teleporting to its location.
+ - bugfix: Gang tags can again be sprayed over.
+ - bugfix: Fixes bug where the wisp was unable to be recalled to the lantern.
+ xxalpha:
+ - rscdel: Engineering, CE and Atmos hardsuits no longer have in-built jetpacks.
+2016-05-31:
+ CoreOverload:
+ - rscadd: 'Cleanbot software was updated to version 1.2, improving pathfinding and
+ adding two new cleaning options: "Clean Trash" and "Exterminate Pests".'
+ - experiment: New cleaning options are still experimental and disabled by default.
+ Kiazusho:
+ - bugfix: Changeling organic suit and chitin armor can be toggled off once again.
+ Kor:
+ - rscadd: The Japanese Animes button is back,
+ - rscadd: 'The chaplain has three new weapons: The possessed blade, the extra-dimensional
+ blade, and the nautical energy sword. The former has a new power, the latter
+ two are normal sword reskins.'
+ - rscadd: The chapel mass driver has been buffed.
+ coiax:
+ - rscdel: Zombies can no longer be butchered
+ - rscadd: If you encounter an infectious zombie, be cautious, its claws will infect
+ you, and on death you will rise with them. If you manage to kill the beast,
+ you can remove the corruption from its brain via surgery, or just chop off the
+ head to stop it coming back.
+ - rscadd: Adds some stock computers and lavaland to Birdboat Station.
+ - bugfix: Free Golem scientists have proved that as beings made out of stone, golems
+ are immune to all electrical discharges, including the tesla.
+ - rscadd: Nuclear bombs are now points of interest. Never miss a borg steal a nuke
+ from the syndicate shuttle again!
+ - rscadd: Alt-clicking a spraycan toggles the cap.
diff --git a/html/changelogs/archive/2016-06.yml b/html/changelogs/archive/2016-06.yml
new file mode 100644
index 0000000000..8f27f80b0b
--- /dev/null
+++ b/html/changelogs/archive/2016-06.yml
@@ -0,0 +1,660 @@
+2016-06-01:
+ coiax:
+ - rscadd: Added a mirror to the beach biodome. Beach Bums, rejoyce!
+ pudl:
+ - rscadd: The brig infirmary has received a redesign.
+2016-06-02:
+ Joan:
+ - tweak: Closed false walls will block air.
+ Lati:
+ - rscadd: R&D required levels and origin tech levels have been rebalanced
+ - experiment: Overall, items buildable in R&D have lower tech levels and items in
+ other departments have their tech levels raised. Remember to use science goggles
+ to see tech levels of items!
+ - tweak: There are now level gates at high levels. R&D scientists will need help
+ from others to get past these level gates.
+ - tweak: Other departments such as hydroponics and genetics will be important to
+ R&D's progress now and xenobio, mining and cargo are more important than before
+ - tweak: Efficiency upgrades are back in R&D machines and tweaked to be less powerful
+ in autolathes
+ - rscdel: Reliability has been removed from all items
+ - bugfix: Most bugs in R&D machines should be fixed
+ PKPenguin321 & Nienhaus:
+ - rscadd: Letterman jackets are now available from the ClothesMate.
+ Quiltyquilty:
+ - rscadd: The bar has seen a redesign.
+ coiax:
+ - rscadd: Clone pods now notify the medical channel on a successful clone. They
+ also notify the medical channel if the clone dies or is horribly mutilated;
+ but not if it is ejected early by authorised medical personnel.
+ - rscadd: Cloning pods now are more capable of cloning humanoid species that do
+ not breathe.
+ - bugfix: You can only be damaged once by a shuttle's arrival. It is still unpleasant
+ to be in the path of one though; try to avoid it.
+ - rscadd: Adds Asteroid emergency shuttle to shuttle templates. It is a very oddly
+ shaped one though, it might not be compatible with all stations.
+ - rscdel: The Chaplain soulshard can only turn a body into a shade once. A released
+ shade can still be reabsorbed by the stone to heal it.
+ - rscadd: The shuttle manipulator now has a Fast Travel button, for those admins
+ that really want a shuttle to get to where its going FAST.
+2016-06-04:
+ MrStonedOne:
+ - bugfix: fixes see_darkness improperly hiding ghosts in certain cases.
+ Xhuis:
+ - tweak: Clockwork marauders can now smash walls and tables.
+ - tweak: Servants are no longer turned into harvesters by Nar-Sie but instead take
+ heavy brute damage and begin to bleed. Similarly, cultists are no longer converted
+ by Ratvar but instead take heavy fire damage and are set ablaze.
+ - rscadd: Added clockwork reclaimers. Ghosts can now click on Ratvar to become clockwork
+ reclaimers - small constructs capable of forcefully converting those that still
+ resist Ratvar's reign. Alt-clicking a valid target will allow the reclaimer
+ to leap onto the head of any non-servant, latching onto their head and converting
+ the target if they are able. The target will be outfitted with an unremovable,
+ acid-proof hat version of the reclaimer. The reclaimer will be able to speak
+ as normal and attack its host and anything nearby. If the reclaimer's host goes
+ unconscious or dies, it will leap free.
+ - rscadd: Added pinion airlocks. These airlocks can only be opened by servants and
+ conventional deconstruction will not work on them. They can be created by proselytizing
+ a normal airlock or from Ratvar.
+ - rscadd: Added ratvarian windows. They are created when Ratvar twists the form
+ of a normal window, and there are both single-direction and full-tile variants.
+ - bugfix: Non-servants can no longer use clockwork proselytizers or mending motors.
+ - bugfix: Servants are now deconverted properly.
+ coiax:
+ - bugfix: The cloning pod now sounds robotic on the radio.
+ - rscadd: For extra observer drama, ghosts can now visibly see the countdown of
+ syndicate bombs, nuclear devices, cloning pods, gang dominators and AI doomsday
+ devices.
+2016-06-05:
+ Joan:
+ - rscadd: Clockwork structures can be damaged by projectiles and simple animals,
+ and will actually drop debris when destroyed.
+ - rscadd: AIs and Cyborgs that serve Ratvar can control clockwork airlocks and clockwork
+ windoors.
+ - rscadd: The clockwork proselytizer can now proselytize windows, doors, grilles,
+ and windoors.
+ - rscadd: The clockwork proselytizer can proselytize wall gears and alloy shards
+ to produce replicant alloy. It can also proselytize replicant alloy to refill,
+ in addition to refilling by attacking it with alloy.
+ - rscadd: The clockwork proselytizer can replace clockwork floors with clockwork
+ walls and vice versa.
+ - rscadd: Ratvar will convert windoors, tables, and computers in addition to everything
+ else.
+ - tweak: Ratvar now moves around much faster.
+ - rscadd: Ratvar and Nar-Sie will break each other's objects.
+ - tweak: The blind eye from a broken ocular warden now serves as a belligerent eye
+ instead of as replicant alloy. The pinion lock from a deconstructed clockwork
+ airlock now serves as a vanguard cogwheel instead of as replicant alloy.
+ - rscadd: Clockwork walls drop a wall gear when removed by a welding tool. The wall
+ gear is dense, but can be climbed over or unwrenched, and drops alloy shards
+ when broken. Clockwork walls drop alloy shards when broken by other means.
+ - bugfix: Fixed Nar-Sie wandering while battling Ratvar.
+ - bugfix: Ratvarian Spears now last for the proper 5 minute duration.
+ - bugfix: Servant communication now has ghost follow links.
+ - imageadd: New sigil sprites, courtesy Skowron.
+ - imageadd: Sigils of Transgression have a visual effect when stunning a target.
+ - imageadd: Clockwork spears now have a visual effect when breaking.
+ PKPenguin321:
+ - rscadd: The CMO's medical HUD implant now comes with a one-use autoimplanter for
+ ease of use.
+ RemieRichards:
+ - rscadd: Slimes may now be ordered to attack! You must be VERY good friends with
+ the slime(s) to give this command, asking them to attack their friends or other
+ slimes will result in them liking you less so be careful!
+ X-TheDark:
+ - rscadd: Mech battery replacement improved. The inserted battery's charge will
+ be set to the same percentage of the removed one's (or 10%, if removed one's
+ was less).
+ coiax:
+ - bugfix: Clicking the (F) link when an AI talks in binary chat will follow its
+ camera eye, the same as when (F) is clicked for its radio chat.
+ - bugfix: Laughter demons should now always let their friends go when asked correctly.
+ - rscadd: Cloning pods now grab the clone's mind when the body is ejected, rather
+ than when it starts cloning.
+ - rscadd: Wizards have been experimenting with summoning the slightly less lethal
+ "laughter demon". Please be aware that these demons appear to be nearly as dangerous
+ as their slaughter cousins. But adorable, nonetheless.
+ kevinz000:
+ - rscadd: Gravity Guns! It is a mildly expensive R&D gun that has a 5 second cooldown
+ between shots, but doesn't need to be recharged. It has two modes, attract and
+ repulse. For all your gravity-manipulation needs!
+2016-06-07:
+ Bobylein:
+ - rscadd: Nanotrasen is finally able to source transparent bottles for chemistry.
+ Iamgoofball:
+ - experiment: The Greytide Virus got some teeth.
+ Joan:
+ - wip: This is a bunch of Clockwork Cult changes.
+ - rscadd: Added the Clockwork Obelisk, an Application scripture that produces a
+ clockwork obelisk, which can Hierophant Broadcast a large message to all servants
+ or open a Spatial Gateway with 5 uses and a 10 second duration to any conscious
+ servant or clockwork obelisk.
+ - wip: Spatial Gateways of any source have doubled uses and duration when the target
+ is a clockwork obelisk.
+ - rscadd: Added the Mania Motor, an Application scripture that produces a mania
+ motor, which, while active, causes hallucinations and brain damage in all nearby
+ humans.
+ - wip: The Mania Motor will try to convert any non-servant human directly adjacent
+ to it at an additional power cost and will remove brain damage, hallucinations,
+ and the druggy effect from servants.
+ - rscadd: Added the Vitality Matrix, an Application scripture that produces a sigil
+ that will slowly drain health from non-servants that remain on it. Servants
+ that remain on the sigil will instead be healed with the vitality drained from
+ non-servants.
+ - wip: The Vitality Matrix can revive dead servants for a cost of 25 vitality plus
+ all non-oxygen damage the servant has. If it cannot immediately revive a servant,
+ it will still heal their corpse.
+ - experiment: Most clockwork structures, including the Mending Motor, Interdiction
+ Lens, and the newly added Clockwork Obelisk and Mania Motor, now require power
+ to function.
+ - wip: Mending Motors can still use alloy for power.
+ - tweak: The Sigil of Transmission has been remade into a power battery and will
+ power directly adjecent clockwork structures. Sigils of Transmission start off
+ with 4000 power and can be recharged with Volt Void.
+ - tweak: Volt Void drains somewhat more power, but will not damage the invoker unless
+ they drain too much power. Invokers with augmented limbs will instead have those
+ limbs healed unless they drain especially massive amounts of power.
+ - wip: Using Volt Void on top of a Sigil of Transmission will transfer most of the
+ power drained to the Sigil of Transmission, effectively making it far less likely
+ to damage the invoker.
+ - rscdel: You can no longer stack most sigils and clockwork objects with themself.
+ You can still have multiple different objects or sigils on a tile, however.
+ - tweak: The Break Will Script has been renamed to Dementia Doctrine, is slightly
+ faster, and causes slightly more brain damage.
+ - tweak: The Judicial Visor now uses an action button instead of alt-click. Cultists
+ of Nar-Sie judged by the visor will be stunned for half duration, but will be
+ set on fire.
+ - tweak: Multiple scriptures have had their component requirements changed. The
+ Summon Judicial Visor Script has been reduced from a Script to a Driver.
+ - rscadd: Recollection will now show both required and consumed components.
+ - tweak: Clockwork Marauders can now emerge from their host if their host is at
+ or below 60% total health(for humans, this is 20 health out of crit)
+ - tweak: Clockwork Marauders will slowly heal if directly adjacent to their host
+ and have a slightly larger threshold for their no-Fatigue bonus damage.
+ Quiltyquilty:
+ - rscadd: Botany, atmospherics and cargo now all have access to high-capacity watertanks.
+ - rscadd: The bar has now been outfitted with custom bar stools.
+ Xhuis:
+ - rscdel: Removed the global message played when Nar-Sie _begins_ to spawn (but
+ not when it actually spawns).
+ - tweak: Drunkenness recovery speed now increases with how drunk the imbiber is
+ and is much quicker when the imbiber is asleep.
+ - tweak: Suit storage units now take three seconds to enter (up from one) and have
+ different sounds and messages for UV ray cauterization.
+ - bugfix: Fixed some bugs with the suit storage unit, inserting mobs, and contents
+ to seemed to duplicate themselves.
+ - bugfix: The Summon Nar-Sie rune can now only be drawn on original station tiles
+ and fails to invoke if scribed on the station then moved elsewhere.
+ coiax:
+ - rscdel: Bluespace shelter capsules can no longer be used on shuttles.
+ - rscadd: Bluespace shelters may have different capsules stored. View what your
+ capsule has inside by examining it.
+ - rscdel: The Nar'sie rune cannot be scribed on shuttles or off Z-level.
+ - rscadd: The Raise Dead rune automatically grabs the ghost of the raised corpse.
+ - rscadd: Deadchat is now notified when a sentient mob dies.
+ phil235:
+ - rscadd: Monkeys and all other animals that should have blood now has it. Beating
+ them up will make you and your weapon bloody, just like beating a human does.
+ Dragging them when wounded and lying will leave a blood trail. Their blood is
+ still mostly cosmetic, they suffer no effects from low blood level, unlike humans.
+ - rscadd: When a mob leaves a blood trail while dragged, it loses blood. You can
+ no longer drag a corpse to make an inifinite amount of blood trails, because
+ once the victim's blood reaches a certain threshold it no longer leaves a blood
+ trail (and no longer lose any more blood). The threshold depends on how much
+ damage the mob has taken. You can always avoid hurting the dragged mob by making
+ them stand up or by buckling them to something or by putting them in a container.
+ - rscdel: You can no longer empty a mob of its blood entirely with a syringe, once
+ the mob's blood volume reaches a critically low level you are unable to draw
+ any more blood from it.
+ - tweak: A changeling absorbing a human now sucks all their blood.
+2016-06-08:
+ Cruix:
+ - bugfix: Changelings no longer lose the regenerate ability if they respect while
+ in regenerative stasis.
+ Fox McCloud:
+ - bugfix: Fixes Experimentor critical reactions not working
+ - bugfix: Fixes Experimentor item cloning not working
+ - bugfix: Fixes Experimentor producing coffee vending machines instead of coffe
+ cups
+ - tweak: Experimentor can only clone critical reaction items instead of anything
+ with an origin tech
+ GunHog:
+ - rscadd: Nanotrasen has approved the Hyper-Kenetic Accelerator upgrade for cyborg
+ mining modules.
+ - tweak: Each of the heads' ID computers are now themed for their department!
+ Joan:
+ - tweak: Anima Fragments have slightly more health and move faster, but slow down
+ temporarily when taking damage. Also they can move in space now.
+ Kor:
+ - rscadd: The clown will play a sad trombone noise upon death.
+ - rscadd: Colossi now roam the wastes.
+ - rscadd: Bubblegum now roams the wastes.
+ PKPenguin321:
+ - rscadd: You can now emag chemical dispensers, such as the ones in chemistry or
+ the bar, to unlock illegal chemicals.
+ lordpidey:
+ - tweak: Infernal jaunt has been significantly nerfed with an enter and exit delay.
+2016-06-09:
+ GunHog:
+ - rscadd: Nanotrasen scientists have completed a design for adapting mining cyborgs
+ to the Lavaland Wastes in the form of anti-ash storm plating. Research for this
+ technology must be adapted at your local station.
+ Joan:
+ - tweak: Anima Fragments have slightly less health and damage and will slow down
+ for longer when hit.
+ Kor:
+ - rscadd: The captain now spawns with the station charter, which allows him to name
+ the station.
+ Papa Bones:
+ - tweak: Loyalty implants have been refluffed to mindshield implants, they are mechanically
+ the same.
+ Xhuis:
+ - rscadd: You can now remove all plants and weeds from a hydroponics tray by using
+ a spade on it.
+ - rscadd: Added meatwheat, a mutated variant of wheat that can be crushed into meat
+ substitute.
+ - rscadd: Added ambrosia gaia, a mysterious plant that is rumored to provide nutrients
+ and water to any soil - hydroponic or otherwise - that it's planted in.
+ - rscadd: Added cherry bombs, a mutated variant of blue cherries that have an explosively
+ good taste. Oh, and don't pluck the stems.
+ coiax:
+ - tweak: The beacons from support guardians are now structures, rather than replacing
+ the floor tile. In practice, this will change little, aside from not leaving
+ empty plating when a beacon is removed because a new one has been placed.
+ nullbear:
+ - tweak: Removes the restriction on wormhole jaunters, preventing them from teleporting
+ you to beacons on other z-levels.
+ - tweak: No longer able to use beacons to bypass normal shuttle/centcomm anti-bluespace
+ measures.
+2016-06-11:
+ Joan:
+ - rscadd: Clockwork Slabs, Clockwork Caches near walls, and Tinkerer's Daemons will
+ now be more likely to generate components that the clockwork cult has the least
+ of.
+ - rscadd: Destroyed Clockwork Caches will drop all Tinkerer's Daemons in them.
+ - tweak: Clockwork Caches can now only generate a component every 30 seconds(when
+ near a clockwork wall), Clockwork Slabs can only generate a component every
+ 40 seconds, and Tinkerer's Daemons can only generate a component every 20 seconds.
+ This should result in higher component generation for everything except Clockwork
+ Caches near clockwork walls.
+ - tweak: Adding a component to a Clockwork Slab instead puts that component in the
+ global component cache.
+ - tweak: Clockwork Slabs only generate components if held by a mob or in a mob's
+ storage, and when generating a component will prevent other Slabs held from
+ generating a component.
+ - tweak: The Replicant Driver no longer costs a Replicant Alloy to invoke; basically
+ you can throw free Slabs at converts.
+ - rscdel: Clockwork Slabs no longer have Repository as a menu option; instead, you
+ can examine them to see how many components they have access to.
+ - rscdel: Clockwork Caches directly on top of clockwork walls won't generate components
+ from that wall.
+ Lzimann:
+ - rscadd: Bar stools are now constructable with metal!
+ coiax:
+ - rscadd: Ghosts are notified when someone arrives on the Arrivals Shuttle. This
+ is independent of the announcement system, and the (F) link will follow the
+ arrived person.
+ - tweak: Slimes and aliens with custom names now retain those names when changing
+ forms.
+ kevinz000:
+ - bugfix: Malf AI hacking an APC that is then destroyed will no longer bug the AI
+ - bugfix: Being turned into a Revolutionary now stuns you for a short while.
+ - bugfix: Kinetic Accelerators no longer drop their firing pin or cell when destroyed
+ by lava
+ phil235:
+ - rscadd: Firelock assemblies can be reinforced with plasteel to construct heavy
+ firelocks.
+2016-06-12:
+ Joan:
+ - rscadd: Attacking a human you are pulling or have grabbed with a ratvarian spear
+ will impale them, doing massive damage, stunning the target, and breaking the
+ spear if they remain conscious after being attacked.
+ - tweak: The Function Call verb is now an action button.
+ Xhuis:
+ - rscdel: While experimenting with floral genetic engineering, Nanotrasen botanists
+ discovered an explosive variety of the cherry plant. Due to gross misuse, the
+ genes used to produce this strain have been isolated and removed while Central
+ Command decides how best to modify it.
+ xxalpha:
+ - rscadd: 'New wizard spell: Spacetime Distortion.'
+ - rscadd: 3x1 grafitti
+2016-06-13:
+ Joan:
+ - tweak: Sigils of Transgression will now only stun for about 5 seconds, from around
+ 10 seconds.
+ - tweak: Sigils of Submission take about 5 seconds to convert a target, from around
+ 3 seconds, and will glow faintly.
+ - rscadd: Sigils of any type can be attacked with an open hand to destroy them,
+ instead of requiring harm intent. Servants still require harm intent to do so.
+ Lati:
+ - rscadd: Nanotrasen has added one of their rare machine prototypes to cargo's selection.
+ It might be valuable to research.
+ Xhuis:
+ - rscadd: You can now create living cake/cat hybrids through a slightly expensive
+ crafting recipe. These "caks" are remarkably resilient, quickly regenerating
+ any brute damage dealt, and can be attacked on harm intent to take a bite to
+ be fed by a small amount. They serve as mobile sources of food and make great
+ pets.
+ - rscadd: If a brain occupied by a player is used in the crafting recipe for caks,
+ that player then takes control of the cak!
+2016-06-14:
+ Joan:
+ - tweak: The Gateway to the Celestial Derelict now takes exactly 5 minutes to successfully
+ summon Ratvar and has 500 health, from 1000.
+ - rscadd: You can now actually hit people adjacent to the Gateway; only the center
+ of the Gateway can be attacked. The Gateway is also now dense, allowing you
+ to more easily shoot at it.
+ - rscadd: All Scripture in the Clockwork Slab's recital has a simple description.
+ Razharas:
+ - rscadd: Wiki now has the method of cultivating kudzu vines that was in game for
+ over a year. https://tgstation13.org/wiki/Guide_to_hydroponics#Kudzu
+ kevinz000:
+ - tweak: Gravity Guns should no longer destroy local reality when set to attract
+ and shot in an east cardinal direction. Added safety checks has slightly increased
+ the cost of the gun's fabrication. Nanotrasen apologizes for the inconvenience.
+ - bugfix: Gravity guns now have an inhand sprite.
+2016-06-16:
+ GunHog:
+ - rscadd: In response to alarmingly high mining cyborg losses, Nanotrasen has equipped
+ the units with an internal positioning beacon, as standard within the module.
+ Joan:
+ - rscadd: You can now strike a Tinkerer's Cache with a Clockwork Proselytizer to
+ refill the Proselytizer from the global component cache.
+ - tweak: The Clockwork Proselytizer requires slightly less alloy to convert windows
+ and windoors.
+ - tweak: Several clockwork objects have more useful descriptions, most notably including
+ structures, which will show a general health level to non-servants and exact
+ health to servants.
+ - imageadd: The Clockwork Proselytizer has new, more appropriate inhands.
+ - tweak: Invoking Inath-Neq, the Resonant Cogwheel, now gives total invulnerability
+ to all servants in range for 15 seconds instead of buffing maximum health.
+ - tweak: Impaling a target with a ratvarian spear no longer breaks the spear.
+ - tweak: Judicial Markers(the things spawned from Ratvar's Flame, in turn spawned
+ from a Judicial Visor) explode one second faster.
+ - rscdel: Removed Dementia Doctrine, replacing it with an Application sigil.
+ - rscadd: Adds the Sigil of Accession, the previously-mentioned Application sigil,
+ which is much like a Sigil of Submission, except it isn't removed on converting
+ un-mindshielded targets and will disappear after converting a mindshielded target.
+ - tweak: Sigil of Submission is now a Script instead of a Driver; It's unlocked
+ one tier up, so you have to rely on the Drivers you have until you get Scripts,
+ instead of spamming both Driver sigils for free converts.
+ - rscadd: To replace Sigil of Submission in the Driver tier; Added Taunting Tirade,
+ which is a chanted scripture with a very fast invocation, which, on chanting,
+ confuses, dizzies, and briefly stuns nearby non-servants and allows the invoker
+ a brief time to relocate before continuing the chant.
+ - rscadd: Ghosts can now see the Gateway to the Celestial Derelict's remaining time
+ as a countdown.
+ - tweak: Anima Fragments are now slightly slower if not at maximum health and no
+ longer drop a soul vessel when destroyed.
+ Quiltyquilty:
+ - rscdel: Patches now hold only 40u.
+ - rscdel: Patches in first aid kits now only contain 20u of chemicals.
+ coiax:
+ - rscadd: Polymorphed mobs now have the same name, and where possible, the same
+ equipment as their previous form.
+2016-06-19:
+ Joan:
+ - tweak: Assassin holoparasite attack damage increased from 13 to 15, stealth cooldown
+ decreased from 20 seconds to 16 seconds.
+ - tweak: Charger holoparasite charge cooldown decreased from 5 seconds to 4 seconds.
+ - tweak: Chaos holoparasite attack damage decreased from 10 to 7, range decreased
+ from 10 to 7.
+ - tweak: Lightning holoparasite attack damage increased from 5 to 7, chain damage
+ increased by 33%.
+ - rscdel: Clock cult scripture unlock now only counts humans and silicons.
+ - rscadd: Servants of ratvar can now create cogscarab shells with a Script scripture.
+ Adding a soul vessel to one will produce a small, drone-like being with an inbuilt
+ proselytizer and tools.
+ - imageadd: Clockwork mobs have their own speechbubble icons.
+ - tweak: Invoking Sevtug now causes massive hallucinations, brain damage, confusion,
+ and dizziness for all non-servant humans on the same zlevel as the invoker.
+ - rscdel: Invoking Sevtug is no longer mind control. RIP mind control 2016-2016.
+ - tweak: Clockwork slabs now produce a component every 50 seconds, from 40, Tinkerer's
+ Caches now produce(if near a clockwork wall) a component every 35 seconds, from
+ 30.
+ - experiment: 'Tinkerer''s daemons have a slightly higher cooldown for each component
+ of the type they chose to produce that''s already in the cache: This is very
+ slight, but it''ll add up if you have a lot of one component type and are trying
+ to get more of it with daemons; 5 of a component type will add a second of delay.'
+ Kor and Iamgoofball:
+ - rscadd: Miners can now purchase fulton extraction packs.
+ - rscadd: Miners can now purchase fulton medivac packs.
+ - rscadd: Two new fulton related bundles are available for purchase with vouchers.
+ Quiltyquilty:
+ - rscadd: Beepsky now has his own home in the labor shuttle room.
+ Wizard's Federation:
+ - bugfix: We've fired the old Pope, who was actually an apprentice in disguise.
+ We've a-pope-riately replaced him with a much more experienced magic user.
+ - rscadd: Some less-then-sane people have been sighted forming mysterious cults
+ in lieu of recent Pope sightings, lashing out at anyone who speaks ill of him.
+ - bugfix: We've rejiggered our trans-dimensional rifts, and almost all cases of
+ clergy members being flung into nothingness should be resolved.
+ - bugfix: All members of the Space Wizard's Clergy have been appropriately warned
+ about usage of skin-to-stone spells, and such there should be no more instances
+ of permanent statueification.
+ Xhuis:
+ - tweak: Revenants have been renamed to umbras and have undergone some tweaks.
+ coiax:
+ - rscadd: Drones can hear robotic talk, but cannot communicate on it. AIs and cyborgs
+ are encouraged to share information with station repair drones.
+ - rscadd: Potted plants can now be ordered from cargo.
+ - rscdel: AI turrets no longer fire at drones.
+2016-06-20:
+ Kor:
+ - rscadd: Cult runes can only be scribed on station and on mining.
+ - rscadd: The comms console now has a new option allowing you to communicate with
+ the other server.
+ Quiltyquilty:
+ - rscadd: The detective has been moved to above the post office.
+ coiax:
+ - rscadd: Birdboat's supply loop has been split into two unconnected halves, to
+ maintain award winning air quality.
+ incoming5643:
+ - experiment: New abilities for some races!
+ - rscadd: Skeletons (liches) and zombies now are much more susceptible to limb loss,
+ but can also reattach lost limbs manually without surgery.
+ - rscadd: Slimepeople can now lose their limbs, but also can regenerate them if
+ they have the jelly for it. Additionally slimepeople will (involuntarily) lose
+ limbs and convert them to slime jelly if they're extremely low on jelly.
+ - rscadd: Zombies and slimepeople now have reversed toxic damage, what usually heals
+ now hurts and what usually hurts now heals. Keep in mind that while you could
+ for example heal with unstable mutagen, you'd still mutate. Beware of secondary
+ effects! Drugs like antitoxin are especially dangerous to these races now since
+ not only do they do toxin damage, but they remove other toxic chems before they
+ can heal you. Be wary also of wide band healing drugs like omnizine.
+ - rscadd: For slime people the above mechanic also adds/drains slime jelly. So yes
+ inhaling plasma is now a valid way to build jelly (but you'll still suffocate
+ if there's no oxygen).
+ - rscadd: Pod people now mutate if shot with the mutation setting of the floral
+ somatoray.
+2016-06-22:
+ Cheridan:
+ - tweak: Flashes no longer stun cyborgs, instead working almost exactly like a human,
+ causing them to become confused and unequip their current module.
+ Joan:
+ - rscdel: Those who do not serve Ratvar cannot understand His creations.
+ - rscadd: You can now repair clockwork structures with a clockwork proselytizer.
+ This is about a third as efficient as a mending motor, costing 2 liquified alloy
+ to 1 health, and also about a third as fast.
+ - tweak: Scarab proselytizers are more efficient and will reap more alloy from metal
+ and plasteel.
+ - rscadd: They can also directly convert rods to alloy.
+ - tweak: Nuclear bombs will no longer explode the station if in space. Please be
+ aware of this.
+ Kor:
+ - rscadd: You can now pick up potted plants.
+ PKPenguin321:
+ - rscadd: You can now pick up a skateboard and use it as a weapon by dragging it
+ to yourself.
+ - imageadd: Skateboards have been given brand new sprites, courtesy of JStheguy
+ Quiltyquilty:
+ - rscadd: The AI is back in the center of the station. The gravity generator is
+ now where the SMES room used to be. The SMESes are in the equipment room.
+ Supermichael777:
+ - rscadd: Flaps are no longer space-racist and now accept all bots.
+ Xhuis:
+ - tweak: Holy weapons, such as the null rod and possessed blade, now protect from
+ Ratvar's magic.
+ coiax:
+ - rscadd: Certain custom station names may be rejected by Centcom.
+ - rscadd: Drone shells can be ordered in Emergency supplies at Cargo.
+2016-06-23:
+ Joan:
+ - tweak: Tinkerer's Caches generate components(when near clockwork walls) every
+ minute and a half, from every 35 seconds. Clockwork Slabs generate components
+ once per minute, from once per 50 seconds.
+ - tweak: Spatial Gateway will last four seconds per invoker, instead of two per
+ invoker.
+ - rscdel: Clockwork floors now only heal toxin damage on servants of Ratvar.
+ - rscdel: You can no longer place ocular wardens very close to other ocular wardens.
+ - tweak: The Flame produced by a Judicial Visor is no longer an effective melee
+ weapon and will trigger on all intents, not just harm intent.
+ Wizard's Federation:
+ - bugfix: Acolytes of Hades have revealed their true forms.
+ - rscadd: We've discovered a way to traverse portals left behind by Hades, and have
+ discovered a great treasure through it.
+ - bugfix: Hades has undergone Anger Management classes, and should no longer remain
+ wrathful for the duration of his visit.
+ coiax:
+ - rscadd: Changelings now evolve powers via the cellular emporium, which they can
+ access via an action button.
+ - rscadd: Due to budget cuts, the shuttle's hyperspace engines now create a visual
+ distortion at their destination, a few seconds before arrival. Crewmembers are
+ encouraged to use these "ripples" as an indication of where not to stand.
+ - bugfix: Shuttles now only run over mobs in turfs they are moving into, rather
+ than the entire rectangle.
+ - rscadd: If you are an observer, you can click on transition edges of a Z-level
+ in order to move as a mob would.
+ - rscadd: Due to safety concerns, the Hyperfractal Gigashuttle now has some safety
+ grilles to prevent accidental matter energising.
+ coiax, incoming:
+ - rscadd: Due to budget cuts, the builtin anti-orbit engines on the station have
+ been removed. As such, expect the station to start orbiting the system again,
+ and encounter an unpredictable stellar environment.
+ - rscdel: All permanent structures (not on station, Centcom or lavaland) have been
+ removed.
+ - rscadd: All removed structures are now space ruins, and can be placed randomly
+ in space ruin zlevels.
+ - wip: The White Ship remains at its current location, but has lost any reliable
+ landmarks near it. Its starting position will be made more random in a coming
+ update.
+ - rscadd: The Space Bar has a small atmos system added and a teleporter. Some other
+ ruins have been cleaned up to not have atmos active turfs.
+2016-06-24:
+ Joan:
+ - experiment: The Interdiction Lens has been reworked; instead of allowing you to
+ disable Telecomms, Cameras, or non-Servant Cyborgs, it drains power from all
+ APCs, SMES units, and non-Servant cyborgs in a relatively large area, funneling
+ that power into nearby Sigils of Transmission, then disables all cameras and
+ radios in that same area.
+ - wip: If it fails to find anything it could disable or drain any power, it turns
+ off for 2 minutes.
+ - tweak: You can now target yourself with Sentinel's Compromise, allowing you to
+ heal yourself with it.
+ - rscadd: Flashes will once again stun borgs, but for a much shorter time than they
+ previously did; average stun time is reduced from the previous average of 15
+ seconds to about 6 seconds. The confusion remains, but it will no longer unequip
+ borg modules.
+ MMMiracles:
+ - tweak: Metastation xenobiology's lights and cell have been modified so it won't
+ drain 5 minutes into the round.
+ SnipeDragon:
+ - bugfix: Changelings created at round start now correctly receive their Antag HUD.
+ Xhuis:
+ - rscadd: Cardboard cutouts have been added. Now you can set up advertisements for
+ your clown mart.
+2016-06-26:
+ Basilman:
+ - rscadd: The Donor prompt for becoming an alien queen maid is now an action button
+ instead, and can be toggled on and off.
+ Joan:
+ - rscadd: Fellowship Armory now invokes faster for each nearby servant and provides
+ clockwork gauntlets, which are shock-resistant and provide armor to the arms.
+ - tweak: It's not wise to equip clockwork armor if you don't serve Ratvar.
+ - bugfix: A full set of clockwork armor will now actually cover all limbs.
+ coiax:
+ - rscadd: Our administrators, here at /tg/, don't get enough credit for their wealth
+ of experience and knowledge. Now they get the chance to share that with you
+ by giving out custom tips!
+ - tweak: Gang domination now uses the same timing method as shuttles, making their
+ domination times more accurate.
+ - rscdel: The default shuttle transit time is now 15 seconds.
+ - rscadd: Please do not commit suicide with the nuclear authentication disk.
+ - rscadd: Observers now have a visible countdown for borg factories, silicons can
+ examine the factory to determine how long it has remaining until it is ready.
+ - rscadd: Clockwork mobs sound like Ratvar chants if you do not serve Ratvar.
+ - rscadd: When servants recite, they now talk in a strange voice that is more noticable.
+2016-06-28:
+ CoreOverload:
+ - rscadd: Kinetic accelerator now supports seclite attachment.
+ - rscadd: All cyborgs have been outfitted with ash-proof plating.
+ - rscadd: Mining cyborg module now includes a welder and a fire extinguisher.
+ - rscadd: 'Mining cyborgs now have a new upgrade: lavaproof tracks.'
+ Joan:
+ - rscdel: Clockwork Marauders are no longer totally invincible to damage unless
+ a holy weapon was involved.
+ - rscadd: Clockwork Marauders will take damage when attacked, but unless they're
+ fighting excessive amounts, they'll be forced to return to their host before
+ they'd normally die.
+ - experiment: A holy weapon held in either hand in the presence of a marauder will
+ massively increase the damage they take, making it much more likely the marauder
+ can be killed.
+ - tweak: Clockwork Marauders do slightly less damage at low fatigue levels.
+ - rscadd: Clockwork Marauders now have a chance to block melee attacks, negating
+ the damage from them, and an additional chance to immediately counter, attacking
+ whoever tried to attack them.
+ - wip: If Ratvar has awoken, Marauders have a much higher chance to block and counter,
+ will block thrown items and projectiles, and gradually regenerate.
+ - experiment: Clockwork Marauders no longer have a verb to communicate; they instead
+ use :b to do so.
+ - rscadd: Faked deaths are now effectively indistinguishable from real deaths.
+ MMMiracles:
+ - rscadd: Adds some ruins for space and lavaland. Balance not included.
+ - rscadd: Adds spooky ghosts.
+ SnipeDragon:
+ - bugfix: Cardboard Cutouts now become opaque when their appearance is changed.
+ Wizard's Federation:
+ - rscadd: Acolytes of Hades have been scolded for gluing their clothes to themselves,
+ and their clothes can now be cut off them.
+ - rscadd: Hades has learned a few new tricks, to ensure the ultimate demise of his
+ target.
+ - bugfix: Hades has faced a council of his repeated use of time magic inside chapels,
+ and as it was deemed unholy, he will no longer do it.
+ - rscadd: Wizards of the Wizard's Federation have been granted access to Dark Seeds,
+ ancient relics used to call upon Hades in a time of need.
+ Xhuis:
+ - rscdel: You can no longer put paper cups back onto water coolers. In addition,
+ they're now just called "liquid coolers" instead of changing based on their
+ contents.
+ coiax:
+ - rscadd: Status displays added to a variety of shuttle templates.
+ - rscdel: Large graffiti now consumes 5 uses from limited use crayons and spraycans,
+ as well as taking three times the amount of time to draw.
+ - rscadd: All items inside the supply shuttle will now be sold, regardless of whether
+ they're inside a container or not.
+ - bugfix: Fixes issue where the AI core APC on Metastation would not charge.
+ 'name: Lzimann':
+ - rscadd: Engineer and atmos wintercoat can hold the RPD now!
+ optional name here:
+ - rscdel: Shadowlings have been completely removed.
+ oranges:
+ - tweak: You can now hear dice
+ timkoster1:
+ - rscadd: adds a hud soul counter for devils. Sprites by PouFrou and special thanks
+ to lordpidey for about everything.
+2016-06-29:
+ Joan:
+ - rscadd: Ghosts spawning via Ratvar can now choose to spawn as a Cogscarab with
+ a usable slab instead of as a Reclaimer.
+ - bugfix: You can no longer permanently block hostile simple mobs with sandbags
+ and other barricades.
+ MrStonedOne:
+ - rscadd: Ghosts may now jump between the two linked servers using the new Server
+ Hop verb. Rather than whine in deadchat about dieing, you can just go play a
+ new round on the other server.
+ coiax:
+ - rscadd: Adds a new UI to slimepeople, allowing them to select more easily which
+ body to swap to
+ - rscadd: Slimepeople swapping consciousness between bodies is now visible to onlookers
+ - bugfix: The AI malfunction "Hostile Lockdown" power now restores the station doors
+ to normal after 90 seconds, rather than keeping everything shut forever.
diff --git a/html/changelogs/archive/2016-07.yml b/html/changelogs/archive/2016-07.yml
new file mode 100644
index 0000000000..e240a6b065
--- /dev/null
+++ b/html/changelogs/archive/2016-07.yml
@@ -0,0 +1,523 @@
+2016-07-01:
+ Flavo:
+ - bugfix: fixed a bug where lights would not update.
+ Joan:
+ - rscadd: Clockwork Slabs now use an action button to communicate instead of the
+ "Report" option in the menu after using a slab.
+ - tweak: Clockwork Slabs now fit in pockets, the belt slot, or in the suit storage
+ slot(if wearing clockwork armor), where they can be used as hands-free communication.
+ - imageadd: Clockwork items with action buttons have a new, clockwork-y background.
+ - rscadd: Judicial Visors now tell the user how many targets the Judicial Blast
+ struck.
+ - soundadd: Judicial Markers now have sounds when appearing and exploding.
+ - tweak: Wet turfs should remain that way for slightly longer than 5 seconds now.
+ - rscadd: Drones and Swarmers should now sound more robotic.
+ - tweak: Ratvarian Spears will stun cyborgs and cultists for twice as long when
+ thrown; on cyborgs, this should be long enough to use Guvax on them.
+ - rscdel: Removed the Justicar's Gavel application scripture.
+ - tweak: Vitality Matrices will drain and heal 50% faster, and the base cost to
+ revive is 20% lower; 20, from 25.
+ - rscadd: Vitality Matrices will not revive or heal corpses unless they can grab
+ the ghost of the corpse, and will immediately grab the ghost when reviving.
+ - rscadd: Swarmers consuming swarmer shells now refunds the swarmer the entire cost
+ of the shell instead of 2% of the shell's cost.
+ - experiment: Application scriptures require at least 75 CV, from 50.
+ - experiment: Revenant scriptures require at least 4 Caches, from 3, and at least
+ 150 CV, from 100.
+ - experiment: Judgement scripture requires at least 12 servants, from 10, 5 Caches,
+ from 3, and at least 250 CV, from 100.
+ - experiment: Script and Application scripture have had their component costs and
+ requirements tweaked to reduce overuse of certain components.
+ - wip: Invoke times for a few scriptures that were instant are now very short instead.
+ Kor:
+ - rscdel: Holoparasites are no longer in the uplink
+ NikNak:
+ - tweak: Showcases are now movable and deconstructable. Wrench them to unanchor
+ and then screwdriver and crowbar to deconstruct.
+ Papa Bones:
+ - tweak: Security now has energy bolas available to them in their vending machines,
+ check them out!
+ bobdobbington:
+ - rscadd: Added skub to the AutoDrobe as a premium item.
+ coiax:
+ - rscadd: The CTF arena regenerates every round, and the blue team now shoot blue
+ lasers.
+ - rscadd: Adds some descriptions to alien surgery tools
+ - rscadd: The agent vest can be locked and unlocked (toggling the NODROP flag)
+ - rscadd: An abductor team can spend data points to purchase an agent vest (note
+ that only abductor agents are trained in their use)
+ - rscadd: The nuke disk reappears on the station in far more random locations, but
+ tends to re-materialise in safe pressurised areas that aren't on fire.
+ 'name: Lzimann':
+ - tweak: Mulebots with pAI cards no longer stun people
+2016-07-02:
+ Joan:
+ - rscadd: Clockwork Proselytizers can now reform stored alloy into usable component
+ alloy when used in-hand.
+ - rscdel: Mending motors start with 2500W of power in alloy, from 5000. Sigils of
+ Transmission start with 2500W of power, from 4000. Clockwork Proselytizers start
+ with 90 alloy, from 100.
+ - rscdel: Umbras have been removed.
+ - rscadd: Revenants have been readded, though they are now vulnerable to salt piles.
+ MMMiracles:
+ - rscadd: Added the power fist, a gauntlet with a piston-powered ram attached to
+ the top for traitors to punch people across the station. Punch people into walls
+ for added fun.
+ incoming5643:
+ - rscadd: 'Nuke ops can now harness the power of METAL BOXES: special versions of
+ cardboard boxes that can take a lot of abuse and can fit the whole team if need
+ be. They''re not nearly as light as their cardboard brothers though...'
+ kevinz000:
+ - rscadd: Some new emojis have been added to OOC for your enjoyment. Try them out.
+ - rscadd: 'New emojis are : coffee, trophy, tea, gear, supermatter, forceweapon,
+ gift, kudzu, dosh, chrono, nya, and tophat. Type :nameofemoji: in OOC to use.'
+2016-07-03:
+ Cruix:
+ - bugfix: Hand labelers can now label storage containers.
+ - bugfix: You can now properly resist out of wrapped lockers.
+ - bugfix: You can now resist out of morgues if you are in a bodybag.
+ - bugfix: Mechs can no longer spam doors they do not have access to.
+ Joan:
+ - tweak: Clock Cult can now happen at 24 players, same as cult.
+ - tweak: Clock Cult player scaling is lower; 3 people, plus one for every 15 players
+ above 30, from 1 for every 10 players with a player minimum of 30.
+ - experiment: Guvax now invokes 1 second faster(5 seconds), but is 0.75 seconds
+ slower for each scripture-valid servant above 5, up to a maximum of 15 seconds.
+ - experiment: Clockwork Slabs generate components 20 seconds slower for each scripture-valid
+ servant above 5, up to a maximum of 1 component every 5 minutes.
+ - tweak: Tinkerer's Daemons that would be useless cannot be made.
+2016-07-04:
+ Gun Hog:
+ - rscadd: The Space Wizard Federation has finally begun teaching its pupils how
+ to properly aim the Fireball spell!
+ - tweak: Fireball spells, including the Devil version, are now aimed via mouse click.
+ It is recommended to avoid firing at anything too close, as the user can still
+ blow himself up!
+ Joan:
+ - rscdel: Mecha are no longer immune to ocular wardens.
+ Lzimann:
+ - rscadd: Throwing active stunbatons now has a chance to stun whoever it hits!
+ MMMiracles:
+ - rscadd: Adds space ruins. Balance not included.
+ - tweak: Simple mob ghosts actually work now.
+ - rscdel: Puzzle1 ruin removed due to issues with projectiles.
+ X-TheDark:
+ - rscadd: Switching mobs/ghosting/etc related actions during the round will now
+ no longer reset your hotkey settings.
+ Xhuis:
+ - bugfix: Ash storms can now occur again.
+ bgobandit:
+ - rscadd: Bluespace polycrystals, basically stacks of bluespace crystals, have been
+ added. The ore redemptor accepts them now.
+ - tweak: The ore redemptor machine should be less spammy now.
+ coiax:
+ - rscadd: The zone of hyperspace that a shuttle travels in is dynamically determined
+ when a shuttle begins charging its engines. This is signified by the shuttle
+ mode IGN. All shuttles must now charge engines before launching. This time is
+ already included in the emergency shuttle timer.
+ - rscdel: The cargo shuttle can only be loaned to Centcom while at Centcom.
+ - rscadd: Immovable rods now notify ghosts when created, allowing them to orbit
+ it and follow their path of destruction through the station.
+ - bugfix: Fixed bugs where no meteors would come or go from the south. Seriously,
+ that was a real bug. Meteor showers are now about 33% stronger as a result.
+2016-07-06:
+ Cruix:
+ - bugfix: Vending machine restocking units now work.
+ Joan:
+ - rscadd: Servants should now be more aware of when scripture tiers are locked or
+ unlocked.
+ - experiment: Judicial Explosions from a Judicial Visor now mute for about 10 seconds.
+ MrStonedOne:
+ - rscadd: Instant Runoff Voting polls are now available.
+ RemieRichards:
+ - tweak: Fixes accidental buff to botany, all modifiers should now be at the point
+ they were at pre-bees (this does not remove, nerf or alter bees)
+ Xhuis:
+ - rscadd: The Necropolis gate now looks as regal as it should. Credit goes to KorPhaeron
+ for turf and wall sprites.
+ - bugfix: Ash storms are actually damaging now.
+ coiax:
+ - bugfix: Gulag prisoners can no longer duplicate their mining efforts through window
+ breaking on the shuttle.
+ - bugfix: Fixes pickaxes inside walls on lavaland, along with lava having eaten
+ one of the storage units.
+ - rscadd: More fire extinguishers for lavaland mining base.
+ - bugfix: You can now reload your gun in CTF.
+ - rscadd: Dying in CTF will spawn a short lived ammo pickup, which you can walk
+ over to reload all your weapons.
+ - rscadd: If reduced to critical status in CTF, you will automatically die, so you
+ no longer have to succumb or be coup de graced. If you are conscious, you will
+ now heal slowly if some damage got through your shield and didn't crit you.
+ - bugfix: The tesla now dusts all carbon mobs on the turf that it moves to, grounding
+ rod or no.
+ coiax, Niknakflak:
+ - rscadd: Added fireplaces, fuel with logs or paper and set on fire and enjoy that
+ warm comforting glow.
+ - bugfix: Cardboard cutouts are now flammable.
+ - rscadd: Cigarettes, fireplaces and candles now share a pool of possible igniters.
+ So you can now esword that candle on, but turn it on first.
+ - rscadd: Eswords will ignite plasma in the air if turned on.
+ kevinz000:
+ - tweak: Kudzu is no longer unstoppable
+ optional name here:
+ - bugfix: Suit Storage Units can now disinfect items other than living and dead
+ creatures.
+2016-07-09:
+ CoreOverload:
+ - rscadd: You can remove jetpack from a hardsuit by using screwdriver on it.
+ Crazylemon:
+ - bugfix: The map loader no longer resets when reading another map mid-load
+ Goofball Sanders:
+ - rscadd: Added a new plant to the game to encourage the Chef to be a more relevant
+ job, alongside a recipe for a food related to it. Throw a cannabis leaf on a
+ table and check the recipes list to find it.
+ Gun Hog:
+ - rscdel: Malf (Traitor) AI's Fireproof Core ability has been removed, as it was
+ entirely obsolete.
+ - rscadd: Nanotrasen is proud to announce that conveyor belts can now be fabricated
+ at your station's autolathes!
+ Iamgoofball:
+ - bugfix: Fixes the Atheist's Fedora's throw damage.
+ Joan:
+ - rscadd: Tips for Clock Cult may now show up.
+ - experiment: The global component cache can only be accessed by clockwork slabs
+ if there is at least one Tinkerer's Cache active.
+ - rscadd: Ratvarian Spears are now sharp and can be used to cut off limbs or butcher
+ mobs.
+ - rscadd: Clock Cult silicons get an action button to communicate with other servants.
+ - tweak: Clockwork Slabs now produce a component every 1 minute, 30 seconds, from
+ every 1 minute.
+ - experiment: The slab production time gain from each servant above 5 has been increased
+ from 20 seconds to 30 seconds, and the maximum production time has been increased
+ from 5 minutes to 6 minutes.
+ - rscadd: You can now transfer components between two clockwork slabs by attacking
+ one slab, or a person holding a slab, with the other; this will transfer the
+ attacking slab's components into the target slab.
+ - tweak: Application scripture now requires 100 CV, from 75, Revenant scripture
+ now requires 200 CV, from 150, and Judgment scripture now requires 300 CV, from
+ 250.
+ - experiment: However, converted windows, windoors, airlocks, and grilles will all
+ provide some CV.
+ Lzimann & Keekenox:
+ - rscadd: You can now craft a baseball bat with 5 sheets of wood!
+ MrStonedOne:
+ - experiment: Atmos on planets is now more realistic. There is an unseen upper atmosphere
+ that gas changes get carried away into, causing planet turfs to revert back
+ to their original gas mixture.
+ - tweak: This should massively improve atmos run speed as all of lavaland won't
+ be processing the moment somebody opens a door anymore
+ MrStonedOne, coiax:
+ - rscadd: View Variables can expand on associated lists with type keys. Only 90s
+ admins will truely understand.
+ RemieRichards:
+ - rscadd: Added a Compact mode to the crafting tgui
+ - tweak: Modified the back end of the crafting tgui so that it has well let's just
+ say "a lot less" calls to certain functions, should lag a little less but don't
+ expect miracles (you'd have to wait till we get a new version of ractive for
+ those!)
+ coiax:
+ - rscadd: Podpeople (and venus human traps) are now no longer damaged, poisoned
+ or obstructed by space vines. Explosive vines still damage them, because there's
+ an actual explosion.
+ - rscadd: During a meteor shower, observers can automatically orbit threatening
+ meteors via an action button and watch them hit the station.
+ - rscadd: Added Major Space Dust event, which is a meteor shower containing only
+ space dust.
+ - bugfix: Fixes bug where meteors wouldn't move when spawned.
+ - rscadd: Meteor Shower split into three different events, Normal, Threatening and
+ Catastrophic. They all have the same crew messages, but admins can tell the
+ difference.
+ - bugfix: Damage to a shuttle while it is moving will now correctly make transit
+ space turfs, rather than non-moving space.
+ - rscadd: AIs get a notification when hacking an APC, which can be clicked to jump
+ your camera to the APC's location. AIs also get notification sounds when a hack
+ has completed or failed.
+ - rscadd: Nuclear bombs now use a more accurate timer system, the same as gang dominators
+ and shuttles.
+ - rscadd: Nuclear bombs now have a TGUI interface.
+ - rscdel: Fleshmend no longer regrows lost limbs.
+ - rscadd: Added free Regenerate power to changelings, which regrows all external
+ limbs and internal organs (including the tongue if you lost your head). It costs
+ 10 chemicals to use.
+ - rscadd: Fleshmend now costs 20 chemicals, down from 25.
+ - tweak: Changeling revive power name changed from Regenerate to Revive.
+ - rscadd: When a player uses a communication console to ask for the codes to the
+ self destruct, for better or for worse, the admins can set them with a single
+ click. Whether the admins a) click the button b) actually give the random person
+ the codes, is another thing entirely.
+ - rscadd: Servants of Ratvar get an alert if they have no tinkerer's caches constructed.
+ Because it's important that they should.
+2016-07-11:
+ Iamgoofball:
+ - bugfix: Fixes Nicotine's stun reduction
+ Joan:
+ - tweak: The Function Call action that summons a Ratvarian Spear is no longer one-use;
+ instead, it can be reused once every five minutes.
+ - experiment: Clockwork Walls and Floors will appear as normal walls and plating
+ to mesons, respectively.
+ coiax:
+ - tweak: Syndicate bombs now use a more accurate timer.
+ - bugfix: Fixed a separate bug that caused bomb timers to take twice as long (ie.
+ 60 seconds took 120 seconds)
+ - tweak: The AI doomsday device timer is more accurate.
+ - bugfix: Fixes a bug where the doomsday device would take twice as long as it should.
+ optional name here:
+ - bugfix: The search function on security records consoles now works.
+2016-07-12:
+ MMMiracles:
+ - bugfix: Hotel staff can now actually use their own lockers.
+ RemieRichards:
+ - bugfix: fixed Kor's plant disguises
+ - bugfix: fixed some issues with Alternate Appearances not being added/removed
+ hornygranny:
+ - bugfix: Attacks will no longer miss missing limbs
+2016-07-14:
+ Basilman:
+ - rscadd: Added a new hairstyle "Boddicker"
+ Bawhoppen:
+ - rscadd: Added two new materials, Titanium and plastitanium. Titanium is naturally
+ occuring, and plastitanium is an alloy made of plasma and titanium.
+ - rscadd: These materials can be used to build shuttle walls and floors, though
+ this serves no current purpose.
+ CoreOverload:
+ - rscadd: Some clothing has pockets now.
+ Firecage:
+ - tweak: Mechas can no longer pass through Plastic Flaps
+ Fox McCloud:
+ - bugfix: Fixes borg stun arm not having a hitsound, bypassing shields, and not
+ doing an attack animation
+ - bugfix: Fixes simple mobs not properly having armor penetration
+ Joan:
+ - rscadd: Added dextrous guardians to the code, able to hold and use items and store
+ a single item within themselves.
+ - experiment: Dextrous guardians do low damage on punches, have medium damage resist,
+ and recalling or leashing will force them to drop any items in their hands.
+ Kor:
+ - tweak: Shuttle travel time has been shortened from 25 seconds to 6 seconds
+ Lzimann:
+ - tweak: Alt clicking a jumpsuit now removes the accessories(if there's any)!
+ Papa Bones:
+ - tweak: Security's lethal injections are actually lethal now.
+ Xhuis:
+ - rscadd: Nanotrasen electricians have introduced a software update to all licensed
+ pinpointers. The new pinpointers are more responsive and automatically switch
+ modes based on the current crisis.
+ - rscadd: It should be noted that some of these pinpointers have been reported as
+ missing from their distribution warehouse and are presumed to have been stolen.
+ This is likely nothing to worry about.
+ lordpidey:
+ - tweak: Infernal jaunt now has a cooldown, to prevent trying to jaunt while already
+ jaunting. This should have no practical changes.
+ - bugfix: Infernal jaunt no longer occasionally leaves you permanently on fire.
+ - bugfix: Pitchforks no longer burn devils and soul-sellers, as intended.
+2016-07-15:
+ Cheridan:
+ - rscadd: Added an aesthetic new space ruin
+2016-07-16:
+ Gun Hog and WJohnston:
+ - rscadd: Aliens (Xenos) now have the ability to sense the direction and rough distance
+ of their queen!
+ Iamgoofball:
+ - bugfix: Fixed the lag when opening the foodcrafting menu by splitting everything
+ up into categories.
+ Joan:
+ - rscadd: Cogscarabs(and other nonhuman mobs able to hold clockwork slabs) can now
+ check the stats of the clockwork cult by using a clockwork slab. They remain
+ unable to use slabs under normal conditions.
+ MrStonedOne:
+ - experiment: Added a system to detect when stickybans go rogue and revert all recent
+ matches.
+2016-07-18:
+ CoreOverload:
+ - rscadd: Sterilizine now reduces probability of step failure if you apply it after
+ starting surgery. Useful while operating in less-than-perfect conditions.
+ - rscadd: Potent alcohol can be used as replacement for sterilizine.
+ Joan:
+ - experiment: The Vanguard scripture no longer prevents you from using slabs while
+ active, but you cannot reactivate it if it is currently active.
+ - tweak: It now only lasts 20 seconds, instead of 30.
+ - tweak: When Vanguard deactivates, it now stuns for half the time of all stuns
+ absorbed, instead of all of them.
+ - tweak: Invoking Sevtug is less potent at long ranges, and slightly more potent
+ if extremely close.
+ - experiment: Invoking Sevtug now requires 3 invokers instead of 1.
+ - rscadd: The Clockwork Slab now has action buttons for rapidly invoking Guvax and
+ Vanguard.
+ - tweak: Belligerent is now chanted more often.
+ - experiment: Taunting Tirade now weakens nearby nonservants, but is now only invoked
+ once every 6 seconds(1 second chant, 5 second flee time) and is only chanted
+ five times.
+ lordpidey:
+ - rscadd: Flyswatters are now included in beekeeping crates, they are great at killing
+ insects and flies of all sizes.
+2016-07-19:
+ Joan:
+ - tweak: Cogscarabs can no longer pass mobs and have slightly less health.
+ - experiment: The Gateway to the Celestial Derelict can now take damage from bombs.
+ RemieRichards:
+ - rscadd: Added VR Sleepers that allow users to enter a virtual body in a virtual
+ world (Currently not mapped in ;_;)
+ Xhuis:
+ - rscadd: Added communication intercept texts for gamemodes that were missing them.
+ - tweak: Changed all intercept texts and improved grammar for a lot of key game
+ code.
+ - rscdel: The shuttle can now leave while a celestial gateway exists.
+ - rscadd: If the shuttle docks at Central Command while a celestial gateway exists,
+ Ratvar's servants will win a minor victory. His arrival will still award a major
+ victory.
+ - rscadd: The celestial gateway can now take damage from explosions.
+2016-07-22:
+ Bawhoppen:
+ - rscadd: Titanium now spawns in mining again.
+ - rscadd: It has uses in R&D and robotics production.
+ - rscadd: All shuttle walls are now using a new proper smoothing path. Mappers please
+ make sure to use this path correctly in the future. (along with tiles)
+ Cheridan:
+ - rscadd: Added another space ruin.
+ Cruix:
+ - bugfix: Camera bugs can now show camera views.
+ - bugfix: The chameleon masks in the chameleon kit can once again have their voice
+ changers toggled.
+ Incoming5643:
+ - rscadd: You now have the ability to automatically "back out" of a round if you
+ miss your chance at all the jobs you have set to low or higher. This is found
+ on the toggle at the bottom of the jobs window
+ - rscadd: Due to a quirk of game mode code this option will fail to work if you've
+ been selected as an antag (what a tragedy!) In this situation, you'll be assigned
+ a random job.
+ Joan:
+ - bugfix: You can now throw items and mobs over chasms without causing them to drop.
+ - bugfix: You can now throw items over lava without burning them. Mobs will still
+ burn, however.
+ - experiment: Tinkerer's Caches now link to a nearby unlinked clockwork wall, and
+ will not generate components unless linked. As compensation, they will link
+ to nearby walls(and can generate components) in a larger area.
+ - wip: Guvax is now slightly slower when above 5 valid servants; 1 additional second
+ of invoke time for each one above 5, from 0.75 additional seconds, up to a maximum
+ of 20 seconds of invoke time, from 15 seconds.
+ - tweak: Sigils of Transgression now stun for about 7 seconds.
+ - experiment: Sigils of Submission/Accession now take 7 seconds to convert successfully,
+ and have an obvious message to the person on them that their mind is being invaded.
+ - tweak: Ocular Wardens do 17% less damage.
+ - tweak: Mania Motors cause less brain damage and hallucinations.
+ - rscadd: If you lack the components to recite a scripture, you will be informed
+ of how many components that scripture requires.
+ - experiment: Tinkerer's Caches now cost an additional one of each non-alloy component
+ to construct for every three existing Tinkerer's Caches, up to a maximum of
+ 5 of each non-alloy component.
+ - rscadd: Revenant scriptures now announce to all servants and ghosts when used
+ instead of having a visible message.
+ Lzimann:
+ - tweak: Blood packs are now back in surgery room.
+ MMMiracles:
+ - rscadd: A giant wad of paper has been seen hurling through the nearby sector of
+ SS13, officials deny existence of giant paper ball hurling through space because
+ 'thats really fucking stupid'.
+ MrStonedOne:
+ - bugfix: Fixes super darkness from lighting creating two darkness overlays on the
+ same turf but only changing the darkness of one of the overlays
+ PKPenguin321:
+ - rscadd: Added Canned Laughter for the clown. Hehehe
+ RemieRichards:
+ - tweak: Auto-generated ratvarian now follows all the rules of hand-written ratvarian,
+ but you probably won't notice.
+ Shadowlight213:
+ - tweak: Angels can now equip satchels
+ - rscadd: Players will now receive an achievement for killing their first megafauna
+ after this point.
+ - rscadd: Additionally, megafauna kills are now tracked on a hub page. Rack up those
+ kills for first place!
+ Xhuis:
+ - rscadd: Clockwork cultists may now have the "Escape" and "Silicon" objectives,
+ requiring a certain amount of servants to escape on the shuttle and all silicons
+ to be converted respectively.
+ - rscadd: Ocular wardens are now forced to target bibles rather than the people
+ holding them.
+2016-07-28:
+ Cruix:
+ - bugfix: Fixed a bug where some objects in photos would not be displayed if they
+ were facing a certain direction.
+ - bugfix: Photograph descriptions will no longer claim that mobs with low max health
+ are hurt when they are not.
+ Incoming5643:
+ - rscadd: The previously underwhelming viscerator robot has been made a lot more
+ terrifying by the new ability to proactively target and dismember limbs.
+ Joan:
+ - tweak: The Tinkerer's Cache cost increase for having multiple Tinkerer's Caches
+ now happens every 5 caches, from every 3.
+ - experiment: If the invoker of Nzcrentr is knocked unconscious or killed, they
+ will gib instead of producing a lighting blast.
+ - tweak: Anima Fragments slow down for slightly less time when hit.
+ - tweak: Clockwork Marauders do 1 more damage on every attack.
+ - tweak: Wraith Spectacles are now less hard on the eyes, and can be used without
+ permanent vision impairment for about 50% longer; from 40~ seconds to about
+ 1 minute.
+ - tweak: Halves the Interdiction Lens' disrupt cost from 100 per disrupted object
+ to 50 per disrupted object.
+ - tweak: Clockwork Sigils will now be destroyed by any level of explosion, except
+ for Sigils of Transmission, which will gain a small amount of power if hit by
+ a light explosion instead of breaking.
+ - bugfix: Clockwork Structures will now properly take damage from explosions instead
+ of variably not taking damage or instantly being destroyed.
+ - rscadd: Ghosts can now click Spatial Gateways to teleport to the other gateway.
+ - bugfix: Spatial Gateways are now properly disrupted by devastating explosions(but
+ not heavy or light explosions)
+ - rscadd: Striking a Sigil with any damaging item as a non-servant will remove it.
+ Servants still need to be on harm intent with an empty hand to remove Sigils.
+ Kor:
+ - rscadd: The Staff of Storms, dropped by Legion, can now be used on station.
+ MMMiracles:
+ - rscadd: Adds jump boots, a mid/end-tier mining equipment that allows the user
+ to dash over 4-wide chasms.
+ ModernViolence:
+ - bugfix: Hulk now has default cooldown for melee attacks against dominator
+ MrStonedOne:
+ - tweak: Space wind (movement from pressure differentials (like a hole to space))
+ has been improved.
+ - tweak: Space wind's rate of movement now scales with pressure differential amount.
+ - experiment: Actively moving (as in holding down a move key) reduces chance/rate
+ of getting moved by space wind.
+ - rscadd: 'Having a wall or dense anchored object to your left or right will lower
+ the chance/rate of getting moved by space wind for each direction (IE: a wall
+ on both sides of you will be a double reduction)'
+ - rscadd: Added Lazy airlock cycling. Bump opening an airlock with this system will
+ close its partner. This system has been added to most airlocks that go to space
+ on boxstation, as well as airlocks to secure areas like brig, bridge, engine.
+ - tweak: This can be overridden by click opening, having a shuttle docked, or setting
+ emergency mode on one of the doors.
+ PKPenguin321:
+ - bugfix: Laughter no longer makes you laugh if you're muted.
+ - rscadd: Laughter can now be brewed with banana juice and sugar.
+ Thunder12345:
+ - rscadd: An old rapier was found rusting in the back of a closet. We cleaned it
+ up, polished it, and assigned it to your captain as a ceremonial weapon only.
+ Warranty void if used in combat.
+ incoming5643:
+ - tweak: viscerator grenades are now more generous with viscerators spawned
+2016-07-30:
+ astralenigma:
+ - bugfix: Admins can now turn people into red god.
+2016-07-31:
+ Arctophylax:
+ - bugfix: Birdboat's atmospheric tanks now function normally again.
+ - bugfix: Birdboat's TEG is now orientated to match the pipe layout.
+ Bawhoppen:
+ - tweak: toolboxes fit in backpacks
+ Gun Hog:
+ - rscadd: In an effort to reduce the demoralizing effects that accompany the death
+ of a crew member, Nanotrasen has provided the prototype designs for the Sad
+ Trombone implant. It can be fabricated at your station's protolathe, if you
+ manage to secure the ever elusive Bananium ore.
+ Joan:
+ - rscadd: Megafauna will now seek and consume corpses of enemies to heal or otherwise.
+ - tweak: Toolboxes are slightly more robust.
+ - tweak: Vanguard now only stuns for 25% of absorbed stuns, from 50%.
+ Kor:
+ - rscadd: Hostile mobs will now attack turrets.
+ Robustin:
+ - rscdel: Amber ERT Commanders no longer have thermal goggles
+ lordpidey:
+ - rscadd: Added Devil agent gamemode, where multiple devils are each trying to buy
+ more souls than the next in line.
+ - rscadd: If you've already sold your soul, you can sell it again to a different
+ devil. You can even go back and forth for INFINITE POWER.
diff --git a/html/changelogs/archive/2016-08.yml b/html/changelogs/archive/2016-08.yml
new file mode 100644
index 0000000000..a76d4a9137
--- /dev/null
+++ b/html/changelogs/archive/2016-08.yml
@@ -0,0 +1,474 @@
+2016-08-01:
+ Bawhoppen:
+ - rscadd: Added crowns. Make them from gold. Cap gets a fancy one.
+ Fox McCloud:
+ - rscadd: Adds in generic uplink refund system that potentially allows for even
+ regular traitors to refund uplink items
+ Joan:
+ - rscadd: Soul Vessels can now be used on unconscious or dead humans to extract
+ their consciousness, much like a soulstone.
+ - tweak: Soul Vessels no longer automatically ping ghosts when created, though they
+ can still be used in-hand to ping ghosts.
+ - rscadd: Soul Vessels can now communicate over the Hierophant Network
+ - experiment: Xenobiology golems enslaved to someone will become convertable if
+ their enslaver is converted to the enslaving antag type; this applies to gang
+ and both cult types.
+ oranges:
+ - rscdel: Reverted toolboxes fitting in backpacks due to being incorrectly merged
+2016-08-02:
+ CoreOverload:
+ - rscadd: Pockets in coats!
+2016-08-05:
+ Arctophylax:
+ - bugfix: The Emergency Medical and Winter Wonderland Holodeck programs work once
+ again.
+ Cruix:
+ - bugfix: RCDs can no longer place multiple grilles on the same tile.
+ - bugfix: RCDs will no longer use all their ammo if you try to build a wall on the
+ same turf multiple times.
+ - tweak: RCDs will now inform their user if they do not have enough ammo to complete
+ an operation.
+ Incoming5643:
+ - rscadd: Parrots have been made more robust.
+ Joan:
+ - rscadd: Clockwork Constructs, including anima fragments, marauders, and reclaimers,
+ can now communicate over the Hierophant Network.
+ - rscadd: Plasma cutters(normal, advanced, and mech) now have double range in low
+ pressure areas, but slightly lower range in high pressure areas.
+ - rscadd: Vitality Matrices will consume dead non-servant mobs to gain a large amount
+ of Vitality. This doesn't work on mobs that did not have a mind at some point.
+ Lordpidey and PKPenguin321:
+ - rscadd: Recent studies have revealed that fly amanita can give you a huge trip.
+ Lzimann:
+ - tweak: Holy water no longers makes you confused.
+ ModernViolence:
+ - bugfix: 'Photocopier fixes: proper sprites for not empty copies; removing originals
+ now does not delete them'
+ PKPenguin321:
+ - rscadd: Chef, do your station a favor and make a home run baseball burger (TM)
+ Robustin:
+ - rscadd: The initial supply talisman can now be used to create runed metal, 5 per
+ use
+ - rscadd: The void torch is now available from the altar, use it to transport any
+ item instantly to any cultist! It appears alongside the veil shifter as part
+ of the "Veil Walker" set.
+ - rscadd: Cult floors no longer appear on mesons!
+ - tweak: Flagellant's Robes now increases damage taken by 50%, down from 100%
+ - tweak: Veil Shifter has 4 uses, up from 2
+ - tweak: Shuttle curse now delays shuttle 3 minutes, up from 2.5 minutes
+ - tweak: Cult forges, archives, and airlocks have had their cost reduced by 1 runed
+ metal each
+ Shadowlight213:
+ - rscadd: You will now receive an achievement for winning a pulse rifle at the arcade.
+ TheCarlSaganExpress:
+ - rscadd: Added lighting effects to the welder.
+2016-08-07:
+ Arctophylax:
+ - bugfix: You can unbuckle mobs from meat spikes by clicking on the spike once again.
+ Joan:
+ - tweak: Barrier runes will now block air while active.
+ - rscadd: Trying to use sleeping carp against the colossus will now anger it.
+ frtbngll:
+ - bugfix: Fixed Paper Wizard summoning only 9 minions in its lifespan by making
+ the dead stickman decrease it's summoned_minions variable
+ lordpidey:
+ - bugfix: Centcom has received reports of cyborgs electrocuting themselves when
+ working on the power grid, and we have decided to stop storing important electronics
+ on the wirecutter's blade.
+2016-08-08:
+ Ergovisavi:
+ - rscadd: Added bonfires to botany. Requires five tower cap logs to create, and
+ mobs can be buckled to them if an iron rod is added to the bonfire and the mob
+ is restrained.
+ Joan:
+ - rscadd: Added the clockcult "Global Records" alert, which clock cultists can mouse
+ over to check a variety of information on the clockcult's status, including
+ living servants, number of caches, CV, tinkerer's daemons, if there's an unconverted
+ AI, what clockwork generals can be invoked, and what scripture is unlocked.
+ Shadowlight213:
+ - rscadd: Ghosts can now see human player's huds when using the OOC -> Observe verb
+ WJohnston, Gun Hog:
+ - tweak: Xenos are now considered female.
+ - tweak: Hunter pounce are now always blocked by shields, and may be blocked more
+ often by other protective items.
+ - tweak: Alien Queen is now somewhat faster.
+ - tweak: Adjusted larva growth sprites.
+ - tweak: Removed 20% facehugger failure chance for masks.
+ - tweak: Disarm now always forces a person to drop an item in the active hand, and
+ if a person's hand is empty/undroppable, Disarm will always result in a tackle.
+ - tweak: Cyborgs disarmed by a Xeno will first disable their selected module, and
+ if there is none selected, the cyborg will be pushed back and stunned.
+ - tweak: Tail Sweep now has a slightly longer stun.
+2016-08-10:
+ Cruix:
+ - rscadd: Sentient minebots can now toggle meson vision, a flashlight, their mode,
+ and dump their stored ore.
+ - bugfix: Sentient minebots can now be repaired if they were made sentient while
+ the AI was active.
+ - bugfix: Healing minebots will no longer switch them to attack mode.
+ - tweak: Sentient minebots can now shoot at humans.
+ - bugfix: The cooldown on wizard lightning will no longer break if you ethereal
+ jaunt or RISE! after the initial cast.
+ Kor:
+ - rscadd: You can now detonate drones with the RD console
+ LanCartwright:
+ - rscadd: Acute respiratory distress syndrom symptom.
+ - rscadd: Toxic metabolism.
+ - rscadd: Alkali perspiration
+ - rscadd: Autophagocytosis Necrosis
+ - rscadd: Apoptoxin filter
+ - rscadd: 3 different lategame/Non-roundstart virus reagents
+ - rscadd: 4 different lategame/Non-roundstart virus recipes
+ MrStonedOne:
+ - tweak: Tweaked space wind, it should now only trigger at higher pressure differences,
+ but be quicker to become aggressive as the pressure difference gets higher.
+ This should alleviate issues where small differences was still moving a lot
+ of things.
+ - tweak: Paper still moves with any pressure difference.
+ PKPenguin321:
+ - rscadd: There's now an achievement for managing to examine a meteor as a living
+ mob!
+ RemieRichards:
+ - rscadd: 'Added a new PDA button/app: Drone Phone!'
+2016-08-14:
+ Cheridan:
+ - tweak: Greatly reduced amount of Hydroponics yield multipliers
+ - tweak: Somewhat reduced gaia'd tray sustainability.
+ - tweak: Mutagen will no longer potentially cause plant instadeath based on RNG.
+ Ergovisavi:
+ - tweak: Watchers no longer randomly fire beams at you when damaged, and no longer
+ beam you at point blank.
+ Gun Hog:
+ - tweak: The AI's Crew Manifest button now uses the updated styling.
+ Joan:
+ - rscadd: Sigils of Transgression now glow brightly when stunning a target.
+ - rscadd: The Global Records alert now shows the location and countdown time of
+ the Gateway to the Celestial Derelict.
+ - tweak: Clockcult tooltips now all have the clockcult tooltip style.
+ - rscdel: You can no longer become a Reclaimer when clicking on Ratvar. You can
+ still become a Cogscarab, however.
+ - bugfix: You can no longer invoke Vanguard while under its effects.
+ - bugfix: Servants of Ratvar should now always get an announcement when scripture
+ states change.
+ - tweak: Function Call can be used to summon a Ratvarian Spear once every 3 minutes,
+ from 5, but the spear summoned will now only last 3 minutes.
+ - rscadd: Belligerent now does minor damage to the legs on each invocation, up to
+ a maximum of 30 damage per recital.
+ - tweak: Ratvarian Spears will now stun any mob they're thrown at instead of just
+ enemy cultists and silicons, though the stun is still longer on enemy cultists
+ and silicons.
+ Jordie0608:
+ - rscdel: Removed clicking clown mask to morph it's shape, use action button instead.
+ Kor:
+ - rscadd: Added support for projectiles which can dismember
+ - rscadd: Added a new wizard sword, the spellblade, which fires dismembering projectiles.
+ Sprites from Lexorion.
+ - rscadd: Plasmacutter blasts can now take limbs off, but they still do pitiful
+ damage in a pressurized environment.
+ - rscadd: Humans and drones now have a UI button that allows them to create new
+ areas, in the same manner as blueprints. Unlike blueprints, this button does
+ not allow you to edit existing areas.
+ - rscadd: You can now use mineral doors (or any other object that blocks atmos)
+ to complete rooms with blueprints
+ - rscadd: Players created by sentience potions, mining drone upgrades, or Guardian/Holoparsite
+ summoners will now automatically join the users antagonist team, if any.
+ - rscadd: Mobs created in this manner will no longer be convertable/deconvertable
+ unless their creator is first converted/deconverted.
+ - rscadd: Cayenne will now officially become an operative when given a sentience
+ potion.
+ LanCartwright:
+ - bugfix: Fixes the recipes not working.
+ - tweak: Changes Stable uranium virus food recipe from Plasma virus food to just
+ plasma.
+ RemieRichards:
+ - bugfix: You can no longer use the incorrect limb type during augmentation
+ - bugfix: You can no longer use the incorrect limb type during prosthetic replacement
+ Shadowlight213:
+ - rscadd: Security has two new weapons in their arsenal. The security temperature
+ gun, and the DRAGnet capture and recovery system.
+ optional name here:
+ - bugfix: The syndicate uplink ui has been refactored to majorly reduce lag
+2016-08-15:
+ Joan:
+ - rscadd: The Ark of the Clockwork Justicar can now be constructed even if Ratvar's
+ rise is not the objective.
+ - experiment: Accordingly, its behavior is different; instead of summoning Ratvar,
+ it will convert a massive amount of the station, and should effectively instantly
+ complete the clockwork cult's objectives.
+ MrStonedOne:
+ - tweak: Tweaked the lag stop numbers to hopefully reduce lag during 80+ population
+ - tweak: Fixed the blackbox not blackboxing.
+ OSCAR MIKE:
+ - rscadd: CONTACT ON THE LEFT SIDE!
+2016-08-16:
+ MrStonedOne:
+ - rscadd: Automated the granting of profiler access to admins
+ oranges:
+ - rscadd: Nanotrasen is an all right kind of company
+2016-08-17:
+ Basilman:
+ - rscadd: Added an admin-spawnable only "Cosmohonk" hardsuit that has the same protection
+ values of an engineering hardsuit. Comes with built-in lights and requires clown
+ roundstart role to be equipped.
+ Ergovisavi:
+ - rscadd: Adds the "Proto-Kinetic Crusher", a new melee mining weapon. Available
+ at a mining vendor near you!
+ Gun Hog:
+ - tweak: Nanotrasen has improved the coolant system in the stations automated robots.
+ They will no longer violently explode in hot rooms.
+ Joan:
+ - rscadd: Once the blob alert message is sent in the blob game mode, all mobs get
+ to see how many tiles the blob has until it wins, via the Status tab.
+ - rscdel: Removed/merged a bunch of blob chems, you probably don't care about the
+ specifics.
+ - tweak: The remaining blob chems should, overall, be more powerful.
+ - tweak: Shield blobs soak brute damage less well.
+ - tweak: Flashbangs do higher damage to blobs up close, but their damage falls off
+ faster.
+ - experiment: Shield blobs now cost 15 resources to make instead of 10. Node blobs
+ now cost 50 resources to make instead of 60.
+ - experiment: Expanding/attacking now costs 4 resources instead of 5, and blobs
+ can now ATTACK DIAGONALLY. Diagonal attacks are weaker than normal attacks,
+ especially against cyborgs(which may be entirely immune, depending), and they
+ remain unable to expand diagonally.
+ - rscadd: Shield blobs no longer block atmos while under half health. Shield blobs
+ are still immune to fire, even if they can't block atmos.
+ - tweak: Blobs should block explosions less well.
+ - rscadd: Blob cores and nodes are no longer immune to fire and no longer block
+ atmos.
+ - rscadd: Blobs can only auto-expand one tile at a time per expanding thing, and
+ should be easier to beat back in general.
+ - tweak: Blobbernauts now attack faster.
+ - tweak: Blob Overminds attack mobs slower but can attack non-mobs much faster.
+ - rscadd: Blob Overminds start with some amount of resources; in the gamemode, it's
+ 80 divided by the number of overminds, in the event, it's 20 plus the number
+ of active players, and otherwise, it's 60.
+ - bugfix: You can no longer move blob cores into space, onto the mining shuttle,
+ white ship, gulag shuttle, or solars.
+ - bugfix: Blob rounds might be less laggy, if they were laggy?
+ - tweak: Blobs don't heal as fast, excluding the core.
+ - experiment: Blobs are marginally less destructive to their environment.
+ MrStonedOne:
+ - rscdel: The server will no longer wait until the next tick to process movement
+ key presses. Movements should now be ~25-50ms more responsive.
+ Shadowlight213:
+ - rscadd: Adds modular computers
+2016-08-21:
+ Ergovisavi:
+ - tweak: Consolidates the fulton packs into a single item and makes them more user
+ friendly
+ Google Play Store:
+ - spellcheck: Minor Text Fixes.
+ Incoming5643:
+ - rscadd: Smuggler satchels left behind hidden on the station can now reappear in
+ a later round.
+ - experiment: There's absolutely no way of knowing when exactly it will reappear
+ however...
+ - rscadd: Only one item in the satchel will remain when the satchel reappears.
+ - rscadd: Items are saved in their initial forms, so saving things like chemical
+ grenades will only disappoint you.
+ - rscadd: The item pool is map specific and needs to be a certain size before satchels
+ can start reappearing, so get to hiding that loot!
+ - rscadd: The staff of change has been expanded to turn you into even more things
+ that don't have hands.
+ Jalleo:
+ - bugfix: Gulag Teleporter of two issues any more please report them.
+ Jordie0608:
+ - rscadd: Advanced Energy Guns once again have a chance to irradiate you if EMPed.
+ Kor:
+ - rscadd: Kinetic Accelerators are now modular. You can find mod kits in the mining
+ vendor and in RnD.
+ - bugfix: Chaplain's dormant spellblade is no longer invisible.
+ Papa Bones:
+ - rscadd: A new, scandalous outfit is now available as contraband from the clothesmate
+ vendor, check it out! Fulfill your deep, dark fantasies.
+ Shadowlight213:
+ - tweak: Service and cargo have lost roundstart tablets and engineering has gained
+ them
+ - tweak: you can now charge battery modules in cell chargers. Use a screwdriver
+ on a computer to remove them. As a note, tablets and laptops can be charged
+ directly by placing them in a security charger.
+ WJohnston:
+ - rscadd: Metastation and Boxstation now boast auxillary mining construction rooms
+ in arrivals. These allow you to build a base and then launch it to wherever
+ you want on lavaland.
+ Wjohnston, Gun Hog:
+ - rscadd: Aliens with Neurotoxic Spit readied will now have drooling animations.
+ - rscadd: Hunters may now safely leap over lava.
+ - tweak: Hulk punches no longer stun Xenos.
+ - tweak: Alien evolve and promotion buttons updated to current Xeno sprites
+ - bugfix: Handcuff sprites for Xenos now show properly.
+2016-08-22:
+ Bawhoppen:
+ - rscdel: Stock computers have been temporarily removed due to imbalances.
+ Ergovisavi:
+ - bugfix: Bubblegum's charge indicator should be significantly more accurate now.
+ ExcessiveUseOfCobblestone:
+ - rscdel: Reverts getting partial credit for discovered seeds.
+ - tweak: 'Tweaks Money Tree Potency Values [For instance: 1000 Space Cash requires
+ 98-100 Potency]'
+ Lzimann & Lexorion:
+ - rscadd: Adds a bow to the game, currently not craftable
+ Shadowlight213:
+ - bugfix: The efficiency AI sat SMES will now charge the APCs instead of itself.
+ XDTM:
+ - rscdel: Removed the Longevity symptom.
+ - rscadd: Added Viral Aggressive Metabolism, which will make viruses act quickly
+ but decay over time.
+ - rscadd: Cloning can now give bad mutations if unupgraded!
+ - rscadd: Cloning can, however, give you good ones if upgraded!
+2016-08-24:
+ Bones:
+ - rscadd: The detective's closet now contains a seclite, get sleuthing!
+ Cargo Intelligence Agency:
+ - rscdel: You don't get to bring traitor items.
+ Ergovisavi:
+ - rscadd: Adds "Sacred Flame", a spell that makes everyone around you more flammable,
+ and lights yourself on fire. Share the wealth. Of fire.
+ - tweak: Replaces the fireball spellbook as a possible reward from a Drake chest
+ with a book of sacred flame.
+ Gun Hog:
+ - rscadd: The Aux mining base can now call the mining shuttle once landed! The mining
+ shuttle beacon that comes with the base must be deployed to enable this functionality.
+ - tweak: Multiple landing zones may now be set for the mining base.
+ - tweak: The coordinates of each landing zone is shown in the list.
+ - rscadd: Miners now each get a remote in their starting lockers. tweak The Aux
+ mining base now requires lighting while on station.
+ - tweak: The Aux Mining Base now has a GPS signal.
+ - tweak: The Aux Mining Base now has an alarm for when it is about to drop.
+ Incoming5643:
+ - rscadd: 'A slight change to the secret satchel system described below: If a satchel
+ cannot be spawned due to there not being enough hidden satchels to choose from,
+ a free empty satchel will spawn hidden SOMEWHERE on the station. Dig
+ it up and bury it with something interesting!'
+ Joan:
+ - rscadd: Using a resonator on an existing resonator field will immediately detonate
+ that field. Normal resonators will reduce the damage dealt to 80% of normal,
+ while upgraded resonators will not reduce it at all.
+ - rscadd: Adds a KA mod that does damage in an AoE, found only in necropolis chests.
+ - rscadd: You can now install any KA mods into a mining cyborg, though its mod capacity
+ is slightly lower.
+ - tweak: Mining cyborgs now have a crowbar to remove mods from their KA.
+ - tweak: Kinetic Accelerators now have a larger mod capacity, though most mods can
+ still only be installed the same amount of times as they can currently.
+ - tweak: You can now hit modkits with Kinetic Accelerators to install that modkit
+ into the accelerator. Mining cyborgs are unable to do so.
+ - rscadd: Added white and adjustably-coloured tracer round mods to the mining equipment
+ vendor, so you can see where your projectile is going(and look cool).
+ - rscadd: Added the super and hyper chassis mods to the mining equipment vendor,
+ so you can use excess mod space to have a cool-looking KA.
+ MrStonedOne:
+ - rscdel: Removes check on lights preventing you from turning them on while in a
+ locker
+ PKPenguin321:
+ - rscadd: Xeno queens now have an action button that makes them appear to themselves
+ as the old, small queen sprite. Now they should be able to interact with things
+ that are above them more easily.
+ Shadowlight213:
+ - tweak: Reviver and nutriment implants are far easier to get and have lower tech
+ origins.
+ - rscdel: Centcom has cut back on their cat carrier budget and will now only be
+ able to bring kittens along with runtime.
+ - rscadd: A new event has been added. The automated grid check. All apcs in non
+ critical areas will be shut off for some time, but can be manually rebooted
+ via interaction.
+ Yackemflam:
+ - tweak: Boxes are worth >26 tc at LEAST
+2016-08-28:
+ CoreOverload:
+ - tweak: You can now use sheets from any hand, not just the active one.
+ Iamgoofball:
+ - tweak: Station and Character names are now allowed to be longer.
+ - rscdel: Gender Reassignment surgery has been removed.
+ Incoming5643:
+ - experiment: 'Due to a bad case of "being terrible" the save system for secret
+ satchels has been reworked. All saves are now unified in a single data file:
+ /data/npc_saves/SecretSatchels'
+ - rscdel: 'Old savefiles such as: /data/npc_saves/SecretSatchels_Box Station can
+ now be safely removed.'
+ - rscadd: A new slime reaction has been found for pink slimes using blood. The potion
+ produced from this reaction can be used to change the gender of living things.
+ Decently useful for animal husbandry, but otherwise mostly just for pranks/"""roleplay"""/enforcing
+ a brutal regime composed entirely of female slime people.
+ Joan:
+ - bugfix: Bumping the AI on help intent will no longer cause it and you to swap
+ positions, even if it is unanchored. If unanchored, it will properly push the
+ AI around.
+ - rscadd: The staff of lava can now turn lava back into basalt.
+ - bugfix: Placing a singularity or energy ball generator directly in front of an
+ active particle accelerator may be a bad idea.
+ Kor:
+ - rscadd: Added Battlemage armour to the spellbook. The armour is heavily shielded,
+ but will not recharge once the shields are depleted.
+ - rscadd: Added armour runes to the spellbook, which can grant additional charges
+ to the Battlemage armour.
+ MrStonedOne:
+ - rscadd: The game window will now flash in the taskbar on incoming admin pm, and
+ to all admins when an admin help comes in.
+ PKPenguin321:
+ - rscadd: The tesla is now much more dangerous, and can cause electronics to explode
+ violently.
+ - rscadd: It now hurts to get thrown into another person.
+ Shadowlight213:
+ - tweak: The radiation storm random event will automatically enable and disable
+ emergency maint.
+ - rscadd: The radiation storm random event is now a weather type that affects the
+ station.
+ - bugfix: The security temperature gun now has a firing pin making it 0.0000001%
+ more useful!
+ - rscadd: Added config option to use byond account creation age for job limits.
+ WJohnston:
+ - imageadd: Lavaland lava probably sorta looks better I guess.
+ Yackemflam:
+ - rscadd: Sniper kit have been given as a syndicate bundle set. Be warned though,
+ they are not as equipped as the nuclear agent kits.
+ kilkun:
+ - rscadd: Adds a shielded deathsquad hardsuit. it has four charges and recharges
+ after 15 seconds of not being shot (compared to the syndicate 3 charges and
+ 20 second recharge rate)
+ - tweak: All death commandos now spawn with this new hardsuit. The previous hardsuit
+ was not removed.
+ pubby:
+ - rscadd: Mining scanner module to standard borgs
+ - rscdel: Sheet snatcher module from standard borgs
+ xxalpha:
+ - rscadd: Cigarette packs, donut boxes, egg boxes can now be closed and opened with
+ Ctrl+Click.
+ - rscadd: Lighters are now represented in cigarette packs with a sprite of their
+ own.
+ - rscadd: You can now remove a lighter from a cigarette pack quickly with Alt+Click.
+ - bugfix: Reduced the amount of cigars that cigar cases can hold to 5 because the
+ cigar case sprite doesn't support more than that.
+2016-08-29:
+ Cruix:
+ - rscadd: Space floppy-disk technology has advanced to the point that multiple technologies
+ or designs can be stored on a single disk.
+ Joan:
+ - rscadd: Lava bubbling up from basalt turfs now glows if in sufficient concentration.
+ - rscadd: Necropolis tendrils now glow.
+ - rscadd: Lava rivers now have riverbanks, and should overall look much nicer.
+ Shadowlight213:
+ - bugfix: The revenant ectoplasm sprite is no longer invisible.
+ Xhuis:
+ - rscadd: Highlander has been revamped. Now you can butcher your coworkers in cold
+ blood like never before!
+2016-08-30:
+ oranges:
+ - tweak: The ed209 can now only fire as fast as the portaturrets
+2016-08-31:
+ Iamgoofball:
+ - rscadd: Adds a new experimental gas to the game. Check it out!
+ Joan:
+ - rscadd: Vanguard now has a tooltip showing the amount of stuns you've absorbed
+ and will be affected by.
+ MMMiracles:
+ - bugfix: Xenomorphs can now actually damage barricades.
+ Shadowlight213:
+ - bugfix: Fixed runtime preventing access locked programs from being downloaded
+ XDTM:
+ - rscadd: Metal slimes now spawn a few sheets of glass when injected with water.
+ xxalpha:
+ - tweak: Opening and closing of donut boxes, etc. is now done with clicking the
+ object with itself.
+ yackemflam:
+ - rscadd: The standard rounds now blow off limbs. Happy hunting!
diff --git a/html/changelogs/archive/2016-09.yml b/html/changelogs/archive/2016-09.yml
new file mode 100644
index 0000000000..3c1124d666
--- /dev/null
+++ b/html/changelogs/archive/2016-09.yml
@@ -0,0 +1,381 @@
+2016-09-01:
+ Cruix:
+ - bugfix: fortune cookies will now drop their fortunes when they are eaten.
+ Iamgoofball:
+ - tweak: NULL Crate in cargo was added again because people are fucking idiots so
+ if we're going to have this stupid fucking crate might as well make it not fucking
+ garbo
+ Kor:
+ - rscadd: Watertanks will now explode when shot.
+ Lzimann:
+ - tweak: You can now open all access doors while restrained.
+ Shadowlight213:
+ - tweak: Rad storms are more obvious
+ - bugfix: Pizza bombs will now delete after exploding.
+ phil235:
+ - tweak: Putting packagewrap or hand labeler in a backpack is now done by clicking
+ and dragging.
+ - bugfix: You can now wrap backpacks and other storage items with packagewrap.
+2016-09-02:
+ A-t48:
+ - bugfix: Fixed cyborgs being able to use Power Warning emote when broken.
+ Iamgoofball:
+ - experiment: Freon has been reworked completely.
+ - rscadd: Water Vapor has been added to the Janitor's Closet.
+ RemieRichards:
+ - bugfix: Cutting bedsheets with a sharp object/wirecutters no longer puts the resulting
+ cloth INSIDE OF YOU if you're holding it, what a bug.
+ bgobandit:
+ - tweak: You can hide small items in urinals now. Use a screwdriver to screw open
+ the drain enclosure.
+ - rscadd: Every space urinal comes complete with space urinal cake. Do not eat.
+2016-09-04:
+ A-t48:
+ - bugfix: Radiation storms no longer spam "Your armor softened the blow."
+ - bugfix: Radiation always gives a message that you are being irradiated, regardless
+ of armor level (only an issue if you stripped off all clothing)
+ - bugfix: Radiation now displays a message appropriate for all mob types (no longer
+ references clothes).
+ Gun Hog:
+ - rscadd: Ghosts may now read an AI or Cyborg's laws by examining them.
+ Joan:
+ - rscadd: The talisman of construction now has 25 uses, each of which can convert
+ a sheet of plasteel to a sheet of runed metal. It can still convert metal into
+ construct shells, and requires no specific amount of uses to do so.
+ - rscadd: Added the 'Drain Life' rune to the runes cultists can make. It will drain
+ life from all creatures on the rune, healing the invoker.
+ - imageadd: The 'Astral Communion' rune has a new sprite, made by WJohnston.
+ - rscdel: You can no longer use telekinesis to hit people with items they're holding,
+ items inside items they're holding, items embedded in them, items actually implanted
+ in them, or items they're wearing.
+ MMMiracles:
+ - rscadd: A set of combat gear for bears has been added, see your local russian
+ for more information.
+ XDTM:
+ - tweak: Nanotrasen has now stocked the DNA Manipulators with potassium iodide instead
+ of epinephrine as rejuvenators.
+2016-09-07:
+ A-t48:
+ - bugfix: you can now scrub freon and water vapor
+ - bugfix: you can now label canisters as freon and water vapor
+ AnturK:
+ - rscadd: Watch out for special instructions from Centcom in the intercept report.
+ Cheridan:
+ - tweak: Brain damage no longer causes machines to be inoperable.
+ Ergovisavi:
+ - bugfix: Stops ash drakes from swooping across zlevels
+ Impisi:
+ - tweak: Increased chances of Modular Receiver drop in Maintenance
+ Incoming5643:
+ - rscdel: Wizards can no longer purchase the Cursed Heart from their spellbook.
+ Joan:
+ - experiment: The lava staff now has a short delay before creating lava, with a
+ visible indicator.
+ - tweak: The lava staff's cooldown is now somewhat shorter, and turning lava back
+ into basalt has a much shorter cooldown and no delay.
+ Lzimann:
+ - tweak: Stunprods no longer fit in your backpack, they go on your back now.
+ MrStonedOne:
+ - bugfix: Fixed lava sometimes doing massive amounts of damage.
+ - tweak: AFK players will no longer default to continue playing during restart votes.
+ XDTM:
+ - bugfix: Cloners now preserve your genetic mutations.
+ pubby:
+ - tweak: Changed military belt TC cost from 3 -> 1
+ - tweak: Update ingredient boxes to have more useful ingredients
+2016-09-08:
+ Jordie0608:
+ - rscadd: Notes can now be tagged as secret to be hidden from player viewed notes.
+ Lzimann:
+ - tweak: Legion implants now have a full heal when implanted instead of passive
+ heal + spawn tentacles. The healing also goes off when you enter crit.
+ Yackemflam:
+ - rscadd: You can now buy a box for a chance to mess with the stations meta for
+ ops.
+2016-09-09:
+ Ergovisavi:
+ - rscadd: Adds new loot for the colossus, the "Anomalous Crystal"
+ - tweak: Enabled colossus spawning again
+ Joan, Ausops:
+ - rscadd: Added some very fancy tables, constructed by adding carpet tiles to a
+ standard table frame.
+ MrStonedOne:
+ - experiment: Blessed our beloved code with dark magic.
+ Shadowlight213:
+ - tweak: Radiation storm direct tox loss removed
+ - tweak: Radiation storms now cause a radiation alert to appear for the duration
+2016-09-12:
+ Joan:
+ - rscadd: Cult structures can once again be constructed with runed metal.
+ - experiment: Cult structures can now take damage and be destroyed. Artificers can
+ repair them if they're damaged.
+ - tweak: The Recollection function of the clockwork slab is much more useful and
+ easier to parse.
+ - wip: Tweaked the Recital menus for scripture so the scripture are all in the proper
+ order. This might fuck you up if you were used to the incorrect order, but you'll
+ get used to it.
+ Nanotrasen Anti-Cheese Committee:
+ - bugfix: A glitch in the hydroponics tray firmware allowed it to retain plant growth
+ even after the plant was removed, resulting in the next planted seed being grown
+ instantaneously. This is no longer possible.
+ PKPenguin321:
+ - bugfix: Tesla shocks from grilles will no longer do thousands and thousands of
+ damage. They now properly deal burn damage that is equal to the current power
+ in the powernet divided by 5000.
+ Papa Bones:
+ - tweak: You can now rename the captain's sabre by using a pen on it.
+ RemieRichards:
+ - rscadd: Added the functionality for mobs to have multiple hands, this might have
+ broken some things, so please report any weirdness
+ Shadowlight213:
+ - rscdel: The surplus crate and random item will now only contain items allowed
+ by the gamemode
+ - rscdel: removes sleeping carp scroll from surplus crates
+ - experiment: Minimaps will now try to load from a cache or backup file if minimap
+ generation is disabled.
+ TheCarlSaganExpress:
+ - rscadd: Crayons, lipstick, cigarettes, and penlights can now be inserted into
+ PDAs.
+ phil235:
+ - rscadd: Monkeys can be dismembered.
+ - rscadd: Humans, monkeys and aliens can drop limbs when they are gibbed.
+ - rscadd: Roboticists can remove flashes, wires and power cells that they inserted
+ in robot head or torso by using a crowbar on it.
+ - rscadd: visual wounds appear on a monkey's bodyparts when injured, exactly like
+ humans.
+ - rscadd: Using a health analyzer on a monkey or alien shows the injuries to each
+ bodypart.
+ - rscadd: Monkeys can become husks.
+ - bugfix: Human-monkey transformations now respect missing limbs. No more limb regrowth
+ by becoming a monkey.
+ - bugfix: Changeling's regenerate ability also work while in monkey form.
+ - bugfix: Alien larva has its own gib and dust animation.
+ - bugfix: A bodypart that looks wounded still looks bloody when dismembered.
+ - bugfix: Amputation surgery now works on robotic limbs, and monkeys.
+2016-09-14:
+ Ergovisavi:
+ - bugfix: Fixes lockers, bodybags, etc, giving you ash storm / radiation storm protection
+ Erwgd:
+ - rscadd: Upgraded sleepers can now inject inacusiate to treat ear damage.
+ Joan:
+ - rscadd: Added brass, producible by proselytizing rods, metal, or plasteel, or
+ by using Replicant Alloy in-hand, and usable to construct a variety of cult-y
+ brass objects.
+ - tweak: Objects constructable with brass include; wall gears, pinion airlocks,
+ brass windoors, brass windows, brass table frames and tables, and brass floor
+ tiles.
+ - rscadd: Cogscarabs can convert brass sheets into liquified alloy with their proselytizer.
+ - tweak: You can use brass sheets on wall gears to produce clockwork walls, or,
+ if the gear is unanchored, false clockwork walls.
+ - bugfix: Fixed a bug preventing you from converting grilles into ratvar grilles.
+ - experiment: Please note that conservation of mass exists.
+ Sligneris:
+ - tweak: Captain's space armor has been readapted with modern hardsuit technology.
+ oranges:
+ - tweak: Examine code for dismembered humans now has better easter eggs
+2016-09-17:
+ BoxcarRacer41:
+ - rscadd: Added a new food, bacon. Bacon is made by processing raw meat cutlets.
+ - rscadd: Added a new burger recipe, the Bacon Burger. It is made with one bun,
+ one cheese wedge and three pieces of cooked bacon.
+ Ergovisavi:
+ - rscadd: Added a nightvision toggle to Shadowpeople
+ - tweak: Made several anomalous crystal variants more easily identified/easier to
+ see the effects thereof, and removed the "magic" activation possibility (replaced
+ with the "bomb" flag)
+ Gun Hog:
+ - tweak: Nanotrasen Robotics Division is proud to announce slightly less clunky
+ leg servo designs relating to the "Ripley" APLU and "Firefighter" exosuits.
+ Tests show increased mobility in both high and low pressure environments. The
+ previous designer has been fired for incompetence.
+ Improves tablets design:
+ - imageadd: Brings the tablet icons into the holy light of having depth
+ Joan:
+ - rscadd: Megafauna will now use ranged attacks even if they don't have direct vision
+ on their target.
+ - rscadd: Volt Void and Interdiction Lenses will now drain mech cells of energy.
+ - tweak: Ocular Wardens do slightly more damage to mechs.
+ - experiment: Replicant, Soul Vessel, Cogscarab, and Anima Fragment now take an
+ additional second to recite.
+ - tweak: Anima Fragments do slightly less damage in melee.
+ - tweak: Mending Motors and Clockwork Obelisks have slightly less health.
+ - tweak: Invoking Nezbere now requires 3 invokers.
+ - rscdel: Clockwork armor no longer has 5% energy resistance.
+ - bugfix: You can no longer construct clockwork structures on space turfs.
+ Papa Bones:
+ - tweak: BZ gas is no longer available on Box and Metastation layouts.
+ phil235:
+ - tweak: You no longer have to click a megaphone to use it, you simply keep it in
+ your active hand and talk normally.
+ - rscadd: Added new things
+ - imageadd: added some icons and images
+2016-09-20:
+ Ergovisavi:
+ - bugfix: fixed "friendly" xenobio mobs and mining drones attacking station drones
+ Joan:
+ - rscadd: Miners can now buy KA AoE damage mods from the mining vendor for 2000
+ points per mod.
+ - rscadd: 'Combined the Convert and Sacrifice runes into one rune. It''ll convert
+ targets that are alive and eligible, and attempt to sacrifice them otherwise.
+ The only changes to mechanics are that: Converting someone will heal them of
+ all brute and burn damage they had, and sacrificing anything will always produce
+ a soulstone(but will still only sometimes fill it)'
+ - tweak: You can no longer teleport to Teleport runes that have dense objects on
+ top of them.
+ - experiment: Wall runes will now activate other nearby wall runes when activated,
+ but will automatically disable after a minute and a half of continuous activity
+ and become unusable for 5 seconds.
+ - experiment: The Blood Boil rune no longer does all of its damage instantly or
+ stuns, but if you remain in range for the full duration you will be sent deep
+ into critical.
+ - experiment: Bubblegum has been seen reaching through blood. Try not to get hit.
+ - experiment: The Raise Dead rune no longer requires a noncultist corpse to revive
+ a cultist; instead, it will draw from the pool of all people sacrificed to power
+ the rune.
+ Mekhi:
+ - rscadd: Nanotrasen has been experimenting on cybernetics for a while, and rumors
+ are they have a few combat prototypes available...
+ - experiment: 'New arm implants: Energy-blade projector, implanted medical beamgun,
+ stun-arm implant (Like the borg version), flash implant that is automatically-regenerating
+ and doubles as a powerful flashlight. There is also one with all four items
+ in one. Also, a surgery toolkit implant. Adminspawn only for the moment.'
+ MrStonedOne:
+ - bugfix: Fixed space/nograv movement not triggering when atoms moved twice quickly
+ in space/nograv
+ Nanotrasen Stress Relief Board:
+ - rscadd: Latecomers to highlander can now join in on the fun.
+ - rscadd: The crew are encouraged to less pacifistic during highlander. Failing
+ to shed blood will result in your soul being devoured. Have a nice day.
+ Nicho1010:
+ - bugfix: Fixed lattices appearing after exploding lava
+ Screemonster:
+ - tweak: Abandoned crates no longer accept impossible guesses.
+ - tweak: Lets players know that all the digits in the code must be unique.
+ - tweak: Reads the last guess back on the multitool along with the correct/incorrect
+ guess readout.
+ - bugfix: multitool output on crates no longer returns nonsense values.
+ XDTM:
+ - rscadd: Positive viruses are now recognized by medical HUDs with a special icon.
+ - tweak: fully_heal no longer removes nonharmful viruses. This affects legion souls,
+ staffs of healing, and changeling's revive.
+ - rscadd: Canisters of any type of gas are now orderable in cargo. Dangerous experimental
+ gases will require Research Director approval.
+ Yackemflam:
+ - rscadd: The syndicate has learned on how to give their agents a true syndicate
+ ninja experience.
+ chickenboy10:
+ - rscadd: Added a Experimental Limb Grower to the medbay department, now medical
+ stuff can grow synthetic limbs using Synthflesh to help crew that suffer any
+ work related accidents. There may also be a limb that can be grown with a special
+ card...
+ feemjmeem:
+ - tweak: You can now disassemble meatspike frames with a welding tool.
+ phil235:
+ - experiment: 'adds a talk button next to the crafting button. Clicking it makes
+ a "wheel" appear around you with short predetermined messages that you click
+ to say them. This lets you say common responses without having to type in the
+ chat bar. Current messages available are: "Hi", "Bye", "Thanks", "Come", "Help",
+ "Stop", "Get out", "Yes", and "No". The talk button can be activated with the
+ hotkey "H" or "CTRL+H"'
+ - rscadd: Wearing colored glasses colors your vision. This option can be enabled/disabled
+ by alt-clicking any glasses with such feature.
+2016-09-21:
+ Cyberboss:
+ - bugfix: The food processor's sprite's maintenance panel is no longer open while
+ closed and vice/versa
+ - tweak: Tesla arcs no longer lose power when passing through a coil that isn't
+ connected to a grid
+ MrStonedOne:
+ - bugfix: Fixes minimap generation crashes by making parts of it less precise
+2016-09-23:
+ Cyberboss:
+ - rscadd: Wire layouts of NanoTransen devices for the round can now be found in
+ the Station Blueprints
+ Incoming5643 + WJohnston:
+ - imageadd: Lizard sprites have received an overhaul, sprites courtesy of WJohnston!
+ - rscdel: While there are some new bits, a few old bits have gone by the wayside,
+ if your lizard has been affected by this the specific feature will be randomized
+ until you pick a new setting.
+ - rscadd: Lizards can now choose to have digitigrade legs (those weird backwards
+ bending ones). Keep in mind that they can only be properly seen in rather short
+ pants. They also preclude the use of shoes. By default no lizard will have these
+ legs, you have to opt in.
+ - rscadd: All ash walker lizards however are forced to have these legs.
+ - experiment: There is absolutely no tactical benefits to using digitigrade legs,
+ you are only crippling yourself if you use them.
+ Papa Bones:
+ - tweak: You can now quick-draw the officer's sabre from its sheath by alt-clicking
+ it.
+ XDTM:
+ - bugfix: Holy Water no longer leaves you stuttering for years.
+2016-09-24:
+ Cheridan:
+ - tweak: Nerfed Critical Hits
+ MrStonedOne:
+ - tweak: Orbits now use a subsystem.
+ - tweak: Orbits now bind to object's moving to allow for quicker updates, subsystem
+ fallback for when that doesn't work (for things inside of things or things that
+ move without announcing it)
+ XDTM:
+ - rscdel: Viruses start with 0 in every stat instead of 1.
+ - bugfix: Atomic Bomb, Pan-Galactic Gargle Blaster, Neurotoxin and Hippie's Delight
+ are now proper alcoholic drinks, and as such can disinfect, ignite, and be purged
+ by antihol.
+ optional name here:
+ - tweak: Changes cursed heart description to something slightly more clear.
+ - bugfix: Fixes a capitalization issue
+2016-09-26:
+ Cuboos:
+ - rscadd: Added E-cigarettes as contraband to cigarettes vending machines. They
+ take reagents instead of dried plants and also hold more than cigarettes or
+ pipes. You can modify them to puff out clouds of reagents or emag them to fill
+ a whole room with reagent vapor.
+ - rscadd: Added a new shirt to the clothing vendor relating to the newly added vapes.
+ Joan:
+ - tweak: Blobs will generally require fewer blobs to win during the blob mode, which
+ should hopefully make the mode end faster at lower overmind amounts.
+ Razharas:
+ - rscadd: '"Kudzu now keeps the mutations it had before and thus can be properly
+ cultivated to be whatever you want"'
+ TheCarlSaganExpress:
+ - rscadd: You may now insert crayons, lipstick, penlights, or cigarettes in your
+ PDA.
+ - bugfix: Removing cartridges from the PDA will no longer cause them to automatically
+ fall to the floor.
+ oranges:
+ - rscadd: It looks like a pizza delivery from an un-named station got misplaced
+2016-09-27:
+ Cobby:
+ - tweak: Nanotrasen has buffed the electronic safety devices found in Secure Briefcases
+ and Wallsafes, making them... well... more secure. In Particular, we added more
+ wires that do absolutely nothing but hinder the use of the multitool, along
+ with removing the ID slot only used by syndicates to emag the safe.
+ Incoming5643:
+ - rscadd: The secret satchels system has been updated to hide more smuggler's satchels
+ hidden randomly under the station
+ - experiment: In case you forgot about the secret satchel system, basically if you
+ take a smuggler's satchel (a traitor item also occasionally found under a random
+ tile in the station [USE T-RAYS]), stow away an item in it, and bury it under
+ the floor tiles that item can reappear in a random later round!
+ MrStonedOne:
+ - tweak: Custom Round end sounds selected by admins will be preloaded to all clients
+ before actually rebooting the world
+ Shadowlight213:
+ - bugfix: Fixes broken icon states when replacing warning floor tile
+ Supermichael777:
+ - tweak: Cat men have finally achieved equal discrimination.
+ TrustyGun+Pubby:
+ - imageadd: Lawyers now have unique speech bubbles.
+ XDTM:
+ - tweak: Using plasma on dark blue slimes will now spawn freon instead of arbitrarily
+ freezing mobs.
+ uraniummeltdown:
+ - tweak: Protolathe stock parts now build 5 times faster
+2016-09-28:
+ Cuboos:
+ - bugfix: Removed the admin message spam from the smoke_spread proc. You may now
+ vape in peace without the threat of a Blue Space Artillery
+ LanCartwright:
+ - rscdel: Removed Stimulants and Coffee from survival pens.
+ - tweak: Nanites have been replaced with Mining Nanites which heal more when you
+ are lower health, and do not have the ridiculous healing Adminorazine had.
diff --git a/html/changelogs/archive/2016-10.yml b/html/changelogs/archive/2016-10.yml
new file mode 100644
index 0000000000..4662fcff3f
--- /dev/null
+++ b/html/changelogs/archive/2016-10.yml
@@ -0,0 +1,429 @@
+2016-10-01:
+ Incoming5643:
+ - rscadd: After years of having to live on a mostly blown up hunk of junk the wizard's
+ ship has finally been repaired
+ - rscdel: No one paid attention to that lore anyway
+2016-10-07:
+ WJohnston:
+ - imageadd: Improved/resprited AI card, pAI, easel/canvases, shotgun shells, RCD
+ cartridge, speedloaders, and certain older buttons.
+ - imageadd: Improved/resprited a few bar signs, basketball/dodgeball/hoop, blood
+ bags, and body bags.
+ - imageadd: Improved/resprited Paper, stamps, folders, small fires, pens, energy
+ daggers, cabinets, newspaper and other bureaucracy related items.
+2016-10-10:
+ ChemicalRascal:
+ - bugfix: Previously, improving the incinerator's efficiency made the RPM decay
+ more quickly, instead of less quickly. No more!
+ Cyberboss:
+ - rscadd: More reagent containers can be used for filling your dirty vapor cancer
+ sticks
+ - spellcheck: Fixed some vape spelling/grammar
+ MrStonedOne:
+ - tweak: Player Preferences window made slightly faster.
+ Nanotrasen Stress Relief Board:
+ - rscdel: Claymores created through Highlander no longer thirst for blood or announce
+ their wielder's location incessantly.
+ - bugfix: Claymores should now properly absorb fallen foes' corpses.
+ - bugfix: Losing a limb now properly destroys your claymore.
+ Supermichael777:
+ - bugfix: The wizards federation have instituted a strict 1 demon limit on demon
+ bottles.
+ XDTM:
+ - rscadd: Using blood on an Oil Slime will create Corn Oil.
+ - rscadd: Using blood on Pyrite Slimes will create a random crayon.
+ - rscadd: Using water on Orange Slimes will create a small smoke cloud.
+ - rscadd: Using water on Blue Slimes will spawn foam.
+ - rscadd: You can now retrieve materials inserted in a Drone Shell Dispenser with
+ a crowbar.
+ phil235:
+ - rscadd: A whole bunch of structures and machines can now be broken and destroyed
+ using conventional attack methods.
+ - rscadd: The effect of fire on objects is overhauled. When on fire, your external
+ clothes now take fire damage and can become ashes, unless fire proof. All objects
+ caught in a fire can now take fire damage, instead of just flammable ones, unless
+ fire proof.
+ - rscadd: Acid effect is overhauled. Splashing acid on something puts a green effect
+ on it and start slowly melting it. Throwing acid on mobs puts acid on their
+ clothes. Acid can destroy structures and items alike, as long as they're not
+ acid proof. The more acid put on an object, the faster it melts. Walking on
+ an acid puddle puts acid on your shoes or burns your bare feet. Picking up an
+ item with acid without adequate glove protection burns your hand. Acid can be
+ washed away with any sort of water source (extinguisher, shower, water glass,etc...).
+ - rscadd: When a mob receives melee attacks, its clothes also get damaged. Clothes
+ with enough damage get a visual effect. Damaged clothes can be repaired with
+ cloth (produced with botany's biogenerator). Clothes that receives too much
+ melee damage become shreds.
+ - tweak: Clicking a structure/machine with an item on help intent can never result
+ in an attack.
+ - tweak: Hostile animals that are environment destroyers no longer destroys tables&closets
+ in one hit. It now takes several hits depending on the animal.
+2016-10-11:
+ Cyberboss:
+ - rscadd: The waste line now has a digital valve leading to space (off by default)
+ along with a port on it's far side
+ Incoming5643:
+ - rscadd: Wizards may finally use jaunt and blink on the escape shuttle. Maybe elsewhere
+ too?
+ - bugfix: The previously broken radios in the wizards den should work now. You still
+ have to turn them on though.
+ Kor:
+ - rscadd: Added frogs, with sprites by WJ and sounds by Cuboos.
+ Papa Bones:
+ - rscadd: Flora now spawns in lavaland tunnels, they can be harvested with a knife.
+ - rscadd: Flora have a range of effects, be careful what you eat!
+ - bugfix: You harvest flora on lavaland with your hands, not a knife. My bad.
+ Shadowlight213:
+ - rscadd: Cargo can order the antimatter engine
+2016-10-12:
+ Cyberboss:
+ - bugfix: Fixed motion alarms instantly triggering and de/un/re/triggering
+ - bugfix: Airlock speed mode now works
+ Joan:
+ - rscadd: You can now deconstruct AI cores that contain no actual AI.
+ WJohnston:
+ - imageadd: Recolored and resprited candles and ID cards. Folders should have improved
+ color contrast.
+ XDTM:
+ - rscadd: Exhausted slime extracts will now dissolve instead of leaving useless
+ used slime extracts.
+ - tweak: Airlocks are now immune to any damage below 20, to prevent pickaxe prison
+ breaks.
+ - tweak: High-Security Airlocks, such as the vault or the AI core's airlocks, are
+ now immune to any damage below 30.
+2016-10-13:
+ Razharas:
+ - tweak: Makes clicking something in heat of battle a bit easier by making drag&drops
+ that dont have any effect be counted as clicks
+ XDTM:
+ - rscadd: 'Added four new symptoms: Regeneration and Tissue Regrowth heal respectively
+ brute and burn damage slowly; Flesh Mending and Heat Resistance are the level
+ 8 version of those symptoms, and heal faster.'
+ - rscdel: The Toxic Compensation, Toxic Metabolism and Stimulants symptoms have
+ been removed.
+ - rscdel: Viruses no longer stack. Viruses can be overridden if the infecting virus
+ has higher transmittability than the previous virus' resistance.
+ - tweak: Viruses can now have 8 symptoms, up from 6.
+ - rscadd: You can now store monkey cubes in bio bags; using bio bags on the consoles
+ will load them with the monkey cubes inside the bags.
+ ma44:
+ - rscadd: Cargo can now order a 2500 supply point crate that requires a QM or above
+ to unlock. This crates contains a explorer suit, compact pickaxe, mesons, and
+ a bag to hold ore with.
+2016-10-16:
+ Cuboos:
+ - rscadd: Added a new unique tool belt to the CE
+ - rscadd: Added new power tools, a hand drill that can be used as a screw driver
+ or wrench and jaws of life which can be used as either a crowbar or wire cutters
+ - rscadd: Power tools can also be made from the protolathe with engineering and
+ electromagnet 6
+ - tweak: slightly revamped how construction/deconstruction handle sound
+ - soundadd: added new sounds for the power tools
+ - soundadd: added a new sound for activating and deactivating welding tools, just
+ because.
+ Cyberboss:
+ - bugfix: Plasma fires no longer cause cameras to break.
+ Joan:
+ - tweak: Blazing Oil blobs are now outright immune to fire. This does not affect
+ damage taken from other sources that happen to do burn damage.
+ - tweak: Normal blob spores now take two welder hits to die, from three.
+ - tweak: Cyborgs now die much less rapidly to blob attacks.
+ Lzimann:
+ - tweak: 'Changed two admin hotkeys: f7 is now stealth-mode and f8 to toggle-build-mode-self.'
+ Shadowlight213:
+ - bugfix: Modular consoles have been fixed.
+ Supermichael777:
+ - tweak: Changeling Sting is now one part screwdriver cocktail and 2 parts lemon-lime
+ soda.
+ - bugfix: Triple citrus now actually displays its sprite.
+ Yackemflam:
+ - tweak: extinguishers now spray faster
+ coiax:
+ - rscadd: RCDs have a Toggle Window Type verb allowing the rapid construction of
+ reinforced windows, rather than regular windows.
+ - rscadd: RCDs can now finish and deconstruct wall girders.
+ phil235:
+ - tweak: Clicking a floor with a bodybag or roller bed now deploys them directly
+ (and the bodybag starts open)
+ scoopscoop:
+ - bugfix: The cult shifter will now properly spawn as part of the veil walker set.
+2016-10-18:
+ Basilman:
+ - rscadd: A third martial art, CQC, has been added and is now available to nuke
+ ops instead of sleeping carp
+ Kor:
+ - rscadd: Added sloths to cargobay on Box and Meta
+ MrPerson:
+ - rscadd: New toxin - Rotatium. It doesn't quite do what it does on other servers.
+ Instead it rocks your game view back and forth while slowly doing toxin damage.
+ The rocking gets more intense with time.
+ - rscadd: To make it, mix equal parts mindbreaker, neurotoxin, and teslium.
+ MrStonedOne:
+ - experiment: Byond 511 beta users may now choose their own FPS. This will apply
+ to animations and other client side only effects. Find it in your game preferences.
+ Shadowlight213:
+ - bugfix: fixed removing modular computer components
+ TheCarlSaganExpress:
+ - tweak: Provided you have access, you may now use your ID to unlock the display
+ case.
+ - tweak: The fire axe cabinet and display case may now be repaired with the welder.
+ XDTM:
+ - rscadd: You can now grind slime extracts in a reagent grinder. If the slime was
+ unused it will result in slime jelly, while if used it will only output the
+ reagents inside the extract.
+ Yackemflam:
+ - bugfix: fixed the standard vest being weaker than the slim variant
+ lordpidey:
+ - rscadd: There is a new potential obligation for devils to have. Musical duels. Ask
+ your nearest devil for a musical duel, there's a 14% chance he's obligated to
+ do it.
+ - rscdel: Removed the old offering a drink obligation for devils, it overlapped
+ too much with the food obligation.
+ - tweak: Trying to clone people who've sold their soul now results in FUN.
+ - tweak: Devils can no longer spam ghosts with revival contracts.
+ phil235:
+ - rscadd: Visual effects appear on the target of an attack, similar to the item
+ attack effect.
+ - rscdel: You now only see a message in chat when witnessing someone else getting
+ attacked or hit by a bullet if you are close enough to the action.
+2016-10-19:
+ Cyberboss:
+ - bugfix: Physically speaking is no longer delayed by your radio's lag
+ - bugfix: You can now attack doors with fireaxes and crowbars when using the harm
+ intent
+ - tweak: The BSA is no longer ready to fire when constructed
+ - bugfix: The BSA can no longer be reloaded faster by rebuilding the console
+ MrStonedOne:
+ - tweak: tweaked the settings of the space drift subsystem to be less effected by
+ anti-lag slowdowns
+ Pubby:
+ - rscadd: 'A new map: PubbyStation. Set it to your favorite in map preferences!'
+ XDTM:
+ - rscadd: PanD.E.M.I.C. now displays the statistics of the viruses inside.
+ phil235:
+ - tweak: Made the singularity gen and tesla gen immune to fire.
+ - tweak: All unique traitor steal objective item are now immune to all damage except
+ severity=1 explosion.
+ - tweak: Mobs on fire no longer get damage to their worn backpacks, belts, id, pocket
+ stuff, and suit storage.
+ - bugfix: Mob receiving melee attacks now only have its outer layer of clothes damaged,
+ e.g. no damage to jumpsuit when wearing a suit.
+ - bugfix: now all hardsuit have 50% more health, as intended.
+ wrist:
+ - rscadd: Toxins is different now.
+2016-10-21:
+ Adam E.:
+ - tweak: Added cargo and engi access to auxillary mine base launching console.
+ Cyberboss:
+ - tweak: Your brain is now gibbed upon chestburst
+ - bugfix: The safe is indestructible again
+ Joan:
+ - rscadd: Wraith Spectacles will now slowly repair the eye damage they did to you
+ as long as you aren't wearing them.
+ - experiment: You can now see how much eye damage the spectacles have done to you
+ overall, as well as how close you are to being nearsighted/blinded.
+ - tweak: Mending Motors heal for more.
+ - wip: Mania Motors are overall more powerful; they have greater effect, but require
+ more power to run and less power to convert adjacent targets.
+ - experiment: Interdiction Lenses no longer require power to disrupt electronics
+ and will no longer disrupt the radios of servants.
+ - bugfix: You need to be holding teleport talismans and wizard teleport scrolls
+ in your hands when you finish the input, and cannot simply open the input and
+ finish it whenever you get stunned.
+ - tweak: The range for seeing visible messages in combat is a tile higher.
+ Screemonster:
+ - tweak: The anti-tamper mechanism on abandoned crates now resists tampering.
+ - tweak: Secure, non-abandoned crates can be given a %chance of exploding when tampered
+ with. Defaults to 0.
+ Shadowlight213:
+ - bugfix: The Swap minds wizard event will now function
+ Swindly:
+ - rscadd: The action button for a dental implant now includes the name of the pill
+ - bugfix: The pill activation button now properly displays the pill's icon
+ uraniummeltdown:
+ - rscadd: Adds more replacements to the Swedish gene
+2016-10-22:
+ Shadowlight213:
+ - experiment: Breathing has been moved from species to the lung organ
+ - rscadd: Lung transplants are now possible!
+2016-10-23:
+ Cyberboss:
+ - bugfix: Fixed a bug that caused door buttons to open doors one after another rather
+ than simultaneously like they are suppose to
+ - bugfix: NOHUNGER species no longer hunger
+ - bugfix: Appropriate gloves now protect you from getting burned by cheap cigarette
+ lighters
+ - rscdel: Labcoats no longer have pockets
+ Yackemflam:
+ - tweak: Riot helmets are now more useful in melee situations and the standard helmet
+ is now slightly weaker
+ uraniummeltdown:
+ - rscadd: Atmos grenades are now in the game and uplink
+2016-10-24:
+ Batman:
+ - tweak: The sniper rifle descriptions are less edgy.
+ Cobby:
+ - rscadd: Finally, a way to relate to Bees!
+ Cyberboss:
+ - bugfix: Morphs no longer gain the transparency of chameleons
+ - bugfix: Turrets can no longer shoot when unwrenched
+ - bugfix: Spray bottle can now be used in the chem dispenser
+ Joan:
+ - rscadd: Clockwork marauders now have a HUD, showing block chance, counter chance,
+ health, fatigue, and host health(if applicable), as well as including a button
+ to try to emerge/recall.
+ - experiment: Clockwork marauders can now block bullets and thrown items, even if
+ Ratvar has not risen.
+ - rscadd: The Judicial Visor no longer requires an open hand to use. Instead, clicking
+ the button will give you a target selector to place the Judicial Marker.
+ - experiment: Tinkerer's Daemons are now a structure instead of a Cache addon.
+ - wip: Tinkerer's Daemons now consume a small amount of power when producing a component,
+ but produce components every 12 seconds with no additional delay.
+ - tweak: Adjusted the costs of the Tinkerer's Daemon and Interdiction Lens.
+ - imageadd: Floaty component images appear when Tinkerer's Caches and Daemons produce
+ components.
+ MrStonedOne:
+ - bugfix: Spectral sword now tracks orbiting ghosts correctly.
+ Shadowlight213:
+ - imageadd: Damaged airlocks now have a sparking effect
+ Swindly:
+ - rscadd: Added a button to the ChemMaster that dispenses the entire buffer to bottles.
+ ma44:
+ - rscadd: Reminds the user that reading or writing a book is stupid.
+2016-10-27:
+ Chowder McArthor:
+ - rscadd: Added a neck slot.
+ - tweak: Modified some of the attachment items (ties, scarves, etc) to be neck slot
+ items instead.
+ Cyberboss:
+ - rscadd: NEW HOTKEYS
+ - rscadd: The number pad can be used to select the body part you want to target
+ (Cycle through head -> eyes -> mouth with 8) in hotkey mode. Be sure Numlock
+ is on!
+ - rscadd: Holding shift can be used as a modifier to your current run state in both
+ hotkey and normal mode.
+ - bugfix: Emag can no longer be spammed on shuttle console
+ Gun Hog:
+ - bugfix: Fixed AIs uploaded to mechs having their camera view stuck to their card.
+ Joan:
+ - rscadd: Clockwork Floors now have a glow when healing servants of toxin damage.
+ Only other servants can see it, so don't get any funny ideas.
+ - bugfix: The Interdiction Lens now properly has a high Belligerent Eye cost instead
+ of a high Replicant Alloy cost.
+ Pubby:
+ - tweak: PubbyStation's bar is now themed like a spooky castle!
+ Swindly:
+ - bugfix: Chem implants can now be properly filled and implanted
+ WJohnston:
+ - rscadd: Adds an unlocked miner equipment locker on Boxstation and Metastation's
+ Aux Base Construction area, as well as a telescreen to the camera inside. All
+ mining outpost computers can also see through that camera.
+ lordpidey:
+ - rscadd: The wizard federation has teamed up with various LARP groups to invent
+ a new type of spell.
+2016-10-28:
+ Erwgd:
+ - rscadd: You can now use cloth to make black or fingerless gloves.
+ - tweak: Biogenerators require less biomass to produce botanist's leather gloves.
+ Tacolizard:
+ - rscadd: Added a new contraband crate to cargo, the ATV crate.
+2016-10-29:
+ Chowder McArthor:
+ - bugfix: Added in icons for the neck slot for the other huds.
+ Cobby:
+ - rscadd: Adds several Halloween-Themed Emojis. See if you can get them all! [no
+ code diving cheaters!]
+ Erwgd:
+ - rscadd: The NanoMed Plus now stocks premium items.
+ Joan:
+ - experiment: Guvax is now targeted; invoking it charges your slab to bind and start
+ converting the next target attacked in melee within 10 seconds. This makes your
+ slab visible in-hand.
+ - tweak: Above 5 Servants, the invocation to charge your slab is not whispered,
+ and the conversion time is increased for each Servant above 5.
+ - wip: Using Guvax on an already bound target will stun them. The bound target can
+ resist out, which will prevent conversion.
+ - experiment: Sentinel's Compromise is now targeted, like Guvax, but can select
+ any target in vision range.
+ - rscadd: Sentinel's Compromise now also removes holy water from the target Servant.
+ - wip: Clicking your slab will cancel these scriptures.
+ - imageadd: Both of these will change your cursor, to make it obvious they're active
+ and you can't do anything else.
+ - rscadd: Arks of the Clockwork Justicar that do not summon Ratvar will still quick-call
+ the shuttle.
+ - bugfix: Clockwork structures that return power can now return power to the APC
+ of the area they're in if there happens to be one.
+ - bugfix: Clockwork structures that use power from an APC will cause that APC to
+ start charging and update the tgUI of anyone looking at the APC.
+ - bugfix: Converting metal, rods, or plasteel to brass with a clockwork proselytizer
+ while holding it will no longer leave a remainder inside of you.
+ - tweak: Plasteel to brass is now a 2:1 ratio, from a 2.5:1 ratio. Accordingly,
+ you now only need 2 sheets of plasteel to convert it to brass instead of 10
+ sheets.
+ - tweak: Wall gears are now converted to brass sheets instead of directly to alloy.
+ - rscdel: You can no longer do other proselytizer actions while refueling from a
+ cache.
+ - bugfix: Fixed a bug where certain stacks wouldn't merge with other stacks, even
+ when they should have been.
+ - bugfix: Clockwork structures constructed from brass sheets now all have appropriate
+ construction value to replicant alloy ratios.
+ - bugfix: Tinkerer's Caches no longer need to see a clockwork wall to link to it
+ and generate components.
+ MrStonedOne:
+ - experiment: Shoes do not go on heads.
+ NikNak:
+ - rscadd: Action figures are finally winnable at arcade machines. Comes in boxes
+ of 4.
+ Pubby:
+ - rscadd: The holodeck has been upgraded with new programs. Try them out!
+ Shadowlight213:
+ - rscdel: The HOS and other heads of staff no longer have a chance to be revheads
+ TehZombehz:
+ - tweak: Custom food items can now fit inside of smaller containers, such as paper
+ sacks.
+ - rscadd: Small cartons can be crafted using 1 piece of cardboard. Don't be late
+ for school.
+ - rscadd: Apples can now be juiced for apple juice. Chocolate milk can now be crafted
+ using milk and cocoa.
+ - tweak: Chocolate bar recipe has been modified to compensate for chocolate milk.
+ The soy milk version of the chocolate bar recipe remains unchanged.
+ - bugfix: Grapes can now be properly juiced for grape juice using a grinder.
+ XDTM:
+ - tweak: Wizards no longer need sandals to cast robed spells.
+ Xhuis:
+ - rscadd: Syndicate and malfunctioning AIs may now be transferred onto an intelliCard
+ if their parent core has been destroyed. This may only be done with the AI's
+ consent, and the AI may not be re-transferred onto another APC or the APC it
+ came from.
+ - rscadd: New additions have been made for this Halloween and all future ones. Happy
+ Halloween!
+ ma44:
+ - rscadd: You can now solidify liquid gold into sheets of gold with frostoil and
+ a very little amount of iron
+2016-10-30:
+ Joan:
+ - rscadd: The Recollection option in the Clockwork Slab has been significantly improved,
+ with a better information to fluff ratio, and the ability to toggle which tiers
+ of scripture that are visible in Recollection.
+ Lzimann:
+ - bugfix: You can once again order books by its ID in the library.
+ Mysak0CZ:
+ - bugfix: You no longer need to deconstruct emagged (or AI-hacked) APC to fix them,
+ replacing board is sufficient
+ - bugfix: You can no longer unlock AI-hacked APCs
+ - bugfix: Removing APC's and SMES's terminal no longer ignore current tool's speed
+ - rscadd: You can repair APC's cover (only if APC is not compleatly broken) by using
+ APC frame on it
+ - rscadd: closing APC's cover will lock it
+ bgobandit:
+ - rscadd: The creepy clown epidemic has arrived at Space Station 13.
+ - rscadd: Honk.
+2016-10-31:
+ Joan:
+ - experiment: Brass windows will now survive two fireaxe hits, and are slightly
+ more resistant to bullets.
+ Lzimann:
+ - rscdel: Changelings no longer have the Swap Forms ability.
+ Xhuis:
+ - rscadd: Disposal units, outlets, etc. are now fireproof.
+ - rscadd: Changelings can now use biodegrade to escape silk cocoons.
diff --git a/html/changelogs/archive/2016-11.yml b/html/changelogs/archive/2016-11.yml
new file mode 100644
index 0000000000..c656d00965
--- /dev/null
+++ b/html/changelogs/archive/2016-11.yml
@@ -0,0 +1,471 @@
+2016-11-02:
+ Iamgoofball:
+ - rscadd: Added a new lobby menu sound.
+ Joan:
+ - rscdel: Brass windows and windoors no longer drop full sheets of brass when destroyed.
+ - rscadd: Instead, they'll drop gear bits, which can be proselytized for a small
+ amount of liquified alloy; 80% of the materials used to construct the window.
+ - tweak: Mending Motors have an increased range and heal for more.
+ - experiment: Mending Motors will no longer waste massive amounts of power on slightly
+ damaged objects; instead, they will heal a small amount, use a small amount
+ of power, and stop if the object is fully healed.
+ - wip: Mending Motors can now heal all clockwork objects, including pinion airlocks,
+ brass windows, and anything else you can think of.
+ - rscadd: Ocular Wardens will no longer attack targets that are handcuffed, buckled
+ to something AND lying, or in the process of being converted by Guvax.
+ - tweak: Also, they do very slightly more damage.
+ - rscdel: Hulks no longer one-shot most clockwork structures and will no longer
+ four-shot the Gateway to the Celestial Derelict.
+ - bugfix: Hulks are no longer a blob counter.
+ XDTM:
+ - tweak: Ninjas are now slightly visible when stealthing.
+ phil235:
+ - rscadd: Spray cleaner and soap can now wash off paint color.
+2016-11-03:
+ Cobby:
+ - rscadd: Adds a geisha outfit to the clothesmate on hacking. QT space ninja BF
+ not included
+ Joan:
+ - rscadd: 'Proselytizing a window will automatically proselytize any grilles under
+ it. This is free, so don''t worry about wasting alloy. rcsadd: Trying to proselytize
+ something that can''t be proselytized will try to proselytize the turf under
+ it, instead.'
+ - experiment: Clockcult's "Convert All Silicons" objective now also requires that
+ Application scripture is unlocked.
+ - wip: The "Convert All Silicons" objective will also only be given if there is
+ an AI, instead of only if there is a silicon.
+2016-11-05:
+ Joan:
+ - rscadd: Proselytizer conversion now accounts for existing materials, and deconstructing
+ a wall, a girder, or a window for its materials is no longer more efficient
+ than just converting it.
+ - imageadd: Heal glows now appear when mending motors repair clockwork mobs and
+ objects.
+ Lzimann:
+ - rscdel: You can no longer walk holding shift.
+2016-11-06:
+ Joan:
+ - bugfix: Dragging people over a Vitality Matrix will actually cause the Matrix
+ to start working on them instead of failing to start draining because it's "active"
+ from when the dragging person crossed it.
+ phil235:
+ - rscadd: You can now climb on transit tube, like tables.
+ - rscadd: You can now use tabs when writing on paper by writing "[tab]"
+2016-11-07:
+ Basilman:
+ - rscadd: CQC users can now block attacks by having their throw mode on.
+ - tweak: The CQC kick and Disorient-disarm combos are now much easier to use, CQC
+ harm intent attacks are stronger aswell.
+ - bugfix: Fixed being able to CQC restrain someone, let him go, then 10 minutes
+ later disarm someone else to instantly chokehold them.
+ - tweak: CQC costs more TC (13)
+ Cyberboss:
+ - bugfix: Tesla zaps that don't come from an energy ball can no longer destroy nukes
+ and gravity generators
+ El Tacolizard:
+ - rscadd: A space monastery and chaplain job have been added to PubbyStation.
+ - rscadd: Improved pubby's maint detailing
+ Joan:
+ - tweak: Ratvarian Spears now do 18 damage and ignore a small amount of armor on
+ normal attacks, but have a slightly lower chance to knowdown/knockout. Impaling
+ also ignores a larger amount of armor.
+ - rscadd: Throwing a Ratvarian Spear at a Servant will not damage them and may cause
+ them to catch the spear.
+ - rscadd: Standard drones will be converted to Cogscarabs by Ratvar and the Celestial
+ Gateway proselytization.
+ - rscdel: Cogscarabs no longer receive station alerts.
+ - bugfix: Anima Fragments, Clockwork Marauders, and cult constructs are now properly
+ immune to heat and electricity.
+ - tweak: Clockwork armor is much stronger against bullets and bombs but much weaker
+ against lasers.
+ - wip: Specific numbers; Bullet armor from 50% to 70%, bomb armor from 35% to 60%,
+ laser armor from -15% to -25%. This means lasers are a 4-hit crit.
+ - rscadd: You can now Quickbind scripture other than Guvax and Vanguard to the Clockwork
+ Slab's action buttons, via Recollection.
+ - rscadd: You can also recite scripture directly from Recollection, if doing so
+ suits your taste. Of course it suits your taste, it's way easier than menus.
+ - tweak: You can also toggle compact scripture in Recollection, so that you don't
+ see description, invocation time, component cost, or tips.
+ - tweak: Dropping items into Spatial Gateways no longer consumes a use from the
+ gateway.
+ - rscadd: If your Spatial Gateway target is unconscious, you can pick a new target
+ instead.
+ Kor:
+ - rscadd: Multiverse teams now have HUD icons.
+ - rscadd: Multiverse war is back in the spellbook.
+ phil235:
+ - rscadd: Altclicking a PDA without id now removes its pen.
+ - rscadd: The PDA's sprite now shows whether it has an id, a pAI, a pen, or if its
+ light is on.
+2016-11-09:
+ Changes:
+ - tweak: Old mining asteroid is more interesting (mining world can be picked in
+ ministation.dm)
+ - tweak: Space around ministation is now half(?) the size of normal space
+ - rscadd: Loot spawners to maintenance
+ - bugfix: Rad storms frying maintenance
+ - bugfix: Bad conveyor belts in mining/cargo area of station
+ - bugfix: Bombs completely destroying toxins test site
+ - rscadd: Cyborg job available again
+ - tweak: Mining cyborgs can use steel rods when asteroid mining is enabled
+ Joan:
+ - tweak: Repairing clockwork structures with a Clockwork Proselytizer now only costs
+ 1 alloy per point of damage.
+ - experiment: Vitality Matrices will no longer heal dead Servants that they cannot
+ outright revive.
+ - rscadd: The Celestial Gateway will now prevent the emergency shuttle from leaving.
+ - tweak: However, Centcom will alert, in general terms, the location of the Celestial
+ Gateway two minutes after it is summoned.
+ - rscadd: Reciting scripture while not on the station, centcom, or mining/lavaland
+ will double recital time and component costs.
+ Kor:
+ - rscadd: You can now examine an r-wall to find out which tool is needed to continue
+ deconstructing it.
+ - rscadd: The game will now recognize a successful detonation of the nuclear bomb
+ in the syndicate base.
+ - rscadd: Cloaks are now cosmetic items that can be worn in the neck slot, allowing
+ you to wear them over armour.
+ Shadowlight213:
+ - rscdel: Removed the restriction on attacking people with a fire extinguisher on
+ help intent if the safety is on.
+ uraniummeltdown:
+ - rscadd: Added Cortical Borers, a brainslug parasite.
+ - rscadd: Added Cortical Borer Event
+2016-11-10:
+ Kor:
+ - rscadd: The wizard has a new spell, Rod Form, which allows him to transform into
+ an immovable rod.
+ uraniummeltdown:
+ - bugfix: fixed brains not having ckeys when removed
+ - bugfix: hopefully fixed multiple ghosts entering a borer ghosting all but one
+ - tweak: tweaked the formula for hosts needed for borer event to 1+humans/6
+ - tweak: borer endround report is a lot nicer
+2016-11-11:
+ Cyberboss:
+ - bugfix: Promotion of revheads won't occur if they are restrained/incapacitated
+ - bugfix: Facehuggers can no longer latch onto mobs without a head... How the fuck
+ did you get a living mob without a head?
+ - bugfix: Hulks and monkeys can no longer bypass armor
+ - rscadd: Metastation now has a waste to space line
+ - bugfix: Objects will no longer get stuck behind the recycler on Boxstation
+ Joan:
+ - rscadd: You can now repair reinforced walls by using the tool you'd use to get
+ to the state they're currently in. Examining will give you a hint as to which
+ tool to use.
+ - spellcheck: Renamed Guvax to Geis. This also applies to the component, which has
+ been similarly renamed.
+ Kor:
+ - rscadd: The Captain can now purchase alternate escape shuttles from the communications
+ console. This drains from the station supply of cargo points, and you can only
+ do so once per round, so spend wisely.
+ - rscadd: Some shuttles are less desirable than the default, and will instead grant
+ the station a credit bonus when purchased.
+ - rscadd: Explosions are no longer capped on the mining z level.
+ - rscadd: The forcewall spell now creates a 3x1 wall which the caster can pass through.
+ - rscadd: Bedsheets are now worn in the neck slot, rather than the back slot.
+2016-11-13:
+ Cyberboss:
+ - rscadd: Using a screwdriver on a conveyor belt will reverse it's direction
+ - bugfix: Medibots, by default, can no longer OD you on tricord
+ - tweak: They will now use charcoal instead of anti-toxin to heal tox damage
+ - bugfix: Silicons no longer get warm skin when irradiated
+ Gun Hog:
+ - tweak: Wizard (and Devil) fireballs now automatically toggle off once fired.
+ Joan:
+ - tweak: Judicial Visors now protect from flashes.
+ - rscadd: Reciting Scripture is now done through an actual interface, and can thus
+ be done much faster.
+ - rscdel: The recital and quickbind functions that Recollection had have been moved
+ to this interface instead.
+ - rscadd: Servants of Ratvar can now unsecure and move most Clockwork Structures
+ with a wrench, though doing so will damage the structure by 25% of its maximum
+ integrity.
+ - rscadd: Clockwork Structures become less effective as their integrity lowers,
+ reducing their effect by up to 50% at 25% integrity.
+ - tweak: You can now deconstruct unsecured wall gears with a screwdriver.
+ - tweak: Wall gears now have much more health and can be repaired with a proselytizer.
+ Mysak0CZ:
+ - rscadd: You can now use wrech to anchor (as long as it is not in space) / unanchor
+ lockers
+ - bugfix: Cyborgs can now simply use "hand" to open / close lockers (instead of
+ using toggle open verb)
+ - bugfix: You can now properly put unlit welder inside lockers
+ - bugfix: Lockers using different decostruction tools (like cardboard boxes wirecutters)
+ can now be deconstructed too
+ Xhuis:
+ - rscadd: All computers now have sounds. Try them out!
+ coiax:
+ - rscadd: Swarmers can now use :b to talk on Swarm Communication.
+ - rscadd: Lich phylacteries are now in the "points of interest" for ghosts.
+ uraniummeltdown:
+ - bugfix: Cancel Assume Control works as borer now
+ - rscadd: Added the cueball helmet, scratch suit, joy mask to Autodrobe
+2016-11-14:
+ Joan:
+ - rscdel: You can no longer pick up cogscarabs.
+ - rscadd: Servants of Ratvar can now reactivate Cogscarabs with a screwdriver.
+ - tweak: Cogscarab proselytizers proselytize things twice as fast.
+ - tweak: Cogscarabs now have 1.6 seconds of delay when firing guns, as much as an
+ unmodded kinetic accelerator.
+ - bugfix: Fixed Vitality Matrices and Raise Dead runes not reviving if the target
+ happened to be in their body already.
+ Kor:
+ - rscadd: Extended mode now has a special command report that tells you the round
+ type. This is to let people know they have time to start on large scale projects
+ rather than milling about waiting for antagonists to attack.
+ - rscadd: All station goals are now unlocked during extended.
+ Mysak0CZ:
+ - bugfix: MetaStation's xenobiology disposals now work properly
+ uraniummeltdown:
+ - tweak: Changed the Command and Security radio colors
+ - rscadd: Added raw telecrystals to the uplink, can be used with uplinks and uplink
+ implants.
+ - rscadd: Added 10mm ammo variants to uplink
+2016-11-15:
+ Cyberboss:
+ - bugfix: Brains and heads with brains trigger the emergency stop on the recycler
+ Kor:
+ - rscadd: The vault is now home to a new machine which can accept cash deposits,
+ adding to the cargo point total.
+ - rscadd: You can also use this machine to steal credits from the cargo point total.
+ Doing so takes time, and will set off an alarm.
+ - rscadd: You can now buy an asteroid with engines strapped to it to replace the
+ emergency escape shuttle.
+ - rscadd: You can now buy a luxury shuttle to replace the emergency escape shuttle.
+ Each crewmember must bring 500 credits worth of cash or coins to board though.
+ Lexorion & Lzimann:
+ - tweak: Wizards have developed a new spell. It's called Arcane Barrage and it has
+ been reported that it has a similar function to Lesser Summon Guns!
+ Supermichael777:
+ - rscdel: The atmos grenades have been removed. if you want to burn down the shuttle
+ use canisters or something but at least work at it.
+ coiax:
+ - rscadd: Mice (the rodent, not the peripheral) now start in random locations.
+2016-11-16:
+ Mysak0CZ:
+ - rscadd: Door can now have higher security, making them stronger and wires harder
+ to access
+ - rscadd: More info can be found on github or wiki (if this passes)
+ - imageadd: Protected wires now have sprites
+ Pubby:
+ - bugfix: cyclelinked airlock pairs now close behind you even when running through
+ at full speed.
+ Swindly:
+ - rscadd: Dice can now be rigged by microwaving them.
+2016-11-18:
+ Cyberboss:
+ - bugfix: The amount of metal used to construct High Security airlocks with the
+ RCD is now consistent with the actual cost
+ Incoming5643:
+ - bugfix: The charge spell should once again work correctly with guns/wands
+ Joan:
+ - rscadd: Clockcult AIs have power as long as they are on a Clockwork Floor or next
+ to a Sigil of Transmission. This is in addition to having power under normal
+ conditions.
+ - rscadd: Clockcult silicons can now activate Clockwork Structures from a distance.
+ - rscdel: Interdiction Lenses will not disable cameras if there are no living unconverted
+ AIs.
+ - rscadd: Clockcult Cyborgs can charge from Sigils of Transmission by crossing them;
+ after a 5 second delay, the cyborg regains either their missing charge or the
+ amount of power in the sigil(whichever is lower) over 10 seconds.
+ - rscadd: You can now cancel out of selecting a robot module!
+ - imagedel: Robot modules now only have a generic transform animation when selected;
+ the borg is locked in place for 5 seconds in a small cloud of smoke while the
+ base borg sprite fades out and the new module fades in.
+ - tweak: Resetting a borg will do that animation.
+ - rscadd: Adds Networked Fibers, which gains points instead of automatic expansion
+ and causes manual expansion near its core to move its core.
+ - rscadd: Added a new UI style, Clockwork.
+ NikNak:
+ - rscadd: Added tator tots, made my putting a potato in the food processor
+ - tweak: French fries are now made by cutting up a potato into wedges and putting
+ the wedges (plate and all) into the food processor
+ coiax:
+ - bugfix: The observer visible countdown timer for the malfunctioning AI doomsday
+ device is now formatted and rounded appropriately.
+ erwgd:
+ - rscadd: You can now make emergency welding tools in the autolathe.
+2016-11-19:
+ Crushtoe:
+ - imageadd: Added a shiny new icon for the reaper's scythe in-hand and normal sprite.
+ It's 25% less gardener.
+ RandomMarine:
+ - rscadd: An instruction paper has been added to the morgue on most maps, because
+ somehow it's needed.
+ Shadowlight213:
+ - rscadd: Added the AI integrity restorer as a modular computer program
+ - rscadd: Added an AI intelliCard slot. Insert an Intellicard into it to be able
+ to use the restoration program.
+ - bugfix: Fixes Alarm program detecting ruins
+ - bugfix: Fixes being unable to toggle the card reader module power
+ - tweak: The downloader will now tell you if a program is incompatible with your
+ hardware
+2016-11-20:
+ Basilman:
+ - rscadd: Added a new beard style, Broken Man.
+ Cobby:
+ - tweak: Airlock security is only given to vault doors, centcomm, and Secure Tech
+ [Secure Tech just requires a welder]
+ Incoming5643:
+ - rscadd: The warp whistle has been added to the wizard's repertoire of spells and
+ artifacts.
+ - rscadd: The drop table for summon magic has been expanded.
+ Joan:
+ - rscdel: Servant cyborgs no longer have emagged modules.
+ - rscadd: Servant cyborgs now have a limited selection of scripture and tools, which
+ varies by cyborg type.
+ Kor:
+ - bugfix: Station goals will once again function in extended.
+ Swindly:
+ - rscadd: Added a nitrous oxide reagent. It can be created by heating 3 parts ammonia,
+ 1 part nitrogen, and 2 parts oxygen to 525K. The process produces water as a
+ by-product and will cause an explosion if too much heat is applied.
+2016-11-21:
+ Cobby:
+ - tweak: mining/labor shuttles are now radiation proof.
+2016-11-23:
+ Crushtoe:
+ - rscadd: Added more tips.
+ - bugfix: Fixes some sprites and spelling issues, namely bedsheet capes.
+ Cyberboss:
+ - bugfix: Changing an airlock's security level no longer heals it
+ Gun Hog:
+ - bugfix: Medibots now heal toxin damage again.
+ Joan:
+ - rscadd: Clockcult AIs can now listen to conversations through cameras.
+ - rscadd: Due to complaints that the new slab interface was too difficult to navigate,
+ it now starts off in compressed format. The button to toggle this is now also
+ larger.
+ Kor:
+ - rscadd: Rounds ending on one server will send a news report to the other server.
+ Shadowlight213:
+ - tweak: Borers now have a 10 second delay before waking up after sugar leaves the
+ host system
+ - tweak: There is a chance for borers to lose control, based on brain damage levels
+ Swindly:
+ - rscadd: Most small items can now be placed in the microwave. Remember not to microwave
+ metallic objects.
+ XDTM:
+ - rscadd: 'Golems now have special properties based on the mineral they''re made
+ of:'
+ - rscadd: Silver golems have a higher chance of stun when punching
+ - rscadd: Gold golems are faster but less armoured
+ - rscadd: Diamond golems are more armoured
+ - rscadd: Uranium golems are radioactive
+ - rscadd: Plasma golems explode on death
+ - rscadd: Iron and adamantine golems are unchanged.
+ jakeramsay007:
+ - tweak: Borers can no longer take control of people who have a mindshield implant
+ or are a member of either cult. This however does not stop them from infesting
+ and controlling them through other means, such as chemicals.
+2016-11-24:
+ Kor:
+ - rscadd: Shaft miners now have access to the science channel.
+ Lzimann:
+ - rscdel: Multiverse sword is no longer buyable by wizards
+ erwgd:
+ - rscadd: Plasmamen get their own random names.
+2016-11-25:
+ Joan:
+ - rscadd: Clockcult AIs with borgs 'slaved' to them will convert them when hacking
+ via the robotics console.
+ - experiment: Replaced the "No Cache" alert with an alert that will show what you
+ need for the next tier of scripture.
+ Kor:
+ - rscadd: The captain may now purchase an unfinished shuttle chassis, which will
+ dock immediately when bought, but will not launch until the end of the regular
+ shuttle call procedure. The shuttle is empty and devoid of atmosphere however,
+ so you'll need to do some work on it if you want a safe trip home.
+ Shadowlight213:
+ - bugfix: The activation button for the AI integrity restorer modular program actually
+ works now!
+ - rscdel: The cortical borer event is now admin only
+2016-11-27:
+ Cyberboss:
+ - bugfix: False armblades are now removed after one minute. Start feeling the P
+ A R A N O I A when you see em
+ Gun Hog:
+ - rscadd: AIs piloting a mech may now be recovered with an Intellicard from the
+ wreckage if the mech is destroyed. They will be require repair once recovered.
+ - tweak: Instructions for piloting mechs as an AI are now more obvious.
+ - tweak: Traitor and Ratvar AIs may now be carded from mechs, at their discretion.
+ Joan:
+ - tweak: Clockwork walls are now about as hard for hulks to break as rwalls.
+ - rscadd: You can now quickbind up to 5 scriptures from the recital menu, and the
+ recital menu has less empty space.
+ - tweak: Clockwork slabs now only start with only Geis pre-bound.
+ Kor:
+ - rscadd: Shaft miners can now redeem their starting voucher for a conscription
+ kit, which contains everything they need to rope their friend into joining them
+ on lavaland.
+ - rscadd: You can now see which emergency shuttle is coming in the status panel.
+ Lzimann:
+ - rscadd: The robots stole Santa's Elfs jobs.
+ MMMiracles:
+ - tweak: Jump boots now have a pocket
+ - imageadd: Jump boots from mining now have on-character icons.
+ Mervill:
+ - imageadd: Disposal units now use a tgui instead of plain html
+ - rscadd: 'As the AI: Click an AI status display to bring up the prompt for changing
+ the image'
+ Swindly:
+ - rscadd: Wet leather can be dried by putting it on a drying rack.
+ Xhuis:
+ - bugfix: Plastic explosives now actually explode when you commit suicide with them.
+ - bugfix: Resisting out of straight jackets now works properly.
+ - rscdel: Highlander will no longer announce the last man standing.
+ - rscadd: Cyborgs can now open morgue trays. This does not include crematoriums!
+ uraniummeltdown:
+ - rscdel: Borers no longer randomly lose control based on host brain damage
+ - tweak: Borer Dominate Victim stun time reduced from 4 -> 2.
+ - tweak: Borers no longer force unhidden when infesting someone.
+ - tweak: Borer event is rarer (weight 20->15).
+ - tweak: Borer reproduction chemicals required increased from 100 to 200.
+2016-11-29:
+ Joan:
+ - tweak: Interdiction Lenses are more likely to turn off if damaged.
+ - tweak: Reduced Interdiction Lens and Tinkerer's Daemon CV from 25 to 20.
+ RemieRichards:
+ - rscadd: Devils may now spawn with an obligation to accept dance off challanges,
+ if they have this obligation they also gain a spell to summon/unsummon a 3x3
+ dance floor at will.
+ Swindly:
+ - rscadd: Microwaves now heat open reagent containers to 1000K.
+ XDTM:
+ - rscadd: 'Added new types of golem: glass, sand, wood, plasteel, titanium, plastitanium,
+ alien alloy, bananium, bluespace, each with their own traits. Experiment!'
+ - tweak: Golems will be told what their traits are when spawning.
+ - rscadd: Putting a golem in a gibber will give ores of its mineral type, instead
+ of meat.
+ - rscadd: Using Iron on an adamantine slime extract will spawn an incomplete golem
+ shell, that will be slaved to whoever completes it, much like a normal adamantine
+ golem.
+ jughu:
+ - tweak: Proselytizing airlocks into pinion airlocks takes longer.
+2016-11-30:
+ ANGRY CODER:
+ - tweak: NT news reports the clandestine criminal organization known as the syndicate
+ may have upgraded one of their illegally stolen cyborg modules with additional
+ healing technology.
+ Cobby [Idea stolen from Shaps]:
+ - rscadd: For objects that you could previously rename with a pen, you can now edit
+ their description as well.
+ Cyberboss:
+ - rscdel: Due to budget cuts. Firelocks no longer have safety features
+ - bugfix: Roundstart airlock electronics now properly generate the correct accesses
+ - bugfix: tgui windows will now close on round end
+ Gun Hog:
+ - bugfix: Syndicate Medical Cyborg hyposprays now properly work through Operative
+ hardsuits and other thick clothing.
+ Joan:
+ - tweak: Cogscarabs will once again convert metal, rods, and plasteel directly to
+ alloy.
+ - tweak: Tinkerer's caches now increase in cost every 4 caches, from 5.
+ - rscadd: The Ark of the Clockwork Justicar now converts all silicons once it finishes
+ proselytizing the station.
+ Mervill:
+ - rscadd: AI hologram can move seamlessly between holopads
+ Thunder12345:
+ - rscadd: Added anti-armour launcher. A single-use rocket launcher capable of penetrating
+ all but the heaviest of armour. Deals massively increased damage to cyborgs
+ and mechs.
diff --git a/html/changelogs/archive/2016-12.yml b/html/changelogs/archive/2016-12.yml
new file mode 100644
index 0000000000..debb0dbbf9
--- /dev/null
+++ b/html/changelogs/archive/2016-12.yml
@@ -0,0 +1,469 @@
+2016-12-02:
+ Cobby:
+ - bugfix: Removes the exploit that allowed you to bypass grabcooldowns with Ctrl+Click
+ PeopleAreStrange:
+ - tweak: Changed F7 to buildmode, F8 to Invismin (again). Removed stealthmin toggle
+ RemieRichards:
+ - rscadd: Added a new lavaland "boss"
+ - tweak: Hostile mobs will now find a new target if they failed to attack their
+ current one for 30 seconds, this reduces cheese by simply making the mob find
+ something else to do/someone to kill
+ - bugfix: Hostile mobs with search_objects will now regain that value after a certain
+ amount of time (per-mob, base 3 seconds), this is because being attacked causes
+ mobs with this var to turn it off, so they can run away, however it was literally
+ never turned on which caused swarmers to get depression and never do anything.
+2016-12-03:
+ Joan:
+ - rscadd: Trying to move while bound by Geis will cause you to start resisting,
+ but the time required to resist is up by half a second.
+ - experiment: Resisting out of Geis now does damage to the binding, and as such
+ being stunned while bound will no longer totally reset your resist progress.
+ - rscadd: Using Geis on someone already bound by Geis will interrupt them resisting
+ out of it and will fully repair the binding.
+ - tweak: Geis's pre-binding channel now takes longer for each servant above 5. Geis's
+ conversion channel also takes slightly longer for each servant above 5.
+ - rscadd: Converted engineering and miner cyborgs can now create Sigils of Transgression.
+ RandomMarine:
+ - tweak: Airlocks will keep their original name when their electronics are removed
+ and replaced. You may still use a pen to rename the assembly if desired.
+2016-12-04:
+ Durkel:
+ - tweak: Recent enemy reports indicate that changelings have grown bored with attacking
+ near desolate stations and have shifted focus to more fertile hunting grounds.
+2016-12-06:
+ BASILMAN YOUR MAIN MAN:
+ - bugfix: fixes people "walking over the glass shard!" when they're on the ground,
+ changes message when incapacitated
+ Chnkr:
+ - rscadd: Nuclear Operatives can now customize the message broadcast to the station
+ when declaring war.
+ Cyberboss:
+ - bugfix: The atmos waste lines for the Metastation Kitchen and Botany departments
+ is now actually connected
+ Gun Hog:
+ - rscadd: Nanotrasen Janitorial Sciences Division is proud to announce a new concept
+ for the Advanced Mop prototype; It now includes a built-in condenser for self
+ re-hydration! See your local Scientist today! In the event that janitorial staff
+ wish to use more expensive solutions, the condenser may be shut off with a handy
+ handle switch!
+ Incoming5643:
+ - bugfix: The timer for shuttle calls/recalls now scales with the security level
+ of the station (Code Red/Green, etc.). You no longer have to feel dumb if you
+ forget to call Code Red before you call the shuttle!
+ - rscadd: Shuttles called in Code Green (the lowest level) now take 20 minutes to
+ arrive, but may be recalled for up to 10 minutes. They also don't require a
+ reason to be called.
+ - experiment: That doesn't mean you should call a code green shuttle every round
+ the moment it finishes refueling.
+ - rscadd: Server owners may now customize the population levels required to play
+ various modes. Keep in mind that this does not preserve the balance of the mode
+ if you change it drastically. See game_modes.txt for details.
+ Joan:
+ - rscadd: You can now proselytize floor tiles at a rate of 20 tiles to 1 brass sheet
+ or 2 tiles to 1 liquified alloy for cogscarabs.
+ - rscadd: Proselytizers will automatically pry up floor tiles if those tiles can
+ be proselytized.
+ - tweak: Brass floor tiles no longer exist. Instead, you can just apply brass sheets
+ to a tile. Crowbarring up a clockwork floor will yield that brass sheet.
+ - rscadd: You can now cancel AI intellicard wiping.
+ - tweak: Geis now takes 5 seconds to resist.
+ Mervill:
+ - bugfix: Examining now lists the neck slot
+ MisterTikva:
+ - rscadd: Nanotrasen informs that certain berry and root plants have been infused
+ with additional genetic traits.
+ - rscadd: Watermelons now have water in them!
+ - rscadd: Blumpkin's chlorine production has been reduced for better workplace efficiency.
+ - rscadd: Squishy plants now obey the laws of physics and will squash all over you
+ if fall on them.
+ Shadowlight213:
+ - bugfix: The lavaland syndicate agents, as well as the ID for all simple_animal
+ syndicate corpses should have their ID actually have syndicate access on it
+ now!
+ Swindly:
+ - rscadd: 'Adds a new toxin: Anacea. It metabolizes very slowly and quickly purges
+ medicines in the victim while dealing light toxin damage. Its recipe is 1 part
+ Haloperidol, 1 part Impedrezene, 1 part Radium.'
+ WJohn:
+ - bugfix: AI core turrets can once again hit you if you are standing in front of
+ the glass panes, or in the viewing area's doorway.
+ XDTM:
+ - rscadd: Quantum Pads are now buildable in R&D!
+ - rscadd: Quantum Pads, once built, can be linked to other Quantum Pads using a
+ multitool. Using a Pad who has been linked will teleport everything on the sending
+ pad to the linked pad!
+ - rscadd: 'Pads do not need to be linked in pairs: Pad A can lead to Pad B which
+ can lead to pad C.'
+ - rscadd: Upgrading a Quantum Pad will reduce the cooldown, charge-up time, and
+ power consumption.
+ - rscadd: Quantum Pads require a bluespace crystal, a micro manipulator, a capacitor
+ and a cable piece.
+ kilkun:
+ - rscadd: New lore surrounding the various SWAT suits.
+ - tweak: Captain's hardsuit/SWAT suit got a few buffs. It's now much more robust.
+ - bugfix: Captain's space suit is now heat proof as well as fireproof. Long overlooked
+ no longer.
+2016-12-07:
+ Cyberboss:
+ - bugfix: Atmos canisters now stay connected after relabeling them
+ Incoming5643:
+ - rscadd: Server owners that use the panic bunker feature can now optionally redirect
+ new players to a different server. See config.txt for details.
+ LOOT DUDE:
+ - tweak: Swarmers will drop bluespace crystals on death, non-artificial crystals.
+ MisterTikva:
+ - rscadd: Nanotrasen Mushroom Studies Division proudly announces that growth serum
+ producing plants were genetically reassembled. You no longer alternate between
+ sizes with doses 20u+ and more effects were added to higher doses.
+ Thunder12345:
+ - bugfix: You can now only order a replacement shuttle once
+2016-12-08:
+ Fox McCloud:
+ - rscadd: The ability to harvest a plant, repeatedly, is now a gene-extractable
+ trait that can be spliced into other plants
+ - rscadd: can extract the battery capabilities of potatoes and splice them into
+ other plants
+ - rscadd: Plants types are now gene traits that can be added/removed from plants
+ - rscadd: Adds new stinging plant trait that will inject a bit of a plant's reagents
+ when thrown at someone
+ Joan:
+ - rscadd: The clockwork slab's interface is now TGUI.
+ - imageadd: You can now see what an ocular warden is attacking.
+ Mervill:
+ - rscadd: The light replacer can now create bulbs from glass shards
+ - rscadd: Click a light replacer while holding a glass shard to add the shard to
+ the replacer
+ - rscadd: Click a glass shard while holding a light replacer to consume the shard
+ MrStonedOne:
+ - tweak: world initialization is now faster.
+ - bugfix: fixed the modify bodypart admin tool not working
+ PKPenguin321:
+ - tweak: Swarmer beacons now have 750 health, down from 3000.
+ TehZombehz:
+ - rscadd: Nanotrasen Culinary Division has authorized the production of tacos, both
+ plain and classic.
+ XDTM:
+ - bugfix: Replica Pod cloning now works on people who have been decapitated.
+ coiax:
+ - rscadd: Additional mice sometimes appear in the maintenance tunnels. Engineers
+ beware!
+2016-12-10:
+ Cyberboss:
+ - bugfix: The slips bug (which made freon laggy) is fixed
+ Kor:
+ - imagedel: Deleted all (3000+) left handed inhand icons. They are now automatically
+ mirrored from the right hand, saving spriters a lot of tedious busywork.
+ - rscadd: By crafting a wall mounted flasher frame (can be ordered via cargo), a
+ flash, and a riot shield, you can now construct a strobe shield. The strobe
+ shield combines the functionality of a riot shield and a flash, and can be reloaded
+ with flash bulbs.
+ Supermichael777:
+ - tweak: Conveyors have been more firmly anchored. No fun allowed
+ Thunder12345:
+ - rscadd: Added the Standby Emergency Vessel "Scrapheap Challenge" as a new emergency
+ shuttle option. You'll even be paid 1000 credits to use it!
+ coiax:
+ - rscadd: Due to a combination of radiation and water supply contamination, stations
+ have been reporting animals gaining self awareness.
+ optional name here:
+ - bugfix: fixed ashdrake's flame wall.
+ - bugfix: fixed walls decon spawning metal in a random location in the same room.
+2016-12-11:
+ Cobby:
+ - bugfix: Fixes literally everything regarding renaming so far. When adding unique_rename
+ to objects, make sure the attackby checks for inheritance.
+ - bugfix: You can pull as other mobs now. Sorry, clickcode is stupid.
+ Cyberboss:
+ - bugfix: Frozen things will now unfreeze above 0C
+ Joan:
+ - tweak: Invoking Nezbere now increases ocular warden damage slightly more, but
+ increases ocular warden range slightly less.
+ Swindly:
+ - tweak: The recipe for moonshine now calls for 5 units of nutriment and 5 units
+ of sugar instead of 10 units of nutriment.
+ Thunder12345:
+ - bugfix: Scrapheap Challenge shuttle now actually works
+ coiax:
+ - rscadd: Cyborgs now have a reset module wire, that when pulsed, triggers the cyborg's
+ reset module hardware.
+ - rscadd: Cyborgs now eject all upgrades when reset, rather than the upgrades being
+ destroyed.
+ - rscdel: Removed redundant reset module.
+2016-12-12:
+ Dannno:
+ - rscadd: more chaplain outfits
+ - rscadd: animal and tribal masks to the theater vendor
+2016-12-13:
+ Fox McCloud:
+ - rscadd: Adds in random botany seeds; never the same twice.
+ - rscadd: Adds in new trait that makes a grown release smoke when squashed
+ - rscadd: Weed rates and chances are now core seed genes
+ Joan:
+ - experiment: Clockwork proselytizers suffer doubled cost and proselytization time
+ when not on the station, mining, or centcom.
+ - soundadd: Trying to recite scripture offstation is more clearly disapproved of.
+ XDTM:
+ - bugfix: The internal rage of the crew has been suppressed, and they will no longer
+ attack their own backpacks when opening them.
+2016-12-14:
+ Incoming5643:
+ - rscadd: Recently we've been receiving reports of cheap knock off nuclear authentication
+ disks circulating among the syndicate network. Don't be fooled by these decoys,
+ only the real deal can be used to destroy the station!
+ - experiment: Please don't destroy the station in an attempt to make sure the disk
+ is real.
+ Joan:
+ - rscdel: The Ark of the Clockwork Justicar can no longer be repaired.
+ - tweak: The Ark now has 20% more health.
+ - rscadd: The Ark of the Clockwork Justicar will now force objects away from it.
+ - tweak: Faster-than-normal tools are somewhat slower than before.
+ - tweak: Mania Motors now require a much larger amount of power to convert people
+ adjacent, and people converted by it are knocked out.
+ Mindustry:
+ - bugfix: Goliath meat can be cooked in lava again
+ Okand37:
+ - rscadd: DeltaStation's emergency shuttle
+ XDTM:
+ - rscadd: Abductor Agents have now been equipped with extremely advanced construction
+ and hacking tools.
+2016-12-18:
+ Dannno:
+ - rscadd: Sec hailers can now be emagged for a more rational, calm message.
+ Erwgd:
+ - rscadd: Limb Grower circuit boards can now be made in Research and Development,
+ requiring level 3 in data theory and level 2 in biological technology.
+ Firecage:
+ - rscadd: The NanoTrasen Airlock Builder Federation(NTABF) has recently released
+ the blueprints involving building and deconstructing Titanium Airlocks! These
+ airlocks are now being used on all of our shuttles.
+ Fox McCloud:
+ - bugfix: Fixes the personal crafting cost of ED-209's being too expensive
+ Hyena:
+ - tweak: adds 2 geiger counters to radition protection crates and a gift from the
+ russians
+ Joan:
+ - rscadd: Adds Replicant and Tinkerer's Cache to the default slab quickbind.
+ - rscadd: Revenants will be revealed by ocular wardens when targeted.
+ Joan, Dagdammit:
+ - rscadd: You can now push Wraith Spectacles up to avoid vision damage, but lose
+ xray vision.
+ - wip: Do note that flicking them on and off very quickly may cause you to lose
+ vision rather quickly.
+ Kor:
+ - rscadd: Added the treasure hunter's hat, coat, uniform, and whip. These aren't
+ available on the map yet, but will be available to the librarian soon.
+ Mervill:
+ - rscadd: Notice boards can now have photographs pined to them
+ - tweak: Items removed from the notice board are placed in your hands
+ - bugfix: Intents can be cycled forward and backwards with hotkeys again
+ - bugfix: Russian revolver ammo display works correctly
+ - rscadd: Added a credit deposit to pubbystation's vault
+ - rscdel: Removed a rather garish golden statue of the HoP from pubbystation's vault
+ Okand37 & Lexorion:
+ - rscadd: Added a new hair style, the Sidecut!
+ Supermichael777:
+ - rscadd: Clockwork components the chaplain picks up are now destroyed.
+ Swindly:
+ - rscadd: Adds eggnog. It can be made by mixing 5 parts rum, 5 parts cream, and
+ 5 parts egg yolk.
+ XDTM:
+ - rscadd: Changelings can now buy Tentacles on the Cellular emporium for 2 evolution
+ points.
+ - rscadd: Tentacles, once used, can be fired once against an item or mob to pull
+ it towards yourself. Items will be automatically grabbed. Costs 10 chemicals
+ per tentacle.
+ - rscadd: 'On humanoid mobs tentacles have a varying effect depending on intent:
+ - Help intent simply pulls the target closer without harming him; - Disarm intent
+ does not pull the target but instead pulls whatever item he''s holding in his
+ hands to yours; - Grab intent puts the target into an aggressive grab after
+ it is pulled, allowing you to throw it or try to consume it; - Harm intent will
+ briefly stun the target on landing; if you''re holding a sharp weapon you''ll
+ also impale the target, dealing increased damage and a longer stun.'
+ - bugfix: Random golems now properly acquire the properties of the golem they pick.
+ - rscadd: When becoming a random golem the user is informed of the properties of
+ the picked golem.
+ coiax:
+ - rscadd: Chameleon clothing produced by the syndicate has been found to react negatively
+ to EMPs, randomly switching forms for a time.
+ - rscadd: Anomalies now have observer-visible countdowns to their detonation.
+ - rscadd: Adds upgrades for the medical cyborg!
+ - rscadd: The Hypospray Expanded Synthesiser that adds chemicals to treat blindness,
+ deafness, brain damage, genetic corruption and drug abuse.
+ - rscadd: The Hypospray High-Strength Synthesiser, containing stronger versions
+ of drugs to treat brute, burn, oxyloss and toxic damage.
+ - rscadd: The Piercing Hypospray (also applicable to the Standard and Peacekeeper
+ borgs) that allows a hypospray to pierce thick clothing and hardsuits.
+ - rscadd: The Defibrillator, giving the medical cyborg an onboard defibrillator.
+ - rscadd: Loose atmospherics pipes are now dangerous to be hit by.
+ - rscadd: Whenever you automatically pick up ore with an ore satchel, if you are
+ dragging a wooden ore box, the satchel automatically empties into the box.
+ dannno:
+ - rscadd: Adds a villain costume to the autodrobe.
+ - bugfix: Fixes autodrobe failing to stock items.
+ jughu:
+ - tweak: 'sandals are not fireproof or acidproof anymore :add: Magical sandals for
+ the wizard that are still fireproof/acid proof :tweak: makes the marisa boots
+ acid and fire proof too'
+ karlnp:
+ - bugfix: made facehuggers work again
+ - bugfix: vendors, airlocks, etc now cannot shock at a distance
+ uraniummeltdown:
+ - tweak: Side entrance to Box Medbay, a few layout changes.
+2016-12-19:
+ spudboy:
+ - bugfix: Fixed items not appearing in the detective's fedora.
+2016-12-20:
+ Kor:
+ - rscadd: You can put a variety of hats on cyborgs using help intent (the engiborg
+ can't wear hats though, as it is shaped too oddly. Sorry!)
+ - rscadd: 'The complete list of currently equippable hats is as follows: Cakehat,
+ Captains Hat, Centcomm Hat, Witch Hunter Hat, HoS Cap, HoP Cap, Sombrero, Wizard
+ Hat, Nurse Hat.'
+ Lzimann:
+ - bugfix: Mjor the Creative will drop his loot correctly now.
+ Mekhi Anderson:
+ - rscdel: Fixes various PAI bugs, various tweaks and bullshit.
+ MrPerson:
+ - rscadd: Starlight will have more of a gradient and generally shine a more constant
+ amount of light regardless of how many tiles are touching space. In dark places
+ with long borders to space, starlight will be much darker.
+2016-12-21:
+ FTL13, yogstation, Iamgoofball, and MrStonedOne:
+ - rscadd: Space is pretty.
+ - tweak: You can configure how pretty space is in preferences, those of you on toasters
+ should go to low to remove the need to do client side animations. (standard
+ fanfare as job selection, left click to increase, right click to decrease) (Changes
+ are applied immediately in most cases, on reconnect otherwise)
+ Joan:
+ - rscadd: EMPs will generally fuck up clockwork structures.
+ - rscdel: Cogscarabs can no longer hold slabs to produce components.
+ - rscadd: Slabs will now produce components even if in a box in your backpack inside
+ of a bag of holding on your back; any depth you can hide the slab in will still
+ produce components.
+ - bugfix: Non-Servants in possession of clockwork slabs will also no longer produce
+ components.
+ Mekhi Anderson:
+ - bugfix: PAI notifications no longer flood those who do not wish to be flooded.
+ Shadowlight213:
+ - imageadd: 2 new performer's outfits have been added to the autodrobe
+2016-12-24:
+ AnturK:
+ - rscadd: Implants now work on animals.
+ Cyberboss:
+ - bugfix: Dead things can no longer be used to open doors
+ F-OS:
+ - bugfix: swarmers can no longer destroy airlocks.
+ MrStonedOne:
+ - tweak: AI's call bot command has been throttled to prevent edge cases causing
+ lag. You will not be able to call another bot until the first bot has finished
+ mapping out it's route.
+ TehZombehz:
+ - tweak: Observers can now orbit derelict station drone shells, much like current
+ lavaland ghost role spawners, to make finding them easier. Regular drone shells
+ are not affected by this.
+ XDTM:
+ - rscadd: Autolathes are now true to their name and can queue 5 or 10 copies of
+ the same item.
+ coiax:
+ - rscadd: Cyborg renaming boards cannot be used if no name has been entered.
+ - rscdel: Cyborg rename and emergency reboot modules are destroyed upon use, and
+ not stored inside the cyborg to be ejected if modules are reset.
+ - rscadd: Emagging the book management console and printing forbidden lore now has
+ a chance of producing a clockwork slab rather than an arcane tome.
+ kevinz000:
+ - experiment: Flightsuits now have their own subsystem!
+ - bugfix: Flightsuits properly account for power before calculating drifting
+ - experiment: Flightpack users will automatically fly over anyone buckled without
+ crashing.
+ - experiment: Flightpack users automatically slip through mineral doors
+ - experiment: Flightpack users will crash straight through grills at appropriate
+ times
+ - experiment: Flightpack users automatically slip through unbolted airlocks
+ - experiment: Flightpacks are faster in space, but their space momentum decay has
+ been upped significantly to compensate
+ - experiment: Flighthelmets now have a function to allow the wearer to zoom out
+ to see further. Helps you not crash eh?
+ spudboy:
+ - bugfix: Gave cyborgs some hotkeys they should have had.
+2016-12-27:
+ Firecage:
+ - bugfix: The Nanotrasen Sewing Club has finally fixed the problem which rendered
+ NT, Ian, and Grey bedsheets invisible when worn!
+ Hyena:
+ - tweak: Detective coats can now hold police batons
+ - bugfix: Fixes disabler in hand sprites
+ Joan:
+ - rscadd: You can now put syndicate MMIs and soul vessels into AI cores.
+ - rscadd: The Hierophant boss will now create an arena if you try to leave its arena.
+ - imageadd: The Hierophant boss, its arena, and the weapon it drops all have new
+ sprites.
+ - soundadd: And new sounds.
+ - wip: And new text.
+ - rscadd: Wizards can now buy magic guardians for 2 points. They are not limited
+ to one guardian, meaning they can have up to 5. If that's wise is an entirely
+ different question.
+ - experiment: Wizards cannot buy support guardians, but can buy dexterous guardians,
+ which can hold items.
+ Shadowlight213:
+ - tweak: Shuttle are now safe from radstorms
+ XDTM:
+ - bugfix: HUD implants now properly allow you to modify the records of those you
+ examine, like HUD glasses do.
+ - bugfix: Organ Manipulation surgery now properly heals on the cautery step.
+ - bugfix: The maintenance door adjacent to R&D in metastation is now accessible
+ to scientists, instead of requiring both science and robotics access.
+2016-12-28:
+ Erwgd:
+ - rscadd: A new access level is available, named "Cloning Room". Medical Doctors,
+ Geneticists and CMOs start with it.
+ - tweak: On Box Station and on Meta Station, the cloning lab doors require Cloning
+ Room access in addition to each door's previous requirements.
+ - tweak: Cloning pods are now unlocked with Cloning Room access only.
+ Incoming5643:
+ - rscadd: There's a new category in uplinks for discounted gear. These special discounts
+ however can only be taken once, so even if you are lucky enough to see syndibombs
+ for 75% off you won't be able to nuke the entire station with them.
+ - bugfix: The charge spell will no longer bilk you on wand charges, and wands that
+ are dead won't show up as charged.
+ Joan:
+ - rscdel: Clockwork Marauders no longer have Fatigue. It was difficult to balance
+ and made them too easy to force into recalling. This means they just have health;
+ they aren't forced to recall by anything, but can accordingly die much more
+ easily.
+ - rscadd: Accordingly Clockwork Marauders now have more health, do slightly more
+ damage, block slightly more often, and have to go slightly further from their
+ host to take damage.
+ - rscadd: Marauders that are not recovering(from recalling while the host's health
+ is too high to emerge) and are inside their host, or are within a tile of their
+ host, will gradually heal their host until their host is above the health threshold
+ to emerge.
+ - tweak: Chaos guardians transfer slightly less damage to their summoner.
+ XDTM:
+ - tweak: Armblades now go slash slash instead of thwack thwack
+ - imageadd: Tentacles have some fancier sprites
+2016-12-29:
+ Mervill:
+ - bugfix: Patched an exploit related to pulling a vehicle as its driver while in
+ space
+ - bugfix: Fixed evidence bags not displaying their contents when held
+ - bugfix: Clothing without a casual variant will no longer say it can be worn differently
+ when examined
+ - bugfix: Only standard handcuffs can be used to make chained shoes
+ - bugfix: Fixed cards against space
+ - bugfix: Drying rack sprite updates properly when things are removed without drying
+ XDTM:
+ - rscadd: Colossi now drop the Voice of God, a mouth organ that, if implanted, allows
+ you to speak in a HEAVY TONE. This voice can compel hearers to briefly obey
+ certain codewords, such as "STOP". Using these codewords will severely increase
+ this ability's cooldown, and only one will be used per sentence.
+ - rscadd: 'Use .x, :x, or #x as a prefix to use Voice of God or any future vocal
+ cord organs.'
+ - rscadd: Chaplains, being closer to the gods, and command staff, being used to
+ giving orders, gain an increased effect when using the Voice of God. The mime,
+ not being used to speaking, has a reduced effect.
+2016-12-31:
+ hyena:
+ - bugfix: fixes caps suit fire immunity
+ kevinz000:
+ - bugfix: Machine overloads/overrides aren't as bullshit as you'll actually be able
+ to dodge it now.
diff --git a/html/changelogs/archive/2017-01.yml b/html/changelogs/archive/2017-01.yml
new file mode 100644
index 0000000000..224976189b
--- /dev/null
+++ b/html/changelogs/archive/2017-01.yml
@@ -0,0 +1,535 @@
+2017-01-01:
+ A whole bunch of spiders in a SWAT suit:
+ - bugfix: spiders can't wrap anchored things
+2017-01-02:
+ MrStonedOne:
+ - tweak: Throwing was refactored to cause less lag and be more precise
+ - rscadd: Item throwing now imparts the momentum of the user throwing. Throwing
+ in the direction you are moving throws the item faster, throwing away from the
+ direction you are moving throws the item slower. This should make hitting yourself
+ with floor tiles less likely.
+ XDTM:
+ - bugfix: Storage bags should now cause less lag when picking up large amounts of
+ items.
+ - bugfix: Storage bags now don't send an error message for every single item they
+ fail to pick up.
+2017-01-03:
+ Cyberboss:
+ - bugfix: AIs can no longer see cult runes properly
+ Mervill:
+ - bugfix: Can't kick racks if weakened, resting or lying
+2017-01-06:
+ Cruix:
+ - bugfix: Fixed the leftmost and bottommost 15 turfs not having static for AIs and
+ camera consoles
+ Joan:
+ - bugfix: Tesla coils and grounding rods must be anchored with a closed panel to
+ function, ie; not explode when shocked.
+ - tweak: Metastation's xenobio has been slightly modified to avoid getting hit by
+ some standard shuttles.
+ Mervill:
+ - bugfix: Regular spraycans aren't silent anymore
+ MrStonedOne and Ter13:
+ - rscadd: Added some ping tracking to the game.
+ - rscadd: Your ping shows in the status tab
+ - rscadd: Other players ping shows in who to players and admins.
+ Nabski89:
+ - bugfix: Re-Vitiligo Levels to match wiki.
+ XDTM:
+ - tweak: Voice of God's Sleep lasts less than the other stuns.
+ - rscadd: You can also use people's jobs to single them out, instead of only names.
+ - tweak: If multiple people share the same name/job they'll all be included, although
+ at a reduced bonus.
+ - tweak: Names and jobs will only be accepted if they're the first part of the command,
+ and not in the middle, to prevent unintended focusing.
+ - bugfix: Voice of God now shows speech before the emotes it causes.
+ - bugfix: Special characters are no longer over-sanitized.
+ - bugfix: You can now properly apply items to clothing with pockets, such as slime
+ speed potions on clown shoes.
+ - bugfix: Mechs are now able to enter wormhole-sized portals.
+2017-01-08:
+ Mervill:
+ - bugfix: pre-placed posters don't retain their pixel offset when taken down carefully
+ - bugfix: Dinnerware Vendor will show it's wire panel
+ Nanotrasen Station Project Advisory Board:
+ - wip: It is highly recommended that, when constructing the Meteor Shield project,
+ you are able to see, at minimum, two meteor shields from a stationary location.
+ The Nanotrasen Station Project Advisory Board is not liable for meteor damage
+ taken under wider shield arrangements.
+ Speed of Light Somehow Changed:
+ - tweak: Dynamic lights are no longer animated, and update instantly
+ - tweak: Increased maximum radius of mob and mobile lights
+2017-01-10:
+ Arianya:
+ - bugfix: Doors and vending machines once again make a sound when you screwdriver
+ them.
+ Cyberboss:
+ - bugfix: Explosions can no longer be dodged
+ - tweak: Airlocks are now destroyed by the same level explosion that destroys walls
+ - tweak: Diamond/External/Centcomm airlocks and firedoors now block explosions as
+ walls do
+ Joan:
+ - experiment: Clockwork Proselytizers no longer require Replicant Alloy to function;
+ instead, they gradually charge themselves with power, which is used more or
+ less the same as alloy.
+ - tweak: Clockwork Proselytizers now produce brass sheets when used in-hand, instead
+ of Replicant Alloy.
+ - rscdel: Tinkerer's Caches can no longer have Replicant Alloy removed from them;
+ using an empty hand on them will simply check when they'll next produce a component.
+ - rscdel: Mending Motors can no longer use Replicant Alloy in place of power.
+ Mervill:
+ - bugfix: Controlling the station status displays no longer overrides the cargo
+ supply timer
+ MrStonedOne:
+ - experiment: Lighting was made more responsive.
+ XDTM:
+ - rscadd: Earmuffs and null rods protect against the Voice of God.
+ - rscadd: Earmuffs are now buildable in autolathes.
+ - tweak: Voice of God stuns have a longer cooldown.
+ coiax:
+ - rscadd: Girders now offer hints to their deconstruction when examined.
+2017-01-13:
+ Cyberboss:
+ - bugfix: Walls blow up less stupidly
+ - bugfix: You no longer drop a beaker after attempting to load it into an already
+ full cryo cell
+ Joan:
+ - bugfix: Instant Summons is no longer greedy with containers.
+ Mervill:
+ - bugfix: Hardsuits, amour and other suits that cover the feet now protect against
+ glass shards
+ - bugfix: You will now lose the lawyer's speech bubble effect if you unequip the
+ layer's badge
+ MrStonedOne:
+ - tweak: More performance tweaks with the modulated reactive ensured entropy frame
+ governor system
+ PKPenguin321:
+ - tweak: Ash walker tendrils will now restore 5% of their HP when fed.
+ Shadowlight213:
+ - bugfix: Borg emotes should now play at the correct pitch
+ - bugfix: The ID console now properly handles authorization
+ - bugfix: Clicking on one of the ID cards in the UI will no longer eject both of
+ them
+ Thunder12345:
+ - bugfix: Morphs will no longer retain the colour of the last thing mimicked when
+ reverting to their true form
+ XDTM:
+ - bugfix: Patches' application is now properly delayed instead of instant.
+ - bugfix: Accelerator laser cannons' projectile now properly grows with distance.
+ coiax:
+ - rscadd: The end of round stats include the number of people who escaped on the
+ main emergency shuttle.
+2017-01-14:
+ Cyberboss:
+ - bugfix: Explosions now flash people properly
+ Lzimann:
+ - bugfix: Fixes TGUI not working for people without IE11
+ Thunder12345:
+ - bugfix: Recoloured mobs and objects will no longer produce coloured fire.
+ XDTM:
+ - bugfix: Nanotrasen decided that the "violent osmosis" method for refilling fire
+ extinguishers was, while cathartic, too expensive, due to the water tank repair
+ bills. Water tanks now have a tap.
+ - bugfix: (refilling extinguishers from tanks won't make you hit them)
+ - bugfix: Golems no longer drop belt, id, and pocket contents in a fit of extreme
+ clumsiness when drawing a sword from a sheath.
+ - bugfix: Wrenching portable chem dispensers won't cause you to immediately try
+ unwrenching them.
+ coiax:
+ - bugfix: Blue circuit floors are now restored to their normal colour if an AI doomsday
+ device is disabled.
+2017-01-16:
+ Cyberboss:
+ - bugfix: Firedoors no longer have maintenance panels
+ - tweak: Firedoors must now be welded and screwdrivered prior to be deconstructed
+ Joan:
+ - rscadd: Ratvar will now convert lattices and catwalks to clockwork versions.
+ XDTM:
+ - tweak: Updating your PDA info with an agent id card inside will also overwrite
+ the previous name.
+ - bugfix: Loading a xenobiology console with a bio bag won't cause you to smack
+ it with it.
+ - tweak: Chemical splashing is now based on distance rather than affected tiles.
+ - bugfix: You can now properly wet floors by putting enough water in a grenade.
+ - bugfix: Floating without gravity won't drain hunger.
+2017-01-18:
+ Mervill:
+ - bugfix: Using a welder to repair a mining drone now follows standard behaviour
+ - bugfix: Redeeming the mining voucher for a mining drone now also provides welding
+ goggles
+ - bugfix: ntnrc channels are now deleted properly
+ Tofa01:
+ - bugfix: Moved all sprites for heat pipe manifold either up or down by one so that
+ they will line up correctly when connected to adjacent pipes.
+ uraniummeltdown:
+ - rscadd: More AI holograms!
+2017-01-19:
+ Cyberboss:
+ - bugfix: Various abstract entities will no longer be affected by spacewind
+ - bugfix: Ash will, once again, burn in lava
+ - rscadd: Active testmerges of PRs will now be shown in the MOTD
+ - bugfix: You will no longer appear to bleed while bandaged
+ Joan:
+ - spellcheck: Clockwork airlocks now have more explicit deconstruction messages,
+ using the same syntax as rwall deconstruction.
+ Mervill:
+ - bugfix: Raw Telecrystals won't appear in the Traitor's purchase log at the end
+ of the round
+ MrStonedOne:
+ - bugfix: Fixed excessive and immersion ruining delay on the smoothing of asteroid/mining
+ rock after a neighboring rock turf was mined up.
+ XDTM:
+ - bugfix: Plasmamen that are set on fire by reacting with oxygen will burn even
+ if they have protective clothing. It will still protect from external fire sources.
+ - tweak: Atmos-sealing clothing, like hardsuits, will protect plasmamen from reacting
+ with the atmosphere.
+ - tweak: Plasmamen can survive up to 1 mole of oxygen before burning, instead of
+ burning with any hint of oxygen.
+ - bugfix: Nanotrasen no longer ships self-glueing posters. You'll have to finish
+ placing the posters to ensure they don't fall on the ground.
+ - bugfix: Exosuits can't push anchored mobs, such as megafauna or tendrils, anymore.
+ coiax:
+ - bugfix: AIs can no longer activate the Doomsday Device off-station. Previously
+ it would activate and then immediately turn off, outing the AI as a traitor
+ without any benefit.
+2017-01-20:
+ CoreOverload:
+ - tweak: Any sharp item can now be used for "incise" surgery step, with 30% success
+ probability.
+ Joan:
+ - rscadd: Sentinel's Compromise will also convert oxygen damage into half toxin,
+ in addition to brute and burn.
+ - tweak: Reduced the Ark of the Clockwork Justicar's health from 600 to 500
+ - rscadd: You can now pull objects past the Ark of the Clockwork Justicar without
+ them being moved and or destroyed by its power.
+ MrStonedOne:
+ - tweak: Server side timing of the parallax shuttle launch animation now runs on
+ client time rather than byond time/server time. This will fix the odd issues
+ it has during lag. The parallax shuttle slowdown animation will still have issues,
+ those will be fixed in another more involved update to shuttles.
+ - rscadd: The window will flash in the taskbar when a new round is ready and about
+ to start.
+ Tofa01:
+ - bugfix: Moved The CentComm station 6 tiles to the left in order to prevent large
+ shuttles such as "asteroid with engines on it" from clipping off the end of
+ the right side of the map.
+ XDTM:
+ - bugfix: Chameleon PDAs can now morph into assistant PDAs.
+ - bugfix: A few iconless items have been blacklisted from chameleon clothing.
+ - tweak: Reviver implants now warn you when they're turning on or off, or when giving
+ a heart attack due to EMP.
+2017-01-22:
+ ChemicalRascal:
+ - tweak: Voice analyzers in "inclusive" mode (the default mode) are now case-insensitive.
+ Cyberboss:
+ - tweak: You can no longer meatspike bots and silicons
+ - bugfix: Secbots will now drop the baton type they were constructed with
+ Dannno:
+ - rscadd: yeehaw.ogg is now a round end sound
+ Fox McCloud:
+ - tweak: drying meat slabs and grapes now yields a healthy non-junkfood snack
+ Hyena:
+ - rscadd: Adds paint remover to the janitors closet
+ Joan:
+ - rscadd: Clockwork Proselytizers can now convert lattices and catwalks. This has
+ negative gameplay benefit, but looks cool.
+ - rscadd: Sigils of Transmission can be accessed by clockwork structures in a larger
+ range.
+ - tweak: You can see, when examining a clockwork structure, how many sigils are
+ in range of it.
+ - rscadd: Clockwork constructs will toggle clockwork structures instead of attacking
+ them.
+ Shadowlight213:
+ - bugfix: Zombies will now get their claws upon zombification
+ Thunder12345:
+ - rscadd: The indestructible walls on CentComm will now smooth.
+ Tofa01:
+ - tweak: Changed alert message on early launch Authorization shuttle repeal message.
+ - bugfix: Makes the repeal message work and push a alert to the crew properly, also
+ reports every Authorization repeal now.
+ - bugfix: Auto Capitalisation will now work with all types of MMI chat
+ Ultimate-Chimera:
+ - rscadd: Adds a new costume crate to the cargo ordering console.
+ XDTM:
+ - rscadd: Xenobiology consoles are now buildable from circuitboards in R&D. They'll
+ be limited to the area they're built in plus any area with the same name.
+ - rscadd: Stock Exchange computers are now also buildable this way.
+ - rscadd: Androids now speak in a more robotic tone of voice.
+ - imageadd: Armblades now look a bit more bladelike.
+ coiax:
+ - rscadd: The Delta emergency shuttle now travels towards the south, rather than
+ the north. This changes nothing except which direction the stars rushing past
+ the windows are moving.
+ - bugfix: Fixed dragging the spawn protection traps on CTF.
+2017-01-24:
+ CoreOverload:
+ - rscadd: You can now buckle handcuffed people to singularity/tesla generators,
+ RTGs, tesla coils and grounding rods.
+ Cyberboss:
+ - tweak: Firealarms now go off if it's too cold
+ - bugfix: World start will no longer lag
+ - bugfix: Dismembered heads will now use a mob's real name
+ Joan:
+ - rscadd: Clockwork Slabs can now focus on a specific component type to produce.
+ - experiment: 'Redesigned: Volt Void now allows you to fire up to 5 energy rays
+ at targets in view; each ray does 25 laser damage to non-Servants in the target
+ tile. The ray will consume power to do up to double damage, however.'
+ - wip: Failing to fire a Volt Void ray will damage you, though you won't die from
+ it unless you have access to a lot of power and are either low on health or
+ fail all five rays in a row.
+ - rscadd: The Ark of the Clockwork Justicar will gradually convert objects near
+ it with increasing range as it gets closer to activating.
+ - tweak: 'Brass windows have 20% less health, and are accordingly easier to destroy.
+ Fun fact: Lasers do more damage to brass windows!'
+ - tweak: 'Wall gears have 33% less health and are slightly faster to deconstruct.
+ Fun fact: You can climb over wall gears!'
+ - tweak: Marauders will heal more of their host's damage, on average, per life tick.
+ - rscadd: Clockwork Proselytizers can now repair Servant silicons and clockwork
+ mobs. This works in the same manner as repairing clockwork structures.
+ - tweak: Cogscarabs work slightly differently, and act as though the proselytizer
+ is a screwdriver.
+ Kor:
+ - rscadd: Megafauna will not heal while on the station. Do not be afraid to throw
+ your life away to get in a few toolbox hits.
+ Shadowlight213:
+ - rscdel: PAIs can no longer ventcrawl
+ Tofa01:
+ - rscadd: '[Delta Station] Adds a tracking beacon to AI MiniSat Exterior Hallway'
+ coiax:
+ - rscdel: Statues are now just incredibly tough mobs, rather than GODMODE. As a
+ side effect, they are no longer immune to bolts of change.
+ - bugfix: Fixed some issues with X (as Y) names on polymorphed mobs.
+2017-01-26:
+ Robustin:
+ - tweak: Unholy Water can now be thrown or vaporized to deliver a powerful poison
+ unto the cult's enemies - or healing and stun resistance to its acolytes.
+ Tofa01:
+ - tweak: Moved Meta station AI MiniSat tracking beacon to AI MiniSat entrance. Should
+ prevent being regular teleported into space.
+ - bugfix: Added missing row of pixels to Flypeople torso so head connects to body
+ properly.
+ Tofa01 & XDTM:
+ - rscadd: Adds radio alert messages going to medical channel to the cryo tube when
+ a patient is fully restored.
+ - soundadd: Adds new alert sound for cryo tube. (cryo_warning.ogg)
+ XDTM:
+ - rscadd: Voice of God has received a few more commands.
+ - rscadd: You can now use job abbreviations (ex. hos > head of security) and first
+ names (ex. Duke > Duke Hayka) to focus targets.
+ coiax:
+ - rscadd: The nuclear operative cybernetic implant bundle now actually contains
+ implants.
+ - rscdel: The cybernetic implant bundle is no longer eligible for discounts (bundles
+ are, in general, not eligible).
+ - rscadd: Telecrystals can be purchased in stacks of five and twenty.
+ - rscadd: The entire stack of telecrystals are added to the uplink when charging
+ them.
+2017-01-27:
+ Joan:
+ - tweak: Buckshot now does a maximum of 75 damage, from 90.
+ - tweak: The unique cyborg scriptures(Linked Vanguard, Judicial Marker) take 3 seconds
+ to invoke, from 4.
+ - tweak: Invoking Inath-neq and Invoking Nzcrentr now both take 10 seconds to invoke,
+ from 15.
+ Lzimann:
+ - rscadd: Now you can choose what department you want to be as security! (This may
+ not be completly reliable).
+ RemieRichards:
+ - rscadd: 'Emagging a sleeper now randomises the buttons, the buttons remain the
+ same until randomised again so you can "learn" the new button config if you''re
+ a masochist, Inject omnizine but realise far too late that it''s all morphine,
+ woops! (Note: Epinephrine can always be injected, regardless of chem levels,
+ this means if something !!FUN!! ends up on the Epinephrine button, it will always
+ be injectable!)'
+ Sweaterkittens:
+ - tweak: There are now updated names and descriptions for the items that your plasma-based
+ crewmembers start with and use frequently.
+2017-01-28:
+ Joan:
+ - tweak: Brass windows no longer start off anchored, but are constructed instantly.
+ - bugfix: You can no longer stack multiple windows of the same direction on a tile.
+ - rscadd: Vitality Matrices now share vitality globally, allowing you to use vitality
+ gained from any Matrix.
+ - tweak: Geis now mutes human targets if there are less than 6 Servants.
+ - tweak: Geis no longer produces resist messages below 6 Servants; this isn't a
+ change, as Geis cannot be successfully resisted below 6 Servants.
+ - tweak: Applying Geis to an already bound target will also mute them, in addition
+ to preventing resistance.
+ RemieRichards:
+ - rscadd: A New weapon for clown mechs, the Oingo Boingo Punch-face! it's a giant
+ boxing glove that extends out on a spring and sends atoms flying (including
+ anchored ones and things that make no sense to move because -clowns-)
+ Tofa01:
+ - bugfix: Mop will no longer try and clean tile under janitorial cart when wetting
+ the mop.
+ - rscadd: Adds modular computers to Metastation.
+ - bugfix: Fixes no air in Deltastation maintenance kitchen.
+ - rscadd: Adds a modular computer to the CE office on Pubbystation.
+ Xhuis:
+ - rscadd: Energy-based weapons can now light cigarettes.
+ coiax:
+ - rscadd: Communication consoles now share cooldowns on announcements.
+ - rscadd: Cyborgs can now alter the messages of the announcement system.
+ - bugfix: Deadchat is now notified of any deaths on the shuttle or on Centcom. The
+ CTF arena does not generate death messages, due to the high levels of death.
+ - rscadd: The Human-level Intelligence event now occurs slightly more often, and
+ produces a classified message.
+ kevinz000:
+ - rscadd: Emitters and Tesla Coils now have activation wires!
+ - rscadd: Emitters will shoot out an emitter bolt when pulsed, regardless of it
+ is on.
+ - rscadd: Tesla coils will shoot lightning when pulsed, if it is connected to a
+ cable that has power.
+ - bugfix: Bolas no longer restrain your hands for 10 seconds when you try to remove
+ them and fail.
+2017-01-29:
+ BASILMAN YOUR MAIN MAN:
+ - rscadd: Added a new sailor outfit to the autodrobe, now you can play sailors vs
+ pirates.
+ BlakHoleSun:
+ - rscadd: Added new reaction with the rainbow slime extract. Injecting a rainbow
+ slime extract with 5u of holy water and 5u of uranium gives you a flight potion.
+ Cobby:
+ - tweak: AI's can now be your banker by manipulating the stock machine.
+ Cyberboss:
+ - experiment: Nuclear bombs now detonate
+ - rscadd: You can now link additional cloning pods in the same powered area to a
+ single computer using a multitool.
+ Fox McCloud:
+ - bugfix: Fixes Kudzu seed gene stats not being properly altered by certain reagents
+ - bugfix: Fixes Kudzu vine dropped seeds not properly having gene stats set
+ - bugfix: Fixes glowshrooms having an invalidly high lifespan
+ - bugfix: Fixes explosive vines not properly chaining
+ Joan:
+ - rscadd: Clockwork Marauders now grant their host action buttons to force them
+ to emerge/recall and communicate with them, instead of requiring the host to
+ type their name or use a verb, respectively.
+ - rscdel: Clockwork Marauders no longer see their block and counter chances; this
+ was mostly useless info, as knowing the chance didn't matter as to what you'd
+ do.
+ - rscdel: Clockwork Marauders can no longer change their name.
+ - tweak: Clockwork Marauders have a slightly lower chance to block, and take slightly
+ more damage when far from their host.
+ - bugfix: Fixes a bug where Clockwork Marauders never suffered reduced damage and
+ speed at low health and never got the damage bonus at high health.
+ Kor:
+ - rscdel: Stimpacks are no longer available in the mining vendor.
+ Lzimann:
+ - rscadd: You can now change your view range as ghost. To do so, either use the
+ View Range verb in the ghost tab, the mouse scroll up/down or control + "+"/"-".
+ The verb also works as a reset if you changed your view.
+ Sogui:
+ - tweak: There are now 2 less traitors in the double agent mode
+ - tweak: All security (and captain) suit sensors are set to max by default
+ Supermichael777:
+ - tweak: The wooden chair with wings is now craft-able. -1 non reconstruct-able
+ map object
+ - rscadd: Added the Tiki mask, you can make it in wood's crafting menu.
+ - imageadd: Ported Tiki mask's sprites from Hippie station. It is under the same
+ Creative Commons 3.0 BY-SA as the rest of our sprites. They are from Nienhaus.
+ Tofa01:
+ - rscadd: Adds a camera network onto the Omega Station.
+ - imageadd: Added new sprite for the AI Slipper.
+ XDTM:
+ - tweak: Implanting chainsaws is now a prosthetic replacement instead of its own
+ surgery.
+ - rscadd: You can now implant synthetic armblades (from an emagged limb grower)
+ into people's arms to use it at its full potential.
+ - rscdel: Chainsaw removal surgery has been removed as well; you'll have to sever
+ the limb and get a new one.
+ Xhuis:
+ - rscadd: AI control beacons are a new item created from the exosuit fabricator.
+ When installed into a mech, it allows AIs to jump to and from that mech freely.
+ Note that malfunctioning AIs with the domination power unlocked will instead
+ be forced to dominate the mech.
+ - tweak: Some timed actions are no longer interrupted while drifting through space.
+ - rscadd: Riot foam darts can now be constructed from a hacked autolathe.
+ bgobandit:
+ - rscadd: The library computer can now upload scanned books to the newscaster. Remember,
+ seditious or unsavory news channels should receive a Nanotrasen D-Notice!
+ - rscadd: The library computer can now print corporate posters as well as Bibles.
+ - rscdel: Cargo no longer offers a corporate poster crate. Nobody ever bought it
+ anyway.
+ coiax:
+ - rscadd: The Librarian now starts with a chisel/soapstone/chalk/magic marker capable
+ of engraving messages for subsequent shifts, and permanently erasing messages
+ that the Librarian is unhappy with. It has limited uses, so order more at Cargo.
+ - bugfix: The contraband cream pie crate is now locked, and requires Theatre access.
+ - rscadd: Any silicons created by bolts of change have no laws.
+ - rscadd: Cyborgs are immune to polymorph while changing module.
+ - rscadd: Adds Romerol to the traitor uplink for 25 TC. (This means you need a discount,
+ or to work with another traitor to afford it). Romerol is a highly experimental
+ bioterror agent which silently create dormant nodules to be etched into the
+ grey matter of the brain. On death, these nodules take control of the dead body,
+ causing limited revivification, along with slurred speech, aggression, and the
+ ability to infect others with this agent.
+ - rscdel: Zombie infections are no longer visible on MediHUD.
+ - rscdel: Zombies no longer tear open airlocks, since they can just smash them open
+ just as fast.
+ - rscdel: Zombies are no longer TOXINLOVING.
+ - rscadd: EMPs may cause random wires to be pulsed. Please ensure that sensitive
+ equipment avoids exposure to heavy electromagnetic pulses.
+ jughu:
+ - tweak: Changes some cargo export prices
+ ma44:
+ - tweak: Nanotrasen has improved training of the crew, teaching crewmembers like
+ you to unscrew the top off the bottle and pour it into containers like beakers.
+ vcordie:
+ - bugfix: Loads the HADES carbine with the correct bullet.
+ - tweak: The SRM-8 Rocket Pods have been loaded with new explosives designed to
+ do maximum damage to terrain. These explosives are less effective on people,
+ however.
+2017-01-30:
+ BASILMAN YOUR MAIN MAN:
+ - rscadd: Added BM SPEEDWAGON THE BEST (AND ONLY) SPACE CAR ON THE MARKET.
+ CoreOverload:
+ - tweak: Clicking item slot now clicks the item in it.
+ Cyberboss:
+ - bugfix: Judicial visors now recharge properly
+ - bugfix: Gluon grenades now properly freeze turfs
+ - bugfix: Revs are now properly jobbanned
+ Fox McCloud:
+ - tweak: Plant analyzers will now display plant traits
+ - tweak: Plant analyzers will now display all of a grown's genetic reagents
+ Joan:
+ - rscdel: Cutting off legs no longer stuns.
+ - tweak: Volt Void now only allows you to fire 4 volt rays instead of 5, and the
+ damage of each ray has been reduced to 20, from 25.
+ - rscdel: Cyborgs using Volt Void now take damage if they fail to fire.
+ - experiment: 'Clockwork scripture can no longer require more components than it
+ consumes: This means that most scriptures ""cost"" one less component.'
+ MrStonedOne:
+ - rscadd: Because of abuse, actions on interfaces are throttled. Some bursting is
+ allowed. You will get a message if an action is ignored. Server operators can
+ configure this in config.dm
+ Tofa01:
+ - bugfix: '[Delta] Fixes area names for Deltastation'
+ - bugfix: '[Delta] Fixes custodial closet being cold all the time on Deltastation'
+ bgobandit:
+ - rscadd: Nanotrasen supports the arts. We now offer picture frames!
+ coiax:
+ - rscdel: The Syndicate "Uplink Implant" now has no TC precharged. You can charge
+ it with the use of physical telecrystals. The price has been reduced from 14TC
+ to 4TC accordingly. (The uplink implant in the implant bundle still has 10TC).
+ - rscadd: Syndicate bombs and nuclear devices now have a minimum timer of 90 seconds.
+ - rscadd: Camoflaged HUDs given to head revolutionaries now function the same as
+ chameleon glasses in the chameleon kit bundle, giving them an action button
+ and far more disguise options.
+ - rscadd: Syndicate thermals are also now more like chameleon glasses as well.
+ - rscadd: You can regain a use of a soapstone by erasing one of your own messages.
+ (This means you can remove a message if you don't like the colour and want to
+ try rephrasing it to get a better colour). Erasing someone else's message still
+ uses a charge.
+ - bugfix: Fixes bugs where you'd spend a charge without engraving anything.
+ - bugfix: Fixes a bug where the wrong ckey was entered in the engraving, you won't
+ be able to take advantage of the "recharging" on messages made before this change.
+2017-01-31:
+ Cyberboss:
+ - tweak: The cyborg hugging module can no longer self target
+ Joan:
+ - tweak: Changed what scriptures and tools Servant cyborgs get; a full list can
+ be found on the clockwork cult wiki page.
+ RemieRichards:
+ - rscadd: Added the ability to choose where your uplink spawns, choose between the
+ classic PDA, the "woops you don't actually have a PDA" fallback Radio uplink
+ and the brand new Pen uplink!
diff --git a/html/changelogs/archive/2017-02.yml b/html/changelogs/archive/2017-02.yml
new file mode 100644
index 0000000000..0834dac09b
--- /dev/null
+++ b/html/changelogs/archive/2017-02.yml
@@ -0,0 +1,668 @@
+2017-02-01:
+ Cyberboss:
+ - bugfix: AI integrity restorer computer now respects power usage
+ - bugfix: Progress bars will now stack vertically instead of on top of each other
+ - bugfix: Progress bars will no longer be affected by lighting
+ Xhuis:
+ - rscadd: You can now fold up bluespace body bags with creatures or objects inside.
+ You can't fold them up if too many things are inside, but anything you fold
+ up in can be carried around in the object and redeployed at any time.
+2017-02-03:
+ Cobby:
+ - rscadd: Ghosts will now be informed when an event has been triggered by our lovely
+ RNG system.
+ Cyberboss:
+ - tweak: Firedoors will eventually reseal themselves if left open during a fire
+ alarm
+ Joan:
+ - tweak: Clockwork Marauders have 25% less health, 300 health from 400.
+ - wip: The Vitality Matrix scripture is now a Script, from an Application. Its cost
+ has been accordingly adjusted.
+ - tweak: Vitality Matrices will be consumed upon successfully reviving a Servant.
+ They also drain and heal conscious targets slightly slower.
+ - wip: The Fellowship Armory scripture is now an Application, from a Script. Its
+ cost has been accordingly adjusted.
+ - tweak: Fellowship Armory now affects all Servants in view of the invoker, and
+ will replace weaker gear and armor with its Ratvarian armor. Also, clockwork
+ treads now allow you to move in no gravity like magboots.
+ - rscdel: Mania Motors no longer instantly convert people next to them.
+ - rscadd: Instead, you have to remain next to them for several seconds, after which
+ you will be knocked out, then converted if possible.
+ - tweak: Mania Motors now cost slightly less power to run.
+ Jordie0608:
+ - tweak: Admin notes, memos and watchlist entries now use a generalized system,
+ they can all be accessed from the former notes browser.
+ - rscadd: Added to this are messages, which allow admins to leave a message for
+ players that is delivered to them when they next connect.
+ Lexorion:
+ - tweak: Laser projectiles have a new sprite! They also have a new effect when they
+ hit a wall.
+ Sweaterkittens and Joan:
+ - rscadd: Ocular Wardens will now provide auditory feedback when they acquire targets
+ and deal damage.
+ - soundadd: adds ocularwarden-target.ogg, ocularwarden-dot1.ogg and ocularwarden-dot2.ogg
+ to the game sound files.
+ Tofa01:
+ - bugfix: '[Delta] Allows Station Engineers to access Delta Atmospherics Solar Panel
+ Array Room.'
+ - rscadd: '[Omega] Adds a Massdriver room to chapel on Omegastation.'
+ bgobandit:
+ - rscadd: All art storage facilities offer construction paper now!
+ coiax:
+ - rscadd: A victim of a transformation disease will retain their name.
+ - tweak: The slime transformation disease can turn you into any colour or age of
+ slime.
+ - rscadd: The Abductor event can now happen at any time, rather than thirty (30)
+ minute plus rounds.
+2017-02-04:
+ Cyberboss:
+ - bugfix: Modular computers now explode properly
+ - bugfix: Emagged holograms can no longer be exported for credits
+ - bugfix: Abstract entities no longer feed the singularity
+ - tweak: Machine frames will no longer be anchored when created
+ Joan:
+ - rscadd: Vanguard now shows you how long you have until it deactivates.
+ Kor:
+ - rscadd: 'By combing two flashlights and cable coil, you can create a new eye implant:
+ flashlight eyes. People with flashlights for eyes can not see, but they will
+ provide an enormous amount of light to their friends.'
+ - rscadd: Valentines day will now randomly pair up crew members on dates. The paired
+ crewmembers will get an objective to protect each other at all costs.
+ Steelpoint:
+ - rscadd: Addition of two security DragNETs to Deltastations, Omegastations and
+ Metastations armouries.
+ Tofa01:
+ - rscadd: '[Delta] Removes space money from gold crate replaces with 3 Gold Bars
+ Gold Wrestling belt is still there.'
+ - rscadd: '[Delta] Removes space money from silver crate replaces with 5 Silver
+ Coins.'
+ - bugfix: Fixes incorrect placement of RD modular computer on Metastation.
+ WhiteHusky:
+ - rscadd: Fields are supported when printing with a modular computer
+ - rscadd: PRINTER_FONT is now a variable
+ - rscdel: Removed the [logo] tag on Modular computers as the logo no longer exists
+ - tweak: New lines on paper are parsed properly
+ - tweak: '[tab] is now four non-breaking spaces on papers'
+ - tweak: Papers have an additional proc, reload_fields, to allow fields made programmatically
+ to be used
+ - tweak: 'stripped_input stripped_multiline_input has a new argument: no_trim'
+ - bugfix: Modular computers no longer spew HTML when looking at a file, rather it
+ is unescaped like it should
+ - bugfix: Modular computers no longer show escaped HTML entities when editing
+ - bugfix: Modular computers can now propperly read and write from external media
+ - bugfix: Modular computers' file browser lists files correctly
+ - spellcheck: NTOS File Manager had a spelling mistake; Manage instead of Manager
+ coiax:
+ - bugfix: Engraved messages can no longer be moved by a gravitational singularity.
+ - tweak: The deadchat notification of randomly triggered events now uses the deadsay
+ span.
+ - rscdel: The wizard spell "Rod Form" does not produce a message in deadchat everytime
+ it is used.
+2017-02-05:
+ Cyberboss:
+ - bugfix: Shuttle docking/round end shouldn't lag as much
+ - rscadd: There's a new round end sound!
+ Hyena:
+ - bugfix: The bible now contains 1 whiskey
+ Joan:
+ - rscadd: Ratvar-converted AIs become brass-colored, speak in Ratvarian, and cannot
+ be carded.
+ Kor:
+ - rscadd: Eyes are now organs. You can remove or implant them into peoples heads
+ with organ manipulation surgery. A mob without eyes will obviously have trouble
+ seeing.
+ - rscadd: All special eye powers are now tied to their respective organs. For example,
+ this means you can harvest an alien or shadow persons eyes, have them implanted,
+ and gain toggle-able night vision.
+ - rscadd: All cybernetic eye implants are now cybernetic eyes, meaning you must
+ replace the patients organic eyes. HUD implants are still just regular implants.
+ Lzimann:
+ - rscadd: Tesla zaps can now generate an energy ball if they zap a tesla generator!
+ Sweaterkittens:
+ - rscadd: The station's Plasmamen have been issued a new production of envirosuits.
+ The most notable change aside from small aesthetic differences is the addition
+ of an integrated helmet light.
+ - tweak: Tweaked a few of the Plasma Envirosuit sprites to be more fitting thematically.
+ Swindly:
+ - bugfix: Saline-glucose solution can no longer decrease blood volume
+ - rscadd: Cyborg hyposprays can now dispense saline-glucose solution
+ - rscadd: Saline-glucose solution now increases blood volume when it heals
+ coiax:
+ - bugfix: The mulligan reagent can now be created with 1u stable mutation toxin
+ + 1u unstable mutagen.
+ - rscdel: Tesla balls cannot dust people near grounding rods.
+ - rscadd: Soapstones/chisel/magic markers/chalk can remove messages for free. Removing
+ one of your own messages still grants a use.
+ - rscadd: The Janitor starts with a dull soapstone for removing unwanted messages.
+ xmikey555:
+ - tweak: The tesla engine no longer destroys energy ball generators.
+2017-02-06:
+ Xhuis:
+ - rscadd: Traitor janitors can now order EZ-clean grenades for 6 telecrystals per
+ bundle. They function like normal cleaning grenades with an added "oh god my
+ face is melting" effect, and can also be found in surplus crates.
+2017-02-07:
+ Cyberboss:
+ - bugfix: Wire, atmos, and disposal networks no longer work across hyperspace when
+ on the border of a shuttle
+ - bugfix: Implants that work on death will now work for simple_animals
+ - bugfix: The target moving while being implanted will no longer continue the implant
+ - bugfix: Implanters now show progress bars as they were intended to
+ - bugfix: Pipe painters are no longer aggressive
+ - bugfix: Carding the AI will now stop a doomsday device
+ - rscadd: The job subsystem now loads instantly. No more waiting to set your occupation
+ prefs!
+ - bugfix: The rare case of duping your inventory at roundstart has been fixed
+ - bugfix: Self deleting stackable items are fixed
+ Dannno:
+ - tweak: We've switched to a new brand of colored jumpsuit.
+ JJRcop:
+ - tweak: Adds 4% chance when assigning a valentines day date to also assign someone
+ else to the same date, but your date will still have you as their only date.
+ Poojawa:
+ - bugfix: '[Delta] Active turfs down from 300+'
+ - bugfix: '[Delta] Janitor closet isn''t 2.7K anymore'
+ - bugfix: '[Delta] Various pipe fixes'
+ RemieRichards:
+ - rscadd: Added a new checmial, Skewium, it's produced by mixing rotatium, plasma
+ and sulphuric acid in the ratio 2:2:1, which results in 5 Skewium.
+ Swindly:
+ - bugfix: Robotic eyes can no longer be eaten
+ Tofa01:
+ - bugfix: Fixes grammar issue when changing someones appearance via plastic surgery.
+ - tweak: '[OmegaStation] Allows Chaplain job to be selectable.'
+ - bugfix: '[Omega] Fixes Overpressurization In Mass Driver Room'
+ Xhuis:
+ - rscadd: Traitor clowns can now buy a reverse revolver. I'll leave it up to you
+ to guess what it does. Honk.
+ iamthedigitalme:
+ - imageadd: Legion has a new, animated sprite.
+ kevinz000:
+ - rscadd: 'ADMINS: SDQL2 has been given some new features!'
+ - bugfix: SDQL2 now gives you an exception on runtime instead of flooding server
+ runtime logs.
+ - rscadd: SDQL2 now supports usr, which makes that variable reference to whatever
+ mob you are in, src, which targets the object it is being called on itself,
+ and marked, which targets the datum marked by the admin calling it. Also, it
+ supports hex references (the hex number at the top of a VV panel) in {}s, so
+ you can target nearly anything! Also, global procs are supported by global.[procname](args),
+ for CALL queries.
+ - bugfix: SDQL2 can no longer edit /datum/admins or /datum/admin_rank, and is protected
+ from changing x/y/z of a turf and anything that would cause broken movement
+ for movable atoms.
+ - rscadd: SDQL2 can now get list input with [arg1, arg2]!
+ - experiment: Do '""' to put strings inside of SDQL2 or it won't work.
+2017-02-09:
+ Cyberboss:
+ - bugfix: Certain firedoors that should have closed during an alarm now actually
+ close
+ - soundadd: You can now knock on firedoors
+ - bugfix: Supermatter in a closet/crate will now properly fee the singulo
+ - bugfix: Paper planes can be unfolded again
+ - bugfix: Paper planes can be stamped properly
+ Joan:
+ - tweak: Impaling someone with a sharp item by pulling them with a changeling Tentacle
+ now does significantly less damage and stuns for less time.
+ Jordie0608:
+ - rscadd: Admins can now filter watchlist entries to only users who are connected.
+ - tweak: Messages no longer delete themselves when sent.
+ Kor:
+ - rscadd: The limb grower has been replaced with a box of surplus limbs. Visit robotics
+ or harvest limbs from another person if you want quality.
+ Reeeeimstupid:
+ - rscadd: Silly Abductee objectives. Try not to go crazy trading life stories with
+ Lord Singulo.
+ Tofa01:
+ - tweak: Removes virology access to jobs including Medical Doctor, Geneticist and
+ Chemist.
+ - tweak: '[Delta] Changes NW supermatter filter to filter O2 instead of N2'
+ - rscadd: '[Delta] Adds wardrobes to Dorms & Arrivals Shuttle'
+ - rscadd: '[Delta] Adds access buttons to virology doors for extra security'
+ - rscadd: '[Delta] Adds bolt door button to all dorms'
+ - rscadd: '[Delta] Adds three pairs of optical meson scanners to supermatter room'
+ - rscadd: '[Delta] Adds a disk fridge to botany'
+ - rscadd: '[Delta] Adds a cake hat to the bar'
+ - bugfix: '[Delta] Fixes misplaced station intercom in Supermatter SMES room'
+ XDTM:
+ - rscadd: A Law Removal module can be build in RnD. It can remove a specified core
+ or freeform law.
+ - tweak: 'When stating laws, silicons won''t skip a number when hiding laws. (example:
+ 1. Law 1; 2. Law 2; 3. Law 4 if you choose not to state Law 3)'
+ Xhuis:
+ - rscadd: Artistic toolboxes now spawn in maintenance and possess various supplies
+ for wire art and crayon art.
+ - rscadd: Traitors can now obtain His Grace. Chaplains can buy it for 20 TC, or
+ it can be found in a surplus crate.
+ - rscadd: Soapstone messages can now be rated! Attack the message with your hand
+ to rate it positive or negative. Anyone can see the rating, and you cannot rate
+ a message more than once, even across rounds.
+ - rscdel: Soapstones no longer have a write time.
+ - tweak: Soapstones now have a fixed vocabulary to write messages with.
+ chanoc1:
+ - tweak: The salt and pepper shakers have new sprites.
+ coiax:
+ - rscadd: Added metal rods and floor tiles to Standard cyborgs.
+ - rscadd: Added a remote signaling device to Engineering cyborg.
+ - rscadd: Adds a 'Guardian of Balance' lawset and AI module, currently admin spawn
+ only.
+ uraniummeltdown:
+ - tweak: Kinetic Accelerator Cosmetic and Tracer Modkits now don't use mod capacity.
+ Cosmetic kits change the name of the KA.
+2017-02-10:
+ Ausops:
+ - rscadd: Air tanks and plasma tanks have been resprited.
+ ChemicalRascal:
+ - tweak: Pen is able to wind up ruined tapes.
+ CoreOverload:
+ - rscadd: You can now emag the escape pods to launch them under any alert code.
+ - tweak: Shuttle name is no longer displayed on "Status" panel. Instead, you can
+ now examine a status screen to see it.
+ Cyberboss:
+ - bugfix: Simple animals now deathgasp properly again
+ - bugfix: Testmerged PRs will no longer duplicate in the list
+ - bugfix: Pods and shuttles now have air again
+ Joan:
+ - experiment: Clockwork Cults must always construct and activate the Ark.
+ - imageadd: Updates air tank inhands to match Ausops' new sprites.
+ Mekhi Anderson:
+ - rscadd: All mobs can now *spin!
+ - rscadd: Cyborgs now have handholds. This means you can ride around on them, but
+ if you get stunned or hit, you fall off! The cyborg can also throw you off by
+ spinning.
+ Tofa01:
+ - soundadd: Changes fire alarm to make new sound FireAlarm.ogg
+ Xhuis:
+ - rscdel: The Syndicate will no longer prank their operatives by including reverse
+ revolvers in surplus crates.
+ coiax:
+ - rscadd: A reverse revolver now comes in a box of hugs.
+ - rscadd: 'Added a new admin only event: Station-wide Human-level Intelligence.
+ Like the random animal intelligence event, but affecting as many animals as
+ there are ghosties.'
+ - rscadd: The Luxury Shuttle grabs cash in your wallet and backpack, and shares
+ approval between the entrance gates.
+ - rscadd: The NES Port shuttle now costs 500 credits.
+2017-02-11:
+ Dannno:
+ - tweak: hahaha I switched your toolboxes you MORONS
+ Kor:
+ - rscadd: Killing bubblegum now unlocks a new shuttle for purchase.
+ Lzimann:
+ - tweak: Hardsuit built-in jetpacks no longer have a speed boost.
+ Pyko:
+ - bugfix: Fixed legit posters and map editing official/serial number for poster
+ decals.
+ Tofa01:
+ - bugfix: '[Delta] Fixes doors walls and windows being incorrectly placed due to
+ mapmerge issues.'
+ - bugfix: '[Box] Fixes access levels for HOP shutters.'
+2017-02-12:
+ AnturK:
+ - rscadd: Added Poison Pen to uplink.
+ Drunk Musicians:
+ - rscadd: Drunk music
+ Gun Hog:
+ - rscadd: Nanotrasen Engineering has devised a construction console to assist with
+ building the Auxiliary Mining Base, usually located near a station's Arrivals
+ hallway. A breakthrough in bluespace technology, this console employs an advanced
+ internal Rapid Construction Device linked to a camera-assisted holocrane for
+ rapid, remote construction!
+ Lzimann:
+ - bugfix: MMIs/posibrains works with mechas again
+ RandomMarine:
+ - rscadd: The Russians have expanded to the shuttle business. A new escape shuttle
+ is available for purchase.
+ Sweaterkittens:
+ - tweak: Plasmamen burn damage multiplier reduced to 1.5x from 2x
+ coiax:
+ - rscdel: Removes the STV5 shuttle from purchase.
+ - rscadd: Swarmers no longer consume the deep fryer, since they have too much respect
+ for the potential fried foods it can produce.
+ - rscadd: The clown's survival/internals box is now a box of hugs. Dawww.
+2017-02-13:
+ ChemicalRascal:
+ - tweak: Delta station brig cell chairs have been replaced with beds. One bed per
+ cell, no funny business.
+ Cyberboss:
+ - bugfix: Simple animals that are deleted when killed will now deathrattle
+ - bugfix: Fixed Alt-click stack duplication
+ Joan:
+ - imageadd: Updated the back and belt sprites for airtanks to match the new sprites.
+ Kor:
+ - rscadd: Mobile pAIs are now slower than humans.
+ Swindly:
+ - rscadd: Added Nuka Cola as a premium item in Robust Softdrinks
+ Tofa01:
+ - bugfix: '[Delta] Fixes double windoor on chemistry windows.'
+ - tweak: Lowered volume of fire alarm sound also makes it more quiet.
+ coiax:
+ - rscadd: Added an admin only tool, the life candle. Touch the candle, and when
+ you die, you'll respawn shortly afterwards. Touch it again to stop. Used for
+ testing, thunderdome brawls and good old fashioned memery.
+ - bugfix: Fried foods no longer shrink to miniature size.
+2017-02-14:
+ Cyberboss:
+ - bugfix: Fixed unequipping items while stunned
+ - bugfix: Fixed various things deleting when unequipped
+ - bugfix: Fixed tablet ID slots deleting cards
+ - bugfix: Fixed water mister nozzle getting stuck in hands
+ - tweak: Title music now starts immediately upon login
+ - tweak: You can no longer sharpen energy weapons
+ Joan:
+ - tweak: Mania Motors are overall less effective and only affect people who can
+ see the motor.
+ - tweak: Mania Motors have slightly more health; 100, from 80.
+ MrStonedOne:
+ - tweak: Station time is now always visible in the status tab.
+ - tweak: Both server time and station time now displays seconds so you can actively
+ see how game time (ByondTime[tm]) is progressing along side real time.
+ - rscadd: Added a time dilation tracker, this allows you to better understand how
+ time will progress in game. It shows the time dilation percent for the last
+ minute as well as some rolling averages.
+ RandomMarine:
+ - tweak: Pre-made charcoal pills now contain 10 units instead of 50. The amount
+ of pills inside of toxin first aid kits and the smartfridge have been increased
+ to compensate. Keep in mind that each ten unit pill recovers 100 points of toxin
+ damage and purges 50 units of other reagents.
+ Steelpoint:
+ - tweak: All Drones now have a walking animation.
+ Tofa01:
+ - bugfix: '[Delta] Fixes space cleaner being empty in brig medbay'
+ - bugfix: '[Delta] Fixes some areas that are not radiation proof'
+ - bugfix: '[Meta] Fixes Atmospherics Freezer Spawning As A Heater'
+ uraniummeltdown:
+ - rscadd: Window Flashing is now a preference
+ - rscadd: Your game window will flash when alerted as a ghost. This includes being
+ revived by defibs/cloning and events such as borers, swarmers, revenant, etc.
+2017-02-16:
+ Cyberboss:
+ - rscadd: Test merged PRs are now more detailed
+ Steelpoint:
+ - rscadd: The Head of Security's Hardsuit is now equipped with a inbuilt Jetpack.
+ coiax:
+ - rscadd: The Hyperfractal Gigashuttle is now purchasable for 100,000 credits. Help
+ Centcom by testing this very safe and efficient shuttle design. (Terms and conditions
+ apply.)
+ - rscadd: The changeling power "Anatomic Panacea" now causes the changeling to vomit
+ out zombie infections, along with headslugs and xeno infections, as before.
+ - bugfix: The main CTF laser gun disappears when dropped on the floor.
+2017-02-17:
+ Arianya:
+ - tweak: The Labour Camp rivet wall has been removed!
+ - spellcheck: Fixed some typos in Prison Ofitser's description.
+ Cobby:
+ - experiment: Flashes have been rebalanced to be more powerful
+ Cyberboss:
+ - bugfix: Rack construction progress bars will no longer be spammed
+ - tweak: The round start timer will count down during subsystem initialization
+ - tweak: Total subsystem initialization time will now be displayed
+ Joan:
+ - rscdel: His Grace no longer globally announces when He is awakened or falls to
+ sleep.
+ - rscdel: His Grace is not a toolbox, even if He looks like one.
+ - experiment: His Grace no longer requires organs to awaken.
+ - tweak: His Grace now gains 4 force for each victim consumed, always provides stun
+ immunity, and will, generally, take longer to consume His owner.
+ - experiment: His Grace must be destroyed to free the bodies within Him.
+ - experiment: Dropping His Grace while He is awake will cause you to suffer His
+ Wrath until you hold Him again.
+ - rscadd: His Grace becomes highly aggressive after consuming His owner, and will
+ hunt His own prey.
+ - experiment: The Ark of the Clockwork Justicar now only costs 3 of each component
+ to summon, but must consume an additional 7 of each component before it will
+ activate and start counting down.
+ - rscadd: The presence of the Ark will be immediately announced, though the location
+ will still only be announced after it has been active and counting down for
+ 2 minutes.
+ - tweak: The Ark also requires an additional invoker to invoke.
+ Lobachevskiy:
+ - bugfix: Fixed glass shards affecting buckled and flying mobs
+ MrStonedOne:
+ - experiment: The game will now force hardware rendering on for all clients.
+ Nienhaus:
+ - rscadd: Drying racks have new sprites.
+ Swindly:
+ - rscadd: Trays can now be used to insert food into food processors
+ Thunder12345:
+ - bugfix: It's ACTUALLY possible to pat people on the head now
+ WJohn:
+ - imageadd: Improved blueshift sprites, courtesy of Nienhaus.
+ XDTM:
+ - rscadd: Bluespace Crystals are now a material that can be inserted in Protolathes
+ and Circuit Printers. Some items now require Bluespace Mesh.
+ - rscadd: Bluespace Crystal can now be ground in a reagent grinder to gain bluespace
+ dust. It has no uses, but it teleports people if splashed on them, and if ingested
+ it will occasionally cause teleportation.
+ coiax:
+ - rscadd: Engraved messages now have a UI, which any player, living or dead can
+ access. See when the message was engraved, and upvote or downvote accordingly.
+ - rscadd: Admins have additional options with the UI, seeing the player ckey, original
+ character name, and the ability to outright delete messages at the press of
+ a button.
+ kevinz000:
+ - bugfix: Flightsuits actually fly over people
+ - bugfix: Flightsuits don't interrupt pulls when you pass through doors
+2017-02-18:
+ Cyberboss:
+ - imageadd: New round end animation. Inspired by @Iamgoofball
+ Gun Hog:
+ - rscadd: The Aux Base console now controls turrets made by the construction console.
+ - rscadd: The Aux Base may now be dropped at a random location if miners fail to
+ use the landing remote.
+ - rscadd: The mining shuttle may now dock at the Aux Base's spot once the base is
+ dropped.
+ - tweak: Removed access levels on the mining shuttle so it can be used at the public
+ dock.
+ - tweak: The Aux Base's turrets now fire through glass. Reminder that the turrets
+ need to be installed outside the base for full damage.
+ - rscadd: Added a base construction console to Delta Station.
+ Mysterious Basilman:
+ - rscadd: More powerful toolboxes are active in this world...
+ Scoop:
+ - tweak: Condimasters now correctly drop their items in front of their sprite.
+ Tofa01:
+ - bugfix: Re-Arranges And Extends Pubby Escape Hallway To Allow Larger Shuttle To
+ Dock
+ - bugfix: '[Meta] Fixes top left grounding rod from being destroyed by the Tesla
+ engine.'
+ TrustyGun:
+ - rscadd: Traitor mimes can now learn two new spells for 15 tc.
+ - rscadd: The first, Invisible Blockade, creates a 3x1 invisible wall.
+ - rscadd: The second, Finger Guns, allows them to shoot bullets out of their fingers.
+ kevinz000:
+ - rscadd: You can now ride piggyback on other human beings, as a human being! To
+ do so they must grab you aggressively and you must climb on without outside
+ assistance without being restrained or incapacitated in any manner. They must
+ also not be restrained or incapacitated in any manner.
+ - rscadd: If someone is riding on you and you want them to get off, disarm them
+ to instantly floor them for a few seconds! It's pretty rude, though.
+ rock:
+ - soundadd: you can now harmlessly slap somebody by aiming for the mouth on disarm
+ intent.
+ - soundadd: you can only slap somebody who is unarmed on help intent, restrained,
+ or ready to slap you.
+2017-02-19:
+ Basilman:
+ - rscadd: some toolboxes, very rarely, have more than one latch
+ Joan:
+ - rscadd: You can now put components, and deposit components from slabs, directly
+ into the Ark of the Clockwork Justicar provided it actually requires components.
+ - experiment: Taunting Tirade now leaves a confusing and weakening trail instead
+ of confusing and weakening everyone in view.
+ - tweak: Invoking Inath-neq/Nzcrentr is now 33% cheaper and has a 33% lower cooldown.
+ Tofa01:
+ - rscdel: '[Delta] Removes SSU From Mining Equipment Room'
+ - tweak: Changes centcomm ferry to require centcomm general access instead of admin
+ permission.
+ coiax:
+ - rscadd: Nuke ops syndicate cyborgs have been split into two seperate uplink items.
+ Medical cyborgs now cost 35 TC, assault cyborgs now cost 65 TC.
+ grimreaperx15:
+ - tweak: Blood Cult Pylons will now rapidly regenerate any nearby cultists blood,
+ in addition to the normal healing they do.
+ ma44:
+ - tweak: Intercepted messages from a lavaland syndicate base reveals they have additional
+ grenade and other miscellaneous equipment.
+ uraniummeltdown:
+ - rscadd: Shuttle engines have new sprites.
+2017-02-20:
+ Cyberboss:
+ - bugfix: The frequncy fire alarms play at is now consistent
+ MrStonedOne:
+ - tweak: bluespace ore cap changed from 100 ores to 500
+ Tofa01:
+ - tweak: '[Meta] Replaces orange jumpsuit in holding cell with prisoner jumpsuits'
+ XDTM:
+ - tweak: Repairing someone else's robotic limb is instant. Repairing your own robotic
+ limbs will still take time.
+ - tweak: Repairing limbs with cable or welding will now heal more.
+ Xhuis:
+ - bugfix: Medipens are no longer reusable.
+2017-02-21:
+ Cyberboss:
+ - bugfix: You can now unshunt as a malfunctioning AI again
+ Kor:
+ - bugfix: You will now retain your facing when getting pushed by another mob.
+ Tofa01:
+ - bugfix: '[Z2] Fixed Centcomm shutters to have proper access levels for inspectors
+ and other Admin given roles'
+ coiax:
+ - rscadd: Refactors heart attack code, a cardiac arrest will knock someone unconscious
+ and kill them very quickly.
+ - rscadd: Adds corazone, an anti-heart attack drug, made by mixing 2 parts Phenol,
+ 1 part Lithium. A person with corazone in their system will not suffer any negative
+ effects from missing a heart. Use it during surgery.
+ - rscadd: Abductor glands are now hearts, the abductor operation table now automatically
+ injects corazone to prevent deaths during surgery. The gland will restart if
+ it stops beating.
+ - bugfix: Cloning pods always know the name of the person they are cloning.
+ - rscadd: You can swipe a medical ID card to eject someone from the cloning pod
+ early. The cloning pod will announce this over the radio.
+ - rscdel: Fresh clones have no organs or limbs, they gain them during the cloning
+ process. Ejecting a clone too early is not recommended. Power loss will also
+ eject a clone as before.
+ - rscdel: An ejected clone will take damage from being at critical health very quickly
+ upon ejection, rather than before, where a clone could be stable in critical
+ for up to two minutes.
+ - rscadd: Occupants of cloning pods do not interact with the air outside the pod.
+ uraniummeltdown:
+ - bugfix: All shuttle engines should now be facing the right way
+2017-02-22:
+ AnonymousNow:
+ - rscadd: Added Medical HUD Sunglasses. Not currently available on-station, unless
+ you can convince Centcom to send you a pair.
+ Cyberboss:
+ - bugfix: Spawning to the station should now be a less hitchy experience
+ MrPerson:
+ - experiment: 'Ion storms have several new additions:'
+ - rscadd: 25% chance to flatly replace the AI's core lawset with something random
+ in the config. Suddenly the AI is Corporate, deal w/ it.
+ - rscadd: 10% chance to delete one of the AI's core or supplied laws. Hope you treated
+ the AI well without its precious law 1 to protect your sorry ass.
+ - rscadd: 10% chance that, instead of adding a random law, it will instead replace
+ one of the AI's existing core or supplied laws with the ion law. Otherwise,
+ it adds the generated law as normal. There's still a 100% chance of getting
+ a generated ion law.
+ - rscadd: 10% chance afterwards to shuffle all the AI's laws.
+ TalkingCactus:
+ - bugfix: New characters will now have their backpack preference correctly set to
+ "Department Backpack".
+ Tofa01:
+ - bugfix: '[Delta] Fixes missing R&D shutter near public autolathe'
+ Xhuis:
+ - tweak: Highlanders can no longer hide behind chairs and plants.
+ - tweak: Highlanders no longer bleed and are no longer slowed down by damage.
+2017-02-23:
+ Cyberboss:
+ - bugfix: Fixed a bug where the fire overlay wasn't getting removed from objects
+ - bugfix: The graphical delays with characters at roundstart are gone
+ - bugfix: The crew manifest is working again
+ - rscadd: Admins can now asay with ":p" and dsay with ":d"
+ Dannno:
+ - imageadd: Robust Softdrinks LLC. has sent out new vendies to the stendy.
+ Joan:
+ - rscdel: Off-station and carded AIs no longer prevent Judgement scripture from
+ unlocking.
+ Nienhaus:
+ - tweak: Updates ammo sprites to the new perspective.
+ Tofa01:
+ - bugfix: Disables sound/frequency variance on cryo tube alert sound
+ coiax:
+ - rscadd: Nanotrasen reminds its employees that they have ALWAYS been able to taste.
+ Anyone claiming that they've recently only just gained the ability to taste
+ are probably Syndicate agents.
+2017-02-24:
+ MrStonedOne:
+ - rscdel: Limit on Mining Satchel of Holding Removed
+ - tweak: Dumping/mass pickup/mass transfer of items is now lag checked
+ - rscadd: Dumping/mass pickup/mass transfer of items has a progress bar
+2017-02-25:
+ AnonymousNow:
+ - rscadd: Nerd Co. has sent pairs of thicker prescription glasses out to Nanotrasen
+ stations, for your local geek to wear.
+ Basilman:
+ - rscadd: New box sprites
+ Robustin:
+ - tweak: Hulks can no longer use pneumatic cannons or flamethrowers
+ Tofa01:
+ - rscadd: '[All Maps] The new and improved Centcom transportation ferry version
+ 2.0 is out now!'
+ coiax:
+ - rscadd: Cargo can now order plastic sheets to make plastic flaps. No doubt other
+ uses for plastic will be discovered in the future.
+ - rscadd: To deconstruct plastic flaps, unscrew from the floor, then cut apart with
+ wirecutters. Plastic flaps have examine tips like reinforced walls.
+ uraniummeltdown:
+ - rscadd: Science crates now have new sprites
+2017-02-26:
+ Ausops:
+ - imageadd: New sprites for water, fuel and hydroponics tanks.
+ Joan:
+ - experiment: 'Clockwork objects are overall easier to deconstruct:'
+ - wip: Clockwork Walls now take 33% less time to slice through, Brass Windows now
+ work like non-reinforced windows, and Pinion Airlocks now have less health and
+ only two steps to decon(wrench, then crowbar).
+ - rscadd: EMPing Pinion Airlocks and Brass Windoors now has a high chance to open
+ them and will not shock or bolt them.
+ - rscadd: Anima fragments will very gradually self-repair.
+ Tofa01:
+ - bugfix: '[Omega] Fixes ORM input and output directions'
+ - bugfix: Fixes space bar kitchen freezer access level
+ - bugfix: Fixes giving IDs proper access for players who spawn on a ruin via a player
+ sleeper/spawners
+ - bugfix: '[Delta] Fixes varedited tiles causing tiles to appear as if they have
+ no texture'
+ - bugfix: Fixes robotic limb repair grammar issue
+2017-02-27:
+ Kor, Jordie0608 and Tokiko1:
+ - rscadd: Singularity containment has been replaced on box, meta, and delta with
+ a supermatter room. The supermatter gives ample warning when melting down, so
+ hopefully we'll see fewer 15 minute rounds ended by a loose singularity.
+ - rscadd: Supermatter crystals now collapse into singularities when they fail, rather
+ than explode.
+ Tofa01:
+ - bugfix: Stops AI And Borgs From Interfacing With Ferry Console
+ TrustyGun:
+ - imageadd: Box sprites are improved.
+ WJohnston:
+ - imageadd: New and improved BRPED beam. The old one was hideous.
+ coiax:
+ - rscadd: Drone shells are now points of interest in the orbit list.
+ - rscadd: Derelict drone shells now spawn with appropriate headgear.
+2017-02-28:
+ Cyberboss:
+ - tweak: You will no longer be shown empty memories when the game starts
+ - bugfix: Built APCs now work again
+ - bugfix: Borg AI cameras now work again
+ Joan:
+ - rscadd: Anima Fragments now slam into non-Servants when bumping. This will ONLY
+ happen if the fragment is not slowed, and slamming into someone will slightly
+ damage the fragment and slow it severely.
+ Lzimann:
+ - tweak: Communications console can also check the ID the user is wearing.
+ Supermichael777:
+ - tweak: The button now has a five second delay when detonating bombs
+ XDTM:
+ - rscadd: You can now change the input/output directons for Ore Redemption Machines
+ by using a multitool on them with the panel open.
+ - rscadd: Diagnostic HUDs can now see if airlocks are shocked.
diff --git a/html/changelogs/archive/2017-03.yml b/html/changelogs/archive/2017-03.yml
new file mode 100644
index 0000000000..cacd069bab
--- /dev/null
+++ b/html/changelogs/archive/2017-03.yml
@@ -0,0 +1,563 @@
+2017-03-01:
+ Cyberboss:
+ - bugfix: Lobby music is no longer delayed
+2017-03-02:
+ Gun Hog:
+ - tweak: Advanced camera, Slime Management, and Base Construction consoles may now
+ be operated by drones and cyborgs.
+ Robustin:
+ - rscadd: The syndicate power beacon will now announce the distance and direction
+ of any engines every 10 seconds.
+ Steelpoint:
+ - rscadd: Robotics and Mech Bay have seen a mapping overhaul on Boxstation.
+ - rscadd: A cautery surgical tool has been added to the Robotics surgical area on
+ Boxstation.
+ XDTM:
+ - tweak: Hallucinations have been modified to increase the creepiness factor and
+ reduce the boring factor.
+ - rscadd: Added some new hallucinations.
+ - bugfix: Fixed a bug where the singularity hallucination was stunning for longer
+ than intended and leaving the fake HUD crit icon permanently.
+ coiax:
+ - rscadd: Ghosts are polled if they want to play an alien larva that is about to
+ chestburst. They are also told who is the (un)lucky victim.
+ - bugfix: Clones no longer gasp for air while in cloning pods.
+ - rscadd: Adds a new reagent, "Mime's Bane", that prevents all emoting while it
+ is in a victim's system. Currently admin only.
+ - experiment: Mappers now have an easier time adding posters, and specifying whether
+ they're random, random official, random contraband or a specific poster.
+ - rscdel: Posters no longer have serial numbers when rolled up; their names are
+ visible instead.
+ kevinz000:
+ - rscadd: You can now craft pressure plates.
+ - rscadd: Pressure plates are hidden under the floor like smuggler satchels are,
+ but you can attach a signaller to them to have it signal when a mob passes over
+ them!
+ - experiment: Bomb armor is now effective in lessening the chance of being knocked
+ out by bombs.
+2017-03-03:
+ Cyberboss:
+ - tweak: You can now repair shuttles in transit space
+ Incoming5643:
+ - imageadd: 'Server Owners: There is a new system for title screens accessible from
+ config/title_screen folder.'
+ - rscadd: This system allows for multiple rotating title screens as well as map
+ specific title screens.
+ - rscadd: It also allows for hosting title screens in formats other than DMI.
+ - rscadd: 'See the readme.txt in config/title_screen for full details. remove: The
+ previous method of title screen selection, the define TITLESCREEN, has been
+ depreciated by this change.'
+ Sligneris:
+ - imageadd: Updated sprites for the small xeno queen mode
+2017-03-04:
+ Cyberboss:
+ - bugfix: You can build lattice in space again
+ Hyena:
+ - tweak: Detective revolver/ammo now starts in their shoulder holster
+ Joan:
+ - tweak: Weaker cult talismans take less time to imbue.
+ PJB3005:
+ - rscadd: Rebased to /vg/station lighting code.
+ Supermichael777:
+ - rscadd: Grey security uniforms have unique names and descriptions
+ Tofa01:
+ - rscadd: Adds the new Centcomm Raven Battlecruiser to the purchasable shuttle list
+ buy now get one free!
+ coiax:
+ - rscadd: CTF players start with their helmet toggled off, better to see the whites
+ of their opponents eyes. Very briefly.
+ - bugfix: Existing CTF barricades are repaired between rounds, and deploy instantly
+ when replaced.
+ - tweak: Healing non-critical CTF damage is faster. Remember though, if you drop
+ into crit, YOU DIE.
+ - rscadd: Admin ghosts can just click directly on the CTF controller to enable them,
+ in addition to using the Secrets panel.
+ - bugfix: Cyborg radios can no longer have their inaccessible wires pulsed by EMPs.
+2017-03-06:
+ Cyberboss:
+ - experiment: Map rotation has been made smoother
+ Gun Hog:
+ - bugfix: The Aux Base Construction Console now directs to the correct Base Management
+ Console.
+ - bugfix: The missing Science Department access has been added to the Auxiliary
+ Base Management Console.
+ Hyena:
+ - rscdel: Space bar is out of bussiness
+ MrStonedOne:
+ - bugfix: patched a hacky workaround for /vg/lights memory leaking crashing the
+ server
+ Penguaro:
+ - bugfix: Changed DIR of Gas Filter for O2 in Waste Loop from 1 to 4
+ Sligneris:
+ - imageadd: '''xeno queen'' AI hologram now actually uses the xeno queen sprite
+ as a reference'
+ Tofa01:
+ - bugfix: '[Omega] Fixes missing walls and wires new dock to the powergrid'
+ XDTM:
+ - rscadd: Changelings can now click their fake clothing to remove it, without needing
+ to drop the full disguise.
+ coiax:
+ - rscadd: The Bardrone and Barmaid are neutral, even in the face of reality altering
+ elder gods.
+2017-03-07:
+ Supermichael777:
+ - rscadd: Wannabe ninjas have been found carrying an experimental chameleon belt.
+ The Spider clan has disavowed any involvement.
+2017-03-08:
+ Cyberboss:
+ - imageadd: Added roundstart animation
+ - experiment: Roundstart should now be a smoother experience... again
+ - bugfix: You can now scan storage items with the forensic scanner
+ - bugfix: Unfolding paper planes no longer deletes them
+ - bugfix: Plastic no longer conducts electricity
+ - tweak: The map rotation message will only show if the map is actually changing
+ Francinum:
+ - bugfix: Holopads now require power.
+ Fun Police:
+ - tweak: Reject Adminhelp and IC Issue buttons have a cooldown.
+ Joan:
+ - rscadd: Circuit tiles now glow faintly.
+ - rscadd: Glowshrooms now have colored light.
+ - tweak: Tweaked the potency scaling for glowshroom/glowberry light; high-potency
+ plantss no longer light up a huge area, but are slightly brighter.
+ Kor:
+ - rscadd: People with mutant parts (cat ears) are no longer outright barred from
+ selecting command roles in their preferences, but will have their mutant parts
+ removed on spawning if they are selected for that role.
+ LanCartwright:
+ - rscadd: Adds scaling damage to buckshot.
+ Robustin:
+ - tweak: The DNA Vault has 2 new powers
+ - tweak: The DNA Vault requires super capacitors instead of quadratic
+ - tweak: Cargo's Vault Pack now includes DNA probes
+ Supermichael777:
+ - rscadd: Robust Soft Drinks LLC is proud to announce Premium canned air for select
+ markets. There is not an air shortage. Robust Soft Drinks has never engaged
+ in any form of profiteering.
+ TalkingCactus:
+ - rscadd: Energy swords (and other energy melee weapons) now have a colored light
+ effect when active.
+ Tofa01:
+ - bugfix: '[All Maps] Fixes syndicate shuttles spawning too close to stations by
+ moving their spawn further from the station'
+ - rscadd: '[Omegastation] This station now has a syndicate shuttle and syndicate
+ shuttle spawn.'
+ coiax:
+ - rscadd: Wizards now have a new spell "The Traps" in their spellbook. Summon an
+ array of temporary and permanent hazards for your foes, but don't fall into
+ your own trap(s)!
+ - rscadd: Permanent wizard traps can be triggered relatively safely by throwing
+ objects across the trap, or examining it at close range. The trap will then
+ be on cooldown for a minute.
+ - rscadd: Toy magic eightballs can now be found around the station in maintenance
+ and arcade machines. Ask your question aloud, and then shake for guidance.
+ - rscadd: Adds new Librarian traitor item, the Haunted Magic Eightball. Although
+ identical in appearance to the harmless toys, this occult device reaches into
+ the spirit world to find its answers. Be warned, that spirits are often capricious
+ or just little assholes.
+ - rscadd: You only have a headache looking at the supermatter if you're a human
+ without mesons.
+ - rscadd: The supermatter now speaks in a robotic fashion.
+ - rscadd: Admins have a "Rename Station Name" option, under Secrets.
+ - rscadd: A special admin station charter exists, that has unlimited uses and can
+ be used at any time.
+ - rscadd: Added glowsticks. Found in maintenance, emergency toolboxes and Party
+ Crates.
+ kevinz000:
+ - rscadd: The Syndicate reports a breakthrough in chameleon laser gun technology
+ that will disguise its projectiles to be just like the real thing!
+2017-03-10:
+ Cyberboss:
+ - bugfix: You should no longer be seeing entities with `\improper` in front of their
+ name
+ - rscadd: The arrivals shuttle will now ferry new arrivals to the station. It will
+ not depart if any intelligent living being is on board. It will remain docked
+ if it is depressurized.
+ - tweak: You now late-join spawn buckled to arrivals shuttle chairs
+ - tweak: Ghost spawn points have been moved to the center of the station
+ - tweak: Departing shuttles will now try and shut their docking airlocks
+ - bugfix: The arrivals shuttle airlocks are now properly cycle-linked
+ - bugfix: You can now hear hyperspace sounds outside of shuttles
+ - experiment: The map loader is faster
+ - tweak: Lavaland will now load instantly when the game starts
+ Jordie0608:
+ - tweak: The Banning Panel now organises search results into pages of 15 each.
+ XDTM:
+ - bugfix: Slimes can now properly latch onto humans.
+ - bugfix: Slimes won't aggro neutral mobs anymore. This includes blood-spawned gold
+ slime mobs.
+ - rscadd: Clicking on a tile with another tile and a crowbar in hand directly replaces
+ the tile.
+ Xhuis:
+ - imageadd: Ratvar and Nar-Sie now have fancy colored lighting!
+ coiax:
+ - rscadd: Wizards can now use their magic to make ghosts visible to haunt the crew,
+ and possibly attempt to betray the wizard.
+ - rscadd: When someone dies, if their body is no longer present, the (F) link will
+ instead jump to the turf they previously occupied.
+ - bugfix: Stacks of materials will automatically merge together when created. You
+ may notice differences when ejecting metal, glass or using the cash machine
+ in the vault.
+ - rscadd: You can find green and red glowsticks in YouTool vending machines.
+ fludd12:
+ - bugfix: Modifying/deconstructing skateboards while riding them no longer nails
+ you to the sky.
+ lordpidey:
+ - rscadd: Glitter bombs have been added to arcade prizes.
+2017-03-11:
+ AnturK:
+ - rscadd: Traitors now have access to radio jammers for 10 TC
+ Hyena:
+ - bugfix: fixes anti toxin pill naming
+ Joan:
+ - tweak: Window construction steps are slightly faster; normal windows now take
+ 6 seconds with standard tools, from 7 and reinforced windows now take 12 seconds
+ with standard tools, from 14.
+ - tweak: Brass windows take 8 seconds with standard tools, from 7.
+ - rscadd: Added Shadowshrooms as a glowshroom mutation. They do exactly what you'd
+ expect.
+ - rscdel: Removed His Grace ascension.
+ PKPenguin321:
+ - tweak: Cryoxadone's ability to heal cloneloss has been greatly reduced.
+ - rscadd: Clonexadone has been readded. It functions exactly like cryoxadone, but
+ only heals cloneloss, and at a decent rate. Brew it with 1 part cryoxadone,
+ 1 part sodium, and 5 units of plasma for a catalyst.
+ Penguaro:
+ - tweak: Adjusted table locations
+ - tweak: Moved chair and Cargo Tech start location
+ - tweak: Moved filing cabinet
+ - rscdel: Removed Stock Computer
+ Tofa01:
+ - bugfix: '[Meta] Fixes Supermatter Shutters Not Working'
+ coiax:
+ - rscadd: Swarmer lights are coloured cyan.
+ kevinz000:
+ - bugfix: Deadchat no longer has huge amount of F's.
+2017-03-12:
+ JStheguy:
+ - imageadd: Changed Desert Eagle sprites, changed .50 AE magazine sprites, added
+ Desert Eagle magazine overlay to icons/obj/guns/projectile.dmi.
+ - tweak: The empty Desert Eagle sprite now only displays on an empty chamber. The
+ existence or lack thereof of the magazine is rendered using an overlay instead.
+ Lzimann:
+ - tweak: Braindead has a more intuitive message
+ coiax:
+ - rscdel: A cloner that is EMP'd will merely eject the clone early, rather than
+ gibbing it. Emagging the cloner will still gib the clone.
+2017-03-13:
+ Cyberboss:
+ - tweak: You must now be on any intent EXCEPT help to weld an airlock shut
+ - rscadd: You can now repair airlocks with welding tools on help intent (broken
+ airlocks still need their wires mended though)
+ Cyberboss, Bgobandit, and Yogstation:
+ - rscadd: The HoP can now prioritze roles for late-joiners
+ Every coder, player, and admin in Space Station 13:
+ - rscadd: Adds the Tomb Of The Unknown Employee to Central Command,
+ - rscadd: Rest in peace, those who died after contributing to Space Station 13.
+ Hyena:
+ - bugfix: Surplus leg r/l name fixed
+ - bugfix: You can now carry honey in plant bags
+ Lordpidey:
+ - bugfix: Devils can no longer break into areas with sheer force of disco funk
+ - rscadd: The pitchfork of an ascended devil can now break down walls.
+ - rscadd: Hell has decided to at least clothe it's devils when sending them a brand
+ new body.
+ - rscadd: Pitchforks glow red now.
+ Penguaro:
+ - rscdel: '**Engineering** - Removed Tables, paper bin, and pen'
+ - rscadd: '**Engineering** - Replaced with Welder and Electrical Lockers'
+ - rscadd: '**Engineering** - Moved First-Aid Burn kit to Engineering Foyer'
+ - tweak: '**Chapel** - Replaced one Window with Win-Door for Coffin Storage'
+ Space Bicycle Consortium:
+ - bugfix: Bicycles now only cost 10,000 yen, down from 1,000,000 yen.
+ coiax:
+ - rscadd: The egg spawner on Metastation will generate a station message and inform
+ the admins if an egg is spawned. (It's only a two percent chance, but live in
+ hope.)
+ - rscadd: Glowsticks can now be found in "Swarmer Cyan" colors.
+2017-03-14:
+ Joan:
+ - rscadd: Shuttles now have dynamic lighting; you can remove the lights on them
+ and use your own lights.
+ - tweak: All maps now use Deltastation's fancy syndicate shuttle.
+ - tweak: Shadowshrooms of lower potency are much less able to blanket the station
+ in darkness.
+ PKPenguin321:
+ - tweak: Lattices now require wirecutters to deconstruct, rather than welding tools.
+2017-03-15:
+ Cyberboss:
+ - bugfix: You can no longer depart on the arrivals shuttle by hiding inside things
+ Joan:
+ - tweak: Proselytizers converting clockwork floors to walls now always take 10 seconds,
+ regardless of how fast the proselytizer is.
+ - tweak: Clockwork grilles no longer provide CV.
+ Penguaro:
+ - bugfix: '**Engineering** - Changed Access Level from **24** (_Atmo_) to **10**
+ (_Engine_) on **Radiation Shutter Control**'
+ TrustyGun:
+ - tweak: Traitor Mimes with the finger guns spell now fire 3 bullets at a time,
+ as opposed to just 1.
+ octareenroon91:
+ - rscadd: Allow new reflector frames to be built from metal sheets.
+ oranges:
+ - rscdel: Removed patting
+2017-03-16:
+ BASILMAN YOUR MAIN MAN:
+ - rscadd: The BM Speedwagon has been improved both in terms of aesthetics and performance!
+ Cyberboss:
+ - bugfix: The shield generators in Boxstation Xenobiology now have the correct access
+ Joan:
+ - rscadd: Cult structures that emitted light now have colored light.
+ MrPerson:
+ - rscadd: Humans can see in darkness slightly again. This is only so you can see
+ where you are when the lights go out.
+ MrStonedOne:
+ - bugfix: Fixed lighting not updating when a opaque object was deleted
+ Penguaro:
+ - tweak: Increased Synchronization Range on Exosuit Fabricator
+ Tofa01:
+ - bugfix: '[Delta] Fixes telecoms temperature and gas mixing / being contaminated.'
+ - bugfix: '[Delta] Fixes some doubled up turfs causing items and objects to get
+ stuck to stuff'
+ - tweak: '[Omega] Makes telecoms room cool down and be cold.'
+ Tokiko1:
+ - rscadd: Most gases now have unique effects when surrounding the supermatter crystal.
+ - tweak: The supermatter crystal can now take damage from too much energy and too
+ much gas.
+ - rscadd: Added a dangerous overcharged state to the supermatter crystal.
+ - rscadd: Readded explosion delaminations, a new tesla delamination and allowed
+ the singulo delamination to absorb the supermatter.
+ - tweak: The type of delamination now depends on the state of the supermatter crystal.
+ - tweak: Various supermatter engine rebalancing and fixes.
+ kevinz000:
+ - rscadd: SDQL2 now supports outputting proccalls to variables, and associative
+ lists
+ peoplearestrange:
+ - bugfix: Fixed buildmodes full tile window to be correct path
+ rock:
+ - tweak: if we can have glowsticks in toolvends why not flashlights amirite guys
+2017-03-17:
+ BeeSting12:
+ - bugfix: Moved Metastation's deep fryer so that the chef can walk all the way around
+ the table.
+ Cobby:
+ - tweak: The gulag mineral ratio has been tweaked so there are PLENTY of iron ore,
+ nice bits of silver/plasma, with the negative of having less really high valued
+ ores. If you need minerals, it may be a good time to ask the warden now!
+ Joan:
+ - rscadd: You can now place lights and most wall objects on shuttles.
+ Xhuis:
+ - rscadd: Added the power flow control console, which allows remote manipulation
+ of most APCs on the z-level. You can find them in the Chief Engineer's office
+ on all maps.
+2017-03-18:
+ Supermichael777:
+ - rscadd: Free golems can now buy new ids for 250 points.
+ XDTM:
+ - rscadd: You can now complete a golem shell with runed metal, if you somehow manage
+ to get both.
+ - rscadd: Runic golems don't have passive bonuses over golems, but they have some
+ special abilities.
+ coiax:
+ - bugfix: The alert level is no longer lowered by a nuke's detonation.
+2017-03-19:
+ BeeSting12:
+ - rscadd: Nanotrasen has decided to better equip the box-class emergency shuttles
+ with a recharger on a table in the cockpit.
+ Cheridan:
+ - tweak: The slime created by a pyroclastic anomaly detonating is now adult and
+ player-controlled! Reminder that if you see an anomaly alert, you should grab
+ an analyzer and head to the announced location to scan it, and then signal the
+ given frequency on a signaller!
+ Penguaro:
+ - bugfix: change access variables for turrets and shield gens
+ - bugfix: Box Station - Replaces the smiling table grilles with their more serious
+ counterparts.
+ coiax:
+ - tweak: The Syndicate lavaland base now has a single self destruct bomb located
+ next to the Communications Room. Guaranteed destruction of the base is guaranteed
+ by payloads embedded in the walls.
+ octareenroon91:
+ - bugfix: Fixes infinite vaping bug.
+ uraniummeltdown:
+ - rscadd: Plant data disks have new sprites.
+ - bugfix: Fixed Monkey Recycler board not showing in Circuit Imprinter
+ - tweak: Kinetic Accelerator Range Mod now takes up 25% space instead of 24%
+2017-03-21:
+ ExcessiveUseOfCobblestone:
+ - experiment: All core traits [Hydroponics] scale with the parts in the gene machine.
+ Time to beg Duke's Guide Read.... I mean RND!
+ - tweak: Data disks with genes on them will have just the name of the gene instead
+ of the prefix "plant data disk".
+ - tweak: If you were unaware, you can rename these disks with a pen. Now, you can
+ also change the description if you felt inclined to.
+ Joan:
+ - experiment: Caches produce components every 70 seconds, from every 90, but each
+ other linked, component-producing cache slows down cache generation by 10 seconds.
+ Lombardo2:
+ - rscadd: The tentacle changeling mutation now changes the arm appearance when activated.
+ MrPerson:
+ - bugfix: Everyone's eyes aren't white anymore.
+ Penguaro:
+ - tweak: Box Station - The Vents and Scrubbers for the Supermatter Air Alarm are
+ now isolated from the rest of the Air Alarms in Engineering.
+ Supermichael777:
+ - bugfix: Chasms now smooth properly.
+ Tokiko1:
+ - tweak: Minor supermatter balancing changes.
+ - tweak: Supermatter now announces its damage half as frequently.
+ - tweak: Badly unstable supermatter now occasionally zaps nearby engineers and causes
+ anomalies to appear nearby, similar to overcharged supermatter.
+ XDTM:
+ - rscadd: Golem Shells can now be completed with medical gauze or cloth to form
+ cloth golems, which are weaker and extremely flammable. However, if they die,
+ they turn into a pile of cloth that will eventually re-animate back into full
+ health. That is, unless someone lights it on fire.
+2017-03-22:
+ BeeSting12:
+ - rscadd: Added an autolathe circuit board to deltastation's tech storage.
+ - rscadd: Added 49 sheets of metal to deltastation's auxiliary tool storage.
+ Iamgoofball:
+ - bugfix: Freon no longer bypasses atmos hardsuits.
+ Penguaro:
+ - rscadd: Meta - Added Tool Belts to Engineering and Engineering Foyer
+ - rscdel: Meta - Removed Coffee Machine from Permabrig
+ - rscadd: Added Cameras for Supermatter Chamber (to view rad collectors and crystal)
+ - tweak: Adjusted Engine Camera Names for Station Consistency
+ - bugfix: Adjusted Monitor Names / Networks to view the Engine Cameras
+ coiax:
+ - rscadd: APCs now glow faintly with their charging lights. So red is not charging,
+ blue is charging, green is full. Emagged APCs are also blue. Broken APCs do
+ not emit light.
+ - rscadd: Alien glowing resin now glows.
+2017-03-23:
+ Joan:
+ - tweak: Clock cults always have to summon Ratvar, but that always involves a proselytization
+ burst.
+ - rscdel: The proselytization burst will no longer convert heretics, leaving Ratvar
+ free to chase them down.
+ - spellcheck: Places that referred to the Ark of the Clockwork Justicar as the "Gateway
+ to the Celestial Derelict" have been corrected to always refer to the Ark.
+ Penguaro:
+ - bugfix: Wizard Ship - Bolts that floating light to the wall.
+ XDTM:
+ - rscadd: Medical Gauze now stacks up to 12
+ - bugfix: Pressure plates are now craftable.
+ bgobandit:
+ - tweak: Alt-clicking a command headset toggles HIGH VOLUME mode.
+ coiax:
+ - bugfix: A dead AI no longer counts as an "unconverted AI" for clockcult.
+2017-03-24:
+ BeeSting12:
+ - bugfix: Auxiliary base maintenance airlock now requires the proper access. Sorry
+ greyshirts, no loot for you!
+ Cyberboss:
+ - tweak: The recycler's base reclaim rate has been buffed from 1% to 50%. Manipulator
+ upgrades now give +12.5% per level instead of +25%
+ - bugfix: You can now successfully remove a pen from a PDA while it's in a container
+ Fox McCloud:
+ - rscadd: Modular receiver removed from the protolathe to autolathe
+ - tweak: Modular receiver cost is now 15,000 metal
+ Joan:
+ - bugfix: Fixes structures being unable to go through spatial gateways.
+ - tweak: Blazing Oil blobs take 33% less damage from water.
+ Penguaro:
+ - rscadd: '[Meta] Replaced Power Monitoring Console in Engineering with Modular
+ Engineering Console'
+ - rscadd: '[Pubby] Replaced Power Monitoring Console in Engineering with Modular
+ Engineering Console'
+ - rscadd: '[Omega] Replaced Power Monitoring Console in Engineering with Modular
+ Engineering Console'
+ - rscadd: '[Omega] Added RD and Command Modular Consoles to Bridge'
+ - rscadd: '[Delta] Replaced Power Monitoring Console in Engineering with Modular
+ Engineering Console'
+ - rscadd: '[Delta] Replaced duplicate Atmospherics Monitoring Console in Atmo with
+ Modular Engineering Console'
+ coiax:
+ - rscadd: Destroying a lich's body does not destroy the lich permanently, provided
+ the phylactery is intact.
+ - rscadd: A lich will respawn three minutes after its death, provided the phylactery
+ is intact.
+ - rscadd: The Soul Bind spell is forgotten after cast, respawn is now automatic.
+ - rscdel: Stationloving objects like the nuke disk are not valid objects for a phylactery.
+ - rscadd: Explosive implants can always be triggered via action button, even if
+ unconscious.
+ rock:
+ - tweak: lizards are hurt slightly more by cold but less by heat. this does not
+ mean they are more resistant to being lasered, fortunately.
+2017-03-26:
+ BeeSting12:
+ - spellcheck: The bar shuttle's buckable bar stools are now buckleable bar stools.
+ Gun Hog and Shadowlight213:
+ - rscadd: The AI may now deploy to cyborgs prepared as AI shells. The module to
+ do this may be research in the exosuit fabricator. Simply slot the module into
+ a completed cyborg frame as with an MMI, or into a playerless (with no ckey)
+ cyborg.
+ - rscadd: AI shells and AIs controlling a shell can be determined through the Diagnostic
+ HUD.
+ - rscadd: AIs can deploy to a shell using the new action buttons or by simply clicking
+ on it.
+ - experiment: An AI shell will always have the laws of its controlling AI.
+ Penguaro:
+ - rscadd: Brig - Added Air Alarm
+ - rscdel: Engineering - Removed Brig Shutter
+ - tweak: Omega, Meta, & Delta Stations - The Vents and Scrubbers for the Supermatter
+ Air Alarm are now isolated from the rest of the Air Alarms in Engineering.
+ Qbopper:
+ - spellcheck: Drones are now given OOC guidelines to follow as well as their IC
+ lawset.
+ Robustin:
+ - rscadd: Added the prototype canister with expanded volume, valve pressure, and
+ access/timer features
+ TrustyGun:
+ - bugfix: Deconstructing display cases and coffins now drop the correct amount of
+ wood.
+ XDTM:
+ - tweak: Some golems now spawn with more thematic names.
+ - tweak: Adamantine Golems are no longer numbered, but receive a random golem name.
+ - bugfix: Airlocks properly remove the shock overlay when a temporary shock runs
+ out.
+ coiax:
+ - bugfix: Teams playing CTF have their own radio channels, rather than using the
+ Centcom and Syndicate channels.
+ - bugfix: Actually actually makes CTF barricades repair between rounds.
+ - bugfix: Blue CTF lasers have little blue effects when they hit things, rather
+ than red effects.
+2017-03-28:
+ Supermichael777:
+ - rscadd: Backup operatives now get the nukes code.
+ XDTM:
+ - bugfix: Wooden tiles can now be quick-replaced with a screwdriver instead of a
+ crowbar, preserving the floor tile.
+ octareenroon91:
+ - bugfix: Bonfires that have a metal rod added should buckle instead of runtiming.
+2017-03-29:
+ BeeSting12:
+ - rscadd: Adds emergency launch console to the backup emergency shuttle.
+ Joan:
+ - rscdel: Putting sec armour and a helmet on a corgi no longer makes the corgi immune
+ to item attacks.
+ - rscadd: All items with armour will now grant corgis actual armour.
+ Kevinz000:
+ - rscadd: High-powered floodlights may be constructed with 5 sheets of metal, a
+ wrench, a screwdriver, 5 cable coils, and a light tube. They require a powernet
+ connection via direct wire node.
+ coiax:
+ - bugfix: All tophats, rather than just the ones in maintenance, hurt a tiny bit
+ if you throw them at people.
+ - bugfix: Supermatter anomalies are more shortlived than regular anomalies, as intended.
+2017-03-30:
+ coiax:
+ - rscadd: Autoimplanters have been renamed to autosurgeons. Currently only the CMO
+ and nuclear operatives have access to autosurgeons. What is the CMO hiding?
+ - bugfix: All upgraded organs for purchase by nuclear operatives now actually come
+ in an autosurgeon, for speed of surgery.
+2017-03-31:
+ Cobby:
+ - tweak: Shot glasses are now more ambiguous [EASIER TO MAINTAIN]
+ Cyberboss:
+ - bugfix: Temperature changes will now properly cause atmospherics simulation to
+ activate
+ - bugfix: The command report for random xeno eggs will now be delivered along with
+ the rest of the roundstart reports
+ - bugfix: Drones can no longer be irradiated
diff --git a/html/changelogs/archive/2017-04.yml b/html/changelogs/archive/2017-04.yml
new file mode 100644
index 0000000000..ddcbede564
--- /dev/null
+++ b/html/changelogs/archive/2017-04.yml
@@ -0,0 +1,358 @@
+2017-04-01:
+ Cyberboss:
+ - bugfix: The contents of the shelterpod smart fridge work again
+ XDTM:
+ - bugfix: Facehuggers no longer rip masks from people protected by helmets.
+2017-04-02:
+ BeeSting12:
+ - bugfix: Metastation's northeast radiation collector is now connected to the grid.
+ Nanotrasen would like to apologize for any inconvenience caused to engineers,
+ but copper is expensive.
+ - rscadd: Boxstation's HoP office now has a PDA tech.
+ Cyberboss:
+ - tweak: Firedoors no longer operate automatically without power
+ - bugfix: Blood and other decals will no longer remain on turfs they shouldn't
+ - bugfix: The splashscreen is working again
+ - bugfix: False alarms are now guaranteed to actually announce something
+ Incoming5643:
+ - rscadd: Lighting visuals have been changed slightly to reduce it's cost to the
+ client. If you had trouble running the new lighting, it might run a little better
+ now.
+ MMMiracles (CereStation):
+ - rscadd: Added a patrol path for bots, includes 2 round-start securitrons placed
+ on opposite sites of station.
+ - wip: Due to map size, mulebots are still somewhat unreliable on longer distances.
+ Disposals are still advised, but mule bots are now technically an option for
+ delivery.
+ - rscadd: Added multiple status displays, extinguishers, and appropriate newscasters
+ to hallways.
+ - rscadd: A drone dispenser is now located underneath Engineering in maintenance.
+ - rscadd: Each security checkpoint now has a disposal chute that directs to a waiting
+ cell in the Brig for rapid processing of criminals. Why run half-way across
+ the station with some petty thief when you can just shove him in the criminal
+ chute and have the warden deal with him?
+ - tweak: Security's mail chute no longer leads into the armory. This was probably
+ not the best idea in hindsight.
+ - tweak: Virology has a bathroom now.
+ - tweak: Genetics monkey pen is a bit more green now.
+ - bugfix: Lawyer now has access the brig cells so he can complain more effectively.
+ - bugfix: Xenobio kill chamber is now in range of a camera.
+ - bugfix: Removed rogue bits of Vault area.
+ - bugfix: Medbay escape pod no longer juts out far enough to block the disposal's
+ path.
+ - bugfix: Captain's spare ID is now real and not just a gold ID card.
+ Penguaro:
+ - tweak: '[Meta] The Chapel Security Hatches were very intimidating. They have been
+ changed to more inviting glass doors.'
+ - bugfix: '[Meta] The maintenance tunnels in the Xeno Lab now have radiation shielding.
+ The Slime Euthanization Chamber will not have radiation shielding at this time
+ as dead slimes will not mind radiation.'
+ coiax:
+ - rscadd: Adds seperate languages to the game. Now Ratvarian, Drone, Machine, Swarmer,
+ Human (now called Galactic Common), Slime and Monkey are separate languages.
+ Each languages has its own comma prefix, for example, Galcom has the ,0 prefix,
+ while Ratvarian has the ,r prefix. If you don't understand a language when it
+ is spoken to you, you will hear a scrambled version that will vary depending
+ on the language that you're not understanding.
+ - experiment: This does not change who can understand what.
+ - rscdel: Removed the talk wheel feature.
+ - rscadd: Clicking the speech bubble icon now opens the Language Menu, allowing
+ you to review which languages you speak, their keys, and letting you set which
+ language you speak by default. Admins have additional abilities to add and remove
+ languages from mobs using this menu.
+ ktccd:
+ - bugfix: Ninja suits have received a new software update, making them able to **actually
+ steal tech levels** from R&D consoles and servers, thus avoid being forced to
+ honourably kill themselves for failing their objective.
+2017-04-05:
+ Cyberboss:
+ - bugfix: Cardboard boxes and bodybags can no longer be anchored
+ Penguaro:
+ - rscadd: '[Box] A fire alarm has been added to the Lawyer''s office.'
+ - rscadd: '[Box] Adds access for Scientists to Starboard Maintenance Areas outside
+ of Toxins.'
+ - tweak: '[Box] Adjusted Science doors to more logical access codes.'
+ QV:
+ - bugfix: Fixed taking max suffocation damage whenever oxygen was slightly low
+ RemieRichards:
+ - bugfix: Using TK on the supermatter will burn your head off violently, don't do
+ this.
+ - rscadd: 'Examining clothing with pockets will now give information about the pockets:
+ number of slots, how it is interacted with (backpack, etc.), if it has quickdraw
+ (Alt-Click) support and whether or not it is silent to interact with.'
+ coiax:
+ - bugfix: Emergency shuttles will now forget early launch authorizations if they
+ cannot launch due to a hostile environment.
+2017-04-07:
+ Qbopper:
+ - bugfix: Secure lockers will no longer have multiple lines about being broken.
+2017-04-09:
+ 4dplanner:
+ - bugfix: Gas analyzers can now detect more gases in pipes
+ Joan:
+ - bugfix: Fixed a bug where getting caught between two shield generators as they
+ activated wouldn't cause you to gib and die.
+ QV:
+ - tweak: Refactored the way limbs that aren't limbs work
+ octareenroon91:
+ - bugfix: Hackable wires should work as intended again.
+2017-04-11:
+ BeeSting12:
+ - spellcheck: '"the herpes of arts and crafts" is now "The herpes of arts and crafts."'
+ Cyberboss:
+ - bugfix: Runes no longer make you/themselves/random atoms yuge
+ JJRcop:
+ - tweak: Refactors whisper, now all living mobs can use it
+ - rscadd: 'Prefix any message with # to whisper, for example, "# Man, that guy is
+ weird.", you can still use the whisper verb if you whish.'
+ - rscadd: This is compatible with languages, for example "#,r That HoS is a problem,
+ we should kill him"
+ - rscdel: 'Removes #a #b #c etc radio codes, as well as :w and .w, which used to
+ be whisper.'
+ MrStonedOne:
+ - tweak: Nightvision was heavily modified.
+ - rscadd: Nightvision has been given 3 levels of nightvisionness. (some, most, and
+ full)
+ - tweak: ghosts, aliens, guardians, night vision eyes, and statues were given all
+ 3 levels in a cycling toggle
+ - tweak: thermals, and hud+NV goggles give "some" nightvisionness
+ - tweak: standalone masons are unchanged.
+ - tweak: Nightvision goggles (that aren't also sec huds or medhuds or the like)
+ give "most" nightvisionness. Nightvision masons also give "most" nightvisionness
+ - tweak: Most simple mobs with the ability to see in the dark were given "most"
+ nightvisionness, others got full nightvisionness.
+ - bugfix: Fixed certain ghost only things disappearing when disabling darkness.
+ - bugfix: Fixed ash storms not being visible when using things that modified your
+ ability to see darkness
+ - bugfix: fix a bug with the new github web processor
+ Shadowlight213:
+ - bugfix: The anime admin button will no longer cause equipped items to drop.
+ coiax:
+ - rscadd: Examining a ghost determines whether it is visible.
+2017-04-13:
+ Cyberboss:
+ - bugfix: Fixed the incorrectly named Brig APC on Box Station=
+ - spellcheck: Fixed simple animal attack grammar
+ - bugfix: Roundstart department head announcements have been fixed
+ - bugfix: Brig cell doors now properly require the correct access
+ - bugfix: Fixed a bug preventing chameleon stamps from being picked up
+ - bugfix: Fixed a bug where honey frames couldn't be picked up
+ - bugfix: Photocopied papers will now retain their stamps
+ Davidj361:
+ - bugfix: Made it so chemsprayers, peppersprays, extinguishers don't spray when
+ you click your inventory items
+ - bugfix: Spray guns now actually have their range change when changing modes between
+ spray and stream
+ - bugfix: Krav maga now gets its abilities toggled if you click the same ability
+ twice
+ - bugfix: Added a link to the bottom right of paper when writing that shows help
+ for paper writing
+ - bugfix: Fixed the shift+middle-click pointing shortcut to work for cyborgs as
+ the functionality wasn't even there
+ - bugfix: Bodies in body bags get cremated properly now
+ RemieRichards:
+ - bugfix: Constructing lattice no longer prevents space transitions.
+ Robustin:
+ - rscadd: Ranged RCD added to the game
+ - rscadd: Rapid Lighting Device (also ranged) has been added. It can create wall,
+ floor, and temporary lights of any color you desire.
+ coiax:
+ - bugfix: Cigarette branding has been fixed.
+ - rscadd: Uplift Smooth brand cigarettes now taste minty as advertised.
+ - rscdel: You can no longer inject cigarette packets to inject all cigarettes simultaneously.
+ powergaming research director:
+ - bugfix: woops i dropped the emp protection module when i made your cns rebooters
+ today, guess they're vulnerable again!
+2017-04-15:
+ Cyberboss:
+ - bugfix: Holopads can no longer be interacted with while unpowered
+ Davidj361:
+ - bugfix: Monkeys won't pickup items or rob you while they are in your stomach,
+ neither walk out of your stomach.
+ - bugfix: You can't cheat with eyewear/eye-implants when using advanced cameras
+ - bugfix: Mutant digitigrade legs re-added to the ashwalker species
+ Robustin:
+ - rscadd: The Prototype Emitter, will function like an ordinary emitter while also
+ charging a secondary power supply that will allow a buckled user to manually
+ fire the emitter. Returning to automatic fire will have the emitter continue
+ to fire at the last target struck by manual fire.
+ - rscadd: The Engineering Dance Machine, along with assorted effects/sounds.
+ coiax:
+ - bugfix: Plasmamen no longer burn to death while inside a cloning pod.
+2017-04-18:
+ BeeSting12:
+ - bugfix: Cerestation's shuttle now has a recharger.
+ - rscdel: Centcomm's thunderdome airlocks have been removed due to contestants breaking
+ out.
+ - bugfix: Deltastation's chemistry lab now has a pill bottle closet.
+ - bugfix: The shield wall generators in xenobiology on Deltastation, Boxstation,
+ Metastation, and Pubbystation can now be locked and unlocked by scientists.
+ Davidj361:
+ - bugfix: Spawned humans no longer spawn eyeless (sprite)
+ MMMiracles (Cerestation):
+ - rscadd: Departments have been given head offices for a more secure place to chill
+ in their departments.
+ - rscadd: There is now a theatre on the service asteroid.
+ - tweak: Maintenance visuals and loot have been overhauled to be more visually interesting
+ and have more scattered bits of loot.
+ - bugfix: Various fixes with missing APCs, camera coverage, and misc things.
+ QualityVan:
+ - rscadd: Some foam guns can now be suppressed
+ coiax:
+ - rscadd: Drone, monkey and swarmer language now have distinctive colours when spoken.
+ - rscadd: Since drones are allowed to interact with pAIs, pAIs in mobile chassis
+ form are no longer distorted to drone viewpoints.
+ - bugfix: The shuttle's arrival can no longer be delayed after Nar-Sie's arrival.
+ The End cannot be delayed.
+2017-04-19:
+ QualityVan:
+ - bugfix: Improved stethoscopes
+ Thunder12345:
+ - bugfix: You can no longer extract negative sheets from the ORM
+ XDTM:
+ - bugfix: APCs hacked by a malfunctioning AI are no longer immune to alien attacks.
+ - bugfix: Fixed bug where flashlight eyes weren't emitting light.
+2017-04-20:
+ Cyberboss:
+ - bugfix: Fixed mining closets having extra, unrelated items
+2017-04-22:
+ Cyberboss:
+ - bugfix: Conveyors no longer move things they aren't supposed to
+ XDTM:
+ - bugfix: Gold and Light Pink slime extracts no longer disappear before working.
+ coiax:
+ - bugfix: Fixed people understanding languages over the radio when they shouldn't.
+2017-04-23:
+ coiax:
+ - rscadd: Centcom would like to inform all employees that they have ears.
+ - rscadd: Adds "ear" organs to all carbons. These organs store ear damage and deafness.
+ A carbon without any ears is deaf. Genetic deafness functions as before.
+2017-04-25:
+ BeeSting12:
+ - bugfix: Deltastation's secure tech storage is no longer all access.
+ CoreOverload:
+ - bugfix: Disposals no longer get broken by shuttles rotation.
+ - bugfix: Wires no longer get broken by shuttles movement and rotation.
+ - bugfix: Atmospheric equipment no longer gets broken by shuttles movement and rotation.
+ Glory to the Flying Fortress of Atmosia!
+ Jalleo:
+ - rscdel: WW_maze from lavaland has been removed it wasnt that good really anyhow
+ QualityVan:
+ - bugfix: Changeling brains are now more fully vestigial
+ WJohnston:
+ - tweak: Skeletons and plasmamen's hitboxes now more closely match that of humans.
+ They are no longer full of holes and incredibly frustrating to hit, should they
+ run around naked.
+ XDTM:
+ - bugfix: Items will no longer be used on backpacks if they fail to insert when
+ they're too full.
+ - bugfix: T-Ray scans are no longer visible to bystanders.
+ - bugfix: T-Ray scans no longer allow viewers to interact with underfloor objects.
+ basilman:
+ - bugfix: fixed species with no skin dropping skin when gibbed.
+ coiax:
+ - rscadd: Examining a window now gives hints to the appropriate tool for the next
+ stage of construction/deconstruction.
+ - rscadd: You can examine a firedoor for hints on how to construct/deconstruct it.
+ - rscadd: Add an additional hint during construction where you can add plasteel
+ to make the firedoor reinforced.
+ - bugfix: Fixed easter eggs spawning during non-Easter.
+ - bugfix: Fixes stations not having holiday specific prefixes during the holidays.
+ - bugfix: Ghosts no longer drift in space.
+ - bugfix: Swarmers now only speak their own language, rather than swarmer and common.
+ - bugfix: When you are crushed by a door, it prints a visible message, instead of,
+ in some cases, silently damaging you.
+ - bugfix: The vent in the Escape Coridoor on Omega Station has been fixed.
+ - bugfix: You no longer die when turning into a monkey.
+ coiax, WJohnston:
+ - rscadd: Plasmamen lungs, also known as "plasma filters" now look different from
+ human lungs.
+ - rscadd: Plasmamen now have their own special type of bone tongue. They still sound
+ the same, it's just purple. Like them.
+2017-04-26:
+ CoreOverload:
+ - rscadd: Gas injectors are now buildable!
+ Joan:
+ - tweak: Ash Drake swoops no longer teleport the Ash Drake to your position.
+ - balance: Some other tweaks to Ash Drake attacks and patterns; discover these yourself!
+ coiax:
+ - balance: The wizard spell Rod Form now costs 3 points, up from 2.
+ flashdim:
+ - bugfix: Omega Station had two APCs not wired properly. (#26526)
+2017-04-27:
+ Gun Hog:
+ - rscadd: The GPS interface has been converted to tgui.
+ - experiment: GPS now update automatically or manually, give distance and direction
+ to a signal, and many other improvements!
+ MrStonedOne:
+ - tweak: Tweaked how things were deleted to cut down on lag from consecutive deletes
+ and provide better logging for things that cause lag when hard-deleted.
+ - tweak: Server hop verb moved to the OOC tab
+ - rscadd: Server hop verb can now be used in the lobby as well as while a ghost.
+ QualityVan:
+ - bugfix: You can hit emagged cloning pods with a medical ID to empty them
+ - rscadd: Crayons can be ground
+ - rscadd: Crayon powder can be used to color stuff
+ Shadowlight213:
+ - tweak: Heads of staff may now download the ID card modification program from NTNet.
+ bgobandit:
+ - tweak: When jumpsuits take severe damage, their suit sensors break. They can be
+ fixed by applying a cable coil.
+ coiax:
+ - rscadd: Anomalous crystals can be examined by ghosts to determine their function
+ and activation method.
+ - rscdel: Lightbringers can understand Slime and Galactic Common, and can only speak
+ Slime, as before.
+ - rscadd: The helper anomalous crystal is in the orbit list after it has been activated.
+2017-04-28:
+ Kor:
+ - rscadd: Librarians can speak any language
+ coiax, WJohnston:
+ - rscdel: Languages no longer colour their text.
+ - rscadd: Languages now have icons to identify them. Galatic Common does not have
+ an icon if understood.
+2017-04-29:
+ BeeSting12:
+ - bugfix: The emergency backup shuttle has lighting now.
+ - bugfix: Plating in deltastation's aux tool storage is no longer checkered.
+ Cobby:
+ - rscadd: Syndicate Lavabase now has more explicit instructions when it comes to
+ outing non-syndicate affiliated enemies of Nanotrasen.
+ - tweak: The GPS set tag has gone from a limit of 5 characters to 20.
+ - rscadd: The GPS can now be personalized in both name and description using a pen.
+ Joan:
+ - rscdel: Removed Mending Motor.
+ - rscadd: Added Mending Mantra, which is a script that causes you to repair nearby
+ constructs and structures as long as you continue chanting it.
+ - tweak: Mending Mantra will also heal Servants as long as they're wearing clockwork
+ armor.
+ Kor:
+ - rscdel: Removed double agents mode.
+ - rscadd: Replaced it with Internal Affairs mode.
+ Swindly:
+ - rscadd: Added organ storage bags for medical cyborgs. They can hold an organic
+ body part. Use the bag on a carbon during organ manipulation or prosthetic replacement
+ to add the held body part.
+ coiax:
+ - rscdel: Swarmer traps are no longer summoned by The Traps.
+ - balance: Wizard traps automatically disappear five minutes after being summoned.
+ - balance: Wizard traps disappear after firing, whether triggered via person or
+ something being thrown across it.
+ - balance: Wizards are immune to their own traps.
+ - tweak: The Traps are now marked as a Defensive spell, rather than an Offensive
+ spell.
+ kevinz000:
+ - experiment: Songs can now be added to disco machines with add_track(file, name,
+ length, beat). Only file is required, the other 3 should still be put in, though.
+ tacolizard forever:
+ - bugfix: Rechargers no longer flash the 'fully charged' animation before charging
+ something
+2017-04-30:
+ QualityVan:
+ - bugfix: Changelings can once again revive with their brain missing
+ XDTM:
+ - rscdel: Voice of God's Rest command now no longer makes listeners rest. It instead
+ activates the sleep command.
+ coiax:
+ - rscadd: The Bank Machine in the vault now uses the radio to announce unauthorized
+ withdrawals, rather than an endless stream of loud announcements.
diff --git a/html/changelogs/archive/2017-05.yml b/html/changelogs/archive/2017-05.yml
new file mode 100644
index 0000000000..699a8cadb4
--- /dev/null
+++ b/html/changelogs/archive/2017-05.yml
@@ -0,0 +1,808 @@
+2017-05-01:
+ 4dplanner:
+ - tweak: Syndicate surplus crates now contain fewer implants
+ Bawhoppen:
+ - rscadd: Deep storage space ruin has been readded.
+ - rscadd: Space Cola machines now stock bottles of water.
+ Cobby:
+ - balance: The Gang pen is now stealthy. Stab away!
+ Cyberboss:
+ - rscadd: You can now make holocalls! Simply stand on a pad, bring up the menu,
+ and select the holopad you wish to call. Remain still until someone answers.
+ When they do, you'll be able to act just like an AI hologram until the call
+ ends
+ Joan:
+ - rscadd: Belligerent now prevents you from running for 7 seconds after every chant.
+ - rscdel: However, you no longer remain walking after Belligerent's effect fades.
+ - rscadd: Clockcult component generation will automatically focus on components
+ needed to activate the Ark if it exists.
+ - rscadd: Gaining Vanguard, such as from the Linked Vanguard scripture, will remove
+ existing stuns.
+ - rscadd: Proselytizers can now charge from Sigils of Transmission at a rate of
+ 1000W per second.
+ - rscadd: Sigils of Transmission can be charged with brass at a rate of 250W per
+ sheet.
+ Moonlighting Mac says:
+ - bugfix: Due to a clerical error in the chef's cookbooks now being resolved, you
+ can now make the pristine cookery dish "Stuffed Legion" out of exotic ingredients
+ from Lavaland.
+ - experiment: After being found again you will now be able to enjoy its special
+ blend of flavors with your tastebuds. Mmm.
+ QualityVan:
+ - tweak: Saline glucose now acts as temporary blood instead of increasing blood
+ regeneration
+ Swindly:
+ - tweak: Mercury and Lithium make people move when not in space instead of when
+ in space.
+ ninjanomnom:
+ - tweak: TEG displays power in kw or MW now
+ - tweak: TEG power bar only maxes over 1MW now
+ - experiment: Moves TEG to SSair
+ - experiment: Moves SM to SSair
+2017-05-02:
+ 4dplanner:
+ - bugfix: Squishy plants will now affect walls and other turfs they get squished
+ on
+ Kor, Goof and Plizzard:
+ - rscadd: Adds persistent trophy cases. They are not on any map yet.
+ Shadowlight213:
+ - bugfix: The biogenerator will now show its recipes again.
+ XDTM:
+ - tweak: Blood Cult's talisman of Horrors now works at range. It will still give
+ no warning to the victim.
+ - rscadd: Golems can now click on empty golem shells to transfer into them.
+ - tweak: Plasma Golems now no longer explode on death. They instead explode if they're
+ on fire and are hot enough. The explosion size has been increased.
+ - tweak: Plasma Golems are now always flammable.
+ coiax:
+ - rscadd: When talking on the alien hivemind, a person will be identified by their
+ real name, rather than who they are disguised as.
+2017-05-03:
+ BeeSting12:
+ - bugfix: Omega shuttle now has lighting.
+ Joan:
+ - balance: Clockwork component generation is twice as fast.
+ - balance: Scriptures cost up to twice as much; Driver scriptures are unaffected,
+ meaning they cost 50% less, Script scriptures cost 25% less, Application scriptures
+ cost about 12.5% less, and Revenant scriptures cost about 5% less.
+ Jordie0608:
+ - rscadd: Investigate logs are now persistent.
+ - tweak: Game logs are now stored per-round; use .getserverlog to access previous
+ rounds.
+ - rscdel: .giveruntimelog and .getruntimelog removed.
+ Kor, Profakos, Iamgoofball:
+ - rscadd: The Librarian has been replaced by the Curator.
+ - rscadd: Persistent trophy cases have been added to the library on Meta, Delta,
+ and Box. These are only usable by the Curator.
+ - rscadd: The Curator now starts with his whip.
+ - rscadd: The Curator now has access to his treasure hunter outfit, stashed in his
+ private office.
+ coiax:
+ - balance: Plasma vessels, the organs inside aliens that are responsible for their
+ internal plasma storage, will regenerate small amounts of plasma even if the
+ owner is not on resin weeds.
+ - rscadd: Restrictions on Lizardpeople using their native language on the station
+ have been lifted by Centcom, in order to maximise worker productivity. The language's
+ key is ",o".
+ deathride58:
+ - tweak: Fixed the slimecore HUD's neck slot sprite.
+2017-05-04:
+ 4dplanner:
+ - bugfix: revenants now properly resurrect from ectoplasm, as opposed to ectoplasm
+ merely spawning a new grief ghost
+ - bugfix: Turrets can no longer see invisible things, such as unrevealed revenants
+ Joan:
+ - rscadd: Mania Motors now do minor toxin damage over time and will convert those
+ affected if the toxin damage is high enough.
+ - balance: The effects of a Mania Motor continue to apply to targets after they
+ leave its range, though they will fall off extremely quickly.
+ - rscdel: Mania Motors no longer cause brain damage.
+ - imageadd: Ratvarian Spears have new inhand icons.
+ Lzimann:
+ - rscdel: Gang game mode was removed
+ Moonlighting Mac says:
+ - rscadd: Courtesy of the art & crafts division, imitation basalt tiles themed on
+ the rough volcanic terrain of lavaland are now available to be made out of sandstone.
+ - experiment: The manufacturer even managed to replicate the way that it lights
+ up with volcanic energy, it is the perfect accompaniment to other fake (or real)
+ lava-land tiles or a independent piece.
+ QualityVan:
+ - rscadd: Point flashlights at mouths to see what's inside them
+2017-05-05:
+ Incoming:
+ - tweak: Display cases now require a key to open, which the curator spawns with
+ Joan:
+ - balance: Sigil of Accession, Fellowship Armory, Memory Allocation, Anima Fragment,
+ and Sigil of Transmission are not affected by the previously-mentioned % reduction
+ to Application scripture costs.
+ LanCartwright:
+ - rscadd: Lesser smoke book to Delta and Metastation
+ - rscdel: Normal smoke book from Delta and Metastation
+ - tweak: Civilian smoke book now has a 360 max cooldown (from 120) and halved smoke
+ output.
+ QualityVan:
+ - bugfix: Dental implants stay with the head they're in
+ bgobandit:
+ - tweak: The Syndicate has added basic functionality to their state-of-the-art equipment.
+ Nuke ops can now donate all TCs at once.
+ lordpidey:
+ - rscadd: There is a new traitor poison, spewium. It will cause uncontrollable
+ vomiting, which gets worse the longer it's in your system. An overdose can
+ cause vomiting of organs.
+ - tweak: Committing suicide with a gas pump can now shoot out random organs.
+ - bugfix: Toxic vomit now shows up as intended.
+2017-05-06:
+ 4dplanner:
+ - rscadd: Internal Affairs Agents now obtain the kill objectives of their targets
+ when they die.
+ - rscadd: Internal Affairs Agents now have an integrated nanotrasen pinpointer that
+ tracks their target at distances further than ten squares.
+ - rscadd: Internal Affairs Agents will now lose any restrictions on collateral damage
+ and gain a "Die a glorious death" objective upon becoming the last man standing,
+ and revert if any of their targets are cloned.
+ BeeSting12:
+ - bugfix: Pubbystation no longer has two airlocks stacked on top of each other leading
+ into xenobiology's kill room.
+ - rscadd: Deltastation's chemistry now has a screwdriver.
+ - bugfix: Deltastation's morgue no longer has a blue tile.
+ - bugfix: Deltastation's chemistry smart fridge is no longer blocked by a disposal
+ unit.
+ Cyberboss:
+ - tweak: Teslas now give off light
+ Joan:
+ - balance: Sigils of Transgression are slightly more visible and glow very faintly.
+ LanCartwright:
+ - rscadd: Reduction to nutrition when consuming Miner's salve.
+ - rscdel: Stun/weaken that bypasses bugged chemical protection when consuming Miner's
+ salve.
+ Lzimann:
+ - rscdel: Telescience is no more.
+ PKPenguin321:
+ - rscadd: Undid the gang gamemode removal.
+ QualityVan:
+ - rscadd: Cargo can order restocking units for NanoMed vending machines
+ - rscadd: NanoMed vending machines can be build and unbuilt
+ Robustin:
+ - rscadd: Blood Cultists can now attempt to claim the position of Cult Master with
+ the approval of a majority of their brethren.
+ - rscadd: 'The Cult Master has access to unique blood magic that will aid them in
+ leading the cult to victory:'
+ - rscadd: The Cult Master can mark targets, allowing the entire cult to track them
+ down.
+ - rscadd: The Cult Master has single-use, noisy, and overt channeled spell that
+ will summon the entire cult to their location.
+ - rscadd: All cultists gain a HUD alert that will assist them in completing their
+ objectives.
+ - rscadd: Constructs created by soul shards will now be able to track their master.
+ - rscadd: Cultists created outside of cult mode will now get a working sacrifice
+ and summon objective and the summon rune will no longer fail outside of cult
+ mode.
+ - tweak: Gang Dominator max time is now 8 minutes down from 15m
+ - tweak: Gang Tagging now reduces the timer by 9 seconds per territory, down from
+ 12 seconds.
+ coiax:
+ - rscadd: Adamantine golems have special vocal cords that allow them to send one-way
+ messages to all golems, due to fragments of resonating adamantine in their heads.
+ Both of these are organs, and can be removed and put in other species.
+ - rscadd: You can use adamantine vocal cords by prefixing your message with ":x".
+ - rscdel: Xenobiology is no longer capable of making golem runes with plasma. Instead,
+ inject plasma into the adamantine slime core to get bars of adamantine which
+ you can then craft into an incomplete golem shell. Add 10 sheets of suitable
+ material to finish the shell.
+ - experiment: The metal adamantine is also quite valuable when sold via cargo.
+ - bugfix: If you know more than the usual number of languages, you'll now remember
+ them after you get cloned.
+ - rscdel: Humans turning into monkeys will not suddenly be able to speak the monkey
+ language, and will continue to understand and speak human.
+ - rscadd: Ghosts can now modify their own understood languages with the language
+ menu.
+ - rscadd: Any mob can also open their language menu with the IC->Open Language Menu
+ verb.
+ - rscadd: Silicons can now understand Draconic as part of their internal databases.
+ - bugfix: Golems no longer have underwear, undershorts or socks.
+ - tweak: The lavaland Seed Vault ruin can spawn only once.
+ - rscadd: It is now possible to make plastic golems, who are made of a material
+ flexible enough to crawl through vents (while not carrying equipment). They
+ also can pass through plastic flaps.
+ - bugfix: Fixed adamantine vocal cord (F) links not working for observers.
+2017-05-07:
+ Anonmare:
+ - tweak: Removes organic check from mediborg storage container
+ Joan:
+ - rscadd: Cultists of Nar-sie have their own language. The language's key is ",n".
+ - balance: Sigils of Transgression are slightly brighter.
+ Moonlighting Mac:
+ - experiment: Due to budget cuts and oil synthesis replacing expensive processes
+ of digging up haunted primeval ashwalker burial grounds, Nanotransen has taught
+ chemists how to make plastic from chemicals in the hopes that new plastic products
+ can reduce expenditure on metal and glass.
+ - rscadd: you can now make plastic sheets from chemistry out of heated up crude
+ oil, ash & sodium chloride
+ MrStonedOne:
+ - bugfix: fixed bug that caused an infinite connection loop when connecting on a
+ new computer or computer with recently changed hardware.
+ - rscadd: Moved to a new system to make top menu items easier to edit.
+ - tweak: Moved icon size stuff to a sub menu
+ - rscadd: Added option to change icon scaling mode.
+ - bugfix: Byond added fancy shader supported scaling(Point Sampling), this sucks
+ because it's blurry, the default for /tg/station has changed back to the old
+ nearest neighbor scaling.
+ Penguaro:
+ - bugfix: Adjusted the Examine description of the right-most tiles of the Space
+ Station 13 sign to be consistent with the rest of the tiles.
+ - bugfix: Anywhere there was lava below a tile on the station is now space.
+ Robustin:
+ - tweak: c4 planting is now 40% faster
+ coiax:
+ - bugfix: Smartfridges no longer magically gain medicines if deconstructed and rebuilt.
+ - rscadd: Ash walkers now know and speak Draconic by default, but still know Galactic
+ Common. Remember, Galcom's language key is ",0" and you can review your known
+ languages with the Language Menu.
+ octareenroon91:
+ - rscadd: Showers and sinks added to gulag and mining station for hygiene and fire
+ safety.
+ - rscadd: Watertanks added to mining station for convenient fire extinguisher refill.
+2017-05-08:
+ Dorsisdwarf:
+ - bugfix: Fixed being unable to hit museum cases in melee
+ Joan:
+ - tweak: The verb to Assert Leadership over the cult has been replaced with an action
+ button that does the same thing, but is much more visible.
+ Moonlighting Mac says:
+ - tweak: After a recent trade fair, employees have took it upon themselves to learn
+ how to craft leather objects out of finished leather sheets, for novices they
+ are pretty good at it! Try it yourself!
+ - rscadd: Muzzles to silence people are now craftable out of leather sheets.
+ - rscdel: You can no longer print off designs from a bio-generator that can now
+ be crafted out of leather sheets.
+ - tweak: Complete sheets of leather can be printed from the bio-generator for 150
+ biomass to accommodate for a loss of designs.
+ - experiment: Specialist objects from the leather & cloth category bio-generator
+ category were not removed as to encourage interdepartmental interaction & balance.
+ Penguaro:
+ - rscadd: The Slime Scanner is available from the Autolathe.
+ - tweak: The Design Names in the various machines are now capitalized consistently
+ coiax:
+ - bugfix: Fixes various mobs speaking languages that they were only supposed to
+ understand.
+ - bugfix: Fixes being able to bypass language restrictions by selecting languages
+ you can't speak as your default language.
+ ninjanomnom:
+ - tweak: Highlander no longer breaks your speakers
+2017-05-09:
+ Expletive:
+ - rscadd: Curator's fedora has a pocket, like all the other fedoras.
+ - tweak: Treasure hunter suits can now hold large internal tanks, to ease the exploration
+ of lavaland.
+ - tweak: The curator can now access the Auxillary Base and open doors on the mining
+ station.
+ MrStonedOne:
+ - tweak: Lighting now defaults to fully bright until the first update tick for that
+ tile. This makes shuttle movements less immersion breaking.
+ - experiment: Rather than remove the light source from the system and then re-adding
+ it on light movements, the system now calculates and applies the difference
+ to each tile. This should speed up lighting updates.
+ Penguaro:
+ - tweak: Adjusts Meteor Shuttle Name
+ - bugfix: The Central Command Ferry will now dock at one of the ports in Arrivals
+ - tweak: '[Meta] The Slime Control Console boundaries have been adjusted around
+ the Kill Room'
+ XDTM:
+ - rscadd: Added bluespace launchpads. They can be built with R&D, and can teleport
+ objects and mobs up to 5 tiles away (8 at max upgrades), from the pad to the
+ target and viceversa.
+ - rscadd: To set up a launchpad, a launchpad and a launchpad console must be built.
+ The pad must be opened with a screwdriver, then linked to the console using
+ a multitool. A console can support up to 4 pads.
+ - rscadd: Launchpads require some time to charge up teleports, but don't require
+ cooldowns unlike quantum pads. Upgrading launchpads increases the range by 1
+ per manipulator tier.
+ - rscadd: A special variant, the Briefcase Launchpad, has also been added to the
+ traitor uplink for 6 TC.
+ - rscadd: Briefcase Launchpads look like briefcases until setup (which requires
+ a few seconds). When setup, the launchpad will be functional, but can still
+ be dragged on the ground. To pick a pad back up, click and drag it to your character's
+ sprite.
+ - rscadd: Unlike stationary launchpads, briefcase pads only have 3 tiles of maximum
+ range.
+ - rscadd: Briefcase pads are controlled by a remote (that is sent with the briefcase)
+ instead of a console. The remote must be linked to the briefcase by simply hitting
+ it. Each remote can only be linked to one pad, unlike consoles.
+ coiax:
+ - rscadd: Visible ghosts emit light.
+2017-05-11:
+ Joan:
+ - rscadd: You can now buy double eswords from the uplink for 16 telecrystals. They
+ cannot be bought below 25 players.
+ - rscdel: You can no longer use two eswords to construct a double esword.
+ Joan, Robustin:
+ - rscdel: Harvesters can no longer break walls, construct walls, convert floors,
+ or emit paralyzing smoke.
+ - rscadd: Harvesters now remove the limbs of humans when attacking, can heal OTHER
+ constructs, have thermal vision, and can move through cult walls.
+ - rscadd: Harvesters can now convert turfs in a small area around them and can create
+ a wall of force.
+ - tweak: Harvesters are now cultists.
+ - rscadd: When Nar-Sie is summoned, she will convert all living non-construct cultists
+ to harvesters, who will automatically track her.
+ Kor:
+ - rscadd: a new mysterious book has been discovered in lavaland chests!
+ - tweak: weird purple hearts found in lavaland chests have started beating again!
+ what could this mean?
+ MrStonedOne:
+ - bugfix: Fixes t-ray mode on engineering goggles not resetting the lighting override
+ properly.
+ QualityVan:
+ - tweak: Machine names will be capitalized when they talk on radio
+ Robustin:
+ - tweak: Dominators now require a significant amount of open (non-walled) space
+ around them in order to operate.
+ TehZombehz:
+ - rscadd: Sticks of butter and liquid mayonnaise can now be produced via a new 'mix'
+ function on the grinder. Please eat responsibly.
+ XDTM:
+ - bugfix: Plasma Golems now have the correct updated tip.
+ - tweak: Plasma Golems no longer take damage from fire, and take normal instead
+ of increased burn damage from other sources. They will still explode if on fire
+ and hot enough.
+ - rscadd: Plasma Golems can now self-ignite with an action button.
+ - tweak: Plasma Golems are now warned when they're close to exploding.
+ - tweak: Plasma Golems now have a constant chance of exploding after 850K instead
+ of a precise threshold at 900K, making it less predictable.
+ bandit:
+ - tweak: Nanotrasen has enhanced personality matchmaking for its personal AIs. pAI
+ candidates will now see who is requesting a pAI personality.
+ duncathan:
+ - tweak: opening a dangerous canister will only alert admins if it contains meaningful
+ amounts of a dangerous gas. No more being bwoinked because you opened an empty
+ canister that used to have plasma in it.
+ lordpidey:
+ - tweak: Modified chances for returning someone's soul using an employment contract. Now
+ everyone has a chance, not just lawyers and HoP.
+ - rscadd: Particularly brain damaged people can no longer sign infernal contracts
+ properly.
+ - tweak: Infernal contracts for power no longer give fireball, and instead give
+ robeless 'lightning bolt' spell.
+ - rscadd: Devils can now sell you a friend, for the cost of your soul.
+ - tweak: The codex gigas should now be easier to use, and less finicky.
+ - rscdel: The codex gigas no longer sintouches readers.
+ ma44:
+ - tweak: Doubles the amount of points wooden planks sell for (now 50 points)
+2017-05-12:
+ Joan:
+ - tweak: Manifest Spirit will no longer continue to cost the user health if the
+ summoned ghost is put into critical or gibbed.
+ - rscadd: Ghosts summoned by Manifest Spirit are outfitted with ghostly armor and
+ a ghostly cult blade that does slightly less damage than a normal cult blade.
+ - balance: Manifest Spirit now consumes 1 health per second per summoned ghost,
+ from 0.333~.
+ - balance: Manifest Spirit can now only summon a maximum of 5 ghosts per rune, and
+ the summoned ghosts cannot use Manifest Spirit to summon more ghosts.
+ - rscadd: Wraiths now refund Phase Shift's cooldown by attacking; 1 second on normal
+ attacks, 5 seconds when putting a target into critical, and a full refund when
+ killing a target.
+ - balance: Increased Phase Shift's cooldown from 20 seconds to 25 seconds.
+ KorPhaeron:
+ - rscadd: Zombies can now see in the dark. If you steal their eyes you'll be able
+ to see in the dark as well!
+ MMMiracles (Cerestation):
+ - tweak: Hydroponics has been revamped, adding a few things missing before and adding
+ a bee room in place of the backroom.
+ - bugfix: Fixed some other stuff.
+ New Antag Alert sounds:
+ - soundadd: added sounds that alert players to their antag status
+ - soundadd: Blood cult has a new alert sound
+ - soundadd: Clock cult has a new alert sound
+ - soundadd: changeling has a new alert sound
+ - soundadd: Malf/traitor AI has a new alert sound
+ - soundadd: Nuke Ops has a new alert sound
+ - soundadd: Ragin' Mages has a new alert sound
+ - soundadd: Traitor has a new alert sound
+ Swindly:
+ - tweak: Solid plasma now begins burning at the temperature at which it was ignited.
+ - balance: Snow walls no longer block explosions, are deconstructed faster, and
+ no longer leave girders when deconstructed.
+ coiax:
+ - balance: Nanotrasen Cloning Divison's three hundred identical scientists have
+ announced an upgrade to the cloning computer's software. You can now scan brains
+ or dismembered heads and successfully clone from them. Brains seem to remember
+ the DNA of the last body they were attached to.
+2017-05-13:
+ QualityVan:
+ - bugfix: Pizza boxes once again look different when open
+ 'Tacolizard Forever: It''s hip to fuck bees':
+ - rscadd: Added a honey jar item. It's not implemented yet.
+ - balance: Honey is now more robust at healing, but don't eat too much or you'll
+ turn into a fatty landwhale.
+ TehZombehz:
+ - rscadd: Butter noodles, butter biscuits, buttered toast, and pigs in a blanket
+ can now be crafted using sticks of butter and other ingredients.
+ coiax:
+ - rscadd: Servant golems now follow the "Material Golem (123)" naming scheme.
+ octareenroon91:
+ - rscadd: Hermit ruin now includes a portable seed extractor.
+2017-05-14:
+ coiax:
+ - rscadd: Free Golems can purchase Royal Capes of the Liberator at their mining
+ equipment vendor.
+2017-05-15:
+ Dorsidwarf:
+ - balance: Nanotrasen Robotics Supply Division has successfully petitioned to replace
+ the "My First Robot" motors in turret coverings with a standard commercial brand.
+ As such, they will now open faster.
+ Expletive:
+ - rscadd: You can now create water bottles and wet floor signs by using plastic
+ sheets.
+ - rscadd: You can create toy swords out of plastic sheets, a piece of cable, and
+ a light bulb.
+ Joan:
+ - tweak: Glowshrooms now have a less saturated glow.
+ - balance: The summoned ghosts from Manifest Spirit can no longer break airlocks
+ with their standard blade.
+ - balance: Manifest Spirit now does a small amount of damage when initially manifesting
+ a ghost.
+ McBawbaggings:
+ - tweak: SMES units will now accept charge from the power network even if the available
+ load is less than the input rate. Credit to Zaers for the original code.
+ - bugfix: Wizards are now at least 30 years old. Apprentices will be in-between
+ ages 17 to 29.
+ Penguaro:
+ - bugfix: The Gravity Generator description now mentions a graviton field as opposed
+ to a gravaton field. What is Gravaty anyway?
+ - bugfix: Centcom Engineering has reviewed the plans for the Box series station
+ and has addressed some concerns related to some APCs not affecting their designated
+ section. APCs for the Detective's Office, Cargobay, and Gateway, now control
+ those rooms. The Bridge Maintenance APC has been removed from future construction
+ as it serves no purpose and thus is an unnecessary construction cost.
+ - bugfix: The pipe from the station to the AI Satellite has been completed.
+ Profakos:
+ - rscadd: Centcom has decided to upgrade the Ore Redemption machines with a floppy
+ drive, intended for design disks.
+ Qbopper:
+ - tweak: The supermatter crystal now sends its warning messages to the engineering
+ channel. (if it's in critical condition the message will be sent to the common
+ radio channel as before)
+ Swindly:
+ - balance: Nitrous oxide now causes anemia.
+ coiax:
+ - bugfix: Curator soapstones now successfully leave messages for future shifts.
+ - rscdel: Soapstones can no longer be purchased in cargo.
+ - rscdel: The janitor no longer starts with an empty soapstone.
+ - experiment: Engraved messages can be left anywhere in the world, but be wary that
+ the terrain of places like lavaland and space can change shift to shift.
+ - rscadd: Goats on the station have developed a taste for glowshrooms, and will
+ eat them if they encounter any.
+ ma44:
+ - tweak: Seed vault remapped
+ - tweak: The seed vault random seed spawner can now spawn cherry bombs instead of
+ regular cherry seeds
+ - rscadd: BEES to plant vault
+ octareenroon91:
+ - rscadd: Ambrosia Deus can now mutate into Gaia, and Gaia into Deus.
+ - rscdel: A single branch of Ambrosia Gaia will not immediately make a hydroponics
+ tray self-sufficient.
+ - balance: A (total) dose of 20u Earthsblood (from Gaia) will make a hydroponics
+ tray self-sufficient.
+ uraniummeltdown:
+ - rscadd: Ambrosia Gaia is back
+2017-05-16:
+ Moonlighting Mac says:
+ - rscadd: Starthistles now return seeds when they are harvested, amongst having
+ a overhaul of description, alteration of statistics & a mutational path into
+ harebells. These seeds have been supplied into the hydroponics seed vendor.
+ - imageadd: Starthistle tray sprites have been restructured & also fixed from a
+ issue of them being broken and not appearing in trays. In addition there are
+ new sprites for its seeds.
+ Penguaro:
+ - bugfix: There is now Space under the rocks at the Dragoon's Tomb
+ - bugfix: Centcom Intelligence reports that the Hidden Syndicate Research Base may
+ have received a shipment of viruses.
+ QualityVan:
+ - bugfix: Fixed fire alarms not being repairable if the board was broken
+ - bugfix: People without eyes and ears are no longer susceptible to flashbangs they
+ aren't directly on top of
+ Robustin:
+ - rscadd: Summoning Nar'Sie now triggers a different ending. No shuttle is coming!
+ Survivors must escape on a pod or survive the Red Harvest for 3 minutes. If
+ Nar'Sie acquires enough souls, the round ends immediately with a **special ending**.
+ - rscadd: New Harvester Sprite
+ - rscadd: Harvesters can now track a random survivor on the station, then switch
+ back to tracking Nar'Sie, via a new action button.
+ fludd12:
+ - rscadd: You can now add grills to a bonfire, letting you cook things on top of
+ them.
+2017-05-17:
+ 4dplanner:
+ - bugfix: revenant respawning will not spam up deadchat so much, and is less likely
+ to break.
+ Expletive:
+ - rscadd: Syndicate Tomes have been added to traitor uplinks for 9 TC. They let
+ an agent or an operative provide both weal and woe.
+ Penguaro:
+ - bugfix: Centcom Engineering has reviewed the power schematic for the engine room
+ and added an Area Power Controller.
+ coiax:
+ - balance: Magic eightballs are now tiny items, able to fit into a box and pocket.
+2017-05-18:
+ Joan:
+ - rscadd: Proselytizing alloy shards will now proselytize all the shards in the
+ tile, instead of requiring you to proselytize each one at a time.
+ Lordpidey:
+ - tweak: Space ninjas now use action buttons instead of verbs for a more consistent
+ user experience.
+ - rscadd: Toy toolboxes with realistic rumbling action have been added to arcade
+ prizes.
+ 'Tacolizard Forever: Plasmaman Powercreep':
+ - tweak: Plasmaman tanks are the same size as emergency oxygen tanks.
+ coiax:
+ - rscadd: Syndicate agents can purchase a "codespeak manual", that teaches them
+ a language that sounds like a series of codewords. You can also hit other people
+ with the manual to teach them. One use per manual.
+ - rscadd: Nuclear operatives have access to a deluxe manual that is more expensive
+ but has unlimited uses.
+ - rscadd: Syndicate AIs know Codespeak for free.
+ - bugfix: Spacevines can no longer spread on space transit turfs.
+ - balance: Plastic explosives can no longer be detonated by EMPs.
+ - rscadd: Various vending machines, when shooting their inventory at nearby people,
+ will "demonstrate their products features". This means that if a cigarette vending
+ machine throws a lighter at you, it will be on. Vending machines also choose
+ random products when throwing, rather than the first available one.
+ kevinz000:
+ - rscadd: Peacekeeper cyborgs now have projectile dampening fields.
+2017-05-19:
+ 4dplanner:
+ - balance: the Hierophant club has gained in power
+2017-05-20:
+ Joan:
+ - balance: Proto-kinetic crushers have been worked over by our highly qualified
+ techs, will recharge 12% faster, and no longer require very low-pressure atmospheres
+ to fire!
+ - balance: In addition, our techs have tweaked the quantum linker module and proto-kinetic
+ crushers can apply multiple marks to different targets! Marks applied may eventually
+ expire if not detonated.
+ Steelpoint:
+ - rscadd: All Pulse weapons now accurately show, by their sprites, what fire mode
+ they are in.
+ - rscadd: ERT, non-red alert, Security Response Officers spawn with a Tactical Energy
+ Gun. This is a military variant of the Egun that, in addition to laser and disable
+ rounds, has access to stun rounds.
+ - tweak: Pulse Pistols can now be recharged.
+ Swindly:
+ - rscadd: Added modified syringe guns. They fire DNA injectors. Geneticists and
+ CMOs can buy them from the traitor uplink for 14 TC.
+ coiax:
+ - rscadd: When a shuttle is called, sometimes an on-call admiral, using available
+ information to them, will recall the shuttle from Centcom.
+ octareenroon91:
+ - bugfix: Golems touching a shell can now choose to stay in their own body.
+2017-05-21:
+ Gun Hog:
+ - bugfix: The Auxiliary Base can no longer land outside the lavaland map's boundaries.
+ RandomMarine:
+ - tweak: Drone laws no longer restrict drones to the station.
+ Steelpoint:
+ - rscadd: The Warden's Cycler Shotgun has been replaced with a Compact Combat Shotgun.
+ A unique weapon, it can fit in armour slots but at the sacrifice of a smaller
+ ammo capacity of four shells.
+2017-05-22:
+ Joan:
+ - tweak: Resonator fields now visually show how long they have until they burst.
+ - bugfix: Hitting a legion skull with a resonator will now produce a field.
+ - balance: Swapped how far plasma cutter blasts go when going through rock and in
+ open air. This means blasts through air will go 4/5 tiles, but will mine 7/10
+ tiles, for normal/advanced plasma cutters, respectively.
+ - tweak: There is now a buffer zone between the mining base and lavaland where megafauna
+ will not spawn.
+ - tweak: Ruins will no longer spawn directly in front of the mining base.
+ Lzimann:
+ - rscadd: Pandemic is now tgui!
+ Robustin:
+ - rscadd: Gang influence is now decentralized, each gangster has their own influence
+ that they can increase by spraying (and protecting) their tags and new influence-enhancing
+ bling.
+ - rscadd: Gang uniforms are now created based on your gang's color and can be purchased
+ by any gang member. They will increase the wearer's influence and provide protection,
+ but will make it fairly obvious which gang you belong to.
+ - rscadd: Gangs have access to a new surplus rifle; it is a semi-automatic rifle
+ that is very bulky and has a very low rate of fire. Gang members can buy this
+ gun for just 8 influence.
+ - rscadd: Gangs have access to the new machine gun turret; it unleashes a volley
+ of bullets with an extended view range. It does not run out of ammo, but a significant
+ delay between volleys and its stationary nature leaves the gunner vulnerable
+ to flanking and return fire. Holding down the trigger will allow you to aim
+ the gun while firing. It will cost gangs 50 influence.
+ - rscadd: The sawn-off improvised shotgun is now available to gangs for 6 influence.
+ With buckshot shells being easy to produce or purchase, this gun gives the most
+ "bang for your buck" but its single-shell capacity will leave you vulnerable
+ during a pitched gunfight.
+ - rscadd: The Wetwork boots give gangs access to a lightly armored noslip variant.
+ - tweak: The armored gang outfits are now slightly more resistant to ballistic and
+ bomb damage
+ Swindly:
+ - balance: Monkeys can be weakened by stamina loss
+ kevinz000:
+ - bugfix: Nanotrasen decided to remove the integrated jet engines from jetpacks.
+ They can no longer be used successfully indoors.
+2017-05-23:
+ ClosingBracket:
+ - spellcheck: Fixed very minor inconsistencies on items & punctuation on items.
+ Joan:
+ - rscdel: Nanotrasen has taken a lower bid for their meson suppliers, and meson
+ scanners will no longer display terrain layouts while on the planet.
+ - tweak: However, they have discovered that, with some tweaks, mineral scanners
+ will no longer actually require you to be wearing mesons.
+ - tweak: The cheaper mesons will not completely remove reliance on light.
+ - tweak: Ripleys will collect all ore in front of them when they move with a clamp
+ and stored ore box.
+ - tweak: Chasms will glow dimly, like lava.
+ Joan, Repukan:
+ - rscadd: Traitor miners can now buy up to 2 KA Pressure Mods for 5 TC each.
+ - balance: KA Pressure Mods now only take up 35 mod capacity each, allowing traitor
+ miners to use 2 and have space for 1 other mod.
+ - rscdel: R&D can no longer build KA Pressure Mods.
+ Robustin:
+ - rscadd: Added a sexy new icon for the harvester's AOE conversion spell
+ - bugfix: Fixed construct's forcewall being invisible
+ - bugfix: Fixed cult constructs "Locate Master" and "Locate Prey" not functioning
+ - bugfix: Fixed spell action buttons not showing their actual availability status
+ - tweak: Changed the duration of a few frames for the new Cult ending
+ Steelpoint:
+ - rscadd: Auto Rifle alt ammo mags (AP, Incendiary, Uranium Tipped) now have a coloured
+ stripe to denote them.
+ That Really Good Soda Flavor:
+ - bugfix: Martial arts are no longer lost when mind-swapping, cloning, moving your
+ brain, et cetera.
+ - bugfix: Fixed a bug where paper bins could swallow up pens into the void.
+ coiax:
+ - rscadd: Galactic Common has been added to silicon's internal language database,
+ meaning even if a cyborg is created from someone who previously did not know
+ Galactic Common, they will be able to speak it as a silicon.
+ kevinz000:
+ - bugfix: Spessmen seems to have stopped suffering from the mental condition that
+ makes them believe they can't move fast if they have only one leg, even if they're
+ in space and using a jetpack!
+ ma44:
+ - rscadd: Reports of syndicate base on lavaland has been outfitted with a state
+ of the art donksoft toy weapon dispenser.
+2017-05-24:
+ Joan, WJohnston:
+ - rscadd: Adds marker beacons to mining as a vendible item. They can be bought in
+ stacks of 1, 10, and 30 at a rate of 10 points per beacon.
+ - rscadd: Miners start with a stack of 10 in their backpack, and the Extraction
+ and Rescue Kit contains a stack of 30.
+ - rscadd: Marker beacons come in a large selection of colors and simply light up
+ a small area when placed, but are useful as a path marker or to indicate dangers.
+ QualityVan:
+ - rscadd: Hairless hides now become wet when exposed to water
+ - rscadd: You can microwave wet leather to dry it
+ - bugfix: Inserted legion cores no longer work if they went inert before implanting
+ Steelpoint:
+ - rscadd: Sketchin alternative magazines (Armour Piercing, Hollow Point, Incendiary)
+ now have unique sprites to better identify them.
+ - rscadd: ERT Sec Tactical Energy Guns now have a unique sprite.
+ - tweak: Changes to production of Nanotrasen Auto Rifle armour piercing bullets
+ have now made AP bullets better able to penetrate armour, but at the cost of
+ the amount of possible damage the bullet can do to soft targets.
+ - rscadd: Many Ballistic weapons now have new sounds related to reloading or placing
+ bullets into magazines.
+ - rscadd: Boxstation armoury weapon racks now have glass panes to help prevent the
+ weapons easily flying out of a breached hull.
+ - bugfix: Fixed Battleship Raven's bridge blast doors not working.
+ Tacolizard:
+ - tweak: Station based armour is slightly more descriptive of what it does.
+ That Really Good Soda Flavor:
+ - tweak: Changed spray tan overdoses to be more realistic.
+ - rscadd: People who are high and beach bums can now talk in their own stoner language.
+ - tweak: Beach bums can only communicate with other beach bums and people who are
+ high.
+2017-05-25:
+ 4dplanner:
+ - bugfix: crushers now apply marks properly
+ - rscadd: 20% of internal affairs agents are actually traitors
+ 4dplanner, robustin:
+ - bugfix: c4 has always taken 3 seconds to plant, and you are not allow to believe
+ otherwise
+ Crexfu:
+ - spellcheck: typo fix for origin tech
+ Cyberboss:
+ - experiment: Explosions will no longer have a start up delay
+ - bugfix: Indestructible objects can no longer be destroyed by bombs
+ Oldman Robustin:
+ - tweak: Gang mode now calls a 4 minute unrecallable shuttle once 60% of the crew
+ is dead
+ ohnopigeons:
+ - balance: The cost of plasma has been reduced from 500 to 300, but retain their
+ immunity to saturation
+2017-05-26:
+ Moonlighting Mac says:
+ - rscadd: You can now craft a strong cloak with a hood made out of goliath and monster
+ materials from within the primitive crafting screen.
+ - rscadd: The cloak has a suit slot for all kind of primitive supplies, however
+ it cannot carry most electronic miner equipment.
+ - balance: Due to the recipe requiring leather, it is not normally accessible to
+ all ghost roles without a source of water & electricity.
+ kevinz000:
+ - rscadd: You can now add bayonets to kinetic accelerators. However, only combat
+ knives and survival knives can be added. Harm intent attacking things will cause
+ you to attack that thing with the bayonet instead!
+2017-05-28:
+ ClosingBracket:
+ - tweak: Allows explorer webbings to hold marker beacons.
+ Expletive:
+ - tweak: E-Cigarettes can now fit in your pocket.
+ Iamgoofball:
+ - bugfix: After the Syndicate realized their top chemist was both mixing a stamina
+ destroying drug with a stimulant to avoid slowdowns entirely in their sleepypens,
+ they fired him and replaced him with a new chemist.
+ Joan:
+ - rscadd: Miner borgs can now place marker beacons from a storage of 30.
+ - bugfix: Necropolis tendrils will once again emit light.
+ - rscadd: The kinetic crusher can now gain bonus effects via trophy items gained
+ by killing bosses with it.
+ - rscadd: Yes, you do have to kill the boss primarily doing damage via the kinetic
+ crusher, or you won't get the trophy item and the bonus effect it grants.
+ Kor:
+ - bugfix: The chaplains possessed blade, shades, and constructs, can once again
+ speak galactic common.
+ QualityVan:
+ - bugfix: Bayonets can now be used for butchery
+ - tweak: Cloning pods which are interrupted by a emagging will now produce a slightly
+ lumpier smoothie
+ - bugfix: Cloning pods that have stopped cloning early can no longer be broken open
+ to extract leftover parts
+ - bugfix: Crew monitoring consoles once again have minimaps while you're on the
+ station level
+ Steelpoint:
+ - rscadd: A New Iron Hawk troop transport ruin has been added to lavaland. Can the
+ sole surviving Marine somehow survive the horrors of lavaland? Lore fluff included.
+ - rscadd: Central Command has listened to complaints and, as such, has now stationed
+ "real" Private Security Officers at centcom docks.
+ - rscadd: A new Nanotrasen Security Officer NPC variant is available to admins,
+ this 'peaceful' version will only attack people who attack it first. Great for
+ keeping order.
+ Swindly:
+ - bugfix: fixed not being able to attach heads without brainmobs in them
+ cacogen:
+ - rscadd: You can now rename dog beds by buckling a new owner to them
+ - rscadd: Dogs that spawn in an area with a vacant bed will take possession of and
+ rename the bed
+ - rscadd: Adds AI follow links to holopad speech and PDA messages. Note that PDA
+ messages point to the owner of the PDA and not the PDA's actual location.
+ - bugfix: Fixes PDA icon not showing up beside received messages for AIs
+ kevinz000:
+ - rscadd: Nanotrasen's new titanium wall blueprints are smooth enough that it can
+ reflect projectiles!
+2017-05-29:
+ Joan:
+ - spellcheck: Renames hivelord and legion cores to 'regenerative core'. Their descs
+ have also been updated to be more clear.
+ Nanotrasen Plasmaman Outreach Division:
+ - tweak: plasmaman tank volume has been increased from 3 to 6.
+ XDTM:
+ - balance: Abductors have learned how to properly delete the memories of their test
+ subjects.
+ bandit:
+ - tweak: The officer's sabre standard in Nanotrasen captain rollouts can be used
+ to remove the tails of lizard traitors, or lizards in general.
+ oranges:
+ - rscadd: AI's can now hang up all holocalls at a station with alt+click
+2017-05-30:
+ Expletive:
+ - rscadd: Luxury versions of the bluespace shelter capsule are now available! Purchase
+ them at the mining equipment vendor.
+ - rscadd: 'Cardboard cutouts have a new option: Xenomorph Maid'
+ - rscadd: Black Carpet can now be crafted using a stack of carpet and a black crayon.
+ - rscadd: Black fancy tables can now be crafted using Black Carpet.
+ - rscadd: Shower curtains can now be recoloured with crayons, unscrewed from the
+ floor, disassembled with wire cutters, and reassembled using cloth, plastic,
+ and a metal rod.
+ kevinz000:
+ - rscadd: Research and Development have recieved designs for new prototype Beam
+ Marksman Rifles. These rifles require a short aiming cycle to fire, however,
+ have extreme velocity over other weapons.
+ - experiment: Aiming time is 2 seconds, hold down mouse to aim, aiming time increases
+ if you change your aim based on angle changed, or if you move while aiming.
+ The weapon can not be fired while unscoped.
+ - rscdel: However, someone tripped and pulled out the power cord while your servers
+ were being updated with the latest revision of accelerator laser cannons. All
+ data have been lost...
diff --git a/html/changelogs/archive/2017-06.yml b/html/changelogs/archive/2017-06.yml
new file mode 100644
index 0000000000..2c3d4ee85c
--- /dev/null
+++ b/html/changelogs/archive/2017-06.yml
@@ -0,0 +1,517 @@
+2017-06-02:
+ Cyberboss:
+ - experiment: New server backend!
+ - tweak: Test merged PRs now show the commit of the PR at which they were merged
+ Expletive:
+ - rscadd: Adds the NT75 Electromagnetic Power Inducer, a tool which can be used
+ to quickly recharge many devices! They can be found in Electrical Closets, the
+ CE's locker, ordered by cargo, or created in RnD.
+ Goodstuff:
+ - bugfix: Fixes the crafting recipe for black carpet
+ - bugfix: Removed a random white dot on the black carpet sprite
+ Joan:
+ - rscadd: Goliaths, Watchers, and Legions have a small chance of dropping a kinetic
+ crusher trophy item when killed with a kinetic crusher. Like the boss trophy
+ items, these give various effects.
+ - tweak: Kinetic crushers recharge very slightly slower.
+ - rscadd: Three unique Kinetic Accelerator modules will now appear in necropolis
+ chests.
+ MMMiracles (Cerestation):
+ - rscadd: CereStation's Security department has been overhauled entirely thanks
+ to the tireless efforts of Nanotrasen's construction division.
+ Nanotrasen Mining Alert:
+ - rscadd: Nanotrasen's mining operations have created far more corpses than an entire
+ galaxy of cooks could hope to deal with. To solve this, we decided to just dump
+ them all from orbit onto the barren lava planet. Unfortunately, the creatures
+ called "Legion" have infested a great number of them, and you can now commonly
+ find the bodies of former Nanotrasen employees left behind. Additionally, there
+ are reports of natives, other settlers, and even stranger things found among
+ the corpses.
+ QualityVan:
+ - tweak: The tactical rigging in op closets is more tacticool
+ Shadowlight213:
+ - balance: The reset wire on borgs must now be cut to reset a borg's module instead
+ of pulsed.
+ - tweak: Portable pump max pressure has been lowered.
+ Steelpoint:
+ - tweak: Iron Hawk Marine no longer has Centcom all access. My mistake.
+ - bugfix: Fixes Iron Hawk marine carbine not having a visible sprite.
+ Swindly:
+ - balance: Nitrous oxide no longer produces water as a by-product, requires 2 parts
+ ammonia instead of 3, and produces 5 parts when made instead of 2.
+ kevinz000:
+ - experiment: Gang turrets now follow the mouse of the person using them! Yay!
+ octareenroon91:
+ - bugfix: Attempts to add items to a storage container beyond its slots limit will
+ now obtain a failure message again.
+2017-06-03:
+ Expletive:
+ - tweak: Chem Dispensers now store their power in their batteries.
+ - tweak: Instead of being based on battery and capacitor ratings, recharge delay
+ for portable chem dispensers is now based on their capacitor and matter bin
+ ratings.
+ - tweak: The Seed Vault's chemical dispenser now has all the chemicals a pod person
+ could want.
+ - rscadd: The crafting menu now has subcategories!
+ - rscadd: Food recipe categories have been combined as subcategories of the Foods
+ category.
+ - rscadd: Weaponry and Ammunition have been combined as subcategories of the Weaponry
+ category.
+ Improvedname:
+ - rscadd: Janitors now start with a flyswatter
+ Mothership Epsilon:
+ - tweak: All your base are belong to us.
+ Penguaro:
+ - bugfix: '[Box] Removes extra/unattached vent from Xeno Lab'
+ Planned Spaceparenthood:
+ - bugfix: We would like to apologize for mislabeled cloning pod buttons.
+ WJohnston:
+ - bugfix: Deltastation's south nuke op shuttle location should no longer be possible
+ to teleport into by moving off the map and back on, and moved the rest closer
+ to the station.
+ p440:
+ - bugfix: Fixed duping cable coils with magic APC terminals
+ - bugfix: Fixed invalid icon state for empty APCs
+2017-06-04:
+ Expletive:
+ - rscadd: Many stacks now update their sprite based on their amount.
+ - rscadd: Stacks will now weigh less if they're less than full.
+ - imageadd: Added new icon states for glass, reinforced glass, metal, plasteel,
+ plastic, plasma, plastitanium, titanium, gold, silver, adamantine, brass, bruise
+ packs, ointment, gauze, cloth, leather, wet leather, hairless hide, human hide,
+ ash drake hide, goliath hide, bones, sandstone blocks, and snow blocks.
+ - tweak: Some lavaland stacks' max amounts have been reduced.
+ - bugfix: Bulldog Shotguns should update their sprite properly when you remove the
+ magazine.
+ - bugfix: Riot suits no longer hide jumpsuits.
+ Joan:
+ - balance: Rod Form now costs 2 points, from 3.
+ - balance: Rod Form now does 70 damage, from 160, but gains 20 damage, per upgrade,
+ when upgraded. This means you'll need to spend 6 points on it to instantly crit
+ people from full health.
+ Swindly:
+ - balance: Chemical grenades are no longer permanently disabled after being unlocked
+ by wirecutters after being primed.
+2017-06-05:
+ Expletive:
+ - rscadd: The Ore Redemption Machine has been ported to TGUI. New features include
+ the addition of "Release All" and "Smelt All" buttons.
+ - rscadd: The Ore Redemption Machine now be loaded with sheets of material.
+ - rscadd: The Ore Redemption Machine can now 'smelt' Reinforced Glass.
+ Joan:
+ - balance: Only human and silicon servants can help recite multi-invoker scriptures.
+ This means cogscarabs, clockwork marauders, and anima fragments DO NOT COUNT
+ for scriptures that require multiple invokers.
+ - balance: Clockcult scripture tiers can no longer be lost by dipping below their
+ requirements once they are unlocked.
+ - rscdel: Removes Revenant scriptures entirely.
+ MMMiracles:
+ - tweak: Deepstorage ruin has been redone to be more self-sufficient and up to better
+ mapping standards.
+2017-06-06:
+ Joan:
+ - rscadd: Added a new unique Kinetic Accelerator module to necropolis chests.
+ - spellcheck: Renames Clockwork Proselytizers to Replica Fabricators.
+ - balance: Replica Fabricators can directly consume floor tiles, rods, metal, and
+ plasteel for power instead of needing to convert to brass first.
+ - balance: Cogscarabs can no longer use guns.
+ - tweak: KA modkits in necropolis chests are now design discs with designs for those
+ modkits, to force miners to bring back minerals.
+ PKPenguin321:
+ - bugfix: The fake pits that the arcade machines can vend now vend properly, for
+ real this time.
+ Robustin:
+ - rscadd: The cult master has finally acquired their 3rd spell, Eldritch Pulse.
+ This ability allows the cult master to quickly teleport any cultist or cult
+ structure in visual range to another tile in visual range. This spell has an
+ obvious spell effect that will indicate where the target has gone but without
+ explicitly revealing who the master is. This spell should assist with moving
+ obstinate cultists off an important rune, getting wandering cultists back onto
+ an important rune, save a cultist from an untimely arrest/summary execution,
+ assist in getting your allies into secure areas, etc.
+ - bugfix: The void torch now only works on items that have been placed on surfaces,
+ this prevents the inventory bugs associated with this item.
+ thefastfoodguy:
+ - tweak: you can burn your brains out with a flashlight if you're tired of life
+2017-06-07:
+ Expletive:
+ - rscadd: New plasma medals have been added to the Captain's medal box. Don't get
+ them too warm.
+ - imageadd: New sprites for plasma medals.
+ - imageadd: Icon and worn sprites for all medals and the lawyer's badge have been
+ improved. Worn medals more closely match their icons.
+ - tweak: The bone talisman is an accessory again, so it's not useless.
+ - imageadd: It also has a new worn sprite, based on an arm band.
+ - imagedel: Ties have been removed from accessories.dmi and vice versa. Same for
+ the explorer's webbing sprites that were in there. ties.dmi is now neck.dmi,
+ and has sprites for scarves, ties, sthetoscopes, etc.
+ - tweak: Examining an accessory now tells you how to use it.
+ Joan:
+ - spellcheck: Renamed Volt Void to Volt Blaster.
+ - tweak: Volt Blaster does not consume power when firing and does not cause backlash
+ if you don't fire.
+ - balance: Volt Blaster does 25 damage, from 20-40 depending on power, and has 5
+ shots, from 4, over its duration.
+ QualityVan:
+ - bugfix: Surplus rifles are no longer invisible while unloaded
+ Shadowlight213:
+ - balance: The Changeling Transformation Sting is once again stealthy. However,
+ it no longer transfers mutations.
+ - balance: The chemical cost of Transformation Sting has been increased to 50
+2017-06-08:
+ 4dplanner:
+ - bugfix: traitors show up on antagHUD
+ Expletive:
+ - tweak: The detective's flask has Hearty Punch instead of whiskey.
+ - bugfix: The Detective's fedora no longer clips with hair.
+ - imageadd: Adds 91 new sprites to fix clipping issues with the Detective's fedora
+ and hair.
+ - imageadd: Change the standard fedora to match the detective and treasure hunter
+ variants.
+ - tweak: Detective, Treasure Hunter, and standard fedoras now all benefit from new
+ sprites.
+ Joan:
+ - balance: Tinkerer's Daemons are no longer totally disabled if you drop below the
+ servant requirement.
+ - balance: Instead, Tinkerer's Daemons will disable until the number of active daemons
+ is equal to or less than one-fifth of the living Servants.
+ - tweak: Tinkerer's Daemons produce components very slightly slower.
+ - rscadd: Added Prolonging Prism as an application scripture.
+ - balance: Prolonging Prism will delay the arrival of an emergency shuttle by 2
+ minutes at the cost of 2500W of power plus 75W for every 10 CV and 750W for
+ every previous activation. In addition to the high cost, it very obviously affects
+ the shuttle dock and leaves an obvious trail to the prism.
+ - balance: Script scripture now requires 6 Servants to unlock, from 5, and Application
+ scripture now requires 9 Servants to unlock, from 8.
+ Lzimann + Cyberboss:
+ - experiment: Ported goonchat. Much less laggy and crashy than BYOND chat. + Frills!
+ NanoTrasen Public Relations Department:
+ - rscadd: A mining accident has released large amounts of space dust, which is starting
+ to drift near our stations. Don't panic, it's probably safe.
+ Nanotrasen Plastic Surgery Advert:
+ - rscadd: Are you a mutant? Were you born hideously deformed? Do you have ears growing
+ out of the top of your head? Or even a tail? Don't worry, with our patented
+ surgical techniques, Nanotrasen's highly trained medical staff can make you
+ normal! Schedule an appointment, and one of our surgeons can see you same day.
+ - balance: Cat ears now give you double the ear damage.
+ QualityVan:
+ - bugfix: Cremators now still work when there's only one thing in them
+ - bugfix: The ORM now uses the intended amount of resources when making alloys
+ - rscdel: Cyborgs can no longer alt-click their material stacks to split them
+ Robustin:
+ - balance: The blood cult can only attempt to summon Nar-Sie in one of three rooms
+ that are randomly selected at round-start.
+ Shadowlight213:
+ - rscadd: Tracking implants and chem implants have been added to rnd
+ - rscdel: Adrenaline and freedom implants have been removed from rnd
+ Xhuis:
+ - tweak: Defibrillator paddles will no longer stick to your hands, and will snap
+ back onto the unit if you drop them somehow.
+ lzimann:
+ - rscdel: Xeno queens can no longer be maids
+ oranges:
+ - rscadd: Added stungloves to the brain damage lines
+2017-06-09:
+ Nanotrasen Shiny Object Appreciation Club:
+ - rscadd: The RD and HoS now receive medal lockboxes in their lockers, containing
+ science and security medals, respectively.
+ Tacolizard and Cyberboss, idea by RandomMarine:
+ - rscadd: You can now add a commendation message when pinning a medal on someone.
+ - rscadd: Medal commendations will be displayed when the round ends.
+ - tweak: Refactored the outfit datum to allow accessories as part of an outfit.
+ - bugfix: The Captain spawns with the Medal of Captaincy again.
+ TrustyGun:
+ - rscadd: Some of the clown's toys have been moved into a crate in the theater.
+ If you think you are missing something, check in there.
+ - rscadd: Wooden crates have been added. You can construct them with 6 wooden planks,
+ and deconstruct them the same way as regular crates
+ oranges:
+ - tweak: Security minor and major crime descriptors are now a single line input,
+ making it easier to add them
+ - tweak: Medical record descriptions are single inputs now
+2017-06-11:
+ Expletive:
+ - imageadd: Glass tables are shinier
+ Nanotrasen Consistency Affairs:
+ - bugfix: You no longer see yourself in place of the user when examining active
+ Spirit Sight runes.
+ Shadowlight213:
+ - bugfix: Cloning dismembered heads and brains now respects husking and other clone
+ preventing disabilities.
+ WJohn:
+ - bugfix: It is now easier to wire the powernet into box's telecomms SMES cell.
+ Xhuis:
+ - rscadd: You can now pin papers and photos to airlocks. Anyone examining the airlock
+ from up close can see the details. You can cut them down with wirecutters.
+ lordpidey:
+ - rscadd: Added F.R.A.M.E. cartridge to uplinks. This PDA cartridge contains 5
+ viruses, which when used will unlock the target's PDA into a syndicate uplink,
+ in addition, you will receive the code needed to unlock the uplink again, if
+ you so desire.
+ - rscadd: If you use telecrystals on a F.R.A.M.E. cartridge, the next time it is
+ used, it will also give those crystals to the target uplink.
+ octareenroon91:
+ - bugfix: Mecha tools now respond to MMI control signals as intended.
+ shizcalev:
+ - tweak: '"Species immune to radiation are no longer compatible targets of radiation
+ based DNA injectors."'
+ - bugfix: '"A gun''s firing pin will no longer malfunction when placed into your
+ own mouth. Phew!"'
+ - imageadd: '"Bedsheets capes are now slightly more accurate. Be jealous of the
+ clown and their sexy cape!"'
+2017-06-13:
+ Expletive:
+ - tweak: Paper planes are now the same color as the paper used to make them.
+ - bugfix: Flashdarks can no longer be used to examine head based organs.
+ Fox McCloud:
+ - tweak: Tweaked game options animal speed value to match live server
+ Joan:
+ - spellcheck: Renamed AI liquid dispensers to foam dispensers.
+ - tweak: Foam dispensers now activate immediately when clicked, rather than forcing
+ the user to go through a menu. They also have better visual, message, and examine
+ feedback on if they can be activated.
+ MrStonedOne:
+ - experiment: Added some code to detect the byond bug causing clients to send phantom
+ actions shortly after connection. It will attempt to fix or work around the
+ issue.
+ Nanotrasen Robotics Department:
+ - rscadd: To aid in general-purpose cleaning and maintaining of station faculties,
+ all janitor cyborgs are now outfitted with a screwdriver, crowbar, and floor
+ tile synthesizer.
+ WJohnston:
+ - bugfix: Survival bunker ruin's power now works, mostly.
+ shizcalev:
+ - tweak: '"Radiation immune species are now incompatible with the radiation based
+ genetics DNA scanner/modifier."'
+2017-06-14:
+ Expletive:
+ - rscadd: The medalboxes are now fancy.
+ - imageadd: New sprites for opened medal boxes.
+ Joan:
+ - tweak: Being converted to clockcult will briefly cause your world to turn yellow
+ and you to hear the machines of Reebe, matching the description in the messages.
+ - spellcheck: The messages for being converted and for failing conversion to clockcult
+ have been updated.
+ Tacolizard:
+ - bugfix: Flamethrowers no longer say they're being ignited when you extinguish
+ them
+2017-06-17:
+ Cyberboss:
+ - tweak: NT now provides education on the proper response for experiencing the excrutiating
+ pain of varying degree burns (You scream when burning)
+ Expletive:
+ - rscadd: The Captain now starts with a deluxe fountain pen in their PDA.
+ - rscadd: The quartermaster, curator, research director, lawyer, and bartender start
+ with normal fountain pens in their PDAs.
+ - rscadd: Cargo can order fountain pens via the Calligraphy Crate.
+ - rscadd: Nerds on the station will be pleased to know they now have pocket protectors.
+ - bugfix: Cryo cells work properly on mobs with varying max health values.
+ Joan:
+ - rscdel: Cultists must be human to run for Cult Master status.
+ - tweak: The Hierophant is a little less chaotic and murdery on average.
+ LanCartwright:
+ - rscadd: Penguins, penguin chicks, penguin eggs.
+ - rscadd: Penguin family to Winter Wonderland.
+ MrStonedOne and Lummox JR:
+ - bugfix: Fixed icon scaling and size preferences not loading (Technically size
+ preferences were loading because byond saves that locally, but that's not reliable
+ because ss13 shares a hub)
+ QualityVan:
+ - rscadd: The botany vending machine now has a stock of onion seeds
+ RandomMarine:
+ - tweak: RCDs now always use matter consistent with the material needed when building.
+ - tweak: Floors now cost 3 or 1 matter to build, based on if a lattice exists on
+ the tile.
+ - tweak: Reinforced windows cost 12 matter. Normal windows cost 8 matter. (Both
+ up/down from 10)
+ - tweak: Glass airlocks cost 20 matter.
+ - tweak: RCDs are faster at building grilles and plain glass windows.
+ Steelpoint:
+ - tweak: Slightly reshuffles the Head of Security's, and Research Directors, locker
+ to place fluff items below essential items.
+ Tacolizard:
+ - rscdel: Flashes no longer have a tech requirement
+ That Really Good Soda Flavor:
+ - bugfix: High luminosity eyes will have material science instead of an error research
+ type
+ Thunder12345 and Improvedname:
+ - rscadd: You can now turn severed cat tails and ears into genuine kitty ears
+ - rscadd: Cat tails can now be used to make a cat o' nine tails, similarly to the
+ liz o' nine tails.
+ Xhuis:
+ - spellcheck: The names of the hand drill, jaws of life, and emitter are now lowercase.
+ - spellcheck: The descriptions of the hand drill, jaws of life, and emitter have
+ been changed to be more descriptive and less lengthy.
+ - rscadd: Tablets with IDs in them now show the ID's name when examining someone
+ with that tablet in their ID slot, similar to a PDA would.
+ bandit:
+ - tweak: Default short/medium/long brig times are now, in order, 2, 3, and 5 minutes.
+2017-06-18:
+ Expletive:
+ - tweak: Stacks of space cash now tell you their total value and their value per
+ bill when you examine them.
+ RandomMarine:
+ - tweak: Compressed matter cartridge production costs now reflect their material
+ worth at basic efficiency.
+ - bugfix: Compressed matter cartridges can now be exported.
+ Xhuis:
+ - bugfix: Puny windows will no longer stop the progress of Ratvar.
+2017-06-19:
+ Expletive:
+ - rscadd: Paper frames can be created using wood and paper, and can be used to create
+ decorative structures.
+ - rscadd: Natural paper can now be crafted
+ - rscadd: KorPhaeron can now start a maid cafe, if they so desire.
+ - rscadd: Thanks to the invention of "Bill slots", vending machines can now accept
+ space cash.
+ - tweak: The Clown and Mime can now find their unique crayons stored inside their
+ PDAs
+ LanCartwright:
+ - rscadd: 1D4 into Lavaland Mining base crate.
+ RandomMarine:
+ - tweak: Bonfires now work on lavaland!
+ Tacolizard:
+ - rscadd: Repurposed the action button tooltip code to add tooltips with the examine
+ details of all held and equipped items. Hover your mouse over any item equipped,
+ held or in your inventory to examine it.
+ - rscadd: Examine tooltips can be toggled with the 'toggle-examine-tooltips' verb,
+ which can be typed or accessed from the OOC menu.
+ - rscadd: You can change the delay before a tooltip appears with the 'set-examine-tooltip-delay'
+ verb, also accessible via the OOC menu. The default delay is 500ms.
+2017-06-20:
+ Bawhoppen:
+ - bugfix: Grenade belts and bandoliers will no longer obscure half the screen when
+ they're completely filled.
+ LanCartwright:
+ - rscdel: Removed loot drops from Syndicate Simple mobs.
+ Tacolizard:
+ - rscadd: Some items now have custom force strings in their tooltips.
+ - bugfix: items with no force can still use a custom force string.
+ Xhuis:
+ - bugfix: The station's heaters and freezers have been sternly reprimanded and will
+ now drop the correct circuit boards and cable coils.
+ - rscadd: The straight jacket now takes five seconds to put on.
+ - bugfix: The display cases in luxury shelter capsules will no longer spawn unobtainable,
+ abstract offhand objects.
+ - bugfix: Disablers now have an in-hand sprite.
+ nicbn:
+ - imageadd: Changed cryo sprites to Bay cryopods, which show the person inside of
+ them.
+2017-06-22:
+ Bawhoppen:
+ - rscadd: Dressers are now constructable, and unanchorable with a wrench.
+ ClosingBracket:
+ - spellcheck: Fixes small typographical errors on flight suits and implanters.
+ Ergovisavi:
+ - tweak: Nanofrost setting and metal foam synthesizer on the Atmos watertank backpack
+ changed to "Resin", which is a solid, but transparent structure similar to metal
+ foam that scrubs the air of toxins, regulates temperature, etc
+ - tweak: Atmos holobarrier device swapped out for an Atmos holo-firelock device,
+ which creates holographic firelocks that prevent atmospheric changes from going
+ over them
+ Expletive:
+ - tweak: Flame thrower plasma tanks can be removed with alt-click.
+ Lordpidey:
+ - bugfix: True and arch devils are no longer deaf.
+ - bugfix: Fixed some edge cases with devils getting two sets of spells.
+ - bugfix: True/arch devils can now instabreak cuffs.
+ - rscadd: The codex gigas now indicates if a devil is ascendable or not.
+ - tweak: Hellfire has been buffed, it now explodes multiple times.
+ Nanotrasen Robotics Department:
+ - tweak: Traitor AIs' malfunction modules have received a firmware update and are
+ more responsive, with HUD buttons and more sensible menus.
+ - tweak: Overload and Override Machines now function differently; instead of right-clicking
+ a machine to choose a context menu option, you activate the ability, which lets
+ you left-click on a machine to overload or override it. This also changes your
+ cursor.
+ Xhuis:
+ - rscadd: Alt-clicking the Show/Hide Actions button will now reset the positions
+ of all action buttons.
+ - rscadd: Hints to the two shortcuts for action buttons are now included in the
+ Show/Hide Actions button's tooltip.
+ - rscadd: (As a reminder, that's shift-click to reset the clicked button, and alt-clicking
+ the Show/Hide Actions button to reset it and all the others!)
+ - spellcheck: The names of several objects, such as the holopad and biogenerator,
+ have been lowercased.
+ - spellcheck: Added some descriptions to a few objects that lacked them.
+ - rscadd: Tablets now have a built-in flashlight! It can even change colors, as
+ long as they're light enough in hue.
+ bandit:
+ - rscadd: Nanotrasen researchers have made the breakthrough discovery that Lavaland's
+ plants are, in fact, plants, and can be harvested with seed extractors.
+ ohnopigeons:
+ - bugfix: After a janitorial audit Nanotrasen has decided to further cut costs by
+ removing the janicart's secret space propulsion functionality
+2017-06-23:
+ BeeSting12:
+ - bugfix: The clowndagger now has the correct skin.
+ MrStonedOne:
+ - tweak: Makes old chat show while goonchat loads. Should goonchat fail to load,
+ the old chat will still be operational.
+2017-06-25:
+ Expletive:
+ - rscadd: Adds the skull codpiece, which can be crafted from parts of lavaland monsters.
+ - rscadd: Maid Costume aprons can now be detached and reattached to any uniform.
+ Improvedname:
+ - rscadd: You can now export cat ears/tails for 1000 credits
+ JJRcop:
+ - bugfix: Fixed telekinesis remote item pick up exploit
+ Kor:
+ - rscadd: Robotic legs now let you use pockets without a jumpsuit, and a robot chest
+ now lets you use the belt slot and ID slot without a jumpsuit.
+ RandomMarine:
+ - rscadd: Cargo can now export mechs!
+ Steelpoint:
+ - rscadd: Station Engineers spawn with a Industrial Welder in their toolbelt.
+ - tweak: Engineering Welder Locker now only holds three standard Welders.
+ - rscadd: An old Nanotrasen Space Station has quietly reawoken its surviving crew
+ one hundred years after they fell to slumber. Can the surviving crew, using
+ old, broken and out of date equipment, overcome all odds and survive, or will
+ the cold embrace of the stars become their new home?
+ - tweak: Nanotrasens Corps of Engineers has refitted and refurbished NTSS Boxstations
+ Engineering area into, what Centcom believes, a more efficient design.
+ That Really Good Soda Flavor:
+ - experiment: Added the ability for a holiday to start on the nth weekday of a month.
+ - experiment: Allahu ackbar! Added the ability to calculate Ramadan.
+ - rscadd: Added Thanksgiving, Mother's Day, Father's Day, Ramadan, and Columbus
+ Day to the possible holidays.
+ - bugfix: Fixed nuclear bombs being radioactive.
+ Xhuis:
+ - rscadd: You can now unfasten intercoms from walls and place them elsewhere on
+ the station.
+ - rscadd: Intercom frames can now be created at an autolathe for 75 metal and 25
+ glass.
+ - bugfix: Nearly-full goliath hide stacks now correctly have a sprite.
+2017-06-27:
+ Ergovisavi:
+ - bugfix: Fixed a few anomalous crystal effects
+ - bugfix: Fixes stacking atmos resin objects in a single tile
+ - tweak: Lasers now go through atmos resin objects
+ Joan:
+ - tweak: The Necropolis has been rethemed.
+ Kor:
+ - rscadd: Added dash weapons, which let you do a short teleport within line of sight.
+ - rscadd: The ninjas energy katana now lets him dash. He can no longer teleport
+ with right click.
+ - rscadd: Glass shards will no longer hurt people with robotic legs.
+ - rscadd: Mesons work on lavaland again.
+ Xhuis:
+ - spellcheck: The names of most glasses, like mesons, t-ray scanners, and night
+ vision goggles, have been lowercased.
+ - spellcheck: The thermonocle's description now changes based on the gender of the
+ person examining it.
+ - bugfix: Straight jackets can now properly be put onto others.
+ drline:
+ - bugfix: Nanotrasen finally sent out IT personnel to plug your modular consoles
+ back in. You're welcome.
+2017-06-28:
+ Cyberboss:
+ - rscdel: Cortical borers have been removed
+ Shadowlight213:
+ - rscadd: There is now a new monitor program that engineers can use to monitor the
+ supermatter status
+ Tacolizard:
+ - rscadd: NanoTrasen has now outfitted their employees with Extra-Loud(TM) Genetically
+ Modified Hearts! Now you can hear your heart about to explode when the clown
+ shoots you full of meth, or hear it slowly coming to a stop as you bleed out
+ in critical condition after being toolboxed by an unknown gas-mask wearing assistant.
diff --git a/html/changelogs/archive/2017-07.yml b/html/changelogs/archive/2017-07.yml
new file mode 100644
index 0000000000..df6eab55f4
--- /dev/null
+++ b/html/changelogs/archive/2017-07.yml
@@ -0,0 +1,318 @@
+2017-07-07:
+ Ergovisavi:
+ - tweak: Added a recovery window after some variable length megafauna attacks
+ - rscadd: Adds a new mob to the game, the "leaper"
+ - rscadd: Adds another planetstation mob, the "wanderer/mook" to the backend
+ - bugfix: Fixes a problem with player controlled leapers where they occasionally
+ can't fire
+ Joan:
+ - tweak: Rethemes the ash walker nest to match the Necropolis.
+ - balance: Chasms, asteroid turfs, basalt, and lava can no longer be made wet.
+ - rscadd: A strange new Resonant Signal has appeared on lavaland.
+ - tweak: Dreams while sleeping are now slightly longer on average and will contain
+ more possibilities.
+ - rscadd: Bedsheets may affect what you can dream.
+ Lexorion:
+ - imageadd: The portable PACMAN generators now have new icons, including on and
+ off states.
+ More Robust Than You:
+ - rscadd: Nanotrasen has added lids to their soda that POP! when opened. Up to 3
+ possible sounds!
+ - bugfix: brain damage should no longer attempt to emote/say things while unconcious
+ NanoTrasen Smithy Department:
+ - soundadd: Tasked by corporate heads to make NanoTrasen's line of captain rapiers
+ flashier, a few brave smiths have managed to forge their steel in a way that
+ enhances their swords' acoustic properties.
+ Shadowlight213:
+ - rscdel: The majority of the tiny fans on Deltastation have been removed.
+ - tweak: Airlocks going to space, and secure areas like the bridge and sec on Delta
+ have been given the cycling system.
+ - balance: The freedom suit no longer slows you down and can withstand the FIRES
+ OF LIBERTY!
+ Steelpoint (Ancient Station):
+ - rscadd: Major changes to Ancient Station include new sounds for the prototype
+ RIG hardsuit, the NASA Engineering Voidsuit slowing the user down properly and
+ new insulated gloves in engineering.
+ - rscadd: Several minor changes, such as an extra oxygen tank, spawn in equipment
+ and minor tile changes.
+ Supermichael777:
+ - balance: The AI swap menu is now given to the person with the multi-tool rather
+ than the Borg. Old behavior remains for all non multi-tool sources
+ - bugfix: Borgs and shells now notify when un-linked due to the wire being cut.
+ Tacolizard:
+ - bugfix: Nanotrasen has begun a program to inform the souls of the departed that
+ their hearts can't beat after death.
+ - bugfix: heartbeat noises now loop (i can't come up with any dumb fluff for this
+ one sorry)
+ That Really Good Soda Flavor:
+ - bugfix: Martial arts will no longer be transferred in cloning, etc. if they are
+ temporary (i.e. wrestling, krav maga).
+ Xhuis:
+ - tweak: Recollection has been separated into categories and should be easier to
+ read and more informative.
+ - bugfix: Ratvar has been reminded that he hates Nar-Sie and will now actively pursue
+ fighting her.
+ - bugfix: You can now properly dig out plants from patches of soil.
+ - bugfix: Reskinnable guns no longer become invisible after firing a single shot.
+ - bugfix: The kinetic crusher and other forced two-handed objects can now correctly
+ be stored in a bag of holding.
+ - bugfix: Positronic brains' icons will now properly change depending on status.
+ - tweak: Positronic brains will now stop searching as soon as they're occupied.
+ - tweak: Positronic brains now have error messages if activating them fails for
+ whatever reason.
+ - bugfix: Unconscious Servants are now properly informed when they're deconverted.
+ - bugfix: The Voice of God no longer specifically targets creatures like constructs
+ and clockwork marauders.
+ - bugfix: Heartbeat sounds no longer play indefinitely if your body is destroyed.
+ kevinz000:
+ - rscadd: Headphones have been provided to the station in Autodrobes, mixed wardrobes,
+ and fitness wardrobes. Please use them responsibly, and remember to focus on
+ your job above all else!
+ - experiment: Headphones fit in head, ears, OR neck slots!
+ ohnopigeons:
+ - bugfix: Nanotrasen Electronics have fixed a bug where issued factory-fresh PDAs
+ did not link to their cartridges, requiring manual reinsertion.
+ shizcalev:
+ - balance: Nanotrasen has upgraded the obsolete teleporter consoles on most NT branded
+ stations with newer ones preloaded with the newest Supermatter monitoring application!
+ - soundadd: The supermatter base now has a speaker and will provide audio cues as
+ to it's current status!
+ somebody:
+ - rscadd: Strong plasma glass windows
+2017-07-09:
+ Crexfu:
+ - tweak: 2 plasma sheets have been added to viro break room on box
+ More Robust Than You:
+ - bugfix: Plasma and Reinforced plasma glass no longer merge with Normal and Reinforced
+ Glass
+ Xhuis:
+ - bugfix: You can no longer catch objects that require two hands at all times with
+ only one hand.
+2017-07-11:
+ RandomMarine:
+ - rscadd: Drones can now switch between help and harm intent.
+ Tacolizard:
+ - rscadd: Admins can now set a message/warning when they delay the round end, to
+ be shown to anyone who tries to reboot the world.
+ Tacolizard and Cyberboss:
+ - rscadd: Added two new organs, the liver and stomach. Without them, you won't metabolize
+ chemicals.
+ - rscadd: The liver is responsible for processing all chemicals except nutrients.
+ If your liver is removed, you will be unable to metabolize any drugs and will
+ slowly die of toxin damage.
+ - rscadd: Drinking too much alcohol or having too many toxins in you will damage
+ your liver, if it becomes too damaged, it will undergo liver failure and you
+ will slowly die of toxin damage. Your liver naturally heals a small amount of
+ its damage. However, it doesn't heal enough to offset stronger alcohols or large
+ amounts of toxins, at least until they are metabolized out of your body.
+ - rscadd: to conduct a liver transplant, inject corazone into the patient. Corazone
+ will prevent the patient from taking damage due to either not having a liver
+ or undergoing liver failure. Corazone will metabolize out of the patient quickly,
+ so at least 50u is recommended.
+ - rscadd: The stomach is responsible for metabolizing nutrients. Without a stomach,
+ you will be unable to get fat, but you will also be unable to process any nutrients,
+ meaning you will eventually starve to death.
+ Xhuis:
+ - bugfix: Mobs spawned by Necropolis curses are now immune to chasms.
+ - tweak: The BoxStation warden's office now has a crew monitoring console.
+ - imageadd: Clockwork slabs now show icons of the components used in scripture instead
+ of initials.
+ factoryman942:
+ - bugfix: Boxstation Robotics now has 6 flashes, from 2.
+ - bugfix: Metastation Robotics now has 40 sheets of glass, instead of 20.
+ shizcalev:
+ - tweak: The supermatter reporting system has been updated to report remaining integrity,
+ as opposed to how unstable the SM currently is.
+2017-07-18:
+ BeeSting12:
+ - tweak: Deltastation's auxiliary storage in arrivals can be accessed by anyone
+ now.
+ - bugfix: Deltastation's cargo bay maintenance can now be accessed by cargo techs.
+ Dannno/Supermichael777/InsaneHyena:
+ - rscadd: You can now pick from a few different styles when augmenting someone with
+ robot parts by putting them in the augment manipulator. Alt+click to take parts
+ out.
+ Ergovisavi:
+ - bugfix: Fixed the refresher variant of the anomalous crystal making holodeck items
+ real
+ Fox McCloud:
+ - rscdel: blood and gibs on turfs can no longer infect nearby people
+ - tweak: Tuberculosis bypasses species virus immunity (it's not a virus!)
+ - tweak: Disease and appendicitis events no longer infect clientless mobs
+ - tweak: Disease event will no longer pick virus immune mobs
+ - tweak: Appendicitis event will no longer pick mobs without an appendix
+ - bugfix: Fixed changeling panacea curing non-harmful viruses
+ - bugfix: Fixes IV drips not properly injecting the right amount of blood
+ Joan:
+ - rscdel: Removed the Soul Vessel, Cogscarab, and Anima Fragment Scriptures.
+ - bugfix: The Ark of the Clockwork Justicar will still forcibly take up a 3x3 area
+ even if it still needs components to activate.
+ MrStonedOne & Fox-McCloud:
+ - tweak: Made pathfinding much quicker
+ NewSta:
+ - bugfix: Fixes the maid apron being invisible when in-hand or attached to the maid
+ outfit.
+ XDTM:
+ - experiment: Viruses and symptoms have been havily reworked.
+ - rscadd: Symptoms now have statistic thresholds, that give them new properties
+ or improve their existing ones if the overall virus statistic is above the threshold.
+ Check the pull request in github or the wiki (soon) for the full list.
+ - rscdel: Some symptoms no longer scale linearly with stats, and instead have thresholds.
+ - tweak: The symptom limit is now 6.
+ - rscdel: Viruses can no longer be made invisible to the Pandemic
+ - tweak: Symptoms no longer trigger with a 5% chance every second, but instead have
+ a minimum and maximum number of seconds between each activation, making them
+ more consistent.
+ - rscdel: The symptoms Blood Vomit and Projectile Vomit have been removed, and are
+ now bonuses for the base Vomit symptom.
+ - rscdel: The Weakness symptom has been removed as it was completely useless.
+ - tweak: The Sensory Destruction symptom has been reworked into Narcolepsy, which
+ causes drowsiness and sleep.
+ - tweak: Viral Aggressive Metabolism now has a timer before it starts decaying the
+ virus. It scales with the highest between Resistance or Stage Speed.
+ - rscadd: You can now neuter symptoms, making them inactive. They will still affect
+ stats. Adding formaldehyde to a virus will neuter a random symptom. A bottle
+ of formaldehyde starts in the virus fridge.
+ Xhuis:
+ - tweak: The tachyon-doppler array's rotation now has messages, sprites, and examine
+ text.
+ - bugfix: Time stop is now fixed, finally!
+ - soundadd: Time stop's sound now plays in reverse when the effect ends.
+ - bugfix: Missiles can no longer ricochet off of shuttle walls, etc.
+ - bugfix: Winter coats now hold all flashlights properly, instead of seclites.
+ Xhuis & Cyberboss:
+ - rscadd: New hivebot invasion event
+ kevinz000:
+ - rscadd: Personal Cabinets now have piano synthesizers for handheld piano playing.
+ - experiment: Thank @nicbn for the sprites!
+ ninjanomnom:
+ - experiment: Thank you for updating your ShuttlSoft product! Your last update was
+ -ERROR- years ago. A full changelog can be found at CYG10408.SHSO.b9 along with
+ the EULA. This update lays a foundation for new things to come and a sample
+ in the form of new and improved docking procedures.
+ shizcalev:
+ - bugfix: Cerestation's emergency shuttle autopilot will no longer fly you in reverse
+ back to Centcom!
+2017-07-27:
+ Anonmare:
+ - bugfix: Informs a person about how bomb cores work
+ BeeSting12:
+ - rscdel: Water bottles from the sustenance vendor are gone. Wait for the ice in
+ the ice cups melt, criminal scum.
+ - rscdel: There is no longer a sink in gulag. Hygiene is for the moral members of
+ society.
+ - tweak: Janitor and service cyborgs now get pocket fire extinguishers for fire
+ suppression and space propulsion.
+ - rscadd: Pubbystation's dorms now has a dresser.
+ - bugfix: Crafting satchels from leather now makes a leather satchel rather than
+ a regular satchel.
+ Fox McCloud:
+ - tweak: breathing plasma now causes direct tox damage
+ - tweak: breathing hot/cold air now warns you when you're doing so, again
+ - tweak: species heat/cold mod now impacts damage from breathing hot/cold gases
+ HAL 9000:
+ - bugfix: I'm sorry Dave, I'm afraid I can't do that
+ JStheguy:
+ - imageadd: Resprited the tablet, including completely redone screen sprites.
+ - rscadd: Tablets can now come spawn in one of 5 colors; red, green, yellow, blue,
+ and black.
+ - imageadd: Most alcohol bottles have been resprited, as well as a poster that used
+ one of the current bottles as part of it's design.
+ Joan:
+ - balance: Unwrenching clockwork structures no longer damages them.
+ - tweak: The Hierophant will now release a burst when melee attacking instead of
+ actually hitting its target.
+ - bugfix: The Hierophant Club's blasts will now properly aggro hostile mobs.
+ - tweak: The blood-drunk miner will fire its KA a bit more often.
+ PopNotes:
+ - soundadd: Nar-Sie now sounds like an eldritch abomination that obliterates worlds
+ instead of a sweet maiden that gently whispers sweet nothings in your ear.
+ Supermichael777:
+ - bugfix: delayed chloral hydrate actually works now.
+ Tacolizard:
+ - rscadd: Added cybernetic organs to RnD, they can be used to replace organic organs.
+ Remember to administer corazone during implantation though!
+ - rscadd: Added the upgraded cybernetic liver. It is exceptionally robust against
+ toxins and alcohol poisoning.
+ Xhuis:
+ - bugfix: Cyborgs now regenerate oxygen damage.
+ - bugfix: If a cyborg somehow takes toxin damage, it can be healed with cables as
+ though it was burn damage.
+ - spellcheck: Picking up ores by walking over them now longer spams messages, instead
+ showing one message per tile of ore picked up.
+ - tweak: You can now control-click action buttons to lock them and prevent them
+ from being moved. Alt-clicking the "Show/Hide Actions" button will unlock all
+ buttons.
+ - tweak: There is now a preference for if buttons should be locked by default or
+ not.
+ - rscadd: Pizza box stacks can now fall over
+ - imageadd: Pizza box inhands now stacks depending on how many you're holding.
+ - bugfix: Mining satchels no longer hold infinite amounts of ore.
+ - bugfix: Reviving Stasis now consistently regenerates organs.
+ - bugfix: Medibots now properly render the overlays of the medkits they are made
+ from.
+ - bugfix: The latest batch of Syndicate screwdrivers fell into a vat of paint and
+ were colored randomly. We have rinsed them off and they will no longer come
+ in random colors.
+ - bugfix: Supermatter slivers can now be stolen properly.
+ - tweak: Whenever you're trying to hack off your own limbs, you'll now always hit
+ those limbs.
+ Xhuis & MoreRobustThanYou:
+ - imageadd: Toolbelts now have overlays for crowbars, wirecutters, screwdrivers,
+ multitools, and wrenches.
+ Y0SH1_M4S73R:
+ - bugfix: Romerol zombies count as dead for assassinate and maroon objectives.
+ bandit:
+ - rscadd: New Cards against Spess cards are available!
+ ktccd:
+ - bugfix: Hijacking should now be possible again!
+2017-07-29:
+ Fox McCloud:
+ - rscadd: Sound should carry further, but should get quieter and quieter the further
+ you are from it
+ Joan:
+ - tweak: Sigils of Transmission can now drain power in a large area when activated
+ by a Servant.
+ - rscdel: Interdiction Lenses have been removed, as they were largely only used
+ to drain power into Sigils of Transmission.
+ - balance: Sigils can no longer directly be removed by Servants.
+ - balance: Prolonging Prisms have a higher cost to delay, but no longer increase
+ in cost based off of CV.
+ - balance: Base delay cost changed from 2500W to 3000W, cost increase per activation
+ changed from 750W to 1250W, cost increase per 10 CV changed from 75W to 0W.
+ - rscdel: Removed the Volt Blaster scripture.
+ - rscdel: Ratvarian spears can no longer impale.
+ - balance: Vitality Matrices now require a flat 150 Vitality to revive Servants,
+ from 20 + the Servant's non-oxygen damage. Vitality Matrices are also no longer
+ destroyed when reviving Servants.
+ - balance: Ratvarian spear damage changed from 18 to 20, Ratvarian spears now generate
+ 5 Vitality when attacking living targets. Ratvarian spear armour penetration
+ changed from 0 to 10.
+ - balance: The Judicial Visor's mark now immediately applies Belligerent and knocks
+ down for 0.5 seconds. Mark exploding no longer mutes, mark explosion stun changed
+ from 16 seconds to 1.5 seconds, mark explosion damage changed from 10 to 20.
+ More Robust Than You:
+ - rscadd: Nanotrasen has begun production of the Rapid Cable Layer, a tool that
+ helps you lay down cables faster
+ - rscadd: You can now craft ghetto RCLs with metal, a screwdriver, welder, and wrench.
+ They hold less cable, and may fall apart or jam!
+ Xhuis:
+ - spellcheck: Player-controlled medibots now receive a notice whenever they try
+ to heal someone with too high health.
+ - bugfix: Syringes now properly inject targets wearing thick clothing on different
+ slots.
+ - bugfix: Stun baton overlays now appear on security belts when active.
+ kevinz000:
+ - rscadd: 'Badmins: Buildmode map generators have names in the list to select them,
+ instead of paths.'
+ - rscadd: Also, a new map generator has been added, repair/reload station. Use it
+ VERY sparingly, it deletes the block of the map and reloads it to roundstart.
+ THIS CAN CAUSE ISSUES WITH MACHINES AND ATMOSPHERICS, SO DO NOT USE IT UNLESS
+ YOU ABSOLUTELY HAVE TO!
+ - experiment: The reload station one tagged DO NOT USE shouldn't be used as it doesn't
+ delete anything before loading, so if you use it you'll have two copies of things.
+ That can result in a LOT of issues, so don't use it unless you're a codermin
+ and know what you're doing/abusing!
+ ktccd:
+ - bugfix: Ashstorms no longer pierces the protected people to kill anyone/anything
+ in them.
diff --git a/html/changelogs/archive/2017-08.yml b/html/changelogs/archive/2017-08.yml
new file mode 100644
index 0000000000..91ad6f0a4b
--- /dev/null
+++ b/html/changelogs/archive/2017-08.yml
@@ -0,0 +1,215 @@
+2017-08-06:
+ Anonmare:
+ - rscadd: Surgical toolarm to protolathe and exofab
+ - tweak: Toolarm tools are less robust but more efficient at surgery
+ - tweak: Arm augments are no longer a huge item
+ AnturK:
+ - balance: Cyborg remote control range is now limited to 7 tiles.
+ Ergovisavi:
+ - rscadd: Adds the "seedling" planetstation mob to the backend
+ Floyd:
+ - bugfix: No longer does everyone look like a sick, nauseated weirdo!
+ Galactic Corgi Breeding Mills, LLC:
+ - bugfix: Fixed corgis being able to wear spacesuit helmets despite lacking the
+ proper code and sprites for them.
+ Joan:
+ - tweak: Colossus's shotgun is now a static-spread blast of 6 bolts, making it more
+ predictable.
+ - balance: Geis now mutes for 12-14 seconds and "stuns" the target, via a binding
+ effect, for 25 seconds instead of initiating a conversion.
+ - experiment: Geis's "stun" restrains the target and prevents them from taking actions,
+ but its duration is halved if the binding is not being pulled by a Servant.
+ - wip: Using Geis on a target prevents you from taking actions other than attempting
+ to pull the binding. If you are pulling the binding, you can dispel it at any
+ time.
+ - wip: As should be obvious, if the binding is destroyed or dispelled, you can once
+ again take normal actions.
+ - tweak: Sigils of Submission are now permanent and have been moved from the Script
+ tier to the Driver tier, with an according cost adjustment. They still do not
+ penetrate mindshield implants.
+ - rscdel: Removed Taunting Tirade.
+ - rscdel: Removed Sigils of Accession.
+ Lexorion:
+ - imageadd: Hearty Punch has a new, fancier sprite.
+ More Robust Than You:
+ - bugfix: RCL and Ghetto RCLs are no longer invisible
+ - bugfix: RCL action button now has a sprite
+ - bugfix: RCLs can no longer go inside you
+ XDTM:
+ - bugfix: Eyes can now be properly damaged.
+ Xhuis:
+ - spellcheck: Removed an improper period from the supermatter sliver theft objective's
+ name.
+ - bugfix: Alien hunters can no longer pounce through shields.
+ - bugfix: Observing mobs that have no HUD will no longer cause intense lighting
+ glare.
+ - bugfix: Objects on shuttles now rotate in the correct directions.
+ - soundadd: The speakers in the ceiling have been upgraded, and many sounds are
+ now less tinny.
+ Xhuis and oranges:
+ - bugfix: Banana cream pies no longer splat when they're caught by someone.
+ - soundadd: Throwing a pie in someone's face now has a splat sound.
+ kingofkosmos:
+ - bugfix: Fixed hair sticking through headgear.
+2017-08-13:
+ JStheguy:
+ - imageadd: Laptops now have actual sprites for using the supermatter monitoring
+ instead of defaulting to a generic one.
+ Joan:
+ - imageadd: Belligerent now has a visible indicator over the caster.
+ More Robust Than You:
+ - tweak: Mulligan and non-continuous completion checks will not consider afk/logged
+ out people to be "living crew".
+ - tweak: The wiki button now asks what page you want to be taken to
+ - tweak: His Grace now shows up on the orbit list
+ Pubby:
+ - rscadd: The Curator job is now available on PubbyStation
+ - rscadd: Beekeeping has been added to PubbyStation's monastery
+ - tweak: PubbyStation's bar has been rearranged
+ Xhuis:
+ - bugfix: Swarmer shells now have ghost notifications again.
+ - bugfix: Minebots no longer lack icons for their action buttons.
+ kingofkosmos:
+ - imageadd: Adds icon_states to the unused and used Eldritch whetstones. Sprites
+ by Fury McFlurry.
+2017-08-14:
+ Joan:
+ - imageadd: Ported CEV-Eris's APC sprites.
+ More Robust Than You:
+ - bugfix: Fixes a typo in the blobbernaut spawn text
+ WJohnston:
+ - rscadd: Adds an ore box and shuttle console to aux bases on all stations.
+ Xhuis:
+ - bugfix: The Resurrect Cultist rune now works as intended.
+ - bugfix: Cyborg energy swords now properly have an icon.
+ kingofkosmos:
+ - tweak: Canisters don't flash red lights anymore when empty.
+2017-08-19:
+ Anonmare:
+ - balance: Raised airlock deflection by one point
+ BeeSting12:
+ - balance: The meth explosion temperature has been raised.
+ FrozenGuy5/PraiseRatvar:
+ - balance: Nerfs L6 SAW Hollow Point Bullets from -10 armour penetration to -60
+ armour penetration.
+ Joan:
+ - balance: Deathsquads no longer get shielded hardsuits.
+ More Robust Than You:
+ - rscadd: Blobs can now sense when they're being cuddled!
+ - bugfix: Fixes mining hardsuit heat_protection
+ - bugfix: RCL icons are now better at updating
+ NewSta:
+ - bugfix: Fixes the wiki button
+ - spellcheck: Fixes a typo in the wiki button description
+ XDTM:
+ - rscadd: You can now click on symptoms in the Pandemic to see their description
+ and stats
+ Xhuis:
+ - soundadd: The station's explosion now uses a new (or old) sound.
+ - rscadd: Adds smart metal foam, which conforms to area borders and walls. It can
+ be made through chemistry by mixing foaming agent, acetone, and iron.
+ - rscadd: Smart metal foam will create foamed plating on tiles exposed to space.
+ Foamed plating can be struck with floor tiles to turn it into regular plating!
+ - spellcheck: The chat message has been removed from *spin. I hope you're happy.
+ nicbn:
+ - imageadd: Nanotrasen redesigned the area power controllers!
+ - imageadd: Thanks Xhuis for the contrast tweak on APCs
+2017-08-23:
+ Cobby:
+ - balance: Planting kudzu now has a short delay with a visible message to users
+ around you. Hit-N-Run planting is no longer possible.
+ - rscdel: kudzu bluespace mutation and spacewalk mutation are removed.
+ Cruix:
+ - rscadd: The syndicate shuttle now has a navigation computer that allows it to
+ fly to any unoccupied location on the station z-level.
+ Ergovisavi:
+ - tweak: Slightly increased the radius of the atmos resin launcher, and resin now
+ makes floors unslippery
+ Pubby:
+ - rscadd: Gorillas
+ - rscadd: Irradiating monkeys can now turn them into hostile gorillas
+ Shadowlight213:
+ - experiment: The amount of time spent playing, and jobs played are now tracked
+ per player.
+ - experiment: This tracking can be used as a requirement of playtime to unlock jobs.
+ ShizCalev:
+ - balance: Morphlings now have to restore to their original form before taking a
+ new one.
+ - bugfix: Morphlings will no longer have combined object appearances
+ Supermichael777:
+ - bugfix: Boss tiles have been reconstructed out of an unstoppable force.
+ TehZombehz:
+ - rscadd: Nanotrasen Culinary Division has authorized the construction of pancakes,
+ including blueberry and chocolate chip pancakes. Pancakes can be stacked on
+ top of each other.
+2017-08-26:
+ Cyberboss:
+ - rscadd: Added the credits roll
+ Iamgoofball:
+ - rscadd: Plasmamen now hallucinate with blackpowder in their system
+ Joan:
+ - balance: Geis bindings no longer decay faster if not pulled by a Servant, but
+ last for 20 seconds, from 25.
+ - tweak: Geis bindings will decay slower when on a Sigil of Submission, and, if
+ being pulled by a Servant when crossing a Sigil of Submission, will helpfully
+ remove the pull.
+ - tweak: Removing Geis bindings is no longer instant and can be done by any Servant
+ with a slab, not just the initiator.
+ - wip: Geis no longer prevents you from taking actions, but you remain unable to
+ recite scripture while the target is bound. In addition, dealing damage to a
+ bound target will cause the bindings to decay much more rapidly.
+ - rscadd: You can now remove sigils by hitting them with a clockwork slab for a
+ small refund.
+ More Robust Than You:
+ - balance: Lowers the chance for monkeys to become gorillas
+ - rscadd: Holoparasite prompts now have a "Never For This Round" option
+ Naksu:
+ - spellcheck: fixed inconsistent grammar between machines that derive from /obj/machinery/chem_dispenser
+ - spellcheck: touched up some chat messages to include references to objects instead
+ of "that" or "the machine" etc., also removed references to beakers being loaded
+ in machines that can accept any container
+2017-08-30:
+ CPTANT:
+ - balance: Hacked AI module cost is reduced to 9TC
+ Cobby & Cyberboss:
+ - rscadd: A stealth option for the traitor microlaser has been added. When used,
+ it adds 30 seconds to the cooldown of the device.
+ Cyberboss (unwillingly by Kor's hand):
+ - balance: You no longer take damage/are as heavily blinded in crit while above
+ -30HP
+ - balance: Whispering in crit above -30HP will not cause you to succumb
+ - balance: You can now hear in crit above -30HP
+ Joan:
+ - imageadd: Cult blades have updated item and inhand sprites.
+ Kor:
+ - rscadd: Added Shadow Walk, a new form of jaunt that lasts for an unlimited amount
+ of time, but ends if you enter a well lit tile. It is planned for use in a Shadowling
+ rework, but feel free to hassle admins to test it out in the mean time.
+ - balance: Slime people can consume meat and dairy again.
+ Lzimann:
+ - rscadd: Ghosts now have a way to see all available ghost roles! Check your ghost
+ tab!
+ MMMiracles:
+ - rscdel: Cerestation has been decommissioned. Nanotrasen apologizes for any spikes
+ of suicidal tendencies, sporadic outbursts of primitive anger, and other issues
+ that may of been caused during the station's run.
+ Naksu:
+ - bugfix: fixed portable chem dispensers charging 50% slower than intended when
+ initialized.
+ - bugfix: fixed portable chem dispensers getting faster charging rate every time
+ refreshparts() is called
+ Pubby:
+ - rscadd: Crew-tracking pinpointers to replace laggy crew monitoring console functionality
+ - rscadd: Crew-tracking pinpointers in medical vendors and the detective's office
+ RemieRichards:
+ - rscadd: AltClick listing now updates instantly on AltClick
+ - bugfix: AltClick listing no longer reveals obscured items
+ ShizCalev:
+ - tweak: The singularity now poses a threat towards asteroids as well as stations.
+ - tweak: All power systems will now report their wattage values in Watts, Kilowatts,
+ Megawatts, and Gigawatts. Gone are the days of seeing 48760 W total load when
+ working with an APC!
+ kingofkosmos:
+ - tweak: You can now unbuckle out a chair/bed by moving.
+ ninjanomnom:
+ - bugfix: Fixed a problem with shuttles being unrepairable under certain circumstances.
diff --git a/html/changelogs/archive/2017-09.yml b/html/changelogs/archive/2017-09.yml
new file mode 100644
index 0000000000..46b95edc69
--- /dev/null
+++ b/html/changelogs/archive/2017-09.yml
@@ -0,0 +1,255 @@
+2017-09-01:
+ Fury McFlurry:
+ - rscadd: Added more halloween costumes.
+ - rscadd: Among them are a lobster suit, a cold villain costume and some gothic
+ clothes
+ More Robust Than You:
+ - rscdel: Finally fucking removed gangs
+ MrStonedOne:
+ - rscadd: Player notes can now be configured to fade out over time to allow admins
+ to quickly see how recent notes are. Server Operators, check the config for
+ more info
+ Pubby:
+ - rscdel: The multiverse sword is toast
+ YPOQ:
+ - bugfix: Pouring radium into a ninja suit restores adrenaline boosts.
+ - bugfix: Adrenaline boost works while unconscious again.
+ - bugfix: Energy nets can be used again!
+2017-09-02:
+ Frozenguy5:
+ - tweak: Added new station prefixes, names and suffixes!
+ Tortellini Tony:
+ - tweak: Round-end credits can now be toggled on or off in the server game options.
+ XDTM:
+ - tweak: The Disease Outbreak event now can generate random advanced viruses, with
+ more symptoms and higher level as round time goes on.
+2017-09-11:
+ Anonmare:
+ - balance: Altered pressure plate crafting recipe
+ Basilman:
+ - rscadd: A strange asteroid has drifted nearby...
+ Firecage:
+ - rscadd: The NanoTrasen Department for Cybernetics (NDC) would like to announce
+ the creation of Cybernetic Lungs. Both a stock variety to replace traditional
+ stock human lungs in emergencies, and a more enhanced variety allowing greater
+ tolerance of breathing cold air, toxins, and CO2.
+ JJRcop:
+ - rscadd: Admins can now play media content from the web to players.
+ - rscadd: Adds a volume slider for admin midis to the chat options menu.
+ Jay:
+ - bugfix: Goliaths can be butchered again
+ Joan:
+ - tweak: While below 0 health but above -30 health, you will be able to crawl slowly
+ if not pulled, whisper, hear speech, and see with worsening vision.
+ - wip: The previous softcrit got reverted, for changelog context.
+ - rscdel: Standard attacks, such as swords, hulk punches, mech punches, xeno slashes,
+ and slime glomps, will no longer damage clothing.
+ Kor:
+ - rscadd: People in soft crit will take oxyloss more slowly than people in full
+ crit if they remain still.
+ - rscadd: People dragging themselves in critical condition will now leave blood
+ trails. This will rapidly deal oxyloss to you.
+ MrStonedOne:
+ - rscadd: Admins may now show the variables interface to players to help contributors
+ debug their new additions
+ Naksu:
+ - rscadd: Added TGUI interfaces to various smartfridges of different kinds, drying
+ racks and the disk compartmentalizer
+ Pubby:
+ - bugfix: Escape pods and PubbyStation's monastery shuttle are back in commission
+ Robustin:
+ - tweak: Golem shells no longer fit in standard crew bags.
+ Supermichael777:
+ - bugfix: Stands now check if their user got queue deleted somehow
+ VexingRaven:
+ - bugfix: Hearty Punch once again pulls people out of crit.
+ Xhuis:
+ - spellcheck: Various grammar in the Orion Trail arcade game has been tweaked.
+ - rscadd: You can now kill yourself in fun and creative ways with the hierophant
+ club.
+ - rscadd: Common lavaland mobs now have rare mutations! Keep an eye out for rare
+ Poke- err, monsters.
+ - imageadd: The hand drill and jaws of life now have sprites on the toolbelt.
+ YPOQ:
+ - bugfix: Windoors open when emagged again
+ as334:
+ - rscadd: Added a mass spectrometer to the detective's closet
+ basilman:
+ - rscadd: penguins may now have shamebreros, noot noot
+2017-09-13:
+ BeeSting12:
+ - balance: The stetchkin APS pistol is smaller.
+ - rscadd: The 9mm pistol magazines can be purchased from nuke op uplinks at two
+ telecrystals each.
+ Kor:
+ - rscadd: Added Nightmares. They're admin only currently, so as usual, make sure
+ to beg admins to be one.
+ - rscadd: The Chaplain may now choose the Unholy Blessing as a null rod skin.
+ KorPhaeron:
+ - rscadd: Added Jacob's ladder to the necropolis chest
+ Lordpidey:
+ - bugfix: Centcom roundstart threat reports are fixed, and can now be used to narrow
+ down the types of threats facing the station.
+ MrROBUST:
+ - rscadd: Mechs now can be connected to atmos ports
+ VexingRaven:
+ - bugfix: Changeling Augmented Eyesight ability now grants flash protection when
+ toggled off
+ - bugfix: Changeling Augmented Eyesight ability can now be toggled properly
+ - bugfix: Changeling Augmented Eyesight ability is properly removed when readapting
+ - bugfix: The syndicate have once again stocked the toy C20r and L6 Saw with riot
+ darts.
+ Xhuis:
+ - rscadd: You can now use metal rods and departmental jumpsuits to craft departments
+ for each banner.
+ - tweak: The lavaland animal hospital ruin has been remapped, including more supplies
+ as well as light sources.
+2017-09-14:
+ BeeSting12:
+ - balance: Deltastation's and Metastation's armory now starts with three riot shotguns!
+ Fun Police:
+ - rscdel: Removed some of the free lag.
+ Kor:
+ - bugfix: It is possible to multitool the cargo computer circuitboard for contraband
+ again
+ ShizCalev:
+ - bugfix: Holding a potted plant will no longer put you above objects on walls.
+ - bugfix: Replaced leftover references to loyalty implants with mindshield implants.
+ ninjanomnom:
+ - bugfix: Shuttle transit parallax should be working again
+2017-09-16:
+ Basilman:
+ - rscadd: Gondolas are now procedural generated.
+ Mey-Ha-Zah:
+ - imageadd: Updated the knife sprite.
+ Naksu:
+ - bugfix: Evidence bags will no longer show ghosts of items such as primed flashbangs
+ after the flashbang inside explodes
+ - bugfix: Prevents dead monkeys from fleeing their attackers or escaping His Grace
+ only to be eaten again
+ - rscdel: Corgis can no longer be targeted by facehuggers
+ - rscdel: Removed unused vine floors and their sprite.
+ Robustin:
+ - rscadd: Due to budget cuts, airlocks that control access to non-functional maint
+ rooms and other abandoned areas now have a chance to spawn welded, bolted, screwdrivered,
+ or flat out replaced by a wall at roundstart.
+ - bugfix: Dice will now roll when thrown
+ YPOQ:
+ - rscadd: Ninja adrenaline boost removes stamina damage
+ - bugfix: Depowered AIs can no longer use abilities or interact with machinery
+ - bugfix: The doomsday device will again periodically announce the time until its
+ activation
+ - bugfix: Crafting stackable items results in the right stack sizes
+2017-09-18:
+ More Robust Than you:
+ - balance: Blobbernauts are healed quicker by cores and nodes
+ Naksu:
+ - bugfix: OOC for dead people is now (re-)enabled at round-end
+ - bugfix: Fixed chemfridges being unable to display items with dots in their name
+ Pubby:
+ - rscadd: Traitorbro gamemode
+ Supermichael777:
+ - bugfix: Airlocks now check metal for upgrades using the standard get_amount()
+ proc instead of checking the amount var, this means it is compatible with cyborgs.
+ TungstenOxide:
+ - tweak: Swapped the action of purchasing a pAI software and subtracting the RAM
+ from available pool.
+ Xhuis:
+ - balance: Brave Bull now increases your max HP by 10, up from 5.
+ - rscadd: Tequila Sunrise now makes you radiate dim light while it's in your body.
+ - rscadd: Dwarves are now very resistant to the intense alcohol content of the Manly
+ Dorf and can freely quaff them without too much worry.
+ - rscadd: Bloody Mary now restores lost blood.
+2017-09-20:
+ PopNotes:
+ - imageadd: Airlocks animate faster. This doesn't change the time it takes to pass
+ through an airlock, but it does visually match up much better so you don't just
+ appear to glide through the airlock while it's half-open.
+ Pubby:
+ - bugfix: Atmos pipenets are less glitchy
+ TehZombehz:
+ - rscadd: Several new plushie dolls are now available in toy crates.
+2017-09-22:
+ AutomaticFrenzy:
+ - bugfix: Mice spawning finds the station z level properly
+ CPTANT:
+ - balance: Knockdown and unconcious now let you regenerate stamina damage.
+ - rscadd: Sleeping regenerates more stamina damage.
+ Naksu:
+ - bugfix: Admin ghosts can no longer unintentionally make a mess of things.
+2017-09-23:
+ Armhulen:
+ - rscadd: Rare Spider Variants have arrived! Every spiderling has a rare chance
+ of growing up to a rare version of their original spider type!
+ - rscadd: Special thanks to Onule for the sprites, you're the best!
+ JJRcop:
+ - rscadd: Suiciding with a ballistic gun now actually blows your brain out.
+ More Robust Than You:
+ - tweak: Taking the beaker out of a cryotube now tries to put it into your hand
+ - code_imp: Removed some spawn()s from secbot code
+ - bugfix: Using a soulstone on somebody now transfers your languages to the shade
+ - bugfix: Zombies now stay dead if they suicide
+ - rscadd: If a zombie suicides, they now rip their head off!
+ - bugfix: pAIs now transfer their languages to bots
+ - bugfix: Support Holoparasites must be manifested to heal
+ Robustin:
+ - balance: A zombie's automatic self-healing is stopped for 6 seconds after taking
+ damage.
+ - bugfix: Deconverted revs will now always get a message, logs will now include
+ more details.
+ YPOQ:
+ - bugfix: Pet persistence works again
+2017-09-27:
+ Arianya:
+ - balance: Lesser ash drakes no longer drop ash drake hide when butchered.
+ GLA Coding:
+ - tweak: Cells must now be installed in mechs when being constructed, this step
+ is always before the application of internal armor.
+ - bugfix: Combat mechs now get stats upgrades from their scanning modules and capacitors
+ Improvedname:
+ - rscadd: Adds racial equality to color burgers
+ More Robust Than You:
+ - rscadd: Implant Chairs now also support organs
+ Naksu:
+ - bugfix: Fixed jump boots breaking if used when you can't jump, such as when inside
+ a sleeper.
+ - code_imp: Removed meteor-related free lag.
+ - bugfix: Syndicate MMIs will now properly transfer their laws to newly-constructed
+ AIs
+ Pubby:
+ - rscadd: Bluespace pipes to atmospherics, which create a single pipenet with all
+ bluespace pipes in existence.
+2017-09-28:
+ RandomMarine:
+ - imageadd: Air tanks (o2+n2) now have a different appearance from oxygen tanks.
+ Robustin:
+ - tweak: Revheads no longer spawn with chameleon glasses or a spraycan, instead
+ they will start with a cybernetic security HUD implanted into their eyes.
+ Xhuis:
+ - rscadd: Ian has recently communed with unspeakable horrors and may now be warped
+ by their power if Nar-Sie passes near them.
+ - rscadd: In order to fight back against their ancient foe Ian, Poly has struck
+ a bargain with Ratvar and will be transformed into a machine by their presence.
+ Y0SH1_M4S73R:
+ - bugfix: AFK players count as dead for the assassinate objective.
+2017-09-29:
+ Kor:
+ - rscadd: Gunfire can now leave bullet holes/dents in walls. Sprites by JStheguy.
+ RandomMarine:
+ - rscadd: You can now light your cigs with people that are on fire. The surgeon
+ general is spinning in their grave.
+ Robustin:
+ - tweak: Hacking a secure container with a multitool now takes longer, but no longer
+ has a chance to fail.
+ XDTM:
+ - rscadd: Nurse spiders can now set a directive that will be seen by their spiderlings,
+ when they get controlled by a player.
+ - rscadd: Spiders' actions are now action buttons instead of verbs.
+ - rscadd: Wrapping stuff in a cocoon is now a targeted action!
+ kevinz000:
+ - rscadd: The syndicate have recently begun sending agents to extract vital research
+ information from Nanotrasen.
+ - bugfix: 'Timestop fields will now stop thrown objects experimental: Timestops
+ will now be much quicker to react.'
+ kingofkosmos:
+ - spellcheck: You can now find out if an item uses alt-clicking by examining it.
diff --git a/html/changelogs/archive/2017-10.yml b/html/changelogs/archive/2017-10.yml
new file mode 100644
index 0000000000..591a208961
--- /dev/null
+++ b/html/changelogs/archive/2017-10.yml
@@ -0,0 +1,622 @@
+2017-10-07:
+ Antur:
+ - bugfix: Liches will no longer lose their spells when reviving.
+ AnturK:
+ - rscadd: Wigs are now available in AutoDrobe
+ Cobby:
+ - admin: Players will now be notified automatically when an admin resolves their
+ ahelp.
+ Cyberboss:
+ - config: The shuttle may now be configured to be automatically called if the amount
+ of living crew drops below a certain percentage
+ - bugfix: Fixed a rare case where creating a one tank bomb would result in a broken
+ object
+ - bugfix: Fixed many cases where forced item drops could be avoided by not having
+ an item in your active hand
+ DaxDupont:
+ - rscdel: No more roundstart tips about gangs. You can finally start to forget gangs
+ ever existed.
+ Incoming5643:
+ - bugfix: The rarely utilized secret satchel item persistence system has been fixed
+ and made more lenient.
+ - rscadd: 'In case you forgot how it works: if you find or buy secret satchels,
+ put an item in them, and then bury them under tiles on the station you or someone
+ else can find them again in a future round with the item still there! Free satchels
+ can often be found hiding around the station, so get to burying!'
+ JJRcop:
+ - config: Hosts can now lock config options with the @ prefix. This prevents admins
+ from editing the option in-game.
+ - tweak: Admin volume slider moved to its own menu for better visibility.
+ Joan:
+ - bugfix: Fixes Vanguard never stunning for more than 2 seconds.
+ - balance: Ocular Warden base damage per second changed from 12.5 to 15.
+ - bugfix: Ocular Wardens no longer count themselves when checking for dense objects,
+ which decreased their overall damage by 15%.
+ - balance: Ocular Wardens now only reduce their damage by 10% per dense object,
+ and only do so once per turf. However, dense turfs now reduce their damage with
+ the same 10% penalty.
+ Kerbin-Fiber:
+ - bugfix: Wood is no longer invisible
+ Kor:
+ - rscadd: Nightmares now have mutant hearts and brains, with their own special properties
+ when consumed or implanted in mobs. Experiment!
+ - bugfix: You can now tell when someone is in soft crit by examining them.
+ - rscadd: Nightmares now have a chance to spawn via event.
+ More Robust Than You:
+ - bugfix: Fixes cogscarab sprites not updating
+ - balance: Blobs now take damage from particle accelerators
+ MrDoomBringer:
+ - rscadd: Nanotrasen, as part of their new Employee Retention program, has encouraged
+ more station point-makery by adding the "Cargo Tech of the Shift"! The award
+ is located in a lockbox in the Quartermaster's locker.
+ MrStonedOne:
+ - tweak: The MC will now reduce tick rate during high populations to keep it from
+ fighting with byond for processing time.
+ - config: Added config options to control MC tick rate
+ - admin: Admins can no longer manually control the mc's tick rate by editing the
+ MC's processing value, instead you will have to edit the config datum's values
+ for high/low pop tick rates.
+ Naksu:
+ - bugfix: Removed some of the free lag
+ - bugfix: Updates to station name are now reflected on Cargo's stock exchange computers.
+ - bugfix: Gutlunches will now once again look for gibs to eat.
+ - bugfix: Bees now come with reduced amounts of free lag
+ - balance: Pyrosium and cryostylane now react at ludicrous speeds.
+ - tweak: Made atmos tiny bit faster
+ - bugfix: Tweaks to atmos performance
+ Qbopper:
+ - tweak: Moved a locker blocking an airlock in Toxins maintenance.
+ RandomMarine:
+ - bugfix: Simple mobs should no longer experience severe hud/lighting glitches when
+ reconnecting.
+ Robustin:
+ - rscadd: Blood cultists can now create a unique bastard sword at their forge
+ - rscdel: Blood cultists can no longer obtain a hardsuit from the forge
+ - bugfix: Emotes (e.g. spinning and flipping) will now properly check for consciousness,
+ restraints, etc. when appropriate.
+ - bugfix: The Cult's bastard sword should now properly store souls and create constructs.
+ - bugfix: Neutering a disease symptom now produces a unique ID that will ensure
+ the PANDEMIC machine copies it properly.
+ ShizCalev:
+ - bugfix: You now have to unbuckle a player PRIOR to shaking them up off a bed or
+ resin nest.
+ - bugfix: Wizards will now have the correct name when attacked with Envy's knife!
+ - soundadd: Space ninja energy katanas now make a swish when drawn!
+ Supermichael777:
+ - balance: The detectives gun has been restored from a system change that nerfed
+ knockdown in general. We need to have a serious discussion about anti revolver
+ hate in this community.
+ - tweak: The PDA default font has been switched from "eye bleed" to old-style monospace.
+ Check your preference.
+ Thefastfoodguy:
+ - bugfix: Silicons can no longer take brain damage
+ - bugfix: Antimatter shielding that can't find a control unit won't delete itself
+ anymore
+ WJohnston:
+ - rscadd: Boxstation and Metastation's white ships now have navigation computers,
+ letting you move them around in the station, deep space, and derelict z levels.
+ XDTM:
+ - rscadd: Added the H.E.C.K. suit, a guaranteed loot frop from Bubblegum.
+ - rscadd: The H.E.C.K. suit is fully fire (and ash) proof, and has very good melee
+ armor.
+ - rscadd: H.E.C.K. suits can also be painted with spraycans, to fully customize
+ your experience.
+ - rscadd: Despite spending centuries inside a demon king, H.E.C.K. suits are most
+ definitely safe.
+ - bugfix: Fixed a bug where Viral Aggressive Metabolism caused viruses to be cured
+ instantly.
+ - bugfix: Fixed a bug where viruses' symptoms would all instantly activate on infection.
+ - rscadd: The CMO now has an advanced health analyzer in his closet! It can give
+ more precise readings on the non-standard damage types.
+ Xhuis:
+ - bugfix: Runed metal and brass are no longer invisible.
+ Xhuis and Y0SH1_M4S73R:
+ - bugfix: Servants of Ratvar now spawn in as the actual race set on their preferences,
+ with plasmamen getting the gear they need to not immediately die.
+ Y0SH1_M4S73R:
+ - balance: Gygax overdrive consumes at least 100 power per step
+ YPOQ:
+ - bugfix: Jaunters equipped on the belt slot will save you from chasms again.
+ kevinz000:
+ - rscadd: Wormhole event wormholes now actually teleport you.
+ - bugfix: portals now actually teleport on click.
+ kingofkosmos:
+ - rscadd: You can now see construction/deconstruction hints when examining airlocks.
+ - spellcheck: Beds, chairs, closets, grilles, lattices, catwalks, tables, racks,
+ floors, plating and bookcases now show hints about constructing/deconstructing
+ them.
+ nicbn:
+ - rscadd: Paperwork now uses Markdown instead of BBCode, see the writing help for
+ changes.
+ - imageadd: Changed the drop, throw, pull and resist icons.
+2017-10-15:
+ Armhulen:
+ - bugfix: Clockwork golems no longer slip and slide on glass!
+ Armie:
+ - tweak: Holoparasites are once again in the uplink.
+ Bawhoppen:
+ - tweak: Smoke machine board has been moved to tech storage.
+ DaxDupont:
+ - tweak: After lobbying by Robust Softdrinks and Getmore Chocolate Corp all vendor
+ firmware has been changed to add sillicons to their target demographic.
+ - spellcheck: Replaces instances of "permenant" and "permenantly" with the proper
+ spelling in several areas,
+ Epoc:
+ - rscadd: Added a Toggle Underline button to the PDA menu
+ - code_imp: Cleaned HTML spacing
+ Frozenguy5:
+ - bugfix: C20r damage upped from 20 to 30 (used to be 30 before an ammo cleanup
+ in the code)
+ GLACoding:
+ - bugfix: Syndicate turrets and other machines in walls can now be hit by projectiles
+ Improvedname:
+ - rscadd: You can now put custom name and lore on your holy weapon by using a pen
+ on it!
+ - tweak: Cmo, captain, and the bartender now get pet collars in their lockers.
+ Jambread/RemieRichards/Incoming5643:
+ - server: There is a new system for title music accessible from config/title_music
+ folder. This system allows for multiple rotating lobby music without bloating
+ Git as well as map specific lobby music. See the readme.txt in config/title_music
+ for full details.
+ - config: The previous method of title music selection, strings/round_start_sounds.txt
+ has been depreciated by this change.
+ Kor:
+ - balance: You can now smash the bulbs out of floodlights rather than having to
+ entirely destroy the object.
+ Mercenaryblue:
+ - rscadd: Use the Clown Stamp on some cardboard to begin... the honkbot!
+ - rscadd: These honkbots are just adorable, and totally not annoying. I swear! Honk!
+ - rscadd: You can even slot in a pAI! Just don't emag them... oh boy. oh no. oh
+ geez.
+ - soundadd: Honkbots now release an evil laugh when emagged.
+ - imageadd: added some in_hands for banana peels.
+ - tweak: Golden Bike Horns now permit its victims to perform a full flip before
+ forcing them to jump again.
+ More Robust Than You:
+ - bugfix: Makes the santa event properly poll ghosts
+ - bugfix: Diseases will now cure if species is changed
+ - tweak: You can now drag-drop people into open DNA scanners
+ - bugfix: Medibots will no longer inject people in lockers/sleepers/etc
+ Naksu:
+ - bugfix: Fixes to door/airlock deletion routines.
+ - bugfix: Traitor pen uplinks now preferentially spawn in the PDA pen, and not in
+ a pocket protector full of pens that no-one checks.
+ - bugfix: Reusable projectiles such as foam darts no longer get deleted if they're
+ shot at a shooting range target or a cardboard cutout.
+ - bugfix: Ghosts no longer inherit the movement delay of their former bodies.
+ - bugfix: Fixed mobs being able to smash shocked objects without taking damage.
+ - bugfix: Fixed some mobs not deleting correctly
+ - code_imp: Fixed dusting code, supermatter-suicides no longer spam the runtime
+ logs.
+ - code_imp: Fixed some initialize paths.
+ Onule:
+ - tweak: Sunflower sprites were changed, small edits to variants.
+ - imageadd: Sunflower and variant's inhands sprites.
+ - imageadd: Tweaked growing sprites to match the new sunflower.
+ - imageadd: Moonflower and novaflowers now have slightly different growing sprites.
+ Robustin:
+ - rscadd: The Chemistry Smoke Machine! Chemist offices will have a board available
+ should they choose to construct a smoke machine. The smoke machine will regularly
+ produce smoke from whatever chemicals have been inserted into the machine. Designs
+ for the circuitboard are also available at RND.
+ - tweak: Abandoned Airlocks will no longer be deleted when their turf is changed
+ to a wall.
+ - tweak: Tesla movement is now completely random.
+ - bugfix: Clock Cult mode will no longer end if all the cultists die. The round
+ will not end until the Ark is destroyed or completed.
+ - bugfix: Chain reactions between explosives will now properly trigger explosives
+ located in an individual's bag.
+ - tweak: The wrench-anchoring time of the smoke machine is now doubled to 4 seconds.
+ - tweak: Smoke Machine smoke is now transparent.
+ - rscadd: The smoke machine has taken its rightful place in the chemist's office.
+ - bugfix: Smoke machine will no longer operate while moving/unanchored.
+ ShizCalev:
+ - tweak: Nanotrasen brand "Box" model stations have received approval from CentCom
+ to be retrofitted with the latest in Xenobiology equipment. You will now find
+ a chemmaster, a chemical dispenser, and a dropper within the Research Division's
+ Xenobiology lab.
+ - bugfix: C4 will no longer appear underneath objects on walls.
+ - bugfix: Plastic explosives will no longer be invisible after being planted.
+ - imageadd: The security bombsuit's sprite has been updated!
+ SpaceManiac:
+ - spellcheck: Grammar when examining objects has been improved.
+ - bugfix: AI eye camera static is now correctly positioned on Lavaland.
+ - spellcheck: Fixed many instances of "the the" when interacting with objects.
+ - bugfix: The tracking implant locator now works on the station again.
+ WJohn:
+ - rscadd: An old cruiser class vessel has resiliently stuck around, and may do so
+ for the foreseeable future.
+ WJohnston:
+ - tweak: Due to age, the abandoned ship's engines are now considerably slower when
+ bringing it place to place. This does however mean that the ship now has a more
+ gradual takeoff, with no sudden jolt to knock passengers off their feet.
+ - imageadd: Black carpets no longer have an ugly periodic black line in them. Regular
+ catwalks are now totally opaque so you won't accidentally click on space when
+ trying to place wires or tiles on them.
+ - rscdel: Boxstation's guitar white ship is no more.
+ - rscadd: Metastation's white ship stands in its place!
+ - tweak: Metastation's white ship has a couple of weak laser turrets to protect
+ the cockpit from space carp.
+ - tweak: Boxstation and metastation now have some plating under the grilles near
+ the AI sat's transit tube to prevent players from deleting the tube by landing
+ there.
+ WJohnston & ninjanomnom:
+ - rscadd: Plastitanium walls smooth, fancier syndicate shuttles!
+ - bugfix: Infiltrator shuttles have been moved out of the station maps and made
+ into a multi-area shuttle.
+ - balance: Titanium and plastitanium have explosion resistance (requested by Wjohn)
+ XDTM:
+ - rscadd: Blood and vomit pools can now spread the diseases of the mob that made
+ them! Cover your feet properly to avoid infection.
+ - rscadd: Virus severity now changes the color of the disease HUD icon, scaling
+ from green to red to flashing black-red.
+ - tweak: Contact-based diseases no longer spread by simply standing near other people;
+ it requires interaction like touching or attacking. Bumping against people/swapping
+ with help intent still counts as touching.
+ - tweak: Advanced viruses now have another infection type, "Fluids"; it's between
+ blood and skin contact, and will only be transmitted through fluid contact.
+ - rscdel: Two "hidden" infection types have been removed. Overall this means that
+ making a virus airborne is a little bit easier.
+ - bugfix: Species who cannot breathe can no longer be infected by breathing.
+ - bugfix: Internals now properly work if set to 0 pressure, and will prevent breathing
+ gas from the external atmosphere.
+ - bugfix: Viral Aggressive Metabolism is now properly inactive when neutered.
+ Xhuis:
+ - tweak: Cogscarabs can now experiment more freely with base design during non-clockcult
+ rounds with infinite power and the ability to recite scripture!
+ - bugfix: The Ark of the Clockwork Justiciar is now registered as a hostile environment.
+ - refactor: Clockwork scripture now has one progress bar for the entire recital
+ instead of multiple ones for each sentence in the invocation.
+ - bugfix: Ocular wardens no longer have a burning hatred for revenants and won't
+ attack their corpse endlessly anymore.
+ - balance: Stargazers can no longer be built off-station, even in new areas.
+ - balance: Integration cogs no longer emit sounds and steam visuals when active.
+ armie:
+ - bugfix: mob spawners are no longer possessable
+ deathride58:
+ - rscadd: '*slap'
+ duncathan:
+ - bugfix: Scrubbers and filters no longer allow for infinite pressure in pipes.
+ improvedname:
+ - bugfix: 9mm doesn't longer appear in traitor surplus crates
+ kevinz000:
+ - bugfix: 'Flightsuits now allow proper pulling experimental: Moved now has an argument
+ for if it was a regular Move or a forceMove.'
+ - rscadd: Instead of dumb sleep()s, follow trails now use SSfastprocess for processing!
+ - rscadd: Mobs now float while flying automatically!
+ - rscdel: 'Flightsuits can no longer be safely shut off if you''re still barreling
+ down the hallway. experimental: Flightsuits should be less shitcode. Hope this
+ PR doesn''t blow anything important up!'
+ - bugfix: Fixed trying to clear beaker in pandemic when the beaker is already removed
+ causing a runtime.
+ kingofkosmos:
+ - rscadd: Alt-clicking on a computer now ejects the ID card inside it.
+ nicbn:
+ - tweak: You can now clear bullet holes in walls using a welding tool.
+ ninjanomnom:
+ - refactor: Radiation has been completely overhauled.
+ - rscadd: A new radiation subsystem and spreading mechanics.
+ - rscadd: Walls and other dense objects insulate you from radiation.
+ - rscadd: Geiger counters now store the last burst of radiation so you can view
+ it at your leisure or show it to someone. Examine it.
+ - rscadd: Geiger counters can check mobs for contaminated objects. Scan yourself
+ before you leave to make sure you aren't carrying dangerous radioactive items.
+ - soundadd: Geiger counters have realistic sounds and the radiation pulse spam in
+ chat has been replaced.
+ - balance: Radiation is more deadly and causes burns at high intensities, WEAR YOUR
+ RADSUITS.
+ - balance: However residue radiation is far slower acting and kills you with toxin.
+ - balance: Engineering holosigns have a light amount of radiation insulation.
+ - balance: Rad collectors are nerfed. No more supercharging with pressurized plasma.
+ No more collector spam either.
+ - balance: Engine output is a lot more stable as a result of collector changes.
+ - balance: Monkeys need more rads and take more time to turn into gorillas.
+ - tweak: Over 100% on the DNA computer means your subject is now taking damage.
+ - tweak: The asteroid escape shuttle has no stabilizers and throws you around when
+ it moves
+ - bugfix: Shuttles no longer rotate ghosts of players who prefer directionless sprites
+ - bugfix: 2 Years later and cameras work on shuttles now, probably.
+ - bugfix: Buckled mobs when on a rotating shuttle should now rotate correctly
+ - bugfix: Fixes shuttles gibbing in supposedly safe areas
+ - bugfix: Mobs that didn't move during shuttle launch would not have their parallax
+ updated. This is fixed now.
+ - bugfix: The custom shuttle placement highlight now works for multi area shuttles.
+ - bugfix: Directional windows shouldn't leak air anymore
+ - tweak: Windows only block air while anchored
+ - bugfix: Fixes camera mobs being considered a target by radiation
+ - bugfix: Cables can no longer be contaminated as well
+ - balance: Buffs radiation cleansing chems
+ - balance: Toxin damage per tick from radiation is halved
+ - admin: Contaminated objects keep track of what contaminated them
+ - admin: Radiation pulses over 3000 are logged now
+ spessmenart:
+ - imageadd: The captains sabre no longer looks like a rapier.
+2017-10-17:
+ DaxDupont:
+ - bugfix: 'Fancy boxes(ie: donut boxes) now show the proper content amount in the
+ sprite and no longer go invisible when empty.'
+ Mercenaryblue:
+ - bugfix: when decapitated, banana-flavored cream no longer hovers where your head
+ used to be.
+ More Robust Than You:
+ - rscadd: EI NATH! now causes a flash of light
+ Naksu:
+ - bugfix: Pinned notes will now show up on vault, abductor, centcom and large glass
+ airlocks.
+ - spellcheck: Removed a misleading message when handling full stacks of sheets.
+ - bugfix: Pre-filled glass bottles (uplink, medbay, botany) will now give visual
+ feedback about how much stuff is left inside, and the color of contents will
+ match an empty bottle being filled with the same reagent.
+ - bugfix: Player-controlled "neutral" mobs such as minebots are now considered valid
+ targets by clock cult's ocular wardens.
+ Xhuis:
+ - bugfix: Cogged APCs can now be correctly unlocked with an ID card.
+ duncathan:
+ - tweak: Portable air pumps can output to a maximum of 25 atmospheres.
+ kevinz000:
+ - refactor: Legacy projectiles have been removed. Instead, all projectiles are now
+ PIXEL PROJECTILES!
+ - rscadd: Reflectors can now be at any angle you want. Alt click them to set angle!
+ - rscadd: Pipes can now be layered up to 3 layers.
+2017-10-18:
+ DaxDupont:
+ - bugfix: Fixes automatic fire on guns.
+ Gun Hog:
+ - bugfix: The GPS item now correctly changes its name when the GPS tag is changed.
+ Improvedname:
+ - tweak: Reverts katana's to its orginal size being huge
+ Mercenaryblue:
+ - balance: it should be far easier to clean out your face from multiple cream pies.
+ More Robust Than You:
+ - tweak: People that are burning slightly less will appear to be burning... slightly
+ less.
+ Robustin:
+ - bugfix: The smoke machine now properly generates transparent smoke, transmits
+ chemicals, and displays the proper icons.
+ ShizCalev:
+ - tweak: You can no longer build reinforced floors directly on top of dirt, asteroid
+ sand, ice, or beaches. You'll have to first construct flooring on top of it
+ instead.
+ - bugfix: Corrected mapping issues introduced with the latest SM engine/radiation
+ update across all relevant maps.
+ - bugfix: The tools on the Caravan Ambush space ruin have had their speeds corrected.
+ - bugfix: Slappers will no longer appear as a latex balloon in your hand.
+ - bugfix: Renault now has a comfy new bed on Metastation!
+ - tweak: Engineering cyborgs now have access to geiger counters.
+ Xhuis:
+ - bugfix: You can no longer pick up brass chairs.
+ Y0SH1_M4S73R:
+ - bugfix: Disabling leg actuators sets the power drain per step to the correct value.
+ duncathan:
+ - bugfix: Filters no longer stop passing any gas through if the filtered output
+ is full.
+ ninjanomnom:
+ - rscadd: You can vomit blood at high enough radiation.
+ - balance: Radiation knockdown is far far shorter.
+ - balance: Genetics modification is less harmful but still, upgrade your machines.
+ - balance: Pentetic acid is useless for low amounts of radiation but indispensable
+ for high amounts now.
+ - balance: Singularity radiation has been normalized and Pubby engine has been remapped.
+ - bugfix: No more hair loss spam
+ - bugfix: Mob rad contamination has been disabled for now. Regular contamination
+ is still a thing.
+ - bugfix: Fixed turfs not rotating
+ - bugfix: Fixed stealing structures you shouldn't be moving
+2017-10-19:
+ Kor:
+ - rscadd: Blob is now a side antagonist.
+ - rscadd: Event and admin blobs will now be able to choose their spawn location.
+ - rscadd: Blob can now win in any mode by gaining enough tiles to reach Critical
+ Mass.
+ - rscadd: Blobs that have Critical Mass have unlimited points, and a minute after
+ achieving critical mass, they will spread to every tile on station, killing
+ anyone still on board and ending the round.
+ - rscadd: Using an analyzer on a blob will now reveal its progress towards Critical
+ Mass.
+ - rscadd: The blob event is now more common.
+ Mercenaryblue:
+ - tweak: You will no longer trip on inactive honkbots.
+ - bugfix: Sentient Honkbots are no longer forced to speak when somebody trip on
+ them.
+ Naksu:
+ - bugfix: Manned turrets stop firing when there's no-one in the turret shooting.
+ - refactor: 'mobs will enter a deep power-saving state when there''s not much to
+ do except wander around. change: bees are slightly more passive in general'
+ deathride58:
+ - tweak: You can now press Ctrl+H to stop pulling, or simply H to stop pulling if
+ you're in hotkey mode.
+ ninjanomnom:
+ - rscadd: Engineering scanner goggles have a radiation mode now
+ - rscadd: Objects placed under showers are cleansed of radioactive contamination
+ over a short time.
+ - soundadd: Showers make sound now.
+ oranges:
+ - rscdel: Removed the bluespace pipe
+2017-10-20:
+ Kor:
+ - rscadd: You can now select your Halloween race, rather than having it assigned
+ randomly via event.
+ Robustin:
+ - bugfix: Fixed a bug where detonating maxcaps, especially multiple maxcaps, on
+ Reebe guaranteed that everyone would die and thus the Clock Cult would immediately
+ lose; Reebe maxcap is now 2/5/10.
+ ShizCalev:
+ - bugfix: All reflector prisms/mirrors have had their angles corrected.
+ - tweak: Remains left over by dusting or soul-stoning a mob are now dissoluble with
+ acid.
+ - tweak: Changelings using biodegrade to escape restraints will now leave a pile
+ of goop.
+ - bugfix: Fixed messages related to changelings using biodegrade not appearing.
+2017-10-21:
+ More Robust Than You:
+ - bugfix: Heads of staff will now have cat organs removed at roundstart
+ Robustin:
+ - balance: Spray tan no longer stuns when ingested.
+ Thunder12345:
+ - bugfix: Sentient cats no longer forget to fall over when they die
+2017-10-22:
+ More Robust Than You:
+ - bugfix: Blood Brother now properly shows up in player panel
+ Naksu:
+ - server: Paper bins no longer let server admins know that pens were eaten.
+ - code_imp: Removed dangling mob references to last attacker/attacked
+ Robustin:
+ - balance: Medical biosuits (and hardsuits) now offer heavy, but not complete, radiation
+ resistance.
+ ninjanomnom:
+ - bugfix: Contents of silicon mobs are no longer considered for targets of radiation.
+ This blocks them from being contaminated.
+2017-10-24:
+ Armhulen:
+ - rscadd: Wizards may now shapeshift into viper spiders.
+ Improvedname:
+ - tweak: Blacklists holoparasite's from surplus crates
+ Kor:
+ - rscadd: Added dullahans, which will be available from the character set up menu
+ during the Halloween event.
+ - bugfix: Severed heads will no longer appear bald.
+ More Robust Than You:
+ - bugfix: Fixes champrojector camera bugs
+ Naksu:
+ - bugfix: Grinders will now grind grown items like cocoa pods again
+ - code_imp: Cameras no longer keep hard references to mobs in their motion tracking
+ list.
+ ShizCalev:
+ - bugfix: Creatures made via gold slime cores will now be given the proper name
+ of their master.
+ deathride58:
+ - tweak: Deltastation's armory now contains reinforced windows surrounding the lethal
+ weaponry. This makes Delta's armory consistent with Box.
+ - tweak: There are now decals in places where extra Security lockers can spawn.
+ - tweak: Cleaned up semicolons in Meta and Boxstation's .dmms
+2017-10-25:
+ Cruix:
+ - rscadd: Shuttle navigation computers can now place new transit locations over
+ the shuttle's current position.
+ JJRcop:
+ - rscadd: The heart of darkness revives you as a shadowperson if you aren't one
+ already.
+ ShizCalev:
+ - bugfix: Shades will no longer always hear a heartbeat.
+ - bugfix: Golem abilities will now be start on cooldown when they are made.
+2017-10-26:
+ Kor and JJRcop:
+ - rscadd: Added vampires. They will be available as a roundstart race during the
+ Halloween holiday event.
+ ShizCalev:
+ - bugfix: Reflectors will no longer drop more materials than they took to make when
+ deconstructed.
+ - bugfix: You will no longer be prompted to reenter your body while being defibbed
+ if you can't actually be revived.
+ - bugfix: You can no longer teleport past the ticket stands of the Luxury Emergency
+ Shuttle.
+ - bugfix: Lightgeists can now -actually- be spawned with gold slime cores.
+ - tweak: The Staff of Change will now randomly assign a cyborg module when transforming
+ a mob into a cyborg.
+ Xhuis:
+ - balance: Clockwork marauders now move more slowly below 40% health.
+ - balance: Instead of a 40% chance (or more) chance to block projectiles, clockwork
+ marauders now have three fixed 100% blocks; after using those three, they cannot
+ block anymore without avoiding projectiles for ten seconds. This number increases
+ to four if war is declared.
+ - balance: Projectiles that deal no damage DO reduce marauders' shield health. Use
+ disabler shots to open them up, then use lasers to go for the kill!
+ - bugfix: Cogscarab shells and marauder armor now appear in the spawners menu.
+ - bugfix: You can no longer stack infinitely many stargazers on one tile.
+ nicbn:
+ - imageadd: Chemical heater and smoke machine resprited.
+ ninjanomnom:
+ - soundadd: Portable generators have a sound while active.
+ - soundadd: The supermatter has a sound that scales with stored energy.
+ ninjanomnom & Wjohn:
+ - bugfix: Cable cuffs now inherit the color of the cables used to make them.
+ - bugfix: Split cable stacks keep their color.
+ - tweak: The blue cable color is now a better blue.
+2017-10-27:
+ Anonmare:
+ - rscadd: Adds new grindables
+ JamieH:
+ - rscadd: Buildmode map generators will now show you a preview of the area you're
+ changing
+ - rscadd: Buildmode map generators will now ask before nuking the map
+ - bugfix: Buildmode map generator corners can now only be set by left clicking
+ Kor:
+ - rscadd: Cloth golems will be available as a roundstart race during Halloween.
+ MrStonedOne:
+ - code_imp: Created a system to profile code on a line by line basis and return
+ detailed info about how much time was spent (in milliseconds) on each line(s).
+ Xhuis:
+ - balance: Servants can no longer teleport into the gravity generator, EVA, or telecomms.
+ ninjanomnom:
+ - bugfix: Hardsuit helmets work like geiger counters for the user.
+ - code_imp: Radiation should perform a little better in places.
+ - balance: Various radiation symptom thresholds have been tweaked.
+ - balance: Contamination strengths at different ranges have been tweaked.
+ - balance: Contaminated objects have less range for their radiation.
+ - balance: Hitting something with a contaminated object reduces its strength faster.
+ - balance: Contaminated objects decay faster.
+ - balance: Both radiation healing medicines have been buffed a bit.
+ - balance: Passive radiation loss for mobs is nerfed.
+ - balance: There is a soft cap for mob radiation now.
+ - balance: Projectiles, ammo casings, and implants are disallowed from becoming
+ contaminated.
+ - rscadd: Suit storage units can completely cleanse contamination from stored objects
+ - admin: The first time an object is contaminated enough to spread more contamination
+ admins will be warned. This is also added to stat tracking.
+ - rscadd: Thermite works on floors and can be ignited by sufficiently hot fires
+ now
+ - refactor: Thermite has been made into a component
+ - bugfix: Thermite no longer removes existing overlays on turfs
+2017-10-28:
+ Mark9013100:
+ - tweak: The Medical Cloning manual has been updated.
+2017-10-29:
+ Armhulen:
+ - rscadd: Frost Spiders now use Frost OIL!
+ Mercenaryblue:
+ - rscadd: Skeletons can now have their own spectral instruments
+ - rscadd: \[Dooting Intensifies\]
+ - admin: the variable "too_spooky" defines if it will spawn new instruments, by
+ default TRUE.
+ Naksu:
+ - bugfix: Removed meteor-related free lag
+ - bugfix: Cleaned up dangling mob references from alerts
+ Xhuis:
+ - bugfix: You can no longer become an enhanced clockwork golem with mutation toxin.
+ - balance: Normal clockwork golems now have 20% armor, down from 40%.
+ as334:
+ - spellcheck: This changelog has been updated and so read it again if you are interested
+ in doing assmos.
+ - rscadd: Atmospherics has been massively expanded including new gases.
+ - rscadd: These new gases include Brown Gas, Pluoxium, Stimulum, Hyper-Noblium and
+ Tritium.
+ - rscadd: Brown Gas is acidic to breath, but mildly stimulation.
+ - rscadd: Stimulum is more stimulating and much safer.
+ - rscadd: Pluoxium is a non-reactive form of oxygen that delivers more oxygen into
+ the bloodstream.
+ - rscadd: Hyper-Noblium is an extremely noble gas, and stops gases from reacting.
+ - rscadd: Tritium is radioactive and flammable.
+ - rscadd: New reactions have also been added to create these gases.
+ - rscadd: 'Tritium formation: Heat large amounts of oxygen with plasma. Make sure
+ you have a filter ready and setup!'
+ - rscadd: Fusion has been reintroduced. Plasma will fuse when heated to a high thermal
+ energy with Tritium as a catalyst. Make sure to manage the waste products.
+ - rscadd: 'Brown Gas formation: Heat Oxygen and Nitrogen.'
+ - rscadd: 'BZ fixation: Heat Tritium and Plasma.'
+ - rscadd: 'Stimulum formation: Heated Tritium, Plasma, BZ and Brown Gas.'
+ - rscadd: 'Hyper-Noblium condensation: Needs Nitrogen and Tritium at a super high
+ heat. Cools rapidly.'
+ - rscadd: Pluoxium is unable to be formed.
+ - rscdel: Freon has been removed. Use cold nitrogen for your SME problems now.
+ - rscadd: Water vapor now freezes the tile it is on when it is cooled heavily.
+ naltronix:
+ - bugfix: fixes that table that wasnt accessible in Metastation
+2017-10-30:
+ PKPenguin321:
+ - tweak: You can now use beakers/cups/etc that have welding fuel in them on welders
+ to refuel them.
+ bgobandit:
+ - tweak: 'Due to cuts to Nanotrasen''s Occupational Safety and Health Administration
+ (NO-SHA) budget, station fixtures no longer undergo as much safety testing.
+ (Translation for rank and file staff: More objects on the station will hurt
+ you.)'
diff --git a/html/changelogs/archive/2017-11.yml b/html/changelogs/archive/2017-11.yml
new file mode 100644
index 0000000000..19691b29ee
--- /dev/null
+++ b/html/changelogs/archive/2017-11.yml
@@ -0,0 +1,535 @@
+2017-11-02:
+ ACCount:
+ - tweak: '"Tail removal" and "tail attachment" surgeries are merged with "organ
+ manipulation".'
+ - imageadd: New sprites for reflectors. They finally look like something.
+ - rscadd: You can lock reflector's rotation by using a screwdriver. Use the screwdriver
+ again to unlock it.
+ - rscadd: Reflector examine now shows the current angle and rotation lock status.
+ - rscadd: You can now use a welder to repair damaged reflectors.
+ - bugfix: Multiple reflector bugs are fixed.
+ Improvedname:
+ - rscdel: Removes statues from gold slime pool
+ Mercenaryblue:
+ - imageadd: Updated Clown Box sprite to match the others.
+ More Robust Than You:
+ - admin: ONLY ADMINS CAN ACTIVATE THE ARK NOW
+ - tweak: The Ark's time measurements are now a bit more readable
+ MrStonedOne:
+ - tweak: Meteor events will not happen before 25 minutes, the worst versions before
+ 35 and 45 minutes.
+ - tweak: Meteor events are now player gated to 15, 20, and 25 players respectively
+ - balance: The more destructive versions of meteor events now have a slightly higher
+ chance of triggering, to offset the decrease in how often it is that they will
+ even qualify.
+ - bugfix: Fixed the changelog generator.
+ Naksu:
+ - tweak: Smartfridges and chem/condimasters now output items in a deterministic
+ 3x3 grid rather than in a huge pile in the middle of the tile.
+ SpaceManiac:
+ - bugfix: Admins can once again spawn nuke teams on demand.
+ Xhuis:
+ - admin: Admins can now create sound emitters (/obj/effect/sound_emitter) that can
+ be customized to play sounds to different people, at different volumes, and
+ at different locations such as by z-level. They're much more versatile for events
+ than the Play Sound commands!
+ - rscadd: You can now add grenades to plushies! You'll need to cut out the stuffing
+ first.
+ - tweak: Clockwork cult tips of the round have been updated to match the rework.
+ - tweak: Abscond and Reebe rifts now place servants directly at the Ark instead
+ of below the "base" area.
+ nicbn:
+ - tweak: Brown gas renamed to nitryl.
+ ninjanomnom:
+ - bugfix: Fixes decals not rotating correctly with the turf.
+ - bugfix: Fixes a runtime causing some turfs to be left behind by removed shuttles.
+ - code_imp: Shuttles should be roughly 40-50% smoother.
+ - bugfix: Fixes the cargo shuttle occasionally breaking if a mob got on at exactly
+ the right time.
+2017-11-10:
+ Anonmare:
+ - bugfix: Adds an organ storage bag to the syndicate medborg.
+ AnturK:
+ - balance: Dying in shapeshifted form reverts you to the original one. (You're still
+ dead)
+ Floyd / Qustinnus:
+ - soundadd: Redtexting as a traitor now plays a depressing tune to you
+ Floyd / Qustinnus (And all the sounds by Kayozz11 from Yogstation):
+ - soundadd: Adds about 30 new ambience sounds
+ - refactor: added new defines for ambience lists.
+ Iamgoofball:
+ - tweak: Cooldown on the Ripley's mining drills has been halved.
+ - tweak: The frequency of the Ripley's ore pulse has been doubled.
+ Jalleo:
+ - tweak: Removed a variable to state which RCD's can deconstruct reinforced walls
+ - balance: Made combat (ERT ones) and admin RCDs able to deconstruct r walls alongside
+ borg ones
+ Kor:
+ - bugfix: Cult mode will once again print out names at round end.
+ Mark9013100:
+ - rscadd: Deltastation now has a Whiteship.
+ - tweak: Charcoal bottles have been renamed, and have been given a more informative
+ description.
+ Mercenaryblue:
+ - spellcheck: spellchecked the hotel staff.
+ - rscadd: Added frog masks. Reeeeeeeeee!!
+ More Robust Than You:
+ - bugfix: Blobbernauts and spores are no longer killed by blob victory
+ - bugfix: New blob overminds off the station Z level are moved to the station
+ - bugfix: You can now use banhammers as a weapon
+ - tweak: Monkeys can no longer transmit diseases through hardsuits
+ - tweak: Xenobio blobbernauts can no longer walk on blob tiles
+ Naksu:
+ - tweak: Added deterministic output slots to the slime processor
+ - bugfix: Fixed some interactions with ghosts and items
+ - bugfix: Nonhumans such as monkeys can now be scanned for chemicals with the health
+ analyzer.
+ Okand37 (DeltaStation Updates):
+ - rscadd: Tweaked Atmospherics
+ - bugfix: Fixed the Incinerator air injector
+ - rscadd: Tweaked Engineering
+ - rscadd: Added logs to the Chaplain's closet for gimmicks (bonfires)
+ - rscadd: Tweaked Security
+ - bugfix: Fixed medical morgue maintenance not providing radiation shielding and
+ exterior chemistry windoor
+ - rscadd: Bar now has a door from the backroom to the theatre stage
+ - rscadd: Tweaked Locker Room/Dormitories
+ ShizCalev:
+ - bugfix: You can now -actually- load pie cannons.
+ - bugfix: The captain's winter coat can now hold a flashlight.
+ - bugfix: The captain's and security winter coats can now hold internals tanks.
+ - tweak: All winter coats can now hold toys, lighters, and cigarettes.
+ - tweak: The captain's hardsuit can now hold pepperspray.
+ - rscadd: Updated the Test Map debugging verb to report more issues regarding APCs.
+ DELTASTATION
+ - bugfix: Reverted Okand37's morgue changes which broke power in the area.
+ - bugfix: Corrected wrong area on the Southern airlock leading into electrical maintenance.
+ ALL STATIONS
+ - bugfix: Corrected numerous duplicate APCs in areas which led to power issues.
+ SpaceManiac:
+ - bugfix: Ghosts can no longer create sparks from the hand teleporter's portals.
+ - bugfix: Digging on Lavaland no longer shows two progress bars.
+ - bugfix: The holodeck now has an "Offline" option.
+ - bugfix: Injury and crit overlays are now scaled properly for zoomed-out views.
+ - bugfix: Already-downloaded software is now hidden from the NTNet software downloader.
+ - bugfix: The crafting, language, and building buttons are now positioned correctly
+ in zoomed-out views.
+ - bugfix: Bluespace shelter walls no longer smooth with non-shelter walls and windows.
+ Swindly:
+ - rscadd: Organ storage bags can be used to perform limb augmentation.
+ - bugfix: You can now cancel a cavity implant during the implanting/removing step
+ by using drapes while holding the appropriate tool in your inactive hand. Cyborgs
+ can cancel the surgery by using drapes alone.
+ - bugfix: Fixed hot items and fire heating reagents to temperatures higher than
+ their heat source.
+ - bugfix: Sprays can now be heated with hot items.
+ - tweak: The heating of reagents by hot items, fire, and microwaves now scales linearly
+ with the difference between the reagent holder's temperature and the heat source's
+ temperature instead of constantly.
+ - tweak: The body temperature of a mob with reagents is affected by the temperature
+ of the mob's reagents.
+ - tweak: Reagent containers can now be heated by hot air.
+ Thefastfoodguy:
+ - bugfix: Spamming runes / battlecries / etc will no longer trigger spam prevention
+ WJohnston:
+ - bugfix: Ancient station lighting fixed on beta side (medical and atmos remains)
+ XDTM:
+ - rscadd: Ghosts now have a Toggle Health Scan verb, which allows them to health
+ scan mobs they click on.
+ Xhuis:
+ - rscadd: Ratvar and Nar-Sie plushes now have a unique interaction.
+ - balance: Clockwork marauders are now on harm intent.
+ - balance: The Clockwork Marauder scripture now takes five seconds longer to invoke
+ per marauder summoned in the last 20 seconds, capping at 30 extra seconds.
+ - balance: Clockwork marauders no longer gain a health bonus when war is declared.
+ - tweak: Moved the BoxStation deep fryers up one tile.
+ - rscadd: Microwaves have new sounds!
+ YPOQ:
+ - bugfix: EMPs can pulse multiple wires
+ as334:
+ - rscadd: Pluoxium can now be formed by irradiating tiles with CO2 in the air.
+ - rscadd: Rad collectors now steadily form Tritium at a slow pace.
+ - balance: Nerfs fusion by making it slower, and produce radioactivity.
+ - balance: Noblium formation now requires significantly more energy input.
+ - balance: Tanks now melt if their temperature is above 1 Million Kelvin.
+ deathride58:
+ - bugfix: Directional character icon previews now function properly. Other things
+ relying on getflaticon probably work with directional icons again, as well.
+ nicbn:
+ - imageadd: Canister sprites for the new gases
+ ninjanomnom:
+ - bugfix: Shuttle parallax has been fixed once more
+ - bugfix: You can no longer set up the auxiliary base's shuttle beacon overlapping
+ with the edge of the map
+ uraniummeltdown:
+ - tweak: Replica fabricatoring airlocks and windoors keeps the old name
+ - tweak: Narsie and Ratvar converting airlocks and windoors keeps the old name
+2017-11-11:
+ DaxDupont:
+ - bugfix: Medbots can inject from one tile away again.
+ SpaceManiac:
+ - bugfix: The detective and heads of staff are no longer attacked by portable turrets.
+ deathride58:
+ - bugfix: You can no longer delete girders, lattices, or catwalks with the RPD
+ - bugfix: Fixes runtimes that occur when clicking girders, lattices, catwalks, or
+ disposal pipes with the RPD in paint mode
+ ninjanomnom:
+ - bugfix: Fixes ruin cable spawning and probably some other bugs
+2017-11-12:
+ Cyberboss:
+ - bugfix: Clockwork slabs no longer refer to components
+2017-11-13:
+ Cobby:
+ - rscadd: The Xray now only hits the first mob it comes into contact with instead
+ of being outright removed from the game.
+ Floyd / Qustinnus:
+ - soundadd: Reebe now has ambience sounds
+ 'Floyd / Qustinnus:':
+ - soundadd: Adds a few sound_loop datums to machinery.
+ Frozenguy5:
+ - bugfix: Broken cable cuffs no longer has an invisible sprite.
+ PKPenguin321:
+ - rscadd: Welders must now be screwdrivered open to reveal their fuel tank.
+ - rscadd: You can empty welders into open containers (like beakers or glasses) when
+ they're screwdrivered open.
+ - rscadd: You can now insert any chemical into a welder, but all most will do is
+ clog the fuel. Welding fuel will refuel it as usual. Plasma in welders tends
+ to explode.
+ Qbopper and JJRcop:
+ - tweak: The default internet sound volume was changed from 100 to 25. Stop complaining
+ in OOC about your ears!
+ SpaceManiac:
+ - bugfix: Posters may no longer be placed on diagonal wall corners.
+ WJohnston:
+ - rscdel: Removes stationary docking ports for syndicate infiltrator ships on all
+ maps. Use the docking navigator computer instead! This gives the white ship
+ and syndicate infiltrator more room to navigate and place custom locations that
+ are otherwise occupied by fixed shuttle landing zones that are rarely used.
+ Xhuis:
+ - rscadd: Deep fryers now have sound.
+ - tweak: Deep fryers now use cooking oil, a specialized reagent that becomes highly
+ damaging at high temperatures. You can get it from grinding soybeans and meat.
+ - tweak: Deep fryers now become more efficient with higher-level micro lasers, using
+ less oil and frying faster.
+ - tweak: Deep fryers now slowly use oil as it fries objects, instead of all at once.
+ - bugfix: You can now correctly refill deep fryers with syringes and pills.
+ nicn:
+ - balance: Damage from low pressure has been doubled.
+ ninjanomnom:
+ - rscadd: You can now select a nearby area to expand when using a blueprint instead
+ of making a new area.
+ - rscadd: New shuttle areas can be created using blueprints. This is currently not
+ useful but will be used later for shuttle construction.
+ - tweak: Blueprints can modify existing areas on station.
+ - admin: Blueprint functionality has been added to the debug tab as a verb.
+2017-11-14:
+ ike709:
+ - imageadd: Added directional computer sprites. Maps haven't been changed yet.
+ psykzz:
+ - refactor: AI Airlock UI to use TGUI
+ - tweak: Allow AI to swap between electrified door states without having to un-electrify
+ first.
+ selea/arsserpentarium:
+ - rscadd: Integrated circuits have been added to Research!
+ - rscadd: You can use these to create devices with very complex behaviors.
+ - rscadd: Research the Integrated circuits printer to get started.
+2017-11-15:
+ Fury:
+ - rscadd: Added new sprites for the Heirophant Relay (clock cultist telecomms equipment).
+ Naksu:
+ - bugfix: 'Removed fire-related free lag. change: fire alarms and cameras no longer
+ work after being ripped off a wall by a singulo'
+ - tweak: 'Minor speedups to movement processing. change: Fat mobs no longer gain
+ temperature by running.'
+ Robustin:
+ - refactor: Cult population scaling no longer operates on arbitrary breakpoints.
+ Each additional player between the between the breakpoints will add to the "chance"
+ that an additional cultist will spawn.
+ - tweak: On average you will see less roundstart cultists in lowpop and more roundstart
+ cultists in highpop.
+ - tweak: Damage examinations now include a "moderate" classification. Before minor
+ was <30 and severe was anything 30 or above. Now minor is <25, moderate is 25
+ to <50, and severe is 50+.
+ - tweak: The tesla will now move toward power beacons at a significantly slower
+ rate.
+ SpaceManiac:
+ - bugfix: The post-round station integrity report is now functional again.
+ ninjanomnom:
+ - bugfix: Gas overlays no longer block clicks, on 512
+2017-11-22:
+ ACCount:
+ - refactor: Old integrated circuit save file format is ditched in favor of JSON.
+ Readability, both of save files and save code, is improved greatly.
+ - tweak: Integrated circuit panels now open with screwdriver instead of crowbar,
+ to match every single other thing on this server.
+ - tweak: Integrated circuit printer now stores up to 25 metal sheets.
+ - bugfix: Fixed integrated circuit rechargers not recharging guns properly and not
+ updating icons.
+ - bugfix: Fixed multiple bugs in integrated circuits UIs, improved overall usability.
+ Anonmare:
+ - balance: Laserpoitners now incapcitate catpeople
+ AutomaticFrenzy:
+ - bugfix: cell chargers weren't animating properly
+ - bugfix: disable_warning wasn't getting checked and the chat was being spammed
+ Code by Pyko, Ported by Frozenguy5:
+ - rscadd: Rat Kebabs and Double Rat Kebabs have been added!
+ Cyberboss:
+ - server: Server tools API changed to version 3.2.0.1
+ - admin: '"ahelp" chat command can now accept a ticket number as opposed to a ckey'
+ DaxDupont:
+ - tweak: CentCom has issued a firmware updated for the operating computers. It is
+ no longer needed to manually refresh the procedure and patient status.
+ - bugfix: Proximity sensors no longer beep when unarmed.
+ - bugfix: Plant trays will now properly process fluorine and adjust toxins and water
+ contents.
+ Francinum:
+ - tweak: The shuttle build plate is now better sized for all stations.
+ Iamgoofball:
+ - spellcheck: fixes grammar on logic gate descriptions
+ - spellcheck: fixes grammar on list circuits
+ - bugfix: fixes grammar on trig circuits
+ - spellcheck: fixed grammar on output circuits
+ JJRcop:
+ - bugfix: Fixes changeling eggs not putting the changeling in control if the brainslug
+ is destroyed before hatching.
+ - tweak: The silicon airlock menu looks a little more like it used to.
+ Kor:
+ - bugfix: Blobbernauts will no longer spawn if a player is not selected to control
+ it, preventing AI blobbernauts from running off the blob and to their deaths.
+ - rscdel: Following complaints that cargo has been selling all the materials they
+ receive rather than distributing them, mineral exporting has been removed.
+ MMMiracles:
+ - balance: Power regen on the regular tesla relay has been reduced to 50, from 150.
+ Naksu:
+ - bugfix: Sped up saycode to remove free lag from highpop
+ - bugfix: Using a chameleon projector will now dismount you from any vehicles you
+ are riding, in order to prevent wacky space glitches and being sent to a realm
+ outside space and time.
+ Shadowlight213:
+ - code_imp: Added round id to the status world topic
+ ShizCalev:
+ - bugfix: Chameleon goggles will no longer go invisible when selecting Optical Tray
+ scanners.
+ - rscadd: Engineering and Atmos scanner goggles will now have correctly colored
+ inhand sprites.
+ - tweak: The computers on all maps have have been updated for the latest directional
+ sprite changes. Please report any computers facing in strange directions to
+ your nearest mapper.
+ - bugfix: MetaStation - The consoles in medbay have had their directions corrected.
+ - imageadd: The Nanotrasen logo on modular computers has been fixed, rejoice!
+ - bugfix: PubbyStation - Unpowered air injectors in various locations have been
+ fixed.
+ - bugfix: MetaStation - Air injector leading out of the incinerator has been fixed
+ - bugfix: MetaStation - Corrected a couple maintenance airlocks being powered by
+ the wrong areas.
+ - bugfix: Computers will no longer rotate incorrectly when being deconstructed.
+ - bugfix: You can now rotate computer frames during construction.
+ - bugfix: Chairs, PA parts, infrared emitters, and doppler arrays will now rotate
+ clockwise.
+ - bugfix: Throwing drinking glasses and cartons will now consistently cause them
+ to break!
+ - bugfix: Humans missing legs or are legcuffed will no longer move slower in areas
+ without gravity.
+ - bugfix: The structures external to stations are now properly lit. Make sure you
+ bring a flashlight.
+ - bugfix: Computers will no longer delete themselves when being built, whoops!
+ - bugfix: Space cats will no longer have a smashed helmet when they lay down.
+ Skylar Lineman, your local R&D moonlighter:
+ - rscadd: Research has been completely overhauled into the techweb system! No more
+ levels, the station now unlocks research "nodes" with research points passively
+ generated when there is atleast one research server properly cooled, powered,
+ and online.
+ - rscadd: R&D lab has been replaced by the departmental lathe system on the three
+ major maps. Each department gets a lathe and possibly a circuit imprinter that
+ only have designs assigned by that department.
+ - rscadd: The ore redemption machine has been moved into cargo bay on maps with
+ decentralized research to prevent the hallways from becoming a free for all.
+ Honk!
+ - balance: You shouldn't expect balance as this is the initial merge. Please put
+ all feedback and concerns on the forum so we can revise the system over the
+ days, weeks, and months, to make this enjoyable for everyone. Heavily wanted
+ are ideas of how to add more ways of generating points.
+ - balance: You can get techweb points by setting off bombs with an active science
+ doppler array listening. The bombs have to have a theoretical radius far above
+ maxcap to make a difference. You can only go up, not down, in radius, so you
+ can't get 6 times the points with 6 TTVs. The algorithm is exponentially/logarithmically
+ scaled to prevent "world destroyer" bombs from instantly finishing research.
+ SpaceManiac:
+ - bugfix: HUDs from mechs and helmets no longer conflict with HUD glasses and no
+ longer inappropriately remove implanted HUDs.
+ - code_imp: Chasm code has been refactored to be more sane.
+ - bugfix: Building lattices over chasms no longer sometimes deletes the chasm.
+ - code_imp: Ladders have been refactored and should be far less buggy.
+ - bugfix: Jacob's ladder actually works again.
+ - bugfix: Pizza box stacking works again.
+ - bugfix: Fix some permanent-on and permanent-off bugs caused by the HUD stacking
+ change.
+ WJohnston:
+ - imageadd: A bunch of new turf decals for mappers to play with, coming in yellow,
+ white, and red varieties!
+ - bugfix: Green banded default airlocks now have extended click area like all other
+ airlocks.
+ Y0SH1 M4S73R:
+ - spellcheck: The R&D Server's name is now improper.
+ - spellcheck: The R&D Server now has an explanation of what it does.
+ arsserpentarium:
+ - bugfix: now lists should work properly
+ duncathan:
+ - rscadd: The RPD has a shiny new UI!
+ - rscadd: The RPD can now paint pipes as it lays them, for quicker piping projects.
+ - rscadd: Atmos scrubbers (vent and portable) can now filter any and all gases.
+ ike709:
+ - imageadd: Added new vent and scrubber sprites by Partheo.
+ - bugfix: Fixed some computers facing the wrong direction.
+ jammer312:
+ - bugfix: fixed conjuration spells forgetting about conjured items
+ kevinz000:
+ - rscadd: purple bartender suit and apron added to clothesmates!
+ - rscadd: long hair 3 added, check it out. both have sprites from okand!
+ nicbn:
+ - soundadd: Now rolling beds and office chairs have a sound!
+ oranges:
+ - rscdel: Removed the shocker circuit
+ psykzz:
+ - imageadd: Grilles have new damaged and default sprites
+ - rscadd: Added TGUI for Turbine computer
+ tserpas1289:
+ - tweak: Any suit that could hold emergency oxygen tanks can now also hold plasma
+ man internals
+ - tweak: Hydroponics winter coats now can hold emergency oxygen tanks just like
+ the other winter coats.
+ - bugfix: Plasma men jumpsuits can now hold accessories like pocket protectors and
+ medals.
+ zennerx:
+ - bugfix: fixed a bug that made you try and scream while unconscious due to a fire
+ - tweak: Skateboard crashes now give slight brain damage!
+ - rscadd: Using a helmet prevents brain damage from the skateboard!
+2017-11-23:
+ GupGup:
+ - bugfix: Fixes hostile mobs attacking surrounding tiles when trying to attack someone
+ MrStonedOne and Jordie:
+ - server: As a late note, serverops be advise that mysql is no longer supported.
+ existing mysql databases will need to be converted to mariadb
+ Robustin:
+ - tweak: RND consoles will no longer display options for machines or disks that
+ are not connected/inserted.
+ ShizCalev:
+ - bugfix: Aliens in soft-crit will now use the correct sprite.
+ XDTM:
+ - rscadd: 'Added two new symptoms: one allows viruses to still work while dead,
+ and allows infection of undead species, and one allows infection of inorganic
+ species (such as plasmapeople or golems).'
+2017-11-24:
+ ACCount:
+ - rscdel: Removed "console screen" stock part. Just use glass sheets instead.
+ More Robust Than You:
+ - tweak: Spessmen are now smart enough to realize you don't need to turn around
+ to pull cigarette butts
+ SpaceManiac:
+ - bugfix: Fix water misters being inappropriately glued to hands in some cases.
+ - bugfix: Some misplaced decals in the Hotel brig have been corrected.
+ ninjanomnom:
+ - bugfix: Custom shuttle dockers can no longer place docking regions inside other
+ custom docker regions.
+2017-11-25:
+ CosmicScientist:
+ - bugfix: bolas are back in tablecrafting!
+ Dorsisdwarf:
+ - tweak: Catpeople are now distracted instead of debilitated
+ - rscadd: Normal cats now go for laser pointers
+ SpaceManiac:
+ - bugfix: You can no longer buckle people to roller beds from inside of a locker.
+ YPOQ:
+ - bugfix: AIs and cyborgs can interact with unscrewed airlocks and APCs.
+ ninjanomnom:
+ - bugfix: Fixes thermite burning hotter than the boiling point of stone
+ zennerx:
+ - bugfix: Zombies don't reanimate with no head!
+2017-11-27:
+ ACCount:
+ - rscadd: 'New integrated circuit components: list constructors/deconstructors.
+ Useful for building lists and taking them apart.'
+ - bugfix: Fixed multiple bugs in integrated circuits UIs, improved overall usability.
+ More Robust Than You:
+ - bugfix: Fixed cult leaders being de-culted upon election if they had a mindshield
+ implant
+ Naksu:
+ - bugfix: Hopefully fixed mesons granting the ability to hear people through walls.
+ Okand37:
+ - rscadd: Re-organized Delta's departmental protolathes for all departments.
+ - rscadd: Re-organized Delta's ORM placement by connecting it to the mining office,
+ which now has a desk for over handing materials to the outside.
+ - rscadd: Added a second Nanomed to Deltastation's medical bay.
+ - rscadd: Nanotrasen has decided to add proper caution signs to most docking ports
+ on Deltastation, warning individuals to be cautious around these areas.
+ - rscadd: Two health sensors are now placed in Deltastation's robotics area for
+ medibots.
+ - bugfix: Atmospheric Technicians at Deltastation can now open up their gas storage
+ in the supermatter power area as intended.
+ WJohnston:
+ - bugfix: Fixed a case where items would sometimes be placed underneath racks.
+ XDTM:
+ - balance: Viruses' healing symptoms have been reworked!
+ - rscdel: All existing healing symptoms have been removed in favour of new ones.
+ - rscdel: Weight Even and Weight Gain have been removed, so hunger can be used for
+ balancing in symptoms.
+ - rscadd: Starlight Condensation heals toxin damage if you're in space using starlight
+ as a catalyst. Being up to two tiles away also works, as long as you can still
+ see it, but slower.
+ - rscadd: Toxolysis (level 7) rapidly cleanses all chemicals from the body, with
+ no exception.
+ - rscadd: 'Cellular Molding heals brute damage depending on your body temperature:
+ the higher the temperature, the faster the healing. Requires above-average temperature
+ to activate, and the speed heavily increases while on fire.'
+ - rscadd: Regenerative Coma (level 8) causes the virus to send you into a deep coma
+ when you are heavily damaged (>70 brute+burn damage). While you are unconscious,
+ either from the virus or from other sources, the virus will heal both brute
+ and burn damage fairly quickly. Sleeping also works, but at reduced speed.
+ - rscadd: Tissue Hydration heals burn damage if you are wet (negative fire stacks)
+ or if you have water in your bloodstream.
+ - rscadd: Plasma Fixation (level 8) stabilizes temperature and heals burns while
+ plasma is in your body or while standing in a plasma cloud. Does not protect
+ from the poisoning effects of plasma.
+ - rscadd: Radioactive Resonance gives a mild constant brute and burn healing while
+ irradiated. The healing becomes more intense if you reach higher levels of radiation,
+ but is still less than the alternatives.
+ - rscadd: Metabolic Boost (level 7) doubles the rate at which you process chemicals,
+ good and bad, but also increases hunger tenfold.
+ kevinz000:
+ - bugfix: Cryo cells can now be properly rotated with a wrench.
+ ninjanomnom:
+ - rscadd: 'You can now make a new tasty traditional treat: butterdogs. Watch out,
+ they''re slippery.'
+2017-11-28:
+ ACCount:
+ - rscdel: '"Machine prototype" is removed from the game.'
+ - rscdel: Mass-spectrometers are removed. Would anyone notice if not for this changelog
+ entry?
+ Cruix:
+ - rscadd: AI and observer diagnostic huds will now show the astar path of all bots,
+ and Pai bots will be given a visible path to follow when called by the AI.
+ JJRcop:
+ - admin: Fixed the Make space ninja verb.
+ Naksu:
+ - code_imp: rejiggered botcode a little bit
+ SpaceManiac:
+ - spellcheck: Admin-added "download research" objectives are now consistent with
+ automatic ones.
+ improvedname:
+ - tweak: toolbelts can now carry geiger counters
+ uraniummeltdown:
+ - rscadd: You can make many different types of office and comfy chairs with metal
+ - tweak: Stack menus use /datum/browser
+2017-11-29:
+ MrStonedOne:
+ - tweak: The sloth no longer suspiciously moves fast when gliding between tiles.
+ - balance: The sloth's movespeed when inhabited by a player has been lowered from
+ once every 1/5 of a second to once every second.
+ SpaceManiac:
+ - spellcheck: The techweb node for mech LMGs no longer claims to be for mech tasers.
+2017-11-30:
+ ninjanomnom:
+ - tweak: Reduced the max volume of sm by 1/5th and made the upper bounds only play
+ mid delamination.
+ psykzz:
+ - bugfix: Fixing the broken turbine computer
diff --git a/html/changelogs/archive/2017-12.yml b/html/changelogs/archive/2017-12.yml
new file mode 100644
index 0000000000..cab229dd57
--- /dev/null
+++ b/html/changelogs/archive/2017-12.yml
@@ -0,0 +1,625 @@
+2017-12-02:
+ BeeSting12:
+ - spellcheck: Occupand ---> Occupant on opened cryogenic pods.
+ - spellcheck: Cyrogenic ---> Cryogenic on opened cryogenic pods.
+ CosmicScientist:
+ - rscadd: You can make plushies kiss one another!
+ Frozenguy5:
+ - tweak: The Particle Accelerator's wires can no longer be EMP'd
+ Naksu:
+ - code_imp: Cleans up some loc assignments
+ Robustin:
+ - tweak: Damage examinations now include a "moderate" classification. Before minor
+ was <30 and severe was anything 30 or above. Now minor is <25, moderate is 25
+ to <50, and severe is 50+.
+ - balance: Clockwork magicks will now prevent Bags of Holding from being combined
+ on Reebe.
+ - bugfix: Flashes will now burn out AFTER flashing when they fail instead of being
+ a ticking time bomb that waits to screw you over on your next attempt.
+ SpaceManiac:
+ - tweak: The R&D Console has been given a much prettier interface.
+ - tweak: Research scanner goggles now show materials and technology prospects in
+ a nicer way.
+ uraniummeltdown:
+ - imageadd: Construct shells have a new animated sprite
+2017-12-03:
+ ExcessiveUseOfCobblestone:
+ - bugfix: You can now lay (buckle!) yourself to a bed to avoid being burnt to a
+ crisp during "the floor is lava" event.
+ Robustin:
+ - tweak: Igniting plasma statues no longer ignores ignition temperature and only
+ creates as much plasma as was used in its creation.
+ Xhuis:
+ - rscadd: Light fixtures now turn an ominous, dim red color when they lose power,
+ and draw from an internal power cell to maintain it until either the cell dies
+ (usually after 10 minutes) or power is restored.
+ - rscadd: You can override emergency light functionality from an APC. You can also
+ click on individual lights as a cyborg or AI to override them individually.
+ Traitor AIs also have a new ability that disables emergency lights across the
+ entire station.
+ zennerx:
+ - spellcheck: fixed some typos in the weapon firing mechanism description
+2017-12-04:
+ AnturK:
+ - rscadd: You can now record and replay holopad messages using holodisks.
+ - rscadd: Holodisks are printable in autolathes.
+ Xhuis:
+ - bugfix: You now need fuel in your welder to repair mechs.
+2017-12-05:
+ Cyberboss:
+ - sounddel: Reduced the volume of showers
+ Dax Dupont:
+ - rscadd: Nanotrasen is happy to announce the pinnacle in plasma research! The Disco
+ Inferno shuttle design is the result of decades of plasma research. Burn, baby,
+ burn!
+ MrPerson & ninjanomnom:
+ - refactor: Completely changed how keyboard input is read.
+ - rscadd: Holding two directions at the same time will now move you diagonally.
+ This works with the arrow keys, wasd, and the numpad.
+ - tweak: Moving diagonally takes twice as long as moving a cardinal direction.
+ - bugfix: You can use control to turn using wasd and the numpad instead of just
+ the arrow keys.
+ - rscdel: 'Some old non-hotkey mode behaviors, especially in relation to chatbox
+ interaction, can''t be kept with the new system. Of key note: You can''t type
+ while walking. This is due to limitations of byond and the work necessary to
+ overcome it is better done as another overhaul allowing custom controls.'
+ Robustin:
+ - rscdel: Reverted changes in 3d sound system that tripled the distance that sound
+ would carry.
+ SpaceManiac:
+ - spellcheck: Energy values are now measured in joules. What was previously 1 unit
+ is now 1 kJ.
+ - bugfix: Syndicate uplink implants now work again.
+ Xhuis:
+ - tweak: Stethoscopes now inform the user if the target can be defibrillated; the
+ user will hear a "faint, fluttery pulse."
+ coiax:
+ - rscadd: Quiet areas of libraries on station have now been equipped with a vending
+ machine containing suitable recreational activities.
+2017-12-06:
+ Dax Dupont & Alek2ander:
+ - tweak: Binary chat messages been made more visible.
+ Revenant Defile ability:
+ - bugfix: Revenant's Defile now removes salt piles
+ XDTM:
+ - rscadd: 'Brain damage has been completely reworked! remove: Brain damage now no
+ longer simply makes you dumb. Although most of its effects have been shifted
+ into a brain trauma.'
+ - rscadd: Every time you take brain damage, there's a chance you'll suffer a brain
+ trauma. There are many variations of brain traumas, split in mild, severe, and
+ special.
+ - rscadd: Mild brain traumas are the easiest to get, can be lightly to moderately
+ annoying, and can be cured with mannitol and time.
+ - rscadd: Severe brain traumas are much rarer and require extensive brain damage
+ before you have a chance to get them; they are usually very debilitating. Unlike
+ mild traumas, they require surgery to cure. A new surgery procedure has been
+ added for this, the aptly named Brain Surgery. It can also heal minor traumas.
+ - rscadd: 'Special brain traumas are rarely gained in place of Severe traumas: they
+ are either complex or beneficial. However, they are also even easier to cure
+ than mild traumas, which means that keeping these will usually mean keeping
+ a mild trauma along with it.'
+ - rscadd: Mobs can only naturally have one mild trauma and one severe or special
+ trauma.
+ - balance: Brain damage will now kill and ruin the brain if it goes above 200. If
+ it somehow goes above 400, the brain will melt and be destroyed completely.
+ - balance: Many brain-damaging effects have been given a damage cap, making them
+ non-lethal.
+ - rscdel: The Unintelligible mutation has been removed and made into a brain trauma.
+ - rscdel: Brain damage no longer makes using machines a living hell.
+ - rscadd: Abductors give minor traumas to people they experiment on.
+ coiax:
+ - rscadd: The drone dispenser on Metastation has been moved to the maintenance by
+ Robotics.
+2017-12-07:
+ ShizCalev:
+ - bugfix: Games vending machines can now properly be rebuilt.
+ - bugfix: Games vending machines can now be refilled via supply crates.
+ - rscadd: Games Supply Crates have been added to the cargo console.
+ SpaceManiac:
+ - bugfix: Radio frequency 148.9 is once again serviced by the telecomms system.
+ Xhuis:
+ - rscadd: Added the Eminence role to clockcult! Players can elect themselves or
+ ghosts as the Eminence from the eminence spire structure on Reebe.
+ - rscadd: The Eminence is incorporeal and invisible, and directs the entire cult.
+ Anything they say is heard over the Hierophant network, and they can issue commands
+ by middle-clicking themselves or different turfs.
+ - rscadd: The Eminence also has a single-use mass recall that warps all servants
+ to the Ark chamber.
+ - rscadd: Added traps, triggers, and brass filaments to link them. They can all
+ be constructed from brass sheets, and do different things and trigger in different
+ ways. Current traps include the brass skewer and steam vent, and triggers include
+ the pressure sensor, lever, and repeater.
+ - rscadd: The Eminence can activate trap triggers by clicking on them!
+ - rscadd: Servants can deconstruct traps instantly with a wrench.
+ - rscdel: Mending Mantra has been removed.
+ - tweak: Clockwork scriptures have been recolored and sorted based on their functions;
+ yellow scriptures are for construction, red for offense, blue for defense, and
+ purple for niche.
+ - balance: Servants now spawn with a PDA and black shoes to make disguise more feasible.
+ - balance: The Eminence can superheat up to 20 clockwork walls at a time. Superheated
+ walls are immune to hulk and mech punches, but can still be broken conventionally.
+ - balance: Clockwork walls are slightly faster to build before the Ark activates,
+ taking an extra second less.
+ - bugfix: Poly no longer continually undergoes binary fission when Ratvar is in
+ range.
+ - code_imp: The global records alert for servants will no longer display info that
+ doesn't affect them since the rework.
+ coiax:
+ - rscadd: The drone dispenser on Box Station has been moved from the Testing Lab
+ to the Morgue/Robotics maintenance tunnel.
+ deathride58:
+ - config: The default view range can now be defined in the config. The default is
+ 15x15, which is simplified to 7 by BYOND. For reference, Goonstation's widescreen
+ range is 21x15. Do note that changing this value will affect the title screen.
+ The title screen images and the title screen area on the Centcom z-level will
+ have to be updated if the default view range is changed.
+2017-12-08:
+ Dax Dupont:
+ - bugfix: Fixed observer chat flavor of silicon chat.
+ - bugfix: Grilles now no longer revert to a pre-broken icon state when you hit them
+ after they broke.
+ Dorsisdwarf:
+ - tweak: Minor fixes to some techweb nodes
+ - balance: Made flight suits, combat implants, and combat modules require more nodes
+ Fox McCloud:
+ - tweak: Slime blueprints can now make an area compatible with Xenobio consoles,
+ regardless of the name of the new area
+ MrDoomBringer:
+ - imageadd: All stations have been outfitted with brand new Smoke Machines! They
+ have nicer sprites now!
+ Shadowlight213:
+ - rscadd: You now can get a medal for wasting hours talking to the secret debug
+ tile.
+ - bugfix: Fixed runtime for the tile when poly's speech file doesn't exist.
+ Xhuis:
+ - rscadd: You can now make pet carriers from the autolathe, to carry around chef
+ meat and other small animals without having to drag them. The HoP, captain,
+ and CMO also start with carriers in their lockers for their pets.
+ YPOQ:
+ - bugfix: Fixed the camera failure, race swap, cursed items, and imposter wizard
+ random events
+ - tweak: The cursed items event no longer nullspaces items
+ jammer312:
+ - rscadd: Action buttons now remember positions where you locked.
+ - tweak: Now locking action buttons prevents them from being reset.
+2017-12-10:
+ SpaceManiac:
+ - bugfix: External airlocks of the mining base and gulag are now cycle-linked.
+ - tweak: The pAI software interface is now accessible via an action button.
+ Swindly:
+ - rscadd: You can kill yourself with a few more items.
+ XDTM:
+ - tweak: Instead of activating randomly on speech, Godwoken Syndrome randomly grants
+ inspiration, causing the next message to be a Voice of God.
+ Xhuis:
+ - tweak: Flickering lights will now actually flicker and not go between emergency
+ lights and normal lighting.
+ - bugfix: Emergency lights no longer stay on forever in some cases.
+ kevinz000:
+ - rscadd: Nanotrasen would like to remind crewmembers and especially medical personnel
+ to stand clear of cadeavers before applying a defibrillator shock. (You get
+ shocked if you're pulling/grabbing someone being defibbed.)
+ - tweak: defib shock/charge sounds upped from 50% to 75%.
+2017-12-11:
+ Anonmare:
+ - bugfix: Booze-o-mats have beer
+ Cruix:
+ - tweak: The white ship navigation computer now takes 10 seconds to designate a
+ landing spot, and users can no longer see the syndicate shuttle or its custom
+ landing location. If the white ship landing location would intersect the syndicate
+ shuttle or its landing location, it will fail after the 10 seconds have elapsed.
+ Frozenguy5:
+ - balance: Some hardsuits have had their melee, fire and rad armor ratings tweaked.
+ Improvedname:
+ - tweak: cats now drop their ears and tail when butchered.
+ Robustin:
+ - bugfix: Modes not in rotation have had their "false report" weights for the Command
+ Report standardized
+ SpaceManiac:
+ - bugfix: The MULEbots that the station starts with now show their ID numbers.
+ - bugfix: The dependency by Advanced Cybernetic Implants and Experimental Flight
+ Equipment on Integrated HUDs has been restored.
+ kevinz000:
+ - bugfix: flightsuits should no longer disappear when you take them off involuntarily
+ - bugfix: beam rifles actually fire striaght now
+ - bugfix: click catchers now actually work
+ - bugfix: you no longer see space in areas you normally can't see, instead of black.
+ in reality you can still see space but it's faint enough that you can't tell
+ so I'll say I fixed it.
+ uraniummeltdown:
+ - rscadd: Added MANY new types of airlock assembly that can be built with metal.
+ Use metal in hand to see the new airlock assembly recipes.
+ - rscadd: Added new airlock types to the RCD and airlock painter
+ - rscadd: Vault door assemblies can be built with 8 plasteel, high security assemblies
+ with 6 plasteel
+ - rscadd: Glass mineral airlocks are finally constructible. Use glass and mineral
+ sheets on an airlock assembly in any order to make them.
+ - tweak: Glass and mineral sheets are now able to be welded out of door assemblies
+ rather than having to deconstruct the whole thing
+ - rscdel: Airlock painter no longer works on airlock assemblies (still works on
+ airlocks)
+ - bugfix: Titanium airlocks no longer have any missing overlays
+2017-12-12:
+ Mark9013100:
+ - rscadd: Medical Wardrobes now contain an additional standard and EMT labcoat.
+ Robustin:
+ - rscadd: The blood cult revive rune will now replace the souls of braindead or
+ inactive cultists/constructs when properly invoked. These "revivals" will not
+ count toward the revive limit.
+ - rscadd: The clock cult healing rune will now replace the souls of braindead or
+ inactive cultists/constructs when left atop the rune. These "revivals" will
+ not drain the rune's energy.
+ Swindly:
+ - bugfix: Swarmers can no longer deconstruct objects with living things in them.
+ kevinz000:
+ - bugfix: You can now print telecomms equipment again.
+2017-12-13:
+ Naksu:
+ - bugfix: glass shards and bananium floors no longer make a sound when "walked"
+ over by a camera or a ghost
+ SpaceManiac:
+ - bugfix: Nonstandard power cells found in MULEbots, cyborgs, and elsewhere now
+ have the correct description.
+ deathride58:
+ - bugfix: Genetics will no longer have a random block completely disappear each
+ round
+2017-12-15:
+ AverageJoe82:
+ - rscadd: drones now have night vision
+ - rscdel: drones no longer have lights
+ Cruix:
+ - bugfix: Shuttles now place hyperspace ripples where they are about to land again.
+ Cyberboss:
+ - config: Added "$include" directives to config files. These are recursive. Only
+ config.txt will be default loaded if they are specified inside it
+ - config: Added multi string list entry CROSS_SERVER. e.g. CROSS_SERVER Server+Name
+ byond://server.net:1337
+ - config: CROSS_SERVER_ADDRESS removed
+ Epoc:
+ - bugfix: Adds Cybernetic Lungs to the Cyber Organs research node
+ JStheguy:
+ - rscadd: Added 10 new assembly designs to the integrated circuit printer, the difference
+ from current designs is purely aesthetics.
+ - imageadd: Added the icons for said new assembly designs to electronic_setups.dmi,
+ changed the current electronic mechanism and electronic machine sprites.
+ MrStonedOne:
+ - server: Added new admin flag, AUTOLOGIN, to control if admins start with admin
+ powers. this defaults to on, and can be removed with -AUTOLOGIN
+ - admin: Admins with +PERMISSION may now deadmin or readmin other admins via the
+ permission panel.
+ Naksu:
+ - code_imp: Preliminary work on tracking cliented living mobs across Z-levels to
+ facilitate mob AI changes later
+ - code_imp: Tidied up some loc assignments
+ - code_imp: fixes the remaining loc assignments
+ ShizCalev:
+ - soundadd: Revamped gun dry-firing sounds.
+ - tweak: Everyone around you will now hear when your gun goes click. You don't want
+ to hear click when you want to hear bang!
+ SpaceManiac:
+ - code_imp: Remote signaler and other non-telecomms radio code has been cleaned
+ up.
+ Xhuis:
+ - rscadd: Grinding runed metal and brass now produces iron/blood and iron/teslium,
+ respectively.
+ - balance: As part of some code-side improvements, the amount of reagents you get
+ from grinding some objects might be slightly different.
+ - bugfix: Some grinding recipes that didn't work, like dead mice and glowsticks,
+ now do.
+ - bugfix: All-In-One grinders now correctly grind up everything, instead of one
+ thing at a time.
+ nicbn:
+ - imageadd: Closet sprites changed.
+2017-12-16:
+ Armhulen and lagnas2000 (+his team of amazing spriters):
+ - rscadd: Mi-go have entered your realm!
+ Robustin:
+ - balance: Marauder shields now take twice as long to regenerate and only recharge
+ one charge at a time.
+ - balance: Marauders now have 120hp down from 150hp.
+ - bugfix: The wizard event "race swap" should now stick to "safer" species.
+ - bugfix: Zombies are now properly stunned for a maximum of 2 seconds instead of
+ 2/10ths of a second.
+ - tweak: Zombie slowdown adjusted from -2 to -1.6.
+ SpaceManiac:
+ - bugfix: The shuttle will no longer be autocalled if the round has already ended.
+ Xhuis:
+ - tweak: Vitality matrices don't have visible messages when someone crosses them
+ anymore.
+2017-12-17:
+ More Robust Than You:
+ - code_imp: Changed roundend sounds and lobby music to use one proc for choosing
+ sounds
+ - server: You can now easily host roundstart sounds without changing the code!
+ - config: RIP in shit round_start_sounds.txt
+ XDTM:
+ - rscadd: A few new traumas have been added.
+ - balance: Thresholds to get brain traumas have been lowered, as they currently
+ pretty much only trigger if you intentionally chug impedrezene.
+ - tweak: Melee head hits deal minor brain damage. Crits still do a significant amount.
+ - tweak: Nuke Op implants no longer trigger on deathgasp. (They still explode on
+ death)
+ - tweak: You'll now receive messages when crossing certain brain damage thresholds.
+ - tweak: Split Personalities are instructed not to suicide while in control.
+ - tweak: Godwoken Syndrome now randomly sends Voice of God commands, instead of
+ being controllable.
+ Xhuis:
+ - bugfix: Clockcult power alerts will no longer show outside of the clockcult gamemode
+ (they could be triggered by scarabs.)
+ ninjanomnom:
+ - bugfix: You can use the old non-hotkey mode text input behavior (keyboard input
+ automatically directed at the text input box) by changing your hotkey mode in
+ preferences
+ - rscadd: You can use Shift+E or Shift+B for belt/backpack respectively to quickly
+ put in your held item or take out the most recently added item.
+2017-12-18:
+ AnturK:
+ - rscadd: Repeated messages will now be squashed in the chat.
+ Cyberboss:
+ - bugfix: Allied station communications are back, now with potentially multiple
+ stations
+ Naksu:
+ - tweak: Hostile mobs on z-levels without living players will now conserve their
+ efforts and simply not run AI routines at all. Also, idling mob routines should
+ be significantly cheaper on non-station Z-levels.
+ ShizCalev:
+ - soundadd: Added new sounds to guns when reloading.
+ - bugfix: Cartridges and casings ejected from guns will now make the proper sound!
+ Xhuis:
+ - bugfix: Microwave sound loops now correctly stop when it breaks or is otherwise
+ interrupted mid-cook.
+ coiax:
+ - rscadd: A lollipop dispenser in "dispense lollipops" mode can push the lollipop
+ straight into the targets hand, rather than getting it dirty on the floor first.
+ - tweak: Aliens (and humans with alien organs) will have a prompt if they try to
+ create resin structures or lay eggs atop vents or scrubbers.
+ nicbn:
+ - bugfix: Now the chem smoke machine uses stock parts for volume and range.
+ ninjanomnom:
+ - bugfix: Decals should now rotate the correct way around.
+ oranges:
+ - tweak: Dance machine will not play tracks to you if you have instruments turned
+ off
+2017-12-19:
+ More Robust Than You:
+ - tweak: Jungle Fever cannot be cured anymore
+ - bugfix: The Monkey Leaders' virus are now un-detectable by health scanners and
+ to the PANDEMIC now.
+ Shadowlight213:
+ - bugfix: Fixed captain's PDA showing unusable Toggle Remote Door menu option
+ XDTM:
+ - rscadd: Abductors can now see if people already have glands! Never worry about
+ abducting the same guy twice again.
+ - rscadd: Added the Mind Interface Device to the abductor shop for 2 Credits. Only
+ scientists can use it.
+ - rscadd: 'The MID has two modes: Transmit and Control.'
+ - rscadd: Transmit will allow you to send a message anytime, anywhere to the mind
+ of a target of your choice, regardless of language barriers. The message will
+ be anonymous, but abductor-like.
+ - rscadd: Control allows you to give a temporary directive to a target with an implanted
+ gland, that they MUST follow. Duration and amount of uses varies by gland type.
+ When a gland is spent, it will no longer respond to Control signals. The target
+ forgets ever receiving the objective when the duration ends.
+ coiax:
+ - balance: The codespeak manual now has unlimited uses and costs 3 TC.
+ - bugfix: Nuke ops can now purchase the codespeak manual, as was intended.
+ - rscadd: Golems can now wear labcoats.
+ kevinz000:
+ - rscadd: You can now joust with spears if you are riding on another mob, whether
+ it's a hapless cyborg or otherwise! Additional damage and stunchance will be
+ added per tile moved!
+ ninjanomnom:
+ - bugfix: Non movement keys pressed while moving no longer stop movement.
+2017-12-20:
+ AnturK:
+ - rscadd: You can enforce no smoking zones with a disarm aimed at the smokers mouth.
+ coiax:
+ - rscadd: A changeling will learn all languages from anyone they absorb.
+2017-12-21:
+ Fox McCloud:
+ - bugfix: Fixes arm implants being immune to EMPs
+ SpaceManiac:
+ - refactor: Telecomms and radio code has been cleaned up.
+ - tweak: The PDA message server is now a real piece of telecomms machinery.
+ - tweak: PDA logs now include the job as well as name of the participants.
+ - bugfix: The Syndicate frequency no longer hears its own messages twice.
+ - bugfix: Talking directly into a radio which is also hot-miked no longer double-talks.
+ - bugfix: Passing a space transition no longer interrupts pulls.
+ Xhuis:
+ - bugfix: You can no longer elect two Eminences simultaneously.
+ - bugfix: The Eminence no longer drifts in space.
+ - tweak: The Eminence's mass recall now works on unconscious servants.
+ - tweak: The Eminence's messages now have follow links for observers.
+ - balance: Floors blessed with holy water prevent servants from warping in and the
+ Eminence from crossing them.
+ - balance: The Eminence can never enter the Chapel.
+ coiax:
+ - rscadd: At the end of the round, all players can see who the antagonists are.
+ improvedname:
+ - bugfix: Corrects 357. speedloader in the autolathe
+ kevinz000:
+ - rscdel: Integrated circuit smoke circuits now require 10 units of reagents to
+ fire.
+ uraniummeltdown:
+ - rscadd: You can adjust line height in chat settings
+ - tweak: Default chat line height is slightly shorter, from 1.4 to 1.2
+2017-12-22:
+ Awesine:
+ - rscadd: added some things which happen to be mining scanner things to that gulag
+ thing
+ Kor:
+ - rscadd: During Christmas you will be able to click on the tree in the Chapel to
+ receive one present per round. That present can contain any item in the game.
+ Naksu:
+ - bugfix: frying oil actually works
+ WJohnston:
+ - tweak: Syndicate nuke op infiltrator shuttle is no longer lopsided.
+ kevinz000:
+ - rscadd: 'Clown modules have been added for cyborgs! Modules: Bikehorn, Airhorn,
+ instrumental bikehorn, clown stamp, multicolor paint, rainbow crayon, soap,
+ razor, purple lipstick, nonstunning selfcharging creampie cannon, nonslipping
+ selfcharging water sprayer, lollipop fabricator, metallic picket sign, mini
+ extinguisher, laughter reagent hypospray, and the ability to hug. experimental:
+ When emagged they get a fire spray, "super" laughter injector, and shocking
+ or crushing hugs. Also, the module is adminspawn only at the moment.'
+ - bugfix: Projectiles that pierce objects will no longer be thrown off course when
+ doing so!
+ - code_imp: Projectiles now use /datum/point/vectors for trajectory calculations.
+ - bugfix: Beam rifle reflections will no longer glitch out.
+2017-12-23:
+ Dax Dupont:
+ - bugfix: Borgs will no longer have their metal/glass/etc stacks commit sudoku when
+ it runs out of metal. They will also show the correct amount instead of a constant
+ of "1" on menu interaction.
+ Kor:
+ - rscadd: During Christmas you will be able to click on the tree in the Chapel to
+ receive one present per round. That present can contain any item in the game.
+ Robustin:
+ - tweak: The EMP door shocking effect has a new formula. Heavy EMP's will no longer
+ shock doors while light EMP's have a 10% chance (down from 13.33%).
+ coiax:
+ - balance: The kitchen gibber must be anchored in order to use.
+ - balance: The gibber requires bodies to have no external items or equipment.
+2017-12-24:
+ Frozenguy5:
+ - bugfix: Soapstones now give the correct time they were placed down.
+ More Robust Than You:
+ - tweak: Vending machines now use TGUI
+ SpaceManiac:
+ - bugfix: '"Download N research nodes" objective is now checked correctly again.'
+2017-12-25:
+ SpaceManiac:
+ - bugfix: The Syndicate radio channel works on the station properly again.
+ coiax:
+ - rscadd: Ghosts can now use the *spin and *flip emotes.
+ uraniummeltdown:
+ - rscadd: Examine a door assembly to check what custom name is set.
+2017-12-26:
+ Cyberboss:
+ - tweak: Objects that can have materials inserted into them only will do so on help
+ intent
+ PsyKzz:
+ - rscadd: Jaws of life can now cut handcuffs
+ SpaceManiac:
+ - admin: Play Internet Sound now has an option to show the song title to players.
+ XDTM:
+ - balance: Rebalanced healing symptoms.
+ - balance: Cellular Molding was replaced by Nocturnal Regeneration, which only works
+ in darkness.
+ - balance: All healing symptoms now heal both brute and burn damage, although the
+ basic ones will still be more effective on one damage type.
+ - balance: Plasma Fixation and Radioactive Metabolism heal toxin damage, offsetting
+ the damage done by their healing sources.
+ - balance: Changed healing symptoms' stats, generally making them less punishing.
+ Xhuis:
+ - balance: Medical supplies on all normal maps (Box, Meta, Delta, Omega, and Pubby)
+ are now behind ID-locked windoors. These windoors will become all-access during
+ red alert!
+ YPOQ:
+ - bugfix: Emagged cleanbots can acid people again
+ - bugfix: Headgear worn by monkeys can be affected by acid
+ ninjanomnom:
+ - bugfix: The auxiliary mining base can no longer be placed on top of lava, indestructible
+ turfs, or inside particularly large ruins.
+ - bugfix: The backup shuttle has it's own area now and you should no longer occasionally
+ be teleported there by the arena shuttle.
+ - bugfix: Cycling airlocks on shuttles should work correctly when rotated now.
+ - bugfix: Things like thermite which burned through walls straight to space now
+ stop on plating. You'll have to thermite it again to get to space.
+2017-12-27:
+ More Robust Than You:
+ - code_imp: Changed roundend sounds and lobby music to use one proc for choosing
+ sounds
+ - server: You can now easily host roundstart sounds without changing the code!
+ - config: RIP in shit round_start_sounds.txt
+ Nero1024:
+ - soundadd: blast doors and shutters will now play a sound when they open and close.
+ Robustin:
+ - bugfix: Hallucinations will no longer show open doors "bolting".
+ SpaceManiac:
+ - code_imp: The R&D console has been made more responsive by tweaking how design
+ icons are loaded.
+ Xhuis:
+ - rscadd: Maintenance drones and cogscarabs can now spawn with holiday-related hats
+ on some holidays!
+ coiax:
+ - rscadd: Deltastation now has christmas trees during seasonally appropriate times.
+ deathride58:
+ - bugfix: Praise the lord! The shift+scroll hotkey to zoom in/out as a ghost works
+ properly again!
+ kevinz000:
+ - rscadd: you can now pick up corgi's and pAIs, how disgustingly cute
+ - code_imp: Forensics is now a datum component.
+ - balance: NPC humans will now start leaving fingerprints on things they touch!
+2017-12-28:
+ Cyberboss:
+ - bugfix: Ghost lights will follow the ghost while orbiting
+ Robustin:
+ - bugfix: Splashing a book with ethanol should no longer produce errant messages.
+ - balance: Dead cultists can now be moved across the "line" on Reebe.
+2017-12-29:
+ CosmicScientist:
+ - rscadd: timestop now inverts the colours of those frozen in time!
+ Dax Dupont:
+ - bugfix: APCs and other wall mounted objects are no longer blocked by the secure
+ medbay storage parts.
+ - bugfix: Removed a duplicate radiation collector on Deltastation.
+ More Robust Than You:
+ - bugfix: The Radiance can now enter the chapel
+ - bugfix: Monkey chat should no longer have .k prefixed
+ - bugfix: Monkey leaders should actually get jungle fever now
+ Robustin:
+ - bugfix: The action button for spells should now accurately reflect when the spell
+ is on cooldown
+ - bugfix: You can now reliably use the button for "touch" spells to "recall" the
+ spell
+ SpaceManiac:
+ - code_imp: Explicit z-level checks have been changed to use defines.
+ XDTM:
+ - rscadd: 'Added a new reagent: Pax.'
+ - rscadd: Pax is made with Mindbreaker, Synaptizine and Water, and those affected
+ by it are forced to be nonviolent against living beings. At least, not directly.
+ coiax:
+ - rscadd: Adds an internal radio implant, allowing the use of the radio if you expect
+ to have your headset removed. Or if you don't have any ears or hands. It can
+ be purchased for 4 TC from any Syndicate uplink.
+ - rscadd: Nuke ops now buy special "syndicate intelligence potions" that automatically
+ insert an internal radio implant when used successfully. Cayenne can now participate
+ in your high level discussions.
+2017-12-30:
+ Cyberboss:
+ - tweak: Burial jumpsuits no longer have suit sensors
+ - tweak: The chemistry job has been removed from Omegastation. Medical doctors still
+ have full chemistry access
+ MrDoomBringer:
+ - imageadd: NanoTrasen has sent the station new spaceheaters! They look nicer now!
+ Xhuis:
+ - balance: Vitality matrices now apply Ichorial Stain when reviving a dead servant,
+ which prevents that servant from being revived again by vitality matrices for
+ a full minute.
+ - balance: Vitality matrices can't be placed adjacent to one another.
+ - balance: Brass skewers now damage and stun cyborgs.
+ - balance: Vitality matrices no longer drain people impaled on brass skewers.
+ - balance: Pressure sensors have 5 health again (down from 25.)
+ ninjanomnom:
+ - bugfix: Some changes to turfs like shuttles would result in un-initialized space
+ tiles being created. This has been fixed.
+2017-12-31:
+ Cyberboss:
+ - rscadd: Explosions now cause camera shake based on intensity and distance
+ F-OS:
+ - bugfix: Last resort now requires a confirmation
+ Naksu:
+ - code_imp: loot drop spawners now assign their pixel offsets to the items they
+ spawn, also have a "fanout" setting to distribute items in a neat fashion like
+ in omega/delta's core and some tech storages.
+ - tweak: replaced several law boards in uploads with spawners, the net result being
+ one more board in uploads that may be a duplicate asimov (but hopefully isn't)
+ SpaceManiac:
+ - bugfix: Viewing photos sent by PDA message works again.
+ WJohnston:
+ - rscadd: Redesigned the entire syndicate lavaland base to be more stylish, have
+ functioning power and atmos as well as a turbine to play with.
+ XDTM:
+ - bugfix: Fixed a hallucination that would say [target.first_name()] instead of
+ the actual name.
diff --git a/html/changelogs/archive/2018-01.yml b/html/changelogs/archive/2018-01.yml
new file mode 100644
index 0000000000..fbe2522f92
--- /dev/null
+++ b/html/changelogs/archive/2018-01.yml
@@ -0,0 +1,877 @@
+2018-01-01:
+ Dax Dupont:
+ - bugfix: PDA messages have been fixed.
+2018-01-02:
+ Dax Dupont:
+ - bugfix: The bank vault is no longer metagaming. It will now display the IC station
+ name.
+ DaxDupont:
+ - bugfix: Solar control consoles are no longer pointing to the wrong direction,
+ you can now turn tracking off again and manual positioning of solar panels have
+ been fixed.
+ Frozenguy5:
+ - rscadd: Adds a goon and cult emoji. Improves gear and tophat. (Credits to GoonStation
+ for creating the goon bee sprite.)
+ Okand37:
+ - rscadd: Overhauled aesthetic of some portions of Omegastation
+ - rscadd: Overhauled Omegastation's departure lounge, fitting it with the rest of
+ the station's theme
+ - rscadd: Replaced the personal closets with wardrobes in Omegastation's Lockerroom
+ - rscadd: Made Omegastation's engine room floortiles reinforced
+ - rscadd: Replaced the cola and snack machines with their random counterparts on
+ Omegastation
+ - bugfix: Fixed Omegastation's self destruct console being a doomsday device
+ - bugfix: Fixed Omegastation's chemistry shutters not all being synced and rearranged
+ the chemmaster.
+ - rscadd: Added a small technology storage in maintenance near departures on Omegastation
+ - rscadd: Added additional loot and emergency supplies to maintenance on Omegastation
+ - rscadd: Added the X-01 Multiphase to the Captain's Locker, Blueprints to Vault,
+ Reactive Teleportation Armor to Server Room and theHypospray to Medical Storage
+ on Omegastation
+ XDTM:
+ - bugfix: Fixed Runic Golem's Abyssal Gaze blinding permanently.
+ - balance: Ocular Restoration has been removed, its effect transfered on Sensory
+ Restoration.
+ - balance: Sensory Restoration now heals both eye and ear damage.
+ - balance: Mind Restoration now no longer heals ear damage, but now heals brain
+ damage by default.
+ - balance: Mind Restoration's thresholds can now let the symptoms cure mild brain
+ traumas at 6 resistance and severe ones at 9.
+ ninjanomnom:
+ - bugfix: Turfs are construct-able again
+2018-01-03:
+ Cyberboss:
+ - bugfix: Fixed lathe power consumption being too high
+ - bugfix: You no longer cut yourself with shards when clicking a portal
+ Dax Dupont:
+ - bugfix: After 2 years and 2 separate issues the paper mache wizard robe has finally
+ been fixed.
+ Naksu:
+ - rscadd: A damaged core AI module may now spawn in AI uploads. It contains a random
+ amount of ionic laws with normal law priorities.
+ - bugfix: splash-fried food is now actually edible
+ SpaceManiac:
+ - bugfix: Mimes now laugh silently.
+ deathride58:
+ - tweak: Explosions will no longer give everyone and their mothers motion sickness
+ from a mile away.
+2018-01-04:
+ Cyberboss:
+ - bugfix: The bloodcult sacrifice objective description won't change when the target
+ is sacrificed
+ Dax Dupont:
+ - rscadd: PDA Interface color is now a preference.
+ - bugfix: Fixed PDA font style not applying at round start.
+ - rscadd: 'The following messages have been added to dead chat: Security level change,
+ (re)calling, Emergency Access, CentComm/Syndicate console messages, outgoing
+ server messages and announcements,'
+ MrStonedOne:
+ - bugfix: The changelog hadn't been updating. This has been fixed.
+ ShiggyDiggyDo:
+ - tweak: Syndicate experts were able to create more sophisticated copies of the
+ nuclear authentication disk. While still unable to detonate the nuclear fission
+ explosive with them, they're practically identical to the real disk if not examined
+ closely.
+2018-01-05:
+ Cruix:
+ - bugfix: Chameleon PDAs now have their chameleon action.
+ Okand37:
+ - rscadd: Added a fully functioning A.I. satellite to Omegastation!
+ - rscadd: Added the CE's magboots to the gravity room on Omegastation!
+ - rscadd: Added a medical wrench to cryo for Omegastation!
+ Shadowlight213:
+ - bugfix: Devils will no longer be permanently stuck if interrupted while trying
+ to jaunt.
+ - bugfix: Devils will now properly clear the fake fire if failing to jaunt.
+ SpaceManiac:
+ - bugfix: The startup load time of away missions has been drastically reduced.
+ - bugfix: The admin notification for the pulse rifle prize now shows the correct
+ coordinates.
+ deathride58:
+ - bugfix: Explosions now function properly again!
+2018-01-10:
+ Robustin:
+ - bugfix: Blood cultists will now properly display a "reverted to their old faith"
+ message when deconverted.
+2018-01-11:
+ Cyberboss:
+ - spellcheck: Fixed mechanical arms grammar when failing to activate
+ - bugfix: You will now no longer hit closets when attempting to anchor them
+ ExcessiveUseOfCobblestone:
+ - code_imp: Adds Stat Tracking to Techwebs by node and order.
+ Selea:
+ - rscadd: pulling claw.Integrated circuit, which allow assemblies to pull things.
+ ShizCalev:
+ - bugfix: 'Meta: The UI for the captain''s cigarette vendor now works again.'
+ - tweak: 'Meta: Removed the omnizine filled syndicate cigarettes from the captain''s
+ cigarette vendor.'
+ - tweak: Medbots are no longer able to inject you if you do not have any exposed
+ flesh.
+ Someguynamedpie:
+ - bugfix: Use world.timeofday instead of world.realtime
+ SpaceManiac:
+ - spellcheck: Replaced "CentComm" with "CentCom" in communications console deadchat
+ announcement.
+ - refactor: Information about the properties of z-levels is now less hardcoded than
+ before.
+ Tortellini Tony:
+ - rscadd: 'New hotkey for admin say command: F3.'
+ yorii:
+ - spellcheck: Renamed the ChemMaster eject button to highlight the fact that the
+ buffer does not get cleared
+2018-01-12:
+ Cobby:
+ - tweak: As a human, you will now point with your legs when you have no arms, falling
+ over each time.
+ - tweak: As a human, you will bump your head on the ground trying to motion towards
+ something when you have no arms or legs.
+ Cyberboss:
+ - spellcheck: Fixed message grammar when lifting someone off a brass skewer
+ - bugfix: Fixed the original poker tables not being deleted after Narsie converted
+ them to a wooden table
+ Dax Dupont:
+ - rscadd: Thanks to the extensive disco and plasma research gathered by the Disco
+ Inferno shuttles, an indestructible mark V disco machine is now available. The
+ latest edition of the Disco Inferno shuttle now carries it.
+ JJRcop:
+ - code_imp: Removes some links intended for admins from game logs.
+ More Robust Than You:
+ - balance: Sigils of submission now uncuff upon successful conversion
+ PKPenguin321:
+ - tweak: Cyborgs that take enough damage to have a module disabled will now automatically
+ announce that they've had a module disabled to anybody nearby. Now if you want
+ to stop a cyborg from interfering with your business but don't want to kill
+ it, you can simply bash until you see the CRITICAL ERROR message.
+ - soundadd: Borgs will play an alarm sound in addition to displaying this message
+ as they have their modules disabled.
+ ShizCalev:
+ - bugfix: You can now attach collars to pets again!
+ - bugfix: Corrected pet collars icon mismatch.
+ - bugfix: Pets will now drop their collars when gibbed.
+ - tweak: You will no longer be able to rename unique pets, such as Ian or Runtime.
+ You can still rename pets without a special name.
+ - bugfix: Secbot assemblies will no longer lose their weld hole when dragged North
+ - imageadd: Secbot assemblies now have new North facing sprites!
+ - imageadd: Cleaned up a rogue pixel on beepsky's sprite.
+ - bugfix: Defibrillators now have inhands again!
+ - bugfix: Defibrillators will no longer stay in your hands after you die.
+ - bugfix: Losing an arm while wielding a two handed weapon will now cause you to
+ drop the weapon.
+ - bugfix: Losing an arm while carrying an item that requires two hands to hold will
+ now cause you to drop the item.
+ - spellcheck: Improved user feedback from chem dispenser macros.
+ - bugfix: Fixed Tests Areas debug verb.
+ - bugfix: Only the chaplain can now purify a bloody bastard sword.
+ - bugfix: Fully healing a mob as an admin now cures disabilities properly.
+ - bugfix: Non-cultists hulks can no longer withstand the immense powers of Ratvar's
+ influence while holding a bloody bastard sword.
+ - bugfix: The average body temperature has been corrected to 98.6F.
+ - tweak: Safe dials will now present itself in 1 number increments, instead of 5.
+ - bugfix: Relabeled canisters will no longer switch to an incorrect sprite when
+ broken.
+ SpaceManiac:
+ - bugfix: Relabelled canisters once again have the correct description.
+ - bugfix: The interface of airlock consoles has been restored to normalcy.
+ YPOQ:
+ - bugfix: Securitrons/ED-209s/Honkbots will only activate their emag functions after
+ their internals are emagged
+2018-01-14:
+ Dax Dupont:
+ - bugfix: The NT Violet Lepton shuttle has been retrofitted with lava proof windows
+ for the lava engine. They will no longer catch fire and violently decompress
+ the shuttle.
+ Leshana:
+ - bugfix: Fix attempt to use `in` on a non-list. Pretty sure bitfields do not work
+ that way.
+ - admin: SS_NO_FIRE subsystems will no longer display pointless cost statistics
+ in MC panel
+ QualityVan:
+ - balance: Due to budget cuts, the vault safe is now slightly less resistant to
+ explosions.
+ ShizCalev:
+ - bugfix: Constructed security/honk/ect bots will now drop the correct parts when
+ destroyed.
+ - bugfix: "Some areas will no longer present themselves at \"\xC3\xBFUnexplored\
+ \ Area\""
+ SpaceManiac:
+ - bugfix: The R&D console design icon for slot machines is no longer mangled.
+ - bugfix: The Ark's teleportation checks now take mechs and sleepers into account
+ correctly.
+ - spellcheck: Activating internals via the right-side button produces better messages
+ on success.
+ - bugfix: The RPD will no longer fail to paint and layer pipes in some situations.
+ - bugfix: Unwrenching canisters from connector ports on non-default layers now resets
+ their pixel offset.
+ Thunder12345:
+ - bugfix: The NES Port emergency shuttle will no longer drain the CentComm emergency
+ dock of air
+ XDTM:
+ - tweak: Dreams are now more immersive and interesting.
+ deathride58:
+ - admin: You can now choose an outfit to be equipped while transforming a mob to
+ human via rudimentary transform.
+2018-01-15:
+ Cruix:
+ - rscadd: Roundend traitor purchase logs now have tooltips showing the name, cost,
+ and description of the items.
+ F-OS:
+ - rscadd: NT has disabled their automatic APC lock
+ - tweak: The space heater now has a warning on it about use in the SM.
+ Half of coderbus ended up working on this somehow:
+ - rscadd: Goats will now dismember plant people when attacking them.
+ Iamgoofball:
+ - bugfix: The Express Console emag effect is now worth using.
+ JohnGinnane:
+ - bugfix: Fixed not being able to alt click on a stack
+ More Robust Than You:
+ - bugfix: Monkey Leaders should now properly get Jungle Fever
+ - bugfix: Monkeymode roundend report should now properly show Major/Minor victory
+ - bugfix: Monkeys should now get the jungle fever objective in monkeymode
+ - imageadd: Wirecutters can come in even more colors now!
+ ShizCalev:
+ - bugfix: RPDs and pipe painters now have more colorssssssssssssssssss
+ SpaceManiac:
+ - bugfix: Title screens without multiple dots in their filename will now be chosen
+ again.
+ - bugfix: MMIs in mechs or held by humans wearing fireproof suits are no longer
+ burnt by ash storms.
+ WJohnston:
+ - rscadd: Encrypted radio waves have been detected airing around station space.
+ Watch for possible enemy communications.
+ - rscadd: The space syndicate listening post has been remade from scratch, and now
+ has an actual ghost role to help spy on the station and relay info to traitors!
+ Xhuis:
+ - tweak: Added some new tips to the list for fighting the clockcult!
+ - rscadd: Added a new bar sign, The Lightbulb.
+ YPOQ:
+ - bugfix: Players are immune to their own slime time stops again
+ coiax:
+ - rscadd: A xenomorph maid (or barmaid) cleans the floor as they walk on it. Lie
+ down, and they'll clean your face.
+ ninjanomnom:
+ - admin: There are 3 new helpers in the secrets menu for messing with movement controls
+ - bugfix: Mining base walls when broken turn into plating which in turn breaks down
+ to the basalt surface.
+ theo2003:
+ - tweak: The autolathes on MetaStation, and DeltaStation next to R&D are now accessible
+ from R&D via windoor.
+2018-01-16:
+ AnturK:
+ - bugfix: Photos now properly capture everything again.
+ DaedalusGame:
+ - bugfix: fixed duplicate reagent definitions in chem macros
+ SpaceManiac:
+ - bugfix: Heat exchange manifold pipes facing east/west now work again.
+ Thunder12345:
+ - bugfix: The asteroid with engines strapped to it will no longer vent both the
+ CentCom docks and its own entrance.
+ XDTM:
+ - rscadd: Reworked the species side of xenobiology.
+ - rscadd: Instead of an universal unstable mutation toxin, green slimes can now
+ produce slime mutation toxin (plasma), human mutation toxin (blood), and lizard
+ mutation toxin (radium).
+ - balance: Slime mutation toxin requires several units and some time before acting,
+ unless you're already a slimeperson (in which case it will randomize your subspecies)
+ - rscadd: Two new jellypeople subspecies have been added to make up for the lost
+ species.
+ - rscadd: Stargazers have telepathic abilities; they can Send Thoughts, privately
+ and anonimously, to any target they can see, and they can Link Minds with any
+ aggressively grabbed mob to form a hivemind with them. Hiveminds have no limit
+ but expire when the Stargazer dies or changes species.
+ - rscadd: Luminescents glow faintly and can absorb slime cores to gain special abilities.
+ Each core has a minor and a major ability, generally based on what they normally
+ do. Using these abilities does not use up the cores, but it has a cooldown depending
+ on the ability's power.
+ - balance: Slimepeople can now switch bodies on death or when unconscious, as long
+ as they have another one.
+2018-01-17:
+ DaedalusGame:
+ - balance: you can't get 12 syndi bomb cores from stripping the syndi lava base
+ for parts anymore
+ - bugfix: fixed the syndi lava base blowing up from stray colossus shots, goliaths
+ breaking in or miners throwing gibtonite at it.
+ F-OS:
+ - tweak: Air alarms start unlocked
+ - bugfix: Air alarms no longer think they are fire alarms
+ - bugfix: Drone dispensers no longer hide drones
+ - bugfix: Ash storms aren't at ear-rapey volumes inside shielded areas.
+ ShizCalev:
+ - bugfix: Gas tanks are now made of metal! Honk
+ SpaceManiac:
+ - bugfix: Clicking lattices and girders with the RPD now succeeds instead of appearing
+ to place a pipe but failing.
+ - bugfix: The debug verbs "Display Air Status" and "Air Status in Location" now
+ format their reports the same and actually work more often.
+ - bugfix: The Camera Failure event no longer crashes the server if the station has
+ no cameras.
+ - admin: SDQL "select" outputs now have buttons to jump to the coordinates of the
+ found objects.
+ Xhuis:
+ - balance: You now have to climb through rifts to Reebe by walking into them, instead
+ of instantly warping away when you bump into one.
+ - balance: The separation line between the crew spawn and servant spawn in Reebe
+ now blocks airflow.
+ - rscadd: Added a new bar sign, The Lightbulb.
+ - bugfix: The Eminence's mass recall ability should now work properly
+ coiax:
+ - rscadd: If enough people vote to start CTF (by clicking on a CTF controller as
+ a ghost), then CTF will automatically begin.
+ deathride58:
+ - rscadd: By using a multitool on a radiation collector, you can use it to generate
+ research points! This requires a tank filled with a mix of tritium and oxygen.
+ - tweak: The display of rad collectors' power production rates has been moved from
+ a multitool interaction to examine text.
+ - tweak: Radiation collectors now emit a ding when they run out of fuel.
+ kevinz000:
+ - bugfix: Flashes can no longer work from inside containers to flash people outside.
+ - balance: Research export cargo points have been halved
+ nicbn:
+ - tweak: The Pirate Code changed its first rule to "BE AN SKELETON YARR". The old
+ "there are no rules" is now the second rule.
+2018-01-18:
+ Buggy123:
+ - tweak: full-tile plasmaglass windows have had their integrity increased to the
+ correct value.
+2018-01-19:
+ AverageJoe82:
+ - tweak: Reduce clock work mob death sound file's volume to 80%
+ Buggy123:
+ - rscadd: Observers can now view the atmospheric contents of the tile they're floating
+ above.
+ Cyberboss:
+ - refactor: Added test run mode which checks for runtimes in startup/shutdown and
+ runs tests (if they were enabled during compilation). Invoke it with the "test-run"
+ world parameter
+ Dax Dupont:
+ - bugfix: Autolathe now consumes reasonable amounts of power when inserting materials
+ - bugfix: Fixed conveyor belt power usage.
+ Frozenguy5:
+ - code_imp: Travis now builds on BYOND 512.1403
+ Joan and More Robust Than You:
+ - rscadd: Adds moths! They're a new species that is able to fly in pressurized areas
+ provided gravity is off... and that they still have wings.
+ More Robust Than You:
+ - rscadd: Added some useful sec officer tips
+ OrdoM:
+ - rscadd: Adds morphine recipe to chemistry.
+ - rscdel: Removed ability for bartender to steal all morphine on the map
+ Robustin:
+ - bugfix: Fixed frost oil (cryosting) sending insulated crewmembers below absolute
+ zero temperatures.
+ - bugfix: Fixed damaging cold temps being a death sentence to simple mobs (they
+ wouldn't heat back up to safe temps at room temperature).
+ - refactor: Refactored human temperature code, insulating clothing now helps you
+ stay warm but going unprotected will help you cool off. However, you will now
+ benefit from colder temps when you're overheating even in full EVA/hardsuit
+ gear and you will warm up faster at room temperature in insulated gear as well
+ (i.e. putting on a winter coat will no longer suppress your temperature if your
+ already cold).
+ - bugfix: All crew can now purify bloody bastard swords with a bible (available
+ from cargo religion crates, library, or chapel) once again.
+ Shadowlight213:
+ - rscadd: Players can now have a verb in the ooc tab to see their own tracked playtime
+ - bugfix: fixed admin bypass not using the right proc
+ - bugfix: Lavaland ghost roles should now show up in the playtime report
+ ShizCalev:
+ - bugfix: Floors that look damaged / burned are now ACTUALLY damaged / burned, and
+ can be repaired!
+ SpaceManiac:
+ - bugfix: PDA messages sent by the message monitor console are now included in the
+ talk logs.
+ XDTM:
+ - tweak: Mass Hallucination now will give everyone the same hallucination.
+ - bugfix: Slimepeople can now properly swap between bodies.
+ - bugfix: Slimes no longer attack people with their same faction.
+ Xhuis:
+ - tweak: Servants can now cancel warps by clicking the button again, instead of
+ having to manually interrupt it by doing something like picking up an item from
+ their pocket.
+ coiax:
+ - rscdel: The Free Golem Ship no longer has a teleport beacon.
+ - rscdel: Jaunters no longer have a special effect when teleporting golems.
+ deathride58:
+ - rscadd: Mappers can now color individual tiles of floors via turf decals.
+ - bugfix: Cancelling the "Change equipment" command now works as expected again.
+ uraniummeltdown:
+ - bugfix: Jaunting wraiths should now always be facing the correct direction
+ yorii:
+ - bugfix: fixed the syringe getting a transfer amount of 0 if the contents of it
+ are 0, intended feature was probably to check the target and not the syringe
+ itself for clamp.
+2018-01-20:
+ MrDoomBringer:
+ - rscadd: All Cargo Techs now come equipped with a standard supply Export Scanner!
+ Get to selling!
+ XDTM:
+ - bugfix: Fixed a bug where slimes wouldn't eat neutral mobs.
+ uraniummeltdown:
+ - tweak: Emagged airlocks can now be deconstructed simply by crowbarring when the
+ panel is open
+2018-01-21:
+ Dax Dupont:
+ - bugfix: Moth wings will now respect your preferences.
+ WJohnston:
+ - rscadd: We've lost contact with one of our trade caravans in your sector, be on
+ the lookout for possible enemy activity.
+ - rscadd: Redesigned the syndicate ambush space ruin. It now boasts multiple flyable
+ shuttles and looks a lot prettier.
+ - imageadd: Wirecutter greyscaling is now less ugly
+2018-01-22:
+ DaedalusGame:
+ - balance: foam and smoke now get 4x the reagents as they should according to the
+ comments
+ - bugfix: fixes pyrosium and cryostylane not heating or cooling humans at all
+ - bugfix: fixes cryostylane cooling beakers to negative kelvin, it's now limited
+ to what the description says
+ - bugfix: fixes cryostylane cooling people to negative body temperature
+ - code_imp: removed redundant check in trans_to
+ - code_imp: fixes a runtime when total_volume is 0 in copy_to
+ - tweak: Gas reagents (o2, plasma, ...) now dump out gas based on container temperature
+ instead of room temperature
+ Dax Dupont:
+ - rscadd: Fans of clown photography have successfully lobbied Nanotrasen to include
+ camera and camera accessories designs in the autolathe.
+ - tweak: Brings material values for the camera in line with other devices.
+ - tweak: The tapes printed by autolathes now come in random colors.
+ Dax Dupont & Coiax:
+ - rscadd: Praise the lord for he has granted thy chaplains, wizards, revenants and
+ eminences with holy vision. They can now see blessed tiles.
+ MMMiracles:
+ - rscadd: Syndicate and pirate mobs now give off light when appropriate
+ More Robust Than You:
+ - bugfix: Fixed monkey teams
+ - tweak: The Lepidopterian language now has less spaces in it
+ Robustin:
+ - bugfix: Fixed monkeys slowly freezing to death
+ ShizCalev:
+ - bugfix: Clockcultists and revolutionaries can no longer be mindswapped.
+ SpaceManiac:
+ - refactor: Weather and certain events have been updated to use Z traits.
+ - bugfix: The Staff of Storms now correctly starts and ends storms if used from
+ inside lockers.
+ - bugfix: Weather telegraph messages are now shown to those inside lockers and mechs.
+ - bugfix: Radio jammers no longer affect other z-levels.
+ Tlaltecuhtli:
+ - tweak: min player req for rev is 30 now
+ Xhuis:
+ - bugfix: Emergency lights now function correctly.
+ deathride58:
+ - code_imp: Light fixtures no longer use hardcoded values for their power and colour.
+ ninjanomnom:
+ - bugfix: Functions that aren't intending on actually moving the shuttle yet don't
+ send error messages to admins anymore when seeing if a shuttle *can* move.
+ scrubs2009:
+ - tweak: Candles last longer
+ uraniummeltdown:
+ - bugfix: Bananium shows up on mining scanners again
+2018-01-23:
+ Cruix:
+ - bugfix: engine goggles set to t-ray mode will no longer show pipes with the wrong
+ rotation.
+ - bugfix: cables now show up on t-ray scans.
+ Dax Dupont:
+ - bugfix: Fixed missing tile under autolathes
+ MrDoomBringer:
+ - rscadd: NanoTrasen's Creative Psychology Initiative has brought new training to
+ all crewmembers to foster rapid, innovative problem-solving! You can now kill
+ yourself in so many more ways!
+ - rscadd: The RnD department can now develop firmware upgrades to the Express Supply
+ Console, unlocking advanced cargo drop pods!
+ Naksu:
+ - code_imp: removed a bunch of unnecessary vars, combining them into a bitfield
+ SpaceManiac:
+ - bugfix: Fixed occasional runtimes when ion storms or overflow would replace an
+ existing law.
+ WJohnston:
+ - bugfix: Space syndie listening post now has a real microwave, and a book management
+ console. Lava listening post comms room intercom now no longer starts with broadcast
+ on.
+ - rscadd: the syndicate drop ship and fighter pods from the caravan ambush can now
+ be flown to the syndicate listening post. The fighter pods also now have xray
+ cameras because regular ones were super useless.
+ XDTM:
+ - rscadd: Added Regenerative Jelly, made with tricordrazine and slime jelly. It
+ regenerates a bit faster, and won't harm jellypeople.
+ - rscadd: Added Energized Jelly, made with teslium and jelly. It works as an anti-stun
+ chemical for slimepeople and speeds up luminescents' power cooldown, but non-jellypeople
+ will just get shocked.
+ - rscadd: 'Added Pyroxadone, made with cryoxadone and slime jelly. It''s basically
+ inverse cryoxadone: it heals faster the hotter your body temperature is.'
+ - tweak: Cryoxadone no longer deals toxin damage to jellypeople.
+ - tweak: Purple Slime Extracts no longer have their sugar->slime jelly reaction
+ (obsolete with extract grinding), and instead have a blood->regen jelly reaction.
+ - tweak: Purple Extract's major activation by Luminescents now give regenerative
+ jelly instead of tricordrazine.
+ coiax:
+ - rscadd: Fake nuclear disks can only be identified by the captain, observers, nuclear
+ operatives, seeing where the pinpointer points, or attempting to put it into
+ a nuclear device.
+ - rscadd: Fake nuclear disks "respawn" on the station just like the real one.
+ kevinz000:
+ - rscdel: pulling claw can now only passively grab
+ - bugfix: Infrared beams now update instantly.
+ ninjanomnom:
+ - bugfix: Changeling clothing can get bloodied again.
+ the hatchet man (i eat garbage code):
+ - bugfix: 'you shitlords picked the wrong virtual anime tits to fuck so im takin
+ away your space bases experimental: lets be fair all you guys did in those was
+ jack off to hentai, and not real man''s gachimuchi'
+2018-01-24:
+ Dax Dupont:
+ - bugfix: Fixed missing wheat fridge on omega and removes a duplicate pipe.
+ - rscadd: Beakers and beaker-like objects now get put in your hand on ejection from
+ chemistry devices.
+ Shadowlight213:
+ - bugfix: Fixed eye damage not being applied if it was exactly 3.
+ YPOQ:
+ - bugfix: Emergency lights will give off light again
+ ninjanomnom:
+ - bugfix: Pointing at squeaky things doesn't make them squeak anymore.
+2018-01-25:
+ Dax Dupont:
+ - imageadd: Autolathe now repeats it's animation while printing.
+ - tweak: You now need to examine engravings to pop open the menu.
+ - bugfix: People can no longer extract 300 supermatter shard slivers without it
+ exploding.
+ - bugfix: Fixed thongs not dusting people on use.
+ Jittai:
+ - tweak: All color inputs now use the current color, of the thing being colored,
+ as default choice.
+ More Robust Than You:
+ - rscadd: You can now defib monkeys and aliums
+ - tweak: Monkeys can also use defibs now, too!
+ Naksu:
+ - code_imp: Slightly refactored object armor code
+ Ordo:
+ - rscadd: Adds Ketrazine, a powerful but dangerous combat stim which the crew can
+ synthesize
+ Robustin:
+ - balance: Clockwork marauders now take more time (+3s) and power (7x) to create.
+ - balance: The "recent marauder" time limit is now 60 seconds, up from 20. The limit
+ now has a significantly smaller effect on summon time but will act as a further
+ cap on marauder summoning until it has passed.
+ - tweak: The marauder cap will now only account for living cultists.
+ - rscadd: 'A new cocktail: The Nar''Sour. Made from blood, demonsblood, and lemon
+ juice, this cocktail is known to induce a slightly different type of slurring
+ when imbibed.'
+ SPACE CONDUCTOR:
+ - tweak: Shuttles will throw you around if ya don't buckle in
+ Shadowlight213:
+ - balance: Moths are now more susceptible to bright lights
+ Togopal, Armhulenn, Naksu, Jordie & oranges:
+ - rscadd: Snakes! They hunt vermin on the station! Curators have a natural phobia
+ to them.
+ - rscadd: They can be purchased in cargo.
+ XDTM:
+ - rscadd: Slimepeople and Jellypeople can now speak the slime language.
+ - tweak: Slimes now only speak slime language, although they still understand common.
+ - balance: Slimepeople are no longer virus immune.
+ - bugfix: The above change fixes a bug that made black slime cure itself.
+ Xhuis:
+ - balance: Fleshmend can no longer be stacked several times at once.
+ - balance: Fleshmend no longer heals changelings who are on fire, and heals burn
+ damage half as quickly as brute and oxygen damage.
+ - code_imp: Fleshmend has been refactored into a status effect.
+ coiax:
+ - rscadd: Nuclear operatives that wish to fail in style can purchase Centcom Official
+ and Clown costumes. They can also buy a defective chameleon kit.
+ - rscadd: The majority of shuttles are now loaded at the start of the round from
+ template, rather than being premapped. As a side effect, Delta's mining shuttle
+ now docks facing down at Lavaland.
+ imsxz:
+ - rscadd: Traitor clowns are now able to purchase clown bombs from their uplinks.
+ Honk!
+ - rscadd: Clown bombs can now be placed via a small beacon, the same way normal
+ syndicate bombs can be.
+ - tweak: clown bomb payload now summons 50 clowns instead of 100
+ nicbn:
+ - bugfix: Now if you lose arms you won't be able to see through your uniform.
+ ninjanomnom:
+ - bugfix: Loaded templates now get placed on top of existing terrain so as to preserve
+ baseturfs. This fixes survival pods walls breaking to lava as well as allows
+ some future fixes.
+2018-01-26:
+ Cruix:
+ - bugfix: Fixed being able to rotate things in only one direction.
+ DaedalusGame:
+ - rscadd: Firefighting Foam reagent, better alternative to water and corn oil for
+ firefighting purposes
+ Dax Dupont:
+ - rscadd: You can now rename and copy holodisks!
+ - rscadd: Holorecordings now can be looped.
+ - tweak: Holodisks now have materials and the autolathe cost has been adjusted.
+ - bugfix: Fixed holodisk speaker name not getting set when on non-prerecorded messages.
+ Epoc:
+ - bugfix: Slows Simple Clown mobs
+ GuppyLaxx:
+ - bugfix: Fixes the Ketrazine recipe
+ Iamgoofball:
+ - balance: Power cells explosions are now logarithmic
+ Naksu:
+ - code_imp: Cleaned up some /obj/item vars
+ - bugfix: Pneumatic cannons no longer misbehave when their contents such as primed
+ grenades get deleted (explode)
+ Robustin:
+ - rscadd: The Peacekeeper Borg's "Peace Hypospray" now includes the "Pax" reagent,
+ which prevents the subject from carrying out many forms of direct harm.
+ SpaceManiac:
+ - spellcheck: Clockwork armaments are no longer named "arnaments".
+ - bugfix: The Syndicate Listening Post's medicine closet now has the correct access.
+ coiax:
+ - rscadd: Syndicate intelligence potions also grant an internal syndicate ID card
+ to the simple animal granted intelligence. This effectively means that Cayenne
+ can open the airlocks on the Infiltrator.
+ uraniummeltdown:
+ - bugfix: You can no longer weld airlock assemblies for infinite materials
+2018-01-27:
+ Anonmare:
+ - balance: The Syndicate Chameleon Kit is now available during rounds of lower population.
+ Because of course you can have an e-sword and revolver without restriction but
+ disguising and RP is verboten because we deathmatch station now.
+ Dax Dupont:
+ - bugfix: Eminence won't get spammed by tile crossing now.
+ Denton ShizCalev Kor Kevinz000 (original idea):
+ - balance: Due to budget cuts, the shoes shipped with chameleon kits no longer prevent
+ slipping. The premium version is unchanged and still sold separately.
+ - balance: To compensate, the chameleon kit cost was lowered by 2 TC and the minimum
+ crew limit removed.
+ Jittai:
+ - imageadd: New Morgue Tray sprites.
+ - imageadd: New Crematorium sprites.
+ Naksu:
+ - bugfix: Away missions no longer require manually adjusting subsystem mob/client
+ lists in order to not have the AI break.
+ WJohnston:
+ - bugfix: The lavaland syndie base is now packed with considerably fewer explosives,
+ and should lag far less brutally when exploding.
+ coiax:
+ - balance: Mobs will now start with a random nutrition amount, between hungry and
+ mildly well fed.
+ - rscadd: Nanotrasen Security Division has reported that syndicate comms agents,
+ both on lavaland and in space, have had training in "Codespeak", a top secret
+ language for stealthy communication.
+ uraniummeltdown:
+ - imageadd: Ore boxes have a new sprite
+2018-01-29:
+ ACCount:
+ - rscadd: Having station blueprints in your hands now reveals function of wires
+ in station objects.
+ DaedalusGame:
+ - bugfix: fixed a strange pipenet issue that happens when a singular pipe or manifold
+ is placed directly between two or more components and wrenched last.
+ Dax Dupont:
+ - bugfix: After 3 years of intensive research by Nanotrasen's elite team of chefs,
+ rice dishes such as rice pudding are no longer considered salads.
+ Denton:
+ - spellcheck: Fixed Bubblegum's description.
+ F-OS:
+ - tweak: Academy is now part of the random station names.
+ Mark9013100:
+ - rscadd: Cloning data disks can now be constructed after researching the Genetic
+ Engineering technode.
+ MrStonedOne:
+ - tweak: 511 Clients can see atmos gases
+ - rscdel: This reverts the fix that prevents atmos gas overlays from stealing clicks.
+ Naksu:
+ - bugfix: Attempting to join into a command role as a nonhuman species no longer
+ lets you keep your nonhuman species languages if you are transformed into a
+ human because of a config option
+ - bugfix: Warp whistle can no longer pick up its user from inside various animation/in-between
+ states and effects such as transformations, jellypeople split, talisman of immortality
+ effect period or rod form.
+ WJohnston:
+ - bugfix: The centcom ferry shuttle now works again.
+ XDTM:
+ - balance: Peacekeeper cyborgs have synth-pax instead of normal pax, which has the
+ same effect but wears out faster.
+ - rscadd: Xenobiology consoles can now scan slimes and apply potions remotely. Use
+ potions on the console to load them.
+ - rscadd: Abductors now have the chemical, electric and trauma glands.
+ - rscdel: Removed the bloody, bodysnatch and EMP glands.
+ - tweak: The abductor viral gland now generates a random advanced virus instead
+ of a basic one.
+ - tweak: The abductor heal gland now also heals toxin damage.
+ - tweak: The abductor mindshock gland can now cause different reactions.
+ - tweak: The abductor slime gland now gives the slime faction.
+ - tweak: The abductor species gland now randomizes the victim's appearance and name
+ on top of the species.
+ - rscadd: 'Abductors have a new surgery type: violence neutralization. It has the
+ same steps as brain surgery, but it will instead inflict a Pacifism trauma upon
+ the victim, making them mostly harmless in the future.'
+ - rscadd: Bath Salts now give complete stun immunity while they last.
+ - balance: Ketrazine now gives immuity to sleeping.
+ improvedname:
+ - rscadd: Adds bz to cargo
+ ninjanomnom:
+ - rscdel: Removed the ability to create new shuttle areas or expand existing ones
+ with blueprints.
+ - bugfix: Special areas like rooms which require no power can no longer be expanded.
+ You can still expand into them however.
+ - bugfix: Turning to face a direction with control no longer moves you in the faced
+ direction after releasing control.
+ uraniummeltdown:
+ - rscadd: You can alt-click microwaves to turn them on
+2018-01-30:
+ Cyberboss:
+ - bugfix: Blood contracts now only show living players and real names
+ DaedalusGame:
+ - tweak: made fire colored according to blackbody radiation and rule of cool.
+ - imageadd: some kind of lightning texture
+ Dax Dupont:
+ - rscadd: Cyborgs can now be upgraded to be h-u-g-e! Only a cosmetic effect!
+ ExcessiveUseOfCobblestone:
+ - bugfix: Turrets now check for borgs. Syndicate turrets are nice to emagged borgs
+ too!
+ Iamgoofball:
+ - bugfix: Minor code cleanup on the wirer
+ Jalleo:
+ - balance: nerfs power cells from a insane max possibility
+ Jittai:
+ - imageadd: Crematoriums and Morgue Trays now have directional states.
+ - bugfix: Morgue Trays now checks for cloneable people like the dna-scanner does.
+ (ghosts can roam now)
+ - bugfix: Cremated mice no longer leave behind snackable bodies.
+ - bugfix: Ash does not get instantly deleted in the crematorium upon creation. Ash
+ also piles up. (aesthetically only)
+ - tweak: Morgue/Crematorium Trays make a slight rolling sound.
+ More Robust Than You:
+ - tweak: Announcing messages while drunk will be slurred
+ Naksu:
+ - bugfix: Subjects without hearts now display as unsuitable for abductor experiments
+ when probed with the advanced baton.
+ - balance: BZ gas now makes lings lose their chems and hivemind access. The chem
+ loss is gradual.
+ - rscdel: 'Removed actual reagent quadrupling added in #34485'
+ - rscdel: Removed the foam effect combining feature, hopefully to be replaced with
+ something less completely and utterly broken
+ PKPenguin321:
+ - rscadd: Attention, space explorers! Nothing is out of your reach with the ACME
+ Extendo-Hand (TM)! With it, you can get a WHOLE EXTRA TILE OF REACH! Hug or
+ punch your friends from a whole 3 feet away! Win one from an arcade machine
+ or make one in the Misc. tab of your crafting menu today!
+ Robustin:
+ - rscadd: Blood magic. The next generation of talismans - you can create 2 spells
+ without a rune, up to 5 with a rune of empowerment. Preparing spells without
+ a rune will cost a significant amount of blood. Every talisman has been rebalanced
+ for its spell form. With a few exceptions, blood magic exists as a "touch" spell
+ that is very similar in behavior/appearance to the wizard touch spells.
+ - rscadd: New UI system for cultists.
+ - rscdel: Removed talismans, Talisman Creation Rune replaced by Rune of Empowerment.
+ Supply talisman has been replaced by a ritual dagger and 10 runed metal.
+ - rscadd: Ritual Dagger, replacing the Arcane Tome. This is largely a thematic alteration
+ but its to reinforce that your primary tool is also a weapon.
+ - bugfix: Cyborgs and AI are finally unable to see runes again
+ - tweak: Only the cult master can forge Bastard swords now, regular cultists can
+ get a mirror shield.
+ - rscadd: 'The mirror shield, it blocks, it reflects, it creates illusions, and
+ an incredible throwing weapon! The mirror shield also bears a unique weakness:
+ Shotgun slugs, .357 rounds, and other high damage projectiles will instantly
+ shatter it and briefly stun the holder.'
+ - balance: Nar'sien Bolas will not longer ensnare cultists and non-cultists will
+ ensnare themselves when attempting to use them. The bolas are now comparable
+ in effectiveness with reinforced bolas.
+ - rscadd: Rune of Spirits. This merges the Spirit Sight and Manifest Ghost rune.
+ The user will now choose which effect when invoking.
+ - rscadd: The Spirit Sight function has received several major improvements, allowing
+ the ghost to commune with the cult and mark objects similar how the cult master
+ can. The user has a unique appearance while ghosted and manifested cult ghosts
+ can see ghosts as well - allowing their summoner to lead them from the spirit
+ realm.
+ - balance: The Form Barrier rune will now last significantly longer and examining
+ the rune as a cultist will tell you how long it will remain.
+ - rscadd: The Apocalypse Rune. Replaces the EMP runes. Has a fixed invoker requirement
+ and added usage limitations. It scales depending on the crew's strength relative
+ to the cult. Effect includes a massive EMP, unique hallucination for non-cultists,
+ and if the cult is doing poorly, certain events. The rune can only occur in
+ the Nar-Sie ritual sites and will prevent Nar-Sie from being summoned there
+ in the future.
+ - rscdel: No more EMP rune.
+ - balance: The conceal/reveal spell now has 10 charges and will conceal far more,
+ including cult structures and flooring.
+ - balance: The stun spell will now stun for ~4 less seconds and silence for 2 more
+ seconds.
+ - balance: The EMP spell now costs 10 health to use, up from 5, and has had its
+ heavy/light EMP range nerfed by 1 and 2 respectively (now 3 and 6).
+ - balance: The shackles spell now has a silence effect similar to the stun talisman.
+ - balance: The hallucination spell now has multiple charges.
+ - tweak: The teleport spell can now be used on other adjacent cultists.
+ - tweak: Summon Tome and Summon Armor have been combined into "Summon Equipment",
+ which lets you choose between summoning a Ritual Dagger or Combat Gear (same
+ loadout that Summon Armor used to provide).
+ - balance: Standard cult robes now have -10 melee and -10 laser armor.
+ - balance: The "Construction" spell will now convert airlocks into cult airlocks
+ and cyborgs (after ~10 seconds) into constructs. The airlock is the most fragile
+ in the game, with reduced integrity, armor, and render it vulnerable to most
+ attacks. Cyborg "reconstruction" will be accompanied by an obvious effect/sound.
+ - rscadd: Blood Rites. This spell allows you to absorb blood from your surroundings
+ or adjacent non-cultists. You can use the blood rites as a convenient heal (self-healing
+ is significantly more costly though) or you can try to gather large quantities
+ of blood for unique and powerful relics.
+ - rscadd: Blood spear, a fragile but robust spear with a special recall ability
+ - rscadd: Blood bolts, the cultist's version of arcane barrage. The bolts will infuse
+ cultists with unholy water and damage anything else.
+ - rscadd: Blood beam, the ultimate blood rite. After a channeling period it will
+ fire 12 powerful beams across a long distance, piercing almost any surface (except
+ blessed turf), and damaging all non-cult life caught in the beam.
+ - tweak: All cult structures now generate significantly less light.
+ - balance: Pylons will now heal constructs faster and restore slightly more blood
+ than before.
+ - balance: Cult floors are now highly resistant to atmospheric changes.
+ - bugfix: Unholy water will now splash victims properly.
+ - balance: Unholy Water Vials created at altars now contains 50 units, and is better
+ at healing brute, and deals slightly more damage to non-cultists, the splash
+ ratio was reduced to 20% to compensate for the increased volume and damage.
+ - balance: Holy water will purge any and all blood spells from cultists.
+ - rscadd: Artificers, Wraiths and Juggernauts can now scribe revive, teleport, and
+ barrier runes respectively with a 3 minute cooldown.
+ - balance: Juggernauts' forcewall is now 3x1 but it has a ~30% longer cooldown.
+ Juggernauts got a modest speed increase (2.5 from 3) but lost a modest amount
+ of HP (200 from 250).
+ - rscadd: Juggernauts now get a ranged attack "Gauntlet Echo", a single projectile
+ that moves about as fast as them and does 30 damage with 5 seconds of stun and
+ a 35s cooldown.
+ - balance: The number of ghosts summonable by the manifest spirit rune is 3, down
+ from 5.
+ - balance: It now takes ~20% less water (~25 units) and ~30 seconds less to deconvert
+ cultists via holy water.
+ - tweak: The emagged library console will now distribute ritual daggers.
+ - tweak: Using the dagger on a rune will now take a 1-second channel to destroy
+ it, to avoid incidents where people instantly wipe a critical rune by accident.
+ - balance: Standard runed airlocks now have a lower damage deflection so they can
+ be destroyed with most respectable melee weapons (10+).
+ - balance: Teleporter runes that are used from space or lavaland will result in
+ the destination rune giving off a unique effect for 60 seconds. This effect
+ includes a long distance (but not obvious antagonistic) sound, a bright lighting
+ effect, and a visual cue that will indicate where the cultist arrived from.
+ Shadowlight213:
+ - tweak: Pluoxium is no longer considered dangerous for air alarms.
+ XDTM:
+ - tweak: Slimepeople can now host multiple minds in their body pool; occupied bodies
+ will be marked as such in the bodyswap panel.
+ - tweak: Slimepeople now retain 45% of their slime volume upon splitting instead
+ of a fixed amount.
+ Xhuis:
+ - rscadd: Defibrillator mounts can now be found in the CMO's locker or produced
+ from a medical protolathe after Biotech is unlocked. They can be attached to
+ walls, and hold defibrillators for public use. You can swipe an ID to clamp
+ the defibrillator in place, and it will automatically draw from the powernet
+ to recharge it. Being one tile away from the mount will force you to drop the
+ paddles.
+ - balance: Stargazers have been removed.
+ - balance: The clockwork cult now has a power cap of 50 kW.
+ - balance: Script scripture is now unlocked at 25 kW, and Application at 40 kW,
+ instead of 50 kW and 100 kW.
+ - tweak: Important scriptures are now displayed with italicized names.
+ Xhuis & Jigsaw:
+ - rscadd: Traitor clowns can now purchase the reverse bear trap, a disturbing head-mounted
+ execution device, for five telecrystals.
+ kevinz000:
+ - rscadd: Chameleon laser guns now have a special firing mode, activated by using
+ them in hand! Only certain gun disguises will allow this to work!
+ nicbn:
+ - bugfix: Bloodpacks will have their colors defined by the reagents
+ - imageadd: MMI dead sprite will now show a red light and no eyes instead of X-crossed
+ eyes
+ uraniummeltdown:
+ - imageadd: Solar panels have new sprites
+ - imageadd: Coffins have a new sprite
diff --git a/html/changelogs/archive/2018-02.yml b/html/changelogs/archive/2018-02.yml
new file mode 100644
index 0000000000..e6d600824e
--- /dev/null
+++ b/html/changelogs/archive/2018-02.yml
@@ -0,0 +1,772 @@
+2018-02-01:
+ CosmicScientist:
+ - balance: tomatoes and similar ovary laden edibles are fruit, not veg, beware plasmamen
+ and mothmen
+ Denton:
+ - bugfix: Added a missing distress signal to the space ambush ruin.
+ Jalleo:
+ - rscdel: Space ghost syndicate comms guy removed.
+ Jittai:
+ - bugfix: Cloning doesn't runtime (and indefinitely get stuck) on cloning non-humans.
+ - tweak: Some of the Morgue Trays and Crematoriums on Box, Delta, and Meta have
+ been re-positioned to make use of their new directional states.
+ - imageadd: New Horizontal Coffin Sprites
+ SpaceManiac:
+ - tweak: The Whiteship spawn point is now a space ruin rather than being fixed every
+ round.
+ Xhuis:
+ - balance: Servant golems no longer appear in the magic mirror race list.
+ - bugfix: Cogs now fucking work
+ cebutris:
+ - spellcheck: The text you get when you examine a stunbaton to see the battery level
+ now uses the item's name instead of "baton"
+2018-02-02:
+ Dax Dupont:
+ - tweak: Hijack objectives will only be given out if there are 30 or more players.
+ DeityLink:
+ - rscadd: You can now see the rays from a holopad displaying a hologram!
+ Epoc:
+ - bugfix: Soap now has inhand sprites
+ Xhuis:
+ - balance: Brass skewers now must be at least one tile apart.
+ - balance: Steam vents can no longer be placed within cardinal directions of other
+ steam vents, and will not hide objects they're placed on top of.
+ - bugfix: Races that have eyes that look different from regular humans' no longer
+ have white eyespots where human eyes appear.
+ Xhuis, Cosmic, Fwoosh, and epochayur:
+ - rscadd: Added pineapples to botany, and a recipe for Hawaiian pizza.
+ improvedname:
+ - rscadd: adds yeehaw to the dj's disco soundboard
+ oranges:
+ - rscdel: removes ketrazine
+2018-02-03:
+ Dax Dupont:
+ - tweak: Moved the lathe from box's cargo room to box's cargo office which miners
+ now can access.
+ - tweak: Harmonized medbay storage access requirements so all maps allow all medbay
+ personnel into medbay storage like on Meta and Delta.
+ - tweak: Moved service lathes into a dedicated service hall/storage area if they
+ weren't accessible by janitor or bartender.
+ SpaceManiac:
+ - code_imp: Removed the now-unused revenant spawn landmark.
+ Xhuis:
+ - bugfix: Servant cyborgs with the Standard module now correctly have Abscond.
+ - bugfix: Securing pipe fittings now transfers fingerprints to the new pipe.
+ - bugfix: The firelock below the Circuitry Lab airlock on Boxstation will no longer
+ cover it up when the airlock is open.
+ uraniummeltdown:
+ - bugfix: Some airlock animations should no longer be glitchy and restart in the
+ middle
+2018-02-04:
+ Buggy123:
+ - rscadd: Morgue trays now detect if a body inside them possesses a consciousness,
+ and alerts people nearby
+ Cruix:
+ - rscadd: The Rapid Piping Device can now dispense transit tubes.
+ Dax Dupont:
+ - rscadd: Added logout button to the record screen in the security records console.
+ - rscadd: Allows you to print photos that are in the security records.
+ Incoming5643:
+ - rscadd: The ability to throw drinks without spilling them has been moved from
+ something bartender's just know how to do to a book that they spawn with, the
+ ability has also been made into a toggle.
+ - rscadd: Any number of people can read the book to learn the ability, and it can
+ also be ordered in the bartending crate in cargo. Bartenders are encouraged
+ to keep their trade secrets close to their stylish black vests.
+ Kor:
+ - bugfix: Fixed mecha grav catapults not being included in techwebs.
+ MrDoomBringer:
+ - imageadd: Conveyor Belts now look better when they are crowbar'd off the ground.
+ - rscadd: Due to complicated quantum-bluespace-entanglement shenanigans, the Bluespace
+ Drop Pod upgrade for the express supply console is now slightly more difficult
+ to research.
+ Robustin:
+ - bugfix: Vape Pens (e-cigs) will now consume reagents proportional to the vape
+ size and static smoke production.
+ - bugfix: Command reports should now properly weight the appearance of modes based
+ on their existence in our actual game rotation.
+ - balance: The current mode now has a 35% chance of not appearing in the report.
+ ShiggyDiggyDo:
+ - rscadd: You can now win stylish steampunk watches at your local arcade machine!
+ ShizCalev:
+ - bugfix: Fixed some broken cultist & wizard antagonist ghost polls.
+ - rscadd: The Syndicate Comms Officer ghost role has been readded with a minor chance
+ of actually existing.
+ Slignerd:
+ - balance: Following an immense number of complaints filed by security and command
+ personnel, the Captain's spare ID will from now on be placed inside his locker.
+ We fail to see how this would help the Captain access the spare in the event
+ he lost his ID, but the complainants have been VERY insistent.
+ SpaceManiac:
+ - bugfix: The pirate ship can now fly again.
+ Xhuis:
+ - balance: Integration cog power generation has been increased to 10 W per second
+ (up from 5 W per second.) Power consumed from the APC remains at 5 W per second.
+ - balance: Integration cogs will now continue generating power at half-speed when
+ the APC they are in has no energy.
+ coiax:
+ - balance: Romerol is now effective on dead bodies, not just ones that are still
+ alive.
+ nicbn:
+ - rscadd: Destroying windows will now spawn tiny shards
+2018-02-05:
+ Dax Dupont:
+ - balance: Regular cyborgs now start with a normal high capacity cell instead of
+ a snowflake cell. Resulting in less confusing and 2.5MJ more electric charge.
+ - bugfix: Fixed name of the upgraded power cell
+ - refactor: Removed duplicate cell giving code in transformation proc.
+ - bugfix: Fixed the crematorium on meta and box.
+ Denton:
+ - tweak: Rearranged the mining vendor items by price and item group.
+ - tweak: In order to promote back-breaking physical labor, Nanotrasen has additionally
+ made conscription kits available at mining equipment vendors.
+ Iamgoofball:
+ - rscdel: Blood cultists can't space base anymore
+ MMMiracles:
+ - rscadd: A once-thought abandoned arctic post has recently had its gateway coordinates
+ re-enabled for access via the Gateway link. Contact your local Exploration Division
+ for more details.
+ More Robust Than You:
+ - bugfix: Holorays are now properly deleted if you switch holopads automatically
+ Naksu and kevinz000:
+ - tweak: Ores are no longer completely impervious to explosions, but rather "proper"
+ ores are destroyed by the strongest explosions and sand is blown away everything
+ but the weakest ones. This shouldn't affect ore spawns from explosions
+ - tweak: Lavaland bomb cap reduced to double the station bombcap.
+ - refactor: Ores are now stackable. Ore stacks now have the appearance of loose
+ ores and are not called "sheets" by machines that consume them.
+ - code_imp: Material container component now uses the singular names of stack objects.
+ - refactor: /obj/item/ore/Crossed() is now removed in favor of the ore satchel utilizing
+ a redirect component
+ ShiggyDiggyDo:
+ - spellcheck: You no longer win double the articles at the arcade
+ SpaceManiac:
+ - bugfix: Research investigate logs now actually include the name of the researcher.
+ XDTM:
+ - bugfix: Fixes intelligence potions removing previously known mob languages
+ - tweak: Slime scanning now has a more readable output, especially when scanning
+ multiple slimes at once
+ - tweak: Eggs from the abductor egg gland now have a random reagent instead of acid
+2018-02-06:
+ Dax Dupont:
+ - bugfix: AIs can no longer turn on broken APCs,
+ SpaceManiac:
+ - bugfix: Defibrillator mounts no longer spam the error log while empty.
+ - bugfix: The various ships in the caravan ambush space ruin can now fly again.
+2018-02-07:
+ DaedalusGame:
+ - bugfix: Fixes Noblium Formation being multiplicative, so having 500 moles of tritium
+ and 500 moles of nitrogen no longer produces 2500 moles of noblium (it should
+ correctly produce 10 moles)
+ - bugfix: Fixes most reactions deleting more gas than exists and making gas out
+ of nowhere
+ - bugfix: Fixes Stim Formation invoking a byond bug and not using its intended polynomial
+ formula
+ - bugfix: Fixes Cryo Cells not having garbage_collect and clamping
+ - bugfix: Fixes Rad Collectors not having clamping
+ - bugfix: Fixes Division by Zero when Fusion has no impurities.
+ - bugfix: Removes a redundant line in lungs
+ - bugfix: Fixes rad_act signal not firing from turfs, living mobs, rad collectors
+ and geiger counters
+ - bugfix: fixes lava burning into chasm tiles i hate hate hate hate them so much
+ grrrr
+ - tweak: NT Scientists have started looking into data from small-scale detonations
+ and found that there's still potential data to be gathered from explosive yields
+ lower than 4.184 petajoules
+ Dax Dupont:
+ - tweak: Moved the pocket protector to lockers instead of on the uniform.
+ - rscadd: You can now insert holodisks into cameras and take a static holographic
+ picture of someone!
+ - rscadd: Hologram recordings can now be offset slightly.
+ - rscadd: Posibrains have gotten a small firmware update, they will now play a sound
+ on successful activation.
+ - rscadd: Killing a revenant will now result in an unique shuttle to be able to
+ be bought. You probably won't like it though.
+ - rscadd: Fake emag now available.
+ Denton:
+ - spellcheck: Mining drone upgrades are no longer referred to as "ugprade"
+ - tweak: Fungal tuberculosis spores can no longer be synthesized by machinery.
+ Kor:
+ - rscadd: Spawning as a syndicate comms officer will now activate an encrypted signal
+ in the Lavaland Syndicate Base, to aid the crew in retaliating.
+ Ordo:
+ - rscadd: Mamma-mia! The chef speaks-a so different now!
+ Robustin:
+ - balance: The "construct shell" option from the cult archives structure will now
+ only yield one shell instead of two.
+ - balance: Sacrificing suicide victims will now only yield an empty shard.
+ - balance: Synths and Androids are no longer available species at the magic mirror.
+ ShiggyDiggyDo:
+ - rscadd: You can now win Toy Daggers at your local arcade!
+ Skylar Lineman:
+ - rscadd: Nanotrasen has new intelligence that the newest batch of Syndicate agent
+ equipment includes sticky explosives disguised as potatoes, designed to incite
+ terror among whoever is unlucky enough to have one stuck onto their hands.
+ - rscadd: 'Nanotrasen''s toy suppliers have also started making faux versions of
+ these, with less-forceful attachment mechanisms and absolutely zero explosive
+ materials for a child-safe experience. experimental: Explosive Hot Potatoes
+ are now available for purchase by syndicate-affiliated cooks, botanists, clowns,
+ and mimes.'
+ SpaceManiac:
+ - bugfix: Pressure damage now takes effect in certain situations where it should
+ have but did not.
+ Xhuis:
+ - rscadd: Nanotrasen's anomalous materials division has recently experienced a containment
+ breach, during which a certain pizza box went missing. Be on the lookout for
+ any slipups in cargo.
+ - spellcheck: Pizza margherita is now named "pizza margherita" (the proper way!)
+ instead of just "margherita."
+ - tweak: Brass chairs now stop spinning after eight rotations, so you can't crash
+ the server with them.
+ coiax:
+ - rscadd: Eggs now contain 5u of egg yolk. Breaking an egg in a glass container
+ adds all reagents inside to the container. If you're laying abductor gland eggs,
+ then you'll get 5u of egg yolk and 10u of random reagent. Egg glands now make
+ you act like a chicken while laying eggs. Egg laying makes you use the aliennotice
+ span.
+ kevinz000:
+ - balance: Explosive holoparasites must now be adjacent to turn objects into bombs,
+ instead of being able to do so from any range.
+2018-02-09:
+ Cyberboss:
+ - balance: Printed power cells must now be charged before use
+ Dax Dupont:
+ - bugfix: Supermatter can again blow up again on space tiles.
+ - bugfix: Fixed borgs applying cuffs on people without the right number of arms.
+ - refactor: Handcuff code has been rejiggled and snowflake code has been removed.
+ - rscdel: Removed unused cable cuffs module stuff for borgs.
+ - bugfix: Telecom equipment now can only be printed by engineers and scientists
+ as intended.
+ - bugfix: WT-550 AP can only be printed by sec now.
+ - tweak: Removed engineering requirement for arcade machines to bring it in line
+ with others.
+ - rscadd: Defibs can now be researched and printed.
+ - balance: Hatches are now small instead of tiny.
+ Denton:
+ - code_imp: Changed can_synth values from 0/1 to FALSE/TRUE
+ - code_imp: Removes grind_results from empty soda cans since they can't be ground.
+ - spellcheck: For consistency's sake, aluminium is now universally spelled with
+ two 'i'.
+ Epoc:
+ - imageadd: Belt items now have inhand sprites
+ Evsey9:
+ - balance: Integrated Circuit Drones are now bulky to improve safety ratings, and
+ therefore, cannot be stored in normal backpacks or pockets, but now can accept
+ modules that bulky circuit machinery can.
+ - balance: Grabbers can now grab items up to the size of the circuit assembly they
+ are in.
+ - balance: Grabbers cannot store circuit machinery the same or larger size than
+ the circuit assembly they are in.
+ - tweak: Throwers now can throw items up to the size of circuit assembly they are
+ in.
+ MMMiracles:
+ - rscadd: A brand new space-farm, where your family sends all your old/sick catpeople
+ to live out the rest of their days being free to roam the acres and chase the
+ field grayshirts.
+ Naksu:
+ - bugfix: Cyborg engineering module geiger counters now work properly again
+ PKPenguin321:
+ - rscadd: As it would happen, the chef does not actually have Italian genes, but
+ rather was being influenced by a strange moustache-a.
+ Robustin:
+ - bugfix: Fixes the cult master getting two notifications on the cult forge
+ - rscadd: Blood spells will now "follow" the spell creation button, which is now
+ unlocked by default. If you want your spell "hotbar" to appear somewhere else,
+ just move the blood spell button, it will update when you prepare a new spell.
+ Also, individual spells start off locked but if you unlock them they will no
+ longer reposition when the spells are updated.
+ Robustin and More Robust Than You:
+ - rscadd: A heart disease event has been added. The cure is heart replacement surgery.
+ Effects of cardiac arrest are halted by the chemical Corazone. Once cardiac
+ arrest begins at Stage 5, the disease can be cured by a defibrillator or from
+ a lucky electric shock.
+ - rscadd: Using gym equipment will now grant a hidden exercise buff that prevents
+ heart disease for 20 minutes.
+ SpaceManiac:
+ - bugfix: Goliath hide plates now properly apply to explorer suits and APLUs again.
+ oranges:
+ - rscdel: Removed the saltmine grief shuttle
+2018-02-10:
+ Cruix:
+ - balance: Changed the chemical recipe for Lexorin from plasma, hydrogen, and nitrogen
+ to plasma, hydrogen, and oxygen.
+ - bugfix: These were necessary due to recipe conflicts
+ Dax Dupont:
+ - bugfix: Cloner UI now properly updates cloning pod status when autocloning starts
+ cloning someone.
+ Ordo:
+ - tweak: Replaced nitrogen with ethanol in morphine recipe. The recipe now has a
+ lower yield.
+ Robustin:
+ - bugfix: Fixed the limb grower having a max volume of 0.
+ UI Changes:
+ - tweak: The Scan with Debugger/Device button now reads Copy Ref and no longer sends
+ you to the circuit's page when clicked
+ - tweak: The assembly's menu is now slightly wider
+ - tweak: The advanced in "integrated advanced medical analyser" is now abbreviated
+ to adv.
+ Xhuis:
+ - bugfix: The preference to lock action buttons in place is now correctly saved
+ across rounds.
+2018-02-11:
+ DaedalusGame:
+ - bugfix: Prevents megafauna (and other large things like spiders and mulebots)
+ from going into machines
+ Dax Dupont:
+ - rscadd: You can now win a fake cryptographic sequencer, perfect to go with your
+ fake space suit!
+ - tweak: 'To login with an emag on the APC console you will now need to hit it with
+ the emag. removed: Snowflake emagging implants is no more, Swipe it before install.'
+ - refactor: everything uses emag_act() now
+ - balance: Grabbers/throwers no longer can contain/throw things equal to the assembly
+ size.
+ - bugfix: Fixes duplicate air alarm on meta.
+ Kor:
+ - rscadd: Mining sentience upgrades now grant minebots an ID and radio.
+ Mokiros:
+ - rscadd: All-In-One Grinder can now be built with researchable curcuit and micro-manipulator.
+ More Robust Than You:
+ - rscadd: You can now squish urinal cakes
+ More Robust Than You, Basilman, and MMMiracles:
+ - rscadd: Deep in space, a valuable artifact awaits
+ Naksu:
+ - rscdel: Steam engines have been removed from maintenance, engineering, atmos and
+ teleportation areas.
+ - rscadd: The chef is now trained for working under siege
+ Shadowlight213:
+ - admin: The notify irc/discord bot chat command no longer requires admin privileges.
+ ShizCalev:
+ - bugfix: Corrected a number of missing checks when using alt-click actions. Please
+ report any strange behavior to a coder.
+ - spellcheck: Corrected typo in NTNet Scanner circuits' name, make sure to update
+ your blueprints.
+ uraniummeltdown:
+ - rscadd: You can now smelt titanium glass and plastitanium glass
+ - rscadd: Use titanium glass and plastitanium glass to build shuttle windows and
+ plastitanium windows
+2018-02-12:
+ Dax Dupont:
+ - bugfix: AI no longers block ark after mass_recall
+ - bugfix: Placed the dispersal logic AFTER the mass_recall on ark activation instead
+ of infront(did nothing before basically).
+ - rscadd: Cell chargers can now be built and upgraded with capacitors!
+ - bugfix: Fixed empty subtype batteries not updating icons
+ Denton:
+ - bugfix: Fixes lye/plastic/charcoal conflicts when mixing.
+ - bugfix: Lye is now made by combining ash with water and carbon. Plastic sheets
+ by heating ash, sulphuric acid and oil.
+ More Robust Than You:
+ - bugfix: Your hand no longer magically squishes urinal cakes when trying to pick
+ them up
+ - bugfix: SCP-294 no longer looks fucked up
+ Robustin:
+ - balance: The rift created by teleporting in from space will now include a description
+ indicating the direction of the "origin" teleport rune - giving the examiner
+ a fair idea of where the "space base" is located.
+ - balance: You can no longer manifest spirits or summon cultists while in space
+ or Lavaland. You may still ascend as a spirit (formerly spirit sight, astral
+ jaunt, etc.) in either of these locations.
+ - balance: Juggernauts have lost 20% reflect rate on energy projectiles (now around
+ 50% for standard lasers).
+ - balance: Wraiths and Juggernauts have -5 melee damage (20 and 25 now, respectively).
+ - balance: Construct shells now cost 50 metal through the "twisted construction"
+ spell. Twisted construction is now a "single use" spell.
+ - balance: The Concealment spell will now work on cult airlocks (including converted
+ airlocks). The "concealed" airlock will appear as a generic airlock but will
+ deny access to any non-cultist.
+ - balance: The draw blood effect on blood splatters will now draw more blood from
+ stains with low blood levels.
+ - tweak: Unanchored (via ritual dagger) cult structures are no longer "dense", meaning
+ you can move them through teleport runes more efficiently.
+ - tweak: The button to nominate yourself for cult master now has a confirmation
+ prompt seeking assurance that the user is prepared to be the cult's master.
+ - tweak: The reveal aspect of the concealment spell is slightly smaller, albeit
+ still slightly larger (6 range) than the concealment aspect (5 range).
+ - imageadd: Juggernauts "gauntlet echo" now has a more cult-themed appearance.
+ - bugfix: Using a shuttle curse to push the shuttle timer above its default can
+ no longer be "reset" with a recall. This also adds a block_recall(time_in_deciseconds)
+ helper-proc to the shuttle subsystem.
+ - bugfix: Using runed metal on a regular girder is no longer an option, preventing
+ runtimes and deletions associated with the (unintended) combination.
+2018-02-13:
+ Buggy123:
+ - tweak: After consulting with their in-house physicists, Nanotrasen has updated
+ their worst-case disaster training simulation "Space Station 13". The combustion
+ of hydrogen isotopes now produces water vapor instead of carbon dioxide.
+ Dax Dupont:
+ - rscadd: Added hooray emoji!
+ Iamgoofball:
+ - bugfix: The Cook now ONLY works under siege.
+ TehZombehz:
+ - rscadd: Heart-shaped boxes of chocolates are now included in Valentine's Day event
+ gifts
+2018-02-14:
+ Dax Dupont:
+ - bugfix: Integrated circuits no longer start upgraded.
+ - balance: The IC printers that are available on round start in the IC labs are
+ no longer upgraded by default. You will need to research these as was intended
+ Frozenguy5:
+ - bugfix: You can craft rat kebabs now.
+ Naksu:
+ - bugfix: Chasms no longer eat shuttle docking ports, rendering them unusable and
+ unresponsive
+ - tweak: The clogged vents event has been removed for pressing ceremonial reasons
+ coiax:
+ - rscadd: Transference potions now just rename the mob that you are transferring
+ into with your name, rather than your name plus the old name of the mob.
+2018-02-15:
+ Kor:
+ - rscadd: Bluespace slime extracts now have a new chemical reaction with water,
+ which create slime radio potions. When applied to a simple animal, that mob
+ gains an internal radio.
+ MrStonedOne:
+ - balance: You no longer need an aggressive grab to table someone.
+ SpaceManiac:
+ - refactor: Map initialization now supports stations with multiple z-levels.
+ - bugfix: The map reader no longer sometimes expands the world size inappropriately.
+ - tweak: Pride's Mirror's destination has become less predictable.
+2018-02-16:
+ AnturK:
+ - rscdel: Minimap gone from crew monitoring
+ DaedalusGame:
+ - code_imp: made powercell rigging no longer set rigged to the plasma reagent datum
+ what the hell and makes it use TRUE/FALSE defines
+ Denton:
+ - tweak: Emagging meteor shield satellites now shows you a message.
+ - spellcheck: Fixed a typo when emagging RnD servers.
+ MMMiracles:
+ - rscadd: You can now produce a cryostatis variant of the shotgun dart after researching
+ Medical Weaponry. Holds 10u and doesn't have reagents react inside it.
+ MetroidLover:
+ - rscadd: Added the ability to gain smoke bomb charges by attacking the initiated
+ ninja suit with a beaker containing smoke powder
+ More Robust Than You:
+ - bugfix: Fixes SCP-294 losing its top sometimes
+ Naksu:
+ - code_imp: replaced some item-specific movement hooks with components
+ Xhuis:
+ - tweak: Removing and printing integrated circuits will now attempt to place them
+ into a free hand.
+ - tweak: You can now hit an integrated circuit printer with an unsecured electronic
+ assembly to recycle all of the parts in the assembly en masse.
+ - tweak: You can now recycle empty electronic assemblies in an integrated circuit
+ printer!
+ - soundadd: Integrated circuit printers now have sounds for printing circuits and
+ assemblies.
+ - bugfix: The RPG loot event will no longer break circuit analyzers.
+ coiax:
+ - rscadd: Centcom now reports that thanks to extensive bioengineering, apples and
+ oranges now taste of apples and oranges, rather than nothing as they did before.
+2018-02-17:
+ DaedalusGame:
+ - bugfix: fixes lava and fire burning HE-pipes
+ - rscadd: added a subreaction for rainbow slime cores, injecting 5u of plasma now
+ makes them explode into random slimecores.
+ - rscadd: added a slimejelly reaction to rainbow slime cores that does the above
+ but all the cores that spawn get 5u each of plasma, water and blood injected.
+ (aka chaos)
+ - code_imp: improved clusterbuster code with Initialize, addtimer, vars for sounds
+ and payload spawners, etc
+ Dax Dupont:
+ - bugfix: After an incident where a very eager roboticist kept expanding a borg's
+ size leading to a structural collapse of the entire station proper safety limitations
+ have been implemented.
+ - bugfix: You can rotate freezers and cryo again.
+ - rscadd: Nanotrasen has invested in better reflective materials for it's reflectors.
+ You can now make complex laser shows again.
+ Modafinil:
+ - rscadd: Adds new medicine chem that suppresses sleep and very lightly reduces
+ stunrates, has a very low metabolic rate which is randomized and a low overdose
+ treshold. Overdosing is a lethal oxyloss unless treated. (With epipen urgently
+ and with charcoal/calomel before it puts you to sleep)
+ TankNut:
+ - tweak: Corpses spawned in ruins have their suit sensors disabled
+ coiax:
+ - admin: Admins can use the Select Equipment verb on observers. Doing so will humanise
+ them and then apply the equipment.
+ - bugfix: Species with RESISTHOT (golems, skeletons) can extinguish burning items
+ as if they were wearing fireproof gloves.
+ jakeramsay007:
+ - bugfix: Jellypeople/Slimepeople now are able to speak their Slime language, as
+ intended when it was added.
+ yorii:
+ - bugfix: removes the maintenance panel examination message on poddoors (blast doors)
+2018-02-18:
+ More Robust Than You:
+ - bugfix: Actually fixes SCP 294 overlay problems
+ Naksu:
+ - rscadd: Exosuit fabricators can now build RPED and crew pinpointer upgrades for
+ engineering and medical borgs respectively.
+ Ordo:
+ - rscadd: Adds a few new liquors to the bar, and a few new cocktails to boot!
+ Xhuis:
+ - tweak: Crew pinpointers now fit on medical belts!
+ YPOQ:
+ - bugfix: Bicycles are rideable again
+2018-02-19:
+ DaedalusGame:
+ - bugfix: Fixed paper bins not catching fire properly
+ - bugfix: fixed multiserver mining formula
+ Improvedname:
+ - bugfix: Fried eggs don't require boiled eggs anymore and just normal eggs
+ Kevinz000 and Naksu:
+ - bugfix: Ore stacks will now initialize with proper visuals and no longer show
+ a NO SPRITE text when you gather more than 20 ores to a stack.
+ XDTM:
+ - rscadd: 'Added three new techweb nodes: Advanced Surgery, Experimental Surgery,
+ and Alien Surgery(requires abductor tech)'
+ - rscadd: Added several new surgical procedures, which require these techweb nodes.
+ To enable an advanced surgery, print its relative disk from a protolathe, and
+ load it on an Operating Computer. Advanced surgery can only be performed at
+ operating tables.
+ - tweak: You can now intentionally fail surgical procedures by initiating them with
+ disarm intent instead of help intent.
+ - rscadd: Brain traumas now have a custom resilience system. Some trauma sources
+ can cause traumas which require more extensive treatment, such as the new Lobotomy
+ surgery.
+ - rscadd: Traitors can now purchase a Brainwashing Surgery Disk for 5 TC.
+ Xhuis:
+ - bugfix: New blob tiles are no longer invincible after their blob's death.
+ - bugfix: Blob nodes no longer produce blob tiles even after the blob's death.
+ coiax:
+ - rscadd: Mime's Bane, a toxin that prevents people from emoting while it's in their
+ system, can now be created by mixing 1 part Mute Toxin, 1 part Nothing and 1
+ part Radium.
+2018-02-20:
+ Anonmare:
+ - rscadd: Nanotrasen psychologists have identified new phobias emerging amongst
+ the workforce. Nanotrasen's surgeon general advises all personnel to just buck
+ up and deal with it.
+ AverageJoe82:
+ - rscadd: Circuits integrity, charge, and overall circuit composition is displayed
+ on diagnostic huds. If the assembly has dangerous circuits then the status icon
+ will display exclamation points, if the assembly can communicate with something
+ far away a wifi icon will appear next to the status icon, and if the circuit
+ can not operate the status icon will display an 'X'.
+ - rscadd: AR interface circuit which can modify the status icon if it is not displaying
+ the exclamation points or the 'X'.
+ - tweak: Locomotive circuits can no longer be added to assemblies that can't use
+ them.
+ - spellcheck: Fixed a typo in the grenade primer description.
+ - code_imp: Added flags to circuits that help group subsets of circuits and regulate
+ them.
+ DaedalusGame:
+ - bugfix: fixed ghost spawners showing up in the spawner menu when you can't use
+ them
+ - bugfix: fixed walls under doors breaking to space
+ - tweak: changed doors to no longer spawn on top of walls
+ Dax Dupont:
+ - rscadd: Adds special tutorial holopads for the hazard course.
+ Jittai:
+ - tweak: Ctrl+Clicking progresses through grab cycle on living mobs (not just humans)
+ Joan:
+ - tweak: The crusher kit now includes an advanced mining scanner.
+ - tweak: The resonator kit now includes webbing and a small extinguisher.
+ - tweak: 'The minebot kit now includes a minebot passthrough kinetic accelerator
+ module, which will cause kinetic accelerator shots to pass through minebots.
+ The welding goggles have been replaced with a welding helmet, allowing you to
+ wear mesons and still be able to repair the minebot without eye damage. feature:
+ You can now install kinetic accelerator modkits on minebots. Some exceptions
+ may apply. Crowbar to remove modkits.'
+ - balance: Minebots now shoot 33% faster by default(3 seconds to 2). The minebot
+ cooldown upgrade still produces a fire rate of 1 second.
+ - balance: Minebots are now slightly less likely to sit in melee like idiots, and
+ are now healed for 15 instead of 10 when welded.
+ - balance: Sentient minebots are penalized; they cannot have armor and melee upgrades
+ installed, and making them sentient will override those upgrades if they were
+ installed. In addition, they move very slightly slower and have their kinetic
+ accelerator's cooldown increased by 1 second.
+ NTnet circuit fix:
+ - bugfix: Now NTnet circuits can recieve sender adress properly.Also, now messages
+ could be sended to multiple recepiens.
+ Xhuis:
+ - rscadd: Admins may now spawn a debug circuit printer that can always print circuits,
+ and has infinite metal.
+ - bugfix: Buttons, number pads, and text pads in integrated circuits now correctly
+ show their labels.
+ - bugfix: Integrated hypo-injectors can now correctly draw blood.
+ - tweak: The circuit analyzer output has been slightly tweaked and includes usage
+ instructions.
+ - rscadd: The round-end report now shows information about the first person to die
+ in that round.
+ - rscadd: Added the dish drive. This machine, the future in plate disposal, can
+ be researched from techwebs (Biological Processing) and built with a standard
+ machine frame using two matter bins, a micro manipulator, and a glass sheet.
+ - rscadd: A circuit board for the dish drive can be found in the chef's and bartender's
+ wardrobes.
+ - rscadd: You can hit a dish drive with any dish (like a plate or drinking glass),
+ and the dish drive will convert it from matter to energy, allowing it to store
+ an infinite amount of dishes. You can also interact with it to get things back
+ from it.
+ - rscadd: Dish drives also have an automatic "suction" function that sucks in all
+ loose dishes within four tiles. This can be toggled by activating its circuit
+ board in-hand.
+ - rscadd: Dish drives automatically beam their stored dishes into any disposal unit
+ that it can see within seven tiles every minute. You can toggle this by alt-clicking
+ its circuit board.
+ - tweak: Plastic surgery now lets you choose from a list of ten random names, so
+ you can pick the one that you prefer.
+ - tweak: Abductors performing plastic surgery can now give their target spooky subject
+ names, with one normal name available for standard plastique.
+2018-02-21:
+ Denton:
+ - code_imp: Renamed the IDs of various reagents to be more descriptive.
+ - spellcheck: Fixed the descriptions of changeling adrenaling reagents.
+ - tweak: Changed Santa event earliest start from 33 minutes & 20 seconds to 30 minutes.
+ Changed shuttle loan earliest start from 6 minutes & 40 seconds to 7 minutes.
+ - spellcheck: Tweaked the message you see when emagging meteor shield satellites.
+ Kevinz000 & Deathride58:
+ - rscadd: A separate round time has been added to status panel. This will start
+ at 00:00:00.
+ - rscadd: Night shift lighting [if enabled in the same configuration] will activate
+ between station time 7:30 PM and 7:30 AM. This will dim all lights affected,
+ but they will still have the same range.
+ - rscadd: APCs now have an option to set night lighting mode on or off, regardless
+ of time.
+ Naksu:
+ - bugfix: Flightsuits should be controllable again
+2018-02-22:
+ Buggy123:
+ - tweak: Nanotrasen has begun a campaign to inform their employees that you can
+ alt-click to disable morgue tray beeping.
+ Jittai / ChuckTheSheep:
+ - imageadd: NT has stopped buying re-boxed storebrand Donkpockets and now stocks
+ stations with real, genuine, tasty Donkpockets!
+ MetroidLover:
+ - balance: rebalanced Ninja event to allow it to happen earlier.
+ - bugfix: fixed Ninja welcome text to no longer tell you to right click your suit.
+ Naksu:
+ - code_imp: removed unused poisoned apple variant
+ Repukan:
+ - bugfix: fixed windoors dropping more cable than what was used to build them.
+ Robustin:
+ - bugfix: The clock cult's marauder limit now works properly, temporarily lower
+ the marauder limit when one has recently been summoned.
+ Super3222, TheMythicGhost, DaedalusGame:
+ - rscadd: Adds a barometer function to the standard atmos analyzer.
+ - imageadd: Adds a new sprite for the atmos analyzer to resemble a barometer.
+ kevinz000, Denton:
+ - rscadd: Nanotrasen's RnD division has integrated all stationary tachyon doppler
+ arrays into the techweb system. Record increasingly large explosions with them
+ and you will generate research points!
+ - spellcheck: Fixed a few typos in the RnD doppler array name/description.
+2018-02-25:
+ Astral:
+ - rscadd: Traitor CMOs and Chemists, for 12 TC, can now get a reagent dartgun, which
+ is capable of synthesizing it's own syringes, but does so slowly, and can be
+ easily identified as syndicate by anyone who isn't blind!
+ Cebutris:
+ - tweak: Toxin loving species now properly take toxin damage from liver failiure
+ DaedalusGame:
+ - bugfix: enables the RPED to construct/replace other parts commonly used in machines
+ (igniters, beakers, bs crystals)
+ - bugfix: fixes part ratings of cells so slime cells are correctly more desirable
+ than bluespace cells and other such nonsense
+ - bugfix: shivering symptom now works properly instead of only cooling you if you're
+ already cold
+ - bugfix: fixed bodytemp going negative in a few cases
+ - code_imp: removes input/output plates and changes autogibbers to use input dir
+ - tweak: The last scientists have reported that thermonuclear blasts triggered by
+ so called 'power gamers' have shorted the doppler array. We've readjusted the
+ ALU and are confident that this will not happen again.
+ Denton:
+ - tweak: The outer airlocks of most space ruin airlocks are now cycle linked.
+ - tweak: The outer airlocks of various lavaland ruins and ships now cycle lock.
+ - bugfix: Players can no longer kill themselves by whispering inside clone pods.
+ - tweak: The 'neurotoxin2' toxin has been renamed to Fentanyl.
+ Naksu:
+ - admin: Admins can now start the game as extended revs, a version of revs that
+ doesn't end when head(rev)s are dead. Admins can also use the speedy mode, which
+ nukes the station after 20 minutes.
+ Repukan:
+ - rscadd: Whiskey to the flask
+ - rscdel: Hearty Punch from the flask
+ ShizCalev:
+ - tweak: Silicons no longer have to be adjacent to morguetrays to disable the alarms
+ on then.
+ ThePainkiller:
+ - tweak: Tweaked the inventory management of the black fedora to be more like the
+ detective's
+ Xhuis:
+ - rscadd: Added Bastion Bourbon, which you can mix with tea, creme de menthe, triple
+ citrus, and berry juice. When it's in your system, it will very slowly heal
+ you as long as you're not in critical. When it's first added to your system,
+ you heal an amount of each damage type equal to the volume taken in, with a
+ max of 10. This is turned to a max of 20 for anyone in critical.
+ - rscadd: Added Squirt Cider, which you can mix with water, tomato juice, and nutriment.
+ It's nutritious and healthy!
+ - tweak: Reskinning objects now shows their possible appearances in the chat box.
+ deathride58:
+ - rscadd: Lights will now actually glow in the dark!
+2018-02-26:
+ DaedalusGame:
+ - balance: livers don't unfail automatically every second life cycle you have to
+ get a new one or get some corazone stat
+ - balance: increased liver damage from alcohol significantly because apparently
+ your liver regenerates faster than you can chug unless you drink 100 liters
+ of bacchus blessing
+ - bugfix: fixed cyber livers thinking they should fail at half durability
+ MMMiracles:
+ - rscadd: Added tinfoil hats, headgear that can help protect against government
+ conspiracies and extra-terrestrials. Found in hacked autolathes.
+ Robustin:
+ - bugfix: Twisted Construction will now consume ALL available plasteel in a stack.
+ - bugfix: Runes will no longer count the original invoker more than once.
+ XDTM:
+ - balance: Wizard spells and items can now be resisted/ignored with anti-magic items/clothing
+ such as null rods!
+ - balance: Revenant spells can now be resisted with "holy" items like null rods
+ and bibles.
+ - balance: Wizard hardsuits are now magic immune, but not holy.
+ - balance: Immortality Talismans now grant both spell and holy immunity.
+ - tweak: Inquisitor Hardsuits already granted spell and holy immunity, but now they
+ do it properly instead of having a null rod embedded inside.
+ - tweak: Holy Melons now grant holy immunity.
+ - tweak: Operating computers now display the chemicals required to complete a surgery
+ step, if there are any.
+ - tweak: Completing a surgery without the required chems will always result in failure,
+ instead of a success with no effect.
+ - balance: You can no longer gain the same trauma more than once.
+ - balance: 'You can no longer gain more than a certain amount of brain traumas per
+ resilience tier. (Example: You cannot gain 4 mild traumas, but you can gain
+ 3 mild and 1 severe)'
+ - tweak: Abductors' trauma gland now gives traumas of random resilience, instead
+ of lobotomy every time.
+ Xhuis:
+ - balance: Instead of starting unable to clone circuits at all, circuit printers
+ can now print circuits over time from roundstart. The formula for this is equal
+ to (metal cost / 150) seconds, with a maximum of 3 minutes. You can see printing
+ progress by using the printer's interface, and you can print normal components
+ during this time.
+ - balance: If circuit printing is disabled in the config, cloning remains unavailable.
+ - balance: The upgrade disk to allow circuit printers to clone circuits has been
+ replaced with an upgrade disk to make circuit cloning instant.
+ - balance: Both circuit printer upgrade disks now cost 5000 metal and glass, down
+ from 10000.
+ - code_imp: Butchering has been refactored.
+ - balance: Some items now take longer to butcher, and have a chance to harvest fewer
+ items, like spears. Others, however, are faster, like circular saws.
+ - balance: Certain creatures will always drop certain items on butchering, regardless
+ of butchering effectiveness or chances.
+ - balance: Items that are very effective at butchering may yield bonus loot from
+ butchered creatures!
+ - rscadd: Plain hamburgers may now spawn as steamed hams with a very low chance.
+2018-02-27:
+ Astral:
+ - rscadd: blood cultists can now use a nar nar plushie as an extra invoker for runes!
+ Iamgoofball:
+ - rscadd: Look sir, free crabs!
+ Poojawa:
+ - rscadd: Tesla Corona Analyzers! Study the seemingly magic Edison's Bane for supplemental
+ research points!
+ Robustin:
+ - bugfix: The heart attack event will now actually make the victim acquire the heart
+ disease
+ - bugfix: Clicking the chatbox link will let you orbit the victim
+ - tweak: The event is now significantly more sensitive to junk food. Recent consumption
+ of multiple junk food items will triple your chances of having a heart attack
+ (exercise will still block it).
+ selea:
+ - bugfix: fixed floorbot
+ - bugfix: fixed cleanbot
+ - refactor: improved pathiding in case of given minimal distance;improved sanitation
diff --git a/html/changelogs/archive/2018-03.yml b/html/changelogs/archive/2018-03.yml
new file mode 100644
index 0000000000..35d3f12f20
--- /dev/null
+++ b/html/changelogs/archive/2018-03.yml
@@ -0,0 +1,776 @@
+2018-03-02:
+ AlexTheSysop:
+ - bugfix: C4 logging now shows correct location
+ Astral:
+ - imageadd: Space is now prettier
+ DaedalusGame:
+ - tweak: Machines can now be constructed anchored or unanchored, if the resultant
+ machine could be unanchored.
+ Dax Dupont:
+ - rscadd: Medals now show the commendation text in the description.
+ Denton:
+ - tweak: Cargo packs have been grouped and sorted alphabetically. Station goal crates
+ are now in the Engineering section.
+ - tweak: The cargo security section has been split into security/armory.
+ - tweak: Grouped all gas canisters and fuel/water tanks together in one section
+ with raw materials.
+ - spellcheck: Fixed a few cargo pack descriptions.
+ - tweak: Cyclelinked three airlock pairs on Boxstation (port bow solars and the
+ area that connects RnD with medical).
+ Improvedname:
+ - bugfix: chem implants can no longer be self triggered
+ Jittai / ChuckTheSheep:
+ - imageadd: New chemdispenser (and minidispenser) sprites.
+ - imageadd: New soda/beer dispenser sprites, with directional states.
+ Mey-Ha-Zah:
+ - imageadd: Heck suit sprites are prettier, with more contrast.
+ MoreRobustThanYou:
+ - bugfix: SCP-294 should no longer have overlay problems
+ Naksu:
+ - rscdel: SNPCs have been removed.
+ Poojawa:
+ - bugfix: Cyborg defib units are now actually functional
+ XDTM:
+ - tweak: Bath Salts now induce psychotic rage, but cause much more brain damage.
+ Xhuis:
+ - rscadd: Traits! You can now select up to three positive, negative, and neutral
+ traits in the character setup. You can choose up to six traits based on combinations
+ varying by the amount of points you earn with negative traits and spend with
+ positive ones.
+ - rscadd: You can now splash metal sheets with copper to make bronze sheets, which
+ you can make "clockwork" things out of.
+ YPOQ:
+ - bugfix: The assault pod can be launched again.
+ uraniummeltdown:
+ - rscadd: The chatbar now has OOC and Me buttons
+ - tweak: The chatbar font-size is smaller
+2018-03-03:
+ Cebutris:
+ - bugfix: Washing a glove with a white crayon will make it look like a white glove,
+ instead of a latex glove. Instead, mime crayons make gloves look latex
+ Denton:
+ - bugfix: Burglar alarms in the Pubbystation library and RD office can now be disabled
+ properly.
+ - bugfix: Fixed Pubbystation's RD office shutters.
+ - rscadd: Added missing engineering and kitchen lockdown shutters on Pubbystation.
+ - rscadd: 'Pubbystation: Added privacy shutters to the CMO and RD offices. Added
+ space shutters to the HoS office. Replaced the RD office''s directional windows
+ with fulltile ones.'
+ - rscadd: Added a second blast door to the Pubbystation gulag shuttle lockdown.
+ - tweak: Due to pressure from the space OSHA, Pubbystation has installed missing
+ fire alarms and firelocks.
+ - tweak: Split the Pubbystation library into two areas with their own APCs.
+ Naksu:
+ - admin: Admins can now easily spawn cargo crates
+ - admin: Admins can now toggle antag, med, sci, engineering huds and maximum ghost
+ brightness with just one button.
+ Robustin:
+ - balance: Meth now deals 1-4 brain damage while active, up from 0.25
+ Selea:
+ - balance: reduce CD of all non manipulative non list output circuits to 0.1
+ - balance: add to locomotion circuit output ref with object, which assembly was
+ bumped to.
+ - balance: upgrade disks have multiuse. balance:iducer efficiency= efficiency/number
+ of inducers on 1 tile.
+ - balance: unnerf fuel cell.about 3-5 times.Make blood more powerful.
+ ShizCalev:
+ - rscadd: You can now hotswap tanks in a canister or gas pump by clicking it with
+ a new tank!
+ - rscadd: You can now also close a canister's valve and remove the tank inside it
+ by alt-clicking it.
+2018-03-04:
+ DaedalusGame:
+ - balance: changed the formula of liver damage so weak alcohol does barely anything
+ while strong alcohol is still threatening
+ Iamgoofball:
+ - bugfix: RIP Billy, you'll be the boss of heaven's gym now :(
+ Jalleo:
+ - admin: Added a cancel button to nuke timer (and others). You no longer have to
+ make it 0 just a click to cancel.
+ - admin: You can now easily set how many "INSERT JOB ROLE HERE" you want in the
+ manage job selection in the admin panel. If you put zero in it will set it to
+ the current amount of filled positions.
+ - bugfix: moved a small amount of wording around in a admin browser to make it cleaner
+ looking. Along with a few updated checks for certain things.
+ Naksu:
+ - code_imp: First pass on cleaning up junk defines and unused code
+ RandomMarine:
+ - rscdel: The ore redemption machine no longer has 'release all' buttons. Remember
+ to take just what you need and leave some for the other departments.
+2018-03-05:
+ 81Denton:
+ - tweak: 'Deltastation: Removed a windoor to make the northern chemistry fridge
+ more accessible.'
+ Cruix:
+ - rscadd: Added a new mini antagonist, the sentient disease.
+ DaedalusGame:
+ - bugfix: Fixes the auxbase camera console not placing airlocks on fans but doing
+ so vice-versa
+ Dax Dupont:
+ - balance: Others can now take off your tinfoil hat as seemingly originally intended.
+ - balance: Due to the nature of tinfoil hats, the delay of putting a tinfoil hat
+ on unwilling participants has been increased.
+ Denton:
+ - bugfix: 'Pubbystation: Added a missing APC to the cargo sorting room, a light
+ fixture to the RnD security checkpoint and removed an overlooked firelock east
+ of the bridge.'
+ - rscadd: 'Pubbystation: Added a spare RPD to the Atmospherics department. Replaced
+ Engineering''s outdated meson goggles with modern engineering scanners. Added
+ a GPS device to the secure storage crate.'
+ - tweak: Moved Pubbystation's drone shell dispenser from the experimentation lab
+ to Robotics maint.
+ Jittai / ChuckTheSheep:
+ - tweak: Adjusted the space parallax's contrast to be less vibrant.
+ Naksu:
+ - rscadd: Advanced roasting sticks, a product of applied bluespace research can
+ now be built from service protolathes. They can be used to cook sausages on
+ campfires, supermatter engines, tesla balls, singularities and a couple of other
+ things.
+ - admin: Admins can now grant spells via implants, using the spell implant. Some
+ VV is required.
+ Potato Masher:
+ - bugfix: The Wizard Federation has finally modified their production method for
+ pre-packaged magic tarot cards for better compatibility with time-stopping spells.
+ Guardians Spirits are no longer frozen by their user's time-stops.
+ SpaceManiac:
+ - bugfix: Night shift no longer ignores rooms whose APCs are in port or starboard
+ central maintenance.
+ - bugfix: Inserting brains into MMIs and then into mechs now works again.
+2018-03-06:
+ MrDoomBringer:
+ - tweak: Advances in Rapid Delivery Technology have yielded a reduced premium on
+ express cargo orders! Orders from the express console now have a cost multiplier
+ of 1, down from 2.
+ MrStonedOne:
+ - bugfix: gas overlays once again no longer steal clicks
+ - rscdel: 511 clients will be unable to see gases once again. the 512 client crashes
+ are fixed so this shouldn't be that big of a deal.
+ Naksu:
+ - admin: Admins can now easily spawn mobs that look like objects. Googly eyes optional!
+ XDTM:
+ - rscadd: Revenants now have randomly generated names.
+ Xhuis:
+ - code_imp: Traits are now assigned in a way that should cause fewer edge cases
+ and strangeness.
+ - bugfix: Night Vision should now work.
+ - bugfix: Traits no longer tick while dead.
+ - tweak: RDS now triggers twice as often.
+ - tweak: You can now modify your trait setup mid-round. Your character is locked
+ to the traits you had selected when you spawned in, though.
+ selea:
+ - bugfix: After several months of natural selection, hostile mobs started to attack
+ assemblies with combat circuits.
+2018-03-08:
+ ACCount:
+ - rscadd: Station airlocks now support NTNet remote control. Door remotes now use
+ NTNet.
+ - rscadd: Don't worry, any non-public airlock is fully protected from unauthorized
+ control attempts by NTNet PassKey system!
+ - rscadd: 'New integrated circuit component: card reader. Use it to read PassKeys
+ from ID cards.'
+ - bugfix: Fixes a delay issue when airlocks are being opened/closed by signalers.
+ Astral:
+ - bugfix: Lighting fixtures should no longer be visible in camera-less areas by
+ cameras.
+ - rscadd: Ghosts can now examine sentient diseases to see info
+ CameronWoof & MrDoomBringer:
+ - rscadd: Adds medical sprays, a new application method for touch chems
+ - rscadd: Pre-loaded medical sprays can be obtained from NanoMeds
+ - rscadd: Empty medical sprays can be found in boxes in chemistry and from cargo's
+ medical crate
+ - tweak: Sterilizer spray has been migrated to be a medspray instead of being a
+ spray bottle
+ Cebutris:
+ - spellcheck: lithenessk -> litheness
+ Cruix:
+ - rscadd: Sentient diseases now get two minutes to select an initial host before
+ being assigned a random one.
+ Dax Dupont:
+ - rscadd: Beacons can now be toggled on and off.
+ - rscadd: Mappers can now have beacons that default to off. Useful for ruins!
+ - tweak: Renaming replaces the snowflake locator frequency/code
+ - refactor: Beacons are no longer radios. Why were they radios in the first place?
+ I don't know.
+ - bugfix: You can now lay meters again with the RPD.
+ Denton:
+ - rscadd: Pubbystation's RnD department has been outfitted with a brand new circuitry
+ lab! It is found east of the Toxins launch room.
+ Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709):
+ - rscadd: Adds mood, which can be found by clicking on the face icon on your screen.
+ - rscadd: Adds various moodlets which affect your mood. Try eating your favourite
+ food, playing an arcade game, reading a book, or petting a doggo to increase
+ your moo. Also be sure to take care of your hunger on a regular basis, like
+ always.
+ - rscadd: Adds config option to disable/enable mood.
+ - rscadd: 'Indoor area''s now have a beauty var defined by the amount of cleanables
+ in them, (We can later expand this to something like rimworld, where structures
+ could make rooms more beautiful). These also affect mood. (Janitor now has gameplay
+ purpose besides slipping and removing useless decals) remove: Removes hunger
+ slowdown, replacing it with slowdown by being depressed'
+ - imageadd: Icons for mood states and depression states
+ MMMiracles:
+ - tweak: Thirteen Loko now has an overdose threshold of 60u, see your local CMO
+ for potential side-effects.
+ MrDoomBringer:
+ - tweak: Emagging the emergency shuttle now fries the on-board acceleration governor.
+ Better buckle up!
+ Naksu:
+ - balance: The nuclear authentication disk no longer treats the transit space as
+ a whole as being "in bounds", but instead checks whether it is in an approved
+ shuttle type (syndicate shuttles, escape shuttles, pubbiestation's monastery
+ shuttle, escape pods are allowed)
+ - bugfix: Blueprints can no longer be used to create areas inside shuttles. This
+ fixes various exploits involving shuttles and areas.
+ - bugfix: Moving across a space z-level border can no longer place you inside a
+ shuttle or a dense turf such as an asteroid.
+ SpaceManiac:
+ - bugfix: The Shift Duration in the round-end report is no longer blank in rounds
+ lasting between one and two hours.
+ kevinz000:
+ - rscadd: smoke machines can now be printed after researching adv biotech
+2018-03-09:
+ Dax Dupont:
+ - rscadd: Display cases can now have a list where to randomly spawn items from.
+ - refactor: Moved plaque code to main type.
+ - refactor: Statues now use default unwrench and the tool interaction is now completely
+ non existent when no deconstruct flag is available.
+ Mark9013100:
+ - rscadd: Pill bottles can now be produced in the autolathe.
+ Naksu:
+ - balance: The white ship and miscellaneous caravan ships lose their advanced place-anywhere
+ shuttle movement during war ops.
+ - tweak: The smoke machine can now be deconstructed using a screwdriver and a crowbar
+ - code_imp: The smoke machine no longer calls update_icon every process()
+ Robustin:
+ - balance: Harvesters now have 40hp, from 60.
+ - tweak: The nuke will now detonate 2 minutes after Nar'sie is summoned, down from
+ 2.5 minutes
+ - tweak: The "ARM" ending now requires 75% of the remaining souls aboard to be sacrificed
+ before the nuke goes off, up from 60%.
+ - bugfix: Drones can no longer be on the sacrifice list
+ - bugfix: Bloodsense will now show the true name of the target
+2018-03-10:
+ 81Denton:
+ - tweak: Added wall safes to Deltastation's HoP and Captain's offices.
+ Astral:
+ - bugfix: Constructed turbines will now properly connect to the powernet
+ Cobby:
+ - tweak: The Eminence scoffs at your "consecrated" tiles once the Justicar is freed
+ from his imprisonment.
+ Denton:
+ - rscadd: Engi-Vend machines now have welding goggles available.
+ - tweak: Grouped Nano-Med/Engi-Vend items by category.
+ Irafas:
+ - rscadd: Turrets can be set to shoot personnel without loyalty implants
+ Naksu:
+ - rscdel: The smoke machine can no longer be found in chemistry departments, instead
+ it must be constructed manually. The board was added to techwebs earlier.
+ Singularbyte:
+ - bugfix: Dead bodies no longer freak out about phobias
+ 'The Dreamweaver (Sprites: Onule)':
+ - rscdel: Nanotrasen's Lavaland research team has discovered that the alien brain
+ has disappeared from necropolis chests.
+ - rscadd: In it's place they have discovered a new artifact, the Rod of Asclepius,
+ a strange rod with a magnitude of healing properties, and an even higher magnitude
+ of responsibility...
+ XDTM:
+ - rscadd: You can now place people on tables on Help Intent. Doing so takes a few
+ seconds and makes the target Rest, instead of stunning them.
+ Xhuis:
+ - bugfix: Circuit slow-cloning no longer breaks with some circuits.
+ - code_imp: Circuit slow-cloning is now cleaner.
+ kevinz000:
+ - rscadd: Oh hey guys, RND shows correct material values now, don't hurt me!
+ ninjanomnom:
+ - bugfix: Blowing up the wrong part of the shuttle should no longer result in the
+ shuttle being permanently broken.
+2018-03-11:
+ Buggy123:
+ - tweak: The Clockwork Justicar has decided to be merciful, and allow nonbelievers
+ to anchor their petty machines in his city. It's only fair for them to have
+ a fighting chance, after all.
+ Irafas:
+ - bugfix: Fixed pacifists from being able to fire mech weapons
+ JJRcop:
+ - bugfix: Sanity checks for Play Internet Sound
+ MrDoomBringer:
+ - rscadd: Orderable supplies in cargo now all have descriptions! The station's overall
+ FLAVORFUL_TEXT stat has gone up by nearly 2% as a result.
+ Onule:
+ - tweak: Mining drones have been given a visual makeover!
+ Poojawa:
+ - imageadd: Redded borg transformation animations
+ - imageadd: adjust mining borg animation to new colors.
+ Xhuis:
+ - rscadd: The Nanotrasen Meteorology Division has identified the aurora caelus in
+ your sector. If you are lucky, you may get a chance to witness it with your
+ own eyes.
+ ninjanomnom:
+ - admin: The debug message for generic shuttle errors is improved a little
+ - bugfix: Custom shuttles being too close to the map edge was causing problems,
+ you must now be at least 10 tiles away.
+2018-03-12:
+ Naksu:
+ - balance: The space cleaner spray bottle is now much more efficient and uses much
+ less space cleaner per spray. The amount of cleaner it can hold has been adjusted
+ to compensate.
+ - bugfix: internet sounds can be stopped again
+ Robustin:
+ - bugfix: One-man conversions are actually fixed this time - excess chanters var
+ removed for a more readable and maintainable rune code.
+ - bugfix: Runes should no longer become GIANT if spammed (credit to Joan for this
+ fix).
+ - bugfix: Pylons are no longer a source of infinite rods.
+ - tweak: Attempting conversion without 2 cultists present will give a more helpful
+ warning.
+ - tweak: You can no longer convert braindead individuals.
+ - balance: Cult doors will no longer lose power but also cannot shock people, brittle
+ cult doors have 30 less integrity. Therefore ordinary crew can now beat cult
+ airlocks open without frying themselves.
+ - balance: Blood magic now costs slightly more blood and takes slightly more time,
+ the stun spell now stuns for 2 less seconds, twisted construction now costs
+ 10 health, and the blood rite relics (halberd, bolts, beam) are all 50-100 charges
+ cheaper.
+ - balance: The deconversion time for holy water is slightly reduced, 10 units and
+ 45 seconds (give or take), is all you should need now. Blood cultists can now
+ have seizures while afflicted with holy water.
+ - balance: Shades are now slower and have a modest reduction to their damage and
+ health.
+2018-03-13:
+ Dennok:
+ - rscadd: Meters can be attached to the floor by screwdriver
+ Denton:
+ - bugfix: The disposal bin in Pubbystation's main tool storage now works.
+ - tweak: Deleted a duplicate r-wall between Pubby's main tool storage and the captain's
+ office. Added a Metastation-style crate disposals chute and a light switch.
+ - tweak: Various belts can now hold additional job-specific items.
+ - tweak: Sepia floor tiles fly really slowly, yet far when thrown. Don't hit yourself!
+ Naksu:
+ - admin: ERT creation has been refactored to allow for easier customization and
+ deployment via templates and settings
+ Polyphynx:
+ - tweak: Medical sprays can now be stored in medical belts and smartfridges.
+ The Dreamweaver:
+ - rscadd: Both of Nanotrasen brand totally-for-adult-use footwear, Wheely-heels,
+ the cool and hip new shoes with built in roller-wheels, and Kindle Kicks, the
+ fun and flashy light up sneakers, are now available as rare prizes at your nearest
+ arcade machine!
+ Toriate:
+ - rscadd: Added ammo counters for RCDs
+ - rscadd: Added actual flashing yellow light for RCDs
+ - imageadd: added new RCD sprites including inhands
+ - imagedel: deleted old RCD iconstate, but not the inhands
+ checkraisefold:
+ - bugfix: Nukeops properly checks the required amount of enemies for the gamemode!
+ This should fix downstream problems.
+ imsxz:
+ - rscdel: the viral aggressive metabolism symptom has been removed
+ ninjanomnom:
+ - bugfix: You need to actually clear an area for the aux base, remove all walls
+ (except rock walls).
+2018-03-16:
+ Dax Dupont:
+ - tweak: 8balls take less time to shake.
+ Keekenox & Floyd / Qustinnus:
+ - imageadd: Adds a new Parallax layer that resembles Lavaland (Lava Planet), it
+ spawns on a random location near the station. You need your parallax on high
+ to see it.
+ Shadowlight213:
+ - tweak: Roundstart or latejoin sec officers will like donuts regardless of race.
+ cacogen:
+ - tweak: Transit tubes take half as long to secure/unsecure
+2018-03-17:
+ AnturK:
+ - rscadd: Traitor AI's can now take manual control of turrets.
+ Cruix:
+ - bugfix: Sentient diseases will no longer lose points when a host is uninfected.
+ Dax Dupont:
+ - bugfix: Edison's ghost no longer interferes with Tesla Corona Coil research device.
+ Denton:
+ - tweak: Syndicate stormtroopers now rapid fire 10g slugs instead of buckshot. This
+ deals the same damage, but makes getting hit less laggy.
+ - rscadd: 'Pubbystation: Added protective grilles outside the circuitry lab. The
+ one with the big glass windows, right next to the bomb test site. Oops.'
+ - rscadd: 'Pubby: Added electrified grilles to the windows of the CMO/RD/CE offices,
+ as well as missing privacy shutters to the CE office.'
+ - rscadd: 'Pubby: There is now a very rare chance for a Xenomorph egg to appear
+ in the Xeno containment chamber at roundstart.'
+ - bugfix: 'Pubby: Fixed the name of the HoS space shutter button.'
+ - tweak: Updated a bunch of roundstart tips and added new ones.
+ Polyphynx:
+ - bugfix: Bluespace slime radio potions now work, and are no longer invisible.
+ RandomMarine:
+ - bugfix: Did you know that you could buckle guys to grounding rods? Probably not
+ - not that it mattered before, because people buckled to them didn't get shocked
+ when they got zapped. That's fixed now.
+ SpaceManiac:
+ - bugfix: Cameranet issues in OmegaStation's departures wing, crematorium, and freezer
+ have been corrected.
+ The Dreamweaver:
+ - bugfix: Fixes duplication issue when the Rod of Asclepius is removed while lying
+ down, as well as fixing a runtime when attempting to use multiple rods.
+ XDTM:
+ - rscadd: 'Changed behaviour of mech drills: now they take some time to start drilling,
+ then they keep drilling until manually stopped or the target is destroyed. Mobs
+ are still gibbed if they have more than 200 brute damage while being drilled.'
+ - rscadd: Drilling walls is now consistent; it takes longer, but it will always
+ work instead of only randomly.
+ - tweak: Drills no longer stun mobs, but they can dismember limbs.
+ - bugfix: Mech drills no longer cause explosion-like effects on mobs inside objects.
+ deathride58:
+ - bugfix: You can no longer push someone onto a table that's on the other side of
+ the station.
+ kevinz000:
+ - rscadd: Wet floors now get their duration decreased by 0.1 seconds per degree
+ above 0C the air temperature on it is, and instantly dry above 100C. Below 0C
+ they will freeze into ice and will not automatically dry.
+ - rscadd: Floors can now have different types of wet at the same time! Wet strength/type
+ is now a bitflag.
+2018-03-18:
+ Davidj361:
+ - tweak: Made AI VOX sound files smaller sized
+ - bugfix: Fixed improperly pronounced AI VOX lines
+ - soundadd: Added a ton of new AI VOX sayings
+ Floyd / Qustinnus:
+ - rscdel: Removes short-term effects of mood add; Adds long-term effects of mood
+ by implementing sanity which goes up with good mood, down with bad mood, but
+ takes time to change. Your sanity can be seen as your average mood in the recent
+ past. All effects of moods are now covered by this system
+ - rscadd: Beauty component, currently only attached to cleanables, but you could
+ attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone
+ in the room.
+ - refactor: Removes the original way of adding mood events, uses signals properly
+ instead.
+ - bugfix: Cleanables "giving" area's free beauty during initialization
+ - bugfix: Fixes some events not clearing properly
+ Naksu:
+ - bugfix: Chem dispensers now show the correct amount of units they will vend (instead
+ of 1/10)
+ - balance: Chem dispensers can now be upgraded. Manipulators increase macro granularity,
+ matter bins increase power efficiency, cells increase power capacity, capacitors
+ increase recharge rate.
+ - balance: Chem dispensers can now be constructed
+ - rscdel: mini-chemdispensers are removed.
+2018-03-19:
+ Anonmare:
+ - tweak: Spaceacillin is now useful in disease control
+ Denton:
+ - rscadd: It's suicide HoPline prevention week at Omegastation!
+ - rscadd: Navigation beacons and a brand-new Officer Beepsky unit have been installed.
+ This means that crewmembers can now use medibots, janibots and other bots as
+ well.
+ - rscadd: The atmospherics department has been outfitted with all missing gases
+ as well as an incinerator and a hardsuit.
+ - rscadd: The size of the botany and xenobiology departments have been increased
+ in order to increase productivity. The medbay O2 port has been moved so that
+ doctors can access the table next to it.
+ - rscadd: RnD now has circuitry tools; medbay has stethoscopes+wrench+beaker/pill
+ bottle boxes and primary tool storage has multitools. Enginers no longer have
+ to share a single pair of insulated gloves either.
+ - rscadd: Engineers now have access to an Engi-Vend vending machine as well as missing
+ tools like inducers. Circuitry storage has a smoke machine board and a solars
+ crate in case the engine blows up.
+ - tweak: Blueprints have been moved from the vault safe to secure storage in order
+ to speed up construction projects.
+ - bugfix: The AI sat transit tube now works! Turret controls can now be accessed
+ from the outside. The first two turrets now use the proper type of gun. The
+ telecomms air alarm will no longer report false alarms.
+ - bugfix: The main hallway's firelocks now no longer all close at once.
+ - bugfix: 'Pubbystation: The atmos mix tank and N2 filter should now work properly.'
+ SailorDave:
+ - bugfix: Crayons and spraycans can no longer draw an unlimited amount of large
+ graffiti regardless of uses left.
+2018-03-20:
+ Denton:
+ - bugfix: At last, the Pubbystation auxillary base can be launched again.
+ - code_imp: Aux base/escape pod/assault pod/elevator docking ports now default to
+ timid = FALSE.
+ Garen:
+ - rscadd: Added 4 new Icons to the diagnostic hud circuit status display that can
+ be set using the AR interface circuit.
+ - rscadd: now instead of seeing the yellow warning icon when a weapon is in the
+ circuit, the current status icon will just turn red.
+ Irafas:
+ - rscadd: Pacifists can now drill closets containing living beings
+ JStheguy:
+ - rscadd: Electronic assemblies can now have their casings colored using the new
+ assembly detailer, get yours at your nearest integrated circuit printer!
+ - rscadd: Added 2 new electronic assemblies, 2 new electronic mechanisms, and 3
+ new electronic drones.
+ - rscadd: Added wall-mounted electronic assemblies in 3 sizes, simply slap it against
+ a wall to stick it up, and then anchor it in place with a wrench.
+ - imageadd: Added the new sprites for the new assemblies, and color-able overlays
+ for every assembly, to allow for the aforementioned coloring feature.
+ - tweak: Scanners can now scan power cells, circuitry tools, and integrated circuits,
+ assuming the player isn't able to use them normally. I.E. if the assembly is
+ closed.
+ - tweak: Using wrenches to anchor down assemblies now works for all assembly types
+ except drones, as opposed to just working for electronic machines.
+ - tweak: Examining an assembly now shows some text telling you what tools to use
+ to do what, like many other objects currently do.
+ Kor:
+ - code_imp: Jobs other than Assistant may now be assigned by admins or events as
+ the overflow role
+ - rscadd: April Fools now sets the overflow role as Clown.
+ Naksu:
+ - admin: Rhumba beat is now more than renamed GBS
+ - tweak: Plastic is now a valid material for lathes
+ - rscadd: Added two new beaker types, 120u and 180u. The 120u beaker can be printed
+ off the medical protolathe with just glass and plastic, the 180u requires some
+ mining materials and tech.
+ - admin: Whether to open the armory doors when spawning an ERT is now controllable
+ from the ERT creation window.
+ - tweak: Chaplain inquisitor role now spawns with one holy hand grenade instead
+ of a box full of them, and the belt now has actually useful stones instead of
+ unusable cult stones
+ Polyphynx:
+ - tweak: The piano now sounds more like a piano!
+ Shadowlight213:
+ - bugfix: Malf hacked APCs can be broken with extinguishers and toolboxes again.
+ TheDreamweaver:
+ - bugfix: Holodeck mobs that are given sentience via sentience potions are now warned
+ about the state of their existence.
+2018-03-21:
+ BunnyBot5000:
+ - rscadd: Fringe Weaver drink - made with ethanol and sugar, it's classy (and slightly
+ weaker) hooch
+ - rscadd: Sugar Rush drink - made with sugar, lemon juice, and wine. It's got a
+ slight nutritional value but decreases your satiety, causing you to be unable
+ to consume junk food.
+ - rscadd: Crevice Spike drink - made with lime juice and hot sauce. A 'sobering'
+ drink, the Crevice Spike will reduce your drunkenness slightly but it kicks
+ hard going down, dealing 15 points of brute when first ingested.
+ MrStonedOne:
+ - bugfix: VOX sounds are now forcefully preloaded on clients to deal with an issue
+ keeping byond from loading them
+ cyclowns:
+ - tweak: Unary devices can now be analyzed using gas scanners. This means stuff
+ like vents, scrubbers, cryo tubes, or heaters/freezers.
+2018-03-22:
+ Denton:
+ - tweak: The lavaland Syndicate base has been outfitted with a turret control panel
+ as well as more chemistry supplies and one (1) bar of Syndicate brand soap.
+ Floyd / Qustinnus:
+ - bugfix: Being happy no longer makes you obese.
+ JohnGinnane:
+ - refactor: Vending machines now have their own files which includes their refill
+ cannister. The machines themselves are unchanged
+ Naksu:
+ - bugfix: Pulled objects will now follow their puller across space transitions again
+ Robustin:
+ - bugfix: Fixed a bug that prevented the advanced blood rites (Halberd, Bolts, Beams)
+ from appearing when selected.
+ SpaceManiac:
+ - bugfix: Ventcrawlers in pipes now breathe from that pipe.
+ - bugfix: Deconstructing atmos components no longer breaks ventcrawl visuals.
+2018-03-23:
+ Fel:
+ - add: Slimes can now be crossbred by feeding them a number of slime extracts of
+ one type. Beware, it only produces one crossbred extract!
+ - experiment: The number of required extracts has been lowered to 10 since the testmerge,
+ but this number is up for potential change depending on balance consideration
+ in the future.
+ - wip: 'Currently available crossbreeds are accomplished by feeding any slime the
+ required amount of the following extract colors: Grey, orange, purple, blue,
+ metal, yellow, dark purple, silver, cerulean, and pyrite. Their relevant effects
+ will be added to the wiki page for xenobiology soon(TM), and more to come in
+ a later addition!'
+ - add: Slimes can be fed extracts one at a time, but if you start mutating it, you
+ can feed it extracts straight from a biobag! You can also use biobags to feed
+ a reproductive extract monkey cubes.
+ - add: Slimes in the process of being crossbred will reveal what modifier they will
+ gain from their current modification, as well as how many more extracts are
+ required, to slime scanners.
+ - tweak: The rainbow slime clusterblorble effect will now only use reagents that
+ the extract will be activated from, and will try any of these reagents! As a
+ bonus side effect, this means it has a 1.1% chance of spawning and activating
+ another clusterblorble effect.
+ Floyd / Qustinnus:
+ - bugfix: progression bar now takes the delay after co_efficent in account
+ - code_imp: removes do_after_speed from mob base, moves it into physiology
+ - code_imp: makes a do_after coefficiency proc
+ - balance: Changes rate of sanity drain and caps it depending on mood
+ Frozenguy5:
+ - rscdel: Reverted bad airlock sounds.
+ Naksu:
+ - tweak: the amount of simultaneous monkey cube-spawned monkeys has been restricted.
+ - server: the cap is adjustable via the mobs subsystem
+ SpaceManiac:
+ - bugfix: The cargo conveyor switches now properly control the belts on the shuttle
+ again.
+ - bugfix: Entering a frequency like 145.7 into a radio will now work, where 1457
+ was previously required.
+ TheMythicGhost:
+ - rscadd: 'New Integrated Circuit Converter Components: hsv2hex and rgb2hex for
+ smooth color transitions, woo!'
+ - imageadd: Added icons for the new component chips.
+ - rscadd: 'New Integrated Circuit Component: AI Vox Sound Circuit'
+ ninjanomnom:
+ - bugfix: You can no longer override shuttle areas with new or expanded areas from
+ elsewhere.
+2018-03-24:
+ Davidj361:
+ - bugfix: Ranged guardians in scout mode no longer are able to move out of their
+ master when recalled.
+ Denton:
+ - spellcheck: Fixed missing capitalization for craft menu items.
+ - bugfix: Air alarms no longer trigger atmospherics alarms when stimulum or hyper-noblium
+ are present. The allowed partial pressure of pluoxium has been increased as
+ well.
+ Robustin:
+ - tweak: The Security Techfab can now produce basic shotgun shell types and .38
+ ammo
+ ShizCalev:
+ - bugfix: Fixed a large number of missing APCs on Omegastation
+ - bugfix: Fixed unpowered Incinerator outlet injector on Omegastation.
+ - bugfix: Replaced glass window at Omegastation's incinerator with a plasma window.
+ - bugfix: Fixes broken atmos injectors on Omega
+ - bugfix: Fixes broken air outlet on Meta
+ - bugfix: Fixed a couple of malfunctioning atmospheric monitors across the rest
+ of the maps
+ - rscadd: New test atmos monitoring console debug verb to help alleviate future
+ issues.
+ YPOQ:
+ - bugfix: The imaginary friend trauma now works
+2018-03-28:
+ Davidj361:
+ - bugfix: Ocular Wardens now target buckled and cuffed players/mobs, unless they
+ are cuffed by a slab.
+ - tweak: Cuck cultists can cuff already sec-cuffed targets with their slab cuff
+ spell.
+ Dax Dupont:
+ - bugfix: You no longer hit borgs with hats you want them to wear.
+ - rscadd: Viva la borg, engieborgs can now wear hats
+ - rscadd: Borgs can now wear more hats.
+ - bugfix: After a space OSHA inspection you can now reach the safe and fire extinguisher
+ in the omega detective office.
+ - bugfix: Makes it so you don't accidently trigger the fun balloon twice.
+ Denton:
+ - tweak: Pubbystation's signs to evac have been made more obvious.
+ - tweak: Plastic flaps are now airtight.
+ - spellcheck: Bluespace crystals now show their proper name during machine construction.
+ EvilJackCarver:
+ - bugfix: Edited a certain part of the disco machine's dance to only target carbon-based
+ (mob/living/carbon) lifeforms. pAI units will no longer spam chat with rest
+ notifications when in range of the disco machine.
+ Frozenguy5:
+ - tweak: The monkeycap has been increased to 64.
+ JohnGinnane:
+ - rscadd: A guillotine has been added to the game. Can be crafted. If the blade
+ isn't dull, will cut through human necks like a hot knife through butter. Use
+ a whetstone to sharpen it if it becomes dull.
+ MrDoomBringer:
+ - imageadd: All stations have been outfitted with brand new Chem Masters! They have
+ nicer sprites now!
+ - bugfix: Fixed the description of the Cargo Express Console. Cargo Drop Pod orders
+ aren't double-priced any more!
+ Naksu:
+ - bugfix: Chem dispensers no longer take hours to recharge
+ - tweak: chem dispensers also now use energy from the grid in proportion with the
+ amount charged
+ - admin: Admins now get a follow link when a revenant spawns.
+ - admin: Admin hotkey help is now actually correct
+ Pipe fixes:
+ - bugfix: Runtime in components_base.dm,91 what cause atmos machinery connection
+ problems.
+ - bugfix: Pipes release air in turf on Destroy(), again.
+ - bugfix: Pipeline now cant be annihilated by merge(src). Pipes don't lose air on
+ connecting more than to one pipe.
+ Robustin:
+ - code_imp: Monkey AI is now much more efficient and no longer full of terrible,
+ wasteful processes
+ - tweak: Monkeys will now move more and will only focus on nearby objects for stealing.
+ This should result in more natural monkey behavior instead of the monkey staring
+ furiously at random shit in the room for 5 minutes until it has a 50 item blacklist
+ of shit it will refuse to touch from then on out.
+ - tweak: The chance for a monkey to attack you for pulling it will now only happen
+ when execute the initial grab, instead of a check that happens every tick.
+ ShizCalev:
+ - tweak: Cleaned up the preferences panel a bit to be a bit more user friendly.
+ SpaceManiac:
+ - bugfix: Unwrenching and re-placing directional signs now keeps their direction,
+ and backings may be rotated in-hand rather than by pulling.
+ Tacolizard Forever:
+ - bugfix: phobias will no longer recognize trigger words inside of other words
+ XDTM:
+ - rscadd: Bees (and similar swarming mobs) are now able to occupy the same tile
+ as other bees! When doing so, their icons are offset to make them seem like
+ a proper swarm.
+ - tweak: Bees will now dodge bullets not directly aimed at them. Why are you firing
+ guns at bees
+ - bugfix: Sniper rifles will no longer oneshot mechs (although they still deal high
+ damage).
+ - bugfix: Sniper rifles no longer knock down walls they hit.
+ Xhuis:
+ - rscadd: Added the Family Heirloom trait. This makes you spawn with a special object
+ on your person; if you don't have it with you, you will gain a mood debuff.
+ - rscadd: Added the Nyctophobia trait. This makes you walk slowly in complete darkness,
+ and gain a mood debuff from the fear!
+ - rscadd: Added the Monochromacy trait, which makes you perceive (almost) the entire
+ world in black-and-white.
+ - balance: Social Anxiety's trigger frequency is now correlated to the number of
+ people near you.
+ - bugfix: Slimepeople now transfer their roundstart traits when swapping bodies.
+ YPOQ:
+ - bugfix: Machine power will now update when moving from powered to unpowered areas
+ and vice versa.
+ iskyp:
+ - bugfix: night vision goggles no longer overwrite thermal eyes. nvg eyes no longer
+ overwrite thermal goggles.
+ selea:
+ - rscadd: a* pathfinder, coordinate pathfinder(accepts not ref to some obj, but
+ it's abs coordinates) ,turf pointer(can give you ref to turf with given coordinates),
+ turf scanner(can read letters on floor and contents of turf),material scaner(can
+ read amounts of materials in machinery),material manipulator(to load/unload
+ resources)
+ - tweak: now you can decide, if basic pathfinder should avoid obstacles, or not.Now
+ demux push only desired output without unnecessary nulls,upgraded claw and local
+ locator.
+ - balance: reduced complexity cost of locomotors,abs/rel converters and basic pathfinders.Increased
+ complexity of throwers,
+ - bugfix: Fixed bugs with cryptography, obstacle ref in locomotors, release pin
+ in pullng claw.
+ - refactor: add material tranfer proc to mat containers.refactored pathfinder SS
+ to have separated queue for mobs and circuits to avoid spam.
+ - tweak: Now recycler can butcher mobs and saw tree logs.
+ yorii:
+ - tweak: Science goggles can now detect reagents in grenades.
+2018-03-30:
+ Astatineguy12:
+ - bugfix: Ghosts of servants of Ratvar are no longer confined to Reebe like their
+ corporal counterparts.
+ Cruix:
+ - rscadd: Sentient diseases now have the "Secrete Infection" ability, which causes
+ anything touching the skin of the host they are currently following to become
+ infective, spreading their infection to anyone who touches it for the next 30
+ seconds.
+ Davidj361:
+ - bugfix: Removed health cost for Twisted Construction upon casting on a wrong object
+ - bugfix: Fixed table crafting not properly checking the surrounding area for tools.
+ - code_imp: Changed /datum/personal_crafting/proc/get_surroundings(mob/user) to
+ return 2 lists.
+ Denton:
+ - bugfix: 'Omegastation: Added advanced magboots to secure storage so that traitors
+ can complete the theft objective.'
+ ShizCalev:
+ - bugfix: Silicons no longer have to be directly adjacent to a chem master to dispense
+ pills.
+ - bugfix: Fixed an exploit involving chem dispensers not actually checking if there
+ was enough energy to dispense the target chemicals.
+ - bugfix: Fixed exploit where chem dispensers always worked even if they didn't
+ have power...
+ - bugfix: Booze & soda dispensers will no longer turn into chem dispensers when
+ screwdrivered
+ - bugfix: Fixed chem dispensers showing as powered on when screwdrivered opened.
+ - rscadd: Added an examine indication when the maintenance panel to chem/soda/booze
+ dispensers is open.
+ neersighted:
+ - admin: Re-juggled delete verb permissions
+ robbym:
+ - bugfix: Fixed an error with integrated circuit tickers where they would sometimes
+ fail to tick.
+2018-03-31:
+ Naksu:
+ - rscdel: Chameleon projectors will no longer work from inside transformations,
+ effects, mechas or machines. Effects that cause movement will no longer leave
+ sleepers in a bugged state where they can apply chems to you across distances.
diff --git a/html/changelogs/archive/2018-04.yml b/html/changelogs/archive/2018-04.yml
new file mode 100644
index 0000000000..c75868fd21
--- /dev/null
+++ b/html/changelogs/archive/2018-04.yml
@@ -0,0 +1,537 @@
+2018-04-01:
+ Davidj361:
+ - bugfix: Fixed cuffed prison shoes being taken off by dragging them into your hand.
+ Denton:
+ - balance: The singularity engine will now output enough energy to power a station
+ again.
+ - bugfix: 'Pubbystation: The bomb testing site cameras are now accessible by camera
+ consoles.'
+ - spellcheck: Bluespace polycrystals now show their name when inserted into machinery.
+ Kor:
+ - rscadd: The disco machine no longer has a fixed list of songs. It will instead
+ allow players to pick music from a config folder managed by the host and head
+ admins.
+ - rscadd: There is now a bartender jukebox variant of the disco machine that plays
+ music, but has no lights or dancing. This variant will be added the station
+ maps once the feature freeze is over.
+ Naksu:
+ - bugfix: Removed stray defines from maps, making roundstart atmos functional and
+ runtime-spam free again
+ robbym:
+ - bugfix: 'fixed by converting to absolute coordinates #36861'
+ - spellcheck: changed description from copypasta to correct description
+2018-04-02:
+ Davidj361:
+ - bugfix: Fixed 'vox_login' for AI VOX
+ - tweak: Made the AI VOX airhorn quieter to 25% of its original volume
+ GrayRachnid:
+ - bugfix: Fixes some crafting tooltips not displaying tool names properly.
+ MrDoomBringer:
+ - imageadd: roundend report button now has a lil icon
+ Naksu:
+ - bugfix: Removed some edge cases where atmospherics gas lists could continue holding
+ active gas items that can only transfer 0 gases to neighbors by making the garbage
+ collection clean them up.
+ RandomMarine:
+ - bugfix: The quick equip hotkey (e) now works for drones again.
+2018-04-03:
+ 81Denton:
+ - spellcheck: Nanotrasen's space entomology department is shocked to discover that
+ Mothpeople have surnames!
+ YPOQ:
+ - bugfix: Mannitol will now properly cure minor brain traumas
+ robbylm:
+ - bugfix: Fixes 0 value not being saved in constant memory circuits (#36860)
+2018-04-04:
+ Fludd12:
+ - rscadd: Burning ores now yields materials at a very reduced ratio! Lavaland roles
+ will now be able to construct things with enough effort.
+ JohnGinnane:
+ - bugfix: Fixed items sometimes being used on fullpacks when trying to insert
+ - bugfix: Fixed spray containers being used on open lockers and other containers
+ Naksu:
+ - bugfix: Fixed (dead) revenants being unable to deadchat or ahelp
+ - bugfix: Plasmamen that get converted into humans as a part of spawning as a protected
+ head role no longer retain their plasmaman equipment.
+ SailorDave:
+ - bugfix: Fixes virology Asphyxiation symptom activating too early and ignoring
+ transmission level.
+ ninjanomnom:
+ - bugfix: Shuttles have proper baseturfs now.
+ - bugfix: Mineral walls properly use their baseturfs when destroyed/drilled.
+ - rscadd: A new engineering goggle mode allows you to see the shuttle area you're
+ standing in.
+ - admin: Buildmode works a bit better with baseturfs now and can properly only remove
+ the top layer of turfs when editing. Note that as a result the order you place
+ turfs is important and a wall placed on space means when the wall is removed
+ there will be space underneath.
+2018-04-07:
+ Davidj361:
+ - tweak: Stacked sheets now have a cancel button when taking an amount from them.
+ Dax Dupont:
+ - bugfix: Fixes dead chat announcements not using real name.
+ Naksu:
+ - bugfix: Trash bin anchoring/unanchoring now gives you a small text blip about
+ what happened.
+ PKPenguin321:
+ - bugfix: Restored accidentally cut functionality to flashes. You can once again
+ attach them to a signaller and signal them to trigger an AoE flash remotely.
+ SailorDave:
+ - bugfix: Mixed blood samples preserve their cloneability for podpeople if the samples
+ are the same.
+ kevinz000:
+ - rscadd: AIs can now latejoin!
+ - rscadd: Latejoining AIs will be sent to a special deactivated AI core. This AI
+ core will spawn in the AI satellite chamber in place of an active AI if none
+ is there at roundstart. These cores can be deactivated with a multitool, and
+ moved around per usual, but not deconstructed. They can, however, be destroyed
+ per usual.
+ - rscadd: AIs can only latejoin if atleast one of these cores exists and is in a
+ valid area (Powered, on station, etc etc), and if the AI job slot isn't filled
+ already by a roundstart or latejoin AI.
+ - code_imp: A few code internal debugging features have been added to help debug
+ GC errors. QDEL_HINT_IFFAIL_FINDREFERENCE hint will make the garbage subsystem
+ find references if the build is in TESTING mode, and qdel_and_then_find_ref_if_fail(datum)
+ or calling qdel_then_if_fail_find_references will do the same.
+ robbym:
+ - bugfix: Fixes examiner circuit failing to pulse 'not scanned' when reference is
+ null (#36881)
+2018-04-08:
+ AnturK:
+ - tweak: Slime reflexes restored.
+ Dax Dupont:
+ - rscadd: Hugbox version of the VR sleeper you can't emag.
+ - admin: There's now two categorized vr landmarks for two teams for easy spawning.
+ You can also now rebuild/refresh all the VR spawnpoints by calling build_spawnpoints(1)
+ on any sleeper.
+ Naksu:
+ - admin: Admins can now access a new control panel for borgs via a new admin verb
+2018-04-09:
+ CosmicScientist:
+ - rscadd: Top Nanotrasen scientists have diagnosed two new phobias! Birds and chasms!
+ Good luck Chief Engineers and Miners.
+ Dax Dupont:
+ - admin: Removing notes now has an "Are you sure" dialog.
+ Denton:
+ - rscadd: Omegastation now has its own arrivals shuttle.
+ Mickyan:
+ - imageadd: Stinger, Grasshopper, Quadruple Sec, and Quintuple Sec have new sprites.
+ Naksu:
+ - code_imp: Fixed an heirloom trait-related runtime
+ - code_imp: Fixed an incorrect signature in MakeSlippery causing runtimes
+ SpironoZeppeli:
+ - rscadd: You can now wrench the supermatter shard
+ ninjanomnom:
+ - bugfix: The arena shuttle should be working again.
+ - bugfix: The escape pods now reach their proper destination at round end
+2018-04-11:
+ Davidj361:
+ - bugfix: Fixed paper bins dropping out of your hand or bag when grabbing a pen
+ or paper.
+ - bugfix: Paper bins not giving finger prints upon interaction.
+ - bugfix: Detective can now write notes onto his printed scanner reports.
+ - tweak: Detective scanner can have its logs erased via alt-click.
+ - tweak: Detective scanner can display logs via the action button.
+ Denton:
+ - bugfix: Added a missing intercom to the Delta arrivals shuttle.
+ ExcessiveUseOfCobblestone:
+ - code_imp: Uplink Items now have 2 separate probabilities. One for the syndicate
+ crate and one for cargo null crates. I encourage you to view uplink_items.dm
+ and make changes.
+ Robustin:
+ - balance: Hostile mobs capable of smashing structures will now smash their way
+ through dense objects too.
+ SpaceManiac:
+ - bugfix: The blindness overlay applied during cloning now properly stretches for
+ widescreen views.
+ - code_imp: Various macro consistency problems have been addressed.
+ YPOQ:
+ - bugfix: Eminences can hear clock cult chat again
+ george99g:
+ - bugfix: Suiciding will now deactivate all your genetics prescans.
+ iskyp:
+ - bugfix: makes dragnet non harmful
+ - tweak: pacifists can now use any disabler or stun setting on any energy gun
+ - code_imp: removed all of the pacifism check code from code/modules/mob/living/living.dm
+ - code_imp: gun objects no longer have a harmful variable, instead, ammo_casing
+ objects now have a harmful variable, which is by default set to TRUE
+ - code_imp: if a pacifist fires a gun, it checks whether or not the round chambered
+ is lethal, instead of whether or not the gun itself is lethal.
+ - code_imp: /obj/item/machinery/power/supermatter_shard is now /obj/item/machinery/power/supermatter_crystal/shard.
+ the crystal is the parent object.
+ neersighted:
+ - code_imp: Reduced lag by speeding up logs 10000%
+ - code_imp: Logs now include millisecond-level timestamps
+ pigeonsk:
+ - tweak: AI now requires silicon playtime instead of crew playtime for roundstart
+ role
+ selea:
+ - bugfix: fixed runtime in logic circuits, which was occured with invalid input
+ types.
+2018-04-12:
+ Cobby:
+ - bugfix: Fixes getting "emptystacks" (a stack with an amount of 0)
+ Dax Dupont:
+ - bugfix: Briefcase bluespace launch pads no longer work on the centcom Z level.
+ Dennok:
+ - rscadd: RPD can automaticaly wrench printed pipes to floor.
+ Denton:
+ - rscadd: Cargo can now order tesla coil crates for 2500 credits.
+ Garen:
+ - bugfix: Added missing parameter types to circuits.
+ - bugfix: Fixes two datatypes appearing for some input circuits.
+ - tweak: Logic circuits now output booleans rather than 1's and 0's, this is purely
+ cosmetic.
+ Naksu:
+ - bugfix: Warp whistle can no longer leave you stuck in an invisible state
+ The Dreamweaver:
+ - bugfix: The air around you grows cooler, as if what you once knew about atmospherics
+ has changed ever so slightly...
+ Xhuis:
+ - bugfix: Mood traits cannot be chosen if mood is disabled in the config.
+ ninjanomnom:
+ - rscadd: The SM has a guaranteed 30 second final countdown before delamination
+ now
+ - balance: The SM will take less damage from low pressure environments
+ - balance: The SM has a slightly reduced max damage per tick
+ - bugfix: Tiles placed on lavaland turfs should behave properly again.
+ pigeonsk:
+ - bugfix: When you wash your bloody hands they will no longer still look bloody
+ afterwards
+2018-04-13:
+ Dax Dupont:
+ - bugfix: SCP 194 now uses it's amount variable instead of a hardcoded number.
+ Dax Dupont & Naksu:
+ - bugfix: Toxin loving species won't take liver damage from toxins.
+ - bugfix: Liver now gets 0.01 damage per unit of toxin subtype reagent every 2 seconds
+ instead of 0.5. IE 30 units of whatever won't kill you within 10 seconds anymore.
+ - bugfix: Moved peacekeeper borg reagents to other_reagents so they don't do liver
+ damage and they aren't really toxins
+ - refactor: Renamed borg synthpax path to be more inline and put them next to the
+ other borg reagents.
+ Denton:
+ - tweak: Omegastation's supermatter crystal has been replaced with a smaller shard
+ that doesn't destroy the whole station on explosion.
+ Naksu:
+ - bugfix: Fixed KA upgrade applying on the minerborg
+ Putnam:
+ - tweak: rounded pi correctly
+ ninjanomnom:
+ - bugfix: Some strange baseturfs in lavaland structures and ruins should be fixed.
+ robbym:
+ - bugfix: Fixes tile analyzer circuit
+ - refactor: Cleaned up tile analyzer code
+2018-04-14:
+ JohnGinnane:
+ - rscadd: PDA messages you send are now displayed in the chat for your confirmation
+ Naksu:
+ - bugfix: SCP-294 can no longer be deconstructed.
+ kevinz000:
+ - rscadd: After a severe security breach occurred due to lazily configured Nanotrasen
+ Network DHCP servers where attackers were able to hijack every airlock connected
+ to the Nanotrasen Intranet, the Central Command engineering team reports that
+ they have properly configured network address servers to give out (relatively)
+ secure network IDs again. [NTNet addresses reverted to 16-hex format. they will
+ now be randomized across a ~billion trillion possibilities instead of being
+ 1-1000 every round for doors and stuff.]
+2018-04-15:
+ JohnGinnane:
+ - tweak: Reorganised circuit component controls within an assembly, so they appear
+ before the name of the component
+ Naksu:
+ - bugfix: Bluespace slime cookies can no longer be used to travel to CentCom
+ - bugfix: Borgs can no longer accidentally end up inside a cryo cell
+ - bugfix: Shoving someone inside a cryo cell now has a small delay unless they are
+ knocked down, stunned, sleeping or unconscious
+ - admin: Station borgs can no longer control the CentCom ferry.
+ - bugfix: Ghosts can no longer interact with the round via teleporter effects of
+ any kind
+ - tweak: His Grace can no longer be deep-fried
+ - bugfix: Passive gates can be interacted with in unpowered areas
+2018-04-16:
+ Dax Dupont:
+ - rscadd: Added get current logs button for admins
+ - refactor: Removed verbs that have been replaced by other things like the combohud
+ or ticket panel.
+ Naksu:
+ - tweak: Mining borgs and mining drones now have mesons and the engineering goggles'
+ meson mode also works in lavaland again.
+ SpaceManiac:
+ - bugfix: The on-body icon for ancient bio suits is no longer broken.
+ ninjanomnom:
+ - bugfix: The aux base properly loads in rather than leaving an empty room.
+ - bugfix: Admin loaded map templates can be designated as shuttles during the upload
+ process. Make sure to load them on space first.
+2018-04-17:
+ Dax Dupont:
+ - bugfix: Fixed martial arts/spell granters breaking on interrupt in final stage.
+ Naksu:
+ - balance: Welding tools now flash the user as the weld progresses, not just when
+ the welding is started.
+ - bugfix: CentCom officials will now properly display the objectives the admin has
+ assigned them.
+2018-04-20:
+ Astatineguy12:
+ - bugfix: Gygax construction now actually uses up the capacitor
+ Dax Dupont:
+ - bugfix: A cat is fine too. You can select cat parts again!
+ - bugfix: Default lizard tail was never properly defaulted, now it is.
+ - bugfix: Fixes an exploit where tendrils/other spawners/anchored mobs in general
+ could be buckled to things and thus moved around.
+ Denton:
+ - rscadd: Due to space OSHA lobbying, the Syndicate's lavaland base now contains
+ a radsuit and decontamination shower.
+ - bugfix: Suit storage units' suit/helmet compartments now accept non-spacesuit
+ clothing (radsuits, EOD suits, firesuits and so on).
+ Naksu:
+ - bugfix: Oingo-boingo punch-face and meteor shot can no longer move gateways or
+ Reebe servant blocker effects
+ - bugfix: Mechas piloted by servants of Ratvar now teleport to the servant side
+ of Reebe when entering a rift
+ - admin: Gravity generators can now be thrown in buildmode
+ ShizCalev:
+ - bugfix: Fixed a number of conveyor belts leading to the incorrect direction.
+ - bugfix: Fixed shuttle conveyor belts being out of sync with cargo's conveyors
+ on some maps.
+ SpaceManiac:
+ - bugfix: Cycle-linking is no longer permanently disabled for airlocks on shuttles.
+2018-04-21:
+ SailorDave:
+ - rscadd: A new manipulation circuit, the Seed Extractor. Extracts seeds from produce,
+ and outputs a list of the extracted seeds.
+ - rscadd: 'A new list circuit, the List Filter. Searches through a list for anything
+ matching the desired element and outputs two lists: one containing just the
+ matches, and the other with matches filtered out.'
+ - rscadd: A new list circuit, the Set circuit. Removes duplicate entries from a
+ list.
+ - tweak: The Plant Manipulation circuit can now plant seeds, and outputs a list
+ of harvested plants.
+ - tweak: Reagent circuits can now irrigate connected hydroponic trays and inject
+ blood samples into Replica pods.
+ - tweak: The Examiner circuit can now output worn items and other examined details
+ of carbon and silicon mobs into the description pin, as well as the occupied
+ turf of the scanned object, and can now scan turfs.
+ - tweak: The locomotion circuit now allows drones to move at base human speed, but
+ cannot be stacked, and assemblies can now open doors they have access to like
+ bots by bumping into them.
+ - bugfix: List Advanced Locator circuit now accepts refs as well as strings.
+ - bugfix: Fixed the Power Transmitter circuit not properly displaying a message
+ when activated.
+ - bugfix: Medical Analyzer circuit can now properly scan non-human mobs.
+2018-04-23:
+ Dax Dupont:
+ - rscadd: More stations have been outfitted with disk compartmentalizers.
+ - bugfix: Fixed a lack of feedback when entering too many points for the gulag.
+ - admin: Fuel tank logging now logs to both game and attack logs so it's more clear
+ from logs what caused the explosion in game log and added coords to the messages
+ as well.
+ - bugfix: Fixes toolbelts being able to hold everything.
+ Denton:
+ - tweak: Moved Deltastation's ORM so that all crew can access it.
+ - code_imp: Added multilayer subtypes for mapping.
+ Kor:
+ - rscadd: Changelings can now have an objective to have more genomes than any other
+ changeling, rather than a set target.
+ - rscadd: Changelings can now have an objective to absorb another changeling.
+ - rscadd: Changelings now get bonus genetic points for buying powers when they absorb
+ another changeling. Their chem storage cap will also be increased.
+ - rscadd: Changelings absorbed by other changelings will lose all their powers,
+ chems, and genetic points, making them unable to revive.
+ Naksu:
+ - code_imp: Performance tweaks to plant code
+ - bugfix: Spears, nullrods etc should no longer be invisible
+ Power Control Support:
+ - bugfix: What do you mean we accidentally routed the interaction back to the apc
+ control conso- oh for fleeps sake STEVE WHAT DID YOU DO!!
+ Rinoka:
+ - bugfix: phobias now actually make you fear things other than an apostrophe s.
+ Spoilsport:
+ - rscdel: Inducers and integrated circuits can no longer charge energised weapons.
+ iksyp:
+ - rscadd: the beer and soda dispenser now have their own circuitboards, as well
+ as design ids. you can unlock them through techwebs under the biotech node.
+ - bugfix: beer and soda dispensers can no longer be turned into chem dispensers
+ by deconstructing and reconstructing them.
+2018-04-24:
+ Dax Dupont:
+ - bugfix: Cargo scanner is no longer invisible.
+2018-04-25:
+ Barhandar:
+ - bugfix: Pubbystation's field generators have been offset to no longer bisect the
+ engine on roundstart setup.
+ Dax Dupont:
+ - rscadd: You can now research and construct radiation collectors.
+ - bugfix: Doors don't turn into Mike Pence when the shock wire is pulsed, only why
+ it's cut.
+ - admin: Logging and messaging for singularities now include the area and a jump
+ link to the location where it happened.
+ - admin: Improved messaging for blood contracts.
+ - admin: While the onus is on the admin, the ckey has been added to some of the
+ prompts so mistakes can be caught earlier in the middle of the process.
+ Denton:
+ - tweak: 'Nanotrasen''s materials science division reports: Coins and diamonds DO
+ blend!'
+ Mickyan:
+ - tweak: Potato Chips and Beef Jerky from food vendors now contain salt.
+ deathride58:
+ - bugfix: Stocks in the stock market no longer have spontaneous exponential spikes.
+2018-04-27:
+ Dax Dupont:
+ - balance: Experimentor now only outputs one clone.
+ - bugfix: Above change also fixes **an exploit** with loaded items getting cloned
+ after changing the loaded item and ejecting.
+ - bugfix: RPEDs will no longer display machine contents twice.
+ - bugfix: RPED can no longer hold everything.
+ - refactor: Moves all the logic for exchanging parts into the RPEDs instead of having
+ checks in every attack_by.
+ - rscadd: Clogged vents now scale like meteors.
+ - balance: Clogged vents got nerfed.
+ - bugfix: Buildmode toggle now checks for permissions so the hotkey can't bypass
+ it.
+ - admin: Press F10 for dsay prompt.
+ - admin: PDA explosions now have logging.
+ Denton:
+ - spellcheck: Fixed object descriptions and added missing ones - mostly to robotics
+ and RnD.
+ Fox McCloud:
+ - tweak: Removed acid requirement from basic network card and basic data disk
+ - tweak: grinding circuitboards no longer generates acid
+ Kor:
+ - rscadd: Added the Bureaucratic Error event, which replaces the overflow role with
+ a random job.
+ Mickyan:
+ - rscadd: 'New negative trait: Acute Blood Deficiency. Keep your slowly decreasing
+ blood level in check if you want to survive.'
+ MrDoomBringer:
+ - rscadd: Analyzers now show temperature in Kelvin as well as Celsuis
+ Naksu:
+ - code_imp: Inbounds subsystem, STATIONLOVING_2 and INFORM_ADMINS_ON_RELOCATE_2
+ flags are removed.
+ - code_imp: New stationloving component replaces all of this.
+ - code_imp: 'Added new signals: COMSIG_MOVABLE_Z_CHANGED is now sent when a movable
+ changes Z level, COMSIG_PARENT_PREQDELETED is sent before the object''s Destroy()
+ is called and allows interrupting the deletion, COMSIG_ITEM_IMBUE_SOUL is sent
+ when a wizard attempts to make a thing their phylactery'
+ - bugfix: slime pressurization potions are no longer consumed when attempting to
+ apply them on already-spaceproof clothing
+ ShizCalev:
+ - bugfix: Fixed AI units being able to manually fire unpowered/broken turrets.
+ - bugfix: Fixed traitor AIs being unable to place a robotics factory if they failed
+ to place it after the prompt.
+ - bugfix: Fixed mobs having no hands if they had prosthetic limbs
+ - bugfix: Fixed damage overlays disappearing from prosthetic limbs when a mob is
+ husked
+ - bugfix: Fixed ghosts not being able to see into bags
+ - bugfix: Fixed a number of chapel and morgue doors being high-security CENTCOM
+ variants. This was also triggering certain phobias.
+ - bugfix: Fixed the warning message for chameleon projectors when a mob is inside
+ a closet
+ - tweak: Improved the formatting of the round-end report for AI and robotic units
+ - spellcheck: Added a period to the end of point-at messages.
+ - bugfix: Fixed ghosts getting spammed by sounds when clicking on a jukebox.
+ - bugfix: Fixed a duplicate docking port on the aux base template which was causing
+ some errors
+ - bugfix: Fixed Gr3y.T1d3 virus bolting open the doors to the SM, causing delamination.
+ - bugfix: Fixed the cat butcher dropping incorrectly colored tails
+ - bugfix: Fixed being unable to add a cat tail to someone through surgery.
+ - bugfix: Fixed mass purrbation & the anime event failing to give people ears and
+ tails in some cases.
+ - bugfix: Fixed AI units being able to toggle turrets on and off when AI control
+ is disabled.
+ - bugfix: While it slight increases the cost of production, vanilla ice cream is
+ now actually made with real vanilla!
+ - bugfix: Fixed AI units being able to see lights through static.
+ - bugfix: Fixed securitron pathfinding icons being broken.
+ imsxz:
+ - bugfix: invulnerability exploit involving stable adamantine extract fixed
+ ninjanomnom:
+ - admin: You can now use alt click in advanced buildmode to to copy the targeted
+ object for placement with left click.
+ - rscadd: You can now see objects and turfs past the map edge borders.
+ - bugfix: Shuttles getting removed would occasionally causes issues. This has been
+ fixed.
+2018-04-28:
+ MMMiracles:
+ - rscadd: A jukebox can now be found in the bar of your respective station. Contact
+ Central about song suggestions to be added to the curated list!
+ Naksu:
+ - code_imp: clothing-specific flags are now defined in /obj/item/clothing.clothing_flags
+ PKPenguin321:
+ - balance: The changeling "Spiders" power now requires absorptions gained through
+ the actual Absorb ability, rather than DNA from DNA sting. To compensate, it
+ now only requires 3 absorptions, down from 5.
+ ShizCalev:
+ - bugfix: Fixed a good number of missing icons.
+ as334:
+ - rscadd: Fusion is back
+ - rscadd: Fusion now happens with large quantities of hot plasma and CO2, consuming
+ all the plasma rapidly and producing large amounts of energy. Other gases can
+ also effect the performance of the reaction.
+ - rscadd: Fusion now produces radiation. Be careful around reactors.
+ - bugfix: fixes fusion dividing by zero and destroying everything
+ - code_imp: Gas reactions now have access to where they are occurring
+ - bugfix: Prevents some other reactions from producing matter from nothing
+ kevinz000:
+ - rscadd: Circuit ntnet components buffed. Added a new low level ntnet component
+ that can send custom data instead of just the two plaintext and one passkey
+ format, which things will use by default. Ntnet now uses a list for their data
+ instead of three variables. they also have lowered complexity for the now weakened
+ normal network component, and has lower cooldowns.
+ pigeonsk:
+ - bugfix: The faint echoes of maracas grows louder, as if a past spirit once forgotten
+ has come back with a vengeance...
+2018-04-29:
+ Naksu:
+ - bugfix: Wearing a bucket no longer connects your head to the vacuum of space
+ oranges:
+ - rscdel: Pet collars can no longer be equipped on humans
+2018-04-30:
+ Dax Dupont:
+ - balance: Adds a cooldown to PDA send to all messages.
+ - bugfix: Last sent message cooldown actually works now.
+ - tweak: More reagents in the clogged vents event.
+ Denton:
+ - rscadd: Added more holoprojectors to techwebs (security, engineering and atmos).
+ Erwgd:
+ - rscadd: Limb growers can now create limbs for flypeople and mothmen.
+ Evsey9:
+ - balance: Integrated Circuit weapon mechanisms now work only when outside of any
+ containers and hands, due to reports of severe injury caused by activating them
+ while still holding them.
+ Garen:
+ - imageadd: added inhands for teleprods.
+ JJRcop:
+ - bugfix: Integrated circuits can no longer throw themselves.
+ Jalleo:
+ - bugfix: a certain exploit that can occur in regards to creating certain items
+ in a particular manner
+ - tweak: readds emitter field generator and rad collector wrenching times. Someone
+ override it when adding the wrench_act.
+ Mickyan:
+ - tweak: You can now see how well fed you are by self-inspecting.
+ Naksu:
+ - code_imp: More flags have been moved to their appropriate places
+ - code_imp: HEALS_EARS_2 is removed in favor of the earhealing component
+ - code_imp: wearertargeting component is available to subtype for components that
+ want to target the wearer of an item rather than the item itself
+ ShizCalev:
+ - bugfix: Glass stacks will now properly delete when exploded.
+ - bugfix: Fixed attacking someone with a bikehorn not triggering the correct mood
+ event.
+ YakumoChen:
+ - tweak: Nanotrasen has once again shipped BZ to its nearby stations. Check your
+ local Xenobiology lab for your shipment.
+ - tweak: Nanotrasen would like to remind you that BZ is meant for keeping slimes
+ from moving or getting hungry. It is not for human use and may lead to hallucinations.
+ Always practice workplace safety when handling dangerous gasses!
+ george99g:
+ - bugfix: Committing suicide will now stop you from being cloned via prescans.
+ iksyp:
+ - tweak: pacifists can now use .50BMG Soporific Rounds
+ ninjanomnom:
+ - bugfix: Caravan ambush shuttles have been templated to fit the new system and
+ can fly again.
+ pigeonsk:
+ - bugfix: Large stacks of plastitanium now display properly
+ - rscadd: You can now get traditional sake and get a first-hand taste of a superior
+ culture. Have I told you about my katana and my trip to-
diff --git a/html/changelogs/archive/2018-05.yml b/html/changelogs/archive/2018-05.yml
new file mode 100644
index 0000000000..a3f5729b9d
--- /dev/null
+++ b/html/changelogs/archive/2018-05.yml
@@ -0,0 +1,570 @@
+2018-05-01:
+ BuffEngineering:
+ - bugfix: Nanotrasen has graciously connected the port bow solar's SMES to the main
+ grid.
+ Denton:
+ - rscadd: You can now craft and disassemble HUDsunglasses! Check out the clothing
+ section of the crafting menu.
+ - tweak: Cargo packs have been reorganized to shrink the big engineering, food&livestock
+ and misc categories.
+ NewSta:
+ - rscadd: 'Added 5 new drinks: Alexander, Between the Sheets, Kamikaze, Mojito and
+ Sidecar.'
+ - rscadd: Added Menthol and Sake to the drink dispensers.
+ Ordonis, Denton:
+ - rscadd: OH YEAH BROTHER! The H.O.G.A.N. AI module has a chance to spawn at the
+ AI upload.
+ SpaceManiac:
+ - bugfix: The button in the mech interface to terminate maintenace protocol no longer
+ reads "Initiate maintenace protocol".
+ - bugfix: Boxes now fit inside storage implants again.
+ XDTM:
+ - balance: Small, constant ticks of brain damage are now less likely to cause traumas.
+ deathride58:
+ - bugfix: Fixed the intergalactic stock market crash. The speculation/performance
+ modifier has been removed completely.
+2018-05-04:
+ Cobby (Stolen from GrayRachnid):
+ - tweak: The processor has now been generalized techweb-wise into the "food/slime
+ processor".
+ - rscadd: The processor can now be made by Science.
+ Dax Dupont:
+ - balance: After successful lobbying by the Space Ancap Federation ammo is no longer
+ free. Material redemption cost is now determined by the amount of bullets left.
+ - balance: .38 ammo is now cheaper to produce.
+ - balance: Casings now give a little bit of metal. mostly for immersion sake.
+ Denton:
+ - bugfix: Runtimestation's RnD machinery is now up to date.
+ Fox McCloud:
+ - bugfix: Fixes recycler not recycling bluespace and plastic objects
+ - bugfix: Fixes objects with material components always showing their materials
+ on examine
+ Garen:
+ - bugfix: Removes unintentional pins from the constant circuit.
+ Hyacinth:
+ - rscadd: Grenadine is now available in the bar!
+ - tweak: Tequila sunrises now require grenadine to make!
+ Mickyan:
+ - bugfix: Our suppliers assure us that Midori Tabako cigarettes will actually contain
+ tobacco from now on.
+ Naksu:
+ - code_imp: APC code is slightly less shit.
+ - tweak: APC cells can be removed with a crowbar
+ Onule!:
+ - rscadd: Plasmaman liver and stomach crystals!
+ Poetic_Iron:
+ - spellcheck: Fixed 'Tequila Sunrise' naming from 'tequila Sunrise'.
+ SpaceManiac:
+ - code_imp: The commit hashes shown in Show Server Revision are now long enough
+ to autolink when copied into issue reports.
+ Spellbooks Take 2:
+ - imageadd: Magical Spellbooks are now animated.
+ Tlaltecuhtli:
+ - tweak: medbeams heal tox and oxy slighty
+ pigeonsk:
+ - rscdel: After an internal audit and review Nanotrasen has decided that stock financing
+ at the station-level makes no logistical nor managerial sense. Stations, and
+ their cargo departments, may no longer play the stock market.
+2018-05-06:
+ Dax Dupont:
+ - bugfix: Rhumba beat now stops processing while dead.
+ Denton:
+ - bugfix: The Donksoft vendor board got lost during the techwebs transition and
+ has been re-added under the illegal technology node.
+ Garen:
+ - tweak: Grilles must take damage to produce tesla shocks.
+ Naksu:
+ - bugfix: APCs are closed with crowbars properly again. Screwdrivers can now be
+ used by borgs to pop out the cell instead of crowbars
+ SpaceManiac:
+ - bugfix: The top-left menus (icon scaling, ghost preferences, etc.) now work again.
+ Xhuis:
+ - tweak: Character traits are now called character quirks. Functionality remains
+ unaffected.
+ deathride58:
+ - rscadd: If the nuke disk stays still for long enough, the lone operative event
+ will enter the random event rotation. The longer the nuke disk stays still,
+ the more likely the lone operative event will trigger.
+2018-05-08:
+ cacogen and nicbn:
+ - tweak: You can now select RPD modes individually.
+ - tweak: RPD autowrenching is now a tgui action rather than an Alt Click option.
+ deathride58:
+ - rscadd: Added ambient occlusion. You can toggle this on or off in the game preferences
+ menu.
+2018-05-09:
+ Firecage & Bluespace:
+ - balance: Replaces the Roman Shield and Roman helmets in the Autodrobe with fake
+ versions with neither block chance nor armour values.
+ PKPenguin321:
+ - rscadd: There are now two new variants of the concatenator integrated circuit.
+ Small, which only takes 4 inputs, and large, which takes 16. Small uses 50%
+ less complexity, large uses 50% more.
+ - rscadd: There's a new string length circuit, which simply returns the length of
+ a given string.
+ - rscadd: There's a new indexer circuit, which takes a string and an index and returns
+ the character found at the index of the given string.
+ - tweak: The find text integrated circuit now has two new pulse outs, one that runs
+ when it finds the text and one that runs when it does not.
+ - tweak: Leaving the delimiter in the explode text circuit null will now return
+ all of the input string's characters in a list.
+2018-05-10:
+ Dax Dupont:
+ - bugfix: The singularity spawned by the arcade orion tale meme will disappear as
+ intended.
+ Kor:
+ - rscadd: Science may now research reactive armour shells, which create different
+ armours when combined with different anomaly cores. They are constructable from
+ the Research and Engineering lathes.
+ Ordo:
+ - rscadd: Adds a french beret to the mime. Steal it from him to learn French! Sort
+ of. HONH HONH HONH.
+ SpaceManiac:
+ - refactor: Large groups of PNG assets are now transmitted in spritesheets, greatly
+ improving load times.
+ - tweak: The access denied message when entering a mech now distinguishes between
+ DNA lock and ID requirements.
+ - bugfix: Removing an ID card from a wallet now properly removes its visual and
+ accesses.
+ Tlaltecuhtli:
+ - bugfix: the default bulldog shotgun ammo makes sense now
+ - bugfix: fixes a possible money exploit
+ YPOQ:
+ - bugfix: Anomalies can be disabled with signalers again
+2018-05-13:
+ Alexch2:
+ - bugfix: Large crates no longer behave like lockers. They no longer open into invisible
+ sprites when damaged, interacted with, when "toggle open" is used, or when non-crowbar
+ items are used on them.
+ Ausops and Qbopper:
+ - rscadd: Added security jumpskirts - snag one from a security wardrobe locker.
+ Cobby:
+ - bugfix: Beds will now properly save you from floor is lava, but only if you buckle
+ to them
+ Cyberboss:
+ - tweak: You may now take unlimited neutral and negative quirks
+ Denton:
+ - bugfix: Runtimestation's RTGs are now connected to the powernet.
+ - code_imp: Added chem_dispenser/fullupgrade as well as chem_synthesizer for testing.
+ - tweak: Replaced runtimestation's two chem dispensers with those subtypes.
+ - spellcheck: Did you know that you can use a screwdriver on the ChemMaster board?
+ Now you do.
+ Frozenguy5:
+ - tweak: You can now make plasma reinforced glass at the ORM.
+ - tweak: Titanium glass is now worth 0.5 titanium + 1 glass. Plastitanium glass
+ is now worth 0.5 titanium + 0.5 plasma + 1 glass. Therefore these glass sheets
+ are cheaper to make.
+ Iamgoofball:
+ - bugfix: Family Heirlooms now properly show you where they are stored if they spawn
+ in a bag.
+ Mickyan:
+ - tweak: Gauze can be deconstructed into cloth using wirecutters.
+ Naksu:
+ - rscdel: Fusion has been removed for pressing ceremonial reasons, and also because
+ it crashes the server
+ Tlaltecuhtli:
+ - bugfix: 50% of the corgis bought are now male
+ XDTM:
+ - tweak: Teleporters linked to other teleporters now teleport into the other teleporter's
+ hub, instead of the power station.
+ - bugfix: Teleporters now no longer consume power if teleportation fails.
+ YPOQ:
+ - bugfix: Fixed items stacks sometimes having the wrong amount if created on another
+ stack
+ - bugfix: Constructing light tiles no longer uses two sheets of metal
+ - bugfix: Gorillas have hands slots again
+ - bugfix: The paddle/nozzles of defibs, backpack water tanks, and gatling lasers
+ work again
+ - bugfix: You can honk people with bike horns again
+2018-05-14:
+ Barhandar:
+ - rscadd: Amount of goliath plates is now shown in examine for explorer suits and
+ mining hardsuits.
+ Dax Dupont:
+ - rscadd: You can now swap disks in the plant manipulator.
+ JStheguy:
+ - imageadd: Vending machines now have more complex shading and are rigged with next-gen
+ flickering technology, a couple have either a partial or complete facelift.
+ Maintenance panel overlays have been fixed on machines where they were seemingly
+ left unchanged when the switch to 3/4ths was made.
+ - imageadd: Burger buns are bigger and more detailed.
+ - imageadd: Donuts have been totally redrawn.
+ SpaceManiac:
+ - admin: Admin-healing someone will now rejuvenate their mood as well.
+2018-05-15:
+ Dax Dupont:
+ - bugfix: Fixes missing curator hud icon.
+ Denton:
+ - tweak: Engi-Vend machines now contain fire alarm and firelock electronics!
+ - code_imp: Loose tech storage circuit boards have been replaced with spawners.
+ - rscadd: APC/air alarm/airlock/fire alarm/firelock electronics are now available
+ once Industrial Engineering is researched..
+2018-05-16:
+ Dax Dupont:
+ - balance: Cult items will no longer be a long ride on the vomit coaster if picked
+ up by a non cultist.
+2018-05-17:
+ Dax Dupont:
+ - balance: Cult space bases are kill again.
+ - balance: Cult floors now pass gas.
+ - bugfix: Fixed a few things deconning into the wrong circuit.
+ - bugfix: You can no longer do infinite bioware surgery.
+ - rscadd: Added the MURDERDOME VR player versus player combat arena, filled with
+ the most powerful weapons Centcom could think of to murder each other peacefully.
+ Contact your nearest vendors for VR sleepers.
+ - tweak: VR landmarks now accept outfits.
+ - tweak: VR Sleepers can now be constructed and researched.
+ - tweak: VR Sleepers now respond to mouse drops like sleepers!
+ - bugfix: VR sleepers no longer close or open inappropriately.
+ Denton:
+ - code_imp: Added /syndicate subtypes for air alarms and APCs.
+ - bugfix: Added missing stock parts to the syndicate lavaland base.
+ - tweak: Added kitchen related circuit boards to the syndie lavaland base.
+ Dimmadunk:
+ - rscadd: 'There''s a new type of reagent added to the booze dispenser: Fernet.
+ With it you can make a couple of new digestif drinks that will help you reduce
+ excess fat!'
+ Garen:
+ - rscadd: Thrower and Gun circuits put messages in chat when they're used.
+ - tweak: Only the gun assembly can throw/shoot while in hand
+ - imageadd: Adds inhands for the gun assembly
+ - bugfix: grabber inventories update when a thrower takes from them
+ Pubby:
+ - tweak: PubbyStation has been updated. You can now be the lawyer.
+ ShizCalev:
+ - bugfix: Adminorazine will no longer kill ash lizards.
+ - bugfix: Adminorazine will no longer remove quirks.
+ iskyp:
+ - tweak: the walls on the crashed abductor ship ruin in lavaland can now be broken
+ down
+2018-05-18:
+ GrayRachnid:
+ - rscadd: The Spider Clan proudly announces that they've taken steps to improve
+ their hospitality at their capture center! They now hope that captured targets
+ would not kill them self or fight between each other, dirtying the floor with
+ blood.
+ - rscadd: They've also added a VR room for those sick of the real world, taking
+ them to a reality where they feel like they matter.
+2018-05-19:
+ Alexch2:
+ - spellcheck: Fixes tons of typos related to integrated circuits.
+ - tweak: Re-writes the descriptions of a few parts of integrated circuits.
+ Astatineguy12:
+ - tweak: The experimentor is less likely to produce food when it transforms an item
+ - bugfix: The experimentor no longer breaks when the toxic waste malfunction occurs
+ multiple times and isn't cleaned up
+ - bugfix: The experimentor irridiate function actually chooses what item to make
+ properly rather than picking from the start of the list
+ Dax Dupont:
+ - bugfix: Mulligan didn't work on lizards and other mutants. Now it does.
+ - bugfix: Foam no longer gives infinite metal
+ Denton:
+ - code_imp: Loose silver/gold/solar panel crates have been replaced with "proper"
+ crates.
+ - tweak: There are rumors of the Tiger Cooperative adding a "special little something"
+ to some of their bioterror kits.
+ Iamgoofball:
+ - tweak: Lipolicide now only does damage if you're starving.
+ Mickyan:
+ - bugfix: Drinking too much Gargle Blaster, Nuka Cola or Neurotoxin no longer breaks
+ time and space.
+ Nichlas0010:
+ - tweak: Reseach Director Traitors can no longer receive an objective to steal the
+ Hand Teleporter
+ ShizCalev:
+ - bugfix: Fixed mobs immune to radiation being killed by HIGH bursts of radiation.
+ - bugfix: The book of mindswap will now properly mindswap it's users.
+ iksyp:
+ - rscadd: stacking machines and their consoles no longer dissapear into the shadow
+ realm when broken
+ - rscadd: you can link the stacking machine and its console by using a multitool
+2018-05-20:
+ Pubby:
+ - rscadd: 'Cargo bounties from Nanotrasen. Earn cargo points by completing fetch
+ quests. remove: Several cargo exports have been reduced or merged into cargo
+ bounties.'
+ XDTM:
+ - rscadd: 'Added a new lavaland loot item: Memento Mori. A necklace which has the
+ power to prevent death, but will turn you into dust if removed.'
+2018-05-22:
+ Cyberboss:
+ - rscadd: You can now view your last round end report window with the "Your last
+ round" verb in the OOC tab
+ Dax Dupont:
+ - tweak: The BoH dialog now has Abort instead of Proceed as an default option.
+ - bugfix: Fixes race condition caused by exiting the body while dying in VR.
+ Denton:
+ - balance: Skewium is much less likely to appear during the Clogged Vents event.
+ Firecage:
+ - rscadd: Replaces wardrobe lockers on Box with Wardrobe Vending Machine.
+ Kor:
+ - rscadd: Engineering can now create anomaly neutralizer devices, capable of instantly
+ neutralizing the short lived anomalies created by the supermatter engine.
+ - rscadd: The Quartermaster and HoP can now access the vault so they can use the
+ bank machine.
+ Mickyan:
+ - bugfix: Pacifists can now use harm intent for actions that require it (but still
+ can't harm!)
+ Naksu:
+ - code_imp: Added EMP protection component, replaced various bespoke ways things
+ handled EMP proofness
+ Nichlas0010:
+ - spellcheck: you now feel nauseated instead of nauseous
+ - bugfix: Comms consoles won't update while viewing messages
+ SpaceManiac:
+ - bugfix: Pipe icons in the RPD now show properly in older versions of IE.
+ - bugfix: Family heirlooms which can fit in pockets will now spawn there.
+ - bugfix: Family heirlooms which only fit in the backpack now show the backpack
+ at roundstart.
+ - bugfix: Family heirlooms which do not fit in the backpack are no longer gone forever.
+ - bugfix: Mindswapping with someone else no longer forces ambient occlusion on.
+ - code_imp: IRV polls now use the same version of jQuery as everything else.
+ - bugfix: Hydroponics trays can no longer be deconstructed with their panels closed
+ or unanchored while irrigated.
+ - tweak: Frames for machines which do not require being anchored can now be un/anchored
+ after the circuit has been added.
+ - bugfix: Removing an ID from a PDA in a backpack no longer hides the ID until something
+ else updates.
+ - bugfix: Opening and closing airlocks repeatedly no longer stacks queued autocloses.
+ - bugfix: Admin AI interaction now works properly on firelocks.
+ - spellcheck: Fix "Your the wormhole jaunter" when a wormhole jaunter saves you
+ from a chasm.
+ Wilchen:
+ - rscdel: Removed box of firing pins from rd's locker
+ armhulen:
+ - rscdel: chameleon guns are disabled for breaking the server
+ kevinz000:
+ - bugfix: Field generators are once again operable by adjacent cyborgs.
+ - bugfix: Digital valves are once again operable by silicons.
+ - bugfix: Chasms no longer drop mobs buckled to undroppable mobs or objects.
+ resistor:
+ - rscadd: Added circuit labels! You can now customize the description of your assemblies.
+2018-05-23:
+ ShizCalev:
+ - bugfix: Fixed a runtime with the gulag teleporter that could cause the process
+ to fail if you removed the ID.
+ - tweak: Not setting the goal of a prisoner's ID when teleporting them will now
+ set the ID's goal to the default value (200 points at the time of this change.)
+ SpaceManiac:
+ - bugfix: Flipping and then rotating trinary pipe fittings no longer causes their
+ icon to mismatch what they will become when wrenched.
+ - bugfix: RPD tooltips for flippable trinary components have been corrected.
+ - bugfix: Entertainment monitors now view the real Thunderdome rather than the template.
+ cyclowns:
+ - rscadd: Analyzers can now scan all kinds of atmospheric machinery - unary, binary,
+ ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers,
+ vents and so forth can be analyzed.
+ - tweak: Analyzers now show temperature in kelvin as well as celsius.
+ - tweak: Analyzers now show total mole count, volume, and mole count of all gases.
+ - tweak: Analyzers show everything at slightly higher degrees of precision.
+ imsxz:
+ - admin: Using mayhem bottles and going under their effects is now logged.
+ kevinz000:
+ - rscadd: Any anomaly core can now be deconstructed for a one time boost of 10k
+ points in the deconstructive analyzer.
+2018-05-25:
+ Astatineguy12:
+ - bugfix: The mime blockade spell now shows up under the right tab
+ Cruix:
+ - rscadd: Added a button to chameleon items to change your entire chameleon outfit
+ to the standard outfit of a selected job.
+ Dax Dupont:
+ - rscadd: Murderdome now has a telecomm system, so you can taunt your enemies better.
+ - rscadd: Snowdin has come back, as VR!
+ - rscadd: Nanotrasen Tactical Bureau has discovered a Syndicate VR Training program
+ on their last raid. It seems to be based on an old CentCom design...
+ - rscadd: Restricted variant of the uplink. Will allow admins and such to spawn
+ uplinks in remote arenas or for events that aren't as destructive and can't
+ communicate with other Zs.
+ - bugfix: Extends same Z level check to monitor and bugging operations too for camera
+ bug.
+ - bugfix: VR sleepers now show the stat of the VR avatar instead of the user as
+ intended.
+ - code_imp: Makes it throw a stack trace when you ghostize in VR.
+ - tweak: It will now delete the body if it's unconscious if you try to reconnect,
+ to speed up reconnection.
+ - balance: Emagged sleepers will now display a notification on the UI, and make
+ you slightly dizzy after a while.
+ - balance: More chemicals can be found when vents get clogged.
+ - bugfix: Fixes accidental empty ahelp replies.
+ Denton:
+ - rscadd: Departmental wardrobe vendors have been added to all maps.
+ - spellcheck: Sorted cargo packs (wardrobe refills//alphabetically) and mining vendor
+ items (by price), again.
+ - bugfix: 'Navbeacon access requirements have been fixed: Now you need either Engineering
+ or Robotics access, but not both at the same time.'
+ Garen:
+ - rscdel: Removed circuitry save files saving whether or not the assembly is open.
+ - rscadd: Adds messages for when you successfully use a sensor or scanner circuit.
+ - bugfix: Fixed circuit printers printing advanced assemblies from save files despite
+ not being upgraded.
+ - bugfix: Fixed circuit printers printing circuits into assemblies that wouldn't
+ normally be able to hold them.
+ - bugfix: Fixed circuit assemblies taking damage when using objects with the help
+ intent.
+ Mickyan:
+ - spellcheck: fixed typo in bronze girder construction
+ MrDoomBringer:
+ - rscadd: Cargo now has access to Supplypod Beacons! Use these to call down supplypods
+ with frightening accuracy!
+ - imageadd: the VR sleeper action button has a sprite now
+ Naksu:
+ - code_imp: Replaced initialized and admin_spawned vars with flags.
+ - code_imp: changed the shockedby list on doors to be only initialized when needed.
+ - tweak: Chameleon projector can no longer scan (often temporary) visual effects
+ like projectiles, flashes and the masked appearance of another chameleon projector
+ user
+ - bugfix: Drones can no longer see a static overlay over invisible revenants
+ - balance: adjusted default antag rep points to grant every job the same amount
+ of points per round, except for assistant which gets 30% less
+ SpaceManiac:
+ - bugfix: Non-harmfully placing someone who is resting on a table no longer makes
+ them get up.
+ - bugfix: The disco machine no longer lags the chat by spamming "You are now resting!"
+ messages.
+ - bugfix: The green overlay indicating where a map template will be placed is no
+ longer invisible on space turfs.
+ - bugfix: CentCom is no longer self-looping, fixing the ability to see or get into
+ certain areas after escaping to space.
+ - bugfix: The destructive analyzer no longer consumes entire stacks to give the
+ benefit of one sheet.
+ - bugfix: Xeno weeds and floors under diagonal walls are now on the correct plane,
+ fixing odd ambient occlusion appearances.
+ - bugfix: Inserting materials into protolathes with telekinesis is now possible.
+ - bugfix: Telekinesis no longer teleports items removed from deep fryers, constructed
+ sandbags, and leftover materials not inserted into lathes.
+ - bugfix: Telekinetic sparkles now appear in the correct place when clicking on
+ a turf and when clicking in the fog of war in widescreen.
+ - bugfix: Telekinetically adjusting power tools no longer causes them to exit the
+ universe.
+ - tweak: Examining a telekinetic grab in-hand will now examine the grabbed object.
+ - bugfix: Frost spiders now correctly inject frost oil on bite.
+ yorii:
+ - bugfix: Fixed the smartfridges to be in line with all other machines and puts
+ the released item in your hand.
+2018-05-26:
+ Dax Dupont:
+ - bugfix: Experimentor no longer shits out primed TB nades.
+ Garen:
+ - rscadd: Added a cell charger to the circuitry lab on all stations.
+ - rscadd: Added a circuitry lab to the syndicate lavaland base.
+ - tweak: Modified the meta station circuitry lab.
+ Iamgoofball:
+ - rscadd: Humans require ice cream. Eat the ice cream.
+ Kor:
+ - rscadd: Bag of Holding detonations have been significantly reworked.
+ Robustin with cat earrs:
+ - bugfix: 'Gun overlays should be way less laggy now. remove: Chameleon guns are
+ completely removed since they crash the server, were already made unavailable,
+ and are the worst shitcode I''ve ever seen in my life.'
+ SpaceManiac:
+ - tweak: Clicking on the viewport to focus it no longer leaves the input bar red.
+ - admin: Create Object will no longer force objects with special directional logic
+ to be facing south by default.
+ - bugfix: Running diagonally into space now properly continues the diagonal movement
+ in zero-gravity.
+2018-05-27:
+ Armhulen, and Keekenox:
+ - rscadd: Chaplain now gets custom armor too! Order it from the beacon in your locker.
+ Cobby:
+ - tweak: Several of the recent drinks added have now been given effects!
+ - rscadd: 'Alexander: Conquer the world... or just the station with this drink!
+ If you have a shield, it will increase the block chance by 10 percent! Careful
+ not to drop it in battle though....'
+ - rscadd: 'Between The Sheets: Save the pillow talk for next shift, having this
+ in your system while you''re asleep will slowly heal you!'
+ - rscadd: 'Menthol: Prevents coughing. Good for a cold or if the Chaplain gets his
+ hands on a smoke book!'
+ - tweak: Descriptions have been edited so that if you view these under a chem master
+ they will tell you the effect.
+ - tweak: Decals are the exception to the recent removal of effects in Chameleon
+ Projectors.
+ Dax Dupont:
+ - bugfix: Did you know istype doesn't work on paths even though they are mostly
+ the same? Yeah I didn't either. Experimentor shouldn't shit out TB nades anymore.
+ - bugfix: Fixes item reactions for relics as well.
+ - rscadd: Adds better messaging
+ - bugfix: Fixes summons happening on away missions.
+ GuyonBroadway:
+ - rscadd: Adds gloves of the north star to the traitor uplink. Wearing these gloves
+ lets you punch people five times faster than normal.
+ - rscadd: Sprites for the gloves courtesy of Notamaniac
+ Mickyan:
+ - rscadd: 'New trait: Drunken Resilience. You may be a drunken wreck but at least
+ you''re healthy. If alcohol poisoning doesn''t get you, that is!'
+ Naksu:
+ - rscadd: Nuclear explosive-shaped beerkegs found on metastation can now be triggered
+ with the nuclear disk and the syndicate's legacy nuclear code for a foamy surprise
+ SpaceManiac:
+ - bugfix: Unwrenching and re-wrenching pre-mapped atmos components no longer turns
+ them on automatically.
+ steamport:
+ - bugfix: Borgs/AIs can now toggle rad collectors
+2018-05-28:
+ CitrusGender:
+ - bugfix: Kills you if you're under 0% blood and above -9999% blood level (shouldn't
+ be possible through normal means to be below that.)
+ - bugfix: Stops bloodloss trait from happening if your race contains the NO_BLOOD
+ - bugfix: added a check to see if the preferred race is human when the name doesn't
+ have a space
+ Dennok:
+ - bugfix: Fixed a laser reflections from reflectors.
+ Denton:
+ - tweak: Deltastation's firing range has been decommisioned and replaced with a
+ brand new toxins burn chamber.
+ - bugfix: Delta toxins disposals are now actually connected to the disposals loop.
+ Toxins storage has a fire alarm too.
+ - bugfix: The shutter buttons of Pubbystation's mechbay now check for access.
+ SpaceManiac:
+ - bugfix: The robustness of the Super Secret Room has been increased.
+ - bugfix: Observers can no longer move the action button toggle or change the ambient
+ occlusion setting of their targets.
+ - bugfix: The emergency space suit safes in escape pods are no longer always unlocked.
+ Tlaltecuhtli:
+ - bugfix: apiaries from cargo start unwrenched
+2018-05-29:
+ Dennok:
+ - rscadd: Collectors show their real produced power and stored power when examined
+ Naksu:
+ - code_imp: removed some unneeded typecaches
+2018-05-31:
+ CitrusGender:
+ - bugfix: Flamethrowers are no longer uncraftable since they have a part that happens
+ to be a tool.
+ - bugfix: Fixes cyborgs not being able to use two-handed modules while other modules
+ are equipped.
+ CosmicScientist:
+ - rscdel: Can't make drones anymore
+ Cruix:
+ - rscadd: AIs now have an experimental multi-camera mode that allows them to view
+ up to six map areas at the same time, accessible through two new buttons on
+ their HUD.
+ Cyberboss:
+ - config: The limit of monkey's spawned via monkey cubes is now configurable
+ Dax Dupont:
+ - bugfix: Fixes the wrong tiles in Syndicate VR trainer and uses different tiny
+ fans.
+ - bugfix: Access didn't append to VR IDs
+ Firecage:
+ - rscadd: The mech fabricator can now print two new janiborg upgrades. Advanced
+ Mop and Trash Bag of holding. These two upgrades uses the advanced robotics
+ node.
+ SpaceManiac:
+ - bugfix: Changing UI Style preference now takes effect immediately rather than
+ next round.
+ - bugfix: Mindswapping with someone no longer gives you their UI style.
+ - bugfix: The destructive analyzer can once again be used to reveal nodes.
+ - spellcheck: Some references to "deconstructive analyzer" have been updated to
+ "destructive".
+ - tweak: Hulks and catpeople now show "Human-derived mutant" under "Species" when
+ health scanned.
+ - bugfix: Cyborg inventory slots once again unhighlight when a module is stowed.
+ deathride58:
+ - rscadd: Things that are capable of igniting plasma fires will now generate heat
+ if there's no plasma to ignite. Building a bonfire inside the station without
+ taking safety precautions is now a bad idea.
+ kevinz000:
+ - rscadd: Plasma specific heat is 500J/K*unit, everything else is 200
+ zaracka:
+ - bugfix: The Spirit Realm rune no longer spawns a braindead cult ghost when attempting
+ to summon one after a player reaches the limit.
diff --git a/html/changelogs/archive/2018-06.yml b/html/changelogs/archive/2018-06.yml
new file mode 100644
index 0000000000..8a182b32f4
--- /dev/null
+++ b/html/changelogs/archive/2018-06.yml
@@ -0,0 +1,527 @@
+2018-06-01:
+ Big Tobacco:
+ - rscadd: Cheap lighters now come in four different shapes and Zippos can have one
+ of four different designs, collect them all and improve our sales!
+ - imageadd: All existing lighter sprites have been given a face-lift and the flames
+ are now subtly animated.
+ - tweak: Cheap lighters now use a fixed list of 16 colors to pick from instead of
+ using totally randomized colors.
+ - imageadd: Cigar cases have been tweaked to be a bit smaller and to have a modified
+ design.
+ - imageadd: Cohiba Robusto and Havanan cigars now use separate case sprites from
+ the generic premium cigar cases.
+ Dax Dupont:
+ - bugfix: Fixed rpeds throwing stock part rating related runtimes.
+ Naksu:
+ - code_imp: NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 have been moved to
+ item_flags
+ - tweak: brass handcuffs, meat hook and the chrono gun now conduct electricity.
+ Nichlas0010:
+ - bugfix: You can no longer use a soapstone infinitely
+ SpaceManiac:
+ - bugfix: Moving diagonally past delivery chutes, transit tube pods, &c. no longer
+ causes your camera to be stuck on them.
+ - refactor: The base machinery type is now anchored by default.
+ - bugfix: Pubby's auxiliary mining base now works again.
+ - bugfix: Cloning no longer breaks a character's connection to their family heirloom.
+ - bugfix: The overlay effects of cult flooring are now on the floor plane, fixing
+ their odd ambient occlusion appearance.
+ - bugfix: Beam rifle tracers no longer fall into chasms.
+ - bugfix: Vomiting on the same tile a second time no deletes the vomited reagents.
+ theo2003:
+ - bugfix: fixed the clockwork helmet not dropping to ground when used by non-clock
+ cultists
+2018-06-03:
+ Denton:
+ - tweak: 'Pubbystation: Added a dual-port vent pump to the toxins burn chamber.'
+ - code_imp: Removed most airlock_controller/incinerator related varedits and replaced
+ them with defines/subtypes.
+ - tweak: The Deltastation toxins lab has its portable scrubber, air pump and intercom
+ back.
+ Naksu:
+ - bugfix: comms consoles now work in transit again, and no longer work in centcom
+ - code_imp: removed unnecessary getFlatIcons from holocalls
+ - bugfix: Screwdrivers and other items with overlays now show the proper appearance
+ of the item when attacking something with them, or when put on a tray.
+ Nichlas0010:
+ - bugfix: You now can't get multiple download objectives!
+ - tweak: RDs, Scientists and Roboticists can no longer get download objectives!
+ ShizCalev:
+ - bugfix: Fixed cigar cases & cigarette packets taking two inventory slots
+ - bugfix: Fixed cigar cases showing the wrong icon for the cigars inside them.
+ - bugfix: Fixed cigar cases & cigarette packets stating the wrong name of the cigar/cigarette
+ when removed via altclick.
+ - bugfix: Fixed items in pockets vanishing when a mob is monkeyized.
+ - bugfix: Fixed items in pockets vanishing when a mob is gorillized.
+ - bugfix: Fixed items in pockets vanishing when a mob is infected with a transformation
+ disease.
+ - bugfix: Fixed items in pockets not being properly deleted when a mob goes through
+ a recycler
+ - bugfix: Fixed items in pockets not being properly deleted when highlander mode
+ is enabled.
+ - bugfix: Fixed exploit allowing you to remove unremovable tanks from pockets.
+ - bugfix: Fixed items in pockets dropping when a mob is equipped with a new outfit.
+ - bugfix: Fixed items in pockets not being covered in blood when equipping the psycho
+ outfit.
+ SpaceManiac:
+ - bugfix: Switching mobs into/out of a mech (by VR, ghosting, or mindswap) no longer
+ improperly applies the mech's cursor.
+ ThatLing:
+ - bugfix: PDA style now gets loaded correctly.
+ cyclowns:
+ - bugfix: Fires no longer flicker back and forth like crazy
+ iskyp:
+ - tweak: switched the type of the space suit on the syndicate shuttle
+ theo2003:
+ - tweak: roboticists have access to R&D windoors
+ - bugfix: fixed hydroponics tray weed light staying on when removing weeds with
+ integrated circuits
+ yorpan:
+ - rscadd: Brain damage makes you say one more thing.
+2018-06-04:
+ Beachsprites:
+ - imageadd: added directional beach sprites
+ MrDoomBringer:
+ - admin: Central Command can now smite misbehaving crewmembers with supply pods
+ (filled with whatever their hearts desire!)
+ SpaceManiac:
+ - bugfix: Atom initialization and icon smoothing no longer race, causing late-loading
+ mineral turfs to have no icon.
+ - spellcheck: Faceless persons no longer "melt their face off" in energy gun suicides.
+ - bugfix: The Lightning Bolt spell now works again.
+ yenwodyah:
+ - bugfix: A few virus threshold effects should work now
+2018-06-06:
+ Dax Dupont:
+ - bugfix: Fixes a sentience related exploit by blacklisting it in restricted uplinks.
+ Denton:
+ - rscadd: Arcades have been stocked with preloaded tactical snack rigs.
+ - bugfix: Swarmers can no longer attack field generators and turret covers.
+ - bugfix: The Pubbystation maint bar Booze-O-Mat now shows its contents correctly.
+ MrDoomBringer:
+ - admin: CentCom Supplypods now stun their target before landing, and won't damage
+ the station as much
+ Naksu:
+ - code_imp: moved /datum.isprocessing into datum flags
+ iksyp:
+ - bugfix: Ever since the great emotion purge of 2558, people were able to work at
+ top efficiency, even while starving to death. This is no longer the case, Nanotrasen
+ Scientists say.
+ - admin: Hunger slowdown only applies if mood is disabled in the config.
+2018-06-07:
+ Cruix:
+ - bugfix: Picture-in-picture objects now are no longer overlapped by other certain
+ objects
+ SpaceManiac:
+ - bugfix: It is now possible to access the wires of RND machines in order to repair
+ them if they have been EMP'd.
+ Tlaltecuhtli:
+ - bugfix: rad collectors set to research point gen are somewhat ok now
+ kevinz000:
+ - tweak: Vehicle speed changes now happen immediately instead of on the next movement
+ cycle
+2018-06-08:
+ AnturK:
+ - code_imp: Gravity can now go above 1g
+ CitrusGender:
+ - imageadd: sandstone wall sprite for indestructible object
+ Denton:
+ - tweak: Added a warning to the shuttle purchase menu.
+ - bugfix: Added missing vents to runtimestation.
+ - tweak: 'Runtimestation: Added /debug EMP flashlight, emag, techfab and tiny fans.
+ Replaced RCD, healing wand and sleeper with more suitable subtypes.'
+ MrDoomBringer:
+ - tweak: Due to DonkCo's recent budget cuts, their line of toy emags are now noticably
+ less realistic. As such, you can now examine an emag to determine if it is a
+ toy or not.
+ Naksu:
+ - balance: Temperature gun projectiles now respect armor/dodge, and will no longer
+ freeze you if they don't hit you.
+ SpaceManiac:
+ - bugfix: The thermal sight benefits of lantern wisps no longer disappear if you
+ change glasses.
+ - bugfix: Paradox bags no longer block the middle of your screen until reconnect,
+ and also actually work.
+ - bugfix: A pAI dying while in holoform no longer deletes the card, instead merely
+ emptying it.
+ - bugfix: The elevators in the Snowdin away and VR missions work again.
+ - bugfix: Minor atmos issues in Snowdin and UO45 have been corrected.
+ Tlaltecuhtli:
+ - bugfix: all spiders can make webs now
+ deathride58:
+ - balance: Sparks, using welding tools, using igniters, etc, will no longer cause
+ an instant fireless inferno in small rooms.
+ - tweak: The revert of the original hotspot_expose() PR has been reverted, since
+ the reason as to why it was reverted was resolved with this change.
+ - balance: Reverted the increased rad collector tech point gain rate.
+ fludd12:
+ - rscadd: Love potions are marginally more interesting! This same effect applies
+ to if you are a valentine!
+ - tweak: The names of extracts are now in the proper order, finally!
+ - rscadd: Self-sustaining extracts are in! Technically, this is a fix, but whatever.
+ - bugfix: Stabilized Cerulean extracts no longer vaporize items into the Aetherium.
+ - rscadd: Stabilized Gold extracts are now moderately more fun to use! The randomized
+ creature persists if it is killed, and can be rerolled at will! Also, if you
+ give the creature a sentience potion, the mind will transfer over!
+ oranges:
+ - rscadd: Sec now has khaki pants for tacticoolness
+2018-06-11:
+ Mickyan:
+ - rscadd: Added an abandoned kitchen to Metastation maintenance
+ XDTM:
+ - bugfix: Fixed anti-magic not working at all.
+ fludd12:
+ - bugfix: Stabilized gold extracts now respawn the familiar properly.
+ - bugfix: Stabilized gold familiars retain the proper languages even after respawning.
+ - tweak: Stabilized gold familiars can be renamed and have their positions reset
+ at will.
+2018-06-12:
+ Dax Dupont:
+ - bugfix: Botany trays don't magically refill anymore with a rped.
+ SpaceManiac:
+ - tweak: Fire alarms now redden all the room's lights, and emit light themselves,
+ rather than applying an area-wide overlay.
+ - bugfix: Fire alarms no longer visually conflict with radiation storms.
+ - bugfix: Pulling objects diagonally no longer causes them to flail about when changing
+ directions.
+ - bugfix: Riders are no longer left behind if you move while pulling something that
+ has since been anchored.
+ - bugfix: Lockboxes are now actually locked again.
+ - bugfix: Deaf people can no longer hear cyborg system error alarms.
+ - bugfix: Plasmamen now receive their suit and internals when entering VR.
+ - bugfix: Legion cores and admin revives now heal confusion.
+ XDTM:
+ - bugfix: Diseases now properly lose scan invisibility if their stealth drops below
+ the required threshold.
+2018-06-13:
+ 'Armhulen code, Keekenox sprites and S_____ as the ideas guy :roll_eyes:':
+ - rscadd: 'New drinks: Peppermint Patty and the Candyland Extract!!'
+ CitrusGender:
+ - bugfix: checks to see if bullets are deleted if they are the ammo type and the
+ bullet chambered.
+ Dax Dupont:
+ - balance: It's now easier to become fat. Don't eat so much.
+ Mickyan:
+ - bugfix: Fixed pacifists being able to harm using bottles/screwdrivers
+ SpaceManiac:
+ - spellcheck: Capitalization, propriety, and plurality on turfs have been improved.
+ XDTM:
+ - tweak: Coldproof mobs can now be cooled down, but are still immune to the negative
+ effects of cold.
+ - bugfix: This also fixes some edge cases (freezing beams) where mobs could be cooled
+ down and damaged despite cold resistance.
+ - balance: Virus crates now contain several bottles of randomly generated diseases
+ with symptom levels up to 8.
+ - rscdel: Removed the single-symptom bottles that were included in the virus crate.
+ - balance: Androids are now immune to radiation.
+ cacogen:
+ - rscadd: You can now see what other people are eating or drinking.
+ - rscadd: Borg shaker can now synthesise milk, lemon juice, banana juice and coffee
+ - bugfix: Renamed drinks no longer revert to their original name when their reagents
+ change
+ chesse20:
+ - rscadd: Adds Exotic Corgi Crate to Cargo
+ - rscadd: Adds Exotic Corgi, a Corgi with a random hue applied to it
+ - rscadd: Adds Talking Corgi Crate, and talking Corgi
+2018-06-15:
+ CitrusGender:
+ - bugfix: logs will now show ckeys when admin transformations are done
+ Cruix:
+ - bugfix: Item attack animations can no longer be seen over darkness or camera static.
+ Dax Dupont:
+ - admin: You can now send messages as CentCom through people's headsets.
+ - bugfix: Fixes missing cream pies in the cream pie fridge.
+ Denton:
+ - bugfix: 'Omegastation: Connected the Engineering Foyer APC to the powernet.'
+ - bugfix: 'Pubbystation: Connected Chemistry disposals to the pipenet and fixed
+ Booze-O-Mat related display/access issues.'
+ - tweak: Syndicate stormtroopers now fire buckshot again.
+ Naksu:
+ - bugfix: Pipe dispensers can no longer create pipes containing literally anything
+ Nichlas0010:
+ - tweak: The TEG and its circulator can now be deconstructed and rotated!
+ - tweak: The TEG and its circulator now supports circulators in all directions,
+ rather than just west/east!
+ SpaceManiac:
+ - rscadd: A new OOC verb "Fit Viewport" can be used to adjust the window splitter
+ to eliminate letterboxing around the map. It can also be set to run automatically
+ in Preferences.
+ - bugfix: Refunding nuclear reinforcements while polling ghosts no longer summons
+ the reinforcements into the error room anyways.
+ - bugfix: Shift-clicking turfs obscured by fog of war no longer lets you examine
+ them.
+ - admin: It is now possible to cancel "Manipulate Organs" midway through.
+ Tlaltecuhtli:
+ - rscadd: Added shoes to leather recipes
+ ninjanomnom:
+ - bugfix: Gas overlays left over in some turf changes should no longer stick around
+ where they shouldn't.
+2018-06-17:
+ Dax Dupont:
+ - refactor: Syndicate and Centcom messages have been squashed together.
+ - admin: You can now send both Syndicate and Centcom headset messages. Be mindful
+ that the button was changed to HM in the playerpanel
+ - bugfix: Fixed missing grilles under brig windows of the pubby shuttle.
+ - rscadd: For the pubby shuttle, added some food in the fridge, mostly pie slices.
+ Also added a sleeper to the minimedbay.
+ - tweak: Reworded pubby shuttle description to be more inline with the new train
+ shuttle.
+ - bugfix: Chem synths overlays aren't all kinds of fucked anymore.
+ - refactor: Unfucked all of the remaining chem synth code.
+ - refactor: Reagents no longer have an unused var that's always set to true. Who
+ did this?
+ - bugfix: You can no longer remove circuits with your mind.
+ - balance: Makes the xeno nest ruin harder to cheese.
+ - bugfix: Fixes the bathroom being airless in the Space Ninja anime jail.
+ Denton:
+ - tweak: 'Runtimestation: Added shuttle docking ports, a comms console, cargo bay
+ and syndicate/centcom IDs.'
+ - balance: Pirates and Syndicate salvage workers have been beefed up around the
+ caravan ambush ruin.
+ Pubby:
+ - bugfix: 'PubbyStation: Fixed disposals issue in security hallway'
+ SpaceManiac:
+ - bugfix: Moving large amounts of items with bluespace launchpads no longer creates
+ a laggy amount of sparks.
+ - bugfix: Unbreakable ladders are now left behind when shuttles move.
+ - bugfix: It is no longer possible to pull the mirages images at space transitions,
+ and some other abstract effects.
+ - tweak: PDAs and radios with unlocked uplinks no longer open their normal interface
+ in addition to the uplink when activated.
+ - tweak: Nuclear operative uplinks are no longer also radios.
+ - bugfix: The mining shuttle can once again fly to the aux base construction room
+ after the base has dropped.
+ - bugfix: The escape pod hallways on MetaStation and DeltaStation now have air again.
+ - bugfix: Hyperspace ripples now remain visible until the shuttle arrives, even
+ during extreme lag.
+ - bugfix: Ripples now correctly take the shape of the shuttle, rather than always
+ being a rectangle.
+ - bugfix: Non-secure windoors now properly support the "One Required" access mode
+ of airlock electronics.
+ Tlaltecuhtli:
+ - rscadd: After years of protests NT decided to update the fire security standards
+ by adding 3 (three) advanced fire extinguishers to all the new stations.
+ and Fel:
+ - imageadd: New chairs are on most shuttles! Finally, you can relax in style while
+ escaping a metal death trap.
+ cyclowns:
+ - rscadd: Fusion has been re-enabled! It works similarly to before, but with some
+ slight modification.
+ - tweak: Fusion now requires huge amounts of plasma and tritium, as well as a very
+ high thermal energy and temperature to start. There are several tiers of fusion
+ that cause different benefits and effects.
+ - tweak: The fusion power of most gases has been tweaked to allow for more interesting
+ interactions.
+ - tweak: BZ now takes N2O and plasma to create, rather than tritium and plasma.
+ - bugfix: Fusion no longer delivers server-crashingly large amounts of radiation
+ and stationwide EMPs.
+ theo2003:
+ - rscadd: Players who edited a circuit assembly can scan it as a ghost.
+2018-06-18:
+ CitrusGender:
+ - tweak: The blob core (and only the blob core) now respawns randomly on the station
+ when the core is taken off z-level
+ - bugfix: Prevents the round from going into an unending state
+ - code_imp: Added a variable to the stationloving component for objects that can
+ be destroyed but not moved off z-level
+ Denton:
+ - tweak: NanoTours is proud to announce that the Lavaland beach club has been outfitted
+ with a dance machine, state of the art bar equipment and more.
+ SpaceManiac:
+ - bugfix: It is no longer possible to repair cyborg headlamps even when their panel
+ is closed.
+ - bugfix: Item fortification scrolls no longer add multiple prefixes when applied
+ to the same item.
+ - bugfix: The gulag shuttle no longer moves instantly when returned via the claim
+ console.
+ - admin: It is now possible to use the ".p" (Asay) and ".d" (Dsay) prefixes while
+ an admin ghost.
+2018-06-19:
+ Cyberboss:
+ - admin: Speaking in deadchat now shows your rank instead of ADMIN
+ Dax Dupont:
+ - balance: Circuit lab no longer starts with super batteries, they have been replaced
+ with high batteries.
+ - balance: Circuit labs now start with 20 sheets of metal instead of 50/100. Plenty
+ of materials on the station you can gather.
+ - balance: Circuit labs no longer have their own protolathe and autolathe. Science
+ has their own lathes already.
+ - tweak: There's no more entire library worth of equipment, they can go publish
+ the books like the rest of the station, in the library. At least give the librarians
+ something other to do than screaming about lizard porn on the radio.
+ Hyacinth-OR:
+ - rscadd: Added a pink scarf to vendomats
+ Irafas:
+ - rscadd: Players can now ctrl-click the PDA to remove the item in its pen slot
+ JStheguy:
+ - rscadd: Added the data card reader circuit, a circuit that is able to read data
+ cards, as well as write to them.
+ - tweak: Data cards are now longer inexplicably called data disks despite clearly
+ being cards, and can be printed from the "tools" section of the integrated circuit
+ printer.
+ - tweak: Data cards no longer have a special "label card" verb and instead can have
+ their names and descriptions changed with a pen.
+ - rscadd: Also, some aesthetically different variants of the data cards, because
+ why not.
+ - imageadd: Data cards have new sprites, with support for coloring them via the
+ assembly detailer.
+ Naksu:
+ - code_imp: Sped up atmos very slightly
+ ninjanomnom:
+ - rscadd: A plush that knows too much has found its way to the bus ruin.
+2018-06-21:
+ BlueNothing:
+ - tweak: Grabbers can no longer hold circuit assemblies
+ CitrusGender:
+ - bugfix: Ruins air alarms will no longer be reported in the station tablets
+ - bugfix: added a clamp so you can't set a negative multiplier to create materials
+ and create more than 50 items.
+ Cobby:
+ - rscdel: Removed Advanced Mining Scanner from roundstart voucher kits.
+ - rscdel: Removed Explorer Webbing from all voucher kits besides the shelter capsule
+ pack.
+ Denton:
+ - bugfix: The public booze-o-mats and autodrobes on Box/Delta/Meta now have no access
+ requirements, as previously intended.
+ - rscadd: Regular and advanced health analyzers can now be researched and printed.
+ McDonald072:
+ - rscadd: A few new circuits for dealing with atmospherics have been uploaded to
+ your local printers.
+ NewSta:
+ - tweak: made it easier to see from the back whether someone is occupying the shuttle
+ chair or not.
+ SpaceManiac:
+ - tweak: One canister is now suitable to fully stock a vending machine. Relevant
+ cargo packs have been updated.
+ - bugfix: Deconstructing and reconstructing a vending machine no longer creates
+ items from thin air.
+ - bugfix: Using a part replacer on a vending machine no longer empties its inventory.
+ - rscadd: Bluespace RPEDs can now be used to refill vending machines.
+ Tlaltecuhtli:
+ - bugfix: anomaly cores no longer tend to dust
+ YPOQ:
+ - bugfix: Watcher beams will freeze you again
+2018-06-23:
+ Dax Dupont:
+ - imageadd: CHANGE PLACES, SHUTTLE CHAIRS HAVE BEEN CHANGED AGAIN.
+ - admin: Create antags now checks for people being on station before applying.
+ ExcessiveUseOfCobblestone:
+ - spellcheck: Plant disks with potency genes clarify the percent is for potency
+ scaling and not relative to max volume on examine.
+ Kor:
+ - rscadd: Bubblegum has regained his original (deadlier) move set.
+ SpaceManiac:
+ - bugfix: Fire extinguishers on the emergency shuttle are no longer unclickable
+ once removed from their cabinets.
+ kevinz000:
+ - rscadd: Blast cannons have been fixed and are now available for purchase by traitorous
+ scientists for a low low price of 14TC.
+ - rscadd: 'Blast cannons take the explosive power of a TTV bomb and ejects a linear
+ projectile that will apply what the bomb would do to a certain tile at that
+ distance to that tile. However, this will not cause breaches, or gib mobs, unless
+ the gods (admins) so will it. experimental: Blast cannons do not respect maxcap.
+ (Unless the admins so will it.)'
+2018-06-24:
+ CitrusGender:
+ - bugfix: Fixed cyborgs not getting their names at round start
+ - bugfix: Fixed cyborgs and A.I.s being able to bypass appearance bans
+ SpaceManiac:
+ - bugfix: The "Save Logs" option in the chat now actually works (IE 10+ only).
+ Time-Green:
+ - bugfix: Soda is no longer intangible to the laws of physics
+ cinder1992:
+ - rscadd: The Captain can now go down with their station in style! Suicide animation
+ added to the Officer's Sabre.
+ kevinz000:
+ - rscadd: Cyborgs now drop keys on deconstruction/detonation
+2018-06-27:
+ Cyberboss:
+ - server: Logs and admin messages will now appear when you are using deprecated
+ config settings and advise on upgrades
+ Dax Dupont:
+ - admin: Malf AI machine overloads now are logged/admin messaged.
+ - tweak: The tree of liberty must be refreshed from time to time with the blood
+ of patriots and tyrants. We've removed access requirements from liberation station
+ vendors.
+ - bugfix: Fixes more href exploits in circuits
+ - refactor: Printing premade assemblies is no longer shitcode, time remaining had
+ to go for this.
+ - admin: Filled holes in the logging of circuits
+ Denton:
+ - tweak: Camera networks, monitor screens and telescreens have been standardized.
+ - tweak: Motion-sensitive cameras now show a message when they trigger the alarm.
+ - bugfix: The Box/Meta auxillary base camera now works.
+ - bugfix: Bomb test site cameras now emit light, as intended.
+ - bugfix: 'Meta: Replaced the RD telescreen in the CE office with the correct one.'
+ - tweak: Did you know that honey has antibiotic properties?
+ Irafas:
+ - bugfix: Hardsuit helmets now protect the wearer from pepperspray
+ - bugfix: Bucket helmets cannot have reagents transferred into them until after
+ they are removed
+ MadmanMartian:
+ - bugfix: Cameras that are EMPed no longer sound an alarm
+ Mickyan:
+ - bugfix: Branca Menta won't make you starve and then kill you
+ - tweak: Fernet has been moved to contraband
+ Naksu:
+ - code_imp: Removed unused effect object that could be used to spawn a list of humans
+ Nichlas0010:
+ - bugfix: Mothpeople no longer push objects to move in 0-grav, if they can fly
+ SpaceManiac:
+ - refactor: AI static now uses visual contents and should perform better in theory.
+ - bugfix: Pocket protectors now work again.
+ - bugfix: URLs are no longer auto-linkified in character names and IC messages.
+ - bugfix: It is once again possible for Cargo to export mechs.
+ - bugfix: Deaths in the CTF arena are no longer announced to deadchat.
+ Tlaltecuhtli:
+ - tweak: tourettes doesnt stack on itself anymore
+ - bugfix: fixes cult shuttle message repeating
+ Zxaber:
+ - rscadd: Cyborgs can wear more hats now.
+ kevinz000:
+ - rscadd: R&D deconstructors can now destroy things regardless of if there's a point
+ value or material
+ nichlas0010:
+ - bugfix: You should now receive your destroy AI objectives properly during IAA
+2018-06-28:
+ Anonmare:
+ - balance: The possessed chainsword no longer makes e-swords look pathetic
+ Dax Dupont:
+ - admin: Admins can now scan circuits if they have admin AI interaction enabled.
+ - admin: some more circuit logging
+ - rscadd: You can now build clown borgs with a little bit of bananium and research.
+ Praise be the honkmother.
+ - rscadd: New upgrade module has been added so making loot/tech web borg modules
+ has become easier for admins/mappers/coders.
+ - refactor: Unused and broken OOC metadata code has been killed.
+ Denton:
+ - tweak: Added a disk compartmentalizer to Omegastation's hydroponics.
+ Kraso:
+ - bugfix: You can no longer use a soulstone shard to tell who's a cultist.
+ ShizCalev:
+ - bugfix: The blob will no longer take over space/mining/ect upon victory.
+2018-06-29:
+ BlueNothing:
+ - balance: Cavity implants can no longer hold normal-sized combat circuits. Grabbers
+ can now hold up to assembly size.
+ - bugfix: Grabbers and throwers no longer function inside of storage implants.
+ Denton:
+ - tweak: Added all-in-one tcomms machinery and an automated announcement system.
+ Mickyan:
+ - imageadd: graffiti letters and numbers have received a makeover
+ MrDoomBringer:
+ - imageadd: Disk Fridges now have sprites! Ask cobby if you're wondering why they
+ look like toasters.
+2018-06-30:
+ Dennok:
+ - bugfix: Deconstructable TEG now propertly connects to pipes.
+ - bugfix: Fix of inverted TEG sprite of slow turbine turning. add:Now you can flip
+ circulator and make TEG of your dream. add:Add TEG and circulator to "Advanced
+ Power Manipulation" techweb node.
+ MacHac:
+ - rscadd: Changelings can now take the Pheromone Receptors ability to hunt down
+ other changelings.
+ TerraGS:
+ - imageadd: New icon for plastic flaps that actually looks airtight.
+ - code_imp: Update to plastic flaps code to use tool procs rather than attackby
+ and removed two pointless states.
diff --git a/html/changelogs/archive/2018-07.yml b/html/changelogs/archive/2018-07.yml
new file mode 100644
index 0000000000..e213137c73
--- /dev/null
+++ b/html/changelogs/archive/2018-07.yml
@@ -0,0 +1,554 @@
+2018-07-01:
+ Denton:
+ - tweak: To comply with space OSHA regulations, all toasters (disk compartmentalizers)
+ have been put on tables.
+ - rscadd: Added a disk compartmentalizer to the seed vault Lavaland ruin.
+ Nichlas0010:
+ - bugfix: Changelings can now greentext the extract more genomes objective.
+ Thunder12345:
+ - rscadd: Added a colour picker component for use with circuits.
+2018-07-02:
+ AnturK:
+ - bugfix: non-player monkeys won't fight when stunned.
+ Denton:
+ - bugfix: 'Pubbystation: Fixed the QM camera console''s direction.'
+ - code_imp: 'Pubbystation: Used the correct aux bomb camera subtype and replaced
+ loose tech storage boards with spawners, as is done in the rest of the map.'
+ - tweak: Tesla balls no longer blow up disposal outlets/delivery chutes and cameras.
+ Irafas:
+ - rscadd: Admin spawnable Death Ripley that comes with a version of the Death Clamp
+ that actually inflicts damage and rips arms off.
+ Naksu:
+ - admin: maxHealth is now guarded against invalid values when varediting
+ SpaceManiac:
+ - bugfix: A single wired glass tile no longer creates unlimited light floor tiles.
+ - bugfix: Printing the TEG and circulator boards no longer prints the completed
+ machinery instead.
+ XDTM:
+ - tweak: Nutriment Pump implants no longer require replacing the stomach.
+2018-07-03:
+ Dax Dupont:
+ - balance: BoH detonations now gib the user.
+ Denton:
+ - tweak: Engine heaters no longer let gases pass through them.
+ - tweak: The Cerestation escape shuttle is now available for purchase!
+ Frozenguy5:
+ - bugfix: Fixes nitryl gas not applying its effects.
+ MrDoomBringer:
+ - bugfix: SupplyPod smites work properly once again.
+ Naksu:
+ - code_imp: Fixed the signatures of several reagent procs, removing useless checks
+ - tweak: drunkenness is now handled at the carbon level, allowing monkeys to experience
+ ethanol
+ - balance: initropidil also works on carbon level, allowing syndicate operatives
+ using the poison kit to achieve the silent assassin rating against monkeys
+ - tweak: The ladders in the tear in the fabric of reality no longer spawn their
+ endpoints when the area is loaded, but only when the tear is made accessible
+ via a BoH bomb.
+ - tweak: CentCom is no longer accessible via the space ladder in the tear.
+ - tweak: The lavaland endpoint can no longer spawn completely surrounded by lava,
+ unless it spawns on an island
+ - code_imp: ChangeTurf can now conditionally inherit the air of the turf it is replacing,
+ via the CHANGETURF_INHERIT_AIR flag.
+ - bugfix: when ladder endpoints are created, the binary turfs that are created inherit
+ the air of the turfs they are replacing. This means the lavaland ladder endpoint
+ will have the lavaland airmix, instead of a vacuum.
+ - code_imp: navigation beacons are now properly deregistered from their Z-level
+ list and re-registered on the correct one if moved across Z-levels by an effect
+ such as teleportation or a BoH-induced chasm.
+ Nirnael:
+ - refactor: Removed an unnecessary volume_pump check
+ SpaceManiac:
+ - bugfix: Backpack water tanks now work properly when wielded by drones.
+ - bugfix: Backpack water tank nozzles can no longer be placed inside bags of holding
+ and chem dispensers.
+ - bugfix: Moving items between your hands no longer causes them to cross the floor
+ (squeaking, lava burning).
+ - bugfix: Scrambled research console icons have been fixed, and will be prevented
+ in the future.
+ Zxaber:
+ - tweak: Empty cyborg shells can now be disassembled with a wrench.
+ - tweak: Using a screwdriver on an empty shell will now remove the cell, or swap
+ it if you're holding a cell in your other hand.
+ ninjanomnom:
+ - tweak: Shuttle throwing also applies to loose objects on shuttles now.
+ - tweak: Closets on shuttles start anchored.
+ - tweak: The throw distance of shuttle throws is marginally random, potentialy 10%
+ further or shorter
+ - rscadd: Tables and racks on shuttles have been installed with inertia dampeners.
+ - bugfix: Some very thin barriers didn't stop mobs from being thrown by the shuttle
+ under certain circumstances, this has been fixed.
+2018-07-05:
+ Cyberboss:
+ - bugfix: Setting "default" in maps.txt now will load that map as the first fallback
+ when a next_map.json is missing
+ Jared-Fogle:
+ - bugfix: Fixed the "Remove IV Container" verb on IV drips from showing every nearby
+ mob
+ Naksu:
+ - tweak: shuttles now move the air along with their occupants, instead of magicking
+ up new air.
+ deathride58:
+ - tweak: Lone nuclear operatives now spawn as often as originally intended when
+ the disk is immobile. Secure that fuckin' disk.
+2018-07-06:
+ Denton:
+ - spellcheck: Improved supply shuttle messages and firefighting foam descs.
+ - bugfix: Supply shuttles will no longer spill containers on docking.
+ Jared-Fogle:
+ - imageadd: Medical HUDs will now show an icon if the body has died recently enough
+ to be defibbed
+ Jegub:
+ - imageadd: Glowcaps now have their own sprite.
+ MacHac:
+ - bugfix: Bedsheets once again properly influence the dreams of those who sleep
+ under them.
+2018-07-07:
+ Cruix:
+ - bugfix: Advaced camera consoles now properly show camera static in the area that
+ the eye starts
+ Denton:
+ - bugfix: Cere Station's escape shuttle has had its turbo encabulator replaced and
+ should no longer fly through hyperspace backwards.
+ Garen:
+ - rscadd: sends a signal for afterattack()
+ - code_imp: modified all calls of afterattack() to call the parent proc
+ Naksu:
+ - bugfix: constructed directional windows no longer leak atmos across them
+ - code_imp: setting the value of anchored for objects should be done via the setAnchored
+ proc to properly handle things like atmos updates in one place
+ Spaceinaba:
+ - tweak: Digitigrade legs no longer revert to normal on compatible outfits.
+2018-07-08:
+ Affurit:
+ - imageadd: Back Sprites for the Godstaffs and Scythe now exist.
+ Cruix:
+ - rscadd: AI detection multitools can now be toggled to provide a HUD that shows
+ the exact viewports of AI eyes, and the location of nearby camera blind spots.
+ Floyd:
+ - rscdel: removed beauty / dirtyness
+ - balance: Mood no longer gives you hallucinations, instead makes you go into crit
+ sooner
+ Gwolfski:
+ - rscadd: autoname APC
+ - rscadd: directional autoname APC's
+ Naksu:
+ - code_imp: fixed mood component
+ XDTM:
+ - bugfix: Corazone now actually stops heart attacks.
+ cacogen:
+ - rscadd: Gibs squelch when walked over
+ subject217:
+ - bugfix: Five months later, wires will again make noise when pulsed or cut while
+ hacking.
+2018-07-09:
+ Ausops:
+ - imageadd: New shuttle chair sprites.
+ Jared-Fogle:
+ - bugfix: Fixed russian revolvers acting like normal revolvers.
+ Nabski:
+ - imageadd: Crabs have a movement state sprite
+ TerraGS:
+ - tweak: Removed tap.ogg from multitool so getting hit by one sounds as painful
+ as it really is.
+ ninjanomnom:
+ - code_imp: The very back-end of movement got some significant reshuffling in preparation
+ for some future refactors. Bugs are expected.
+ subject217:
+ - spellcheck: The Nuke Op uplink no longer lies about how much ammo a C-20r holds.
+ - tweak: The L6 SAW now has a small amount of spread. It is still accurate within
+ visual range, but it's not as effective at longer ranges.
+2018-07-10:
+ Astatineguy12:
+ - bugfix: You can now buy energy shields as a nuke op again
+ Denton:
+ - rscadd: 'Box/Delta/Pubbystation: Nuclear explosive-shaped beerkegs have been added
+ to maintenance areas.'
+ Naksu:
+ - rscadd: Added a new ghost verb that lets you change your ignore settings, allowing
+ previously ignored popups to be un-ignored and notifications without an ignore
+ button to be ignored
+ - bugfix: Chaplains are once again unable to acquire the inquisition ERT commander's
+ sword, as intended. The sword has been restored to its former glory
+ Supermichael777:
+ - bugfix: Changelings are no longer prevented from entering stasis by another form
+ of fake death.
+ Wjohnston & ninjanomnom:
+ - imageadd: Engine heaters and engines have had a minor touch up so they don't meld
+ with the floor quite so much.
+ - tweak: Engine heaters don't block air anymore.
+ XDTM:
+ - bugfix: Romerol tumors no longer zombify you if you're alive when the revive timer
+ counts down.
+2018-07-11:
+ Denton:
+ - bugfix: Fixed a bug where golem shells couldn't be completed by certain brass/sandstone/titanium
+ stacks.
+ - tweak: The Spider Clan holding facility has completed minor renovations. The dojo
+ now includes medical and surgical equipment, while the lobby has a fire extinguisher
+ and plasmaman equipment.
+ - bugfix: Plasma and wooden golems no longer need to breathe, same as all other
+ golems.
+ - spellcheck: Fixed wrong or incomplete golem spawn info texts.
+ - tweak: Added more random golem names.
+ Irafas:
+ - bugfix: non-silicons can no longer use machines without standing next to them.
+ XDTM:
+ - bugfix: Automatic emotes no longer spam you saying that you can't perform them
+ while unconscious.
+ - rscadd: Added a Rest button to the HUD. It allows the user to lie down or get
+ back on their feet.
+ - balance: Getting back up now takes a second, to avoid people matrix-ing bullets.
+ fludd12:
+ - rscadd: You can now craft wooden barrels with 30 pieces of wood! They can hold
+ up to 300u of reagents.
+ - rscadd: Putting hydroponics-grown plants into the barrel lets you ferment them
+ for alcohol! Some give bar drinks, while others simply give plain fruit wine.
+ ninjanomnom:
+ - bugfix: Porta turret rotation on shuttles visually would not turn, this has been
+ dealt with.
+ - bugfix: Decals weren't rotating properly after the recent signal refactor, a couple
+ new procs for dealing with the signals on the parent object have been added
+ to deal with this.
+ subject217:
+ - balance: L6 SAW AP ammo now costs 9 TC per magazine, up from 6.
+ - balance: L6 SAW incendiary ammo now deals 20 damage per shot, up from 15.
+2018-07-12:
+ AnturK:
+ - bugfix: Nuclear rounds will now end properly on nukeop deaths if there are no
+ other antags present.
+ Denton:
+ - rscadd: A new shuttle loan event has been added. Hope you like bees!
+ - tweak: The pizza delivery shuttle loan event now has some of each flavor and no
+ longer pays the station for accepting it.
+ - balance: Syndicate shuttle infiltrators now carry suppressed pistols.
+ - spellcheck: Added a missing period to spent bullet casing and pizza shutte loan
+ text.
+ - bugfix: Zealot's blindfolds now properly prevent non-cultists from using them.
+ - bugfix: Cultist legion corpses now wear the correct type of zealot's blindfold.
+ Time-Green:
+ - rscadd: An overdosing chemist filled the maintenance shafts with unorthodox pills,
+ be wary
+ ninjanomnom:
+ - rscadd: Certain objects which make noise which are thrown in disposals will squeak
+ when they hit bends in the piping. This includes clowns.
+ tralezab:
+ - admin: admins, you can now find martial art granting buttons in your VV dropdown.
+2018-07-13:
+ Arithmetics plus:
+ - rscadd: Min circuit
+ - rscadd: Max circuit
+ Cyberboss:
+ - rscadd: More interesting recipes to the pizza delivery event
+ Deepfreeze2k:
+ - balance: Adds 2 carbon dioxide jetpacks to the pirate ship. Also gives the captain
+ a renamed bottle of rum in his room.
+ Denton:
+ - tweak: 'Most static ingame manuals have been replaced with ones that open relevant
+ wiki articles. remove: Deleted the "Particle Accelerator User''s Guide" manual,
+ since it''s included in the Singulo/Tesla one.'
+ - tweak: Machine frames no longer explode when struck by tesla arcs.
+ - rscadd: Locators can now be researched and printed at the security protolathe.
+ Jared-Fogle:
+ - soundadd: Removed delay from rustle1.ogg
+ LetterN:
+ - rscadd: Adds ratvar plushie and narsie plushie on chaplain vendors
+ Naksu:
+ - bugfix: deep-frying no longer turns certain objects like limbs invisible
+ Time-Green:
+ - bugfix: "Fixes an href exploit that lets you grab ID\u2019s out of PDA right from\
+ \ another person"
+ XDTM:
+ - balance: (Real) Zombies no longer die from normal means. They will instead go
+ into crit indefinitely and regenerate until they get back up again. To kill
+ a zombie permanently you either need to remove the tumor, cut off their head,
+ gib them, or use more elaborate methods like a wand of death or driving them
+ to suicide.
+ - balance: Slowed down zombie regeneration overall, since putting them in crit now
+ no longer disables them for a full minute in average.
+ Zxaber:
+ - bugfix: MMI units inside cyborgs are no longer affected by ash storms.
+ ninjanomnom:
+ - bugfix: Objects on tables that are thrown by shuttle movement should no longer
+ do a silly spin
+ - balance: The alien pistol and the xray gun have both received a much belated buff
+ to their radiation damage to be on par with other sources of radiation.
+2018-07-14:
+ Naksu:
+ - balance: stamina damage is no longer softcapped by the unconsciousness trigger
+ lowering stamina damage a little bit
+ ShizCalev:
+ - tweak: "The SM is now even more deadly to \"certain mobs\"\u2122"
+2018-07-15:
+ AnturK:
+ - tweak: You can now use numbers in religion and deity names
+ Denton:
+ - bugfix: Bounty console circuit boards no longer construct into supply request
+ terminals.
+ Naksu:
+ - bugfix: fixed some missing args in emote procs called with named args, leading
+ to runtimes
+ - code_imp: removed unnecessary processing from a few machine types
+ SpaceManiac:
+ - bugfix: The Shuttle Manipulator admin verb works once more.
+2018-07-16:
+ kevinz000:
+ - rscadd: 'Integrated circuit clocks now come in 3 flavors: Nanotrasen time (round
+ time), Station time (station time), and Bluespace time (server time, therefore
+ not affected by lag/time dilation)'
+ - rscadd: Integrated circuit clocks now also output a raw value for deciseconds,
+ allowing for interesting timer constructions.
+2018-07-17:
+ Cyberboss:
+ - server: Added BSQL.dll and updated libmariadb.dll for non-blocking SQL support.
+ See https://github.com/tgstation/BSQL for instructions on building for non-windows
+ systems
+ Denton:
+ - tweak: Sparks now emit less heat.
+ - tweak: Added a storage room to Metastation engineering that both engineers and
+ atmos techs can access.
+ Naksu:
+ - admin: Plasma decontamination can now be triggered via events
+ - bugfix: Reebe is no longer airless and completely broken
+ Shdorsh:
+ - tweak: added UI to the circuit printer. That's all
+ XDTM:
+ - balance: Limbs no longer need to have full damage to be dismemberable, although
+ more damage means higher dismemberment chance.
+ - balance: Damaging limbs now only counts as 75% for the mob's total health. Bleeding
+ still applies normally.
+ - rscadd: Limbs that reach max damage will now be disabled until they are healed
+ to half health.
+ - rscadd: Disabled limbs work similarly to missing limbs, but they can still be
+ used to wear items or handcuffs.
+ kevinz000:
+ - rscadd: Crew pinpointers added to advanced biotechnology, printable from medical
+ lathes.
+ - rscadd: AIs can now interact with smartfridges by default, but by default they
+ will not be able to retrieve items.
+ ninjanomnom:
+ - bugfix: Mech equipment can be detached again. This probably also fixes any other
+ uncaught bugs relating to objects moving out of other objects.
+2018-07-18:
+ Cyberboss:
+ - bugfix: Deaths now lag the server less
+ - bugfix: Ban checks cause less lag
+ Denton:
+ - tweak: RCDs can now also be loaded with reinforced glass and reinforced plasma
+ glass sheets.
+ Irafas:
+ - bugfix: players can construct while standing on top of a directional window. (machine
+ frames, computer frames, etc)
+ MrStonedOne:
+ - bugfix: synchronizing admin ranks with the database now lags the server less
+ - bugfix: saving stats now lags the server less
+ - bugfix: jobexp updating now lags the server less
+ - bugfix: poll creation now lags the server less.
+ Tlaltecuhtli:
+ - tweak: putting a cell and other not intended actions dont open the circuit window
+ WJohnston:
+ - tweak: Abandoned box ship space ruin consoles have been turned into something
+ more obviously broken so people stop complaining the ship doesn't work when
+ it's not meant to anyway.
+ - rscdel: Removed the extra syndie headset from the syndicate listening post space
+ ruin so people stumbling on the ruin won't be able to ruin your channel's security
+ as often.
+ XDTM:
+ - bugfix: Fixed a few bugs with imaginary friends, including them not being able
+ to hear anyone or surviving past the owner's death.
+ - rscadd: Imaginary friends can now move into the owner's head.
+ - rscadd: Imaginary friends can now choose to become invisible to the owner at will.
+2018-07-20:
+ Cobby:
+ - bugfix: having higher sanity is no longer punished by making you enter crit faster
+ - balance: you can have 100 mood instead of 99 before it starts slowly decreasing
+ - bugfix: Paper doesn't give illegal tech anymore
+ CthulhuOnIce:
+ - spellcheck: Fixed 'Cybogs' in research nodes.
+ Denton:
+ - admin: Added hardsuit outfits for the Captain, HoS, and CMO. Removed old Shaft
+ Miner (Asteroid) outfits. Gave Chief Engineer (Hardsuit) engineering scanner
+ goggles. Added debug outfit for testing.
+ - tweak: Most wardrobe vendor contents have been tweaked. CargoDrobe now has the
+ vintage shaft miner jumpsuit available as a premium item.
+ WJohn:
+ - balance: Caravan ruin overall contains much less firepower, and should be harder
+ to cheese due to placement changes and less ammunition to work with.
+ - rscadd: The white ship is no longer stuck to flying around the station z level.
+ It can now fly around its own spawn's level and the derelict's level too (these
+ sometimes will be the same level).
+ kevinz000:
+ - rscdel: Removed flightsuits
+ zaracka:
+ - balance: Visible indications of cultist status during deconversion using holy
+ water happen more often.
+2018-07-21:
+ Jared-Fogle:
+ - bugfix: Fixes destroyed non-human bodies cloning as humans.
+ WJohnston:
+ - balance: Reduced the 180 rounds (6 boxes) of 9mm ammo in the deep storage bunker
+ to 45 (3 mags). Removed one of the wt-550s but put a compatible magazine in
+ its place for the other to use. Turned the syndicate hardsuit into a regular
+ grey space suit.
+2018-07-23:
+ BeeSting12:
+ - bugfix: Robotics' circuit printers have been changed to science departmental circuit
+ printers to allow science to do their job more efficiently.
+ Cruix:
+ - bugfix: AI eyes will now see static immediately after jumping between cameras.
+ Denton:
+ - rscadd: Shared engineering storage rooms have been added to Deltastation.
+ - bugfix: Fixed access requirements of lockdown buttons in the CE office. On some
+ maps, these were set to the wrong department.
+ - bugfix: Fixed Box and Metastation's CE locker having no access requirements.
+ - bugfix: 'Deltastation: Fixed engineers having access to atmospheric technicians''
+ storage room. Fixed engineers having no access to port bow solars (the ones
+ at the incinerator by Atmospherics). Also fixed Minisat airlock access requirements.'
+ - bugfix: 'Pubbystation: Medbay and Cargo now have a techfab instead of protolathe.'
+ - tweak: Charlie/Delta Station (the "old cryogenics pod" ghost role) has been improved.
+ Survivors can now finish the singularity engine and will have more minerals
+ available inside the Hivebot mothership. The local atmos network is connected
+ to an air tank; fire alarms and a bathroom have been added. Keep an eye out
+ for a defibrillator too.
+ - rscadd: Nuclear Operatives can now purchase Buzzkill grenades for 5TC per box
+ of three. Those release a swarm of angry bees with random toxins.
+ - spellcheck: Chemical grenades, empty casings and smart metal foam nades now have
+ more detailed descriptions.
+ - spellcheck: Added examine descriptions to the organ harvester.
+ Epoc:
+ - rscadd: Adds "Toggle Flashlight" to PDA context menu.
+ Hathkar:
+ - tweak: Captain's Door Remote now has vault access again.
+ Mickyan:
+ - bugfix: 'Deltastation: replaced blood decals in maintenance with their dried counterparts'
+ SpaceManiac:
+ - tweak: RCDs can now be loaded partially by compressed matter cartridges rather
+ than always consuming the entire cartridge.
+ - bugfix: Fernet Cola's effect has been restored.
+ - bugfix: Krokodil's addition stage two warning message has been restored.
+ - admin: The party button is back.
+ WJohnston:
+ - bugfix: Fixed corner decals rotating incorrectly in the small caravan freighter.
+ XDTM:
+ - bugfix: Limbs disabled by stamina damage no longer appear as broken and mangled.
+ obscolene:
+ - soundadd: Curator's whip actually makes a whip sound now
+2018-07-25:
+ Denton:
+ - tweak: H.O.N.K mechs can now play more sounds from the "Sounds of HONK" panel.
+ JJRcop:
+ - tweak: The item pick up animation tweens to the correct spot if you move
+ MrDoomBringer:
+ - spellcheck: Changed "cyro" to "cryo" in a few item descriptions and flavortexts.
+ SpaceManiac:
+ - rscadd: The vault now contains an ore silo where the station's minerals are stored.
+ - rscadd: The station's ORM, recycling, and the labor camp send materials to the
+ silo via bluespace.
+ - rscadd: Protolathes, techfabs, and circuit imprinters all pull materials from
+ the silo via bluespace.
+ - rscadd: Those with vault access can view mineral logs and pause or remove any
+ machine's access, or add machines with a multitool.
+ - tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
+ Telecomms chat logging:
+ - code_imp: Added logging of telecomms chat
+ - config: Added LOG_TELECOMMS config flag (enabled by default)
+ WJohnston:
+ - rscadd: Redesigned deltastation's abandoned white ship into a luxury NT frigate.
+ Oh, and there are giant spiders too.
+ - bugfix: Med and booze dispensers work again on lavaland's syndie base, and the
+ circuit lab there is slightly less tiny.
+ subject217:
+ - rscadd: The M-90gl is back in the Nuke Ops uplink with rebalanced pricing.
+ - bugfix: The revolver cargo bounty no longer accepts double barrel shotguns and
+ grenade launchers.
+2018-07-26:
+ Iamgoofball:
+ - bugfix: The shake now occurs at the same time as the movement, and it now doesn't
+ trigger on containers or uplinks.
+ Mickyan:
+ - balance: Light Step quirk now stops you from leaving footprints
+ Naksu:
+ - code_imp: gas reactions no longer copy a list needlessly
+ SpaceManiac:
+ - rscadd: 'The following machines can now be tabled: all-in-one grinder, cell charger,
+ dish drive, disk compartmentalizer, microwave, recharger, soda/booze dispenser.'
+ - rscadd: Unanchored soda/booze dispensers can now be rotated with alt-click.
+ - bugfix: Machinery UIs no longer close immediately upon going out of interaction
+ range.
+ - rscadd: Washing machines now wiggle slightly while running.
+ - rscadd: Washing machines can be unanchored if their panel is open for even more
+ wiggle.
+ WJohnston:
+ - rscadd: Return of the boxstation white ship, with a complete makeover! Box and
+ meta no longer share the same ship.
+2018-07-27:
+ ShizCalev:
+ - bugfix: Destroying a camera will now clear it's alarm.
+ ninjanomnom:
+ - bugfix: The cargo shuttle should move normally again
+2018-07-28:
+ CitrusGender:
+ - rscdel: Removed slippery component from water turf
+ Denton:
+ - balance: The Odysseus mech's movespeed has been increased.
+ - tweak: 'Metastation: Spruced up the RnD circuitry lab; no gameplay changes.'
+ - tweak: Due to exemplary performance, NanoTrasen has awarded Shaft Miners with
+ their very own bathroom, constructed at the mining station dormitories. Construction
+ costs will be deducted from their salaries.
+ Mickyan:
+ - imageadd: insanity static is subtler
+ - imageadd: neutral mood icon is now light blue
+ SpaceManiac:
+ - bugfix: Cyborgs and AIs can now interact with items inside them again.
+ Tlaltecuhtli:
+ - rscadd: Mouse traps are craftable from cardboard and a metal rod.
+ WJohnston:
+ - balance: Syndicate and pirate simple animals should have stats that more closely
+ resemble fighting a human in those suits, with appropriate health, sounds, and
+ space movement limitations.
+ - imageadd: Pirates in space suits have more modern space suits.
+2018-07-30:
+ Anonmare:
+ - balance: Upload boards and AI modules, in addition to Weapon Recharger boards,
+ are now more expensive to manufacture
+ Basilman:
+ - bugfix: fixed BM Speedwagon offsets
+ Cobby (based off Wesoda25's idea):
+ - rscadd: Adds the PENLITE holobarrier. A holographic barrier which halts individuals
+ with bad diseases!
+ Denton:
+ - tweak: Techweb nodes that are available to exofabs by roundstart have been moved
+ to basic research technology.
+ - balance: Ripley APLU circuit boards are now printable by roundstart.
+ - balance: Odysseus, Gygax, Durand, H.O.N.K. and Phazon mech parts have to be researched
+ before becoming printable (same as their circuit boards).
+ - tweak: Arrivals shuttles no longer throw objects/players when docking.
+ - bugfix: Regular fedoras no longer spawn containing flasks.
+ - tweak: Increased the range of handheld T-ray scanners.
+ - balance: Cargo bounties that request irreplaceable items have been removed.
+ Garen:
+ - balance: Throwers no longer deal damage
+ - balance: Flashlight circuits are now the same strength as a normal flashlight
+ - balance: Grabber circuits are now combat circuits
+ - rscdel: Removed smoke circuits
+ - rscdel: Removed all screens larger than small
+ - tweak: Ntnet circuits can no longer specify the passkey used, it instead always
+ uses the access
+ Hate9:
+ - rscadd: Added pulse multiplexer circuits, to complete the list of data transfers.
+ Jared-Fogle:
+ - rscadd: NanoTrasen now officially recognizes Moth Week as a holiday.
+ - rscdel: Temporarily removes canvases until someone figures out how to fix them.
+ Mickyan:
+ - balance: Social anxiety trigger range decreased. Stay out of my personal space!
+ - bugfix: Social anxiety no longer triggers while nobody is around but you
+ WJohnston:
+ - rscadd: Redesigned the metastation white ship as a salvage vessel.
+ YoYoBatty:
+ - bugfix: SMES power terminals not actually deleting the terminal reference when
+ by cutting the terminal itself rather than the SMES.
+ - bugfix: SMES now reconnect to the grid properly after construction.
+ - refactor: SMES now uses wirecutter act to handle terminal deconstruction.
+ ninjanomnom:
+ - bugfix: Objects picked up from tables blocking throws will no longer be forever
+ unthrowable
diff --git a/html/changelogs/archive/2018-08.yml b/html/changelogs/archive/2018-08.yml
new file mode 100644
index 0000000000..3ee21a1a6f
--- /dev/null
+++ b/html/changelogs/archive/2018-08.yml
@@ -0,0 +1,534 @@
+2018-08-01:
+ Basilman:
+ - rscadd: Added the stealth manual to the uplink, costs 8 TC. Find it under the
+ implant section
+ Cobby:
+ - spellcheck: Drone's Law 3 has been edited to explicitly state that it's for the
+ site of activation (aka people do not get banned for going to upgrade station
+ as derelict drones since it's explicitly clear now). See https://tgstation13.org/phpBB/viewtopic.php?f=33&t=18844&p=429944#p429944
+ for why this was PR'd
+ - bugfix: PENLITEs are now actually spawnable in techwebs. Reminder to make sure
+ everything is committed before PRing haha!
+ Denton:
+ - tweak: New bounties have been added for the Firefighter APLU mech, cat tails and
+ the Cat/Liz o' Nine Tails weapons.
+ - bugfix: ExoNuclear mech reactors now noticably irradiate their environment.
+ - spellcheck: Adjusted suit storage unit descriptions to mention that they can decontaminate
+ irradiated equipment.
+ Hate9:
+ - rscadd: Added tiny-sized circuits (called Devices)
+ - imageadd: added new icons for the Devices
+ Iamgoofball:
+ - balance: 'Buzzkill Grenade Box Cost: 5 -> 15'
+ Shdorsh:
+ - rscadd: Text replacer circuit
+ SpaceManiac:
+ - bugfix: The bridge of the gulag shuttle now has a stacking machine console for
+ ejecting sheets.
+ Time-Green:
+ - rscadd: You can now mount energy guns into emitters
+ - bugfix: portal guns no longer runtime when fired by turrets
+ barbedwireqtip:
+ - tweak: Adds the security guard outfit from Half-Life to the secdrobe
+ granpawalton:
+ - tweak: Removed old piping sections and replaced with Canister storage area in
+ atmos incinerator
+ - tweak: scrubber and distro pipes moved in atmos incinerator to make room for added
+ piping
+ - balance: added filter at connector on scrubbing pipe in atmos incinerator
+ - balance: replaced vent in incinerator with scrubber in **Both** incinerators
+ - balance: mixer placed on pure loop at plasma
+ - bugfix: delta and pubby atmos incinerator air alarm is no longer locked at round
+ start
+ - bugfix: pubby atmos incinerator now starts without atmos in it
+ kevinz000:
+ - rscadd: 'Cameras now shoot from 1x1 to 7x7, fully customizable. Alt click on them
+ to change the size of your photos. experimental: All photos, assuming the server
+ host turns this feature on, will be logged to disk in round logs, with their
+ data and path stored in a json. This allows for things like Statbus, and persistence
+ features among other things to easily grab the data and load the photo.'
+ - rscadd: Mappers are now able to add in photo albums and wall frames with persistence!
+ This, obviously, requires photo logging to be turned on. If this is enabled
+ and used, these albums and frames will save the ID of the photo(s) inside them
+ and load it the next time they're loaded in! Like secret satchels, but for photos!
+2018-08-03:
+ ArcaneMusic:
+ - soundadd: Added a new, shoutier RoundEnd Sound.
+ Basilman:
+ - bugfix: fixed agent box invisibility
+ Denton:
+ - tweak: 'Syndicate lavaland base: Added a grenade parts vendor and smoke machine
+ board. The testing chamber now has a heatproof door and vents/scrubbers to replace
+ air after testing gas grenades. Chemical/soda/beer vendors are emagged by default;
+ the vault contains a set of valuable Syndicate documents.'
+ - tweak: Added a scrubber pipenet to the Lavaland mining base.
+ Garen:
+ - bugfix: mobs now call COMSIG_PARENT_ATTACKBY
+ JJRcop:
+ - rscadd: Deadchat can use emoji now, be sure to freak out scrying orb users.
+ Kmc2000:
+ - rscadd: You can now attach 4 energy swords to a securiton assembly instead of
+ a baton to create a 4 esword wielding nightmare-bot
+ Mickyan:
+ - imageadd: added sprites for camera when equipped or in hand
+ - tweak: cameras are now equipped in the neck slot
+ SpaceManiac:
+ - bugfix: Traps now have their examine text back.
+ Supermichael777:
+ - bugfix: Cigarettes now always transfer a valid amount of reagents.
+ - bugfix: Reagent order of operations is no longer completely insane
+ WJohnston:
+ - tweak: Added a gun recharger to delta's white ship and toned it down from a "luxury"
+ frigate to just a NT frigate, it's just not made for luxury!
+ XDTM:
+ - bugfix: Beheading now works while in hard crit, so it can be used against zombies.
+ - tweak: You can now have fakedeath without also being unconscious. Existing sources
+ of fakedeath still cause unconsciousness.
+ - rscadd: Zombies and skeletons now appear as dead. Don't trust zombies on the ground!
+ - rscadd: You can now make Ghoul Powder with Zombie Powder and epinephrine, which
+ causes fakedeath without uncounsciousness.
+ granpawalton:
+ - bugfix: pubby round start atmos issues resolved
+ - bugfix: pubby departures lounge vent is no longer belonging to brig maint
+ - rscadd: pipe dispenser on pirate ship
+ ninjanomnom:
+ - bugfix: The first pod spawned had some issues with shuttle id and wouldn't move
+ properly. This has been fixed.
+2018-08-06:
+ Basilman:
+ - balance: Increased agent box cooldown to 10 seconds
+ Denton:
+ - bugfix: Omegastation's Atmospherics lockdown button now has the proper access
+ reqs.
+ - bugfix: Pubbystation's disposals conveyor belts now face the correct direction.
+ - bugfix: Pubby's service techfab is no longer stuck inside a wall.
+ - bugfix: Pubby's disposal loop is no longer broken.
+ - tweak: The Lavaland seed vault chem dispenser now has upgraded stock parts.
+ - tweak: 'Metastation: Extended protective grilles to partially cover the Supermatter
+ cooling loop.'
+ Epoc:
+ - rscadd: You can now show off your Attorney's Badge
+ Garen:
+ - bugfix: Fixed AddComponent(target) not working when an instance is passed rather
+ than a path
+ JJRcop:
+ - bugfix: Fixed some strange string handling in SDQL
+ Jared-Fogle:
+ - rscadd: Moths can now eat clothes.
+ JohnGinnane:
+ - rscadd: Users can now see their prayers (similar to PDA sending messages)
+ Mickyan:
+ - tweak: Drinking alcohol now improves your mood
+ Shdorsh:
+ - bugfix: The previously-added find-replace circuit now actually exists.
+ Tlaltecuhtli (and then Cobby):
+ - bugfix: Science Bounties are now available!
+ WJohnston:
+ - balance: Rebalanced the simple animal syndies on the metastation ship to be a
+ bit less destructive of their surroundings, and downgraded the smg guy to a
+ pistol and upgraded the other guys to knives.
+ Y0SH1 M4S73R:
+ - rscadd: windoors now have NTNet support. The "open" command toggles the windoor
+ open and closed. The "touch" command, not usable by door remotes, functions
+ identically to walking into the windoor, opening it and then closing it after
+ some time.
+ cyclowns:
+ - tweak: Fusion has been reworked to be a whole lot deadlier!
+ - tweak: You can now use analyzers on gas mixtures holders (canisters, pipes, turfs,
+ etc) that have undergone fusion to see the power of the fusion reaction that
+ occurred.
+ - balance: Several gases' fusion power and fusion's gas creation has been reworked
+ to make its tier system more linear and less cheese-able.
+2018-08-07:
+ WJohnston:
+ - rscadd: Redesigned the pirate event ship to be much prettier and better fitting
+ what it was meant to do.
+2018-08-08:
+ Denton:
+ - rscadd: 'Added five new cargo packs: cargo supplies, circuitry starter pack, premium
+ carpet, surgical supplies and wrapping paper.'
+ - tweak: Added one bag of L type blood to the blood pack crate. Added a chance for
+ contraband crates to contain DonkSoft refill packs.
+ Iamgoofball:
+ - tweak: The Stealth Implant was mistakenly made nuclear operatives only due to
+ a misunderstanding of the code. This has been fixed.
+ Mark9013100:
+ - rscadd: Pocket fire extinguishers can now be made in the autolathe.
+ SpaceManiac:
+ - bugfix: The power flow control console once again allows actually modifying APCs.
+ - tweak: Gas meters will now prefer to target visible pipes if they share a turf
+ with hidden pipes.
+ daklaj:
+ - bugfix: fixed beepsky and ED-209 cuffing their target successfully even when getting
+ disabled (EMP'd) in the process
+ kevinz000:
+ - rscadd: Catpeople are now a subspecies of human. Switch your character's species
+ to "Felinid" to be one.
+ - rscadd: Oh yeah and they show up as felinids on health analyzers.
+2018-08-10:
+ AnturK:
+ - balance: Portable flashers won't burnout from failed flashes.
+ Denton, Tlaltecuhtli:
+ - rscadd: Added cargo bounties that require cooperation with Atmospherics, Engineering
+ and Mining.
+ Naksu:
+ - bugfix: Transformation diseases now properly check for job bans where applicable
+ - code_imp: Fixed a bunch of runtimes that result from transforming into a nonhuman
+ from a human, or a noncarbon from a carbon.
+ SpaceManiac:
+ - refactor: The map loader has been cleaned up and made more flexible.
+ nicbn:
+ - tweak: 'BoxStation science changes: Circuitry lab is closer to RnD now; cannisters,
+ portable vents, portable scrubbers, filters and mixers have been moved to Toxin
+ Mixing Lab. There is now a firing range at the testing lab!'
+2018-08-11:
+ Denton:
+ - tweak: Fixed the Beer Day date and added a few more holidays.
+ Jordie0608:
+ - admin: Asay history is once again logged under the admin log secret.
+ - admin: Notes, messages, memos and watchlists can now have an expiry time. Once
+ expired they are hidden like as if deleted.
+ SpaceManiac:
+ - tweak: Giant spiders can now freely pull their victims through webs.
+ Time-Green:
+ - rscadd: Circuit Boards now tell you the components required to build them on examine
+ WJohn:
+ - rscadd: Added zombies to boxstation's abandoned ship.
+ YPOQ:
+ - bugfix: AIs can take photos and print them at photocopiers again.
+ - bugfix: Cult floors will not deconstruct to space
+ - bugfix: Cult floors do not spawn rods when deconstructed
+ - bugfix: Footprints should no longer spread out of control
+ zaracka:
+ - bugfix: blunt trauma causes brain damage while unconscious too
+ - bugfix: sharp weapons no longer count as blunt trauma in all cases
+2018-08-12:
+ Denton:
+ - rscadd: Killing gondolas now lets you harvest meat from them. Eating it raw might
+ be a bad idea.
+ Mickyan:
+ - rscadd: Mixed drinks now give mood boosts with varying strength depending on their
+ quality.
+ - rscadd: Although powerful, mood boosts from quality drinks are short lived. If
+ you want to make the most out of them, take a sip every few minutes like a normal
+ human being instead of downing the entire glass like the alcoholic you are.
+ Nichlas0010:
+ - bugfix: Admins with +admin and without +fun are no longer able to smite.
+ SpaceManiac:
+ - bugfix: Blood and oil footprints sharing a tile no longer causes footprint decals
+ to stack.
+ WJohnston:
+ - balance: Syndicate (melee) simple animals will now move less predictably and attack
+ twice as often, hopefully making them quite a bit more dangerous.
+ XDTM:
+ - tweak: Operating Computers can now sync to the research database to acquire researched
+ surgeries, instead of requiring installation by disk.
+ - rscadd: You can now review the full list of unlocked surgeries from the operating
+ computer.
+ actioninja:
+ - rscadd: Added (unobtainable) Felinid Mutation Toxin.
+ lyman:
+ - imageadd: Updated the Chronosuit Helmet sprite.
+2018-08-13:
+ Basilman:
+ - rscadd: Adds Arnold pizza, dont try putting pineapple on it.
+ Denton:
+ - tweak: The briefcase launchpad can now hold items while in briefcase mode (just
+ like a regular briefcase). Its remote has been disguised as a folder and now
+ spawns pre-linked inside the briefcase.
+ - balance: Increased the briefcase launchpad's range from 3 to 8 tiles, which is
+ roughly half the screen.
+ - spellcheck: Added more ingame manuals that access wiki pages.
+ - rscadd: Added botanical and medical bounties as well as a static adamantine bar
+ bounty.
+ - tweak: Increased the syndicate document bounty's reward from 10.000 to 15.000
+ credits.
+ - tweak: Removed the gondola hide bounty and in return, increased the export value
+ to the old level.
+ - tweak: The briefcase bounty now also accepts secure briefcases.
+ - bugfix: The action figure bounty now correctly spawns as an assistant type bounty.
+ Logging refactor and improvement:
+ - code_imp: All mob-related logs now include the area name and (x,y,z) position.
+ - code_imp: All logs that included an (x,y,z) position now also include the area
+ name.
+ - code_imp: Standardized logging format of mob/player keys.
+ - code_imp: Telecomms logs are now included in the individual logging panel.
+ - code_imp: Fixed many other cases of logs being sent to either the individual logging
+ panel or the saved log files, but not both.
+ - refactor: The logging system has been refactored to contain less redundant code
+ and to produce more consistent logs.
+ SpaceManiac:
+ - admin: The VV window loads and searches faster.
+ - admin: Fields in the VV window's header will immediately show your edits.
+ - admin: Selecting an action from the VV dropdown no longer leaves it selected after
+ the action is done.
+ YPOQ:
+ - bugfix: Uncalibrated teleporters can turn humans into flies again
+2018-08-14:
+ Coolguy3289:
+ - config: Removed un-needed and un-used RENAME comment from game_options.txt
+ SpaceManiac:
+ - bugfix: Escape Pod 1 now reaches the CentCom recovery ship again.
+ WJohn:
+ - imageadd: Titanium walls and windows are a bit prettier looking now.
+ Zxaber:
+ - rscadd: Airlock electronics can have now have unrestricted access by direction
+ set. The resulting airlock will allow all traffic from the specified direction(s)
+ while still requiring normal access otherwise. A small floor light will indicate
+ this.
+ - tweak: Medbay Cloning and Main Access doors now have unrestricted access settings
+ set, and the buttons have been removed. All maps have been updated.
+ - bugfix: Airlocks now correctly update their overlays (bolts lights, emergency
+ lights) when their power state changes.
+2018-08-15:
+ barbedwireqtip:
+ - tweak: added binoculars to the detective's locker
+2018-08-17:
+ Anonmare:
+ - rscadd: Ore silos circuit boards are now constructable
+ SpaceManiac:
+ - admin: The "Map Template - Upload" verb now reports if a map uses nonexistent
+ paths.
+ Tlaltecuhtli:
+ - bugfix: fixes diamond drill bounty having the wrong object path
+ YPOQ:
+ - bugfix: Roundstart motion-detecting cameras work again
+ intrnlerr:
+ - bugfix: '"Allows image windows sent by PDA to be closed"'
+2018-08-18:
+ Floyd / Qustinnus:
+ - code_imp: moves nutrition events to the mood component
+ Jared-Fogle:
+ - rscadd: Hovering over storage slots with an item in your hand will show you first
+ if you can put the item in.
+ XDTM:
+ - bugfix: Fixed augmentation not working and/or giving you extra limbs
+ nicbn:
+ - imageadd: New janitor cart sprites (by Quantum-M)
+ - imageadd: Dirt is smooth (by AndrewMontagne)
+ zaracka:
+ - bugfix: You can now use certain emotes and the suicide verb while buckled, but
+ not while stunned.
+2018-08-20:
+ Basilman:
+ - rscadd: Added gondola fur products
+ Basilman, Sprites by WJohnston:
+ - rscadd: His Grace ascension is back, feed Him 25 people and you will unlock His
+ full potential.
+ Denton:
+ - tweak: Added new destinations for the parcel tagger! You can now send packages
+ to the Circuitry Lab, Toxins, Dormitories, Virology, Xenobiology, Law Office
+ and the Detective's office. Viro/Xeno can only receive parcels.
+ - bugfix: 'Deltastation: Tagged parcels no longer get routed straight into the crusher.
+ Untagged parcels also no longer get routed straight into the crusher!'
+ - tweak: 'Deltastation: Added disposals to Xenobiology that launch contents into
+ space.'
+ Epoc:
+ - tweak: Putting an extinguisher into a cabinet with the safety off will no longer
+ cause it to spray first
+ Floyd / Qustinnus:
+ - code_imp: removes useless mood events subtypes
+ - bugfix: 'fixes mood event timers not resetting when they get triggered again remove:
+ removes the depression overlay which makes our fruit happy'
+ Frosty Fridge:
+ - rscadd: Added the Surgical Processor upgrade for medical cyborgs. Scan surgery
+ disks or an operating computer to be able to initiate advanced procedures.
+ - tweak: Cyborgs can now perform surgery steps that do not require an instrument.
+ - bugfix: Plastic creation reaction now properly scales with the amount of reagents;
+ 10u = 1 sheet.
+ Garen:
+ - bugfix: fixed using items on a circuit removing all its access(now access gained
+ from each new item stacks)
+ - admin: adds logging for gun circuits, grabber circuits, and dragging claw circuits
+ - rscadd: grabbers can select what they want to drop
+ MrDoomBringer:
+ - imageadd: The Nanotrasen Airspace Aesthetics division has shipped out a newer
+ design of NT-Brand "Ore Silos". No new features have been added, but they certainly
+ look much nicer!
+ Naksu:
+ - balance: Having a high body temperature now increases the damage you take gradually,
+ whether you're on fire or not. Being on fire also always increases body temperature
+ damage
+ NewSta:
+ - tweak: The names of haircuts, facial hair, undershirts, underwear and socks have
+ now been sorted and categorized
+ WJohnston:
+ - imageadd: Remade titanium and plastitanium floors to be less of an eye strain
+ and something mappers might actually consider using.
+ - imageadd: New reinforced floor sprites.
+ XDTM:
+ - rscadd: Added programmable nanites to science!
+ - rscadd: Science now has a nanite chamber, a nanite program hub, a nanite cloud
+ console and a nanite programmer.
+ - rscadd: From the program hub you can download nanite programs (unlocked through
+ techwebs) to disks.
+ - rscadd: You can then customize their functionality and signal codes through the
+ Nanite Programmer.
+ - rscadd: The nanite chamber is necesary to inject nanites into a patient, and it's
+ also used to install/uninstall programs into a patient's nanites. A second person
+ is required to man the console.
+ - rscadd: The nanite cloud console controls remote program storage; it stores program
+ backups that nanites can be synced to through cloud IDs.
+ - rscadd: Nanite programs range can be either helpful or harmful; their main potential
+ is that they can be enabled at will through the use of remotes and sensors.
+ The potential uses are endless!
+ - rscadd: More detailed information is available in the wiki.
+2018-08-22:
+ BlueNothing:
+ - rscadd: Allows video camera circuits to be seen on networks other than the science
+ cameranet.
+ - tweak: Alphabetizes camera list for camera bugs, and lets camera bugs see through
+ borg and circuit cameras.
+ - tweak: Makes video camera circuits fit in tiny assemblies.
+ PKPenguin321:
+ - tweak: The GPS circuit now has a 4th output, placing X,Y,Z all in a string.
+ - rscadd: '2 new converters: Rel to Abs, and Advanced Rel to Abs.'
+ - rscadd: Rel to Abs takes a set of relative and a set of absolute coordinates,
+ and converts the relative one to absolute. 1 complexity.
+ - rscadd: Advanced Rel to Abs takes a set of relative coordinates and converts it
+ to absolute without the need for an already known set of absolute coordinates.
+ 2 complexity.
+ SpaceManiac:
+ - bugfix: Freezers and heaters which start on no longer stay visually on when you
+ turn them off.
+ - code_imp: Atmospherics now initializes 93% (about 40 seconds) faster.
+ floyd:
+ - bugfix: fixes the hunger alert appearing forever
+ intrnlerr:
+ - bugfix: Tank temperature is no longer based on pressure
+ ninjanomnom:
+ - bugfix: Shuttle templates now handle shuttle registration in the load rather than
+ the shuttle manipulator. This means admin loaded shuttle templates no longer
+ need to be manually registered.
+ oranges:
+ - tweak: Inventory overlay now uses a traffic light to indicate if the item can
+ be placed in there
+2018-08-23:
+ Naksu:
+ - code_imp: Waddling is now available as a component
+ Nervere:
+ - rscadd: re-adds the joy emoji.
+ SpaceManiac:
+ - rscadd: The body zone selector now indicates which body part you are about to
+ select when hovered over.
+ - code_imp: Transit space initializes about five seconds faster.
+ Tlaltecuhtli:
+ - balance: Cyborg ion thrusters consume 1/5 of their previous power.
+2018-08-25:
+ Denton:
+ - rscadd: Added missing export rewards for various lavaland items (tendril/megafauna/ruins)
+ and engine parts.
+ - balance: Increased export values for emitters, PA parts, field generators and
+ radiation collectors to match the rest of engineering exports. Reduced supermatter
+ shard value by 1000 credits.
+ - rscdel: Removed export rewards for red/blue warp cubes since they're blacklisted
+ from the cargo shuttle.
+ - tweak: Added private intercoms to the confession booths of the Deltastation+Pubbystation
+ chapels.
+ - bugfix: Fixed invalid radio frequencies on interrogation chamber/confession booth
+ intercoms.
+ - tweak: Anime is even more horrifying than previously discovered!
+ - rscadd: Added a new shuttle loan event where crew can get paid for having an active
+ syndicate bomb delivered to cargo bay.
+ Mickyan:
+ - bugfix: Blue polo undershirt option has been restored
+ - tweak: underwear "nude" option moved to the top of the list
+ SpaceManiac:
+ - code_imp: The map loader now supports vars to be set to lists containing non-strings.
+ - bugfix: Overcharging energy guns no longer crashes the server.
+ - bugfix: Ordering the Build Your Own Shuttle kit no longer crashes the server.
+ The Dreamweaver:
+ - code_imp: Refactored gift code to fix a minor inefficiency.
+ XDTM:
+ - bugfix: Fixed chest and head augmentation not working properly.
+2018-08-26:
+ CitrusGender:
+ - admin: Added note severity to [most] bans and the notes associated with them
+ - admin: 'Banning panel now has a severity option UI: Changed the UI of the note
+ panel UI: Changed the UI again, added some icons, removed brackets in urls,
+ fading out notes cannot be selected to expand the browser anymore'
+ Floyd / Qustinnus (Credits to KMC for the sprites):
+ - rscadd: The Clown Car, your 18TC clown-only solution to asshole co-workers
+ - rscadd: Regular car implementation (makes it easier to add more cars if someone
+ actually feels like adding those)
+ JJRcop:
+ - admin: 'Asay logs show "ADMINPRIVATE: ASAY:" again instead of just "ADMINPRIVATE:"'
+ Naksu:
+ - code_imp: living and stack typecaches now use a shared instance where it makes
+ sense, giving small memory savings
+ PKPenguin321:
+ - rscadd: Integrated circuit medium screens have been readded. They are now called
+ large screens. They now only work from your hands or on the ground when you're
+ standing on top of them (NOT from pockets, lockers, backpacks, etc).
+ - bugfix: Roundstart cyborgs will now be properly referred to as "it."
+ SpaceManiac:
+ - admin: The shuttle manipulator now allows flying any shuttle to any port which
+ will fit it.
+ - bugfix: The shuttle manipulator now allows fast-travelling shuttles with 5s remaining,
+ down from 50s.
+ - refactor: Status displays have been refactored to be cleaner and more flexible.
+ - bugfix: The AI dying properly updates its status displays again.
+ intrnlerr:
+ - refactor: Refactored nettles to be reagent_containers
+ nicbn:
+ - soundadd: Nanotrasen shoes no longer contain Silencium. Now footsteps make noise!
+ Sounds from Baystation.
+2018-08-28:
+ Denton:
+ - bugfix: The 10 second anti spam cooldown of night shift lighting now works properly.
+ - spellcheck: Added an examine message to APCs that mentions Alt-click and Ctrl-click
+ (silicons only) behavior.
+ Garen:
+ - code_imp: adds a signal for screwdriver_act
+ SpaceManiac:
+ - code_imp: Multiple copies of a shuttle each get their own area instances (affects
+ APCs and air alarms).
+ XDTM:
+ - rscadd: The forcefield projector is now available ingame in the engineering protolathe.
+ It can project up to 3 forcefields which act as transparent walls, and share
+ a pool of health which is recharged over time. The projector must remain within
+ 7 tiles of the forcefields to keep them active.
+2018-08-31:
+ Anonmare:
+ - bugfix: AIs can now turn shield generators on and off again
+ Denton:
+ - bugfix: Plastic golems can no longer vent crawl with items in their pockets.
+ Mickyan:
+ - balance: Skateboards can fit in backpacks
+ - tweak: Skateboards are slower by default, speed can be adjusted by alt-clicking
+ - rscadd: 'Show your support for the fine arts with these new quirks:'
+ - rscadd: 'Tagger: drawing graffiti takes half as many charges off your spraycan/crayon'
+ - rscadd: 'Photographer: halves the cooldown after taking a picture'
+ - rscadd: 'Musician: tune instruments to temporarily give your music beneficial
+ effects such as clearing minor debuffs and improving mood.'
+ Skoglol:
+ - bugfix: Dispensers can now add 5u to buckets, plastic beakers and metamaterial
+ beakers, down from 10u.
+ - bugfix: You can now pour 5u from buckets, plastic beakers and metamaterial beakers,
+ down from 10u.
+ - bugfix: Chem dispenser window width increased slightly, no longer shuffles buttons
+ when scroll bar appears.
+ The Dreamweaver:
+ - bugfix: Sentience Potions no longer require you to have Xenomorph toggled on in
+ preferences and now relies on its own preference in order to be notified of
+ open roles.
+ - code_imp: Split xenomorph, intelligence potions, and mind transfer potions into
+ separate roles for more precise role management.
+ - admin: Sentience Potion Spawns and Mind Transfer Potions are now job-bannable
+ roles.
+ Time-Green and locker sprites by MrDoomBringer:
+ - rscadd: Reports have come in that the wizard federation has harnessed some of
+ the ancient locker force to create a wand
+ XDTM:
+ - rscdel: Removed the chance of spouting brain damage lines when over 60 brain damage.
+ The dumbness trauma still has them.
+ - bugfix: Fixed Mechanical Repair nanites not working.
+ ninjanomnom:
+ - rscadd: Computers are now visible even in the darkest of rooms. Comfy!
+ - tweak: Because computers are now far easier to find in dark rooms their base light
+ output has been reduced.
+ - bugfix: Broken components left over from the signal origin refactor should be
+ fixed.
+ - bugfix: Lava isn't a safe place to throw your flammable shit anymore
+ - bugfix: The computer screen overlay being rotated incorrectly after construction
+ has been fixed.
diff --git a/html/changelogs/archive/2018-09.yml b/html/changelogs/archive/2018-09.yml
new file mode 100644
index 0000000000..8c438a3b7f
--- /dev/null
+++ b/html/changelogs/archive/2018-09.yml
@@ -0,0 +1,782 @@
+2018-09-01:
+ ElPresidentePoole:
+ - rscdel: removes curator's fear of snakes
+ McDonald072:
+ - bugfix: Defibrillator nanites work properly.
+ Poojawa:
+ - bugfix: fixed clothing vendor fedoras having Detective Fedora grade armor
+ Potato Masher:
+ - tweak: The color of Wooden golems should be more in line with the color of the
+ wood used to make it.
+ WJohnston:
+ - imageadd: Reinforced floors are now shinier.
+2018-09-02:
+ Denton:
+ - spellcheck: Fixed species type names that show up on health scanners.
+2018-09-03:
+ Cdey78 (Ported by Floyd / Qustinnus):
+ - imageadd: AI can now think
+ - imageadd: 'New OOC emote: :thinking:!'
+ Naksu:
+ - admin: a new admin secret has been added to create a customized portal storm
+ Shdorsh:
+ - tweak: Makes it possible to create circuits that can get an item loaded into them
+ while they are in an assembly and the assembly is open.
+ - code_imp: Optimized electronic assemblies also.
+ - bugfix: A bug pertaining putting batteries in assemblies
+ Skoglol:
+ - bugfix: Eggplant and egg-plant seeds now have different names and plant names.
+ XDTM:
+ - bugfix: Fixed nanite cloud storage not allowing uploads.
+ octareenroon91:
+ - admin: Supermatter more likely to log fingerprintslast when it consumes any object.
+2018-09-04:
+ Denton:
+ - spellcheck: Mech construction messages no longer incorrectly mention high-tier
+ stock parts.
+ - tweak: Added a nanite lab to Deltastation! It's at the old EXPERIMENTOR lab.
+ - tweak: 'Delta: Moved the Xenobiology disposals bin to be less obstructive. Added
+ two sets of insulated gloves to Engineering.'
+ - bugfix: 'Delta: Fixed scientists not having maintenance access near the circuitry
+ lab and toxins launch chamber.'
+ Shdorsh:
+ - code_imp: Made all the extinguishers use less sleep and spawn procs
+2018-09-27:
+ Alexch2:
+ - spellcheck: Fixes tons of typos related to integrated circuits.
+ - tweak: Re-writes the descriptions of a few parts of integrated circuits.
+ 'Armhulen code, Keekenox sprites and S_____ as the ideas guy :roll_eyes:':
+ - rscadd: 'New drinks: Peppermint Patty and the Candyland Extract!!'
+ Astatineguy12:
+ - tweak: The experimentor is less likely to produce food when it transforms an item
+ - bugfix: The experimentor no longer breaks when the toxic waste malfunction occurs
+ multiple times and isn't cleaned up
+ - bugfix: The experimentor irridiate function actually chooses what item to make
+ properly rather than picking from the start of the list
+ - bugfix: The mime blockade spell now shows up under the right tab
+ Beachsprites:
+ - imageadd: added directional beach sprites
+ Big Tobacco:
+ - rscadd: Cheap lighters now come in four different shapes and Zippos can have one
+ of four different designs, collect them all and improve our sales!
+ - imageadd: All existing lighter sprites have been given a face-lift and the flames
+ are now subtly animated.
+ - tweak: Cheap lighters now use a fixed list of 16 colors to pick from instead of
+ using totally randomized colors.
+ - imageadd: Cigar cases have been tweaked to be a bit smaller and to have a modified
+ design.
+ - imageadd: Cohiba Robusto and Havanan cigars now use separate case sprites from
+ the generic premium cigar cases.
+ CameronWoof:
+ - tweak: Quartermaster added to the list of changeling and traitor restricted jobs
+ CitadelStationBot:
+ - bugfix: The faint echoes of maracas grows louder, as if a past spirit once forgotten
+ has come back with a vengeance...
+ - bugfix: Removing an ID card from a wallet now properly removes its visual and
+ accesses.
+ - tweak: You may now take unlimited neutral and negative quirks
+ - tweak: the walls on the crashed abductor ship ruin in lavaland can now be broken
+ down
+ - bugfix: Pipe icons in the RPD now show properly in older versions of IE.
+ - bugfix: Removing an ID from a PDA in a backpack no longer hides the ID until something
+ else updates.
+ - bugfix: Opening and closing airlocks repeatedly no longer stacks queued autocloses.
+ - bugfix: Mindswapping with someone else no longer forces ambient occlusion on.
+ - bugfix: Admin AI interaction now works properly on firelocks.
+ - code_imp: IRV polls now use the same version of jQuery as everything else.
+ - rscadd: You can now view your last round end report window with the "Your last
+ round" verb in the OOC tab
+ - bugfix: Hydroponics trays can no longer be deconstructed with their panels closed
+ or unanchored while irrigated.
+ - tweak: Frames for machines which do not require being anchored can now be un/anchored
+ after the circuit has been added.
+ - spellcheck: Fix "Your the wormhole jaunter" when a wormhole jaunter saves you
+ from a chasm.
+ - rscadd: Analyzers can now scan all kinds of atmospheric machinery - unary, binary,
+ ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers,
+ vents and so forth can be analyzed.
+ - tweak: Analyzers now show temperature in kelvin as well as celsius.
+ - tweak: Analyzers now show total mole count, volume, and mole count of all gases.
+ - tweak: Analyzers show everything at slightly higher degrees of precision.
+ - rscadd: Any anomaly core can now be deconstructed for a one time boost of 10k
+ points in the deconstructive analyzer.
+ - bugfix: Chasms no longer drop mobs buckled to undroppable mobs or objects.
+ - bugfix: Digital valves are once again operable by silicons.
+ - bugfix: Field generators are once again operable by adjacent cyborgs.
+ - bugfix: Entertainment monitors now view the real Thunderdome rather than the template.
+ - bugfix: Flipping and then rotating trinary pipe fittings no longer causes their
+ icon to mismatch what they will become when wrenched.
+ - bugfix: RPD tooltips for flippable trinary components have been corrected.
+ - bugfix: The green overlay indicating where a map template will be placed is no
+ longer invisible on space turfs.
+ - bugfix: Frost spiders now correctly inject frost oil on bite.
+ - bugfix: Inserting materials into protolathes with telekinesis is now possible.
+ - bugfix: Telekinesis no longer teleports items removed from deep fryers, constructed
+ sandbags, and leftover materials not inserted into lathes.
+ - bugfix: Telekinetic sparkles now appear in the correct place when clicking on
+ a turf and when clicking in the fog of war in widescreen.
+ - bugfix: Telekinetically adjusting power tools no longer causes them to exit the
+ universe.
+ - tweak: Examining a telekinetic grab in-hand will now examine the grabbed object.
+ - bugfix: Non-harmfully placing someone who is resting on a table no longer makes
+ them get up.
+ - bugfix: The disco machine no longer lags the chat by spamming "You are now resting!"
+ messages.
+ - tweak: Clicking on the viewport to focus it no longer leaves the input bar red.
+ - bugfix: Running diagonally into space now properly continues the diagonal movement
+ in zero-gravity.
+ - bugfix: Moving diagonally past delivery chutes, transit tube pods, &c. no longer
+ causes your camera to be stuck on them.
+ - config: The limit of monkey's spawned via monkey cubes is now configurable
+ - bugfix: Fixes cyborgs not being able to use two-handed modules while other modules
+ are equipped.
+ - bugfix: Pubby's auxiliary mining base now works again.
+ - bugfix: The overlay effects of cult flooring are now on the floor plane, fixing
+ their odd ambient occlusion appearance.
+ - bugfix: Cloning no longer breaks a character's connection to their family heirloom.
+ - bugfix: Beam rifle tracers no longer fall into chasms.
+ - bugfix: Vomiting on the same tile a second time no deletes the vomited reagents.
+ - bugfix: fixed the clockwork helmet not dropping to ground when used by non-clock
+ cultists
+ - refactor: The base machinery type is now anchored by default.
+ - bugfix: PDA style now gets loaded correctly.
+ - bugfix: Switching mobs into/out of a mech (by VR, ghosting, or mindswap) no longer
+ improperly applies the mech's cursor.
+ - tweak: roboticists have access to R&D windoors
+ - tweak: switched the type of the space suit on the syndicate shuttle
+ - bugfix: fixed hydroponics tray weed light staying on when removing weeds with
+ integrated circuits
+ - bugfix: Atom initialization and icon smoothing no longer race, causing late-loading
+ mineral turfs to have no icon.
+ - spellcheck: Faceless persons no longer "melt their face off" in energy gun suicides.
+ - bugfix: The Lightning Bolt spell now works again.
+ - tweak: Vehicle speed changes now happen immediately instead of on the next movement
+ cycle
+ - bugfix: Picture-in-picture objects now are no longer overlapped by other certain
+ objects
+ - bugfix: A pAI dying while in holoform no longer deletes the card, instead merely
+ emptying it.
+ - bugfix: The thermal sight benefits of lantern wisps no longer disappear if you
+ change glasses.
+ - imageadd: sandstone wall sprite for indestructible object
+ - bugfix: Stabilized gold extracts now respawn the familiar properly.
+ - bugfix: Stabilized gold familiars retain the proper languages even after respawning.
+ - tweak: Stabilized gold familiars can be renamed and have their positions reset
+ at will.
+ - bugfix: Pulling objects diagonally no longer causes them to flail about when changing
+ directions.
+ - bugfix: Riders are no longer left behind if you move while pulling something that
+ has since been anchored.
+ - tweak: Fire alarms now redden all the room's lights, and emit light themselves,
+ rather than applying an area-wide overlay.
+ - bugfix: Fire alarms no longer visually conflict with radiation storms.
+ - bugfix: Plasmamen now receive their suit and internals when entering VR.
+ - bugfix: Deaf people can no longer hear cyborg system error alarms.
+ - bugfix: Lockboxes are now actually locked again.
+ - bugfix: Legion cores and admin revives now heal confusion.
+ - bugfix: checks to see if bullets are deleted if they are the ammo type and the
+ bullet chambered.
+ - spellcheck: Capitalization, propriety, and plurality on turfs have been improved.
+ - bugfix: Unbreakable ladders are now left behind when shuttles move.
+ - rscadd: Players who edited a circuit assembly can scan it as a ghost.
+ - bugfix: It is no longer possible to pull the mirages images at space transitions,
+ and some other abstract effects.
+ - bugfix: Moving large amounts of items with bluespace launchpads no longer creates
+ a laggy amount of sparks.
+ - bugfix: The escape pod hallways on MetaStation and DeltaStation now have air again.
+ - bugfix: It is no longer possible to repair cyborg headlamps even when their panel
+ is closed.
+ - bugfix: Item fortification scrolls no longer add multiple prefixes when applied
+ to the same item.
+ - tweak: The blob core (and only the blob core) now respawns randomly on the station
+ when the core is taken off z-level
+ - bugfix: Prevents the round from going into an unending state
+ - code_imp: Added a variable to the stationloving component for objects that can
+ be destroyed but not moved off z-level
+ - rscadd: After years of protests NT decided to update the fire security standards
+ by adding 3 (three) advanced fire extinguishers to all the new stations.
+ - bugfix: Hyperspace ripples now remain visible until the shuttle arrives, even
+ during extreme lag.
+ - bugfix: Ripples now correctly take the shape of the shuttle, rather than always
+ being a rectangle.
+ - bugfix: Non-secure windoors now properly support the "One Required" access mode
+ of airlock electronics.
+ - bugfix: The gulag shuttle no longer moves instantly when returned via the claim
+ console.
+ - admin: It is now possible to use the ".p" (Asay) and ".d" (Dsay) prefixes while
+ an admin ghost.
+ - admin: Speaking in deadchat now shows your rank instead of ADMIN
+ - rscadd: Added a pink scarf to vendomats
+ - rscadd: Players can now ctrl-click the PDA to remove the item in its pen slot
+ - bugfix: added a clamp so you can't set a negative multiplier to create materials
+ and create more than 50 items.
+ - bugfix: anomaly cores no longer tend to dust
+ - spellcheck: Plant disks with potency genes clarify the percent is for potency
+ scaling and not relative to max volume on examine.
+ - rscadd: Blast cannons have been fixed and are now available for purchase by traitorous
+ scientists for a low low price of 14TC.
+ - rscadd: 'Blast cannons take the explosive power of a TTV bomb and ejects a linear
+ projectile that will apply what the bomb would do to a certain tile at that
+ distance to that tile. However, this will not cause breaches, or gib mobs, unless
+ the gods (admins) so will it. experimental: Blast cannons do not respect maxcap.
+ (Unless the admins so will it.)'
+ - rscadd: Cyborgs now drop keys on deconstruction/detonation
+ - bugfix: The "Save Logs" option in the chat now actually works (IE 10+ only).
+ - bugfix: Fixed cyborgs not getting their names at round start
+ - bugfix: Fixed cyborgs and A.I.s being able to bypass appearance bans
+ - bugfix: fixes cult shuttle message repeating
+ - bugfix: Hardsuit helmets now protect the wearer from pepperspray
+ - bugfix: It is once again possible for Cargo to export mechs.
+ - tweak: tourettes doesnt stack on itself anymore
+ - refactor: AI static now uses visual contents and should perform better in theory.
+ - bugfix: Bucket helmets cannot have reagents transferred into them until after
+ they are removed
+ - rscadd: R&D deconstructors can now destroy things regardless of if there's a point
+ value or material
+ - bugfix: You should now receive your destroy AI objectives properly during IAA
+ - bugfix: Deconstructable TEG now propertly connects to pipes.
+ - bugfix: Fix of inverted TEG sprite of slow turbine turning. add:Now you can flip
+ circulator and make TEG of your dream. add:Add TEG and circulator to "Advanced
+ Power Manipulation" techweb node.
+ - imageadd: New icon for plastic flaps that actually looks airtight.
+ - code_imp: Update to plastic flaps code to use tool procs rather than attackby
+ and removed two pointless states.
+ - bugfix: Printing the TEG and circulator boards no longer prints the completed
+ machinery instead.
+ - imageadd: Medical HUDs will now show an icon if the body has died recently enough
+ to be defibbed
+ Cobby:
+ - tweak: Decals are the exception to the recent removal of effects in Chameleon
+ Projectors.
+ - rscdel: Removed Advanced Mining Scanner from roundstart voucher kits.
+ - rscdel: Removed Explorer Webbing from all voucher kits besides the shelter capsule
+ pack.
+ - bugfix: Paper doesn't give illegal tech anymore
+ Cruix:
+ - rscadd: AIs now have an experimental multi-camera mode that allows them to view
+ up to six map areas at the same time, accessible through two new buttons on
+ their HUD.
+ Dax Dupont:
+ - bugfix: Fixes the wrong tiles in Syndicate VR trainer and uses different tiny
+ fans.
+ - bugfix: Access didn't append to VR IDs
+ - bugfix: Fixes missing curator hud icon.
+ - balance: Cult items will no longer be a long ride on the vomit coaster if picked
+ up by a non cultist.
+ - balance: Cult space bases are kill again.
+ - balance: Cult floors now pass gas.
+ - bugfix: Fixed a few things deconning into the wrong circuit.
+ - bugfix: You can no longer do infinite bioware surgery.
+ - bugfix: Foam no longer gives infinite metal
+ - bugfix: Mulligan didn't work on lizards and other mutants. Now it does.
+ - tweak: The BoH dialog now has Abort instead of Proceed as an default option.
+ - bugfix: Fixes accidental empty ahelp replies.
+ - balance: More chemicals can be found when vents get clogged.
+ - bugfix: Experimentor no longer shits out primed TB nades.
+ - bugfix: Fixed rpeds throwing stock part rating related runtimes.
+ - bugfix: Fixes a sentience related exploit by blacklisting it in restricted uplinks.
+ - bugfix: Botany trays don't magically refill anymore with a rped.
+ - balance: It's now easier to become fat. Don't eat so much.
+ - bugfix: Fixed missing grilles under brig windows of the pubby shuttle.
+ - rscadd: For the pubby shuttle, added some food in the fridge, mostly pie slices.
+ Also added a sleeper to the minimedbay.
+ - tweak: Reworded pubby shuttle description to be more inline with the new train
+ shuttle.
+ - refactor: Syndicate and Centcom messages have been squashed together.
+ - admin: You can now send both Syndicate and Centcom headset messages. Be mindful
+ that the button was changed to HM in the playerpanel
+ - bugfix: Fixes missing cream pies in the cream pie fridge.
+ - bugfix: Chem synths overlays aren't all kinds of fucked anymore.
+ - refactor: Unfucked all of the remaining chem synth code.
+ - refactor: Reagents no longer have an unused var that's always set to true. Who
+ did this?
+ - balance: Makes the xeno nest ruin harder to cheese.
+ - bugfix: Fixes the bathroom being airless in the Space Ninja anime jail.
+ - admin: Create antags now checks for people being on station before applying.
+ - admin: Malf AI machine overloads now are logged/admin messaged.
+ Denton:
+ - rscadd: APC/air alarm/airlock/fire alarm/firelock electronics are now available
+ once Industrial Engineering is researched..
+ - tweak: Engi-Vend machines now contain fire alarm and firelock electronics!
+ - code_imp: Loose tech storage circuit boards have been replaced with spawners.
+ - code_imp: Added /syndicate subtypes for air alarms and APCs.
+ - bugfix: Added missing stock parts to the syndicate lavaland base.
+ - tweak: Added kitchen related circuit boards to the syndie lavaland base.
+ - tweak: There are rumors of the Tiger Cooperative adding a "special little something"
+ to some of their bioterror kits.
+ - code_imp: Loose silver/gold/solar panel crates have been replaced with "proper"
+ crates.
+ - balance: Skewium is much less likely to appear during the Clogged Vents event.
+ - bugfix: 'Navbeacon access requirements have been fixed: Now you need either Engineering
+ or Robotics access, but not both at the same time.'
+ - tweak: 'Pubbystation: Added a dual-port vent pump to the toxins burn chamber.'
+ - code_imp: Removed most airlock_controller/incinerator related varedits and replaced
+ them with defines/subtypes.
+ - tweak: The Deltastation toxins lab has its portable scrubber, air pump and intercom
+ back.
+ - bugfix: Swarmers can no longer attack field generators and turret covers.
+ - rscadd: Arcades have been stocked with preloaded tactical snack rigs.
+ - bugfix: The Pubbystation maint bar Booze-O-Mat now shows its contents correctly.
+ - tweak: Added a warning to the shuttle purchase menu.
+ - balance: Pirates and Syndicate salvage workers have been beefed up around the
+ caravan ambush ruin.
+ - tweak: NanoTours is proud to announce that the Lavaland beach club has been outfitted
+ with a dance machine, state of the art bar equipment and more.
+ - tweak: Did you know that honey has antibiotic properties?
+ - spellcheck: Improved supply shuttle messages and firefighting foam descs.
+ - bugfix: Supply shuttles will no longer spill containers on docking.
+ Dimmadunk:
+ - rscadd: 'There''s a new type of reagent added to the booze dispenser: Fernet.
+ With it you can make a couple of new digestif drinks that will help you reduce
+ excess fat!'
+ ElPresidentePoole:
+ - rscadd: SFX for seppuku (on all katanas)
+ - rscadd: suicide message for energy katanas ("cyber-seppuku")
+ - rscadd: suicide message for replica katanas ("seppuku")
+ Flatty:
+ - tweak: The blurry eye overlay has been replaced with an actual blur.
+ - tweak: The vending machine UI is now prettier.
+ Garen:
+ - rscadd: Thrower and Gun circuits put messages in chat when they're used.
+ - tweak: Only the gun assembly can throw/shoot while in hand
+ - imageadd: Adds inhands for the gun assembly
+ - bugfix: grabber inventories update when a thrower takes from them
+ GrayRachnid:
+ - rscadd: Adds private rooms to the ninja holding center
+ - rscadd: Along with a few things to make it more tolerable, but fear not. There
+ is now a suicide chamber for those who want the easy way out.
+ GuyonBroadway:
+ - rscadd: Adds gloves of the north star to the traitor uplink. Wearing these gloves
+ lets you punch people five times faster than normal.
+ - rscadd: Sprites for the gloves courtesy of Notamaniac
+ Hatterhat:
+ - tweak: The plasma formerly present in some execution syringes was replaced with
+ amatoxin.
+ Hyacinth:
+ - rscadd: Grenadine is now available in the bar!
+ - tweak: Tequila sunrises now require grenadine to make!
+ Iamgoofball:
+ - tweak: Lipolicide now only does damage if you're starving.
+ Improvedgay:
+ - balance: Naming immerions
+ Improvedname:
+ - rscadd: Adds rubbershot secrifle shots
+ JStheguy:
+ - rscadd: Added the data card reader circuit, a circuit that is able to read data
+ cards, as well as write to them.
+ - tweak: Data cards are now longer inexplicably called data disks despite clearly
+ being cards, and can be printed from the "tools" section of the integrated circuit
+ printer.
+ - tweak: Data cards no longer have a special "label card" verb and instead can have
+ their names and descriptions changed with a pen.
+ - rscadd: Also, some aesthetically different variants of the data cards, because
+ why not.
+ - imageadd: Data cards have new sprites, with support for coloring them via the
+ assembly detailer.
+ Jay:
+ - tweak: Bans CMO, RD, CE, and HoP from antag/ling
+ Jegub:
+ - imageadd: Glowcaps now have their own sprite.
+ Kor:
+ - rscadd: The Quartermaster and HoP can now access the vault so they can use the
+ bank machine.
+ - rscadd: Engineering can now create anomaly neutralizer devices, capable of instantly
+ neutralizing the short lived anomalies created by the supermatter engine.
+ - rscadd: Bubblegum has regained his original (deadlier) move set.
+ LetterN:
+ - bugfix: Fixes shock collars, they now fit on the neck slot
+ - bugfix: you can't put them on pockets anymore
+ MacHac:
+ - bugfix: Bedsheets once again properly influence the dreams of those who sleep
+ under them.
+ Mickyan:
+ - bugfix: Drinking too much Gargle Blaster, Nuka Cola or Neurotoxin no longer breaks
+ time and space.
+ - bugfix: Pacifists can now use harm intent for actions that require it (but still
+ can't harm!)
+ - spellcheck: fixed typo in bronze girder construction
+ - rscadd: 'New trait: Drunken Resilience. You may be a drunken wreck but at least
+ you''re healthy. If alcohol poisoning doesn''t get you, that is!'
+ - bugfix: Fixed pacifists being able to harm using bottles/screwdrivers
+ MrDoomBringer:
+ - imageadd: the VR sleeper action button has a sprite now
+ - admin: Central Command can now smite misbehaving crewmembers with supply pods
+ (filled with whatever their hearts desire!)
+ - admin: CentCom Supplypods now stun their target before landing, and won't damage
+ the station as much
+ Naksu:
+ - code_imp: clothing-specific flags are now defined in /obj/item/clothing.clothing_flags
+ - code_imp: More flags have been moved to their appropriate places
+ - code_imp: HEALS_EARS_2 is removed in favor of the earhealing component
+ - code_imp: wearertargeting component is available to subtype for components that
+ want to target the wearer of an item rather than the item itself
+ - code_imp: changed the shockedby list on doors to be only initialized when needed.
+ - tweak: Chameleon projector can no longer scan (often temporary) visual effects
+ like projectiles, flashes and the masked appearance of another chameleon projector
+ user
+ - bugfix: Drones can no longer see a static overlay over invisible revenants
+ - balance: adjusted default antag rep points to grant every job the same amount
+ of points per round, except for assistant which gets 30% less
+ - rscadd: Nuclear explosive-shaped beerkegs found on metastation can now be triggered
+ with the nuclear disk and the syndicate's legacy nuclear code for a foamy surprise
+ - bugfix: comms consoles now work in transit again, and no longer work in centcom
+ - code_imp: removed unnecessary getFlatIcons from holocalls
+ - bugfix: Screwdrivers and other items with overlays now show the proper appearance
+ of the item when attacking something with them, or when put on a tray.
+ - code_imp: moved /datum.isprocessing into datum flags
+ - code_imp: Removed unused effect object that could be used to spawn a list of humans
+ - tweak: The ladders in the tear in the fabric of reality no longer spawn their
+ endpoints when the area is loaded, but only when the tear is made accessible
+ via a BoH bomb.
+ - tweak: CentCom is no longer accessible via the space ladder in the tear.
+ - tweak: The lavaland endpoint can no longer spawn completely surrounded by lava,
+ unless it spawns on an island
+ - code_imp: ChangeTurf can now conditionally inherit the air of the turf it is replacing,
+ via the CHANGETURF_INHERIT_AIR flag.
+ - bugfix: when ladder endpoints are created, the binary turfs that are created inherit
+ the air of the turfs they are replacing. This means the lavaland ladder endpoint
+ will have the lavaland airmix, instead of a vacuum.
+ - code_imp: navigation beacons are now properly deregistered from their Z-level
+ list and re-registered on the correct one if moved across Z-levels by an effect
+ such as teleportation or a BoH-induced chasm.
+ - bugfix: constructed directional windows no longer leak atmos across them
+ - code_imp: setting the value of anchored for objects should be done via the setAnchored
+ proc to properly handle things like atmos updates in one place
+ Nicc:
+ - rscadd: toxins lab boii
+ Nichlas0010:
+ - tweak: Reseach Director Traitors can no longer receive an objective to steal the
+ Hand Teleporter
+ - bugfix: Comms consoles won't update while viewing messages
+ - spellcheck: you now feel nauseated instead of nauseous
+ - bugfix: You can no longer use a soapstone infinitely
+ - bugfix: You now can't get multiple download objectives!
+ - tweak: RDs, Scientists and Roboticists can no longer get download objectives!
+ Poojawa:
+ - tweak: Admin IC issue is no longer TG i ded passive aggressive.
+ - rscadd: Added *insult, for when you just can't think of anything more clever
+ - bugfix: Makes vore specific prefs call Rust_g else uses normal stuff.
+ - bugfix: Citadel Toggles should save properly now
+ - bugfix: fixed clothing vendor fedoras having Detective Fedora grade armor
+ - bugfix: Fixes missing icons on mag weapons for techmemes
+ - bugfix: Fixes APCs being replaced in maint from counting Maint as their wall turff
+ - rscadd: Added Vore based moodlets, primitive and ain't gunna adapt for not belly
+ things but w/e
+ Pubby:
+ - bugfix: 'PubbyStation: Fixed disposals issue in security hallway'
+ Robustin with cat earrs:
+ - bugfix: 'Gun overlays should be way less laggy now. remove: Chameleon guns are
+ completely removed since they crash the server, were already made unavailable,
+ and are the worst shitcode I''ve ever seen in my life.'
+ ShizCalev:
+ - bugfix: Adminorazine will no longer kill ash lizards.
+ - bugfix: Adminorazine will no longer remove quirks.
+ - bugfix: Fixed mobs immune to radiation being killed by HIGH bursts of radiation.
+ - bugfix: The book of mindswap will now properly mindswap it's users.
+ - bugfix: Fixed a runtime with the gulag teleporter that could cause the process
+ to fail if you removed the ID.
+ - tweak: Not setting the goal of a prisoner's ID when teleporting them will now
+ set the ID's goal to the default value (200 points at the time of this change.)
+ - bugfix: Fixed cigar cases & cigarette packets taking two inventory slots
+ - bugfix: Fixed cigar cases showing the wrong icon for the cigars inside them.
+ - bugfix: Fixed cigar cases & cigarette packets stating the wrong name of the cigar/cigarette
+ when removed via altclick.
+ - bugfix: Fixed items in pockets vanishing when a mob is monkeyized.
+ - bugfix: Fixed items in pockets vanishing when a mob is gorillized.
+ - bugfix: Fixed items in pockets vanishing when a mob is infected with a transformation
+ disease.
+ - bugfix: Fixed items in pockets not being properly deleted when a mob goes through
+ a recycler
+ - bugfix: Fixed items in pockets not being properly deleted when highlander mode
+ is enabled.
+ - bugfix: Fixed exploit allowing you to remove unremovable tanks from pockets.
+ - bugfix: Fixed items in pockets dropping when a mob is equipped with a new outfit.
+ - bugfix: Fixed items in pockets not being covered in blood when equipping the psycho
+ outfit.
+ SpaceManiac:
+ - bugfix: The destructive analyzer can once again be used to reveal nodes.
+ - spellcheck: Some references to "deconstructive analyzer" have been updated to
+ "destructive".
+ TGstation contributors:
+ - bugfix: Nukeop eshields are now buyable. tgstation/tgstation#39025
+ - bugfix: Staff of storms now has admin logging. tgstation/tgstation#39011
+ - bugfix: Fixed a couple of inconsistencies in the uplink descriptions of SMGs and
+ SMG ammo. tgstation/tgstation#38980
+ - bugfix: Fixed blob victory. tgstation/tgstation#38988
+ - tweak: You can now un-ignore notifications you've clicked "never this round" on,
+ and more. tgstation/tgstation#38990
+ - bugfix: Fixes a weird bug with timers. tgstation/tgstation#38994
+ - bugfix: (tgstation/tgstation#40043) - Beam rifles no longer open lockers
+ - bugfix: (tgstation/tgstation#40061) - Mobs can no longer get stuck at min/max
+ body temperature
+ - bugfix: (tgstation/tgstation#40041) - Pictures of asses are now properly sized
+ - bugfix: (tgstation/tgstation#40084) - The lastattacker var now includes unarmed
+ attacks
+ - bugfix: (tgstation/tgstation#39968) - Plastic golems can no longer ventcrawl with
+ items in their pockets
+ - bugfix: (tgstation/tgstation#39885) - You can no longer crash the server by overcharging
+ energy guns.
+ Thunder12345:
+ - rscadd: Added a colour picker component for use with circuits.
+ Time-Green:
+ - bugfix: Soda is no longer intangible to the laws of physics
+ Toriate:
+ - rscadd: It appears that ancient pieces of armor have wound up on the open market!
+ These armors have degraded beyond usefulness. Grab one now in the loadout!
+ - imageadd: added flak jacket and M1 Helmet sprites
+ - rscadd: Gives the flak helmet a tiny storage compartment
+ - balance: Made the flak helmet even weaker against acid and fire so it crumbles
+ into dust easier
+ - rscadd: Added the Corporate Uniform and the Silver Bike Horn
+ - imageadd: added sprites for the Corporate Uniform and Silver Bike Horn
+ Tupinambis:
+ - tweak: 'Removes the tesla coils from engineering secure storage, and places them
+ within the engine room, functional upon being wrenched down. (Arranged in the
+ common method of three coils on the left and right sides.)
+
+ Reduces the width of engineering secure storage and its blast door by one tile.
+ The machinery within has been rearranged in order to make the most commonly
+ used machinery the most accessible.'
+ - tweak: Replaces the blood-red hardsuit in Deep Storage with a mining EVA hardsuit,
+ and an included oxygen jetpack.
+ - rscadd: 'Adds a replacement to the old lavaland xeno ruins in the form of lavaland_surface_alien_nest.dmm An
+ image of which is shown below. (The area layer is disabled for visibility.)
+ 
+ 
+
+ This replacement is designed to act as a sort of raid, with the queen as the
+ raid boss. The most notable loot includes the corpse of a drone, security bio
+ armor, a bone axe, some basic syndicate equipment, and a syringe containing
+ alien microbes. All references to the old lavaland xeno ruins have been replaced
+ with references to the new map file.'
+ - rscadd: New corpse spawners for alien queens and drones.
+ - rscadd: New syringe containing the alien microbe reagent.
+ - rscdel: Removed the currently unused lavaland_surface_xeno_nest.dmm map file,
+ and its references.
+ - rscadd: Added an experimental hard suit to toxins bomb test room on Box.
+ - tweak: Increased the size of the toxins bomb test room, moved the telescreen,
+ and added chairs on Box.
+ - tweak: Moved some pipes out of the way on Box and Meta.
+ - rscadd: 'Two air pumps have been added to the toxins lab on Pubby and Meta.
+
+ The following changes apply to Box, Meta, and Pubby:'
+ - tweak: Unbolts the toxin burn chamber doors on round start.
+ - tweak: Unlocks the toxins lab air alarm on round start.
+ - tweak: When spawned as a nuclear operative, you keep your characters race instead
+ of being changed into a human. Plasmamen are an exception to this change.
+ - tweak: By popular request, makes the Head of Security spawn with a telebaton instead
+ of a stun baton.
+ Werebear:
+ - rscadd: Seven new holochassis options for pAIs and two new display images for
+ pAIs.
+ Wilchen:
+ - rscdel: Removed box of firing pins from rd's locker
+ XDTM:
+ - bugfix: Fixed anti-magic not working at all.
+ - bugfix: Diseases now properly lose scan invisibility if their stealth drops below
+ the required threshold.
+ - tweak: Coldproof mobs can now be cooled down, but are still immune to the negative
+ effects of cold.
+ - bugfix: This also fixes some edge cases (freezing beams) where mobs could be cooled
+ down and damaged despite cold resistance.
+ - balance: Androids are now immune to radiation.
+ Xhuis:
+ - tweak: Character traits are now called character quirks. Functionality remains
+ unaffected.
+ Zxaber:
+ - rscadd: Cyborgs can wear more hats now.
+ and Fel:
+ - imageadd: New chairs are on most shuttles! Finally, you can relax in style while
+ escaping a metal death trap.
+ armhulen:
+ - rscdel: chameleon guns are disabled for breaking the server
+ cacogen:
+ - rscadd: You can now see what other people are eating or drinking.
+ - rscadd: Borg shaker can now synthesise milk, lemon juice, banana juice and coffee
+ - bugfix: Renamed drinks no longer revert to their original name when their reagents
+ change
+ cyclowns:
+ - bugfix: Fires no longer flicker back and forth like crazy
+ - rscadd: Fusion has been re-enabled! It works similarly to before, but with some
+ slight modification.
+ - tweak: Fusion now requires huge amounts of plasma and tritium, as well as a very
+ high thermal energy and temperature to start. There are several tiers of fusion
+ that cause different benefits and effects.
+ - tweak: The fusion power of most gases has been tweaked to allow for more interesting
+ interactions.
+ - tweak: BZ now takes N2O and plasma to create, rather than tritium and plasma.
+ - bugfix: Fusion no longer delivers server-crashingly large amounts of radiation
+ and stationwide EMPs.
+ deathride58:
+ - tweak: (Only visible on 512) Stamina crit will now result in the mob's sprite
+ subtly darkening around its edges.
+ - rscadd: Added a tiny reference item to a year-old weeby game. If you're a traitor,
+ you can find this item in the "badassery" section of the uplink. It's free,
+ and you can order up to 4 of them! The effects of this item are only visible
+ on 512.
+ - code_imp: Added a component signal for toggling combat mode on/off.
+ - balance: The cleaving saw now deals less staminaloss to its user while inactive.
+ - rscadd: You can now make use of custom say verbs with the [say verb*message] format
+ - rscadd: Yelling will now echo and penetrate walls
+ - tweak: Distant voices now have smaller text
+ - tweak: You can now see the amount of charges an emag has by examining it
+ - tweak: Emags now make a quiet noise when they're close to running out of charges.
+ - tweak: Emags are no longer irreversibly destroyed upon running out of charges.
+ - rscadd: Traitors can now purchase emag recharge devices for 2 TC. They have five
+ extra charges each, and can be found in the devices and tools section of the
+ uplink.. There's no cap on the amount of charges a single emag can have, though
+ do be aware that upstream spaghetti code makes it easy to waste charges.
+ - tweak: Small emag flavortext changes here and there
+ - balance: The warden's particle defender now deals less staminaloss when in stun
+ mode.
+ - tweak: '"code [alert level]" has been changed to "[alert level] alert" on the
+ hub entry.'
+ - tweak: The hub entry now displays the current map.
+ - tweak: Lavaland is no longer fullbright. We have memory to spare.
+ - rscadd: Adds the wheelofsalt command to TGS3. Spin the wheel of salt to find out
+ what the Citadel Station 13 players are salting about today!
+ - rscadd: You can now slam or slap your hands onto tables by right clicking them
+ in combat mode.
+ - tweak: Non-admins can no longer use LOOC while dead, unconscious, in crit, or
+ while ghosting.
+ - tweak: The syndicate mask available in the uplink will now inject you with a chem
+ that cuts your click delay in half and increases your stamina regeneration,
+ when you enter combat mode. The mask has a five minute cooldown between adrenaline
+ injections.
+ - balance: Dogborgs will now reduce firestacks when they use their tongue to lick
+ someone's face.
+ - bugfix: The repo compiles again
+ - bugfix: The flag cape donor item should render properly now.
+ - tweak: The default amount of z-levels reserved specifically for space ruin generation
+ has been reduced from 7 to 1
+ - bugfix: Items now spawn on top of, rather than inside, closets and other storage
+ structures
+ - rscadd: Jukeboxes now have realtime directional audio, complete with occlusion
+ when you're far away or behind a wall.
+ - rscadd: More than one jukebox can play a song at a time now. Have up to 5 jukeboxes
+ playing at once!
+ - rscadd: Devs can now control the wet and dry channels of sounds played via playsound_local.
+ The new envwet and envdry arguments will control the volume of the wet and dry
+ track, respectively.
+ - code_imp: Jukeboxes have been turned into a subsystem. Track initialization, audio
+ playing, etc, are now handled via SSJukeboxes instead of via the jukebox object
+ procs.
+ - config: Jukebox tracks now require an additional ID field at the end of their
+ name. This will make it easier to add jukebox-style objects that are only capable
+ of playing specific songs, without worrying about copyright issues.
+ - rscadd: Added Raiq's boombox as a donor item
+ - rscadd: You can now manipulate tails, ears, body markings, mutant colors, and
+ taur types via DNA console!
+ - balance: Reduced the exponent on gas tank ruptures. TTVs and suicide onetanks
+ that were previously 20dev are now approximately 9.6dev. Let's see the actual
+ toxins nerds adapt!
+ - tweak: When a custom say verb message is spoken without any actual words, the
+ text will render without a `, ""` at the end of it.
+ - balance: The combat rework's training wheels have been removed. Knockdowns no
+ longer have any noticeable stun. This indirectly means stunbatons and tasers
+ will always deal their full stamloss on hit.
+ - balance: The stamloss required for boxing gloves to throw a knockout punch has
+ been increased from 50 to 100.
+ - rscadd: You can now prime the grenade on bombspears by using them in your hand.
+ The wield hotkey is moved to combat mode rightclick while a spear has a grenade
+ on it. This is explained in the examine text.
+ - balance: Bombspears no longer instantly explode on impact when thrown. They now
+ have to be primed to explode when thrown.
+ - balance: Bombspears now have 90% embed chance.
+ - rscadd: If an embedded item is normal sized or larger, you can take it out instantly
+ by pressing resist.
+ - balance: Embedded items are now much harder to pull out the smaller they are,
+ rather than the other way around. It's much easier to rip out a sword from your
+ chest than it is a shard of glass in your face.
+ - tweak: The message you get when you get bounced by the PB is now a little more
+ clear about what you need to do to gain access to the server.
+ - balance: The jukebox now falls off over a greater distance. You can now actually
+ hear the jukebox while sitting in a far corner of the bar, or while passing
+ through the main hallways.
+ - rscadd: Added antag OOC. This is disabled by default, but you can access it with
+ the "AOOC" verb as an antagonist when an administrator enables it.
+ - tweak: LOOC now supports emojis
+ - tweak: 'Deadchat and asay will now both render emojis! :snya:'
+ - balance: The disarm attack on EMP'd defibs now has an interruptible 1 second timer
+ before it actually lands.
+ - balance: The stamina buffer now only takes 1 second to start regenerating.
+ - balance: Disablers have had their damage reduced from 36 stamloss to 24 stamloss,
+ increasing their shots to stamcrit from 4 to 6.
+ - balance: Tasers have had their damage increased from 55 stamloss total to 61 stamloss
+ total. Shots required to stamcrit are unaffected.
+ - rscadd: Introducing the Kitchen Gun (TM)! Say goodbye to daily stains and dirty
+ surfaces with Kitchen Gun (TM)! Just five shots from Kitchen Gun (TM), and it'll
+ sparkle like new! Includes two extra ammunition clips for the low, low price
+ of just 10 TC! Laser sight and night vision accessories sold separately! Magazines
+ can be purchased individually for 1 TC a pop!
+ - tweak: Active turf processing is now its own subsystem.
+ - code_imp: Ports tgstation/tgstation#39287 - You can now configure how fast a mob
+ fires, and how many shots they fire in a single burst
+ - rscadd: When you spawn as a miner, you'll get text clarifying your job description.
+ You might not think it's necessary, but believe me, it is.
+ - rscadd: mushroom people are now roundstart on live
+ - rscadd: The geargroupID var of loadout entries can now be a list rather than a
+ string. GeargroupID changes are additive when multiple are defined in a single
+ loadout entry.
+ deathride58 (Original PR by Basilman/Militaires):
+ - rscadd: Ported TGstation's Agent Stealth Box! You can the implanter in the syndicate
+ uplink for 8 TC. Credit goes to Basilman/Militaires. This port includes minor
+ adjustments, see the GitHub for details.
+ hatterhat after being yelled at by kevinz:
+ - bugfix: deletes an entire line that might fix flash icons idk blame him if it
+ gets worse
+ iksyp:
+ - rscadd: stacking machines and their consoles no longer dissapear into the shadow
+ realm when broken
+ - rscadd: you can link the stacking machine and its console by using a multitool
+ - bugfix: Ever since the great emotion purge of 2558, people were able to work at
+ top efficiency, even while starving to death. This is no longer the case, Nanotrasen
+ Scientists say.
+ - admin: Hunger slowdown only applies if mood is disabled in the config.
+ imsxz:
+ - admin: Using mayhem bottles and going under their effects is now logged.
+ izzyinbox:
+ - rscadd: Added an integrated circuit part that interacts with the arousal system
+ - tweak: changes the admin-pm input box from single line to multi-line
+ - bugfix: Tennis balls now equip and show up in the correct slots
+ - rscadd: Adds option in the hide/expose genitals verb to hide genitals even without
+ clothes
+ kevinz000:
+ - rscadd: Cameras now can take pictures up to 7x7. Alt click them to change their
+ width/height from the default 3x3.
+ - rscadd: Photos are now logged to disk, assuming the host enabled the configuration
+ option
+ - rscadd: If the above is enabled, albums/frames can now have their persistence
+ IDs set in variables to allow for PHOTO PERSISTENCE
+ - rscadd: Every head of staff gets a unique album with its own ID in their locker.
+ Let your successors know about your accomplishments, screwups, and everything
+ in between!
+ - rscadd: All of this works or should work with newcasters/pdas/etc etc
+ - rscadd: Photo taking now clones the area into transit space and then operates
+ on it, instead of on the spot, in theory making photographing things more accurate?
+ nicc:
+ - rscadd: no more dark locker corner woo
+ - tweak: area alterations
+ - rscadd: escape pod
+ - rscadd: see above
+ - rscadd: adds windoor to the plastic flaps in the atmos lobby
+ ninjanomnom:
+ - rscadd: A plush that knows too much has found its way to the bus ruin.
+ resistor:
+ - rscadd: Added circuit labels! You can now customize the description of your assemblies.
+ slate3:
+ - rscadd: ported a new alternative sprite for engineering borgs, mr. handy
+ - rscadd: ported a new alternative sprite for security borgs, a spider-like walker
+ - rscadd: ported a new alternative sprite for medical borgs, an eyebot
+ steamport:
+ - bugfix: Borgs/AIs can now toggle rad collectors
+ ursamedium:
+ - bugfix: slapping / slamming hands on tables now uses appropriate pronouns
+ - bugfix: crow pAI is no longer invisible while resting
+ yenwodyah:
+ - bugfix: A few virus threshold effects should work now
+ yorii:
+ - bugfix: Fixed the smartfridges to be in line with all other machines and puts
+ the released item in your hand.
+ yorpan:
+ - rscadd: Brain damage makes you say one more thing.
diff --git a/html/changelogs/archive/2019-11.yml b/html/changelogs/archive/2019-11.yml
new file mode 100644
index 0000000000..ad93f04d99
--- /dev/null
+++ b/html/changelogs/archive/2019-11.yml
@@ -0,0 +1,2522 @@
+2019-11-04:
+ 4dplanner, MMiracles:
+ - tweak: Wizard shapeshift now converts damage taken while transformed
+ - bugfix: transform spell transfers damage correctly instead of healing most of
+ the time
+ - bugfix: 0% simplemob health maps to 0 carbon health, 100% simplemob to 100% carbon
+ - bugfix: transforming to a form with brute resistance no longer heals you
+ - bugfix: transforming back to a species with brute resistance no longer heals you
+ AdmiralPancakes1:
+ - rscadd: 'Cryo cell shortcuts: alt-click toggles the doors, ctrl-click toggles
+ the power'
+ Alonefromhell:
+ - rscadd: Ported Oracle UI, a framework for self-updating and neat UI's
+ - refactor: Paper now uses OUI
+ - refactor: Bins now use OUI
+ - bugfix: fixes tootip offset
+ AnalWerewolf:
+ - rscadd: Fritz plushie
+ - rscadd: Donor item
+ Anonymous:
+ - imageadd: 'More crusader armor variants to pick from armament: Teutonic and Hospitaller.'
+ Arturlang:
+ - rscadd: You can now use CTRL and ALT click on pumps and filters to toggle them
+ on and off and max their output respectively
+ - rscadd: You can now use RPDs on windows and grilles.
+ - rscadd: The RD can now suplex a immovable rod. Good fucking luck.
+ - bugfix: Fixes high alert ERT suit sprites. You can see them now!
+ - rscadd: Traitor codewords are now highlighted for traitors.
+ - rscadd: You can now examine pumps filters and mixers to see if you can use CTRL
+ and Alt click on them.
+ - bugfix: Fixes brain damage/trauma healing nanites so they actually work while
+ there are only traumas.
+ - tweak: Advanced toxin filtration nanites now heal slimes
+ Bhijn:
+ - rscadd: It's now possible to forcefully eject the occupants of a dogborg's sleeper
+ by using a crowbar on them. This action is instant.
+ - tweak: Resist values for dogborg sleepers have been adjusted. The baseline has
+ been decreased from 30 seconds to 15 seconds. Medihound sleepers have a resist
+ timer of 3 seconds. Sechound sleepers retain a resist timer of 30 seconds.
+ - tweak: It now takes 10 full seconds to insert people into your sleeper. This should
+ hopefully give people some more room to breathe and react to a dogborg attempting
+ to sleeper someone either for no reason or in a way that violates law 2.
+ - bugfix: Warp whistles no longer grant permanent invulnerability and invisibility
+ - bugfix: You can now actually use the resist hotkey to resist out of handcuffs.
+ Woah, revolutionary
+ - bugfix: the `!tgs poly` command now actually works
+ - rscadd: Poly now has a 0.01% chance per squawk to speak through the TGS relay.
+ - balance: The point production mode of radiation collectors has been reverted to
+ the original behavior of using all of the stored power every process cycle instead
+ of just 4% of it
+ - tweak: Radiation collectors now display the amount of power/research points they're
+ producing per minute rather than per process cycle, which should hopefully clear
+ up a lot of confusion.
+ - tweak: Radiation collectors also display what's happening to the gas within them,
+ which should make it a lot more obvious as to how you get tritium.
+ - tweak: Security borgs and K9s are now only available during red alert or higher.
+ - server: Headmins or other folks with access to the server's config can choose
+ the minimum alert level for secborgs to be chosen via the MINIMUM_SECBORG_ALERT
+ config option. See the default game_options.txt for more info.
+ - bugfix: The server no longer attempts to check if the CID matches the IP of any
+ bans, or if the IP matches any CIDs of any active bans, during client analyzation
+ - balance: Vampires can now only ventcrawl in bat form if their blood level is below
+ the bad blood volume (224 blood total)
+ - balance: Vampires now only take 5 burn per mob life cycle while within chapel
+ areas, down from the original 20 burn per life cycle.
+ - tweak: K9 pounces have received a minor rework. It now has an effective cooldown
+ of 2.5 seconds, can now only deal up to 120 staminaloss, deals a maximum of
+ 80 stamloss on hit, has a spoolup of half a second, and now has telegraphing
+ in the form of a quiet noise.
+ - balance: K9s now only have 80 health
+ - balance: Secborgs (but not k9s) now have a hybrid taser. This can be toggled via
+ server config.
+ - tweak: The disabler cooler upgrade now applies to all energy-based firearms for
+ borgs
+ - rscadd: Dogborg jaws are now capable of incapacitating targets if using help intent.
+ This deals a hard stun depending on how much staminaloss the target has, and
+ whether or not they're resting. This behavior can be toggled via server config.
+ - balance: K9 jaws now have 15 force, up from their nerfed 10 force.
+ - balance: Borg flashes regained their ability to cause knockdown. This can be toggled
+ via server config.
+ - server: The WEAKEN_SECBORG config option will disable the new dogborg jaws mechanic
+ and make secborgs spawn with a standard disabler.
+ - server: The DISABLE_BORG_FLASH_KNOCKDOWN will disable the ability for borg flashes
+ to knockdown.
+ - tweak: Jukeboxes now have 6 audio channels available to them, up from the previous
+ accidental 2 and previously intended 5 channels.
+ - bugfix: Jukeboxes now work again on clients running versions higher than 512.1459.
+ - bugfix: People will no longer have their ears consumed by an eldritch god if multiple
+ jukeboxes are active and the first jukebox in the jukebox list stops playing,
+ then tries to play again
+ - tweak: Instead of the debug text for invalid jukebox behavior being printed to
+ world, the debug text is now restricted to the runtime panel.
+ BurgerB:
+ - tweak: Tweaked the UI of the loadout to be less cluttered due to an issue with
+ formatting.
+ BurgerBB:
+ - rscadd: Adds the bonermeter; a device that measures arousal based statistics.
+ - refactor: Added a new input to the electrostimulator that controls the strength
+ of the shock. It accepts negative inputs which reduce arousal. Added a new output
+ to the electrostimulator that displays the amount of arousal gained.
+ - balance: Rebalanced the electro-stimulator to be less spammy by giving it a 2.5
+ second enforced cooldown per circuit contraption. Increased the complexity of
+ electro stimulator from 10 to 15.
+ - refactor: Reworked the Vent Clog event to spray smoke instead of foam, also made
+ it shoot smoke over time instead through each vent instead of all at once.
+ - tweak: Increased the spawn area of the City of Cogs (Reebe). This does not affect
+ the area in which builders can build.
+ - balance: Significantly tweaks the Wizard race transformation event to be less
+ unreasonably troublesome.
+ - rscadd: Adds a new 0 cost trait that makes you immune* to Crocin and Hexacrocin
+ - tweak: Tweaks how slurring works so it's more of a gradual change into slurring
+ instead of immediate.
+ - balance: Slurring is now directly proportional to your drunkenness, with other
+ sources of slur being added on top of it.
+ - tweak: Bras are now separate from underwear, meaning you can mix and match bras
+ if you're into that.
+ - tweak: Men can wear female accessory clothing, and females can wear men accessory
+ clothing. It's not a fetish, mom, it's PROGRESSIVE.
+ - code_imp: Reorganized accessories into their own files to prevent a massive 1000
+ line file.
+ - server: i'm 10% sure that merging this PR will cause preference corruption sooooooooooo
+ I just need to hear from @deathride58 or perhaps someone else on how much damage
+ this could possibly do.
+ - tweak: Tweaked penis.
+ - balance: Rebalanced penis.
+ - rscadd: 'Added the following reagents to the common list of vent clog reagents:
+ ~~Cooking Oil~~, ~~Frost Oil~~, Sodium Chloride, Corn Oil, Uranium, Carpet,
+ Firefighting Foam, semen, femcum, tear juice, strange reagent, ~~spraytan~~.'
+ - balance: Vent Clog smoke emits the same transparent smoke as a smoke machine,
+ including how much it transfers. Vent Clogs also do not trigger in areas deemed
+ "Safe" in code, such as in the dorms or trusted areas where dangerous things
+ shouldn't occur.
+ - rscadd: Adds additional random brain damage text
+ - rscadd: Adds penis enlargement pills.
+ - rscadd: Adds Stun Circuit and Pneumatic Cannon Integrated Circuits
+ - bugfix: Fixed extinguisher and smoke circuits not accepting any reagents.
+ - rscadd: Adds a few important clockcult tips.
+ - rscadd: Added Mech Sensors, a brass-created trap that activates when a mech not
+ controlled by a cultist crosses it.
+ - rscadd: Added power nullifiers, an emp trap that emps everything in a 3x3 area,
+ with the center suffering a heavy EMP.
+ - tweak: Brass Skewers now deal 50 damage to mechs.
+ - balance: Ass slapping only works if you're actually behind the target. Ass slapping
+ now respects disarm blocking. You can no longer face/ass slap someone on an
+ intent other than help, unless they are also face/ass slapping.
+ - bugfix: Fixed ass and face slapping grammar.
+ - rscadd: Adds meh effects for ass and face slapping.
+ - tweak: '"Unwillingly" eating food now sends a warning message instead of a notice.
+ Unable to stuff food down your throat sends a danger message instead of a warning
+ message.'
+ - rscadd: Adds clockwork reflectors, a fragile anti-laser reflection shield object
+ that can be constructed for 10 brass sheets. Upon firing on the object in the
+ direction where it is shielded, it ricochets the bullet off of it relative to
+ the shooting angle.
+ - tweak: Renames some windows in the build menu for consistency.
+ - balance: Clockwork Cult walls can no longer be deconstructed by RCDs when heated.
+ - rscadd: Adds several new toy loot to the arcade machine.
+ - balance: Rebalanced the arcade machine loot. Battlemachines now have a 0.5 second
+ delay instead of a second delay between actions.
+ - bugfix: Fixed a bug that would not allow the one in a million pulse rifle to spawn.
+ - rscadd: Adds a new trait "Buns of Steel" that makes you immune to the effects
+ of ass slapping, and temporarily makes the user's arm useless like a stun baton
+ hit. It costs 0 points.
+ - balance: Ass slapping blowback from the Buns of Steel perk now deals 20 stamina
+ damage instead of 50, and no brute damage.
+ - rscadd: Gamemode voting results are displayed at the end-round screen.
+ - balance: Cloning no longer gives you positive mutations, but a chance for a negative
+ one. Cloning has a chance to "scramble" your visual DNA.
+ - balance: Chestbursters no longer give and remove your brain. They just disembowel
+ and kill you now.
+ - bugfix: Fixes WarOps miscalculating players.
+ - balance: Activating the nuclear device during war-ops informs the crew of the
+ nuke's position.
+ - rscadd: The alert level is displayed at the job selection screen.
+ - balance: Central Command informs you when a Meteor Storm is about to hit 5 to
+ 10 minutes before it happens.
+ BurgerLUA:
+ - code_imp: Added a new framework for reagents. Reagents can now have a bool that
+ determines if it can be detected by handheld medical analyzers. Currently only
+ the changeling sting chemical does this.
+ - balance: Made changeling transformation string last between 10-15 minutes. Lowered
+ the dna cost of changeling sting from 3 dna to 2 dna. Lowered the chemical cost
+ from 50 to 10. Lowered the loudness from 2 to 1. Changeling sting transformation
+ can be removed via high doses of calomel.
+ - bugfix: Fixed most reagents having a placeholder color.
+ - bugfix: Fixed autolathe wires not correctly shocking you when pulsed.
+ - balance: Rebalanced special jetpacks.
+ CalamaBanana:
+ - rscadd: Added Deer taur
+ - rscadd: Added Elf ears to mammals
+ CameronWoof:
+ - rscadd: Medihounds now have rollerbeds for non-vore patient transport
+ - bugfix: The closed O2 crate now uses the same color scheme as the open one
+ - tweak: air alarms are green now instead of blue when the atmosphere is ideal
+ - tweak: Hexacrocin overdose no longer causes climaxes
+ - tweak: Altered the icons for inventory backplates. Sleek! Stylish! New!
+ - bugfix: Attaching a beaker that contains water to an IV stand no longer causes
+ a visual glitch
+ - tweak: Fluid-producing sexual organs no longer start full
+ - tweak: Sexual organ fluid capacity decreased from 50 to 15
+ - tweak: Sexual organ production rate decreased from 5u to 0.035u per two seconds.
+ - tweak: Sexual fluid decals no longer contain reagents
+ - tweak: Sexual fluids cannot by synthesized (e.g., by the Odysseus)
+ CdrCross:
+ - rscadd: Adds the ability for cloning consoles to read and write record lists to
+ the circuit board, and provides a template for giving other machines local circuit
+ board memory.
+ Cebutris:
+ - rscadd: Hugs of the North Star! Get them from the arcades (if you're lucky) and
+ hug your friends at INCREDIBLE hihg speeds!
+ - bugfix: Tea Aspera now properly contains tea powder
+ - tweak: Breasts no longer lactate by default, lactation is now a preference
+ Chayse:
+ - tweak: Changed the Warden's compact combat shotgun to instead be a regular combat
+ shotgun with a foldable stock and penalties for being folded.
+ - rscadd: Assorted space-worthy helmets can now act as masks for internals.
+ - refactor: Internals code can now check any item with the ALLOWSINTERNALS flag
+ through the GET_INTERNAL_SLOTS define. For now this only checks head and mask
+ slots, since those are the most realistically speaking usable ones.
+ - tweak: Medbay doors can now be opened by anyone from the inside without having
+ to press the exit button.
+ - bugfix: Borgs now have the necessary dexterity to unbuckle people from themselves
+ and from bucklable objects.
+ - bugfix: Fixes the Trek Uniform/Suit worn icons
+ - bugfix: AIs can now once more talk through holopads successfully
+ Code-Cygnet:
+ - rscadd: Added new things - Mind trait, alcohol reagent, chemical reagent, drink
+ sprite and recipe.
+ - imageadd: added commander_and_chief sprite to drinks.dmi
+ Coolgat3:
+ - tweak: Changed player number checks to 20 from 24 for cult and clockcult, also
+ made nukeops 28 required players instead of 30.
+ - tweak: Changed enemy minimum age from 14 to 7
+ - rscadd: Added the code for the semen donut and made it craftable
+ - imageadd: Added the donut sprites
+ - bugfix: Made the sec and warden berret offer as much protection like the helmet
+ - rscadd: Added berets for all the heads.
+ - imageadd: Added sprites for the berets.
+ - code_imp: Coded the berets to spawn in appropiate lockers.
+ - tweak: Raised the ripley's movement speed and lights range by 1, also lowered
+ its armor to compensate.
+ - rscadd: Added combat gloves sprite
+ - imageadd: Added said sprite
+ - imageadd: added combat boots sprite
+ Coolgat3 / Avunia:
+ - rscadd: Made kindle put the target into stamcrit, which makes it an actually working,
+ useful stun.
+ - rscadd: Added a stamina loss modifier to the vanguard spell which makes the user's
+ stamina drain at a way slower rate. This doesn't make them immune to tasers,
+ but it takes a few hits to actually get them to fall down.
+ - tweak: Made it so that clock culties don't start with a chameleon suit. Instead
+ they start with an engineer suit which is pretty much the same sprite and looks.
+ If this is not perfect, then I am willing to make a slightly more brass-colored
+ version of the engineer suit sprite and call it a ratvarian engineer jumpsuit.
+ - balance: Increased the cost of vanguard, as it is now a spell that works somewhat
+ like adrenals, minus the move speed, making your stamina drain really slow and
+ making you unable to get knocked onto the ground by just a single taser shot.
+ - balance: Lowered the charge time of kindle, reason being that you can usually
+ have only one active spell on you, or two at max if you decide to run two slabs,
+ but the fact that kindle silences people for such a small amount of time makes
+ up for it, in my opinion.
+ - server: Figured out that the consoles and their warp function actually work with
+ the current code. The thing that makes them not work is when the gamemode is
+ ran on debug mode, without the required players to actually support it. It also
+ breaks the ark timer which is stuck on -1 seconds until activation. Whenever
+ the gamemode starts properly, like any other gamemode, with player checks and
+ all, everything seems to work just fine.
+ CydiaButt13:
+ - rscadd: Lamp Plushie to loadout
+ - imageadd: added plushie_lamp to plush icons
+ - code_imp: added Lamp Plush to loadout and icons and items
+ EgoSumStultus:
+ - bugfix: Fixed blood chiller's inhand
+ - bugfix: FIXED SHIELF
+ - bugfix: fixed magpistol magazine sprites
+ - rscadd: Added the Femur Breaker
+ - rscadd: Adds male AI vox.
+ EmeraldSundisk:
+ - rscadd: Adds a gun range to Box Station
+ - rscadd: Provides some extra power grid connections
+ - rscdel: Sunglasses and Earmuffs removed from the Warden's Office - they can be
+ found at the range instead
+ - tweak: Rearranges a few objects within the prison as to accommodate the new gun
+ range
+ - rscadd: Adds a mass driver to Delta Station's chapel
+ - rscadd: Adds a second means of entry into the chapel
+ - tweak: Slightly expands the chapel to make room for the driver, slight adjustment
+ to air systems
+ - tweak: Clears a path in the station exterior for the mass driver to work properly
+ - tweak: Nearby maintenance loot has been relocated to accommodate the chapel expansion,
+ surrounding area has been "cleaned up" somewhat
+ - tweak: CentCom has noticed the lack of coffins in Delta Station's chapel and provided
+ some, but in exchange for reducing the chapel morgue's capacity.
+ - tweak: Fixed a maintenance door the chaplain should have been able to open.
+ - bugfix: 'Fixes space areas outside the driver removal: CentCom Defense Analysts
+ have ordered the maintenance hatch to the Mass Driver room be removed citing
+ "security concerns".'
+ - rscadd: Increases the number of plots to 9 (from 5)
+ - rscadd: Additional lighting placed directly outside the garden
+ - tweak: Cleans up the area to reflect use. Moves the seed extractor to a more central
+ location
+ - tweak: 'Relocates the seed packs on botany''s counter to the garden removal: Removes
+ wooden barricades outside the garden'
+ - config: Renames "Abandoned Garden" area designation to "Maintenance Garden", but
+ does not replace the icon in Dream Maker
+ - rscadd: Expands the chapel mass driver room to make it easier to use
+ - rscadd: Rearranges the chapel backroom so there are now six coffins and burial
+ garments roundstart
+ - tweak: Cleans up the Janitor's office
+ - tweak: Readjusts the station exterior so mass-driven coffins (hopefully) have
+ less friction
+ - bugfix: Adds a fan to the chapel driver
+ - bugfix: The Janitor missed a few spots around the newly renovated Maintenance
+ Garden
+ - bugfix: Readjusts positioning of Delta's QM keycard device
+ - bugfix: 'Cleaned up a few spots I missed in #9356, particularly around the janitor''s
+ office'
+ - rscadd: Adds some potted plants around Box Station
+ - bugfix: 'The tile mentioned in #9409 should now be radiation-free.'
+ Fermi:
+ - bugfix: Fixes tiny runaway decimals in reagents system.
+ - bugfix: 'SDGF: Fixes infinite clones.'
+ - bugfix: fixed an angery PR
+ Fermis:
+ - rscadd: Added a panda simplemob
+ - bugfix: fixes empathy exploit.
+ - rscadd: Added the secbat, a box to hold it and the ability to dispense it from
+ the SecTech vendor.
+ - rscadd: Adds 3 new music tracks.
+ - tweak: tweaked Neurotoxin
+ - balance: added more depth to Neurotoxin
+ - bugfix: fixed the inability to create Neurotoxin
+ - bugfix: fixes fermichem reactions for tiny volumes work
+ - tweak: makes quantisation level for chemistry finer
+ - tweak: re-enables femichem explosions in grenades.
+ - tweak: adds nuance to the SDGF and hatmium explosions.
+ - bugfix: Fixes analyse function on ChemMasters to correctly display purity.
+ - bugfix: Fixes the custom transfer for buffer to beaker button.
+ - rscadd: 'Debug option: Generate Wikichems'
+ - rscadd: graft synthtissue surgery, new reagent synthtissue
+ - tweak: 'neurine fixes brain objs merge: combines fermichem''s lung damage with
+ tg''s'
+ - rscadd: on_mob_dead(), bitflags and CHECK_MULTIPLE_BITFIELDS
+ - refactor: refactored fermichem vars, moved impure chems into their own reagents
+ subtype
+ - bugfix: Fixes small residues of chems that won't go away!
+ - tweak: tweaked beaker health and allows use of syringes/droppers on chem_heaters
+ - soundadd: added a sound for when beakers take temperature damage.
+ - imageadd: added some icons for melting beakers
+ - refactor: refactored how beakers take damage
+ - bugfix: fixes how beakers would only take one instance of damage on pH damage
+ - bugfix: fixes Janitor grenades.
+ - bugfix: fixes reaction mechanics at low volumes
+ - bugfix: stops reactions constantly bubbling on the edge of reaction temperature
+ - bugfix: stops small amount reactions from occurring, and prevents disappearing
+ tiny numbers
+ - tweak: Reduced minimum reaction volume from 1 to 0.01
+ - refactor: cleaned up Fermichem
+ - rscadd: Adds Jacqueline the Pumpqueen and her familiar Bartholomew for the spooky
+ season
+ - soundadd: Adds a giggle
+ - imageadd: 'Adds cauldron, Jacq and Jacq o lanterns, and a costume for halloween!
+ mapedit: adds a new landmark so Bartholomew can spawn somewhere sensible.'
+ - bugfix: fixes food reactions and explosion runtimes,
+ - bugfix: fixes the too much yes problem
+ - bugfix: Heart, Tongue and stomach regen.
+ - bugfix: lung damage threshholds.
+ - bugfix: Graft synthtissue
+ - bugfix: Skeleton's burning for no reason
+ - bugfix: Organ freezing handling.
+ - bugfix: Fixes chemistry books to point to the right wiki, and keeps tg's just
+ in case
+ - tweak: Changes top right wiki button location to go to both wikis
+ - bugfix: fixed Jacq's fondness for the AI
+ Ghom:
+ - code_imp: minor clean up on hydroponics reagent containers.
+ - bugfix: fixes the perpetual lack of moisture that has affected genitalia descriptions
+ since, like, forever.
+ - rscadd: implements the arousal state for mammary glands.
+ Ghommie:
+ - bugfix: Fixes many possible situations of null icons for cit races' bodyparts.
+ - imagedel: Removes duplicate slimepeople' sprites.
+ - code_imp: Purges that draw_citadel_parts().
+ - code_imp: Fixes ISINRANGE_EX using the wrong relational operator.
+ - tweak: The kindle status effect stun duration now properly proportional to the
+ owner's remaining health.
+ - tweak: Clockwork cult's kindle now affects silicons.
+ - tweak: Cyborg mounted disablers/tasers/lasers now slowly self-recharge off the
+ cyborg user's power cell instead of draining from it directly.
+ - tweak: Borg rechargers now properly recharge the borg module's energy guns.
+ - bugfix: Prevents a couple more special/mounted guns from being preserved on cryo
+ - balance: Halved borg energy guns self-recharge delay and increased their cell
+ capacity by 3/4
+ - bugfix: Fixes chemical patches always checking the suit slot even if the targetted
+ limb was the head.
+ - bugfix: Skeleton, nightmare and golem races are once again available to get chemical
+ patches applied onto.
+ - rscadd: Adds two cartons of space milk to the space skellie pirates cutter's fridge.
+ - refactor: Refactored implants to not be located inside mobs codewise, akin to
+ organs.
+ - bugfix: Fixed gps tracking implants.
+ - bugfix: Fixed item not being dumped out of storage implants onto the owner's turf
+ upon removal.
+ - bugfix: Fixes cult potentially stalling if the target is erased from existence
+ without being sacced.
+ - balance: Nukes the stunprod's 3 seconds delay.
+ - bugfix: Fixes teleprods.
+ - bugfix: Stops pulls of resting mobs breaking off whenever you swap turfs with
+ someone else because of crawling delays.
+ - bugfix: fixes IAA.
+ - balance: EMPs now flick off stunbatons, they can be turned back on immediately
+ by the user anyway.
+ - balance: Stunbatons now very slowly consume charge whilst kept on, at a rate of
+ 4/1000th of a standard batoning charge cost per tick.
+ - balance: Softened up the charge cost checks to stop the above update from practically
+ reducing the maximum uses of a stun baton by one. Now, should the remaining
+ charge be lower than the hit cost, the resulting stun will be be proportional
+ to the remaining charge divided by the hitcost, within a limit under which the
+ stun batoning just won't happen.
+ - balance: Buffs condensed capsaicin, a yet another feature previously dunked by
+ stam combat.
+ - balance: speeds up pepper spray puffs.
+ - balance: Buffed krav maga leg sweep stun and stamina damage. On the other hand,
+ it's now unable to be used on already lying targets.
+ - bugfix: fixes eyestabbing people with cutlery while being a pacifist.
+ - bugfix: Reduces goonchat lag from being blasted by pellets and bullets repeatedly
+ whilst wearing armor by properly removing the armor protection texts this times.
+ - spellcheck: also reduced the size of armor protection messages in general. they
+ clog up the chat box.
+ - bugfix: Fixes stunbatons icon not properly updating on cell removal and insertion.
+ - tweak: Allows lower charge cells to be used with stun batons, and thus single
+ use crapshots batons.
+ - balance: Adds in a 7 seconds delay to the jackhammer dismantling a superheated
+ clockwork wall.
+ - tweak: escape pods emergency suits storage can now be busted open by emags or
+ excessive damage.
+ - bugfix: Fixes alt click bypassing the escape pods' suits storage lock.
+ - bugfix: Fixes emags wasting charges on un-emaggable & co stuff.
+ - code_imp: Ported some radials code updates.
+ - rscadd: Ported the RCL wiring menu and a comfier RCD interface.
+ - tweak: A milder combat stance message will show up if the user switch combat mode
+ on while on help intent.
+ - spellcheck: Properly rewords the extinguisher's instructions on how to empty it
+ on the floor since it was changed to be a screwdriver action instead of Alt
+ Click a while ago.
+ - rscadd: Reskinnable PDAs. A related game preference.
+ - refactor: Refactoring the pda, pda painter, obj reskinning and chameleon pda a
+ bit to support this feature.
+ - imageadd: more PDA sprites and ported reskins.
+ - refactor: turned virtual reality into a component datum, which is then applied
+ to spawned virtual mobs. This fixes mob transformations (such as wabbajack and
+ monkeyizing) breaking the previously hardcoded behaviour and trapping you in
+ VR, also enabling a more concrete virtual reality inception experience.
+ - bugfix: Fixes power cells being unable to be rigged. Also prevents them from starting
+ processing on init if they don't self recharge.
+ - bugfix: Fixes many, little or otherwise, issues with the stunbaton status refactor.
+ - bugfix: The sacrificial target icon will now display onto the cult objective ui
+ alert once again.
+ - bugfix: Stopping borgs from sprinting into negative cell charge.
+ - tweak: The default amount of z-levels reserved specifically for space ruin generation
+ has been increased from 1 to 2
+ - tweak: 'Moving some tablecrafting recipes to the appropriate categories: Kitty
+ ears and lizard cloche hats to "clothing"; Hot dogs to "Sandwichs"; Cuban carb,
+ fish and chips and fish fingers to "Fish".'
+ - bugfix: Fixes the not-a-sandwich recipe being M.I.A.
+ - rscadd: Adding in peanuts, peanut butter, peanut butter toasts and sandwiches,
+ and the PB&J sandwich. The peanuts contain a little bit of extractable cooking
+ oil (similarly to soy beans) and can be microwaved or dried in a drying rack
+ to make roasted peanuts, which can be mixed in a all-in-one-grinder for peanut
+ butter, required to make those sandwiches.
+ - balance: Buffed wizard and artificier's Magic Missile, wizard and xeno queen's
+ Repulse and juggernaut's Gauntlet Echo.
+ - bugfix: Fixes flashlights being unable to be used for rudimentary eyes and mouth
+ exams.
+ - rscadd: Adds in a grey jumpsuit to the loadout choices, restricted to Assistants.
+ - bugfix: Fixes CWC construct shells being visible as ghost role to latejoiners.
+ - imageadd: new sprites for the flechette gun, its magazines and the toy ray gun
+ - tweak: Merges the end-of-shift and its shuttle autocall announcements into one.
+ - bugfix: Prevents the end-of-shift shuttle from being recalled (even if to no avail).
+ - bugfix: Fixes being able to teleport papers to your location with TK.
+ - bugfix: Fixed some monkey-code shenanigeans making items sometimes disappear from
+ pickpocketing.
+ - imageadd: New sprites for the some pda cartridges.
+ - tweak: The crew monitor's entry for the Quartermaster will now appear bolded,
+ while HoP's will be of the same color of the service/unknown/other jobs.
+ - bugfix: emergency pods' storage will now properly work.
+ - bugfix: The PDA skin preference will now properly save up.
+ - tweak: Changed the default PDA icon var to match the default PDA skin preference.
+ - bugfix: Fixing the `(pointless) badassary` category appearing between the `dangerous
+ and conspicious` and `stealthy and inconspicious` categories.
+ - bugfix: Combat gloves plus now properly use the combat gloves sprite.
+ - bugfix: Fixes the space ninja's energy netting.
+ - rscadd: Adding one pAI to the wizard shuttle and ERT prep room
+ - bugfix: Fixes the rocket launcher being unreloadable.
+ - balance: Buffed its accuracy a bit.
+ - tweak: Replaced the grenade launcher emagged minesweeper loot with the rocket
+ launcher like it was originally supposed to be.
+ - imageadd: 'Tweaked the :b: emoji.'
+ - rscadd: Rubber Toolboxes.
+ - rscadd: 'Porting in two bar signs: Cyber Sylph''s and Meow Mix.'
+ - bugfix: Fixing stamina damage melee weaponry being unusable by pacifists, and
+ still damaging objects and triggering electrified grilles when thrown.
+ - refactor: refactored underwears to allow custom color preferences, instead of
+ manually colored sprites.
+ - rscdel: The aforementioned manually colored pieces. Some of your char preferences
+ may have been resetted as result.
+ - rscadd: 'More underwear choices, including: Bowling shirts, long johns, a tank
+ top, fishnets, more bee socks, bee t-shirt and bee boxers (original PR for the
+ latter three by nemvar from /tg/station).'
+ - tweak: random bodies will now have random underwear again.
+ - bugfix: Dressers will now properly change undergarment again.
+ - tweak: Toned down many species' female chest sprites to fit the smaller cups.
+ - bugfix: Fixed some body parts sprites inconsistencies, such as the W/E female
+ and male chest sprites being the same in some species, and jellypeople's legs
+ being one tile off on W/E
+ - bugfix: Fixing baklava pies a bit.
+ - tweak: Sweaters now cover groins too.
+ - balance: Improved the zelus flask to be more viable for bottle smashing than the
+ average barman's selection.
+ - code_imp: Very slight bottle smashing code clean up, stupid const vars.
+ - bugfix: Fixes krav maga gloves, wizard spells knockdowns.
+ - tweak: Added in an alert pop up to the cult convertees, on top of the older "click
+ here to become a blood cultist" chat message.
+ - tweak: The convertee's screen will now flash red to fit in the aforementioned
+ message's fluff.
+ - spellcheck: Made said message less verbose.
+ - rscadd: Towels. Crafted with 3 sheets of cloth, they can be worn on head, suit
+ and belt slots even without uniform, or laid flat on the floor. Sprites from
+ Baystation and Aurora Station.
+ - rscadd: You can combat mode right click people while wielding rags and towels
+ to pat out their flames (to no use for rags) or otherwise drying them out.
+ - balance: toned down the stamina costs of some of the bulkier weapons.
+ - code_imp: repathed hypereutactic blades to be a subtype of dual sabers. Way less
+ copypasta.
+ - bugfix: Fixing CX Shredder guns not accepting standard flechette mags.
+ - bugfix: Fixing missing magpistol magazines icon states.
+ - rscadd: sort of overhauled darkmode/lightmode to /vg/station's, also reincluding
+ the pre-existing black'n'white theme.
+ - bugfix: Fixed LOOC color, fixed .userlove and .love span classes being a bit too
+ blurry on dark mode.
+ - rscadd: The syndicate base's bathroom is now fitted with a shower, and a special
+ towel.
+ - bugfix: Fixed many issues with towels.
+ - tweak: The dry people off with rags/towels action can only be done if the object
+ is NOT moist with reagents now. Also cleans banana creaming.
+ - rscadd: Towels deal more damage while soaked with reagents.
+ - rscadd: You can now squeeze rags/towels with Alt-Click.
+ - rscdel: deleted an old and crappier towel sprite that got in the way.
+ - bugfix: Fixes Pubby's disposal conveyor belts and lack of a second lawyer spawner.
+ - code_imp: Cleaned up the absolute state of the arousal module.
+ - refactor: refactored exhibitionism into a quirk.
+ - tweak: arousal states won't persist after death.
+ - bugfix: Fixes testicles size adjective thing.
+ - bugfix: undergarments toggling now works instead of just making underwear disappear
+ and not come back.
+ - tweak: The "Always visible" genitals setting will now display them above clothes.
+ - bugfix: combat pushes will now properly stop targets from using firearms, and
+ will disarm the firearm if performed a second time, and also slow down people
+ by 15%, and won't push people on tables blocked by shutters or other dense object
+ anymore.
+ - bugfix: Fixes CHECK_BITFIELD macro.
+ - bugfix: Fixes hypovials being unable to transfer out liquids or be refilled by
+ large dispensers like water tanks.
+ - bugfix: Fixes chem-masters machineries not dispensing newly made pills inside
+ loaded in pill bottles.
+ - rscadd: Stunswords now fit in the captain's sabre sheat.
+ - rscadd: reworked ninja's stealth mode. Increased invisibility, but engaging in
+ combat, attacking or throwing things, bumping people will temporarily lower
+ it.
+ - rscadd: Ninja shoes are even stealthier.
+ - code_imp: cleaned up some 2014 tier processing code horror.
+ - tweak: the oxyloss fullscreen overlays now also take in consideration 1/5 of the
+ user stamina loss.
+ - rscadd: When you're jogging, you will only slip on water if you have more than
+ 20% staminaloss, for real this time.
+ - imageadd: Different cuffs now come with different worn overlays instead of a generic
+ one.
+ - bugfix: High luminosity eyes can now be properly deactivated and won't illuminate
+ your surroundings again until turned back on.
+ - bugfix: Fixes freshly cloned people starting with undershirts. Fixes random characters
+ possibly rolling with undergarments of the opposite gender (Doesn't affect preferences'
+ freedom of choice).
+ - balance: MRE menu 3 has cuban nachos instead of a chili now.
+ - bugfix: Removed the illustration overlay from MREs, looks pretty weird otherwise.
+ - rscadd: MRE menu 4, vegetarian.
+ - bugfix: fixes a few bad touchs on combat mode pushing.
+ - bugfix: Fixes clock cult Abscond scripture not dragging pulled mobs into Reebe.
+ Also fixes blood cult tele runes teleporting you from the source turf to the
+ source turf.
+ - bugfix: fixes clock cult mass recall.
+ - bugfix: Fixes underwear colors a bit.
+ - bugfix: Fixes Blood Cult conversion prompts
+ - rscdel: Removes an obnoxious temporary overlay var.
+ - bugfix: colorable socks can be colored again.
+ - bugfix: Fixed undergarments color preferences resetting each round.
+ - bugfix: Fixed a few dozen suits' body coverage inconsistencies. These changes
+ shouldn't affect armor and utility vests for most.
+ - bugfix: Fixed clown shoes and work boots.
+ - bugfix: Fixed some overlay bug that happens when legcuffed and then handcuffed.
+ - balance: Slowed down police baton and tele baton speed by 75%, should be still
+ be faster than the legacy speed (2 seconds) by 0.6 seconds. Telescopic batons'
+ stamina cost per swing is now on par with police batons, ergo more expensive.
+ - bugfix: Fixed undershirts n socks colors prefs.
+ - bugfix: You can now alt-click to rotate machinery such as the tachyon-droppler
+ array or emitters again.
+ - bugfix: Sofas can't be wielded and transformed back into plain chairs anymore.
+ - rscadd: Enables emojis for PDA messages.
+ - balance: Removes revenant blight's shabby toxin damage in favor of mood maluses,
+ and a dangerous necropolis curse if not cured in time. Remember
+ - tweak: Blood cult altar, forge and archives now use radial menus.
+ - bugfix: Fixed some machineries' UIs.
+ - tweak: blood and clock cultists messages from metabolizing
+ - bugfix: Fixed advanced medical scanners borg upgrades.
+ - bugfix: Fixes certain borg upgrades being unapplicable on dogborg counterparts
+ of the target cyborg type.
+ - bugfix: Fixed people being shovable hrough windows, windoors and the such.
+ - rscadd: You can now shove people into disposal bins.
+ - refactor: refactored altdisarm(), ergo the "shoving people around" proc.
+ - tweak: war ops is now lowpop friendly and doesn't require roughly 54 starting
+ players anymore.
+ - rscadd: Singularity beacons now also moderately increases the odds meteor waves,
+ while lowering their estimeed arrival countdown.
+ - bugfix: non-alphanumeric graffiti decals will no longer display as "letter".
+ - balance: Nerfs cyborg disabler and its internal power cell to hold 25 disabler
+ beam shots rather than 43/44, just like a normal disabler.
+ - bugfix: Adds some missing species_traits for cloth, clockwork and cult golems.
+ - rscadd: Added towel linen bins, found in dormitory restrooms. Also enhanced the
+ bedsheet bins found in some stations' dormitories
+ - imageadd: Resprited bedsheet bins in 3/4 perspective
+ - tweak: Made SDGF ghost poll message less verbose, made the experimental cloner's
+ complaint with the former, and added ghost poll ignore options for both.
+ - bugfix: fixing some related onmob sprites issues with the above accessory.
+ - bugfix: Teleprods work on non-carbons mobs now.
+ - bugfix: Fixed tracking implant teleport issues.
+ - balance: Increased stunbatons power cell depletion rate when left on by 50%.
+ - bugfix: Gorlex Marauders are pleased to announce non-slip grooves were given to
+ their .50 sniper rifles, and thus shouldn't accidentally flop on the floor like
+ pocket spaghettis whenever taken out of a bag anymore.
+ - bugfix: Silicons can now operate teleporter, medical and security records console
+ from a distance again.
+ - bugfix: Fixed custom say emotes conflict with drunk memes.
+ - bugfix: Fixes identity transfer (envy knife, changeling transformation, making
+ a vr avatar) not copying digitigrade legs.
+ - bugfix: Fixes temporary transformation sting triggering heart attacks on heartless
+ humans.
+ - bugfix: Fixed mobs folded inside bluespace bodybags getting their clothing and
+ items deleted when passing through a recycler.
+ - bugfix: The alien-bursting-from-your-thorax and the xeno "hud" embryo stage images
+ will now properly delete them once the embryo egg lifecycle is complete.
+ - bugfix: Fixed artificier lesser magic missile.
+ - bugfix: Phantom thief masks will now fancy your combat mode yet again.
+ - bugfix: Fixed gulag teleporter stripping the user of stuff it really shouldn't
+ (like storage implant bags).
+ - bugfix: fixing cydonian armor a bit.
+ - imageadd: Resprited wooden and critter crates.
+ - imageadd: Improved the Cyber Sylph' good yet cumbersome bar sign a little.
+ - bugfix: Cyborgs can now use camera consoles on the edge of their widescreen. These
+ consoles are also TK friendly now.
+ - imageadd: Updated gang dominator sprites.
+ - bugfix: Miner borgs can again have installed PKA mods.
+ - bugfix: Fixed invisible blackberry n strawberry chocolate cake slices.
+ - bugfix: Nuke ops / adminbus combat mechs will no longer spawn with tracking beacons.
+ - imageadd: Arcade machine directional sprites.
+ - tweak: 'lowered the arcade''s random plush / other prizes ratio from 1 : 2.5 circa
+ to 1 : 5. Dehydratated carps and the awakened plush can not be achieved this
+ way anymore.'
+ - imageadd: Added armrests overlays to sofas and tweaked their sprites a little.
+ - bugfix: Fixed dogborg sleepers. Just don't tell me what is exactly fixed, cause
+ I don't want to find out.
+ - bugfix: Buffed the deep space familiar gorilla against runtimes.
+ - imageadd: Updated ratvarian computer sprites.
+ - bugfix: Fixed storage implant transplant.
+ - bugfix: Refactored how Jacqueen teleportation destination is selected, preventing
+ them from teleporting on off-station holopads.
+ Ghommie && Kevinz000:
+ - balance: Lichdom and necromantic stone skeletons are now of the spaceproof kind
+ too.
+ - tweak: skeletons now also like dairy products.
+ - rscdel: Halloween roundstart skeletons and zombies are no more spaceproof.
+ - rscadd: You can choose to set your species to zombie or skeleton through the pride
+ mirror yet again, Alas they are not of the spaceproof kind either.
+ Ghommie (Credits to Kmc2000 for the original PR):
+ - rscadd: Porting in MRE boxes from Yogstation. But be careful, eating possibly
+ expired MREs found in maintenance comes with an unrealistically large (actually
+ small) chance of food poisoning. Otherwise just bail out and order actually
+ safe-to-eat MREs from cargo for 2000 credits.
+ Ghommie (Original PR by Dennok):
+ - bugfix: Now areas_in_z get areas spawned by templates and blueprints.
+ Ghommie (Original PR by Dreamweaver):
+ - rscadd: Nanotrasen has received word of a high-tech research facility that may
+ contain advancements in bluespace-based research. Any crew members who become
+ aware of its whereabouts are to report it to CentCom immediately and are restricted
+ from sharing said info.
+ - refactor: The turf reservation system now dynamically creates new z levels if
+ the current reserved levels are full.
+ Ghommie (Original PR by JJRcop):
+ - rscadd: 'Ports in more emojis, including : flushed :'
+ Ghommie (Original PR by LaKiller8):
+ - bugfix: Goonchat options should now save properly.
+ Ghommie (Original PR by Vile Beggar):
+ - rscadd: Warden now has an added drill hat in his locker. You can change the loudness
+ setting of it by using a screwdriver on it. Use wirecutters on it for a surprise.
+ Ghommie (Original PR by coiax):
+ - refactor: atom/var/container_type has been moved into datum/reagents/var/reagents_holder_flags.
+ There should be no visible changes to effects.
+ Ghommie (Original PR by nemvar):
+ - rscadd: Botanists can now get beeplushies (or cultivator and bucket) as an heirloom.
+ - bugfix: Clowns and mimes will now properly pick either a can of paint or their
+ brand as heirloom now.
+ Ghommie (Original PR by tralezab):
+ - bugfix: Fixes an issue with spontaneous appendicitis picking incompatible mob
+ biotypes.
+ Ghommie (Original PRs by Tortellini Tony and BuffEngineering):
+ - bugfix: E-cigs will continue to display their setting after being emagged.
+ - bugfix: Vapes now come out of the mouth. fix Fixes an E-cig initialize() runtime.
+ Ghommie (Original PRs by nemvar and Rowell):
+ - rscadd: Added beekini bras and panties, thigh-high and knee-high bee socks.
+ Ghommie (by Arkatos):
+ - bugfix: Fixed an issue with a Lizardwine drink crafting, where a final product
+ would contain unwated 100u of Ethanol.
+ Ghommie (by Floyd / Qustinnus, Arathian):
+ - rscadd: The robotocist now has robe to show his love for toasters
+ Ghommie (by nemvar):
+ - tweak: Dwarfs are now more robust.
+ Ghommie (original PR by 4dplanner):
+ - bugfix: thrown objects (but not mobs) no longer hit the thrower
+ - bugfix: mirror shield rebound no longer depends on the original thrower's momentum
+ Ghommie (original PR by 81Denton, kriskog and nemvar):
+ - spellcheck: Sleepers now show a message if players try to unscrew the maintenance
+ hatch while they're occupied or open. Fixed typos in sleeper/organ harvester
+ messages.
+ - tweak: Sleepers and dna scanners can now be pried open with crowbars.
+ - tweak: You can open and close sleepers and dna scanners by alt-clicking them.
+ - bugfix: The scanner's hatch now must be closed (on top of being unoccupied), just
+ like sleepers, before being screwdriverable. This fixes a tricky door stuck
+ issue with the machine.
+ Ghommie (original PR by AffectedArc07 and Shazbot):
+ - imageadd: Added 8 new sock styles
+ Ghommie (original PR by AffectedArc07):
+ - tweak: Religion is now a globalvar instead of being a subsystem for some reason
+ Ghommie (original PR by AnturK):
+ - bugfix: Supermatter now melt walls if it finds itself in one.
+ Ghommie (original PR by Anturk):
+ - rscadd: Recipe for fabled secret sauce can now be found in the deepest reaches
+ of space.
+ Ghommie (original PR by Barhandar:
+ - bugfix: Pumpkin meteors on Halloween now replace catastrophic meteor waves, instead
+ of ALL OF THEM.
+ Ghommie (original PR by CrazyClown12):
+ - tweak: The chloral hydrate inside of the sleepy pen is no longer slower acting
+ than chloral hydrate made in chemistry.
+ - tweak: The chloral hydrate inside of cookies synthesised by emagged borgs is no
+ longer slower acting than chloral hydrate made in chemistry.
+ - balance: Slight tirizene buff.
+ - rscdel: Delayed chloral hydrate
+ Ghommie (original PR by Denton):
+ - tweak: Nanotrasen has started shipping more types of bedsheets to its stations.
+ - rscadd: Added in Runtime, Pirate and Gondola bedsheets. The second one can also
+ be found in some pirate ships, while the last can be crafted from gondola hides.
+ - balance: You can no longer reveal the 'illegal tech' research node by deconstructing
+ .357 speedloaders, riot dart boxes, syndicate cigarettes, syndicate playing
+ cards or syndicate balloons.
+ Ghommie (original PR by Mickyan):
+ - bugfix: Fixed being unable to smother people using the damp rag
+ Ghommie (original PR by MrDoomBringer):
+ - bugfix: morgues have had their proton packs removed and as such no longer suck
+ in ghosts on closing.
+ Ghommie (original PR by MrDoomBringer, AnturK and YPOQ):
+ - bugfix: Explosions will no longer damage wizards in rod form, the supermatter
+ monitoring radio and megafauna GPS.
+ - bugfix: Supplypods no longer detonate their contents.
+ - bugfix: Fixed silicon items (e.g. cyborg modules) being destroyed by explosion
+ epicenters.
+ Ghommie (original PR by Naksu):
+ - code_imp: get_area() is now a define rather than a proc.
+ Ghommie (original PR by Nicjh):
+ - rscadd: Abductor console's select disguise option now uses a radial
+ Ghommie (original PR by ShizCalev):
+ - bugfix: Pineapple haters/lovers will get/no longer get pineapple pizzas respectively
+ from infinite pizza boxes.
+ - bugfix: As a non-human mob, hovering your cursor over an inventory slot while
+ holding an object in your active hand shouldn't runtime now.
+ Ghommie (original PR by Skoglol):
+ - code_imp: New helper proc for alt-click turf listing, bypasses any interaction
+ overrides.
+ - code_imp: Ghosts and revenants now use the new proc.
+ - bugfix: Ghosts can no longer toggleopen sleepers, adjust skateboard speed or close
+ laptops
+ - bugfix: Revenant can now alt-click turf to list contents.
+ - tweak: Revenant now slightly less nosy, use shift click to examine.
+ - tweak: Alt-clicking the same turf again no longer closes the turf listing tab.
+ - bugfix: Reduced ventcrawl lag greatly.
+ - bugfix: Mining bags will no longer drop ore into backpack.
+ - bugfix: Mining bags in backpack no longer interferes with other mining bags.
+ - bugfix: Fixes some storage size circumventions.
+ - tweak: Moved machine and computer frames below objects, parts are now always on
+ top.
+ - tweak: Moved structures (chairs, closets, windows, cult altars etc etc) below
+ objects.
+ - tweak: Moves mineral doors to airlock layers
+ - tweak: morgue/crematorium trays' layers shouldn't overlap bodybags' anymore.
+ Ghommie (original PR by SpaceManiac):
+ - bugfix: Disassembling a chem dispenser for the first time will no longer always
+ yield a fully-charged cell.
+ Ghommie (original PR by Swindly):
+ - rscadd: Arm-mounted implants that contain more than one item use a radial menu
+ instead of a list menu.
+ Ghommie (original PR by Tlaltecuhtli):
+ - bugfix: Other people's clothes burning no longer spam you
+ Ghommie (original PR by XDTM):
+ - bugfix: Reagents now stop their passive effects (for example, stun immunity) if
+ the liver stops working while they're active.
+ Ghommie (original PR by YPOQ):
+ - bugfix: Fixing roffle waffle, mushroom halluginogen and some invalid reagents.
+ - bugfix: Fixes clockwork armor not actually having armor.
+ Ghommie (original PR by cacogen):
+ - rscadd: The font size of all text in the chat window now scales
+ - tweak: High volume (megaphone/head of staff headset) is a slightly smaller
+ - tweak: Admins have slightly larger OOC text
+ Ghommie (original PR by coiax):
+ - code_imp: Randomly coloured gloves and randomly coloured glowsticks now have slightly
+ different typepaths, but otherwise function the same.
+ - code_imp: The Squeak subsystem has been renamed to Minor Mapping.
+ Ghommie (original PR by duckay):
+ - rscadd: Added better names and descriptions for blueshirt officer gear.
+ - rscadd: Added the above gear to the premium selection of the sectech
+ Ghommie (original PR by harmonyn):
+ - balance: Resisting out of bucklecuffs takes more/less time depending on the handcuffs
+ you used, i.e., fake handcuffs will not bucklecuff someone for ages.
+ - tweak: fake handcuffs shouldn't no longer demoralize restrained criminals scums.
+ Ghommie (original PR by monster860):
+ - bugfix: fixes advanced proccall
+ Ghommie (original PR by mrhugo13 on tgstation13):
+ - rscadd: The Syndicate has decided to equip their Syndicate leaders operative (Aswell
+ as their clown counterparts) with the new Combat Glove Plus! The new Combat
+ Glove Plus does everything the old boring Combat Gloves does but with the added
+ extra of learning Krav Maga upon wearing them, any other Syndicate operative
+ who wants to get in on the action will have to pay 5tc.
+ Ghommie (original PR by nemvar):
+ - imageadd: Some drinks have new icons or slightly altered icons. In particular
+ Wizz Fizz, Bug Spray, Jack Rose, Champagne and Applejack.
+ Ghommie (original PR by ninjanomnom):
+ - bugfix: Orbiting is a little more aggressive about staying in orbit. The wisp
+ as a result now correctly follows you over shuttle moves.
+ - bugfix: Gaps between sounds in some looping sound effects should no longer happen
+ as much under heavy server lag.
+ Ghommie (original PR by variableundefined):
+ - bugfix: Cancel button to assault pod destination selector.
+ Ghommie (original PR by wesoda25):
+ - balance: disembowelment no longer works on mobs that aren't dead or in critical
+ condition
+ Ghommie (original PRs by Akrilla, Arkatos and Denton):
+ - tweak: Sprays cans have a cap on how dark you can make objects. Art is uneffected.
+ - bugfix: Fixed a bug where you could get cyborg spraycans via pyrite extracts.
+ - rscadd: Added an infinite spraycan for admins to spawn.
+ Ghommie (original PRs by Denton and Skoglol):
+ - tweak: Reorganized the syndicate uplinks. Items are now mostly alphabetical, some
+ misplaced items moved to more fitting categories. Bundles, random item and TC
+ have been moved into a new category called "Bundles and Telecrystals". Gloves
+ of the North Star and Box of Throwing Weapons have been moved to Conspicuous
+ and Dangerous Weapons. Combat Gloves Plus have been moved to Stealthy and Inconspicuous
+ Weapons. Moved all implants into the Implants category.
+ - tweak: 'Added a new category to the uplink: Grenades and Explosives.'
+ Ghommie (original PRs by Floyd/Qustinnus, optimumtact, Denton and coiax):
+ - rscadd: You can now select what your pills will look like when making pills from
+ the Chem Master
+ - rscadd: Red pills can make you think.
+ Ghommie (original PRs by Jujumatic and PKPenguin321, respectively):
+ - rscadd: Minesweeper Arcade machines. The higher the difficulty setting, the better
+ the prizes will be.
+ - rscadd: Also keep your eye out for another new (and rare) arcade game!
+ Ghommie (original PRs by Kmc2000 and actioninja):
+ - rscadd: Added darkmode! You can opt-in to this by clicking the new toggle darkmode
+ button just beside the settings one.
+ - rscadd: Byond members will now have a new setting for their Antag OOC color, instead
+ of using their OOC one. (Antag OOC still locked under admin discretion though)
+ - rscdel: Default black'n'white windows style.
+ Ghommie (original PRs by Mickyan, Anturk, ShizCalev, nemvar and Naksu):
+ - rscadd: After rigorous mandatory art training for the crew, many new graffiti
+ styles are now available
+ - bugfix: Cleaned up some crayon and spraycan code for futureproofing.
+ - bugfix: Spraypainting blast doors no longer makes them see-through.
+ - balance: Paint remover now works on blast doors and the like.
+ - rscadd: Most objects can now be colored using a spray can.
+ - spellcheck: Added visible message to spraying objects and windows.
+ - rscadd: Colored lights now shine in different colours.
+ - rscdel: Removed individual buttons text in crayon/spraycan UI, speeding it up.
+ - bugfix: Text mode buffer is actually visible in the UI.
+ - tweak: Last letter of a text mode buffer no longer rotates out to be replaced
+ with "a", allowing the text mode to be used for individual symbols.
+ Ghommie (original PRs by Naksu and XDTM):
+ - bugfix: Transferring quirks now properly removes the roundstart trait from the
+ person losing the quirk.
+ - bugfix: Roundstart traits no longer block the removal of other sources of that
+ trait.
+ - code_imp: status traits are now a datum var, the accessors are now defines rather
+ than functions.
+ Ghommie (original PRs by Naksu and coiax, loser):
+ - code_imp: Cleaned up saycode
+ - bugfix: Taking mutadone while having the communication disorder brain trauma will
+ no longer spam your chat with messages.
+ - rscadd: IPCs now come with a subtype of robotic tongue without the omnilingual
+ ability, instead of innately having robotic voice spans.
+ Ghommie (original PRs by Nichlas0010 and ShizCalev):
+ - tweak: AI core display screen can now be set in character preferences.
+ - bugfix: AI core display screen will now be restore when revived.
+ - spellcheck: Corrected some inconsistent capitalization in the player preferences
+ screen.
+ - imageadd: Readded some forgotten AI sprites.
+ - bugfix: Fixed Hades AI death animation not playing.
+ - tweak: the AI icon-selection menu now uses a radial.
+ - imageadd: Added in the death icon_states for the "TechDemon" AI screen.
+ Ghommie (original PRs by ShizCalev and bobbahbrown):
+ - rscadd: Headsets now dynamically show in their description how to speak on any
+ channels they can use when held or worn.
+ - code_imp: Radio channels names and keys now use defines.
+ - tweak: The head arrival announcement will now be broadcast to the supply for the
+ quartermaster.
+ Ghommie (original PRs by ShizCalev):
+ - bugfix: Fixed a bug that allowed you to teleport an ID in your possession to a
+ PDA anywhere ingame.
+ - bugfix: Fixed an exploit allowing you to steal ID's/pens from PDA's not in your
+ possession.
+ - bugfix: Fixed an exploit allowing you unlimited control of a PDA's interface even
+ if it wasn't near you/in your possession.
+ - bugfix: Fixed Pride Mirror exploits.
+ - tweak: Corgi collars can now be removed!
+ - tweak: Updated the corgi & parrot inventory panels to use the same formatting
+ as other mobs
+ - bugfix: Fixed corgi inventory panels not closing properly.
+ - bugfix: Fixed the parrot inventory panel not closing properly if you're not able
+ to interact with it.
+ Ghommie (original PRs by ShizCalev, MrDoombringer, AnturK, bgobandit, 81Denton and actioninja):
+ - rscadd: Failsafe codes for uplinks are now available for purchase.
+ - rscadd: Nuke Ops now have the ability to purchase a usable RPG, the PML-9, as
+ well as a couple different types of rockets for it. you can also suicide rocket
+ jump with them!
+ - spellcheck: Improved Uplink item descriptions and formatting.
+ Ghommie (original PRs by ShizCalev, coiax and Tlaltecuhtli):
+ - bugfix: Caks will no longer override the bonus reagents provided in a donut when
+ frosting them.
+ - bugfix: Caks can no longer create frosted frosted jelly donuts.
+ - bugfix: Jelly donuts will no longer lose their vitamins when they're frosted.
+ - bugfix: Fixed chaos donuts potentially doubling the amount of reagents added when
+ microwaved with something else.
+ - bugfix: Donuts now always contain 1 sprinkles as was stated on the wiki. Frosted
+ donuts have a chance at adding an extra sprinkle.
+ - code_imp: Improved the code for ensuring that security members enjoy donuts and
+ security-themed alcoholic drinks.
+ - balance: neurotoxin doesnt insta stun but gives you limb paralysis overtime and
+ heart attacks if it stays in for too long and it is also alcholic
+ - balance: beepsky smash now summons imaginary beepskys that deal stamina damage
+ instead of outright stunning
+ Ghommie (original PRs by Time-Green and Qustinnus):
+ - tweak: loot crates can't explode after unlocking anymore
+ - bugfix: jumping into loot crates no longers causes them to go boom
+ - bugfix: You can now deconstruct abandoned crates with a welder without making
+ them go boom. After unlocking them, of course.
+ Ghommie (original PRs by Tlaltecuhtli and nicbn):
+ - rscadd: alt click to eject beakers from chem masters + chem dispensers + grinders
+ + chem heaters
+ - rscadd: hit chem master + chem dispenser + chem heaters with a beaker and if its
+ loaded with another it swaps em
+ - rscadd: All-In-One Blender UI uses a radial menu now. You can see the contents
+ and reagents by examining.
+ Ghommie (original PRs by XDTM, 4dplanner, nemvar and, yes, myself):
+ - code_imp: Merged tinfoil hat kind of protection into the anti_magic component.
+ - rscadd: Tinfoil hats can also be warped up from excessive dampening of mindray/though
+ control/psicotronic anomalies, or by simply being microwaved in an oven, and
+ become useless.
+ - rscadd: Immortality Talisman and Paranormal Hardsuit helmets now come with tinfoil
+ protection too (minus the paranoia and limited charges).
+ - balance: Genetics/Slime/Alien Telepathy and Slime Link are now stopped by tinfoil
+ protection.
+ Ghommie (original PRs by XDTM, optimumtact, Nichlas0010 and monster860):
+ - rscadd: 'Added Quantum Keycards, devices that can link to a quantum pad, and can
+ be used on any other quantum pad to teleport to its linked pad. spellchecking:
+ Renamed "Bluespace Teleportation Tech" tech node to "Bluespace Travel".'
+ - tweak: Moved roasting sticks from the "Bluespace Travel" to "Practical Bluespace".
+ - rscadd: Spraying holy water on tiles will now prevent cult-based teleportation
+ from using them as a destination point.
+ - tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags
+ of holding.
+ - bugfix: You are now also blocked from teleporting IN to no-teleport areas, not
+ just out of them.
+ - tweak: Quantum teleportation now makes pretty rainbow sparks instead of the normal
+ ones.
+ - bugfix: Non-bluespace teleportation (spells etc.) no longer makes sparks.
+ - bugfix: Fixed teleportation deleting mob spawners like golem shells and ashwalker
+ eggs.
+ ? Ghommie (original PRs by carshalash, GranpaWalton, BebeYoshi & Hexmaniacosanna,
+ Fire Chance, Ordonis, Krysonism and OnlineGirlfriend)
+ : - tweak: Reduced booze power of Mead, Red Mead, and Irish Cream.
+ - tweak: Increased booze power of Grappa.
+ - rscadd: Added a new premium drink to the soda machine called "Grey Bull" which
+ gives temporary shock resistance
+ - rscadd: A new drink called Blank Paper was added to the bar menu, it was made
+ by a mime and it represents a new start.
+ - rscadd: 'Adds a variety of fine alcoholic beverages for discerning patrons of
+ the bar: Wizz Fizz, Bug Spray, Champagne, Applejack, Jack Rose, Turbo, Old
+ Timer, Rubberneck, Duplex, Trappist Beer, Blazaam and Planet Cracker!'
+ - rscadd: 'Also more nonalcoholic drinks: Cream Soda, Lemonade and Red Queen.'
+ - rscadd: Packs of a novel artificial sweetener have been added to the kitchen
+ vendor.
+ - rscadd: Bottles of trappist beer and champagne are now available in the premium
+ seection of the booze-o-mat.
+ - rscadd: Juicing parsnips now yields parsnip juice.
+ - rscadd: Maintenance peaches.
+ - bugfix: Grape soda now cools you down like other sodas.
+ - tweak: tweaked the Arnold Palmer recipe, it now uses lemonade.
+ - imageadd: Added new drink, bottle, vomit and peach can sprites.
+ Ghommie (original PRs by grandpawalton and Mickyan):
+ - tweak: the contents on the smartfridge icon now change depending on how many items
+ it contains
+ - bugfix: opening the maintenance panel of smartfridges now correctly updates the
+ icon
+ - bugfix: Screwing a disk compartmentalizer no longer makes it look like a smartfridge.
+ Ghommie (original PRs by nicbn and coiax):
+ - rscadd: Microwave UI uses a radial menu now. You can see the contents by examining.
+ - rscadd: Microwaves have a single wire accessible when open, the activation wire.
+ When cut, the microwave will no longer function, when pulsed, the microwave
+ will turn on.
+ - rscadd: Stabilized dark purple extracts now cook items in your hands, rather than
+ dropping the cooked item on the floor.
+ Ghommie (original PRs by ninjanomnom and nemvar):
+ - bugfix: Trays now scatter their contents when used for attacks, like they are
+ supposed to.
+ Ghommie (original PRs by ninjanomnom, coiax, yoyobatty):
+ - bugfix: Fixed slaughter demons not getting a speed boost when exiting a pool of
+ blood. Fixed slaughter demon giblets not being visible.
+ Ghommie (original PRs by subject217, AarontheIdiot, pireamaineach, Gousaid67 and SouDescolado):
+ - balance: Removed plasmamen species speedmod in favor of a slowdown for envirosuits.
+ - rscadd: Nanotrasen has began deploying departementalized enviro plasmasuits to
+ the station! plasmamens can now benefit from some of the bonuses aswell as the
+ color pattern of their job, while allowing others to easily determine their
+ profession!
+ - bugfix: Benevolent Nanotrasen makes gulag available for everyone! (Plasmamen retain
+ their equipment and don't die.)
+ - rscdel: Removes code that theoretically limits plasmamen from being clowns and
+ mimes, but actually doesn't.
+ Ghommie (original PRs by zeroisthebiggay, AnturK, MrDoomBringer, Cobby, ATHATH, optimumtact, GranpaWalton, Skoglol):
+ - bugfix: Blob overminds, sentient diseases, etc. can no longer dump out boxes.
+ Sorry gamers.
+ - rscadd: Sentient Disease now has almost all symptoms at its disposal.
+ - code_imp: Adding single-symptom disease abilities is super easy now.
+ - bugfix: Sentient Disease can now hear (not sure if this was a bug or intentional).
+ - rscadd: Sentient Disease is a linguist and knows all languages. Still cannot speak.
+ - tweak: Gives Sentient Diseases a medical hud to observe their victims further
+ with.
+ - bugfix: Fixes and moves around some on_stage_change() and Start()-related things
+ for virus symptoms and (sentient) diseases.
+ - bugfix: The inorganic biology symptom should work properly now when bought by
+ a sentient disease.
+ - bugfix: Oxyloss icon no-longer shows up when someone has the self respiration
+ symptom
+ - tweak: The self respiration now makes you not contract diseases through the air
+ and not breathe in smoke
+ - bugfix: Sentient diseases can no longer pick two cures that react and disappear
+ when eaten.
+ - balance: Sentient disease cures are now consistently harder, will only pick cures
+ from tier 6 and up.
+ - bugfix: Disease cures should now stay the same for all infected mobs.
+ - rscadd: The regenerative coma symptom has a new resistance 4 threshold effect!
+ Said threshold effect will give hosts of the symptom's virus the TRAIT_STABLECRIT
+ trait if its threshold is met.
+ - bugfix: An obscure, probably never reported before bug that may or may not exist
+ involving sentient diseases and the self-respiration symptom should be fixed
+ now (if it even existed in the first place).
+ - balance: The cooldown time between each removal or addition of a symptom for sentient
+ diseases has been brought down from an agonizingly long 2 minutes to a more
+ reasonable 1 minute.
+ Ghommie (original pr by Dennok on tgstation):
+ - bugfix: Now you don't lose your pulled thing on the z level edge.
+ GrayRachnid:
+ - rscadd: Added windoors to all the flaps on delta.
+ - balance: rebalanced k9dogborgs
+ Hatterhat:
+ - rscadd: Magnetic pistols now fit in boot pockets - jackboots, workboots, etc.
+ - tweak: literally every pistol subtype fits in shoes now. go wild.
+ Hippie Circuit Port:
+ - rscadd: Added all Atmospheric Circuits
+ - rscadd: Added the ability to color data disks
+ - rscadd: Added Selection and Storage Examiner Circuits
+ - rscadd: Added Smoke, Extinguisher, and Beaker Connector Circuits
+ - rscadd: Added Inserter, Renamer, Redescriber, and Repaint Circuits
+ - rscadd: Added MMI Tank and pAI Connector Circuits (The possibilities are endless!)
+ Improving and Balancing Cyborgs:
+ - rscadd: Added Crew Pinpointer to Security Borg
+ - rscadd: Added Crew Monitor to Medical Borg
+ - rscadd: Added Crew Pinpointer to MediHound Borg
+ - tweak: Made the Disabler_Cooler compatible with both Security Borg and K9 Borg
+ - tweak: Changed the Warning Text upon selecting Security or K9 module
+ ItzGabby:
+ - rscadd: Bat Species parts for more leeway for character customization.
+ - code_imp: Alphabetized decor wing selection window in character creator for simplicity.
+ JTGSZ:
+ - tweak: Added one more gang boss slot bringing total to 4 from 3
+ - bugfix: Fixed Gang Boss being able to be deconverted
+ - tweak: Gave Qualifies_for_Rank Check back its checks in job controller.
+ - rscadd: Optional species based clothing restrictions
+ - tweak: Gang Dominator excessive wall check tweaked to 25 open turfs
+ - bugfix: Gang Dominator no longer functions off-station.
+ - rscadd: Adds more control over species based offsets.
+ - bugfix: qualifies_for_rank now checks latejoin menu
+ - rscadd: Added Halloween Dwarves, for Halloween... Yep.
+ - bugfix: Can flip pipes once more.
+ - bugfix: barricade girder walls use PlaceOnTop instead of new
+ Linzolle:
+ - rscadd: ability to quickly max sensors
+ - bugfix: atmos helmet visual bug
+ - bugfix: supply display are now properly on the wall
+ - tweak: consistency in hop and cap berets
+ - tweak: slime people now enjoy eating toxic food and it will not disgust them
+ - bugfix: hos trenchcloak now properly has a sprite on digi characters
+ - rscdel: duplicate definition of hos and sec skirts
+ - bugfix: Krav Maga leg sweep now works properly.
+ - rscadd: shoes can have a different icon used for their item and mob icons
+ - bugfix: combat gloves plus having no mob icon
+ - rscadd: inhands sprite for rainbow knife
+ - tweak: colour of highlight on the regular knife when held in the right hand
+ - rscadd: mining shuttle console can now be printed after computer consoles have
+ been researched
+ - rscadd: can now carry people on your back by aggressive grabbing them while they
+ are laying down and then dragging their sprite onto yours.
+ - tweak: dragging people who are prone is now much slower, and carrying them will
+ allow you to move faster at the cost of taking 5 seconds to lift them up onto
+ your back.
+ - tweak: pacifists can now aggressive grab (cannot table slam people though)
+ - bugfix: blood on your body floating a bit to your right if you're a taur
+ - bugfix: some suits having no icon on tauric characters
+ - tweak: front facing CMO hardsuit icon for naga taurs
+ - tweak: colour of medical cross on CMO hardsuit for taurs
+ - bugfix: taur body and jumpsuit showing through mining suits
+ - tweak: all chaplain suits can hold the same items in suit storage
+ - code_imp: improvement to organisation for chaplain suits
+ - bugfix: blood halberd not going back to 17 force after unwielding
+ - spellcheck: unnecessary 's at the end of blood rites healing
+ - rscadd: QoL to blood rites, examine the ritual aura to view how many blood charges
+ are left
+ - code_imp: surgery cleanup
+ - tweak: dissection available round-start
+ - rscadd: better dissection surgeries from RnD, gives more points
+ - rscadd: abductors can now see what glands do
+ - code_imp: antagonist abductors now have a surgeon trait that teaches them every
+ surgery rather than having it just check if they're an abductor
+ - rscadd: muscled veins surgery
+ - bugfix: having one of your hands used up if you fireman carry but the person being
+ carried dismounts any way other than you dropping them
+ - rscadd: Four colour variants of ankle coverings. Select them on the loadout screen.
+ - imageadd: ankle coverings
+ - tweak: allows for shoes that don't cover your feet to be taken into account for
+ footstep sound effects and glass shards
+ - rscadd: Tend Wounds surgery. Heal in the field, with better healing the more damage
+ the patient has.
+ - rscdel: Reconstruction replaced by Tend Wounds
+ - balance: made Revival more accessible, more viable alternative to cloning.
+ - bugfix: advanced surgery tools can't perform lobectomy or coronary bypass
+ - rscadd: Decorative and insect wings can now be coloured individually, similar
+ to horns.
+ - bugfix: people getting assigned wings if their savefile is old.
+ - rscdel: wings that take the hair colour. Unnecessary if you can just set the colour.
+ - tweak: Cannot make horns pure black. Trying to do so will set it to a default
+ value.
+ - bugfix: decorative angel wings being invisible
+ - bugfix: abductors now actually work
+ - tweak: abductor scientist has their own greet message now
+ - bugfix: unable to read paper on airlocks
+ - tweak: ai can see paper (still just shows stars)
+ - rscadd: Target head and throw a hat at someone to toss it onto their head, knocking
+ whatever they're wearing off if they are wearing a hat. Some headgear can't
+ be knocked off this way.
+ MediHound:
+ - rscadd: Made Cyborgs be affected by Ion Storm Law Changes like AIs
+ MrJWhit:
+ - balance: rebalance melee stamloss
+ Multicam Config:
+ - config: removed whether or not the stuff for multicam was checking the useless
+ var and instead now checks the CONFIG_GET flag.
+ - admin: Admins now have a verb in the Server tab to turn AI multicam on and off.
+ Naksu:
+ - code_imp: default radiation insulation is now handled by atom vars rather than
+ a component, components can still be used.
+ - code_imp: squeezed a little bit more perf out of atmos
+ Nero1024:
+ - soundadd: Bare feet will now make the correct footstep sounds.
+ - soundadd: Other mobs will make the correct footstep sounds.
+ - soundadd: Crawling/dragging sounds for downed/incapacitated mobs
+ Onule & Nemvar (ported by Ghommie):
+ - imageadd: New Revenant icons
+ Original by Citinited, port by Sishen1542:
+ - rscadd: You can now use an airlock electronics on a locker to add a lock, and
+ can screwdriver an unlocked locker to remove its lock.
+ - rscadd: You can now remove the locks on broken or emagged lockers.
+ - tweak: Removing the lock from a personal locker now wipes that locker's ID details.
+ - tweak: Broken lockers have had their appearance changed.
+ Owai-Seek:
+ - rscadd: custodial cruiser cargo crate
+ - tweak: removed light replacer from power designs and moved to misc designs
+ - tweak: added pimpin ride to custodial locator
+ - tweak: added additional items to janibelt whitelist
+ - tweak: made plant DNA manipulator unwrenchable
+ - balance: reduced janitor premium supply costs
+ - bugfix: fixed them strawberries
+ - rscadd: false codpiece
+ - rscadd: crocin/camphor bottles
+ - tweak: updated kinkmate item list
+ PersianXerxes:
+ - code_imp: Adds the clockwork_warp_allowed flag to the Captain's Office area, set
+ to FALSE the same way it is for the chapel and armory.
+ - tweak: Relocates cult catwalks outside the Reebe dressing room.
+ Poojawa:
+ - rscadd: Digitigrade legs are now able to wear shoes and look fancy, Uniforms to
+ come.
+ - tweak: Xenos are only digitigrade now, mammals and aquatics have the option.
+ - rscadd: Fire Alarms are visible in low light situations
+ - bugfix: fixed vore prefs saving inconsistently, new characters might have a previous
+ slot's prefs tacked on.
+ - bugfix: fixed mammals not having the option for digilegs. Sprites are fucky until
+ body-part related sprites are done.
+ - refactor: improved vore sound responsiveness to preference choices.
+ - balance: removed morphine from Medihound sleeper chemical list
+ - bugfix: fixed preference setting being broken
+ - refactor: Medihound sleepers are Initialized properly, and icons update correctly
+ now on eject
+ - tweak: Air alarm All clear color changed from green to blue
+ - balance: APCs are harder to destroy.
+ - rscadd: Added Digitigrade versions of everything appliciable in suit.dmi
+ - imageadd: Snowflake Icons weren't modified, and were given NO_MUTANTRACE_VARIATION
+ - imageadd: naga and quad Taurs literally don't freeze their ass off in space anymore.
+ - bugfix: Digitigrade legs will toggle on/off properly on character menue
+ - bugfix: The misleading "normal" has been removed from species options
+ - balance: Added sanity checks to emag usage
+ - bugfix: fixed vtech, but it still doesn't work because of overriding jog/sprint
+ mechanics from combat reworks.
+ - bugfix: Puppy jaws properly store if you're emagged, they are also toggle-able
+ for stealth like the tongue.
+ - bugfix: 'Digitigrade legs should properly fucking update for the last fucking
+ time. Fucking snowflake code. refractor: Got rid of snowflake sechound cuffs,
+ gave them normal zipties like regular secborgs.'
+ - bugfix: dogborg sleepers actually extinguish people who are on fire, in case you
+ don't have time to lick them out.
+ - bugfix: Taur suits should fix themselves properly when worn by other people.
+ - rscadd: Added the Yogs/Oracle ported latejoin menu
+ - rscadd: All markings, tails, ears, and snouts for Citadel races are color matrixed!
+ - imageadd: all markings are on a per-limb basis, including Digitigrade legs!
+ - imageadd: a bunch of tails were blessed with tail wagging sprites, Fish, Sharks,
+ Fennecs, Wahs, raccoons, and others.
+ - imageadd: Tiger markings + tail added, skunk tails improved via sprites from Virgo
+ - tweak: tweaked some sprites to look better, but they absolutely could use a few
+ extra passes for quality
+ - rscadd: HumanScissors in the Tools folder will permit anyone to contribute matrix'd
+ markings to the sprite sheet, however Mam_markings is very, very full. Be careful.
+ - tweak: Character preview was both optimized for taurs and bad-touched for better
+ updating. I don't know if it'll be bad, but hey its better.
+ - rscadd: Added Dark Medihound and Pup Dozer from Virgo
+ - tweak: Clone pods no longer announce the name of the clone
+ - bugfix: fixed flavor text appearing when your face is hidden but you're not an
+ Unknown
+ - bugfix: Tauric suits now apply an (placeholder) blood overlay, as well as their
+ shield overlay.
+ - balance: Ashwalkers now have lungs. They cannot breath station air without suffocation
+ effects, but are completely fine on their homeworld.
+ - balance: Carbon mobs now have a maximum tolerance to oxygen of 50kPa.
+ - balance: Deluxe synthetic lungs have a very high bonus to O2 tolerance.
+ - bugfix: Digitigrade legs returned to normal, since digi leg markings overlay them
+ anyway.
+ - bugfix: commented out lizard mam_snout entries, because too many abominations
+ - bugfix: Vore Panel restored to have various interactions available again. Semi-untested
+ but should work as advertised.
+ - tweak: Vore Panel has more feedback.
+ - rscadd: is_wet var to bellies, toggled in the panel, will remove flesh sounding
+ struggles and the internal loop. JSON version updated.
+ - rscadd: Feeding var. You will need to enable feeding to recieve any feed vore
+ actions, but you can now feed yourself to mobs that have this set. TODO, Dogborg
+ sleeper feeding.
+ - rscadd: vore mode button now required to be enabled to perform vore actions. It's
+ the mouth icon!
+ - bugfix: Ash Drake vore fixed for actual reals this time
+ - bugfix: Mobs shouldn't spam the released contents announcement anymore on qdel
+ or death. Only if triggered
+ - tweak: Hostile mob code now properly ignores targets in bellies
+ - rscadd: Your belly can quietly growl if you're starving now.
+ - bugfix: Normal blood splattering isn't offset due to tauric mode
+ - rscadd: Added plasma man suit icons for taurs
+ - rscadd: Added bee butt for insects to have stripes
+ - tweak: adjusted random spawn sprite accessories, humans won't be demi by default
+ and lizard/mammal spawns will randomly get digitigrade legs
+ - bugfix: sprite adjustments for tentacles, as well as a misspelling.
+ - bugfix: Humans once again use ears and tail_human, as intended. This is to prevent
+ garish randomness
+ - bugfix: istype for species is actually correct and usable now, it'll be a factor
+ for monkey form expansions.
+ - bugfix: Hair functions are de-gendered and more easily selectable now.
+ - bugfix: Slimes can *wag, select markings and snouts, and yes it works.
+ - bugfix: Slimepeople extra parts now respect their hair_alpha in terms of being
+ somewhat see-through. it shouldn't stand out as badly now!
+ - bugfix: Hunger noises are now toggled per character
+ - bugfix: Ashwalker den is habitable by ashwalkers again
+ - rscadd: Medical belts now have overlays! Now you can see if a belt is useful or
+ just flatout empty.
+ - bugfix: fixed hypo MK IIs not being able to be put on medical belts
+ - bugfix: fixed Navy officer uniforms that failed to spawn
+ - code_imp: Loadout items will be forcefully added to backpacks or at your feet
+ instead of left behind at title screen
+ - tweak: hypospray kits hold 12 now, but only vials and sprays themselves
+ - bugfix: labcoats can carry MK II hyposprays on them now.
+ - rscadd: Vore Mobs are a thing now, not just ash drakes
+ - rscdel: 'Removed hunger sound stuff. never taking requests from Coolgat3 ever
+ again. refractor: Simple Mobs use the same system regular human mobs do, itjustworks.png'
+ - tweak: Character Window settings unsnowflaked and normalized. I have no fucking
+ clue how to make them work with taurs still tho, sorry.
+ - imageadd: added rotating background images for better clarity and contrast than
+ just SOLID FUCKING BLACK. Images from Virgo/Polaris/Eris
+ - balance: Defib users automatically stop pulling when they attempt to perform a
+ defib shock
+ - imageadd: added muzzled varients of space helmets and full masks
+ - imageadd: added knight_grey to taur suits, all paranormal ERT now have tauric
+ versions enabled
+ - bugfix: Lava knights have digitigrade and tauric versions now
+ - rscadd: Added a glass version of the gas mask, because it was in the files and
+ looked nice. does everything regular ones do except make you an unknown
+ - rscadd: Added custom species names! Examining people will now display their species
+ name unless they're an Unknown or have their face hidden. like flavor text.
+ Set it in your character window!
+ - code_imp: changed how health scanners print messages, wrapping it in msg for one
+ to_chat instead of printing every line to_chat.
+ - server: Discord bot will now report when a round ends and give the vague news
+ ticker that a sister-station would have received for the game mode and result
+ of the round.
+ - bugfix: fixed medical hardsuit overlay issue. I thought it was going to work well
+ but fuck byond.
+ - bugfix: None body markings shouldn't give rgb hell, but it also should reset properly
+ anyway. ree.
+ - bugfix: Sorted some sprites to better sooth my byond icon limit anxiety.
+ - bugfix: Box Cryopods expanded to 6 public. Permabrig cryo fixed.
+ - bugfix: Delta Cryopods expanded to 6 public. Permabrig cryo fixed.
+ - bugfix: MetaStation Crypods expanded to 6 public, relocated above sparring ring.
+ Permabrig cryo fixed
+ - bugfix: PubbyStation gained one more cryopod, Permabrig's cryo fixed.
+ - rscadd: Omega given one more crypod as well.
+ - rscadd: Gulag was given a cryopod.
+ - tweak: Box and Meta's cryo rooms are now a new room entirely.
+ - rscadd: Added erect states for all phallic bodyparts
+ - bugfix: YOUR DICK ACTUALLY STANDS UP NOW, YOU'RE WELCOME.
+ - bugfix: skintone locked genitals match the new skintone colorations.
+ - rscadd: added two new vaginal types and descriptions.
+ - bugfix: fixed borg defib runtimes
+ - bugfix: fixed heart attacks being nonlethal
+ - rscadd: Ported Oracle's cloning set up, you're now visible like cryo when being
+ cloned, though it's a mystery until you have skin on your meat puppet existance
+ - balance: Recyclers are unable to destroy the indestructible any longer.
+ - bugfix: Kiara's toy sabre now actually is the correct item + icon states
+ - bugfix: Generic armor for taurs fixed, there isn't actually any sprites for 'em,
+ so. Full sprites overlay over bodies, but I really can't be bothered to do all
+ the offset fixes otherwise.
+ - rscadd: Large maps have had a patient room transformed into micro chemistry stations
+ with nothing else in them. They've been labelled 'Apothecary' rooms and are
+ accessible by doctors.
+ - rscadd: females now have female defined sprites
+ - bugfix: Slime legs have had their excess pixels adjusted
+ - bugfix: Mammal normal legs are more in line with human legs now
+ - bugfix: fixed species like abductors and golems getting the fat tiddy or pingas
+ - bugfix: Atmos and Station alerts should be more alerting.
+ - rscadd: Added visible and hidden testicles
+ - rscadd: Added multi-boob support. Now you can have two or three pairs of breasts.
+ - bugfix: fixed missing vagina and breast sprites
+ - bugfix: fixed prosthetic hands being invisible
+ - bugfix: male foxes exist again
+ - bugfix: female chest markings improved from being too dark in comparison to their
+ other colors, blending better
+ - bugfix: Markings behave better on non-organic limbs.
+ - tweak: tweaked the name of Sublter to distinguish its use
+ - tweak: Gave a hint for vore posting.
+ - rscadd: Readded Ninja speech modifications with their mask
+ - rscadd: Pacifists can eat people for heal belly or noisy. Digestive modes are
+ auto-swapped to noisy
+ - rscadd: Added an underwear toggle button under 'Object' tab
+ - tweak: Genitals now layer under underwear. Hide these if they're too obnoxious.
+ - rscadd: Added digitigrade socks of all known ones anyway.
+ - tweak: tweaked the Genital character creation layout to look better
+ - bugfix: fixed having balls/womb when you don't have the linked organ at character
+ creation
+ - bugfix: fixed being able to squeeze semen directly from your balls. Probably.
+ - rscadd: NT Newscasters have had repeated reports of gang activity and are now
+ looking into it.
+ - rscadd: NT Psykers keep mumbling about last words of someone who died. Somehow
+ they even have a newsletter for this...
+ - bugfix: Gangster greeting messages are a batch message rather than 5 laggy to_chats
+ - imageadd: RCL now show what color is currently in use
+ - rscadd: Added RGB blood effects, know whose blood this is by color!
+ - rscadd: Added Synthetics blood, and a machine that produces it. A universal donor
+ for medical to heal people with. Make it via medical protolathe!
+ - bugfix: With hearts, slimepeople shouldn't die from the effects of not having
+ a heart.
+ - bugfix: Plasma vessels from xenomorphs will restore blood if you're on resin.
+ - server: Poly's speech now echos to the chat bot.
+ - rscadd: Added new wings to Insects and separated fluff from old ones, they're
+ Insect's new body markings now without being per-limb (for now).
+ - rscadd: Horns are now available to mammals, and they have their own color.
+ - rscadd: Legs are no longer a binary hack code, but actually something that can
+ be changed. Framework for tauric adaptations.
+ - rscdel: Purged Modular Citadel's sprite_accessories.
+ - bugfix: improved the quality of a number of sprites.
+ - tweak: Moths are now all insects. Avians and Aquatics are all anthromorphics.
+ Just as planned.
+ - rscadd: Anthromorphs can choose their preferred gibbing meat. I guess. Snowflakes
+ are weird.
+ - bugfix: Additional Gentlemen names.
+ - rscadd: Medical huds are now calibrated for Radioactive wavelengths.
+ - balance: Engineering equipment, blue space, and common storage containers are
+ radiation protected
+ - bugfix: fixed suit storage not cleaning radiation levels of everything stuffed
+ into them.
+ - bugfix: QM is able to hire/fire people to their department now.
+ - bugfix: cryopod UI isn't complete shit anymore
+ - bugfix: Cryopods purge silicon gear more efficiently now. Same with ghosts.
+ - balance: Med Sprays are now more aligned with patch mechanics
+ - balance: Chemistry is encouraged to be more varied in their healing, as well as
+ careful in its application
+ - tweak: Active NPC priority set much higher priority for the MC, with the intent
+ on making NPC combat more interesting
+ - bugfix: Clarified access descriptions of some jobs
+ - bugfix: fixed missing deco wing states
+ - bugfix: fixed a few things related to vore content
+ Putnam3145:
+ - tweak: Bottles in PanD.E.M.I.C 2200 can now be replaced with an inhand bottle
+ directly
+ - tweak: Ejecting a bottle from the PanD.E.M.I.C 2200 puts it directly into the
+ user's hand
+ - tweak: Alt-clicking the PanD.E.M.I.C 2200 ejects the current bottle
+ - bugfix: neural nanites only work/drain if you have brain damage or traumas the
+ nanites can fix
+ - tweak: Pod people can no longer get fat from standing in the light
+ - tweak: PanD.E.M.I.C 2200 now ejects onto itself instead of onto user if user's
+ hands are full
+ - rscadd: Added configs for a bunch of Dynamic rule parameters.
+ - config: Added defaults for all the configs (WIP).
+ - config: Added dynamic midround/latejoin antag injection to the config.
+ - balance: Made starlight condensation not kill slime people.
+ - balance: Added not-killing-slime-people to the transmission threshold of plasma
+ fixation and radioactive resonance.
+ - tweak: Made the clone scanner lock while it's scanning.
+ R3dtail:
+ - rscadd: Added 16 saltprimaryobject items Added 4 saltsecondarysubject items
+ - rscadd: Added a new carpet. Red! Also added said carpet to the Premium Carpet
+ crate from the cargo supply console. Trilby said she'd take care of the crafting
+ recipe.
+ Raptorizer:
+ - tweak: Doubled peach spawn rate
+ - tweak: tweaked numbers/variables
+ - balance: rebalanced numbers/variables
+ - spellcheck: removed unneeded code
+ Seris02:
+ - rscadd: Abductor Replication Lab ruin and advanced tools
+ - rscadd: Added looc hotkey
+ - tweak: made the autoprocess button relevant
+ - tweak: changes so that spooktober starts earlier
+ - bugfix: fixed the dark blue lum major effect
+ Sirich96 and Dennok (ported by Ghommie):
+ - rscadd: Added new Teleporter Station sprites
+ - rscadd: Added teleport station calibration animation.
+ Sishen1542:
+ - rscadd: Pentetic Jelly, new chemical made through mixing 1:1 slime jelly and pentetic
+ acid.
+ - tweak: Anatomic panacea now gives pent jelly instead of pent acid. Medbeams now
+ have TRUE tox healing to heal TOXINLOVER as well.
+ - balance: Changed bible heal proc, halving the healed damage and increasing brain
+ damage 5x in exchange for a much wider array of items to protect you from it.
+ - tweak: Moved around some chems from emag list into upgrades.
+ - balance: Added some fun chems to dispensers.
+ - bugfix: Gave dispensers old tg functionality.
+ - rscadd: Leather, cardboard, bronze & bone golems!
+ - rscadd: Bone hurting juice and interactions with plasmamen, skeletons & bone golems!
+ - rscadd: Ported addition of new CAS cards.
+ - bugfix: Ported a fix for CAS.
+ - rscadd: Added the ability to alter your genitalia as a slimeperson more than addition/removal.
+ - bugfix: fixed genitalia removal proc in alter form.
+ - balance: Ported the inability for non-station AI to interact with station z-level.
+ - balance: HoS mains can now peacefully sleep in their office.
+ - tweak: Podpeople now have customization options.
+ - bugfix: Removed the human check for cult conversion of captain/chaplain minds.
+ - balance: Roundstart carbon jetpacks now have full_speed FALSE.
+ - tweak: Adds plasteel to medical and security techfabs.
+ - rscadd: Added public autolathes to all maps.
+ - tweak: density = 0
+ - balance: hugboxing mining loot
+ - balance: ling blade now has 40 armor pen
+ - rscadd: fun
+ - rscdel: bad stuff
+ - balance: mech bad
+ - balance: rebalances strained muscles
+ - rscadd: added in the assistant response team
+ - bugfix: fixed up access on the centcom hangar button
+ - balance: storage tweaks for belt briefcase
+ - imageadd: codersprite for belt briefcase
+ - rscadd: added pharaoh gear to chaplain vendor
+ - spellcheck: fixed typos in pharaoh items
+ - rscadd: made laser minigun not shitcode and also craftable
+ - soundadd: added new fire sounds for the laser minigun
+ - rscadd: holy lasrifle, hypertool, divine lightblade, and blessed baseball bat.
+ Four new holy weapons!
+ - balance: stamina and force tweaks for most holy weapons.
+ - tweak: prayer beads no longer deconvert after a 10 second timer, now just inject
+ holy water for delayed effect
+ - tweak: cultist runes are now destroyed with a bible or a null rod
+ - tweak: bo-staff now functions as a nerfed sleepy carp staff
+ - bugfix: fixed kevinz code to add in non-null rod child items as holy weapons
+ - bugfix: fixing chems for strained muscles
+ - bugfix: narsie no longer asks for consent
+ - bugfix: removed reflect from divine lightblade
+ - bugfix: teleporting a locker is bad
+ Sishen1542, original by @Tlaltecuhtli:
+ - bugfix: alt clicking the emitter now rotates it instead of only flipping
+ Sishen1542, original by @zxaber:
+ - balance: Utility mechs no longer automatically get beacons.
+ - balance: Tracking beacons no longer delete themselves when EMPing a mech, and
+ instead have a ten-second cooldown in-between EMPs. They also now do heavy EMP
+ damage rather than light.
+ - balance: Mechs that take EMP damage lose the use of their weapons and equipment
+ temporarily. Movement and abilities are not effected.
+ - balance: Mechs taking EMP damage no longer roll for a random malfunction.
+ Sishen1542, original by Arkatos:
+ - rscadd: Action buttons can now be dragged onto each other to swap places
+ Sishen1542, original by NewSta:
+ - tweak: updated the miasma canister sprites
+ Sishen1542, original by Skoglol:
+ - rscadd: Heaters/freezers now support ctrl clicking to turn on and alt clicking
+ to min/max target temperature.
+ Sishen1542, original by XDTM:
+ - rscadd: Using the wrong surgery tool during surgery no longer attacks the patient,
+ if on help or disarm intent.
+ - rscadd: Surgery steps are now shown in detail only to the surgeon and anyone standing
+ adjacent to them; the patient and people watching from further away get a more
+ vague/ambiguous description.
+ Skoglol:
+ - rscadd: You can now alt click storage (bags, boxes, etc) to open it.
+ Skully):
+ - rscadd: Nudity Permit, a completely invisible uniform that still has pockets and
+ such, to loadout options. It is more or less a direct port from the RP server.
+ SkullyRoberts:
+ - rscadd: Penis autosurgeon as rare maint loot.
+ TerraGS / Skoglol:
+ - rscadd: Adds toggleable light and blinking charge indicator to kinetic crusher
+ - rscadd: Kinetic crusher can now be one-hand carried. You'll still need two hand
+ to use it.
+ Thalpy:
+ - bugfix: fixes message_admins in SDZF
+ - tweak: Alkaline buffer recipe so people don't get grumpy and expanded the pH range
+ - bugfix: fixes buffers
+ - bugfix: fixes broken compiler because a var changed name
+ - bugfix: impure travis var anger
+ - rscadd: Added the ability to dispense smartdarts from the chemmaster.
+ - tweak: Tweaks medolier amd chembags to allow quickpickups of smartdarts, lets
+ the latter soak in beakers (on the floor)
+ - bugfix: fixed rounding errors with smartdart mixes.
+ - imageadd: added modified smartdartgun icon.
+ - bugfix: 1. Kev asked that there were no antag datums used, so that's been changed.
+ 2. Tricks can no longer turn someone into a dullahan, instead you have to spend
+ candies to get that. I felt it was too mean to turn people into that, I didn't
+ realise you couldn't revert it. 3. Barth will no longer as for impossible items.
+ 4. Barth will no longer as for the same item multiple times. 5. Barth will now
+ accept broader things, rather than asking for something, when meaning something
+ specific. 6. Jacq will now no longer poof off the z level. 7. Jacq will (hopefully)
+ stop spooking the AI by teleporting into there 8. Jacq will now try to teleport
+ to a location with someone nearby. 9. Barth will tell you where Jacq is currently
+ when you speak to him. 10. You can trade 2 candies for a Jacq Tracq (tm) 11.
+ Jacq should stop getting mad and cover the station in gas when killed. 12. Fixed
+ Jacq not singing (the link died). 13. Slightly changed wording so that people
+ will hopefully get to know her. 14. Jacq no longer disappears when you're getting
+ to know her.
+ Toriate:
+ - imageadd: 'All regular crates are now 3/4ths ToriCrates iamgeadd: Unused plastic
+ crate sprite added'
+ - rscadd: Blood freezer crates now have unique sprites.
+ - rscadd: RPD now has inhands
+ - imageadd: New sprites for RCDs and RPDs, inhands included
+ - imageadd: Updated the sprites of all the regular crates
+ Trilbyspaceclone:
+ - rscadd: cakes!
+ - imageadd: Made some sprites! -Love them really came out well
+ - rscadd: new economics
+ - tweak: cargo and robotics relationships
+ - balance: unbalanced something
+ - bugfix: fixed a maybe oversight
+ - rscdel: Fun
+ - tweak: costs of suit voucher
+ - balance: Unblances miner vender
+ - bugfix: spare cheaper brute kit
+ - tweak: harm from hentie
+ - balance: rebalanced goliaths stun to be less auto death
+ - rscadd: Armor to blob shields
+ - tweak: block weaken state to 70% from 75%
+ - bugfix: restores the deathriplys missing armor
+ - rscadd: new lockable colalr
+ - tweak: armor
+ - bugfix: missing hopes and dreams
+ - code_imp: orgized the weapon file to be more cat brain friendly
+ - imageadd: This means sprite right?
+ - rscdel: Many engi flags on non-engi things
+ - code_imp: changed some code to be organized at a glance
+ - balance: '25% < --- 50% For NPC blocking bullshit ided: Yes'
+ - rscadd: mag gun uses cells
+ - balance: kev things their to op
+ - rscadd: syndicate phobia
+ - tweak: other phobia's
+ - bugfix: laser carbine
+ - tweak: makes collars only locked via key
+ - tweak: charging
+ - rscadd: Combat inducers for COMBAT!
+ - code_imp: made it look nice
+ - rscadd: golden swag boxes
+ - rscadd: Crafting suitcases
+ - rscadd: more bountys
+ - rscdel: Nitryl bounty
+ - rscadd: better stocks
+ - rscadd: more evil blood fluff text
+ - rscadd: Added more mime names
+ - tweak: replaces a sink with a autolathen
+ - balance: 2 -> 3
+ - rscadd: MASON SUIT!
+ - rscadd: adds the sec jetpack to sec hardsuit storge
+ - rscadd: Added a few jet packs to the space queens men
+ - tweak: volume of jet packs
+ - rscadd: Bad Idea
+ - rscadd: bio mass meat
+ - rscadd: more box options
+ - bugfix: a lack of replaceable boxes
+ - bugfix: clothing needing a emag
+ - tweak: 4 - > 5
+ - tweak: 5->6
+ - tweak: 4tc - > 2tc
+ - tweak: mulligan costs 4 - > 3
+ - tweak: Tuberculosis 12tc - > 8tc
+ - tweak: 15 - >10
+ - bugfix: both bags have the same name
+ - tweak: 5 - > 2
+ - tweak: 3 -> 1
+ - tweak: 2 < - 4
+ - tweak: 1->2 and ultra
+ - rscadd: shield + crafting
+ - tweak: hierophant movment and melee attack
+ - rscadd: More plushies
+ - tweak: attack verbs and descs
+ - rscadd: bone satchles
+ - balance: rebalanced stunslugs
+ - rscadd: colored boxes, and more types
+ - tweak: harm and such
+ - balance: item classes
+ - bugfix: resonators being so shitty
+ - bugfix: 'Game braking bug critical: bug fix'
+ - rscadd: items to syndie surgery bags
+ - rscadd: SNOW CONES
+ - rscadd: carts buy-able cargo
+ - tweak: selling/time to craft
+ - bugfix: crafting problems, and red stamp exsplote
+ - rscadd: gives paper work sprites that are nicer
+ - rscadd: origami
+ - rscadd: gang tower shield
+ - tweak: costs of boots
+ - rscadd: organ box
+ - rscadd: Medical breifcaseses
+ - rscadd: New cargo crate for tech-slugs!
+ - rscadd: Ammo to each fitting crate
+ - bugfix: Cat-code
+ - spellcheck: fixed a few typos - Again my bad
+ - bugfix: fixed airless place
+ - rscadd: baklava
+ - balance: makes uplink kits more usefull for the risk
+ - code_imp: Changes some files to be better
+ - balance: As all things are not
+ - bugfix: fixing cat code that dosnt work, my bad
+ - bugfix: Arcades stealing from noodles
+ - rscadd: rapier
+ - tweak: speedy quirk
+ - spellcheck: Ironic
+ - bugfix: A bunch of minor issues with xenobiology are no more!
+ - bugfix: I didn't code it right it in the first place
+ - rscadd: new nodes
+ - balance: points and node gear
+ - rscadd: stuff n things
+ - rscadd: gear harness and a conflict merg
+ - rscdel: Nudity permits
+ - bugfix: nothing
+ - rscadd: Donner item
+ - rscadd: Luna's Gauntlets
+ - balance: rebalanced lingy dingy powery gamey
+ - tweak: melee and block harm
+ - bugfix: sprites*
+ - balance: bone satchles
+ - tweak: holster doing holster things
+ - rscadd: Donor item
+ - rscadd: Joy, Happiness, Honk
+ - bugfix: small mix up in terms
+ - rscadd: Promiscuous Organs crate, pills to lewd crate and testicles to maints
+ - bugfix: Made unholy water healtoxinlover
+ - rscadd: Zelus Oil, brass flasks
+ - rscadd: Added new chairs
+ - admin: Bugtesting zone upgrades for easy bug/game testing
+ - rscadd: more cargo to cargo
+ - rscadd: More loadout gear
+ - bugfix: Poojawa power creep
+ - bugfix: Not my work not my credit
+ - rscadd: Emitter gun
+ - bugfix: suit storage nulling anti magic item protection
+ - balance: rebalanced steal goals restrictions
+ - spellcheck: fixed a few misleading goals
+ - bugfix: ports a fix
+ - bugfix: oversight in benos
+ - bugfix: QM rooms not getting Key Aunths
+ - rscadd: new books/cooking
+ - spellcheck: less bad wording in slime
+ - rscadd: strawbarries and such
+ - rscadd: amazing things like tea of catnip, catnip and plant
+ - tweak: glue uplinks
+ - rscadd: RPDs to drones
+ - rscadd: Armor and such
+ - rscadd: flavor
+ - bugfix: maybe a runtime
+ - rscadd: chameloen clothing
+ - rscadd: tons of peach themed items
+ - spellcheck: caje
+ - rscadd: New book - Unused
+ - code_imp: organized files
+ - imageadd: redid brass tools to look better*
+ - bugfix: /cursed from a item path
+ - rscadd: Almost all clothing and most weaponds can be sold for pocket change
+ - tweak: Cargo costs of packets and selling
+ - balance: Lowered mat selling as well as most if not all bountys
+ - code_imp: Adds more files for easy finding/adding in packs
+ - bugfix: oops not being blacklisted
+ - code_imp: removes some cit-modular things
+ - bugfix: Missing sprites with bad ones
+ - tweak: emag charge amount
+ - rscadd: Reebe QoL aka creep in gear
+ - bugfix: ???
+ - server: HEY MADE THE REEBEEE WAY SMALLER - Making it less lagging hopefully
+ - rscadd: Surgerys and spays in bags
+ - tweak: earthbloods stam regen
+ - imageadd: Red to Blue/Black crosses as questioned by Bhijn
+ - bugfix: clean bot not cleaning basic cleanables
+ - rscadd: new traitor bundle
+ - rscadd: trash
+ - imageadd: 'eye bleed :add: misstakes'
+ - rscdel: Removed old things!
+ - bugfix: UI memes
+ - rscadd: Blue space blood bag
+ - tweak: blood costs
+ - rscadd: Beebal and Honeybalm plants
+ - tweak: Costs of crates and paperwork
+ - rscadd: Adds 2 more crates hacked only
+ - rscadd: Added two seed packets of cotten to ash walkers base
+ Tupinambis:
+ - tweak: Changes large parts of the nuclear operative base, including the addition
+ of a new barracks where the ops spawn, a personal bedroom for the leader, the
+ rearrangement of numerous rooms, some added fluff, a slightly more roomy bar,
+ a larger hanger, a kitchen, and various other small changes to make the base
+ feel just a bit more alive. This was achieved by completely redoing the base
+ from scratch so there was room to work with, as a result potential bugs could
+ crop, please do report them.
+ - bugfix: The drop pod chamber was airless. This seems like an oversight, and has
+ been filled with air.
+ - rscadd: Cryo Sleepers have been added to Perma on all four maps in rotation. the
+ bathroom windoor and window have switched places to accommodate this change.
+ - rscadd: You can now choose the pre-exisiting "loader" sprite as an appearance
+ for your engineering borg.
+ - tweak: A vast majority of references to humans within ion laws have been replaced
+ with crew. AI modules have received similar treatment
+ - rscadd: 'Adds a syndicate themed emergency shuttle that costs 20000 credits, and
+ can ONLY be purchased when the communications console is emagged. This shuttle
+ features a fully stocked medbay with self serve sleepers, plenty of room that
+ can fit highpop, a fully featured bridge, ballistic auto turrets, and an armory,
+ EVA prep room, and bar, all of which are only accessible by either an agent
+ ID or through hacking.
+
+ -EVA prep features 2 syndicate hardsuits and 3 syndicate softsuits. -Armory
+ features 5 stetchkins with spare ammo, and 2 riot c-20r''s.
+
+ '
+ - balance: Lone operatives no longer spawn with a syndicate hardsuit and a bulldog.
+ They instead spawn with a black and red EVA suit and an extra 15 TC (40 in total)
+ 
+ - rscadd: The tesla engine has been replaced with a supermatter engine, and pubby
+ engineering has been redesigned to accommodate this change.
+ - rscdel: The tesla engine has been completely removed along with any related components
+ - bugfix: RD and R&D vents are now actually connected to the air distribution.
+ - rscadd: New engineering hivebot. Has a bit more health but otherwise aesthetic.
+ - tweak: Oldstation no longer has an excessive amounts of hivebots within it, however
+ the bots that remain are individually a larger threat.
+ - balance: Hivebots are now more robust, with a higher melee damage output and health.
+ - server: Remove this ruin from the blacklist or this PR is pointless.
+ - bugfix: the air injectors for the SM engine waste and for toxins waste should
+ now receive power
+ - tweak: Adds a mixed clothing closet to Deltastation Dorms.
+ - tweak: Adds a bottle of unstable mutagen to Botany, on account of its distance
+ from Chemistry.
+ - bugfix: Omegastation should no longer have any turf with missing textures, as
+ those spots have been replaced with playing covered in a sandy turf decal.
+ - tweak: Removed all living eggs from the xeno ruin because people self antag. Honk.
+ - rscadd: Adds a new security level between Blue and Red (Amber). The shuttle call
+ time at this level is 8 minutes.
+ - tweak: Blue security level now has a shuttle call time of 12 minutes.
+ - tweak: The security level increase/decrease texts have been modified to accommodate
+ the change.
+ - imageadd: Adds a code Amber sprite for the fire alarms
+ - tweak: Removed the plushes from the toy crate, giving them their own.
+ - tweak: Plushes are now less likely to spawn out of arcades
+ - imagedel: Removes a moth plush from the game.
+ - balance: added a small fire delay (3 ticks) to automatic shotguns
+ - balance: Reduced buckshot brute damage by 20%. (12.5 -> 10 brute per pellet) (75
+ -> 60 brute at close range)
+ - balance: Reduced rubbershot stamina damage by 40% (25 -> 15 stamina per pellet)
+ (150 -> 90 stamina at close range)
+ - balance: Reduced beanbag stamina damage by 12.5% (80 -> 70 stamina per shot)
+ - balance: Engivend RCDs now vend upgraded RCDs
+ - imageadd: Beautified and stylized the cyborg HUD sprites, animated and cleaned
+ up some of the old, modernized APC hacking and Doomsday sprites,
+ - tweak: moved cyborg language select above the radio icon, instead of above the
+ picture icon.
+ Twaticus & Poojawa:
+ - rscadd: Added new carpets from TauCetiStation!
+ - rscadd: More Liquid carpet chemicals, mix carpet with certain reagents to get
+ different colors!
+ - refactor: Tablets have a better means of being assembled codewise. nothing's different
+ on player end.
+ UntoldTactics:
+ - tweak: Rewords the click here prompt given when an attempted conversion is done
+ on an offer rune (for blood cult)
+ UristMcAstronaut:
+ - bugfix: allows a pai to activate its holoform while in a pai connector without
+ getting derped.
+ Useroth:
+ - bugfix: the collars are now aware of their proper overlay sprites
+ - bugfix: The space hotel dorms are now properly boltable with the buttons inside.
+ - bugfix: Makes the booze-o-mat hacked by default. Alternative to https://github.com/Citadel-Station-13/Citadel-Station-13/pull/8350.
+ - bugfix: After the PR which raised the ammo capacity of said magazines, due to
+ the code, they ended up with an invalid icon state. Fixed through changing the
+ icon state name in the icon file.
+ - rscadd: 'Taeclowndo shoes which grant the four following abilities: - Conjuring
+ a cream pie right into their hand. Every three seconds. - Making a banana peel
+ appear out of thin air at the tile of the clown''s choice. Every ten seconds.
+ - Mega HoNk. A touch-ranged, very small AOE ability, with effect equal to being
+ honked by a Honkerblast on a clown mech, with the effects halved for anyone
+ who isn''t its direct target. Every ten seconds. - Bluespace Banana Pie. You
+ don''t throw this one... not right away at least. This baby can fit an entire
+ body inside. Good for disposal of evidence. 25 second-long action, 45 second
+ cooldown. Also produces a "[victim''s name] cream pie". The body drops out of
+ the pie if you splat it somewhere or destroy the pie. If you eat it, it will
+ chestburst out of you a''la monkey cube.
+
+ It''s a 14 TC item for traitor clowns and a 12 TC item for clown-ops.'
+ - tweak: The tentacle now directly puts the item in your hands, instead of toggling
+ your throwing and tossing it at you. Tentacles suffer from ranged inaccuracies
+ as if they were guns, I think it's enough of an inconvenience.
+ - tweak: Makes the netting much less clunky. If there's only one target you can
+ net while you press the button, it will just net that target instead of bringing
+ up a list of mobs.
+ - tweak: Energy nets now revive and fully heal capturees (even dead ones, after
+ calculating points). If someone's got a scan and wants to get cloned, they can
+ always kill themselves still.
+ - tweak: Capture points are added on capture, rather than round-end, so it no longer
+ matters whether your captures kill themselves in the holding facility or not.
+ - balance: Makes the nets a bit more sturdy. (previously it took mere two welder
+ hits to break one)
+ - balance: Makes stungloves actually stun people (currently comparably with stunbatons,
+ adjustable). Because electrocute_act(25, H) did fuck all, stunwise, and on top
+ of that, people in insulated gloves were completely unaffected.
+ - balance: Reduced the stunglove electrocute_act value to 15 due to above. Could
+ possibly be lowered further.
+ Weblure:
+ - rscadd: Added the relevant Beepsky animations from TG's aibots.dmi file to Cit's
+ aibots.dmi file.
+ WhiteHusky:
+ - rscadd: Sleepers now show blood level and type.
+ - tweak: Changed the styling of arousal messages to use pink-ish colors.
+ - bugfix: The orgasm moodlet message new-lines properly.
+ - bugfix: Flavor text with special characters will not get partially unescaped.
+ - bugfix: Canceling when setting flavor text does not clear it anymore.
+ - tweak: Checking yourself shouldn't freeze the client anymore.
+ XDTM:
+ - rscadd: Added the experimental dissection surgery, which can be performed once
+ per corpse to gain techweb points.
+ - rscadd: Rarer specimens are more valuable, so xenos and rare species are more
+ efficient subjects.
+ - rscadd: Added two new surgery procedures, under the Experimental Surgery techweb
+ node.
+ - rscadd: Ligament Hook makes it so you can attach limbs manually (like skeletons)
+ but makes dismemberment more likely as well.
+ - rscadd: Ligament Reinforcement prevents dismemberment, but makes limbs easier
+ to disable through damage.
+ - tweak: Golem limbs can now be disabled, although they are still undismemberable.
+ YPOQ:
+ - bugfix: Stealth implants work again
+ Yakumo Chen:
+ - balance: Made stealth implant boxes flimsier
+ - balance: Autocloning now requires tier 4 parts
+ - rscdel: Removes autoscan
+ - balance: Scanning people now requires someone to operate the cloning computer
+ regardless of part level.
+ - balance: removed antimagic component from holymelon
+ YakumoChen:
+ - tweak: AEGs brought more in line with current radiation system. Try not to get
+ EMP'd.
+ - tweak: Jetpacks no longer last twice as long between air refills.
+ - rscdel: Reverted laser miniguns.
+ - rscadd: Adds beanbag slugs to the sec protolathe at round start
+ - bugfix: Brings shotgun ammo availability back in like between seclathe and autolathe.
+ Zargserg:
+ - balance: Lungs maximum toxin threshold is 0.5% of the atmosphere.
+ - bugfix: Permanently contaminated atmosphere does not murder crew anymore.
+ ZeroNetAlpha:
+ - tweak: Cleans up autoylathe code and brings it back in line with the regular autolathe.
+ - bugfix: Fixes autoylathe interface not updating propperly.
+ - tweak: Silicons are now consumable by scrub pups.
+ actioninja:
+ - bugfix: APC UI autoupdates correctly
+ bluespace bio bags:
+ - rscadd: Added bluespace bio bags and put it in the tech web, in the node applied
+ bluespace
+ - imageadd: added a crappy icon for bluespace bio bags
+ chef:
+ - rscadd: Added main hallway approach to monastery
+ - rscadd: Added Maintenance hallway approach, with some maint loot
+ - tweak: moved the docking arm for the white ship
+ - tweak: changed placement of some grills and windows
+ coiax:
+ - admin: When the nuclear disk stays stationary long enough to trigger an increase
+ for the lone op event chance, admins will be notified every five increments.
+ dapnee:
+ - rscadd: Plasmaglass tables, spears, tiny plasmaglass shards
+ - bugfix: Plasmaglass structures now drop plasmaglass shards instead of nothing
+ - rscadd: Trim lines!
+ - bugfix: You can now make plasmaglass tables again.
+ deathride58:
+ - admin: When a gamemode fails pre_setup, it will now send a message in admin IRC
+ and in ingame admin chat, instead of only being viewable in the logs.
+ - balance: Portal guns now spawn without firing pins.
+ - balance: Reduced the default/baseline nanite pool amount from 100 nanites to 25
+ nanites, and reduced the maximum nanite amount from 500 nanites to 125 nanites.
+ The safety threshold was reduced from 50 nanites to 12 nanites.
+ - balance: Most of Lavaland's mobs are now on crack.
+ - balance: Blood drunk miners now move once every two ticks, rather than once every
+ three ticks.
+ - balance: Bubblegum now has a maximum movement speed of once every three ticks.
+ Buffed from the original value of once per 5 ticks.
+ - balance: The minimum time for the Colossus to attack again after firing a random
+ shot is two deciseconds, Sped up from the original value of three seconds. The
+ minimum time for the Colossus to attack again after performing a blast is now
+ one second, with the original value being two seconds. The minimum time for
+ it to attack again after performing its alternating shot pattern is now two
+ seconds, original value being four seconds.
+ - balance: Ashdrakes now move once every five ticks, rather than once every ten
+ ticks.
+ - balance: Heirophant chasers now move once every two ticks rather than three ticks
+ by default, and the chaser cooldown has been reduced from 10 seconds to 5 seconds.
+ The cooldown for the Heirophant's major attacks has also been sped up to 4 seconds
+ from the original value of 6 seconds.
+ - balance: The Legion (megafauna) now moves at two ticks per second rather than
+ three ticks. It additionally now actually moves faster while charging. The cooldown
+ timer for it's special attacks has been reduced from 2 seconds to 1 second.
+ Additionally, The Legion's view range has been decreased from 13 tiles to 10
+ tiles.
+ - balance: All megafauna now have a default view range of 4 tiles, decreased from
+ the original of 5 tiles, and an aggro'd view range of 15 tiles, decreased from
+ the original of 18
+ - balance: Goliaths now move once every ten ticks, sped up from the original value
+ of 40(!!!) ticks. Additionally, their cooldown for their tentacles has been
+ reduced from 12 seconds to 6 seconds. To compensate, their cooldown now only
+ decreases by 5 deciseconds every time they're attacked, rather than 10 deciseconds,
+ their melee damage has been reduced to 18 per hit from 25 per hit, and their
+ vision range has been decreased from 5 tiles unaggroed, 9 tiles when aggroed,
+ to 4 tiles and 7 tiles respectively. Ancient goliaths have a default attack
+ cooldown of 8 seconds, sped up from the original value of 12 seconds.
+ - balance: Legion (the common mob) now has a cooldown of 1.5 seconds on their skull
+ attack, sped up from the original value of 2 seconds. Additionally, their view
+ range has been decreased from 5 tiles, 9 tiles when aggroed, to 4 tiles, 7 tiles
+ when aggroed.
+ - bugfix: Stamina no longer regenerates at hyper speeds.
+ - tweak: To accommodate for upstream's stamina changes, knockdown() now applies
+ staminaloss only to the chest.
+ - tweak: adjuststaminaloss() now has a new argument that allows you to specify a
+ zone to apply staminaloss to. This defaults to the chest
+ - tweak: apply_damage() is now capable of healing carbon mobs and human mobs.
+ - tweak: Since the head has the same exact effects as the chest when disabled, and
+ doesn't really make much sense to be affected by stamina, the head no longer
+ has stamina.
+ - tweak: The chest now has a stamina cap of 200 stamina due to the above.
+ - tweak: Footsteps now sound mostly the same as they did before the hard sync
+ - bugfix: Jukeboxes now properly remove themselves from the active jukebox list
+ when destroyed
+ - rscadd: Server operators and badmins can now make the server play like TG by toggling
+ the stamina buffer on/off using the DISABLE_STAMBUFFER config option.
+ - bugfix: Airlock wires now work as they did prior to the hard sync
+ - balance: The thing you're currently grabbing is now taken into account when left-click
+ disarming. Things you have grabbed now roughly have a 45% chance to be disarmed.
+ - balance: Disarm push rolls are now determined by the target's staminaloss rather
+ than a flat number.
+ - balance: When you're in combat mode, pushing someone who isn't in combat mode
+ is a guaranteed knockdown. Hard counter to stam regen squeezing in melee combat.
+ - balance: Failed disarm push attempts now deals light staminaloss to the target
+ so long as both the attacker and target are standing. The total stamloss dealt
+ to the target is random, clocking in at a very inefficient 1-5 stamloss per
+ unsuccessful push attempt.
+ - tweak: Disarm pushes now play the thudswoosh sound regardless if they're successful
+ or not. Had it not been for copyright, I would've used L4D's melee sound.
+ - tweak: Disarm push attempts are now logged
+ - bugfix: Autostand no longer makes you invulnerable to dropping items when being
+ knocked down with a force greater than 80
+ - bugfix: You can no longer abuse an href exploit to return from the labor camp
+ before obtaining enough points to satisfy your point goal.
+ - bugfix: Norko's donor item is now listed in the right category
+ - rscadd: The medihound sleeper now has a non-vore variant. This will be used by
+ default. The old voracious variant will only appear if both the person being
+ sleeper'd and the medihound have the voracious hound sleepers pref enabled.
+ Sprites by Toriate
+ - tweak: '"Allow medihound sleeper" is now labelled "Voracious medihound sleepers",
+ and is now off by default'
+ - bugfix: AOOC no longer prints to players in the lobby
+ - bugfix: Human tails and human ears now save again. Humans now use mam_tail and
+ mam_ears for their snowflake bits instead of tg's equivalent, just as they did
+ prior to human tail and ear saving breaking
+ - bugfix: Disarm pushes no longer deal staminaloss to resting targets
+ - bugfix: You can no longer force a hard stamcritted spaceman to stand by clicking
+ them with help intent. Get more creative if you want to torture someone that's
+ in hard stamcrit.
+ - tweak: The revolution gamemode now waits until the 20 minute mark before checking
+ for win conditions.
+ - balance: You can no longer resist/move out of grabs while you're resting. Disarming
+ your way out still works, though.
+ - rscadd: Stamina damage now has diminishing returns on people who are in hard staminacrit
+ with the addition of a new multiplier. When you take staminaloss while in hard
+ staminacrit, you'll be under the effects of the new multiplier, which reduces
+ the amount of staminaloss you take from all sources of staminaloss. The diminishing
+ returns multiplier will steadily return to 1 once you're out of staminacrit.
+ - rscadd: You can now scramble while resting. You can do this by dragging your spaceman
+ onto an adjacent turf. This works even if you're in staminacrit, but the timer
+ depends entirely on your staminaloss.
+ - bugfix: Fully augged cyborg people now heal stamina damage properly.
+ - bugfix: Job EXP is now tracked properly for all roles.
+ - balance: Nightmares and shadowpeople have had their light threshold for being
+ considered in darkness reduced. Nightmares can no longer stand unharmed next
+ to a light fixture during a nightshift 100% unharmed. The threshold is high
+ enough so that APC lights on their own won't harm a nightmare, but being on
+ the edge of a light source will.
+ - balance: The detective revolver's .38 bullets are now non-lethal again, but now
+ require 3 shots to hard stamcrit
+ - rscadd: The current lethal variant of the .38 bullets can still be printed at
+ sec protolathes.
+ - rscadd: You can now access ghost roles from the latejoin menu.
+ - rscadd: Eyeblur now scales depending on how much actual eyeblur you actually have.
+ - balance: Ebows now induce 50 drowsiness on whatever they hit.
+ - balance: Telepads have been buffed across the board. T1 parts on a launchpad still
+ grants you a range of 15 tiles, but T4 parts now grant you a pretty large 60
+ tile range (up from their original 18 tile range). Briefcase launchpads were
+ also buffed, they now have a range of 20 tiles, up from their previous laughable
+ 8 tiles.
+ - tweak: The grace period for the revolution win condition check has been reduced
+ from 20 minutes to 10 minutes. You don't need to wait nearly as long for the
+ round to end if no heads join in.
+ - tweak: You can now select plural and neuter as your gender. They're labelled "non-binary"
+ and "object" in the character customization menu, respectively.
+ - tweak: A lot more light sources now use the same nonbinary colored lighting philosophies
+ as flashlights and light fixtures!
+ - tweak: Flashlights mounted to guns and helmets now retain the same color and power
+ as their original light. Lavaland's caves will reflect a fluorescent blue as
+ you shine your KA around, and sec's helmets are now capable of illuminating
+ maint in that fancy fluorescent blue.
+ - tweak: Cameras now shine a fluorescent blue when lit up by an AI
+ - tweak: Glowing goo now actually glows green.
+ - tweak: Candles had their power reduced from 1 to 0.8.
+ - tweak: Lighters now shine a little further, and are now properly colored.
+ - tweak: PDAs now shine an incandescent yellow to match their sprite.
+ - tweak: Welding tools now shine an appropriate color
+ - tweak: Hardhats now shine an incandescent yellow.
+ - tweak: Plasmaman helmets now shine an incandescent yellow.
+ - tweak: Microwaves no longer overpower literally every single light in the game,
+ instead having a power of 0.9.
+ - tweak: Borgs now have incandescent yellow lights to match their sprites
+ - tweak: Bots now shine a fluorescent blue light
+ - tweak: Airlock light overlays are now on the above lighting layer. This means
+ airlock lights can actually be seen in the dark now.
+ - bugfix: The mob spawners list no longer leaves null entries behind when a spawner
+ has a job description defined. The latejoin menu will no longer show ghost roles
+ that are filled, and the spawners menu actually works again.
+ - rscadd: The voting system now actually tracks who voted for what. This means it's
+ now possible to change your vote, and it's possible to see what you voted for.
+ - balance: Using help intent on someone that's in hard stamcrit will now make them
+ heal 15 stamloss.
+ - tweak: Auto fit viewport is now enabled by default for new players. One less question
+ off the FAQ
+ - rscadd: The Khajiit favorite, Skooma, was added as a chemistry recipe that can
+ be produced with cooperation between chemistry and either cargo or service.
+ If you want to spoil the recipe for yourself, take a look at the PR for it!
+ - rscadd: When the shuttle leaves for centcom, a vote will be started to select
+ the next map instead of the map being randomly chosen via biased voting methods
+ - server: If a server operator wishes to re-enable the biased TG preference voting
+ system, you can do so by toggling the TGSTYLE_MAPROTATION config flag on in
+ the config.txt. Keep in mind that doing so will bring you great misfortune.
+ - balance: Cacti in lavaland now have 6u of vitfro instead of just 4u. This lessens
+ the gap between cacti and first aid kits, the third rarest and second rarest
+ readily available healing methods for ashwalkers, respectively.
+ - bugfix: the "genitals use skintone" option now appears in the character appearance
+ menu when appropriate again.
+ - rscadd: Clicking your stamina bar will now show your exact stamina along with
+ info regarding your stamina buffer
+ - bugfix: The bug where ghost role spawners leave null entries in glob.mob_spawners
+ has actually been fixed
+ - bugfix: The Kitchen Gun (TM) is no longer invisible.
+ - balance: The majority of cult spells no longer have exclamation marks at the end
+ of their invocations. This means they will no longer be bound to the rules of
+ shouting. Which means sec officers will no longer be able to hear culties sacrificing
+ the captain from the complete opposite side of the maintenance tunnel the sacrifice
+ is happening in. However, things like EMP pulses and runeless teleportation
+ still have the effect due to their inherent loud nature.
+ - balance: The stun blood spell now instantly causes hard stamcrit. However, to
+ offset this, it now also only has one charge and has a higher cost.
+ - balance: The Gloves of the North Star now restore 2/3 of the stamina used up by
+ punches when harm intent punching. With aggressive play and good stamina buffer
+ management, this makes it entirely plausible to roughly double your stamina
+ regeneration per mob life process tick.
+ - balance: Revs can no longer remember the name of the person who flashed them when
+ deconverted. This brings it in-line with the other conversion antag deconversions.
+ - bugfix: The bug where you can sometimes get permanently stuck in stamcrit should
+ HOPEFULLY be fixed. I'm unable to reproduce the bug myself, but let's hope.
+ - balance: The night vision trait now grants you darksight for an entire 1:1 screen,
+ but the alpha of the lighting plane with the trait has been increased from 245
+ to 250 to balance it out
+ - bugfix: It's now actually possible to click the stamina hud button
+ - bugfix: The stamina hud button now displays your stamina buffer correctly
+ - balance: Bone spears now have a reach of 2 tiles.
+ - bugfix: You can no longer phase through solid objects via scrambling
+ - bugfix: The syndicate mask now works properly as intended.
+ - balance: Stamina is no longer affected by health at all.
+ - rscadd: You can now right-click yourself in help intent in combat mode to instantly
+ get up from resting. This will cost stamina equal to your entire stamina buffer.
+ Manage your stamina well, and you'll be able to shrug off a single stray golden
+ bolt
+ - rscadd: The new player panel now displays your currently selected character's
+ name
+ - balance: Flashes no longer knockdown. Instead, they deal eyeblur and have increased
+ confusion
+ - server: The server's tagline is now a config option. People can now stop confusing
+ us with BR cit
+ - rscadd: Attack animations will now rotate your character slightly, similar to
+ Goon.
+ - rscadd: Throwing items will now perform the attack animation and play a sound
+ - rscadd: flashlights will now make sounds when toggled on/off
+ - rscadd: Things in disposals will now emit sounds every single time they hit corners.
+ This increases immersion.
+ - bugfix: Air alarms now actually emit the proper light color when their status
+ is okay.
+ - rscadd: Backpacks and other storage items will now jiggle and squish when you
+ interact with them, similar to the animations seen on Goon.
+ - balance: Mops no longer have a delay on their cleaning, making them an actually
+ viable alternative to all of the janitor's other cleaning tools
+ - balance: To balance this, mops now take stamina to clean tiles. Standard mops
+ take 5 stamina to use, while advanced mops take 2 stamina.
+ - tweak: Oh and also mops make fancy new sounds and play animations when used now
+ - balance: Pump-action shotguns now take 2 stamina per pump instead of 5 stamina
+ per pump. This also applies to bolt-action rifles, as bolt racking counts as
+ pumping.
+ - tweak: Pickpocketing items will now place them in your hands if possible
+ - rscadd: Combat mode is now displayed in examine text
+ - rscadd: Combat mode now makes a visible message when enabled if you haven't touched
+ your combat mode button in the last ten seconds. It's done this way to avoid
+ chat spam from those who know how to pull off stam regen squeezing.
+ - balance: All knockdown sources will now force people to be dismounted from ridden
+ vehicles.
+ - rscadd: When an item is thrown, it will now be rotated and displaced.
+ - rscadd: Shards of glass will now be rotated when spawned.
+ - rscadd: Bullet casings will now be rotated when they're ejected from a gun.
+ - rscadd: Bottles now have random rotations and pixel offsets when smashed via throwing.
+ - rscadd: Picking up an item will now reset its rotation.
+ - rscadd: Glasses thrown onto tables by bartenders will now have their rotation
+ reset.
+ - balance: Slime speed potions can now only increase the speed of vehicles to be
+ on par with sprinting speed. They can no longer make a scooter roll around ten
+ times faster than a speeding blue hedgehog.
+ - rscdel: Changelings will no longer recieve team objectives
+ - balance: Changelings no longer start off with hivemind communication as an innate
+ ability. Hivemind communication now requires 1 dna point, on par with syndicate
+ encryption keys, which are 2 TC.
+ - code_imp: Hivemind link now relies on hivemind communication just like the hivemind
+ download/upload abilities.
+ - bugfix: It's now only possible to zoom a gun if it's in one of your hands
+ - bugfix: Mobs without clients no longer cause runtimes when their eyeblur updates
+ - rscadd: Blood tests have been added. If a changeling has a sufficient number of
+ loud abilities, you will be able to test their blood by heating up a sample
+ of it. However, if the changeling has a large amount of loud abilities, attempts
+ to test their blood will have explosive results.
+ - rscadd: Changelings now make a very obvious noise when readapting. This is to
+ prevent the cheese strat of simply readapting when you get caught to avoid detection.
+ - tweak: The blood splatter effect that happens when you get attacked will now always
+ make you lose blood depending on the damage you've taken. The effect now also
+ scales with item damage, meaning tiny little papercuts will no longer be able
+ to cause a massive blood splatter.
+ - rscadd: The blood reagent will now cover items and spacemen in blood when applied
+ to objects and mobs.
+ - tweak: Helmets, masks, and neck items are all now valid targets to get splattered
+ when you get covered in blood. Groovy.
+ - tweak: The temperature notification will now take into consideration both the
+ ambient temperature and your body temperature, increasing the responsiveness
+ of the temperature notification and making it much more realistic.
+ - tweak: Shuttle transit borders are now 10 tiles wide instead of 8 tiles, hopefully
+ repairing the immersions that get shattered by the ability to see normal space
+ where the transit areas end.
+ - rscadd: Instead of transit turfs simply teleporting things to space, transit is
+ now handled in a somewhat realistic manner. Transit turfs now act like normal
+ space turfs, though exiting the transit area or being present in the transit
+ area after the shuttle moves out of transit will teleport you to space and throw
+ you in the direction the shuttle was moving in.
+ - tweak: Reservation areas are now able to designate a border turf.
+ - bugfix: The sprint hotkey will no longer cause you to get permanently stuck sprinting
+ if the server lags. Just tap shift again if you get stuck
+ - rscadd: You can now hear sounds in the real world while inside of a VR sleeper.
+ - rscadd: You can now make nameless characters. Nameless characters will spawn in
+ with their name set as their job title followed by a unique five digit number.
+ The "Name" option in the character setup menu will be replaced with a "Default
+ designation" option for nameless characters, and the default designation will
+ be used in place of a job title for assistants and other jobs that don't require
+ dress codes.
+ - admin: The out-of-game round end notification is now a little more verbose. It'll
+ now display the round type, end result of the round, and the survival rate.
+ - bugfix: Xenos can no longer strip items off of people to be capable of using any
+ item in the game.
+ - bugfix: also, items from pockets get placed into your hands properly now
+ - bugfix: A mob's last words are now properly tracked and recorded on death. The
+ first death of the round will now actually display the victim's last words on
+ the round end screen.
+ - bugfix: Divine shenanigans can no longer result in someone becoming immune to
+ staminaloss
+ - bugfix: Fixed body_markings in bodyparts being assigned as a list when in reality,
+ it's a string and literally everything expects it to be a string and uses it
+ as a string. This should mean that markings no longer have completely fucked
+ up caches for character preview and other things.
+ - tweak: Since apparently the game is literally unplayable if items are not in the
+ exact center of a turf, the maximum pixel variance of thrown objects has been
+ reduced by four pixels to make things a smidge more clearer for those that dont
+ know what a turf is.
+ - bugfix: Bartender glasses should HOPEFULLY no longer be tilted when landing on
+ a table. Why the fuck is after_throw called via a timer.
+ - rscadd: Changeling screeches now have their own unique sounds, and are much easier
+ to recognize.
+ - rscadd: Most synthetic emotes are now available to humans. *ping
+ - rscadd: You can now merp
+ - balance: The TEG will now only produce a meaningful amount of power if the hot
+ pipe contains gas that's actively combusting
+ - admin: Added the "add PB bypass" and "revoke PB bypass" verbs, which allow admins
+ to let a specific ckey to bypass the panic bunker for the rest of the round
+ - rscadd: Jogging is no longer treated exactly the same as sprinting for water slips.
+ When you're jogging, you will only slip on water if you have more than 20% staminaloss.
+ - tweak: The atmospherics turf subsystem now has double the wait time, which should
+ free up server processing power for other tasks.
+ - bugfix: The IRC now actually displays the actual survival rate
+ - rscadd: Bloodcult conversions are now consensual. Convertees are given a ten second
+ timer to accept or wait out. This should drastically improve the quality of
+ those that get converted into bloodcult.
+ - rscadd: All sacrifices now count as a third of a cultist for the end-game narsie
+ summon.
+ - bugfix: Nameless captains will no longer proc a "Captain Captain on deck!" message.
+ Instead, it'll be a much more boring but much more sensical "Captain on deck!"
+ message.
+ - bugfix: Transit turfs on the centcom z-level now function properly again at keeping
+ mobs within the areas defined by their boundaries.
+ - bugfix: The title screen is also positioned correctly again.
+ - tweak: Ghost role eligibility for both event and spawner ghost roles is now affected
+ by DNR status. If you suicide, ghost, or cryo out, you will be unable to qualify
+ for any ghost roles
+ - tweak: Cryo now applies DNR status no matter how long the round has been going
+ on
+ - tweak: Suicide is now properly admin logged as it is supposed to be. Ghosting
+ while alive is now also logged.
+ - bugfix: Sparks and igniters will now actually heat areas rather than cooling them,
+ as was intended.
+ - tweak: To alleviate some potential complaints, RPDs now have a cooldown before
+ they can create sparks, and both RPDs and emitters produce less sparks.
+ - tweak: Conversion runes will now mute the victim temporarily while they're deciding
+ whether to convert or be sacrificed.
+ - bugfix: Conversion runes no longer require a third cultist to sacrifice if the
+ victim refuses conversion
+ - bugfix: Staminaloss targeted at the head now properly redirects to the chest.
+ - tweak: Sprinting no longer takes stam when you're being pulled or when you're
+ in zero gravity. Other sources of involuntary movement are not affected.
+ - code_imp: In an attempt to improve performance during highpop, mouse movements
+ will now only call onmousemove() while a user is in combat mode
+ - tweak: Ballistic projectiles are now the only projectiles capable of emitting
+ dinks.
+ - admin: Panic bunker toggling and bypassing is now logged in admin IRC
+ - tweak: OOC and LOOC now use separate toggles. You can now use LOOC while OOC is
+ globally toggled off, and admins now have the option to toggle LOOC off separately
+ from OOC
+ - code_imp: also revamped and reorganized relevant looc adminverb code
+ - bugfix: The endgame narsie summon rune no longer requires 24 total sacrifices,
+ and will now properly account for cultists that surround it
+ - tweak: The succumb verb is now available in the IC tab
+ - tweak: Lighting now uses a linear algorithm to calculate falloff instead of an
+ inverse-square algorithm.
+ - code_imp: get_hearers_in_view() now actually caches the results of view() instead
+ of calling view() twice
+ - code_imp: Goonchat's JS no longer contains checks related to a completely unused
+ message filtering function, which should improve clientside performance quite
+ a bit
+ - rscadd: The storage hud now properly takes into account the viewer's view size,
+ meaning storage items with a large amount of storage slots will properly stretch
+ across the bottom of the screen when running in widescreen.
+ - rscadd: Action buttons are now able to fill the entire screen in widescreen and
+ other weird view sizes.
+ - rscdel: Omegastation's job changes will no longer be included at compile time.
+ - code_imp: The client update portion of /mob/Login() now double-checks to make
+ sure client.player_details exists and is of the proper type. This should hopefully
+ fix the "cannot read null.player_details" runtimes that can spontaneously cause
+ clients to get kicked out and forced back to the lobby.
+ - rscadd: You can now quickly use unequipped items on objects by simply click-dragging
+ the item onto the object with an empty active hand. Doing so will place the
+ item in your hand, and then use that item on the object.
+ - code_imp: In an attempt to improve the performance of /mob/Stat(), various time-related
+ procs now use defines instead of being procs that call procs that call other
+ procs that call even more procs.
+ - bugfix: If a living mob has vore initialized but doesnt have voreprefs initialized,
+ then client login will force voreprefs to load.
+ - bugfix: 'Hopefully fixed paper crash 2: electric boogaloo'
+ - refactor: Added unomos, which is basically listmos except gas mixtures only use
+ one single list for handling their gasses. This is a significant performance
+ improvement that also offers a mild memory improvement under normal circumstances.
+ - balance: Locomotion circuits are now restricted to jogging speed
+ - balance: MMI circuits and pAI circuits both now have 60 complexity, up from their
+ original 29.
+ - tweak: Biogenerators now have a sane limit for production
+ - bugfix: Fixed a fairly huge server crash exploit
+ - bugfix: Shield blobs no longer become completely invulnerable to all forms of
+ damage after reaching a """weakened""" state
+ - tweak: Taken care of what appeared to have been an oversight where shield blobs
+ don't recover their armor after becoming weakened.
+ - bugfix: Nerfed concatenators by limiting the amount of characters they're able
+ to output
+ - tweak: The timer for stripping an item off of a spaceman is no longer interrupted
+ by your active held item changing. This means you no longer have to worry about
+ filling both of your hands when you're stripping items off of someone.
+ - rscadd: Ported the zulie cloak and blackredgold coat donor items from RP.
+ - balance: Normal mops now only use 2 stamina to mop a tile, nerfed from their previous
+ value of 5 stamina per tile mopped.
+ - balance: Advanced mops now only use 1 stamina to mop turfs, from their former
+ value of 2 stam.
+ - tweak: The femur breaker now uses `*scream` instead of forced speech. This means
+ that the femur breaker will no longer spam deadchat with "AAAAAAAAAHHHHHHHHHH!!"
+ - tweak: The femur breaker will now guarantee that the victim falls into crit, which
+ will make it harder to perform torture scenes with it since the victim can just
+ succumb.
+ - bugfix: Fixed another runtime in warp whistles.
+ - bugfix: Spamming forged packets no longer crashes the server.
+ - bugfix: Things that access job_preferences now explicitly access keys, which means
+ it no longer attempts to access invalid indices and runtimes as a result.
+ - balance: The taser's electrode has been reworked. Instead of being a strong knockdown
+ that deals a heavy amount of stamloss, it now causes a weak knockdown, applies
+ a debilitating status effect for 5 seconds, and deals 35 stamloss on hit up
+ to a maximum 50 total stamloss.
+ - balance: Roundstart turrets now have a nonlethal projectile that gets used when
+ they're set to stun and the target is resting
+ - tweak: Hybrid tasers now have disablers set as their default mode.
+ - rscadd: There is now a 1% chance for the station's announcer to be the medibot
+ voice instead of the classic TG announcer.
+ - rscadd: The map config system has been expanded to allow mappers to specify the
+ map type, announcer voice, ingame year, and how often a given map can be voted
+ at roundend.
+ - bugfix: The map vote system now takes into account map playercount limits properly.
+ - bugfix: Examining a spaceman, and other things that use get_examine_string(),
+ will now actually properly show when an item is blood-stained.
+ - bugfix: Plasmaman tongues no longer have a maxHealth of "alien", and no longer
+ cause the organ's on_life to always runtime.
+ - bugfix: Shooting a simplemob no longer causes runtimes prior to the blood effect
+ being created.
+ - bugfix: Removing a filter from an object that lacks filters no longer causes runtimes.
+ deathride58 (Original PR by actioninja):
+ - rscadd: Disarm pushing (combat mode right click in disarm intent) will now actually
+ push mobs away. Knockdowns from disarm pushing are no longer rng based on the
+ target's staminaloss. Knockdowns from disarm pushing now only happen when you
+ push someone into another mob, a table, or a wall. Pushes will now also temporarily
+ stop targets from using firearms, and will disarm the firearm if performed a
+ second time. Pushes still deal staminaloss to standing targets, and won't deal
+ a single ounce of staminaloss to resting targets.
+ - rscdel: You can no longer displace mobs that are in harm intent by simply walking
+ into them. Mobs that aren't in help intent have to be disarm pushed to actually
+ be moved.
+ dtfe3:
+ - tweak: Increased music maxlines from 300 to 600
+ - tweak: Made it so any oxygen tank can be used instead of only red ones.
+ - tweak: Watcher wing Trophy's effect lasts 1 second instead of 0.5
+ - rscadd: Pink Panties
+ - rscadd: Twintails
+ - rscadd: Schoolgirl outfits for the loadout menu!
+ - tweak: Now the fox ears are located in front of hair meaning they now behave much
+ like cat ears, that being they are on-top of the hair layer.
+ izzyinbox:
+ - rscadd: adds VoG orgasm command using words "orgasm", "cum", "squirt", "climax"
+ - rscadd: adds VoG dab command using words "dab" and "mood"
+ - rscadd: Generic dog body marking sprite
+ - imageadd: colormatrix dog sprites
+ - tweak: lowered the player age for command jobs to 1/3 of their previous setting
+ - rscadd: '*bark emote'
+ jtgsz:
+ - rscadd: ported gang mode
+ kappa-sama:
+ - rscdel: Removed racism
+ - tweak: Teleporter calibration actually matters to all roundstart players
+ - balance: Slows down teleportation with the console/hub/teleporter setup if you
+ care for your species.
+ - balance: Dedicated non-humans can now get hulk without having to become human.
+ - bugfix: seed
+ - tweak: added obj/item/key to wallet whitelist
+ - tweak: blood cult ritual daggers fit in jack/combat boots
+ - tweak: voidcells can now unlock alien tech
+ - balance: rebalanced tech trees (not really)
+ - rscadd: hugbox (/s)
+ - tweak: ashwalker spawn text now tells them "i" "c" not to leave lavaland
+ - bugfix: you can no longer have infinite ebows
+ - bugfix: kevinz forgot to nerf miasma research and cargo value after making it
+ produce like 100x as much lmao
+ kevinz000:
+ - balance: Hierophant now goes sicko mode, but hey, at least you can't be multi-hit
+ by melee waves!
+ - rscadd: Racking shotguns is now more threatening.
+ - balance: Medibots no longer kill slimes when trying to heal their toxins.
+ - rscadd: The Syndicate started selling claymores to their agents.
+ - balance: Nerfed VTEC modules.
+ - bugfix: Neurotoxin no longer stuns non-carbons.
+ - rscadd: peacekeeper cyborgs now get a megaphone
+ - bugfix: Fixes storage bugs regarding reaching into things you shouldn't be able
+ to reach into.
+ - code_imp: BYOND 513 preliminary support added.
+ - balance: 'Trashbags now only allow accessing the first 3 items. 5 for bluespace
+ ones. experimental: Storage now allows for limiting of random access'
+ kiwedespars:
+ - rscadd: regenerative materia to hallucination sting
+ - rscadd: mindbreaker toxin as an actual chemical to hallucination sting
+ lolman360:
+ - rscadd: NT has authorized shipments or Cotton to Megaseed Servitors. It's time
+ to start picking, liggers.
+ - imageadd: missing durathread sprites
+ - rscadd: Added durathread jumpskirt
+ - imageadd: Duraskirt sprites and rolled down jumpsuit sprites.
+ - bugfix: Fixes an undocumented change to the naming of Plasmamen.
+ - tweak: chainsaw kind of weapons and the mecha drill and the CLAMP can now be used
+ with 100% accuracy for surgery
+ - refactor: surgery tools now work on defines
+ - balance: advanced surgerytools can now switch types instead of just being faster
+ - bugfix: fixes bug with new surgerytools examine
+ nicc:
+ - rscadd: Exo-suit
+ - rscadd: SEVA suit
+ - rscadd: Flags for Goliath resistance and weakness
+ - rscadd: suit voucher
+ - rscadd: temp suit sprites
+ - rscadd: '*dab'
+ - balance: teg less gay maybe
+ ninjanomnom and WhoneedSpacee:
+ - rscadd: Some rpg affixes now have special effects
+ - rscadd: 'New RPGLoot modifiers: Vampirism which heals you when you attack, Pyromantic
+ which sets things you hit on fire. Shrapnel which causes projectiles fired from
+ a gun to fire projectiles in a radius when they hit something. Finally, Summoning
+ which summons mobs that sometimes aid you in combat.'
+ original by @randolfthemeh and @twaticus, port by sishen1542:
+ - rscadd: jumpskirts
+ - rscadd: more jumpskirts
+ - rscadd: jumpskirt/suit prefs
+ original by Bumtickley00, port by sishen1542:
+ - tweak: Suit storage units will now also remove radiation from mobs.
+ original by GuyonBroadway, SkowronX, and Arizon5. port by sishen1542 and kerse:
+ - rscadd: Clockwork cultists may now summon forth Neovgre, the ratvrarian super
+ weapon. This powerful mech can be summoned when applications scripture has been
+ unlocked, boasts superior offensive and defensive capabilities, however once
+ a pilot enters he cannot leave and is doomed to die with the mech.
+ - imageadd: Sexy Sprite work courtesy or SkowronX from /tg/
+ - imageadd: brass edits by Arizon5
+ - soundadd: steamy laser by kerse
+ original by Skoglol, port by sishen1542:
+ - balance: Added lots of new virus cures, made cure difficulty scale more consistently.
+ Cures are now picked from a list of possible cures per resistance level, multiple
+ diseases at the same level no longer always share a cure. Looking at you table
+ salt.
+ - admin: Dynamic gamemode now more auto-deadmin friendly.
+ original by TheChosenEvilOne, port by sishen1542:
+ - rscadd: Ported dynamic mode from /vg/, originally made by @DeityLink, @Kurfursten
+ and @ShiftyRail
+ original by Tlaltecuhtli, port by sishen1542:
+ - rscadd: rcd disk that gives rcd computer frame and machine frame designs
+ - rscadd: upgraded rcd in CE lockers
+ - tweak: moved deconstruction to the upgrade disk, ashwalker rcd comes upgraded
+ original by actioninja, port by sishen1542:
+ - tweak: Medical and Security consoles now check access on worn or inhand ID instead
+ of requiring an inserted ID
+ - tweak: mining vendor now reads from ID in hand or on person instead of requiring
+ an inserted ID
+ - bugfix: ORM is functional again (for real this time)
+ - tweak: ORM claim points button transfers points to worn/inhand ID instead of to
+ an inserted ID, no longer accepts insertions
+ - tweak: Same for gulag consoles
+ original by redmoogle, port by sishen1542:
+ - rscadd: Added support for 3 new gasses; Tritium, Pluoxium, and BZ
+ 'original by: WJohnston, Antur, Arcane, plapatin, sprites by cogwerks and edited by mrdoombringer. port by sishen1542':
+ - rscadd: THE GOOSE IS LOOSE
+ r4d6:
+ - rscadd: Added decoratives angel wings for Mammalians only
+ - rscadd: Added blindfolds to the Loadout list
+ - rscadd: Added Decorative Wings for Humans, Felinids, Slimepersons and Lizardpeoples.
+ - tweak: Change the SEVA suit & Exo-suit's descriptions
+ - bugfix: Batteries are now Rad-Proof like the other stock parts
+ tigercat2000@Paradise:
+ - bugfix: fixed invalid characters breaking chat output for that message
+ tinfoil hat wearer:
+ - rscadd: Added a new alien technology disk to scientist and roboticist uplinks
+ that allows them to research the heavily-guarded secrets of the Grays.
+ - tweak: Alientech is now the only Hidden alien research. To compensate for this,
+ alien_bio and alien_engi have had their research costs doubled and now require
+ advanced surgery tools and experimental tools respectively to research. Their
+ export price is also halved.
+ - balance: roboticists now have brainwashing disks AND alien technology added to
+ their role-restricted uplink section. alien technology gives them brainwashing
+ at a much later date, so brainwashing is the much cheaper option for instant
+ power. makes logical sense because doctors get it as well because they do surgery,
+ and roboticists can now either choose to brainwash people for less price but
+ less power or emag borgs for higher prices, limited uses, but higher power.
+ ursamedium:
+ - imageadd: Gas icons changed.
diff --git a/html/changelogs/archive/2019-12.yml b/html/changelogs/archive/2019-12.yml
new file mode 100644
index 0000000000..37bfe399e4
--- /dev/null
+++ b/html/changelogs/archive/2019-12.yml
@@ -0,0 +1,861 @@
+2019-12-07:
+ AffectedArc07:
+ - code_imp: Fixes a LOT of code edge cases
+ Anonymous:
+ - rscadd: Added NEET-- I mean, DAB Suit and Helmet into loadout. Exclusive to Assistants,
+ for obvious reasons, and don't provide any armor. Goes well with balaclava,
+ finger-less gloves and jackboots for that true tactic~~f~~ool experience.
+ - tweak: Renamed loadout name appropriately (ASSU -> DAB)
+ Arturlang:
+ - tweak: PDA catridges cant be irradiated anymore.
+ Bhijn:
+ - code_imp: Item mousedrop() now provides a return value indicating whether or not
+ behavior has been overridden somehow.
+ - bugfix: Defibs now properly check that their loc is the same as the user for mousedrop()
+ calls, meaning ghosts can no longer make you equip defibs. Plus extra sanity
+ checks.
+ - bugfix: Pet carriers no longer attack turfs while trying to unload their contents.
+ - bugfix: Decks of cards now function as they originally intended when attempting
+ to use their drag and drop behavior.
+ - bugfix: Paper bins and papercutters no longer act wonky when you're trying to
+ pull a piece of paper from them.
+ - bugfix: Adds clothing drag n drop sanity checks.
+ - bugfix: Sythetic hats now have extra sanity checks
+ Coconutwarrior97:
+ - bugfix: Can only wrench down two transit tubes per turf.
+ Commandersand:
+ - rscadd: Added more stuff to loadout,check uniforms mask and backpack
+ DeltaFire15:
+ - rscadd: Adds eight new plushies
+ - imageadd: Adds icons for the new plushies and adds a new icon for the skylar plush
+ - imagedel: Deleted a old, no-longer used icon for the skylar plush
+ - spellcheck: Fixed a typo in the trilby plush
+ Fermis:
+ - tweak: tweaks botany reagent pHes
+ - tweak: Purity, Astral, RNG, MK, SMilk, SDGF, furranium, hatmium, eigen, nanite.
+ - bugfix: Eigen and purity.
+ - refactor: refactored sleepers!
+ - rscadd: Organ fridges to all maps near surgery with a random sensible organ, steralizine
+ and synthtissue.
+ - tweak: the med hand scanner to be less of a mishmash of random things
+ - rscadd: a little icon to the HUD if someone's heart has failed.
+ - tweak: Lets neurine's brain splash attack work via syringe.
+ - rscadd: a new surgery; Emergency Cardioversion Induction for use on the recently
+ deceased
+ - tweak: Synthtissue to be less demanding on growth size for organ regeneration
+ and improves clarify of it's growth gated effects.
+ - tweak: Synthtissue now is more useful than synthflesh on the dead
+ Fox McCloud:
+ - bugfix: Fixes a very longstanding LINDA bug where turfs adjacent to a hotspot
+ would be less prone to igniting
+ Fox McCloud, Ghommie:
+ - bugfix: Fixes being able to mech-punch other mobs, as a pacifist
+ - bugfix: Fixes being able to hurt people, as a pacifist, by throwing them into
+ a wall or other mob, or by using most martial arts (save for the unpredictable
+ psychotic brawl, and the stamina-damage-only boxing).
+ - balance: Buffs boxing to outdamage natural stamina regeneration. Made the chance
+ of outright missing your opponent actually possible.
+ - tweak: Pacifists can now engage in the (laughably not harmful) sweet sweet art
+ of boxing now.
+ Ghommie:
+ - bugfix: Fixing implant cases being lost inside implant pads when trying to eject
+ them with your active hand full.
+ - tweak: Moved the implant pad's case ejection from attack_hand() to AltClick(),
+ added examination infos about it.
+ - bugfix: Fixed holodeck sleepers leaving sleeper buffers behind when deleted.
+ - bugfix: Fixed traitor codewords highlight and some other hear signal hooks spans
+ highlight (phobias, split personality, hypnosis) or modifiers (mind echo)
+ - bugfix: Fixed traitor codewords highlight not passing down with the mind datum
+ and stickying to the first mob.
+ - spellcheck: Fixed the incongruent bone satchel description.
+ - bugfix: Fixed sofa overlays doing nothing, because their layer wasn't properly
+ set.
+ - tweak: Suicide and cryo now prevents ghost/midround roles for a definite duration
+ of 30 minutes (and more if that was done before 30 minutes in the game passed),
+ down from the rest of the round.
+ - bugfix: fixed several midround roles bypassing and nulling the aforementioned
+ prevention measures.
+ - bugfix: Fixed the little issue of PDA skins not updating on job equip.
+ - tweak: Anomaly Crystals of the clowning type will now rename the victim to their
+ clown name preference when triggered, instead of giving them a random clown
+ name.
+ - balance: Lowered blob event earliest start from 1 hour to 40 minutes (ergo one
+ third), and the required player population from 40 to 35.
+ - bugfix: Several fixes and QoL for dullahans. They can see and hear visible and
+ audible messages now, don't need a space helmet they can't wear anyway to be
+ space/temperature proof, can examine things through shiftclick, and, most of
+ all, fixed their head being unpickable. Fixed dullahans gibbing when revived
+ or had their limbs regenerated.
+ - bugfix: humans should now drop gibs when gibbed again.
+ - rscadd: synths (not to be confused with IPCs), android and corporate species,
+ as well as robotic simple mobs, will now spawn robotic giblets instead of organic
+ ones.
+ - bugfix: You can't wear dakimakuras in any other inappropriate slots save for the
+ back slot anymore, degenerates.
+ - bugfix: Insert snarky remark about clock welders actually displaying the welder
+ flame overlay when turned on now here.
+ - balance: Minor ninja tweaks and stealth nerfs. The stealth penalty for the many
+ combat-related actions, bumping and now teleporting/dashing or firing guns has
+ been increased a by a third. There is now a cooldown of 5 seconds on toggling
+ stealth as well as a slighty slowed stealth in/out animation.
+ - imageadd: Ported slighty better matchbox sprites from CEV-Eris, also resprited
+ cigar boxes myself.
+ - bugfix: Fixed abductors/abductees objectives by porting an objective code.
+ - bugfix: Riding component fix
+ - bugfix: fixing a few runtimes on lightgeists, libido trait, rcd, one admin transformation
+ topic, chem dispensers, glowing robotic eyes...
+ - imageadd: Porting CEV-eris delivery packages sprites and dunking the old syndie
+ cybernetics box sprite.
+ - bugfix: Certain objects shouldn't be able to become radioactive because of a bitflag
+ that previously was checked nowhere in the code anymore.
+ - rscadd: Added a new PDA reskin, sprites from CEV-Eris
+ - rscadd: Clock cult starts with some spare vitality matrix charge scaled of the
+ number of starter servants.
+ - balance: Made the vitality matrix sigil slighty more visible, also allowed conversion
+ runes to heal fresh converts at the cost of some vitality charge.
+ - bugfix: 'Crawling won''t save you from the wrath of ocular wardens and pressure
+ sensors anymore, heretics. fix: Pressure sensors are no more triggered by floating/flying
+ mobs.'
+ - bugfix: Strawberry milk and tea have sprites now.
+ - bugfix: Fixed the Aux base camera door settings and toggle window type actions.
+ Also enabling the user to modify both door access and type.
+ - imageadd: Improved the two grayscale towel item sprites a little.
+ - bugfix: Fixed towels onmob suit overlays. Again.
+ - spellcheck: Fixed some reagents taste descriptions.
+ - bugfix: Fixed hidden random event reports only priting a paper message without
+ sending the message to the consoles' message list.
+ - bugfix: Rosary beads prayer now works on non-carbon mobs too, and won't break
+ when performed on a monkey or other humanoids.
+ - tweak: You can flagellate people with rosary beads on harm intent. It's even mediocrer
+ than the sord though.
+ - tweak: Moved the `Stealth and Camouflage Items` uplink category next to `Devices
+ and Tools`.
+ - bugfix: Deleted a duplicate phatom thief mask entry from the uplink.
+ - bugfix: Fixed missing delivery packages sprites
+ - bugfix: fixed a few minor issues with console frames building.
+ - bugfix: Wizards can use the teleport spell from their den once again.
+ - tweak: Wizards will now receive feedback messages when attempting to cast teleport
+ or use the warp whistle while in a no-teleport area.
+ - rscadd: New clockwork cultist, gondola, monkey and securitron cardboard cutouts.
+ - bugfix: Fixed aliens gasping randomly once in a while.
+ - bugfix: fixed superlube waterflower, my bad.
+ - bugfix: Fixed closing the aux base construction RCD's door access settings window
+ throwing you out of camera mode when closed.
+ - rscdel: Removed not functional aux base RCD's door type menu. Use airlock painters,
+ maybe.
+ - rscadd: Honkbot oil spills are of the slippery kind now. Honk.
+ - imageadd: local code scavenger finds forgotten slighty improved apc sprites left
+ buried in old dusty folders.
+ - bugfix: Seven old and otherwordly pAI holochassis icons have crawled their way
+ out of the modular citadel catacombs.
+ - bugfix: chem dispenser beakers end up in your hand yet again.
+ - bugfix: Bikehorns squeak yet again, the world is safe.
+ - bugfix: Cyborgs can now actually use cameras from a distance.
+ - bugfix: Suicides are yet again painful and instant and won't throw people in deep
+ crit from full health.
+ - bugfix: fixed rogue pixels on the energy gu- ahem blaster carbine... and a few
+ apc lights states being neigh-indistinguishable.
+ - bugfix: Fixed several "behind" layer tail sprites skipping areas normally covered
+ by bodyparts.
+ - bugfix: Morgues' original alert beeping sound has been restored, they no longer
+ go "ammunition depleted"
+ - bugfix: Fixed missing hypereutactic left inhand sprites.
+ - bugfix: Dying, ghosting, having your mind / ckey transferred to another mob, going
+ softcrit or otherwise unconscious now properly turn off combat mode.
+ - bugfix: combat mode can't be toggled on while non fully conscious anymore.
+ - bugfix: Fixed limbs' set_disabled NOT dropping your held items, updating your
+ hand slot inventory screen image, prompting chat messages and making your character
+ scream like a sissy.
+ - bugfix: Lusty xenomoprh maids will now actually clean tiles they travel onto yet
+ again.
+ - bugfix: Fixed double whitespace gap in human and AI examine. Fixed single whitespace
+ in carbon examine.
+ - rscdel: 'Removed a few useless supply packs: "Siezed" power cells, means of production
+ and promiscous organs.'
+ - tweak: Merged the synthetic blood supply pack into the standard blood supply pack,
+ effectively removing a random type blood pack in favor of two synthetic ones.
+ - tweak: "Merged together premium carpet pack n\xB01 and n\xB02 to hold one of each\
+ \ standard pattern."
+ - tweak: You can no longer estimate the amount of reagents found inside a damp rag.
+ - tweak: You can now squeeze a rag's reagents into another open container, as long
+ as the other one is not full.
+ - bugfix: Fixed ED-209 being unbuildable past the welding step.
+ - bugfix: Fixed ai displays status being reset to "Neutral" on login, regardless
+ of choice.
+ - bugfix: Fixed tinfoil hats giving random traumas.
+ Ghommie (original PR by Denton):
+ - rscadd: Added three new .38 ammo types. TRAC bullets, which embed a tracking implant
+ inside the target's body. The implant only lasts for five minutes and doesn't
+ work as a teleport beacon. Hot Shot bullets set targets on fire; Iceblox bullets
+ drastically lower the target's body temperature. They are available after researching
+ the Subdermal Implants node (TRAC) or Exotic Ammunition node (Hot Shot/Iceblox).
+ - tweak: Renamed the Technological Shells research node to Exotic Ammunition.
+ - code_imp: The "lifespan_postmortem" var now determines how long tracking implants
+ work after death.
+ - rscadd: .357 AP speedloaders can now be ordered from syndicate uplinks.
+ - balance: lowered the cost of uplink's .357 speedloaderd from 4 to 3.
+ Ghommie (original PR by nicbn and Menshin):
+ - bugfix: You can click on things that are under flaps or holo barriers.
+ Ghommie (original PRs by ShizCalev, CRTXBacon and Niknakflak):
+ - rscadd: Adds the intelliLantern, a big ol' spooky intelliCard skin
+ - rscadd: crafting recipe for the new intelliCard skin (requires 1 pumpkin, 1 intelliCard,
+ 5 cables and a wirecutter as a tool)
+ - tweak: changed the intelliTater crafting recipe to match the intelliLantern recipe
+ (but with a potato for obvious reasons) add:cute pai gameboy face :3
+ Ghommie, porting lot of PRs by MrDoomBringer, AnturK, nemvar and coiax.:
+ - admin: Admins can now launch supplypods the old, slightly quicker way as well
+ - bugfix: Centcom-launched supplypods will now properly delimb you (if they are
+ designated to do so) instead of touching you then literally yeeting all of your
+ internal organs out of your body.
+ - admin: Centcom can now specify if they want to yeet all of your organs out of
+ your body with a supplypod
+ - soundadd: Supplypods sound a bit nicer as the land now.
+ - admin: admins can now adjust the animation duration for centcom-launched supplypods
+ - admin: admins can adjust any sounds that are played as the supplypod lands
+ - bugfix: Reverse-Supplypods (the admin-launched ones) no longer stay behind after
+ rising up, and also auto-delete from centcom.
+ - admin: The centcom podlauncher now has better logging
+ - tweak: Admins can now allow ghosts to follow the delivery of Centcom-launched
+ supply pods
+ - admin: Admins can now use the Centcom Podlauncher to launch things without the
+ things looking like they're being sent inside a pod.
+ - admin: sparks will not generate if the quietLanding effect is on, for the centcom
+ podlauncher
+ - admin: makes input text clearer for the centcom podlauncher
+ - admin: New 'Podspawn' verb, which functions like 'Spawn', except any atoms movable
+ spawned will be dropped in via a no-damage, no-explosion Centcom supply pod.
+ - bugfix: Removed an oversight that made many obj/effect subtypes accidentally bombproof.
+ GrayRachnid:
+ - rscadd: Added saboteur syndicate engiborg
+ - tweak: changed cyborg tool icons and the secborg taser/laser icons.
+ - bugfix: Fixes golden toolbox missing inhand sprite
+ - rscadd: Added traumas
+ - rscadd: Added science powergame tool
+ - tweak: a few hearing args
+ - bugfix: fixed my mistakes
+ - tweak: tweaked the number of ingredients/pancakes you can stack.
+ Hatterhat:
+ - tweak: The Big Red Button now sets bomb timers to 2 seconds, instead of 5.
+ - tweak: Gloves of the North Star (not Hugs of the North Star) now use all their
+ intents very, very fast. This does not apply to grabs' click cooldown, nor shoving
+ people.
+ - rscadd: The seedvault/alien plant DNA manipulator can now be printed off with
+ Alien Biotechnology.
+ Iroquois-Pliskin:
+ - rscdel: Removed Clockwork Cult Surgical facility from Reebe
+ Jerry Derpington, baldest of the balds, and nemvar.:
+ - rscdel: Nanotrasen has lost communication to two away mission sites that contained
+ a beach for Nanotrasen employees.
+ - rscadd: Nanotrasen has been able to locate a new away mission site that ALSO has
+ a beach. Nanotrasen employees will be able to enjoy the beach after all!
+ - rscadd: Seashells have been added to the game.
+ KathrinBailey:
+ - rscadd: Two extra 'luxury' dorms rooms!
+ - rscadd: Gas miners to atmos.
+ - rscadd: Posters around the station.
+ - rscadd: Vacant room added to the Starboard Bow with it's own APC, above electrical
+ maintenance.
+ - rscadd: New trendy clothes to the locker room, giving variety and bringing fashion
+ back onto Nanotrasen stations.
+ - rscadd: Coloured bedsheet and towel bin.
+ - rscadd: Maid uniforms for the janitor.
+ - tweak: Completely reworked bar. Milk kegs added in bar office. The bar has been
+ changed for a homey restaurant feel just in time for Christmas! You can now
+ run it as an actual restaurant! Local Bartender Icktsie III loved it so much
+ he rolled around on the new floor smiling happily.
+ - tweak: Dorms rework. Fitness room now has lots of costumes and outfits.
+ - tweak: Junk removed from engineering, welding goggles added.
+ - tweak: Welding tools in engineering replaced with industrial welding tools.
+ - tweak: Package wrappers and hand labellers now in major departments.
+ - tweak: Cell charger moved from engineering lobby to the protolathe room, just
+ like how it is in all of the other maps and just where the cell charger is actually
+ needed.
+ - tweak: Library redesigned to have a private room and a 3x3 private study that
+ is cleaned up.
+ - tweak: Paper bins have gone big or gone home, with premium stationery scattered
+ around. Engineering and security now have a labeller and packaging supplies.
+ - bugfix: Dark spot top left of Botany fixed.
+ - bugfix: Huge galactic-sized dark spot in bar fixed.
+ - bugfix: Light replacers now are less horrifically overpowered and PTSD-inducing
+ for the server.
+ - bugfix: 'Fixes issue 9706: https://github.com/Citadel-Station-13/Citadel-Station-13/issues/9706
+ Part of maint getting hit by radstorms.
+
+ _Kathrin''s Box Beautification:_'
+ - rscadd: Ports TG's pews https://github.com/tgstation/tgstation/pull/42712
+ - rscadd: The first step of a corporate incursion of Space IKEA into Nanotrasen.
+ Kevinz000, Cruix, MrStonedOne, Denton, Kmc2000, Anturk, MrDoomBringer, Dennok, TheChosenEvilOne, Ghommie:
+ - rscadd: Added support for Multi-Z power, atmospherics and disposals
+ - bugfix: 'massive service department nerf: space can no longer be extra crispy.'
+ Knouli:
+ - rscadd: attack_self proc for the legion core which triggers a self-heal al la
+ the previous 'afterattack' proc, as if clicking on the character's own sprite
+ to self-heal
+ - rscadd: admin logging for all three use cases of legion core healing - afterattack,
+ attack_self, and implanted ui_action_click
+ Krysonism, Ghommie:
+ - rscadd: NT has made breakthroughs in ice cream science, ice creams can now be
+ flavoured with any reagent!
+ - tweak: The ice cream vat now accepts beakers.
+ - bugfix: Grape and Peach icecreams have scoop overlays yet again.
+ Linzolle:
+ - code_imp: butchering component update
+ - tweak: hat tossing can no longer knock hats off
+ - bugfix: strange reagent being unable to revive simplemobs
+ - rscadd: jitter animation and more clear text to strange reagent revival
+ Mickyy5:
+ - rscadd: Nanotrasen are now issuing Plasmamen with plasma in their survival boxes
+ MrJWhit:
+ - tweak: tweaked brain damage line
+ Naksu, ShizCalev:
+ - refactor: Refactored examine-code
+ - bugfix: Examining a human with a burned prosthetic limb will no longer tell you
+ that the limb is blistered.
+ - tweak: Items will now inform you if they are resistant to frost, fire, acid, and
+ lava when examined.
+ Owai-Seek:
+ - rscadd: '"silly" bounties'
+ - rscadd: '"gardenchef" bounties'
+ - rscdel: several bounties that require seriously good RNG to pull off.
+ - tweak: moved several chef and assistant bounties to silly and gardenchef
+ - balance: modified several bounty point rewards
+ - server: added new files "silly.dm" and "gardenchef.dm"
+ - rscadd: 15+ new crates for cargo
+ - tweak: organizes crates and moving them to proper categories
+ - rscdel: some dumb stuff like toner crates re
+ - rscadd: leg wraps and sweaters to clothesmate
+ - rscadd: screwdriver and cable coil to janidrobe
+ - rscadd: screwdriver and cable coil to janibelt whitelist (for fixing/placing light
+ fixtures)
+ - rscadd: monkey cube, syringe, enzyme, soy sauce, and cryoxadone to chef's vendor
+ (contraband and premium)
+ - rscadd: add cracker, beans, honey bars, lollipops, chocolate coin, and spider
+ lollipop to snack vendors (contraband and premium)
+ - rscadd: newspaper to loadout menu for bapping purposes
+ - rscdel: removed poppy pretzels from snack vendor premium
+ - rscadd: maid uniform (janimaid alt) to kinkmate.
+ - tweak: moves gear harness from premium to normal stock in kinkmate
+ - balance: re-balanced metal shield bounty
+ - rscadd: cryoxadone bottle (for use in chef vendor)
+ PersianXerxes:
+ - tweak: Reduces the grace period for meteors from a minimum of 5 and maximum of
+ 10 to 3 and 6 minutes respectively.
+ - rscadd: Adds a pair of VR sleepers to Box Station's permabrig
+ - rscadd: Adds a pair of VR sleepers to Delta Station's permabrig
+ - rscadd: Adds a pair of VR sleepers to Pubby Station's permabrig
+ - rscadd: Adds a pair of VR sleepers to Meta Station's permabrig
+ Putnam:
+ - bugfix: From-ghosts dynamic rulesets now actually listen to "required candidates"
+ - bugfix: Every dynamic-triggered event is now blacklisted from being triggered
+ by the random events system when dynamic can trigger them.
+ - rscadd: Dynamic voting now features extended, if recent rounds have been chaotic.
+ - tweak: Roundstart rulesets now scale on population ready rather than total population.
+ - bugfix: Threat log now accurately represents what actually used the threat.
+ - tweak: Verbose threat log (admin-only) now shows ALL threat level changes.
+ - bugfix: VR mobs can no longer be dynamic midround antags.
+ - bugfix: Personal closets can use anything that holds an ID card now.
+ Putnam3145:
+ - bugfix: traitors work now
+ - balance: Gas filters now push gas the same way volume pumps do.
+ - balance: Gas filters now won't clog if only one output is clogged.
+ - tweak: Glowsticks can no longer be radioactively contaminated (one more supermatter
+ contam exploit gone)
+ - bugfix: traitor removal is no longer borked
+ - rscadd: Dynamic voting
+ - config: Added DYNAMIC_VOTING to game_options
+ - tweak: SDGF now copies memories as well as antag data and factions.
+ - bugfix: Summon events now properly costs threat.
+ - bugfix: Refunded spells refund threat, too.
+ - refactor: Made wizard spells inherently have a requirement and cost.
+ - tweak: Meteor wave is no longer repeatable in dynamic.
+ - tweak: tweaked nuke ops
+ - bugfix: Organs can no longer be radioactively contaminated.
+ Robustin, Subject217:
+ - balance: The NukeOp Shuttle hull has been dramatically hardened. The walls are
+ now "R-Walls" with far greater explosion resistance.
+ - balance: The NukeOp Shuttle guns have been significantly buffed. They now rapidly
+ fire a new type of penetrator round, at a greater range, and have far greater
+ explosion resistance.
+ - balance: The nuclear device on the NukeOp Shuttle is now in an anchored state
+ by default, the Nuke can only be unanchored by inserting the disk and entering
+ the proper code.
+ - balance: Non-Syndicate cyborgs are now unable to access the NukeOp Shuttle Console.
+ - bugfix: You can now unanchor Nukes even when the floor under them has been destroyed
+ Seris02:
+ - rscadd: added sleeping carp hallucination
+ - rscadd: Centcom + Assistant's formal winter coat + loadout + narsian + ratvarian
+ winter coats
+ - rscadd: GPS location on examine
+ - bugfix: fixed the meteor hallucination
+ - tweak: tweaked the way the tapered penis looks
+ - rscadd: Added nine winter coats
+ - imageadd: added images for the winter coats
+ - tweak: adds the mining winter coat to mining wardrobes and mining lockers
+ ShizCalev:
+ - tweak: Ghosts can now see active AI cameras.
+ - bugfix: Fixed a couple of laser / energy guns never switching to the empty icon
+ despite being unable to fire.
+ Swindly:
+ - bugfix: Fixed MMIs not being able to use mecha equipment
+ - bugfix: Fixed MMIs not getting mecha mouse pointers
+ - bugfix: Fixed MMIs not getting medical HUDs in Odysseuses
+ - tweak: Brains can now switch to harm intent
+ Tetr4:
+ - bugfix: Turning a tile with gas effects into space now gets rid of the effects.
+ Trilbyspaceclone:
+ - rscadd: plastic trash cart crafting with plastic
+ - rscadd: wallets are known for now holding more items
+ - tweak: shades and clowns HP
+ - rscadd: six more crates, A barrel, A Loom, 40 cotton sheets, two sets of fruit
+ crates, raw lumber crate
+ - rscadd: All fermi chems, Boozes, Medical, food chems now sell
+ - rscadd: Loads more to sell - Mech gear, Cooking and more!
+ - tweak: Moved around the vaule of some things and removed elastic of most items
+ - balance: Rebreather implants will now loss vaule, Do to being just metal and glass
+ - balance: lowered how many chems are in lewd chem kegs to be around 150-100 as
+ well as the fancy booze kegs
+ - bugfix: bad returns and tools used
+ - rscadd: 8 new cargo crates!
+ - tweak: tablet cargo crate by -3k
+ - admin: Closes a bunch of issues
+ - server: updates changlogs and such
+ - bugfix: fixed a catnip not having sprites
+ - balance: Boh cant hold WEIGHT_CLASS_GIGANTIC, just Bulky. Makes katana, chainsaw
+ and base ball bat into bulky items so they may fit
+ - server: changes header to be more cit-like
+ - rscadd: new clothing for the hotel staff and a hat
+ Ty-the-Smonk:
+ - bugfix: You can now interact with self sustaining crossbreeds
+ Useroth:
+ - rscadd: Colored fairygrass variants.
+ - bugfix: Added a missing cherrybulb seedpack sprite
+ - bugfix: numbered storages now are sorted in a consistent way, instead of depending
+ on ordering of their contents var
+ - rscadd: strange seeds as a buyable traitor botanist item
+ - bugfix: resolves the issues revolving around blackpowder exploding where the reaction
+ happened, instead of where it actually is through making it explode instantly
+ - tweak: the explosion delay moved from blackpowder directly into bomb cherries,
+ to keep them functioning as intended
+ - rscadd: A bunch of newer tg plants
+ - rscadd: A bunch of newer tg plant traits
+ - rscadd: A couple of newer tg plant reagents
+ - bugfix: the new plants now properly get their reagents and reagent genes instead
+ of being empty with UNKNOWN reagents listed in the DNA machine
+ - rscadd: extradimensional oranges now contain haloperidol
+ - bugfix: extradimensional oranges now actually grow properly and give proper seeds.
+ Weblure:
+ - rscadd: Button added to slime console that prints out the hotkey commands to the
+ user. [Includes DMI update]
+ - rscadd: Shift-click a slime to pick it up, or the floor to drop all held slimes.
+ (Requires Basic Slime Console upgrade)
+ - rscadd: Ctrl-click a slime to scan it.
+ - rscadd: Alt-click a slime to feed it a potion. (Requires Advanced Slime Console
+ upgrade)
+ - rscadd: Ctrl-click on a dead monkey to recycle it, or the floor to place a new
+ monkey. (Requires Monkey Console upgrade)
+ - rscadd: If the console does not have the required upgrade, an error message will
+ print to the user.
+ - rscadd: You can now pick up a single slime from a pile, instead of all of them
+ at once.
+ - tweak: When recycling monkeys, the console will now report how many monkeys it
+ has (will not report decimal increases).
+ - tweak: Console now alerts you when you're out of monkeys and reports your current
+ decimal amount.
+ - tweak: Console messages are now styled consistently.
+ XDTM, ShizCalev, Naksu, Skoglol, cacogen, Rohesie (ported by Ghommie):
+ - tweak: Holding an ID in your hands uses it instead of your worn ID for authentication
+ purposes.
+ - tweak: If you don't have an ID in your id slot, the belt slot will be checked
+ as well.
+ - code_imp: small cleanup to id and bounty console html generation
+ - tweak: Hop console now hurts your eyes less. Red button text replaced with green.
+ - tweak: IDs with ID console access now go into the Confirm Identity slot by default
+ like they used to, similarly IDs without it go into the Target slot by default
+ again
+ - rscadd: Can easily swap out IDs by clicking the machine or the UI fields with
+ another ID
+ - rscadd: ID console now names which IDs are added/removed in its visible messages
+ - rscadd: Labels the ID slot fields when logged in so you know which is which
+ - tweak: Can use Job Management without an ID provided the console is logged in
+ (matches how the console now stays logged in even without an ID)
+ - tweak: Can log in without an ID in the Target field (matches how the machine now
+ stays logged in even after the ID is removed from the Target field)
+ - tweak: Cleans up UI slightly (had some duplicate/conflicting buttons)
+ - bugfix: Fixes ID console duping issues. Includes some ID containers, such as PDAs,
+ tablets and wallets, into the swapping behavior when an ID card is being removed
+ and the item is being held.
+ Xantholne:
+ - rscadd: New Berets for most heads and departments available in their autodrobes
+ or lockers
+ YakumoChen:
+ - imageadd: New AI Holograms and Displays! Ported from /vg/station.
+ actioninja:
+ - bugfix: med records no longer can eat id cards for no reason
+ - bugfix: Chat is properly sent to legacy window if goonchat fails to load again.
+ dapnee:
+ - bugfix: fixed closet initialisation being broken
+ - rscdel: emergency closets no longer have a 1% chance to delete themselves
+ - bugfix: Communications console window no longer updates, won't steal focus anymore.
+ - bugfix: Trimline neutral end exists now.
+ dzahlus:
+ - soundadd: added a new gun sounds
+ - sounddel: removed an old gun sounds
+ him:
+ - bugfix: hos and aeg guns now conform to le epic taser rework standards
+ kappa-sama:
+ - tweak: changed flavor text of alien tech on uplink
+ - imageadd: added TG's icons for traitor, russian, and golden revolver
+ kevinz000:
+ - rscadd: you can now choose never for this round for magical antags
+ - rscadd: Cargo has passive point generation again at 750 points/minute
+ - balance: Mindshield crate price increased from 3000 to 4000
+ - balance: Miasma sell price reduced from 15/mol to 4/mol
+ - balance: bluespace wizard apprentice now has blink instead of targeted area teleportation
+ - balance: Emagged medibots now charcoal toxinlovers.
+ - balance: disablers buffed 0.7 --> 0.6 speed 24 --> 28 damage
+ - balance: kinetic crushers no longer drop if you try to use it with one hand
+ - config: added multi_keyed_list, delimiter defaults to |.
+ - balance: Light pink extracts no longer speed you up. Instead, they give stamina
+ regeneration and free sprinting.
+ kiwedespars:
+ - rscdel: removed moth fluff coloring you like your wings
+ - balance: made insect not so bad.
+ nemvar:
+ - bugfix: You now get a message if your PDA explodes while you are holding it.
+ - tweak: The lavaland clown ruin has some new pranks ready.
+ - rscadd: Added a new loot item to the lavaland clown ruin.
+ - rscdel: Removed the slime core from said ruin.
+ - balance: The clown PDA now properly slips people on jogging move intent regardless
+ of fatigue. Honkmother's will.
+ nemvar, ShizCalev, Qustinnus/Floyd, Ghommie:
+ - rscadd: You can now unfasten the loom.
+ - tweak: it now takes 4 strands to make one piece of durathread cloth
+ - bugfix: Looms can now be attacked.
+ - rscadd: Durathread golem weaves his magic
+ - tweak: Supply ordered looms are unanchored. Bring a wrench.
+ r4d6:
+ - rscadd: Added Departements Winter Coats to the loadout list.
+2019-12-30:
+ AnturK:
+ - bugfix: Fixed ranged syndicate mobs stormtrooper training.
+ Arturlang:
+ - rscadd: Adds Bloodsuckers, beware.
+ BlueWildrose:
+ - bugfix: Fixed stargazers being unable to link to themselves if mindshielded or
+ if holding psionic shielding devices (tinfoil hats) when the species is set.
+ - bugfix: Fixes non-roundstart slimes being unable to wag their tail.
+ Commandersand:
+ - tweak: added two words to clown filter
+ - rscadd: Added new things to loadouts, check em
+ DeltaFire15:
+ - balance: Clock cult kindle no longer cares about oxygen damage
+ - tweak: changed mecha internals access for some special mechs.
+ - tweak: no more mech maintenance access for engineers.
+ - tweak: All heads of staff can now message CC
+ - code_imp: Removes a magicnumber
+ - balance: Rebalanced cult vs cult stun effects to debuff instead of stun
+ Detective-Google:
+ - bugfix: short hair 80's is no longer jank
+ Fermis:
+ - tweak: tweaked how super bases/acids work but limiting them
+ Fikou:
+ - tweak: the windup toolbox now has some more "realistic" sounds
+ - bugfix: the windup toolbox now rumbles again
+ Ghommie:
+ - bugfix: Fixed hulks, sleeping carp users, pacifists and people with chunky fingers
+ being able to unrestrictly use gun and pneumatic cannon circuit assemblies.
+ - bugfix: Fixed gun circuit assemblies being only usable by human mobs.
+ - balance: Doubled the locomotion circuit external cooldown, thus halving the movable
+ assemblies' movespeed.
+ - tweak: Made wooden cabinet/closets... actually made of wood.
+ - tweak: Wooden cabinets are now deconstructable with a screwdriver.
+ - tweak: Deconstruction of large crates and other closet subtypes deconstructable
+ with tools other than the welder is no longer instant.
+ - tweak: You shouldn't be able to target objects you can't see (excluding darkness)
+ with the ARCD and RLD
+ - tweak: The admin RCD is ranged too, just like the ARCD.
+ - bugfix: Fixed welding, thirteen loko, welding and wraith spectacles not blinding
+ people as expected. Thank you all whomst reported this issue in the suggestions
+ box channel instead of the github repository's issues section, very smart!
+ - bugfix: Fixed on_mob eyes overlays not updating properly in certain cases.
+ - bugfix: Fixed deconversion from bloodshot eyes blood cult resetting your eyes'
+ color to pitch black instead of their previous color, more or less.
+ - balance: 'Spinfusor nerf: Upped the casing and ammo box size by one step, removed
+ the projectile''s dismemberment value (explosions can still rip a limb or two
+ off), halved the ammo box capacity, reduced the spinfusor ammo supply pack contents
+ from 32 to 8, removed the casing''s ability to explode when thrown.'
+ - bugfix: Fixes bubblegum's death not unlocking the arena shuttle buyment.
+ - bugfix: Fixed alien tech node not being unlockable with subtypes of the accepted
+ items.
+ - bugfix: Fixed reactive armor onmob overlays not updating when toggled and reactive
+ teleport armor still using forceMove() instead of do_teleport()
+ - bugfix: Fixed space hermit asteroid rocks unintendedly spawning airless asteroid
+ turf when mined, save for the perimeter.
+ - bugfix: Fixes reviver implant having been a crapshot ever since soft-crit was
+ introduced years ago.
+ - tweak: Added a "convalescence" time (about 15 seconds) after the user is out of
+ unconsciousbess/crit to ensure they are properly stabilized.
+ - tweak: Added a 15 minutes hardcap for accumulated revive cooldown (equivalent
+ to 150 points of brute or burn healed) above which the implant starts cooling
+ down regardless of user's conditions.
+ - bugfix: Fixed AI core displays I may have broken with my coding extravaganza.
+ - soundadd: Blue, Amber and Red security alert sounds should be half as loud now.
+ - balance: Buffed clown ops by removing their clumsiness and adding a new trait
+ to be used in place of several clown role checks.
+ - tweak: Clown ops too also suffer from not holding or wearing clown shoes now.
+ - bugfix: Fixed a few holo barriers lacking transparency.
+ - bugfix: Fixed character setup preview bodyparts not displaying correctly most
+ of times.
+ - bugfix: Fixed character appearance preview displaying the mannequin in job attire
+ instead of undergarments.
+ - bugfix: Fixed raven's shuttle computer not being of the emergency shuttle type.
+ - tweak: Blood bank generators can now be anchored and unanchored now.
+ - admin: Ghost mentors can now orbit around the target instead of setting their
+ view to theirs'.
+ - bugfix: Fixes a ghostchat eavesdropping exploit concerning VR.
+ - bugfix: Fixes VR deaths being broadcasted in deadchat.
+ - bugfix: Fixed a few pill bottle issues with the ChemMaster.
+ - bugfix: Fixes a few negative quirks not being properly removed when deleted.
+ - tweak: Phobia and mute quirks are no longer cheesed by brain surgery grade healing
+ or medicines.
+ - bugfix: Fixed double-flavour (and bland custom) ice creams.
+ - bugfix: Fixed Pubbystation's wall Nanomeds being inconsistent with other stations'.
+ - bugfix: dextrous simplemobs can now swap action intent with 1, 2, 3, 4 now. Just
+ like humies, ayys and monkys.
+ - bugfix: Stops humanoids whose skin_tone variable is set to "albino" from showing
+ up as pale when examined should their species not use skintones anyway.
+ - rscdel: Removed the old (almost) unused roboticist encryption key and headset.
+ - bugfix: Fixed goose meat.
+ - bugfix: Fixed a little door assembly glass dupe exploit
+ - bugfix: Fixed AI holopad speech text being small and whispers that in multiple
+ exclamation marks echo through multiple areas.
+ - rscdel: Removed literally atrocious polka dotted accessories. They were even more
+ atrocious than the yellow horrible tie.
+ Ghommie (also porting PRs by AnturK and Arkatos):
+ - bugfix: Fixed light eaters not burning out borg lamplights and flashes. fix Fixed
+ light eater not affecting open turfs emitting lights such as light tiles and
+ fairy grass.
+ - bugfix: Fixed an empty reference about light eater armblade disintegration after
+ Heart of Darkness removal.
+ Ghommie, Skogol:
+ - refactor: refactored altclick interaction to allow alt-click interactable objects
+ to parent call without forcing the turf contents stat menu open.
+ - tweak: Alt clicking will no longer show turf contents for items inside bags etc.
+ - tweak: Alt clicking the source of your turf contents stat menu will now close
+ said menu.
+ GrayRachnid:
+ - bugfix: fixes consistency
+ Hatterhat:
+ - rscadd: Regenerative nanites, a "chemical" used in the combat stimulant injector.
+ Actually quite stimulating, and not bad in a pinch for a nuclear operative.
+ Check the Combat Medic Kit!
+ - tweak: The Combat Medic Kit now has an advanced health analyzer and medisprays
+ instead of patches and a chloral syringe.
+ - balance: The Advanced Syndicate Surgery Duffelbag or whatever it was doesn't get
+ the better injector, because nobody uses it and so nobody's bothered to update
+ it.
+ - rscadd: .357 speedloaders can now be printed with the Advanced Illegal Ballistics
+ node on the tech tree!
+ - balance: okay so i may have given the .357 an extra speedloader at the same cost
+ but it comes in a box now
+ ItzGabby:
+ - bugfix: Fixed AltClick on polychromic collars so they actually work now.
+ KeRSedChaplain:
+ - soundadd: Extends the file "deltakalaxon.ogg" to a 38 second .ogg.
+ Linzolle:
+ - rscadd: neck slice. harm intent someone's head while they are unconscious or in
+ a neck grab to make them bleed uncontrollably.
+ - bugfix: officer's sabre now properly makes the unsheating and resheating noise
+ - bugfix: fireman failure has a different message depending on the circumstance
+ - rscadd: Abductor chem dispenser, and added it to the abductor console.
+ - rscadd: '"Superlingual matrix" to the abductor console. It''s the abductor''s
+ tongue. Can be used to link it to your abductor communication channel and then
+ implanted into a test subject.'
+ - rscadd: Shrink ray and added it to the abductor console.
+ - soundadd: Shrink ray sound effect (its the fucking mega man death sound)
+ - rscadd: special jumpsuit for abductors
+ - imageadd: abductor jumpsuit, including digi version if a digitigrade person somehow
+ manages to get their hands on it. sprites for the shrink ray and chem dispenser.
+ - rscadd: new glands to play with, including the all-access gland, the quantum gland,
+ and the blood type randomiser.
+ - code_imp: split every gland into its own file instead of all being in one file
+ - tweak: cosmic coat crafting recipe changed to coat + cosmic bedsheet
+ Mickyan, nemvar, RaveRadbury, AnturK, SpaceManiac:
+ - bugfix: Certain incompatible quirks can no longer be taken together.
+ - bugfix: If an admin sends a ghost back to the lobby, they can now choose a different
+ set of quirks.
+ - spellcheck: the quirk menu went through some minor formatting changes.
+ - bugfix: Podcloning now lets you keep your quirks.
+ - rscadd: Quirks have flavor text in medical records.
+ - spellcheck: All quirk medical records refer to "Patient", removing a few instances
+ of "Subject".
+ - tweak: Quirks no longer apply to off-station roundstart antagonists.
+ - code_imp: Mood quirks are now only processed by the quirk holders
+ Narcissisko (ported by Hatterhat):
+ - rscadd: Luxury Bar Capsule, at 10,000 points. Comes with no medical supplies,
+ a bar, and a bunch of cigars. Ported from tgstation/tgstation#45547.
+ Nervere and subject217, Militaires, py01, nemvar:
+ - balance: The cook's CQC now only works when in the kitchen or the kitchen backroom.
+ - spellcheck: corrected CQC help instructions
+ - bugfix: CQC and Sleeping Carp are properly logged.
+ - tweak: CQC can passively grab targets when not on grab intent. Passive grabs do
+ not count towards combos for CQC or Sleeping carp.
+ - code_imp: Martial Art and NOGUN cleanup.
+ PersianXerxes:
+ - rscdel: Removed night vision quirk
+ Putnam:
+ - bugfix: acute hepatic pharmacokinesis now works if you already have relevant genitals
+ - balance: Contamination is no longer an infinitely spreading deadly contagion causing
+ mass panic
+ - tweak: Dynamic rulesets have lower weight if a round recently featured them (except
+ traitor).
+ Putnam3145:
+ - balance: Buffed HE pipes by making them realistically radiate away heat.
+ - bugfix: Dynamic has a (totally unused for any relevant purpose) roundstart report
+ now.
+ - admin: A whole bunch of dynamic data is now available for statbus
+ - bugfix: Dynamic from-ghost antags no longer double dip on threat refunds when
+ the mode fails due to not enough applications.
+ - bugfix: whoops broke quirks
+ - bugfix: quirks work
+ - rscadd: 'New tab in preferences screen: "ERP preferences"'
+ - rscadd: New opt-outs for individual effects of incubus draught, succubus milk
+ - rscdel: Acute hepatic pharmacokinesis has been removed, replaced with above
+ - tweak: Renamed "Toggle Lewdchem" to "Toggle Lewd MKUltra", since that's what it
+ actually means, and made it toggle the "hypno" setting (rename it again if more
+ hypno mechanics are added).
+ - tweak: Made MKUltra's lewd messages require both people involved to have hypno
+ opted-in.
+ - config: Buncha dynamic config tweaks
+ - bugfix: Ghost cafe spawns are actual ghost roles by the game's reckoning now
+ - bugfix: a runtime in radioactive contamination
+ - balance: Bomb armor now acts like other armor types.
+ - balance: Devastation-level explosions on armorless people no longer destroys everything
+ in their bags.
+ Seris02:
+ - rscadd: the clowns headset
+ - bugfix: distance checks
+ - bugfix: the sprites
+ - rscadd: added the runed and brass winter coats (cosmetic ratvarian/narsian)
+ - tweak: how the narsian/ratvarian coats can be made
+ - bugfix: fixes some ghost roles from dying of stupid shit
+ - bugfix: pandoras attacking their owners
+ - rscadd: Added Rising Bass and the shifting scroll.
+ - tweak: Changes the martial arts scroll in the uplink to "Sleeping Carp Scroll"
+ ShizCalev:
+ - bugfix: Fixed floodlights not turning off properly when they're underpowered.
+ - bugfix: Fixed emitters not changing icons properly when they're underpowered.
+ Sishen1542:
+ - rscadd: Clicking a pack of seeds with a pen allows you to set the plant's name,
+ description and the pack of seeds' description. Useful for differentiating genetically
+ modified plants. These changes will persist through different generations of
+ the plant.
+ - rscadd: Hydroponics trays update their name and description to reflect the plant
+ inside them. They revert to default when emptied.
+ Toriate:
+ - rscadd: Polychromic shorts now have a digitigrade state
+ Trilbyspaceclone:
+ - rscadd: ports all the new donuts, burgars, and chicken stuff from RG
+ - rscadd: ports new snowcone
+ - rscadd: ports grill
+ - rscadd: ports beakfeast tag/mood lit as TG has it
+ - rscadd: ports all the amazing new sprites
+ - tweak: ports crafting for many things like snowcones needing water
+ - balance: ports of many craftings
+ - soundadd: lowers fryers sound
+ - imageadd: ported icons for new food/grill
+ - imagedel: ports the deletion of some icons and images
+ - spellcheck: ports a spell check for the snowcones
+ - code_imp: ports fixes for stuff I didnt know were even broken with snowcones
+ - bugfix: coder cat failers to push the last commit from year(s) ago
+ - admin: Updates the changlogs
+ - tweak: meat hook from HUGE to bulky
+ - tweak: CE hardsuit is now more rad-proof
+ - bugfix: Wrong icon names, missing dog fashion with telegram hat
+ - rscadd: New softdrink that comes in its own vender!
+ - rscadd: Honey now has a reaction with plants
+ - tweak: Buzz fuzz now only has a 5% to give honey and will now give 1u of sugar
+ not 2
+ - rscadd: Blaster shotguns back into armory
+ - rscdel: Removed Lighters in thunderdomes
+ - rscadd: Silicons now know what a slime is saying!
+ - balance: honey now will not kill slimes. Honey slimepeople can be a thing now,
+ go sci.
+ - rscadd: Added insulin into many of the borg hypo's
+ Useroth:
+ - rscadd: bamboo which can be used to build punji sticks/ blowguns available as
+ a sugarcane mutation or in exotic seed crate
+ - tweak: changed the sugar cane growth stages because fuck if I know why, but it
+ was in the PR
+ - rscadd: 'New lavaland ruin: Pulsating tumor'
+ - rscadd: New class of lavaland mobs, a bit weaker than megafauna but still stronger
+ than most of what you normally see
+ - rscadd: Ghost cafe spawner. For letting people spawn as their own character in
+ the ninja holding facility. It bypasses the usual check, so people who have
+ suicided/ghosted/cryod may use it.
+ - rscadd: Dorms in the ninja holding facility.
+ Xantholne:
+ - rscadd: Santa Hats to Loadout and Clothesmate
+ - rscadd: Christmas Wintercoats to Loadout and Clothesmate
+ - rscadd: Christmas male and female uniforms to loadout and Clothesmate
+ - rscadd: Red, Green, and Traditional Santa boots to loadout and Clothesmate
+ - rscadd: Christmas Socks, Red candycane socks, Green candycane socks to sock selection
+ kappa-sama:
+ - balance: legion drops more crates now
+ - balance: .357 speedloaders in autolathes are now individual bullets instead, speedloaders
+ are now illegal tech, costs less total metal to make 7 bullets than a previous
+ speedloader. 7.62mm bullets in autolathe when hacked and costs more metal to
+ make 5 7.62mm bullets than getting a clip from the seclathe.
+ - tweak: mentions that you can refill speedloaders on .357 uplink description
+ - bugfix: you can now strip people while aggrograbbing or higher
+ - rscadd: plasmafist to wizard
+ - code_imp: modular is gone
+ - rscadd: martial apprentices for the local Chinese wizard
+ - bugfix: broodmother baby lag
+ - balance: you can no longer get 100k credits by spending 4k roundstart
+ - balance: cooking oil in sunflowers instead of corn oil
+ - bugfix: throats are no longer slit happy
+ keronshb:
+ - rscadd: Adds reflector blobs to shield blob upgrades
+ kevinz000:
+ - rscadd: Launchpads can now take number inputs for offsets rather than just buttons.
+ - balance: nanites no longer spread through air blocking objects
+ - rscadd: Night vision readded as a darkness dampening effect rather than darksight.
+ - rscdel: conveyors can only stack items on tiles to 150 now.
+ - rscadd: added 8 character save slots
+ - rscadd: Cargo shuttle now silently ignores slaughter demons/revenants instead
+ of being blocked even while they are jaunted. A drawback is that manifested
+ ones can't block it either, any more.
+ - balance: flashbangs process light/sound separately and uses viewers(), so xray
+ users beware.
+ - tweak: Stat() slowed down for anti-lag measures.
+ - bugfix: sprint/stamina huds now work again
+ - balance: Combat defibs now instant stun on disarm rather than 1 second again
+ - balance: Defibs are now always emagged when emagged with an emag rather than EMP.
+ - bugfix: aooc toggling now only broadcasts to antagonists
+ - code_imp: Antag rep proc is now easier to read and supports returning a list.
+ - balance: Clockwork marauders are now on a configured summon cooldown if being
+ summoned on station. They also rapidly bleed health while in or next to space.
+ And they glow brighter.
+ lolman360:
+ - rscadd: Added ability to pick up certain simplemobs.
+ nemvar:
+ - bugfix: The brains of roundstart borgs no longer decay.
+ - code_imp: Refactored the visibility of reagents for mobs.
+ nicbn, Kevinz000, ShizCalev:
+ - tweak: Fire alarm is now simpler. Touch it to activate, touch it to deactivate.
+ When activated, it will blink inconsistently if it is emagged.
+ - bugfix: You can no longer spam fire alarms. Also, they're logged again.
+ - bugfix: Fixed fire alarms not updating icons properly after being emagged and
+ hacked by Malf AI's.
+ r4d6:
+ - rscadd: Added a N2O pressure tank
+ - rscdel: Removed a AM Shielding from the crate
+ - rscadd: Added Handshakes
+ - rscadd: Added Nose booping
+ - rscadd: Added submaps for the SM, Tesla and Singulo
+ - rscadd: Added a placeholder on Boxstation for the Engines
+ - bugfix: fixed Nose boops not triggering
+ shellspeed1:
+ - rscadd: Adds Insect markings
+ - rscadd: Adds three new moth wings.
diff --git a/html/changelogs/archive/2020-01.yml b/html/changelogs/archive/2020-01.yml
new file mode 100644
index 0000000000..c145d9c62b
--- /dev/null
+++ b/html/changelogs/archive/2020-01.yml
@@ -0,0 +1,472 @@
+2020-01-27:
+ 4dplanner, CRITAWAKETS, XDTM, ninjanomnom:
+ - rscadd: sepia slime extract has a delay before activating
+ - balance: the user of a sepia slime extract is no longer immune to the time field
+ - balance: chilling sepia is now the support extract - it always freezes the user,
+ but not other marked people. give one to your golem!
+ - rscadd: burning sepia spawns the rewind camera. Take a selfie with someone and
+ give it to them to make sure they remember the moment forever! You don't actually
+ need to give them the photo, they'll remember anyway. Keep it as a reminder.
+ - rscadd: rewinding (deja vu) effect resets your location to the turf you were on
+ after 10 seconds as well as resetting limbs/mobs/objects damage to the point
+ it was added.
+ - rscadd: The deja vu effect cannot resurrect the dead, but will heal their corpse.
+ New limbs fall off, old ones re-attach
+ - rscadd: 'Regenerative sepia cores add a deja vu effect before healing instead
+ of a timestop remove: timefreeze camera is admin spawn only.'
+ - rscadd: recurring sepia recalls to the hand of the last person to touch it after
+ activating. Reusable timestop grenades!
+ - tweak: some special cameras don't prompt for customisation
+ - bugfix: timefreeze camera actually makes a photo
+ - bugfix: timestop stops pathing and mechs.
+ - bugfix: adds a check to make sure simple_animals don't get their AI toggled while
+ sentient
+ - bugfix: Adds the timestop overlay to frozen projectiles
+ - bugfix: Timestopped things have INFINITY move_resist as opposed to being anchored
+ - bugfix: Timestop will now unfreeze things that somehow leave it
+ - bugfix: mobs in the middle of a walk_to will have their walk stopped by timestop
+ - bugfix: mobs that are stunned will be stopped mid walk as well
+ - bugfix: pulling respects changes in move_force
+ - bugfix: swapping places respects move_force if the participant is not willing
+ - bugfix: timestop is properly defeated by antimagic.
+ - bugfix: timestop only checks antimagic once
+ - tweak: Time stop now applies its visual effect on floors, walls and static structures
+ (with no change otherwise)
+ - tweak: Movable structures are now anchored while time stopped.
+ - tweak: Timestop effects now prevent speech.
+ AffectedArc07:
+ - code_imp: All code files are now in the LF line format, please stick to it
+ - tweak: Added CI step to check for CRLF files
+ - code_imp: Line ending CI works now
+ Arkatos, Zxaber, Ghommie:
+ - rscadd: Certain AI abilities now dynamically show their remaining uses on the
+ mouse hover over their respective action buttons.
+ - bugfix: Malfunctioning AIs can no longer abuse the confirmation popup to create
+ extra (unstoppable) doomsdays.
+ - bugfix: Fixed AIs being able to use some of their abilities such as the doomsday
+ whilst dead, and the doomsday loading phase not halting upon AI death.
+ Arturlang:
+ - tweak: Vampires are no longer as tanky
+ - rscadd: Added modular computers to the loadout
+ Bhijn:
+ - rscadd: Limbs now regenerate their stamina faster while disabled
+ - rscadd: Limbs now have the same incoming stamina damage multiplier mechanics as
+ spacemen, where the more staminaloss they take while disabled, the less staminaloss
+ they'll take.
+ - balance: Limbs have had their base stamina regen rate doubled to match the doubled
+ stamina regen rate of standard spacemen.
+ - rscadd: Added a preference to make the sprint hotkey be a toggle instead of a
+ hold bind
+ - rscadd: Added a preference to bind the sprint hotkey to space instead of shift.
+ - bugfix: server_hop can no longer be used to remotely lobotomize a spaceman
+ Bhijn helped:
+ - bugfix: Fixes Dragon's Tooth Sword 50% armor penetration by making it 35%
+ BonniePandora:
+ - admin: 'Added another SDQL option. Using "UPDATE selectors SET #null=value" will
+ now resolve value and discard the return. This is useful if you only care about
+ the side effect of a proc.'
+ CameronWoof:
+ - rscadd: Ghost Cafe patrons now spawn with chameleon kits. Dress up! Be fancy!
+ - rscadd: Robots can now check the crew manifest from anywhere with the "View Crew
+ Manifest" verb.
+ - tweak: Lizard tails are now viable options for humans and anthromorphs.
+ Commandersand:
+ - bugfix: fixed some clothnig sprites
+ - balance: lightning bolt,tesla,forcewall,emp spells have lower cooldown
+ - balance: fireball has a 10 second starting cooldown
+ DeltaFire15:
+ - bugfix: Vitality matrixes now correctly succ slimes
+ Denton, ported by Hatterhat:
+ - tweak: Most upgradeable machines now show their upgrade status when examined while
+ standing right next to them.
+ - tweak: Added examine messages to teleporter stations that hint at their multitool/wirecutter
+ interactions.
+ - tweak: Renamed teleporter stations from station to teleporter station.
+ - code_imp: Changed the teleporter hub accurate var to accuracy; the old name misled
+ people into thinking that it was a boolean.
+ Detective-Google:
+ - tweak: replaced the sprites with new ones requested.
+ EmeraldSundisk:
+ - rscadd: Adds a sign outside MetaStation's custodial closet
+ FantasticFwoosh, ported by Hatterhat:
+ - rscadd: Both reagent universal enzyme & sacks of flour are now available for their
+ respective costs from the biogenerator.
+ - rscadd: New crafting recipies for donut boxes, eggboxes & candle boxes have been
+ added to cardboard recipes for the collective benefit of service personnel and
+ the station.
+ Ghommie:
+ - tweak: Attached kevlar/soft/plastic padding accessories are now stealthier and
+ will no longer be displayed on mob examine.
+ - refactor: Refactored that mess of a code for alternate worn clothing sprites for
+ digitigrade and taurs.
+ - bugfix: Fixed some issues with the aforementioned feature you may or may not have
+ experienced because it was pretty lame.
+ - bugfix: Fixed missing digi versions fishnet sprites and wrong digitigrade left
+ dir purple stockings sprite.
+ - imageadd: Add digitigrade versions for boxers and the long johns.
+ - bugfix: Fixed the secret sauce recipe being randomized every round.
+ - bugfix: Fixed singularity pulls duping rods out of engine floors.
+ - rscdel: Removed an old pair of zipties from the captain closet.
+ - bugfix: Chestbursters won't delete the host's brain somewhat anymore.
+ - bugfix: Fixed roundstart mushpeople being unable to MUSH PUUUUUUUUUUUUNCH!!
+ - bugfix: Lattices can be examined yet again.
+ - bugfix: Made reagent containers examine text less annoying.
+ - bugfix: Virus food dispensers dispense virus food again.
+ - bugfix: Borg hypos inputs do not display typepaths anymore.
+ - bugfix: Restored chem dispensers alphabetical order.
+ - bugfix: Sanitized cargo export messages for reagents.
+ - bugfix: Riot foam dart (not the ammo box) design cost is yet again consistent
+ with the result's material amount.
+ - bugfix: Fixed a little exploit with ventcrawlers being capable of escaping closed
+ turfs by printing scrubbers/vents into them.
+ - bugfix: deconstructing a rubber toolbox with the destructive analyzer won't "lock"
+ the machine anymore.
+ - bugfix: Something about empty hand combat mode right click waving hands defying
+ common sense and being spammy.
+ - imageadd: Towels are now "digitigrade-friendly".
+ - bugfix: The Barefoot drink and mousetraps will now work even if wearing certain
+ "feet-less shoes".
+ - rscadd: Refactored code to allow all living mobs to use shields and not only humans.
+ - tweak: Monkys will now retaliate against aliens attacking them (as if they even
+ posed a threat to start with).
+ - tweak: add a click cooldown to the overly spammable table slamming.
+ Ghommie (original PRs by Kevinz000, ShivCalez, 4dplanner, Barhandar, 81Denton, zxaber, Fox-McCloud):
+ - rscadd: All atom movables now have move force and move resist, and pull force
+ An atom can only pull another atom if its pull force is stronger than that atom's
+ move resist
+ - rscadd: 'Mobs with a higher move force than an atom''s move resist will automatically
+ try to force the atom out of its way. This might not always work, depending
+ on how snowflakey code is. experimental: As of right now, everything has a move
+ force and resist of 100, and a pull force of 101. Things take (resist - force)
+ damage when bumped into experimental: Failing to move onto a tile will now still
+ bump up your last move timer. However, successfully pushing something out of
+ your way will result in you automatically moving into where it was.'
+ - bugfix: Bolted AIs can no longer be teleported by launchpads.
+ - balance: Megafauna cannot teleport
+ Hatterhat:
+ - balance: Beakers are generally more useful now, with slight capacity increases.
+ - tweak: Transfer amounts are different now. Adjust your muscle memory to compensate.
+ - balance: ore redemption machines actually get affected by lasers again kthx
+ - tweak: crusher trophy drop chance on mining mobs increased to 1 in 4 (from 1 in
+ 20)
+ - bugfix: Blood-drunk buff from blood-drunk eye crusher trophy is less likely to
+ cripple its user.
+ - tweak: Forcefield projectors now fit on toolbelts.
+ - imageadd: New sprites for ATMOS holofan and forcefield projectors!
+ - tweak: tweaks some values around with beaker transfer amounts, adds a transfer
+ value verb (altclick)
+ - rscadd: 'Syndicate sleepers (read: the ones that''re red and have controls in
+ them) can now be recreated with a sufficient basis in nonstandard (read: illegal)
+ technologies!'
+ - bugfix: Explorer hoods on standard explorer suits can be reinforced with goliath
+ hide plates again.
+ - rscadd: A shipment of Staff Assistant jumpsuits from the Goon-operated stations
+ appear to have made their way into your loadout selections - and into the contraband
+ list from ClothesMates...
+ - balance: Dropped Exo-suit armor to put it more in line with being an explorer
+ suit sidegrade and not a straight upgrade for Lavaland usage.
+ - rscadd: You can now print .357 AP speedloaders from Security techfabs after you
+ pick up the Advanced Non-Standard Ballistics node.
+ - rscdel: Forensic scanner removed from Advanced Biotechnology node.
+ - tweak: Ash Drake armor now has goliath resistance, same as the Exo-suit.
+ KathrinBailey:
+ - rscadd: Empty engineering lockers for mappers.
+ - rscadd: Industrial welding tools to the engineer welding locker.
+ - rscdel: Removed the multitool, airlock painter, mechanical toolbox, brown sneakers,
+ hazard vest and airlock painter from the CE's locker.
+ KeRSedChaplain:
+ - imageadd: The clockwork cuirass can now support slithering taur bodies.
+ Kevinz000:
+ - bugfix: Fixes successful projectile hits also striking another atom on the same
+ turf should the first one be not the target the projectile was meant for.
+ - rscdel: Removes infinite reflector loops.
+ Kraseo:
+ - bugfix: Jelly donuts and pink jelly donuts will now properly display sprinkled
+ icon state.
+ - bugfix: Jelly donuts and its variants will properly spawn with berry juice.
+ - bugfix: Slime jelly donuts have slime jelly in them now. (thanks ghommie)
+ - bugfix: Virgo hairstyles no longer have those annoying quotation marks. Rejoice
+ for you will no longer have to use the scrollbar.
+ - imagedel: Got rid of some strange-looking hairstyles. (Tbob, fingerweave, etc.)
+ LetterN:
+ - rscadd: Doppler logs
+ - tweak: Shockcolar and electropack uses the new signaler ui
+ - tweak: Renaming shockcolar requires a pen
+ - rscadd: Adds banjo
+ Linzolle:
+ - bugfix: fixes matchboxes runtiming every time they spawn
+ MrJWhit:
+ - tweak: Increases plasma usage in radiation collectors
+ Naksu:
+ - code_imp: reagent IDs have been removed in favor using reagent typepaths where
+ applicable
+ - bugfix: mechas, borg hyposprays etc no longer display internal reagent ids to
+ the player
+ Owai-Seek:
+ - rscadd: Four New Bounties
+ - tweak: tweaked several bounties
+ - tweak: reorganised several bounties
+ - balance: balanced several bounties
+ - bugfix: added shady jims to vendor
+ - rscadd: Towel, Bedsheet, and Colored bedsheet bins to Dojo. Some lockers with
+ carpets and wood, another bathroom/shower, tons of cleaning supplies, some additional
+ trash cans, a tiny medical area, and some vendors/vendor resupplies. Also added
+ some Ambrosia Gaia seeds.
+ - tweak: Moved some lights around, extended the dojo a bit to make it feel more
+ spacious.
+ - rscdel: Cafe Newsfeed Frame
+ PersianXerxes:
+ - tweak: Reduces the range of the forcefield projector from 7 tiles to 2 tiles.
+ Putnam:
+ - rscadd: Alcohol intolerance trait, which forces vomiting on any alcohol ingestion
+ - rscdel: Arousal damage is gone, and with it the arousal damage heart on the UI.
+ - rscdel: As exhibitionist relied on arousal damage, that's gone too.
+ - rscdel: Bonermeter and electronic stimulation circuit modules are gone.
+ - rscdel: Masturbation is no longer an option in the climax menu. It was identical
+ to climax alone in every way but text. Emote it out.
+ - rscadd: Arousal on genitals can now be displayed manually, on a case-by-case basis.
+ - rscadd: '"Climax alone" and "climax with partner" now only display to the people
+ directly involved in the interaction. rework: Catnip tea, catnip, crocin, hexacrocin,
+ camphor, hexacamphor all had functions or bits of functions reworked.'
+ - tweak: '"Climax with partner" now requires consent from both parties--it can no
+ longer be used on mindless mobs, and it asks the mob getting climaxed with if
+ they consent first.'
+ - tweak: A lot of MKUltra behaviors have been moved to hypno checks or removed due
+ to reliance on maso/nympho/exhib.
+ - rscadd: Cold-blooded quirk
+ - rscadd: 'Two relief valves for atmospherics, available in your RPD today: a unary
+ one that opens to air and a binary one that connects two pipenets, like a manual
+ valve.'
+ - tweak: The atmos waste outlet injector on box has been replaced with an atmos
+ waste relief valve.
+ Putnam3145:
+ - rscadd: Dynamic storytellers, a new voting paradigm for dynamic
+ - rscadd: Support for approval voting and condorcet (ranked choice) voting in server
+ votes
+ - rscadd: Ghost cafe mobs can now ghostize
+ - rscadd: Ghost cafe now has a cremator
+ - rscadd: Ghost cafe mobs are now eligible for ghost roles
+ - refactor: Ghost roles now use an element for eligibility purposes
+ - bugfix: You can toggle some prefs properly now.
+ - bugfix: no ass slap is no longer the same thing as no aphro
+ - balance: Devastating bombs kills bomb armor'd mobs again
+ - rscadd: Added a sort of "game mode ban" by way of having people rank their game
+ modes favorite to least favorite after the secret/extended vote.
+ - bugfix: Turns out the schulze scoring was written wrong and it was setting things
+ to 0 that shouldn't have been, so that's fixed.
+ - config: Random engines are now weighted.
+ - rscadd: Ghost dojo now has an autoylathe.
+ - rscdel: Ghost dojo no longer has VR or modular computer access.
+ - tweak: Ghost dojo mobs are pacifists.
+ - tweak: Ghost dojo booze-o-mat is now all access.
+ - bugfix: Ghost dojo crematorium now has a button.
+ - bugfix: Traitor objectives don't take a dump when they try to add an assassinate
+ anymore
+ - admin: Objective removal with antag panel no longer commented out silently while
+ still being an option that gives useful feedback on stuff it's not doing in
+ any respect
+ - rscadd: Second, temporary flavor text!
+ - bugfix: Limb damage works now
+ - tweak: Score instead of ranked choice for mode tiers
+ - bugfix: Chemistry not :b:roke
+ - tweak: Ghost dojo spawns will dust if their owner suicides or uses the "ghost"
+ verb.
+ - admin: Crafting is logged in a file now
+ - bugfix: temporary flavor text now pops up properly
+ - code_imp: demodularized player panel code, mostly
+ - admin: added ghost role eligibility delay removal to player panel
+ - balance: Metabolic synthesis disables if user isn't well-fed rather than if user
+ is starving
+ - bugfix: Gibtonite no longer instantly explodes upon being pickaxe'd.
+ - balance: Cold-blooded costs -2 quirk points now
+ - config: Added suicide to the config.
+ - tweak: Ghost cafe mobs are super duper attached to the ghost cafe.
+ - bugfix: Meow Mix bar sign works
+ - bugfix: Fixed a few relief valve behaviors
+ Ryll/Shaps, ported by Hatterhat:
+ - rscadd: Point-blanking people with shotguns actually throws them backwards!
+ Savotta:
+ - rscadd: snout
+ - imageadd: snout
+ Seris02:
+ - tweak: made it so trait blacklisting removes random positives instead of removing
+ everything
+ - rscadd: added atmos holofirelocks and temperature blocking
+ - tweak: tweaked how atmos holofan looks
+ - rscadd: stunglasses
+ - rscadd: disabler sechuds
+ - rscadd: adds coconut
+ - rscadd: adds a coconut bong
+ - rscadd: Auto ooc
+ - admin: changed "assume direct control" from m.ckey = src.ckey to adminmob.transfer_ckey(M)
+ so it works with auto ooc
+ - rscadd: marshmallow
+ - rscadd: telescopic IV drip
+ - bugfix: cardboard box speed
+ - tweak: makes gorilla shuttle emag only
+ - tweak: changed where the observe verb is.
+ - tweak: the way chameleon clothes update on change
+ - bugfix: chameleon cloak icon
+ - balance: Explosions now cause knockdown instead of KOs, with the amount of time
+ scaling off bomb armor. Heavy explosions still cause a ~2 second KO for follow
+ up attacks.
+ - balance: Devastating explosions now no longer gib players with more than 50 bomb
+ armor. This used to be more or less random depending on the amount of bomb armor.
+ - code_imp: Removed reagent explosion code that would trigger for <1 amount reactions.
+ - rscadd: traitor tool for bowmanizing headsets + bowmanizing headsets
+ - rscadd: durathread winter coats from hyper station
+ - tweak: conveyor belt now are stacks instead of single item
+ - tweak: conveyor crate has 30 belts
+ - tweak: printing a conveyor costs 3000 metal
+ - rscadd: you can press the conveyor switch in hand to link any not deployed belts
+ to it
+ - tweak: sniffing sneezing etc doing anything if they don't breathe
+ - bugfix: probably fixes the make mentor button
+ - tweak: the sprites for the conveyor belts to look more directional
+ Skoglol:
+ - bugfix: Falsewalls now properly hide pipes and wires.
+ SpaceManiac, bobbahbrown, ShizCalev, SpaceManiac (ported by Ghommie):
+ - code_imp: It is now possible to set a different most-base-turf per z-level.
+ - spellcheck: Removed unlawful reference to Disney's Star Wars franchise in map
+ logging.
+ - tweak: Moved mapping related errors to their own log file.
+ - bugfix: Destruction on Lavaland will no longer reveal space in rare situations.
+ Tlaltecuhtli, Nemvar, Trilby, Hatterhat:
+ - rscadd: russian surplus crate, sec ammo crate, meat/veggie/fruit crate, rped crate,
+ bomb suit crate, bio suit crate, parrot crate, chem crate, db crate
+ - tweak: lowered price of some crates which are overpriced for no reason aka the
+ tablet crate and the mech circuits crates, track implant crate has also track
+ .38 ammo
+ - bugfix: sectech vendor has a refill pack
+ Trilbyspaceclone:
+ - bugfix: Fermi plushie can be made once again
+ - tweak: range on Engi Tray scanners and Rad-Scanners
+ - bugfix: issues with mapping done my Trilby
+ - rscadd: Grass now makes light beer when distilled
+ - tweak: allows bandoliers to hold any ammo type as long as it has a casing
+ - server: Cleans out the last years of changlogs
+ - bugfix: 'rouge cases of #$39; in bottle/pill/patch/condiments'
+ - tweak: Adds missing but needed flags to MASON RIG
+ - bugfix: missing sprites with crushed cans
+ - tweak: Halfs the nutriments in sugar
+ - rscadd: Glitter is now makeable with ground plastic and some crayons
+ - code_imp: Makes more folders and files for uplink.
+ - rscadd: Seed packs now have RnD points inside them
+ - rscadd: New tips that reflect the now use seed packs have for Rnd / Chems affect
+ on plants
+ - code_imp: Made the research file look nice rather then an eye harming list
+ - bugfix: Fixed fragile space suits breaking from weak and non-damaging "weapons"
+ (such as the Sord, toys and foam darts).
+ - rscadd: 'tip of the round: Cleanbot can withstand lava and burning hot ash. Its
+ a god'
+ - rscadd: more glassware
+ - rscadd: Few new packs and glassmaker kit!
+ - tweak: prices/chems of crates/autobottler
+ - bugfix: some crates ungettable as well as some broken crates
+ Trilbyspaceclone, Ghommie:
+ - rscadd: More types of glass can now be used to make a solar panel, with different
+ sturdiness and efficiency depending the type.
+ Tupinambis:
+ - tweak: Replaces new fire alarms with a slightly updated version of the old ones.
+ - bugfix: Fixed bug where Amber alert had no proper alert lights, and red alert
+ had amber lights.
+ - balance: RLDs now cost more to use, have reduced matter capacity, and sheets are
+ worth less when refilling them.
+ Unit2E & JMoldy, ported by Hatterhat:
+ - balance: the powerfist now punches people away at high velocity depending on setting.
+ - rscadd: the powerfist now leaks the gas it uses onto the tile you're on.
+ - tweak: Adds weak punch variations for empty and near-empty punching.
+ Xantholne:
+ - bugfix: Christmas clothes that where missing stuff should work again
+ - tweak: Christmas clothes moved from clothesmate and loadout to premium autodrobe,
+ hoodies and boots remain.
+ - rscadd: Botany bee pet, Bumbles
+ - rscadd: New bee models that aren't 1 tile big of 0 opacity pixels
+ - rscadd: Cheongsam and Qipao clothing added to loadout and clothesmates
+ dapnee:
+ - imageadd: new toxin's uniform and accessories
+ - imagedel: old toxin's uniform and accessories
+ deathride58:
+ - balance: The stamina buffer no longer uses stamina while recharging.
+ jakeramsay007:
+ - rscadd: The assorted .357 revolvers (except russian revolver) can now also load
+ .38, like real life.
+ kappa-sama:
+ - rscadd: loot crates in cargo contraband
+ - code_imp: modular_citadel file movement
+ - code_imp: modular citadel loses some files
+ - balance: dragnet snares can now be removed in 5 seconds
+ keronshb:
+ - rscadd: Adds new features for nanites
+ - bugfix: fixed the missing icons from Dermal Button nanites
+ - rscadd: Ports the special nanite remote, mood programs, and research generating
+ nanites
+ - balance: rebalances some nanites
+ - bugfix: fixed my messup
+ kevinz000:
+ - rscadd: throwing things no longer makes them randomly turned as long as you aren't
+ on harm intent
+ - rscadd: Custom holoforms have been added for pAIs and AIs. oh and cyborg holograms
+ of specific modules too.
+ - balance: pais are no longer indestructible-flagged while in card form. pai radios
+ now short out if they are forcefully collapsed from damage.
+ - bugfix: telescopic iv drips now have the proper sanity checks for deployment.
+ - bugfix: megafauna can hear again
+ - balance: Cargo passive gen is now 500 down from 750.
+ - config: Added a few more nightshift config entries
+ - rscadd: nightshift_public_area variable in areas to determine how public an area
+ is.
+ - rscadd: NIGHT_SHIFT_PUBLIC_AREAS_ONLY config entry allows the server to be configured
+ to only nightshift areas of that level and below (so areas that are more public)
+ - rscadd: Config entries added for requiring authorizations to toggle nightshift.
+ Defaults to only requiring on public areas as determined by above
+ - balance: nuclear fist buffed.
+ - balance: cogscarabs are now fulltile-hitbox.
+ - balance: emitters are now hitscan
+ - balance: monkies gorrilize easier now
+ - rscadd: Ghosting no longer stops abductors from using you.
+ - rscadd: guests can now looc
+ - tweak: tableslamming has 0.4 second cooldown instead of 0.8
+ - bugfix: health analyzers now work
+ - code_imp: Mapping helpers added for power cables and atmos pipes.
+ - rscdel: Blood duplication is gone, but viruses now react up to 5 times, 1 time
+ per unit, for virus mix.
+ - rscadd: you can now block people on your PDA
+ - bugfix: Grenades can now have their timers adjusted.
+ - balance: Cloning has been nerfed.
+ - bugfix: hilbert hotel is now less of an exploity mess
+ - balance: Doorcrushes are once again instant.
+ nik707:
+ - tweak: engraving light_power from 1 to 0.3
+ r4d6:
+ - rscadd: Added a Radiation Hardsuit
+ - rscadd: Added a Radiation Hardsuit crate
+ - rscadd: Added 3 SM Engine variations.
+ - rscadd: 'Added a way to make opaque plastic flaps change: Change the already existing
+ flap recipe to show that they are see-through'
+ - rscadd: Animations for the RCD
+ - bugfix: Said animations being pulled by the Singulo
+ - balance: Prevent Reinforced Doors from being RCD'ed
+ - bugfix: Deconstructing Floors now cost MUs like everything else
+ - tweak: changed the RCD's upgrades into flags
+ - rscadd: Allow RCDs to print APC, Firelocks and Fire Alarms with the right upgrade
+ - balance: Allow Engineers to print RCDs and RPDs from their protolathe without
+ needing to hack one.
+ - rscadd: Added a playback device
+ - bugfix: Made the Voice Analyzer actually care about languages
+ - bugfix: fixed SM's piping
+ - rscadd: Added a message when pulsing the open wire.
+ - bugfix: fixed being able to use a playback device and a voice analyzer to activate
+ each others
+ - rscadd: added passive vent to the arsenal of atmospheric devices.
+ - rscadd: Mining base now has a common area accessible via a new shuttle on the
+ medium-highpop maps, and a security office connecting the gulag and the mining
+ base. Gulag also has functional atmos.
+ - rscadd: Added more Cyborg Landmarks
+ - refactor: better code for passive vents
+ - bugfix: fixed a hole in Meta
+ - rscadd: Added the ability to easily add variations of the mining base
+ - bugfix: fixed a sprite
+ timothyteakettle:
+ - bugfix: fixed not being able to remove trait genes without a disk being inserted
+ into the dna manipulator
diff --git a/html/changelogs/archive/2020-02.yml b/html/changelogs/archive/2020-02.yml
new file mode 100644
index 0000000000..11389c24ae
--- /dev/null
+++ b/html/changelogs/archive/2020-02.yml
@@ -0,0 +1,587 @@
+2020-02-26:
+ AnturK ported by kevinz000:
+ - rscadd: Dueling pistols have been added.
+ Arturlang:
+ - rscadd: Replaces a lot of ingame UIs with TGUI next, increasing performance drastically.
+ - rscadd: Each night for bloodsuckers will last longer due to the sun dimming.
+ - tweak: You cant level up for free, now you have to pay blood for power.
+ - balance: Bloodsuckers are no longer as resistant to hard stuns and regenerate
+ less stamina. and a lot of their cooldowns are a lot higher.
+ - rscdel: Removed text macros from the chem dispenser.
+ - rscadd: Replaced with dispenser input recording macros.
+ - bugfix: Fancifying makeshift switchblades now works
+ - balance: Shields will no longer block lasers, and will break if they take too
+ much damage.
+ - rscadd: Added a TGUI Next interface for crafting
+ - rscdel: Removed the old TGUI slow crafting interface
+ - tweak: The MK2 hypospray now
+ - admin: The debug outfit is now kitted out for whatever debbuging needs.
+ - bugfix: Fixed the pandemic naming and the radiation healing symptom UI crashing
+ - tweak: Hyposprays now switch modes on CTRL click, instead of alt, as it was already
+ reserved for dispension amount.
+ - rscadd: Nanite interfaces have gotten a rework to TGUI Next, and can now support
+ sub-programs. add:Adds the nanite sting program, which will allow you to manually
+ sting people to give them nanites, changeling style.
+ - balance: The pandemic can no longer make vaccines or synthblood as quickly.
+ - rscadd: The syndicate uplinks interface has been redone in TGUI Next
+ - tweak: Valentines can now be converted by bloodsuckers
+ Bhijn:
+ - tweak: Click-dragging will now only perform the quick item usage behavior if you're
+ in combat mode.
+ BlueWildrose:
+ - bugfix: podpeople tail wagging
+ - tweak: lifebringer ghost role fixes
+ BuffEngineering, nemvar.:
+ - bugfix: Addicts can now feel like they're getting their fix or kicking it.
+ - bugfix: Aheals now remove addictions and restore your mood to default.
+ CameronWoof:
+ - tweak: Lighting looks better now. I can say that because the PR wouldn't be merged
+ and you wouldn't be reading this if it wasn't true.
+ - rscadd: Ammonia and saltpetre can now be made at the biogenerator.
+ Commandersand:
+ - tweak: uplink centcomm suit doesn't have sensors
+ DeltaFire15:
+ - balance: Nar'Sie runes no longer benefit from runed floors.
+ Detective-Google:
+ - rscadd: 'the POOL. remove: boxstation dorms 7'
+ - bugfix: valentines candy no longer prefbreaks
+ - rscadd: Loudness Booster pAI program
+ - rscadd: Encryption Key pAI program
+ EmeraldSundisk:
+ - bugfix: Connects mining's disposal unit on Delta.
+ - tweak: Slight visual adjustments to the immediate affected area.
+ Feasel:
+ - balance: Buffed dissection success chances.
+ Ghommie:
+ - tweak: The anomalous honking crystal should now properly clown your mind.
+ - bugfix: Stopped the ellipsis question mark from being displayed twice in the examine
+ message for masked/unknown human mobs.
+ - tweak: Made the aforementioned ellipsis question mark display on flavor-text-less
+ masked/unknown human mobs too for consistency.
+ - bugfix: Stopped an APTFT exploit with spray bottles.
+ - bugfix: Fixed the detective revolver being quite risky to use.
+ - bugfix: Hair styles and undergarments are yet again free from gender restrictions.
+ - tweak: Clown ops will find bombananas and clown bomb beacons instead of minibombs
+ and bomb beacons in their infiltrator ship now.
+ - tweak: For safety, the syndicate shuttle minibombs and bombananas come shipped
+ in a box. Please don't instinctively eat any of those nanas, thank you.
+ - tweak: Uplink items excluded (such as mulligan, chameleon, ebow) from or exclusive
+ (such as cyber implants) to normal nuke ops will now be properly unavailable/available
+ to clown ops.
+ - bugfix: Fixed bananium energy sword/shield slips.
+ - balance: Buffed said slips to ignore no-grav/crawling/flying as well as adding
+ some deadly force to the e-sword.
+ - bugfix: Fixed the 'stache grenade anti-non-clumsy user check.
+ - balance: Doubled the timer for the sticky mustaches effect from the above grenade
+ (from 1 to 2 minutes)
+ - bugfix: Fixed an edge case with the chaplain armaments beacon spawning the box
+ in nullspace.
+ - tweak: The playback device's cooldown now proportionally increases with messages
+ longer than 60 characters (3 seconds is the default assembly cooldown).
+ - bugfix: Fixed space ninjas "Nothing" objective. Now you gotta steal some dandy
+ stuff such as corgi meat and pinpointers as a ninja too.
+ - bugfix: Fixed maploaded APC terminals direction.
+ - balance: Nerfed magnetic rifles/pistols by re(?)adding power cell requirements
+ for it. These firearms must be recharged after firing 2 magazines worth of projectiles
+ and are slightly more susceptible to EMPs.
+ - bugfix: Fixed the tearstache nade not properly working.
+ - balance: Buffed it against space helmet internals.
+ - tweak: Holographic fans won't display above mobs and other objects anymore.
+ - bugfix: Fixed paraplegics appearing as shoeless.
+ - bugfix: Fixed the petting element.
+ - bugfix: Fixed slipping.
+ - refactor: Refactored mob holders into an element.
+ - bugfix: Fixed a few minor issues with that feature. such as mismatching sprites
+ for certain held mobs and a slight lack of safety checks.
+ - rscdel: holdable mobs can't force themselves into people's hands anymore.
+ - bugfix: Milkies fix.
+ - bugfix: Fixed some mounted defibrillator issue with the altclicking functionality.
+ - bugfix: Fixed no-grav lavaland labor/mining shuttle areas.
+ - bugfix: Fixed a little issue with sleeper UI and blood types.
+ - bugfix: Fixing accidental nerfs to the magpistol magazine.
+ - bugfix: The Lavaland's Herald speech sound should only play if they are actually
+ speaking.
+ - bugfix: Nerfed cargo passive points generation from 500 to 125 creds per minute.
+ - bugfix: Fixed whitelisted/donor loadouts
+ - bugfix: Childproofs double-esword and hypereuplastic blade toys.
+ - balance: Some reagent holders (such as cigarettes, food) are not suitable for
+ reagents export anymore, while unprocessed botany crops will only net 1/3 of
+ the standard reagents values.
+ - bugfix: Export scanners now include the reagents value in the price report.
+ - bugfix: Fixed a little inconvenience with the character setup preview dummy having
+ extra unwarranted bits.
+ - bugfix: Stopped role restricted uplink items from being discounted despite not
+ being purchasable most times.
+ - bugfix: Missing words replacement file for the gondola mask.
+ - bugfix: Fixed an issue with the nearsighted prescription glasses taking over worn
+ eyewear.
+ - bugfix: Fixed AI unanchoring not properly removing the no teleport trait. My bad.
+ - bugfix: Fixed another issue with hering comsig.
+ - imageadd: Fixed dozen missing privates sprites.
+ - bugfix: A little fix concerning some R&D and reagents.
+ - bugfix: Further mob holder fixes.
+ - bugfix: Fixed being unable to dump a trash bag's contents directly into disposal
+ bins.
+ - bugfix: Doubled the halved flavor text maximum length.
+ - bugfix: Reduced tongue organ damage and tasting pH message spam.
+ - bugfix: Fixed agent IDs not registering the inputted name. Thanks MrPerson.
+ - bugfix: Fixed solar panels/trackers (de)construction being a bit wonky.
+ - bugfix: Fixed something about slime blood and the law of conservation of mass.
+ - bugfix: Fixed flypeople being emetic machine guns.
+ - bugfix: Fixed virology being unable to be done with synthetic blood.
+ - rscdel: Renamed "blaster carbine" and "blaster rifles" back to "energy gun" and
+ "laser gun" respectively
+ - bugfix: Fixed magnetic rifles & co being inconsistent with printed energy guns
+ and start with an empty power cell.
+ - imagedel: Reverted practice laser gun sprites back to their former glory. Mostly.
+ - bugfix: Fixed sprint buffer cost and regen being rounded down.
+ - balance: Nerfed the fermenting barrel export industry.
+ - tweak: Reagent dispensers selling price no longer takes in account the reagents
+ volume. It's already handled by reagents export.
+ - bugfix: pAIs are yet again unable to perform certain silicon interactions with
+ machineries yet again.
+ - bugfix: Fixed pAI radios inability to be toggled on/off.
+ ? Ghommie (original PRs by Floyd/Qustinnus, 4Dplanner, Willox, ninjanomnom, mrdoombringer,
+ Fikou, Fox McCloud, TheChosenEvilOne, nemvar, bobbahbrown, Time-Green, Stonebaykyle,
+ MrPerson, ArcaneMusic and zxaber)
+ : - rscadd: You can now make toolboxes out of almost any solid material in an autolathe
+ - rscadd: adds Knight's Armour made out of any materials
+ - rscadd: new ruin found in lavaland protected by dark wizards, I wonder what
+ they're guarding
+ - rscadd: You can now put a bunch more mats in the coin mint and autolathe
+ - rscadd: Adamantine and Mythril are now materials (Adamantine still only from
+ xenobio, Mythril still only from badminnery). Adamantine boosts an item's
+ force by 1.5, Mythril gives an item RPG statistics.
+ - rscdel: most custom sprites for coins have been lost
+ - rscadd: You can now give your ass acute radiation poisoning
+ - rscadd: floydmats now apply to all objs / items
+ - rscadd: you can now make tables and chairs out of any material
+ - bugfix: Fixes being able to exploit fully upgraded destructive analyzers to
+ multiply materials
+ - rscadd: An old monastery from a previously abandoned sector of space has recently
+ resurfaced in some regions surrounding the station.
+ - rscadd: Latent scans of the surrounding systems have picked up trace signs of
+ new, smaller cult constructs, however these signatures quickly vanished.
+ - rscadd: In other news, scavengers in your sector have been seen occasionally
+ with classically recreated maces, so autolathe firmware has been upgraded
+ to accommodate this.
+ Hatterhat:
+ - balance: Zombie powder is now instant when ingested, but delayed when injected
+ or applied through touch.
+ - tweak: The H.E.C.K. suit is now goliath tentacle resistant and probably better
+ for acid resistance.
+ - rscadd: The Engineering techfab can now print standard and large RCD compressed
+ matter cartridges.
+ - rscadd: The Experimental Tools node now has the Combifan projector, blocking both
+ temperature and atmospheric changes.
+ - tweak: fiddles with the seed extractor upgrade examine to make it not shit
+ - rscadd: Formaldehyde prevents organ decay and corpses' miasma production at 1u
+ in the body.
+ - rscadd: Epinephrine pens now contain 3u formaldehyde. This should not kill you.
+ - rscadd: The ships often crashed by Free Golems on Lavaland now have GPSes. They're
+ off, by default, but an awakening Golem could easily turn one on.
+ - tweak: Standard RCD ammo can now be printed from Engineering-keyed techfabs once
+ you hit Industrial Engineering.
+ - tweak: Consoleless interfaces are now default - this means unrestricted protolathes
+ and circuit imprinters can now be interfaced with by interacting with the machine
+ itself.
+ - bugfix: Multitools can now actually be printed from Engineering and Science protolathes/techfabs
+ once you unlock Basic Tools.
+ - rscadd: Husking (from being burned to shit) can now be reverted! 5u rezadone or
+ 100u synthflesh, at below 50 burn.
+ - balance: Turning a body into a burnt husk now takes more effort. 300 burn's worth
+ of effort.
+ - balance: Buckshot individual pellet damage up from 10 to 12.5. Still firing 6
+ pellets.
+ - rscadd: Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay
+ into histamine. Instead, it just prevents your organs from rotting into nothing.
+ - balance: You can now purify eldritch longswords with a bible. This creates purified
+ longswords, which do not have anti-magic properties, but are still good for
+ swinging at cultists.
+ - rscadd: Extend votes! Ported from Hyper, ported from AUstation.
+ - bugfix: mechs with stock parts now have icons
+ - balance: Pie reagent transfer now requires an uncovered mouth.
+ - bugfix: Biogenerators can now actually generate universal enzyme.
+ - bugfix: The Basic Tools node now unlocks the multitool for printing on Engineering
+ and Science fabricators.
+ - rscadd: The Ash Walkers' nest on Lavaland now starts with three bowyery slabs.
+ - rscadd: You can now welder-harden arrows. It might take longer.
+ - balance: Silkstring's costs adjusted for bows and whatnot.
+ - spellcheck: Grammar adjusted on a lot of things relating to bows.
+ - bugfix: Pipe bows' bowstring doesn't look like it replicated itself upon draw.
+ IHOPMommyLich:
+ - tweak: Changed the multiplicative_slowdown of Stimulants from -1 to -0.5
+ IronEleven:
+ - balance: Minor stat changes to Choking, Spontaneous Combustion, Autophagocytosis
+ Necrosis, Hallucigen, Narcolepsy, Shivering, and Vomiting symptoms.
+ KathrinBailey:
+ - bugfix: Missing turf_decals in Cargo Office.
+ - bugfix: Turns on the docking beacons on Box.
+ - bugfix: Fixes Starboard Quarter maint room being spaced. It was never intended
+ to be like how it was.
+ - bugfix: The aforementioned maint room not having stuff in it.
+ - bugfix: varedited photocopier sometimes not opening any UI.
+ - bugfix: Atmos differences in Starboard Quarter maint.
+ - bugfix: Atmos differences in destroyed shuttle/EVA bridge. Plating replaced with
+ airless plating.
+ - bugfix: Rotates AI satellite computers. These have probably been like this since
+ computers had the old sprites and no directional ones. You shouldn't sit at
+ a chair to operate a sideways computer.
+ KrabSpider:
+ - imageadd: The Van Dyke is no longer Fu Manchu.
+ - imagedel: Gets rid of a Fu Manchu imitation.
+ Kraseo:
+ - bugfix: You can no longer pull before wearing boxing gloves to bypass the grab
+ check.
+ - bugfix: Nightmares no longer delete entire guns from existence for merely having
+ a light on them.
+ Linzolle:
+ - bugfix: Bows now will not delete an arrow if it cant fire it.
+ - bugfix: bows now like and respect sprite changes
+ MalricB:
+ - rscadd: '"Shaggy" sprite from virgo'
+ - rscadd: '"shaggy" option in the character customization'
+ MrJWhit:
+ - rscdel: Removed meteor defense tech node
+ - tweak: TEG
+ Naksu:
+ - bugfix: Odysseus chem synthesizing now works again.
+ Owai-Seek:
+ - rscadd: Burger, Cargo Packaging, Dirty Magazine, Air Pump, and Scrubber crates.
+ - rscdel: Duplicate Crate, Festive Wrapping Paper Crate, Contraband Monkey Meat
+ Crate
+ - tweak: Gave Seed Crate Ambrosia Seed, gave Biker Gang Crate Spraypaint.
+ - tweak: Organised some crates with sub-categories. Also, moved all vendor refills
+ to a new tab.
+ - tweak: Moved Grill to Service Tab
+ - bugfix: Engineering Hardsuit Access
+ - tweak: Blood Crate now has all of the current blood types.
+ - tweak: Birthday Cake Recipe is now the same as TG.
+ - tweak: Added Soy Sauce and BBQ Packets to Dinnerware Vendor.
+ - tweak: Added nurse outfit, nurse cap, and mailman hat to loadout.
+ - tweak: Changed the name of scrubs to blue, green, and purple scrubs.
+ - rscadd: Bacon and Eggs food item. Delicious! Added a Lemony Poppy Seed Muffin.
+ - tweak: Snack Vendor has Chocolates, Tortilla Chips, and a Marshmallow Box
+ - balance: Mops can now be printed at service lathe once tools are researched.
+ - balance: Biobags can hold most organic limbs/organs, but not brains, implants,
+ or cybernetics.
+ - balance: Trash Bag can now hold limbs (but not heads.)
+ - balance: Most snack vendor items reduced by 1.
+ - bugfix: Trash Cans are now actually craftable, and only require metal instead
+ of plastic.
+ - imageadd: Bacon and Eggs, Drying Agent Bottle.
+ - imageadd: Mugs now show reagent colors of contained reagents. Thanks Seris!
+ - tweak: Reorganized all food recipes, (hopefully) making things easier to find.
+ - balance: Trays now have a whitelist, allowing them to pick up normal sized foods,
+ bowls, glassware, booze, ect.
+ - bugfix: Easter foods are no longer their own Misc Food Category on the top of
+ the menu.
+ - spellcheck: fixed a few typos/capitalization consistency.
+ - tweak: Mexican Foods are their own Subcategory.
+ - tweak: Donuts are their own Subcategory
+ - tweak: Moved Sweets from Misc Food in with Pies. Renamed to Pies & Sweets
+ - rscadd: BROOM
+ - tweak: Janitor Vendor now has gear for two Janitors.
+ PersianXerxes:
+ - rscadd: 'SMES and PACMAN attached to gulag Security to power electrified windows
+ remove: Removed Sec vendor from gulag Security'
+ - tweak: Separation of gulag and public mining
+ - rscadd: Better clarified the comment explaining the contraband tag.
+ - tweak: Cargo nuclear defusal kits now require an emag'd drop pod console to be
+ purchased.
+ - rscadd: Added Kilo Station
+ - tweak: Adjusts Kilo Station to be more in line with Citadel standards
+ - imageadd: Added area icons required to make Kilo Station editable on Citadel code
+ - code_imp: Fixed a reagent container on Kilo pointing to a nonexistent reagent
+ - config: Adds Kilo Station to the maps config file, does not fix Meta Station's
+ population requirement
+ Psody-Mordheim:
+ - rscadd: You can now make synth-flesh with synthetic blood.
+ - rscadd: You can now make synthetic blood via mixing saline glucose, iron, stable
+ plasma and heating it to 350 temp.
+ - rscadd: You can mix synthetic blood and cryoxadone to create synth-meat in addition
+ to normal blood.
+ - rscadd: Disfiguration Symptom.
+ - rscadd: Deoxyribonucleic Acid Saboteur Symptom.
+ - rscadd: Polyvitiligo Symptom.
+ - rscdel: Revitiligo Symptom.
+ - rscdel: Vitiligo Symptom.
+ Putnam3145:
+ - admin: Added logging to various consent things.
+ - rscadd: Lots of new traitor objectives
+ - bugfix: gender change potion now respects prefs
+ - bugfix: Hypno prefs work better.
+ - admin: Panic bunker is now round-to-round persistent
+ - tweak: Relief valve now has a TGUI-next UI
+ - bugfix: Atmos reaction priority works now.
+ - rscadd: map voting doesn't suck anymore
+ - bugfix: Dynamic now defaults to "classic" storyteller instead of just failing
+ if the vote didn't choose a storyteller.
+ - bugfix: antag quirk blacklisting works now
+ - tweak: default should be... default
+ - balance: all supermatter damage is now hardcapped
+ - tweak: Supermatter sabotage objective no longer shows up with no supermatter
+ - bugfix: Mining vendors no longer fail and eat your points iff you have precisely
+ enough points to pay for an item
+ - tweak: Licking pref
+ - bugfix: Fixed IRV.
+ - bugfix: Runtime if nobody has a chaos pref set
+ - bugfix: IRV fixed... again
+ - bugfix: temporary flavor text can now be of reasonable length
+ - balance: Shooting the supermatter now adds to the supermatter's power. CO2 setups
+ beware!
+ - rscadd: Logging for renaming
+ Raiq & Linzolle:
+ - rscadd: Bone bow - Ash walkers crafting , bone arrows - Ash walkers crafting,
+ silk string used in bow crafting, harden arrows - Ash walkers crafting, ash
+ walker only crafting book, basic pipe bow, and bow & arrow selling. Quivers
+ for ash walkers as well, just to hold some arrows well out on the hunt!
+ Seris02:
+ - tweak: tweaked the way the SM works
+ - rscadd: custom reagent pie smite
+ - rscadd: hijack implant
+ - code_imp: changed mentions of the issilion proc to hasSiliconAccessInArea based
+ on what the proc is used for
+ - rscadd: recipe for mammal mutation toxin
+ - rscadd: polychromic winter coat
+ - rscadd: thief's gloves
+ - rscadd: crushing magboots
+ - bugfix: golden plastitanium toolbox being actually plastitanuium
+ - bugfix: character slot amount
+ - balance: rebalanced rising bass
+ - bugfix: string highlighting whitespace
+ - bugfix: glitch with PKA
+ - bugfix: meteor hallucinations (again)
+ - rscadd: Added naked hallucination
+ - rscadd: crowbarring manifests off crates
+ - balance: makes RCDs cost a better amount
+ - bugfix: apc icons
+ - rscadd: rest hotkey
+ - rscadd: hsl instead of sum of rgb for spraycan lum check
+ - balance: bloodcrawl's cooldown
+ ShadeAware:
+ - rscadd: Craftable Switchblades, a weaker subtype of normal switchblades that can
+ be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable
+ Coil. Requires a welder to complete.
+ - bugfix: You can now actually craft Switchblades.
+ - bugfix: Switchblades no longer regain their old Makeshift sprite after retracting
+ if you've made them fancy with Silver.
+ - rscadd: 'The Captain''s Wardrobe, a special one-of-a-kind and ID-locked wardrobe
+ for the Captain that holds all of their snowflakey gear. Remove: Snowflake gear
+ from the Captain''s locker, since now it has its own vendor.'
+ Tlaltecuhtli, ported by Hatterhat:
+ - balance: Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning
+ modules and capacitors on construction. This means that they also gain reduced
+ power consumption and EMP protection from higher-tier stock parts.
+ Trilbyspaceclone:
+ - bugfix: Vault hallway door being all access
+ - server: Updates change logs
+ - rscadd: Crafts are now made of plasteel and can be made with 5 sheets
+ - rscadd: Takes away NT's connections to the Aliens that run the Syndicats
+ - rscadd: Carps have evolved to take more damage
+ - rscadd: restock crates for each vender
+ - rscadd: restock units for all station venders
+ - bugfix: Sec-vender missing icon
+ - bugfix: 'Box station captain office issues maping: Gulag on box can now be accessed'
+ - rscadd: Alien stools and chairs
+ - tweak: Bone armor/Dagger are now crafting from bones rather then crafting menu
+ - rscadd: Firing pins that only works when not on station
+ - rscadd: Medical locked crates
+ - balance: Russian gear crates have less gear in some cases but all will cost more
+ - bugfix: Medical locked crates that were not locked
+ - spellcheck: Crates that were out of date are corrected
+ - balance: Heads of staff have been better screened by NT before being promoted
+ - balance: The suit full of spiders also known as a ninja now is a tactical turtleneck
+ - balance: The Wiznerds now dont have suits set to max
+ - tweak: Meat wheat no longer has blood
+ - bugfix: Flat guns can no longer be suppressed
+ - tweak: replaced stickmans .45 caliber with 10mm, for consistency.
+ - tweak: Meatwheat and Oats now have rarity
+ - balance: Oats now have at lest 50% more flour in them
+ - balance: BDM now uses a PKA rather then a normal KA
+ - tweak: Gang tower shield is no longer transparent
+ - tweak: Cosmic winter coat now glows like the bedsheet, and holds normal winter
+ coat gear
+ - server: Express console is now logging what it buys, like the normal console should
+ - bugfix: Crabs are now made of crab meat.
+ - bugfix: AIs now understand the old ways of drunken dwarfs
+ - balance: Removes some armored Russian hats from box station round start
+ - bugfix: Doner items spawning
+ - balance: Engi/Sec Trek suit no longer has 10% melee protection
+ - bugfix: IPC hearts are now made of robomeat and roboblood thats emp proof. Heals
+ and is all and all just like an normal heart
+ - imageadd: All robotic organs now have an animation.
+ - imageadd: IPC's now organs now look like robotic ones, even tho thats not the
+ case game wise
+ - imageadd: Added a new bee themed bar sign
+ - imageadd: Makes plywood chair not look as bad.
+ - bugfix: corndog sprite being miss-spelled
+ - bugfix: Ash from land of lava now is useable for sandstone
+ - bugfix: Peach cake slices are no long made by mimes
+ Tupinambis:
+ - tweak: the portion of laws that require harm prevention by silicons has been removed.
+ - server: silicon_laws.txt config file is required to be modified for full implementation.
+ - bugfix: masks no longer improperly stick out of helmets when they should be hidden.
+ - bugfix: Status Displays should now update correctly.
+ - balance: stunbatons now take 4 hits to inflict hard crit, up from 3.
+ - balance: stunbatons no longer disarm targets.
+ Yakumo Chen:
+ - rscadd: Rings for your fingers!
+ - rscadd: New cargo crates and loadout options to bling your rings!
+ YakumoChen:
+ - tweak: Observe is back in the OOC tab
+ - imageadd: Rings look nicer. Sprites used from RP.
+ - imageadd: Ring on-hands. Diamond rings sparkle!
+ - tweak: You can now propose using a diamond ring in your hand.
+ - tweak: Legion skulls behave like bees!!!!
+ Zellular:
+ - imageadd: Movement state for pupdozer and its decals
+ - tweak: Tweaked the movement state for the pupdozer's eyes
+ ancientpower:
+ - bugfix: Fixes an error in pH strips' feedback message.
+ - rscadd: Ported drink sliding from /vg/station.
+ - bugfix: Fixes color mismatching with the "genitals use skintone" preference.
+ - imageadd: Bunny ear style for humanoid species.
+ - tweak: Ghosts are now literate.
+ bunny232:
+ - tweak: Changes the simple animal sentience event from the xenomorph preference
+ to sentience potion preference.
+ coiax:
+ - rscadd: Admin and event only pair pinpointers! They come in a box of two, and
+ each pinpointer will always point at its corresponding pair. Aww.
+ deathride58:
+ - bugfix: Spacemen no longer run at lightspeed on local servers.
+ kappa-sama:
+ - bugfix: the plant dudes can actually make plant disks now
+ keronshb:
+ - rscadd: Added repairable turrets
+ - rscadd: Adds Tiny Fans to the pirate ship
+ - tweak: changes some reinforced windows to plastinanium pirate windows
+ - tweak: made the pirate shuttle + turrets bomb resistant
+ - tweak: made most pirate machines + consoles indestructible
+ - tweak: increased pirate turret health
+ - rscadd: Adds the CogChamp drink and Sprite
+ - rscadd: Added burn and knockback to stunhand during HALOS on cult.
+ - balance: Added burn and knockback to stunhand during HALOS on cult.
+ - bugfix: fixed accelerated regeneration nanites
+ - bugfix: fixed mechanical repair nanites
+ - bugfix: fixed bio reconstruction nanites
+ kevinz000:
+ - refactor: Custom snowflake plushies are now in config rather than code.
+ - balance: Abductor mindsnapping (aka abductee objectives) can now be "cured" with
+ brain surgery.
+ - rscadd: Shuttle hijacking has been completely reworked. Alt-click the shuttle
+ as a hijack-capable mind (so traitors, and especially traitors with hijack)
+ to begin or continue a hacking process.
+ - refactor: 'A good amount of the blood RGB rework was cleaned up/reverted, with
+ some notable gameplay changes including: Gibs and blood not having max blood
+ by default (no more easy rampages, cultists), infinite gib streaking, etc etc.'
+ - balance: meteor waves are now directional and announces the direction on the command
+ report.
+ - rscadd: CTF CLAYMORES
+ - balance: shoves buffed, now shoving into a wall twice rapidly will also disarm
+ their weapon.
+ - balance: traitor+bro gamemode minimum population set to 25 until there can be
+ more in depth configuration systems for gamemodes.
+ - bugfix: no more bluespace skittish locker diving,
+ - rscadd: moths now have unique laughs and can *chitter.
+ - tweak: nuke explosion is now full dev radius for anti lag purposes
+ - balance: Gangs can now only tag with a gang uplink bought spraycan.
+ - tweak: dueling pistol accesses have been changed to be more accessible.
+ - bugfix: mechs no longer have admin logs flooding into IC control console log viewing
+ - refactor: Guncode and energy guns have been refactored a bit.
+ - rscadd: You can now combat mode ight click on an energy gun to attempt to switch
+ firing modes. This only works on guns without right click functions overridden.
+ - balance: shoes can now fit magpistols again.
+ - balance: Projectiles now always hit chest if targeting chest, snipers have 100%
+ targeting zone accuracy. All other cases are unchanged.
+ - tweak: The lawyer's PDA cartridge has been rebranded to something more accurate
+ to its true nature.
+ - refactor: Refactored ghostreading/etc
+ - balance: Cyborgization will now de-gang people, even gangheads.
+ - bugfix: reactive repulse armor now has an item limit
+ - bugfix: beam rifle runtime fix during aiming_beam
+ - bugfix: 'fail2topic runtime fix: taking out an ip while incrementing index resulted
+ in accessing the next-next entry instead of the next and results in out of bound
+ errors.'
+ - rscadd: gravity gun repulse and chaos now work in all angles, rather than just
+ basic cardinals and diagonals. fun.
+ - balance: Public autolathes can no longer be hacked.
+ - bugfix: Energy weapons now once again have their lens in contents.
+ - bugfix: pais are no longer muted for literally a whole hour on emp.
+ - rscadd: auto profiler subsystem from tg
+ - bugfix: Brig cells now are more accurate by using timeofday instead of realtime
+ - bugfix: Cryo now actually transfers reagents at tier 4 on enter rather than every
+ 80 machine fire()-process()s regardless of if it was "reset" by open/close.
+ - rscadd: cmo now gets advanced surgery drapes that techweb-sync for advanced surgeries
+ without an operating console.
+ - bugfix: ctf claymores now actually spawn (and fit).
+ - bugfix: STOP_PROCESSING now removes from currentrun to prevent another process
+ cycle from happening where it shouldn't.
+ - balance: hand teleporters now require 30 deciseconds of still movement by the
+ user to dispel portals. there's a beam effect too.
+ - balance: Sort of a bugfix but cult blood magic and all guns now respect stamina
+ softcrit.
+ - balance: Organ healing rate doubled. Organ decay rate halved to match its define
+ (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked).
+ - tweak: Storage now caches max screen size and only stores when being opened by
+ a non ghost, meaning ghosts will no longer distort living player screens when
+ viewing storage.
+ - balance: Stunbatons changed yet again.
+ - tweak: the game's built in autoclicker aka CanMobAutoclick no longer triggers
+ client/Click()'s anti clickspam guard.
+ - balance: pais can no longer bodyblock bullets
+ - balance: pai radio short changed to 3 minutes down from 5
+ - balance: pais are no longer fulltile click opacity.
+ - refactor: vampire "immortal haste" has been reworked to be more reliable and consistent.
+ - tweak: hand teles use a less atrocious beam
+ necromanceranne:
+ - rscadd: Ebows now disarm people hit by them.
+ - rscadd: Ebows now do 60 stamina damage on hit.
+ - rscdel: Ebows no longer inflict drowsiness
+ - balance: Miniature ebows do 15 toxin damage, up from 8.
+ - balance: Ebows have considerably shorter knockdowns.
+ - balance: Ebows now make you slur rather than stutter.
+ - balance: Large ebows are now heavy and bulky.
+ - rscdel: You can no longer order spinfusors or their ammo from cargo.
+ - rscdel: Removed the formal security officer jacket from the secdrobe
+ - tweak: formal security jackets are now armor vests
+ - rscdel: Bullets causing bleed rates equal to unmitigated damage through all forms
+ of defense.
+ - balance: 'Reverted #9092, crew mecha no longer spawn with tracking beacons.'
+ - balance: '[Port] Mecha ballistics weapons now require ammo created from an Exosuit
+ Fabricator or the Security Protolathe, though they will start with a full magazine
+ and in most cases enough for one full reload. Reloading these weapons no longer
+ chunks your power cell. Clown (and mime) mecha equipment have not changed.'
+ - balance: '[Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching
+ Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).'
+ - balance: '[Port] Both Missile Launchers and the Clusterbang Launcher do not have
+ an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded
+ ammo has been spent, you can use the appropriate ammo box to load the weapon
+ directly.'
+ - rscadd: '[Port] Utility mechs that have a clamp equipped can load ammo from their
+ own cargo hold into other mechs.'
+ - rscadd: '[Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons,
+ should they run low.'
+ - bugfix: Literally unclickability with a cham projector
+ nemvar:
+ - code_imp: Slight changes the self-repair borg module. It no longer references
+ the borg that owns it.
+ - bugfix: Trash from food now gets generated at the location of the food item, instead
+ of in the hands of the eater.
+ - code_imp: Changed mob biotypes from lists to flags.
+ r4d6:
+ - rscadd: Added a dwarf language
+ - rscadd: Added more engines
+ - tweak: RPD subcategories and preview icons reorganized.
+ - rscadd: RPD now starts with painting turned off, hitting pipes with build and
+ no paint will target the turf underneath instead. Bye bye turf pixelhunting.
+ - config: Made dwarves into a roundstart races
+ - tweak: Meteor Timer back to 3-5 minutes
+ - bugfix: Mining no longer lead to spess
+ - rscadd: Added Plasteel Pickaxe
+ - rscadd: Added Titanium Pickaxe
+ - bugfix: fixed a missing tile
+ tralezab, bandit, Skoglol:
+ - rscadd: The mime's PDA messages are silent now!
+ - rscadd: 30 new emoji have been added. Mime buff, mime now OP.
diff --git a/html/changelogs/archive/2020-03.yml b/html/changelogs/archive/2020-03.yml
new file mode 100644
index 0000000000..6b9b3c92f5
--- /dev/null
+++ b/html/changelogs/archive/2020-03.yml
@@ -0,0 +1,466 @@
+2020-03-28:
+ Arreksuru and Detective Google:
+ - rscadd: new HUDpatches for medical, diagnostic, and mesons.
+ - rscadd: crafting and de-crafting recipes for new HUDpatches.
+ - bugfix: silly typo with "singlasses" in one of the crafting recipes for HUDglasses.
+ Arturlang:
+ - balance: Bloodsuckers can no longer get usable blood from blood tomatoes.
+ - bugfix: Fixed reagent container transfer amount cycling.
+ Bhijn:
+ - tweak: Clicking an open closet with harm intent no longer attempts to place your
+ currently held item inside, but rather attacks it.
+ Bhijn (original PR by Azarak, sprites by Discord user Smug Asshole Muhreen#5522):
+ - rscadd: Synths, the open source and free-as-in-freedom species by FA user vader-san,
+ have been ported from Skyrat.
+ - rscadd: Ported VOREStation's synthetic taursprites
+ - rscadd: Markings that don't match very well with your selected species are now
+ hidden from the markings list by default. You can still use these mismatched
+ markings to create horrendous sparkledog abominations by using the "Show mismatched
+ markings" button ingame.
+ - bugfix: Body markings who's iconstates don't match their name will now actually
+ render properly.
+ - code_imp: Limb base icons are no longer hardcoded, should_draw_citadel and should_draw_grayscale
+ have been removed in favor of the species-level `icon_limbs` var and the bodypart-level
+ `base_bp_icon` and `color_src` vars. Downstreams should no longer have to touch
+ bodypart rendering code a whole lot if they want to add custom species. Downstreams
+ that have already added species with digitigrade leg support will have to append
+ species IDs to the digitigrade leg sprites, but aside from that, the migration
+ process to this more modularity-friendly system should be fairly smooth.
+ BlackMajor:
+ - tweak: Adjusted the ash walker camp's storm proofing.
+ - rscadd: Added a tip about creating areas to the ash walker spawn text.
+ Bumtickley00:
+ - tweak: Iron sheets build the normal metal table again
+ Crystal9156:
+ - bugfix: Fixes Chocolate Jelly Donut icon
+ Dennok, ported by Hatterhat:
+ - bugfix: Lava rivers no longer burn into basalt.
+ - code_imp: The river generator can now specify baseturfs.
+ Detective-Google:
+ - bugfix: absurd dong sizes.
+ - bugfix: my dumb stupid paramedics
+ - balance: Medical no longer spawns with syringe guns, Medical now spawns with medidart
+ guns.
+ EmeraldSundisk:
+ - rscadd: Adds CogStation's shuttles to-be.
+ - rscadd: Adds the "NES Classic" escape shuttle.
+ - refactor: Accounts for the new shuttles.
+ Ghommie:
+ - tweak: Added a few cooldowns to chill nuclear bomb and communications console
+ security level change spam, as well as the emergency shuttle's authorization
+ announcements.
+ - bugfix: Fixed viruses not working on anthros and some others species.
+ - sounddel: Made the cogchamp mixing sound less annoying.
+ - rscdel: Removed makeshift switchblades.
+ - bugfix: pAIs, drones, monkys and lizards can be worn over the head again.
+ - bugfix: Fixed cargo passive point generation to not go into decimals.
+ - bugfix: Syndicate ninjas are slightly less friendly now.
+ - balance: Allowed blobbernauts to drag objects (but not mobs) again.
+ - bugfix: The examiner circuit now works better for mobs.
+ - tweak: Chances are monkeys won't end up gorillizing as quickly after being exposed
+ to a rad storm for a minute or so.
+ - bugfix: Vampire mesmerize doesn't permanently disable combat mode.
+ - bugfix: The flying speed slowdown while hurt now actually affects flying mobs
+ and not floating ones.
+ - bugfix: Joining in as a positronic brain won't break the spawner menu anymore.
+ - bugfix: Fixed dynamic voting.
+ - bugfix: The autotransfer subsystem is slightly more modulable now.
+ - imageadd: Resprited some sprite_accessory icon states.
+ Ghommie (plus a fix originally done by Skogol):
+ - bugfix: Drinks dispensers now only show the container they are holding.
+ - bugfix: Ghost cafe patrons are warded against a few more events now.
+ - bugfix: Fixed RnD machineries UI displaying designs' required reagents' typepaths
+ instead of names.
+ Hatterhat:
+ - bugfix: Red and blue boxes are now actually red or blue.
+ - rscadd: Beegions! Like Legions, but with actual bees. As in, the bees from the
+ holodeck sim with the randomly-generated toxic bees.
+ - rscdel: Mining cyborgs are no longer physically capable of claiming points nor
+ wielding a premium accelerator.
+ - tweak: Arrow crafting has been finagled with, preventing fire-hardened arrows
+ from being fire-hardened repeatedly. Or something.
+ - bugfix: Space hermits (those quirky fellas stuck in a rock with carp surrounding
+ them) now have gravity! But they lost their perpetual generators.
+ - balance: Space hermits now have to mine for their research tech (golem vendor
+ board, ORM board). They have slightly less bad parts, though. And better(?)
+ rocks.
+ InnocentFire made the sprites all thanks to them!:
+ - imageadd: All bows now have inhand sprites once again
+ KathrinBailey:
+ - rscadd: Nine new posters!
+ - rscadd: Shower curtains can be crafted.
+ - rscadd: New sofas!
+ - rscadd: Green and purple comfy chairs to the crafting menu to fit green and purple
+ carpets.
+ - bugfix: Shower curtains now let you see through them once open, and don't once
+ closed.
+ Kraseo:
+ - balance: If you have the powersink objective, you will now receive a free beacon.
+ - rscadd: Lavaland flora have more traits now, to encourage harvesting and sending
+ these off to the botanists.
+ - bugfix: Napalm will now properly remove weeds from a tray if the plant in it has
+ the fireproof gene.
+ - balance: Gangs no longer get soporific rounds for their sniper rifles.
+ - rscadd: Syndicate Contracts. Use the new contract uplink to select a contract,
+ and bring the assigned target dead or alive to the designated drop off. Call
+ for the extraction pod and send them off for your TC payment, with much higher
+ rewards for keeping them alive. A high risk, high reward choice for a traitor
+ who wants a real challenge.
+ - rscadd: New 20 TC contract kit - supplies you with your contractor loadout and
+ uplink.
+ - rscadd: Targets successfully extracted will be held for ransom by the Syndicate
+ after their use to them is fulfilled. Central command covers the cost, but they'll
+ be taking a cut out of station funds to offset their loss...
+ - rscadd: Adds a third random item, as well as a small guide on using the contract
+ kit. Also added new possible items that can appear.
+ - tweak: Supplied space suit in the contract kit is now an improved variant on the
+ normal Syndicate version.
+ - balance: TC payouts adjusted to be a bit more fair to the contractor. Total payout
+ can never be below a certain threshold.
+ - bugfix: Broken dropoff locations work again, and general bugfixes.
+ - rscadd: Contract kit comes with a contractor baton - a unique, lightly electrified
+ weapon to help complete your contracts.
+ - tweak: Finalized payment system for contracts; much more balanced for contractors.
+ No more extremely low paying contract sets.
+ - tweak: Generated contracts will all have unique targets, no more duplicates.
+ - tweak: Extraction droppod explosion has been removed, it'll only damage the tile
+ it lands on.
+ - bugfix: Extraction pods get sent to the jail immediately again.
+ - refactor: Refactored classic_baton code.
+ - rscadd: Contractor Hub. A unique store for contractors to buy items with Contractor
+ Rep, with two Rep being given when completing a contract.
+ - rscadd: Contractor pinpointer, available through the Hub. A very inaccurate pinpointer
+ that ignores suit sensors.
+ - rscadd: Call reinforcements, available through the Hub. Limited to a one-time
+ buy for a contractor, you can purchase an agent to be sent down to help in your
+ mission. Role is polled to ghosts.
+ - rscadd: Blackout, available through the Hub. Disable station power for a small
+ duration - an expensive, but powerful option of getting into secure areas.
+ - rscadd: Fulton extraction, available through the Hub. Purchase a fulton extraction
+ kit to help move your targets across the station for those difficult dropoffs.
+ - tweak: Assigning yourself to another tablet will give you another contract set.
+ - rscadd: Contractors can now reroll their contracts a small number of times.
+ - rscadd: Brand new sprites! A redesign of the specialist space suit, and the kit's
+ own unique tablet. Done by Mey Ha Zah.
+ - tweak: Displays contract target jobs under their name.
+ - tweak: New locations, such as maintenance, are now possible dropoff locations.
+ - balance: Contractor kit pop cap reduced from 20 to 15.
+ - balance: You can no longer get haunted 8balls from contractor kits.
+ - bugfix: Pods and shuttles should no longer be valid dropoff locations.
+ - bugfix: Contract tablets will no longer break when one of your contracts is deleted
+ from the world.
+ - bugfix: Baton inhands for the right hand now shows the right direction.
+ - bugfix: Mice don't chew on wires anymore while they're on your person.
+ - bugfix: Bloodsucker heart theft objective now completes successfully.
+ - tweak: Blacklists turret protected areas, the toxins test range, asteroid ruins,
+ and solars from being valid dropoff locations for contracts.
+ Linzolle:
+ - tweak: pacifists can no longer meatspike living things
+ - bugfix: flypeople being unable to gain nutrition from eating vomit
+ - bugfix: targetting mouth on help intent now properly nose boops
+ - tweak: cmo hypokit now holds the same amount of items as normal kits
+ Moonlit Protector:
+ - rscadd: Introducing the 'Heroic Beacon', standing vigil over service the curator
+ can assume one three different historic heroes, each determining their equipment
+ and emergent playstyle to suit the player; a beacon can be found in the curator's
+ backpack upon spawning
+ - rscadd: Become the Braveheart, a fierce scottish warrior armed with a ceremonial
+ claymore, spraycan, kilt and a disregard for underwear with the scottish themed
+ hero pack.
+ - rscadd: A unique mention is the "First man on the Moon" heroic pack, with a two
+ piece space worthy suit, air tank & a GPS for recreating a key spessfaring moment
+ in history.
+ - tweak: The Curadrobe has been stripped & refilled full of helpful library supplies,
+ including varieties of pens and glasses including the jamjar's.
+ - tweak: The curator's explorer equipment & whip has been moved into the 'Courageous
+ Tomb Raider' heroic pack; removed from the backpack & the Curavend respectively.
+ MrJWhit:
+ - tweak: Added minor station things
+ - balance: re balanced r-walls
+ - tweak: Evens both sides of the gas containers TEG with reinforced windows
+ - tweak: Removed egun in every head locker, replaces RPD with air pump in science,
+ fixes a computer in sec, moves hand teleporter, and removes decals under lockers.
+ MrPerson:
+ - rscadd: Solar panels will visually rotate a lot more smoothly instead of being
+ locked to only 8 directions.
+ - rscadd: Timed solar tracking is in degrees per minute. You're still not gonna
+ use it though.
+ Naksu:
+ - rscadd: Time based free rerolls
+ - refactor: Refactored Blobs
+ - balance: Blob rerolls now give the blob 4 different options to choose from, rather
+ than forcing a single random one.
+ NecromancerAnne and goldnharl:
+ - imageadd: Sprite cleanups and animations for energy guns.
+ NecromancerAnne and zawo and zeroisthebiggay and carlarctg:
+ - rscadd: The Infiltrator Bundle, an armor kit for 3TC. Murder people in style!
+ - rscadd: Some pajamas for nukies to get plenty of bed rest.
+ - rscadd: halved firefight carry delay with latex or nitrile gloves
+ - tweak: headset upgrade is cheaper
+ Owai-Seek:
+ - rscadd: Butter Bear
+ - rscadd: Crab Burger, Bisque, Crab Rangoon, French Onion Soup, Empowered Burger,
+ Chicken Nugget box.
+ - tweak: +++ Spider Eggs to Exotic Meat crate. --- Bacon from Exotic Meat crate.
+ - tweak: Tweaked Crab Recipes
+ - imageadd: Butter Bear aka Terrygold
+ - balance: Food Crafting is now 5 deciseconds instead of 30.
+ Putnam:
+ - tweak: Swarmers, portal storm, wormholes are now controlled by dynamic.
+ - tweak: Dynamic-controlled events can now have a minimum start time.
+ - balance: Threatening meteors are more common (though still have pretty strict
+ requirements)
+ - balance: Different storytellers now balance around different expected players-per-antag;
+ default was 5, now intrigue/story/random have 7 and calm has 10.
+ - rscadd: Clown ops is now available as a roundstart antag in dynamic.
+ - balance: Sentient disease and revenant are now in the event pool rather than the
+ antag pool (with the logic that they're both completely useless and unfun to
+ play if people are actually playing against them).
+ - rscadd: A new formulation of extended was added to the storytellers; no antags,
+ but still spending threat on events.
+ - bugfix: Fixed a runtime in dynamic due to my misunderstanding pickweightAllowZero
+ - rscdel: Made conversion storyteller 0-weight-by-default.
+ Putnam3145:
+ - tweak: Salbutamol causes jittering now.
+ - bugfix: Made lickable pref save
+ - rscadd: 'Traitor classes for traitors: a new way for traitors to have objectives
+ assigned.'
+ - bugfix: Actually made things work as intended.
+ - code_imp: Removed a redundant turf melting check from the supermatter.
+ - rscdel: Removed "realistic tcomms lag"
+ - rscdel: Removed some particularly bad flavor objectives.
+ - balance: Power sink objective is 10x as easy to get
+ - bugfix: Processing objectives now properly stop once won
+ - rscdel: MKUltra no longer explodes into lovegas when it fermi explodes, instead
+ causing a regular ol' fireball.
+ - tweak: Eigenstasium OD flavor text less restrictive
+ - bugfix: Dynamic voting should work absent of a config.
+ - tweak: Autotransfer vote now requires actual transfer votes to transfer.
+ - bugfix: More dynamic fixes
+ - bugfix: Server-run votes aren't subject to vote cooldown
+ - rscadd: Mass hallucination can better be admemed
+ - tweak: Waffle co objective rewritten to make more clear it's not a murderbone
+ objective
+ - rscadd: CTF spawns, random animals and possessed blades can now be pinged for
+ ghost roles.
+ - bugfix: A bunch of polls now work with ghost role eligible non-observers.
+ - bugfix: Removes superfluous line in supermatter processing.
+ - code_imp: Power sink objective processing now makes sense.
+ Qustinnus/floyd, Ghommie:
+ - bugfix: To save costs, Nanotrasen has removed the emergency battery ejection systems
+ in modular computers. We realized saving the batteries isn't really important.
+ - bugfix: You can squash spiderlings with your bare hands now.
+ - bugfix: Being deafened properly stops jukebox music from playing.
+ - bugfix: admin multicam toggles no longer tells everyone but only admins and AIs
+ Ragolution:
+ - rscadd: All winter coats and hoods might be different if slightly from one a other.
+ - tweak: Adjusted Bartender's Drink Flinging print message to not include name of
+ target turf and save immersion.
+ Seris02:
+ - rscadd: tg genetics
+ - balance: illegal technology
+ - balance: rebalanced rising bass's buttom actions from repulse to side kick
+ - bugfix: projectiles and rising bass and items and rising bass
+ - bugfix: a very specific fix with tails and wagging
+ - rscadd: duffel bags of holding
+ - bugfix: quirk blacklist fixing
+ - bugfix: robotics console button swapping
+ - bugfix: fixed thieving gloves not pickpocketing fast
+ - rscadd: mentor de/rementor button
+ - bugfix: mentor !msg
+ - balance: bloodsuckers being unable to accept genes
+ - balance: removes xray from the gene pool
+ Skoglol:
+ - bugfix: Fixed gibber exploit.
+ Timberpoes:
+ - bugfix: 'Shuttle countdowns once again read like "01:05" instead of "01: 5".'
+ Trilbyspaceclone:
+ - rscadd: Three new arm implants, shield for sec, janitor and service
+ - rscadd: Two new legion drop. Assistant and Bee-Activist
+ - rscadd: Three new posters have been issued to the printing press
+ - rscadd: Well contruction, grubs to ash walker home, more seeds for ash walkers.
+ - rscadd: Wooden buckets can be made from 2 planks of wood, Tower caps also can
+ be used on a fire to make coal
+ - tweak: Makes all ashwalker round start seeds 5 yield and 50 harvest so that they
+ can get good crops in rather then failing after 1 harvest
+ - bugfix: arrow crafting has been fixed
+ - balance: Blobs now can store 250 points.
+ - spellcheck: Alien bar stool is no longer bronze
+ - server: 28 days log changlogs have been added well 56+ day old changlogs have
+ been removed
+ - balance: Added sunglasses that are able to be huds AND prescription
+ - rscadd: Prescription sunglasses and crafting of each new type for - Diagnostic,
+ Med and Sec
+ - rscadd: Diagnostic Sunglasses
+ - bugfix: Blackists Prescription HUDs from sunglasses crafting
+ - tweak: Cotton/Durathread now stack to 80 bundles
+ - rscadd: Medical hardsuits now have a Medi-Hud built into its helm
+ - rscdel: Removed old unused Techweb Node selling
+ - imageadd: Corrects snowcones names and a pixle. Corrects Space Wind snowcone as
+ well
+ - bugfix: Arrow crafting has been fixed... Again...
+ - rscadd: Soidifaction of and uranium can be done as well as making new bluespace
+ shards
+ - balance: Xeno and Fountain Hall will no longer spawn more then once
+ - tweak: Makes the game want to spawn in more then one tumor maybe
+ - tweak: Number of paper work in the crate "freelance paperwork" is half
+ - code_imp: A few cases were something their is unneeded copy past replaced with
+ many 1 in spawns
+ - rscadd: Potass Iodide has been fitted into standered borgs as well as medical
+ ones. Upgraded hypos now have Prussian Blue as well.
+ - tweak: Syndi borgs Potass Iodide has been swapped for Prussian Blue
+ - bugfix: No longer can you get the The End and Russian Flask without being the
+ donator
+ - balance: Pipes are small now
+ - bugfix: Edaggers now enbed as intended
+ - rscadd: The sleeper agents can be outfitted with some larger then normal sunglasses
+ for 1TC in Badass category
+ - rscadd: The Syndi Medical borg has been outfitted with the newest and latest ~~Stolen~~
+ MediCo Gear on the market
+ - rscadd: Ninjas may be asked to steal the CMO's smart drapes
+ - tweak: Hyper Cell steal goal is upgraded to a bluespace cell, as well as the BoH
+ goal now wants a type of BoH rather then the normal default one.
+ - rscadd: Gutlunches have gotten teeth now and will eat legs, arms, and organs!
+ - Tho are picky and will not eat the brain just laying about!
+ Useroth:
+ - bugfix: contractor tablets spawned with invalid icon_state
+ Xantholne:
+ - rscadd: Bumbles is now actually in every station's hydroponics.
+ - bugfix: Bumbles will now actually rest, sit up, and buzz
+ YakumoChen:
+ - imageadd: Nekomata (double cat) tails.
+ - imageadd: 2CAT LMAO
+ - bugfix: Mining base looks more natural where it's spawned.
+ - server: Templates Headers will now correctly use the Citadel Official Wiki Link
+ Yenwodyah:
+ - bugfix: Bear traps and bolas apply slowdown correctly again
+ - bugfix: Recycler doesn't delete people in mechs, cardboard boxes, spells, etc.
+ anymore.
+ actioninja, ninjanomnom:
+ - tweak: Being fat is no longer lessened by flying.
+ - bugfix: The slowdown from grabbing someone no longer applies when you're floating.
+ bunny232:
+ - rscadd: Box bar now has a lightswitch.
+ - bugfix: fixes several piping issues around box station
+ - bugfix: moved a scrubber and vent down 5 pixels
+ - rscadd: Box station captain office now has a standard issue renault
+ - bugfix: Box bridge now actually has the air distro connected
+ dapnee:
+ - rscadd: Lambdastation and it's accompanying files
+ - rscadd: Robotic's APC, a few missing buttons (bridge shutters and crematorium),
+ paramedic has spawn locations now, two rapid cable deployers to engineering
+ - tweak: Renamed some doors and edited engineering to be a bit more open in one
+ spot
+ - bugfix: a few APCs with bad area tags, access on maintenance doors fixed, engine
+ APC is now connected to the grid instead of power created by the engine
+ - rscdel: the two syringe guns in medical were removed
+ - rscadd: couple gas masks around atmos
+ - bugfix: direction on turbine plasma pressure tank, cloning actually has a cloning
+ console now
+ floyd:
+ - bugfix: Everything made from glass in the game has a little more tegridy and doesnt
+ break from a single punch.
+ kappa-sama:
+ - rscdel: removed laptops giving slowdown when open
+ - balance: removed (mostly aesthetic) requirement to become hulk
+ - bugfix: changed add to remove on crit
+ - rscadd: a super combat shotgun that loads and fires 2 shells at a time
+ - balance: replaces bubblegum's blood contract drop with the super shotgun
+ - balance: 60 seconds instead of 120 for firebreath
+ keronshb:
+ - balance: blobs now receive a 50% cost refund on attacks that don't spread
+ - balance: reflector blobs are considerably tougher
+ - bugfix: fixed an integrity
+ - bugfix: attempting to turn a damaged strong blob into a reflector blob now refunds
+ points
+ - bugfix: also fixes blob node camera jump (from another PR)
+ kevinz000:
+ - code_imp: Mobility flags are here. Fixed some edge cases with xeno hardstuns and
+ similar stuff like warden's shotgun hardstuns and yeah.
+ - rscadd: Security now has riot quarterstaves in their lethal shotgun locker.
+ - tweak: Pushing is no longer free space movement.
+ - tweak: You can now right click to point the tip of some sharp tipped weapons at
+ people.
+ - bugfix: compact defibs have 10k cells again
+ - tweak: music max characters per line is now 150 instead of 50.
+ - bugfix: storage no longer closes while being dragged
+ - balance: disabler taser alt fire shots are faster and have a 14 tile range now
+ - balance: HoS taser now only applies tased effect for 1 second and warden's pump
+ action stun blaster no longer applies it at all.
+ - balance: Nanite adrenals have been nerfed.
+ - balance: Ninja stungloves nerfed 49 stamina to 25 (so they're basically just better
+ than stunbatons).
+ - tweak: Batons now also trigger disarm behavior in disarm intent and not just on
+ right click.
+ - refactor: combat mode/sprint/resisting lying down/attempting to crawl under all
+ refactored, added combat/sprint mode lockouts, being locked out of combat mode
+ no longer disables it and allows right click interactions etc etc
+ - bugfix: hands free actions no longer check mobility and only consciousness.
+ - rscadd: Minimaps, accessible via a button on OOC.
+ - bugfix: unnecessary blindness post-unconsciouss has been fixed with a hack that's
+ almost as garbage as the code that caused it in the first place.
+ - bugfix: synthflesh and rezadone now take total amounts of both applied and existing
+ reagents rather than only existing and only applied respectively.
+ - balance: reverts bubblegum bloodling swarming.
+ - balance: Beam rifles shot count 10 --> 5 and can no longer pierce. Also renders
+ properly for reflections against blobs and some other things.
+ - bugfix: being stunned no longer stops an ai from undeploying from a shell.
+ - bugfix: beam rifles are less terrible code
+ - code_imp: slowdown on items should now be set by set_slowdown().
+ - bugfix: hypereutactic blades properly slow down their wielders when being used
+ and vv-editing an item's slowdown will once again properly update someone's
+ slowdown to take the new value into account.
+ - balance: stunprods knockdown again.
+ monster860:
+ - tweak: You can now moan in soft crit
+ - rscadd: Use Ctrl-Shift-direction key to shift your characters position. Use for
+ ERP.
+ necromanceranne:
+ - rscadd: Ports New Sleeping Carp
+ - refactor: Ports the martial arts refactors, which includes things like moving
+ martial into the martial subfolder and renaming it _martial, and cleans up human_defense
+ rising bass/sleeping carp exclusive code.
+ - balance: Particle Defender is now a much more sane weapon.
+ - balance: Tasers are no longer ignoring stimulants.
+ - bugfix: Blood beam can't create harvesters out of mech pilots.
+ - code_imp: Some minor fixes to fakedeath and a tg fix port.
+ - bugfix: Bleeding out all your blood from getting love tapped by a toolbox.
+ - bugfix: Diagnostic HUDSunglasses are better than ever!
+ - bugfix: Sprite fixes I hope
+ - balance: You can no longer acquire stun bullets in the .45 calibre. You can get
+ the 30 damage version out of the autolathe instead.
+ - balance: KITCHEN GUN (TM) is a lot stronger. Cleaning bullets are a whole 40 damage!
+ - bugfix: Fixed turrets not allowing their guns to be recovered.
+ - balance: Altered the plastitanium rapier from a perfect AP but weaker esword equivalent
+ to a more unique sleep inducing melee weapon.
+ - rscadd: Touched up all the relevant sprites.
+ - balance: Nightvision goggles are nerfed all-round. Flashes have actual use against
+ people using nightvision, as do flashbangs.
+ - balance: Syndicate nuclear agents get to live peacefully knowing their eyes are
+ well protected by their special night vision goggles. Spider clan also get these
+ goggles.
+ raspyosu:
+ - rscadd: some flavor text for lunge, cloak
+ - tweak: mesmerize, cloak functionality/requirements
+ - balance: mesmerize, lunge, cloak
+ - soundadd: lunge telegraph sound
+ - spellcheck: mesmerized status icon flavor text
+ - bugfix: cloak sometimes not restoring initial move intent
+ - tweak: mesmerize (line of sight checking system and remove progress bar)
+ - balance: 'nerf: lunge, mesmerize'
+ spookydonut:
+ - code_imp: adds selective duplicate component mode
+ wesoda25:
+ - code_imp: You no longer hit fermenting barrels when taking reagents from them
+ zeroisthebiggay:
+ - rscadd: kilo shuttle less bad
+ - rscadd: tauric contractor space suits
+ - tweak: ghost hud and nv defaults on
+ - bugfix: syndicate elite hardsuit helmet doesnt hide masks anymore
+ - balance: syndicate contractor helmets are no longer secretly lead
+ - rscadd: Space Fashion has discovered a new way to wear bandannas. With some simple
+ minor adjustments and ties, bandannas can be made into fashionable neckerchiefs!
+ - rscadd: Box Station has gotten a brand new brig. Go and check it out and discover
+ all the quirky little soulbits.
+ - bugfix: box brig miscellaneous issues
+ - bugfix: box station hos office
diff --git a/html/changelogs/archive/2020-04.yml b/html/changelogs/archive/2020-04.yml
new file mode 100644
index 0000000000..10525cd200
--- /dev/null
+++ b/html/changelogs/archive/2020-04.yml
@@ -0,0 +1,327 @@
+2020-04-15:
+ Arturlang:
+ - rscadd: Adds garlic, a mutation of onions
+ - rscadd: You can now make garlic necklaces.
+ - tweak: Tweaked hunger to be more the same as blood level for bloodsuckers
+ - tweak: Bloodsuckers no longer get zero healing from regenerative cores, the core
+ now heals their wounds but not their blood.
+ - balance: Bloodsucker heal is now based a lot more on blood level.
+ - bugfix: You can no longer be effectively immortal when fully auged as a bloodsucker.
+ - bugfix: Regenerative cores will regain their old names when they are renewed,
+ no more working decayed cores.
+ - code_imp: Removes a lot of unnecesiry clutter of comments and tries to make the
+ vars more consistent for bloodsucker code.
+ - code_imp: Made the regenerative core use one proc instead of copypasta
+ Auris456852:
+ - rscadd: Added printer sound for admins that plays when someone messages Centcomm
+ or the Syndicate. Just like RP!
+ Bhijn:
+ - admin: The traitor panel now actually shows a list of contractor targets.
+ - server: Fail2Topic now supports Linux. Do beware that this requires some sysop
+ experience to properly set up!
+ - config: Fail2Topic is now disabled by default, and the out-of-the-box config files
+ have been updated to be a little more detailed.
+ - rscadd: Added a lfwb-inspired orbiting pixel + flashing outline animation to the
+ sprint and combat mode buttons. This can be toggled via the preferences menu,
+ and is completely independent from all HUD themes.
+ BuffEngineering:
+ - bugfix: You may no longer summon plasteel from the door dimension.
+ - tweak: High security airlocks are now 33% more materially efficient!
+ DeltaFire15:
+ - balance: clockie vanguard now quickly regenerates stam while active (as its description
+ always told you,)
+ Detective-Google:
+ - balance: Shotguns are now slower and require two hands to fire.
+ Ghommie:
+ - bugfix: mobs with antag statuses such as wizard, ert and nuke ops get their flavor
+ text removed now.
+ - bugfix: Fixed megafauna mobs, goliaths and "anchored" AIs being stuffable into
+ closets.
+ - bugfix: After years of visual agony, the Curse of The Floating Disembodied Phallus
+ has come to an end.
+ - rscadd: Underwear now fulfills its purpose.
+ - rscadd: Privates visibility preferences.
+ - refactor: refactored polychromic clothing into an element.
+ - tweak: Blacklists unsynthetizable reagents from botany bees honey production.
+ - bugfix: Fixed toilet cistern loot spawning on the floor.
+ - tweak: The megafauna's hitbox doesn't include 0 alpha sections anymore.
+ - bugfix: Wizard robes & co work again now.
+ - bugfix: Fixed some spell casting message spam.
+ - rscadd: Added M/F body preferences.
+ - bugfix: fixed yet another few airless issues with the space hermit ruin.
+ - bugfix: Intellectual property infringment is not cool.
+ - bugfix: Near-station nuclear explosions now display the on-station nuke explosion
+ cinematic, consistently with its clearance of the station level and its nuclear
+ victory / total annihilation ending status.
+ - balance: Nuclear bombs can't be anchored in space areas (not just turfs) anymore,
+ as a quick effortless way to discourage players from anchoring the device on
+ the edge of the map.
+ - bugfix: Fixed a whacky miniature cell duping issue.
+ - bugfix: Liver failure is back!
+ - tweak: standarized a few (prefs off) side effects from enlargment chems on livers
+ to do organ damage instead without the blood volume whackiness.
+ - tweak: High liver damage now slows mobs down.
+ - bugfix: Fixing an issue with the split personality removing the original owner
+ from the round if the body died while the stranger was in control.
+ - bugfix: fixed a few floaty sprite accessories.
+ - bugfix: Fixed a few mutations not working correctly.
+ - bugfix: Fixed the phantom thief component, again.
+ - refactor: Made votes obfuscation settings more robust.
+ - admin: Also included them in custom votes.
+ - tweak: The map rotation vote will only hide ongoing votes now, not the results.
+ - balance: The crusher's vortex talisman trophy now has a cooldown between each
+ spawned wall.
+ - refactor: Backend body size preferences.
+ - bugfix: Infiltrator's boots don't stop slips and "space wind" through the power
+ of runtime errors anymore, and properly silence the user's footsteps now.
+ - tweak: Chaplains are now inelegible for bloodsuckers.
+ - bugfix: Fixed crafting hud icon overlapping the second pocket on 1:1 screen mode.
+ - code_imp: Removed some dead flightsuit code leftovers.
+ - rscadd: Reenabled the swarmers event. Also blacklisted another dozen other machineries
+ and structures that may be critical to the shift or station integrity from swarmers'
+ HUNGER for materials.
+ - bugfix: Fixed find_safe_turfs() searching for turfs with concentration of oxygen
+ lower than 16 rather higher.
+ KathrinBailey:
+ - rscadd: Radiation shuttesr to all supermatters.
+ - rscadd: Windowed shutters to armouries where relevant.
+ - rscadd: New posters are now on the map in relevant locations.
+ - bugfix: Windowed shutter now has glass, the door closing proc sees this and no
+ longer changes opacity.
+ - bugfix: Accidental HoochMaster removal in the bar.
+ - bugfix: Spawning looking at the supermatter with no mesons on Meta.
+ - bugfix: Missing disposal pipe outside HoP office.
+ - bugfix: Sofas were never adjusted when the pool was added.
+ - rscadd: New shutter sprites
+ - rscadd: Reinforced Shutter
+ - rscadd: Radiation Shutter
+ - rscadd: Window Shutter
+ - tweak: Shutters not being blast doors functionally.
+ - balance: Shutter armour block and health.
+ Kraseo:
+ - balance: Sneaksuit now costs 5 TC rather than 3.
+ - bugfix: You can break out of neckgrabs once more.
+ Owai-Seek:
+ - rscadd: Port Pina Colada, Painkiller, Moscow Mule, Hivemind Eraser, Moana Lou
+ Drinks
+ - rscadd: Gunfire, Hellfire, Sins Delight, Strawberry Daiquiri, Miami Vice, Malibu
+ Sunset, Lizz Fizz, Hotline Miami
+ - rscadd: Strawberry and Pineapple Juice
+ - rscadd: Salami Slices
+ - tweak: Soda Dispenser Juices
+ - tweak: Reorganize Vendor Objects (Bowls, Glasses, Shot Glasses)
+ - tweak: Strawberry Milk and Tea actually use strawberry Juice.
+ - tweak: Lizards can eat egg wraps. Moved Egg Wraps to Misc
+ PersianXerxes:
+ - rscadd: 'TGUI Next UIs for: chem heaters, chem masters, chem dispensers, and sleepers'
+ - code_imp: Reworked Chem Master code
+ Putnam3145:
+ - rscdel: No more station integrity goal
+ - tweak: Upload-hacked-law goal only picksif there's an AI to upload to
+ - rscadd: A new, much more barebones holding facility for contractors.
+ - rscdel: Energy nets are gone.
+ - tweak: Various ghost roles are now easier to ghost as.
+ - tweak: The candles in the dojo no longer make the place hotter and hotter over
+ time.
+ - rscdel: Nymphomania removed
+ - code_imp: Exhibitionism ignored by preferences now, since it was also removed
+ - code_imp: Quirk migration now does an admin log instead of a stack trace
+ - bugfix: Roundstart rulesets now roll properly.
+ - config: Added configs for various antag threat levels.
+ - bugfix: Fixed a runtime in threat calculation.
+ - tweak: Fixed up some misleading texts.
+ - tweak: 'Dynamic reworked to be more "storyteller-like": threat is now how threatened
+ the station is right now and threat level is how much the mode wants the station
+ to be threatened.'
+ - tweak: Random storyteller is now truly random.
+ - tweak: Story storyteller now gives a nice rising-action-climax-falling action
+ curve for threat level.
+ - tweak: '"Chaotic" storyteller now simply ramps up threat level as round goes on.'
+ - rscadd: '"Classic" storyteller, basically doing what "random" did before.'
+ - rscadd: Latejoin changelings for dynamic
+ - bugfix: Average threat calculation works now
+ - bugfix: Contamination is back.
+ Seris02:
+ - balance: stops hijackers from being able to remotely blow up borgs
+ - rscadd: wall walking boots
+ - bugfix: made color picking for character appearance show the colors when you pick
+ them
+ - tweak: the sergal markings
+ Trilbyspaceclone:
+ - rscadd: Cooks aided by Clowns have came out with and new healthy Salad - Caesar
+ Salad. Just dont eat the knife...
+ - rscadd: Ports over TG's Mortars and Pestles.
+ - balance: Water, Holywater and Unholywater will now now quickly purge itself if
+ you have 151u in your system
+ - rscadd: Most crate types can now be made, some costing more do to function over
+ fashion
+ - rscadd: Medical Mechs syringe gun now knows many more life saving chems, like
+ Insulin, Dexalin, Prussian Blue, Kelotane and Bicaridine
+ - balance: torches take less staminda to use.
+ - balance: Glowsticks dont last as long
+ - balance: Penlights are better at being lights
+ - balance: Torches are brighter then before - Indian Johns want to be on lava land
+ rejoy!
+ - balance: Eye lights have 30% less light coming out of them.
+ - spellcheck: Spec Ops crate no longer talks about a "Null Crate" what ever that
+ is
+ - server: Changlogs are updateded once again as of the 28th of March on year 2020
+ - balance: White Ships, Telerelays and a defunk mining post are now always going
+ to spawn.
+ - spellcheck: Corrects a few desc on station side ruins
+ Xantholne:
+ - bugfix: bumbles will stop sleeping so much
+ actioninja:
+ - rscadd: Washing machines now support arbitrary dye color
+ - rscadd: Washing machines now dye nearly every item.
+ - refactor: lots of backend changes to clothing overlays, report any issues
+ - rscadd: Better glowing lights
+ actioninja (ported by Ghommie):
+ - refactor: repathed all under clothing, keep an eye out for errors.
+ bunny232:
+ - bugfix: Box secmos now is now longer connected to the scrubber loop
+ dapnee:
+ - rscadd: plant disk sorter in botany, bounty console for the rest of cargo, a missing
+ air alarm in the incinerator
+ - tweak: fixed a decal in front of security, moved an AIR alarm so it doesn't look
+ awful to ghosts/AI, asteroids don't delete air anymore, fixed more active turfs,
+ the buttons in the bridge "should" work now, HoP and cargo desks should be secure
+ now
+ - rscdel: quarters that found their way out of the quartermaster's back room
+ kappa-sama:
+ - rscdel: normies can no longer steal circuit codes
+ - balance: doubles the Stam damage of nonlethal krav stompers
+ - bugfix: no longer Krav Maga stomp people that are standing
+ - balance: no more 20pop requirement for noslips
+ keronshb:
+ - tweak: Reverts Mining Base RNG Placement
+ kevinz000:
+ - rscadd: Melee attacks now stagger people, preventing them from sprinting until
+ the (relatively short lived) effect runs out. Duration equation is [(1.5 + (w_class/7.5))
+ * force].
+ - balance: Fireman carrying now makes the person being carried unable to use items.
+ Piggybacking now slows down the person being ridden. In both cases, the person
+ riding will be dazed when forcefully dismounted, and dazed for a second if dismounting
+ from piggybacking
+ - bugfix: turfs properly initialize atom colors if they're colored.
+ - tweak: cloners now stabilize mutations while someone's cloning, meaning active
+ genes will not life tick.
+ - code_imp: datum/pipeline return_air stack trace now gives a reference so it's
+ actually marginally useful if caught in round.
+ - rscadd: Volumetric storage is here.
+ - rscadd: Traitor chaplains can now become neutered versions of cults.
+ - bugfix: beams should no longer go across the map and mess everything up if their
+ source or target isn't on a turf.
+ kiwedespars:
+ - rscadd: Added paper masks.
+ necromanceranne:
+ - bugfix: Fixed limb damage calc
+ - tweak: Stunslugs are now a mixed damage taser-like slug that will allow you to
+ apply a variety of damage while still being countered by tasers usual counters.
+ - balance: Mech scattershot guns are no longer oneshotting people into stamina crit.
+ - rscdel: 'Removed an number of cargo crate packs: Riot shotguns/standard shotguns,
+ double barreled shotguns, techshell crate, swat tasers, WT550 types (not rubber
+ or standard), traitor theft objective kits.'
+ - balance: HEALTH AND STAMINA DON'T STACK FOR PUTTING YOU INTO STAMINA CRIT.
+ - balance: YOUR FISTS ARE HELLA GODDAMN STRONG.
+ - balance: 'ACCEPT THE FELINIDS WARES, FOR SKOOMA HAS INCREDIBLE LETHAL PROPERTIES:
+ YOUR HANDS BECOME LIKE SWORDS.'
+ - balance: BOXERS CAN ONLY KNOCK OUT OTHER BOXERS BECAUSE THEY HAVE HONOR OR SOME
+ SHIT
+ - balance: INCREASED STAMINA DAMAGE TO LIMBS FROM 50% TO 75%.
+ - balance: Double-barreled shotguns and any child of such now can be used with off-hand
+ equipment.
+ - rscadd: Readds bioterror darts to the nuclear operative uplink for the legacy
+ price of 6tc! Has all new horrid reagents!
+ - balance: Scatterlaser is now in-line with buckshot. Nukies can't purchase scatterlaser
+ shot.
+ - rscdel: Null crates are no longer available in cargo!
+ - bugfix: Sleeping Carp and Rising Bass now dodge. Again.
+ - bugfix: Russian Revolver can no longer be exploited for a free 357.
+ - balance: Several guns now shoot exactly where you click regardless of movement
+ or turning.
+ timothyteakettle:
+ - rscadd: added beacon for cooks to choose an ingredient box, which replaces the
+ random box they used to receive
+ - rscadd: added a new sushi ingredients box
+ - rscadd: added more items to the wildcard box's possible contents
+ - rscadd: add new holodeck wrestling belt which lets you use moves only on those
+ also wearing it
+ - rscadd: add new holodeck map featuring the holodeck wrestling belt
+ - rscadd: new reagent 'Condensed Cooking Oil'
+ - tweak: list of chems that can go into fried non-food items was changed
+ zeroisthebiggay:
+ - rscadd: sneaksuit to contractor items
+ - tweak: sneaksuit is a bundle
+ - rscdel: intel potion and radio implant from contractor items
+ - rscadd: ghosts can now DNR
+ - balance: sneaksuit is not fireproof
+ - bugfix: insidious balaclava muzzlepsprite works
+ - rscadd: You can now choose your name and color as a holoparasite/guardian/holocarp!
+ - bugfix: fixes lings being able to get mechanical holoparasites
+2020-04-16:
+ ForrestWick:
+ - tweak: changed a certain item to be called meatball, ended racism, thank you obama
+ Linzolle:
+ - tweak: remove any slurs, etc. to comply with GitHub's ToS
+2020-04-19:
+ Anonymous:
+ - rscadd: Xenohybrids will now scream like xeno.
+ Arturlang:
+ - bugfix: You can no longer spam craft things using the crafting menu
+ Detective-Google:
+ - bugfix: uncorks some of Lambda's rooms.
+ Ghommie:
+ - rscadd: Custom skin tone preferences.
+ - tweak: Normalized box dorm lockers. Also removed a straight jacket found in the
+ same area.
+ Jake Park:
+ - bugfix: fixed path name for youtool vending
+ Putnam3145:
+ - bugfix: Objectives now clean theirselves up instead of leaving null entries in
+ lists everywhere.
+ Seris02:
+ - bugfix: stops magboots from not updating slowdowns
+ Trilbyspaceclone:
+ - rscadd: Maints have seen an uptick in left over types of welders, and tools. As
+ well as different types of masks
+ - rscadd: New type of 02 locker - Rng! It can have almost any type of gas/breath
+ mask and almost any type of o2 tank as well as even plasma men internals - Fancy!
+ - tweak: Tool lockers have 70% odds to have a spare random tool inside!
+ - rscadd: 12 new more drinks for most races!
+ - rscadd: New animations for mauna loa, and colour swap from red to blue for a Paramedic
+ Hardsuit helm
+ - tweak: Lowers cog champ ((the drink)) flare rate
+ - rscadd: Six more Sci based bounties have been posted at your local Cargo Bounty
+ Request console
+ - bugfix: Mimes have made catnip plants not become invisible. How helpful.
+ - rscadd: Honey Palm now distills into mead rather then wine
+ UristMcAstronaut:
+ - rscadd: Adds circuit analyzers to maps and to integrated circuit printer and circuitry
+ starter crate.
+ kappa-sama:
+ - balance: aranesp heals 10 instead of 18 stamina per tick
+ - rscdel: removed roundstart hyper earrape screams from xenohybrids
+ kevinz000:
+ - bugfix: you can no longer stun xenos
+ - balance: Contractor kits are now poplocked to 30 players.
+ - rscadd: Shield bashing has been added
+ necromanceranne:
+ - rscadd: You can now craft armwraps!
+ - balance: Pugilists disarm you more easily and are harder to disarm. They also
+ get a discount on disarm.
+ - balance: Pugilists only suffer a flat 10% chance to miss you. It's just like old
+ punches! Kinda.
+ - balance: Chaplain's armbands are a +2, up from a +1!
+ - balance: Martial artists spend stamina when they disarm.
+ - balance: Rising Bass had several moves shortened and made stronger. Has a disarm
+ override attack which does stamina damage and trips people on a disarm stun
+ punch.
+ - balance: CQC had it's disarm move altered to be a stronger version of Krav Maga's.
+ Dizzies and disarms on a disarm stun punch or just does some stamina damage
+ and brute damage.
+ - balance: Sleeping Carp can punch you to the floor on a harm stun punch.
+ - bugfix: Hugs of the Northstar are no longer nodrop.
+ - bugfix: Adding in some overrides and proper flag checks for martial arts.
+ - bugfix: Stun thresholding stops disarm spams at extremely high stamina loss.
+ - tweak: Ashen Arrows are actually called Ashen Arrows in the crafting menu.
diff --git a/html/changelogs/archive/2020-06.yml b/html/changelogs/archive/2020-06.yml
new file mode 100644
index 0000000000..e269906a84
--- /dev/null
+++ b/html/changelogs/archive/2020-06.yml
@@ -0,0 +1,353 @@
+2020-06-08:
+ DeltaFire15:
+ - bugfix: Delinging now properly removes their special role
+ - balance: Keycard auth devices now require two seperate IDs with sufficient access
+ to auth.
+ Linzolle:
+ - bugfix: shotguns no longer delete chambered shells while firing
+ kevinz000:
+ - rscadd: test
+ - rscdel: test
+ shellspeed1:
+ - rscadd: Internal tanks are now printable at the engineering lathe.
+ timothyteakettle:
+ - bugfix: newly created areas using blueprints now maintain the previous areas noteleport
+ value
+ - bugfix: kudzu seeds now actually spawn vines
+2020-06-09:
+ Anonymous:
+ - rscadd: Added Orville-inspired clothing as a worthy alternative to Trek stuff.
+ - tweak: Adds chaplain role allowance to the TMP Service Uniform loadout.
+ - tweak: Adds paramedic in every medsci mentioned uniform loadout.
+ DeltaFire15:
+ - bugfix: Offstation AIs can once again only interact with their z-level
+ Ghommie:
+ - bugfix: Fixing IC material containers interaction with stacks, for real.
+ Trilbyspaceclone:
+ - tweak: Gasses like BZ and Masiam seem to just sell for less in cargo, markets
+ seem to change it seems
+ kevinz000:
+ - balance: plantpeople should stop dying in the halls now
+ - rscadd: Modifier-independent hotkey bindings have been added.
+2020-06-10:
+ DeltaFire15:
+ - bugfix: Golems / simillar now inherit the neutered antag datum if the creator
+ is neutered.
+ Ghommie:
+ - bugfix: Fixing missing pill type buttons from the chem master UI.
+ Naksu:
+ - code_imp: Lighting corner updates are ever so slightly faster.
+ Putnam for helping me code the contamination clearing on people:
+ - rscadd: Lab made Zeolites have been remade anew and more affective now that they
+ refined the best possable way to mix and make a supper Zeolite capable of clearing
+ contamination form not only people but items!
+ Trilbyspaceclone:
+ - tweak: Tank Dispender has been moved into toxin storage from toxins
+ kevinz000:
+ - rscadd: traitor classes can now be poplocked. hijack/glorious death are now locked
+ to 25/20 respectively.
+ timothyteakettle:
+ - rscadd: adds a new fermichem, used for creating sentient plushies!
+ - rscadd: Mice can now breed using cheese wedges
+ - rscadd: Royal cheese can be crafted to convert a mouse into king rat
+2020-06-11:
+ Ghommie:
+ - balance: Balanced vending machine prices to be generally more affordable, a minority
+ has been priced up though.
+2020-06-12:
+ EmeraldSundisk:
+ - tweak: The Detective's Office has been commandeered in order to serve a Head of
+ Security. Detectives will find their new office within starboard maintenance.
+ - rscadd: Adds the Head of Security's standard equipment to their new office.
+ - tweak: Slight adjustment/expansion to the main security department
+ - rscadd: Additional maintenance work
+ timothyteakettle:
+ - rscadd: Crabs, cockroaches, slimes and crabs are now small enough to fit in pet
+ carriers
+2020-06-14:
+ Bhijn:
+ - bugfix: raw HTML can no longer be used in flavortext
+ - rscadd: Added Lesbian Visibility Day (April 26th)
+ - rscadd: Added Bisexual Visibility Day (September 23rd)
+ - rscadd: Added Coming Out Day! (October 11th)
+ - rscadd: Added Intersex Awareness Day (October 26th)
+ - rscadd: Added Transgender Awareness Week (November 13th - 19th)
+ - rscadd: Added the Transgender Day of Remembrance (November 20th)
+ - rscadd: Added Asexual Awareness Week (Last full week of October, this year it'll
+ be Oct. 25-31)
+ - rscadd: Added the Stonewall Riot Anniversary (June 28)
+ - bugfix: Moth week is now *actually* the last full week of July, instead of the
+ 4th of every weekday + the 5th Sunday.
+ Floof Ball / Kathrin Morrison / Floof Ball#0798:
+ - rscadd: Improvised Pistol + 32 ACP ammo.
+ - rscadd: Improvised Energy Gun. Fires 5 shots of 10 burn damage each. Can be upgraded
+ with a lens made from glassworking and T4 parts for a minor buff.
+ - rscadd: Ammo + gun part loot spawners for mappers.
+ - rscadd: New sprites for Improvised Rifle, the ability to sling the rifle and a
+ sprite for that.
+ - rscadd: New sprites for the Improvised Shotgun and its sling sprite.
+ - balance: Improvised shotguns are now two-handed only.
+ - balance: Improvised shotguns now only have a much less harsh 0.9* modifier, keeping
+ them two hits to crit with slugs and buckshot. It can no longer be dual-wielded
+ but can still be sawn off for w_class medium (can fit in backpacks).
+ - bugfix: Missing handsaw icons added in.
+ - tweak: Crafting table cleaned up into sections.
+ Ghommie:
+ - tweak: changed the weak attack message prefix from "inefficiently" to "limply",
+ "feebly" and "saplessly" and lowered the threshold.
+ - bugfix: Fixing old beserker hardsuits having the wrong helmet type.
+ The0bserver and Stewydeadmike:
+ - rscadd: Hey, there's a bit of dust in this recipe book! Recipes using peas? How
+ many recipes does this book even have?
+ - rscadd: Adds 6 new food items, and 1 new consumable reagent using all forms of
+ the recently discovered peas. Ask your local botanist and chef for them today!
+ YakumoChen:
+ - tweak: Adds polychrome options to loadout
+ - tweak: Adds risque polychrome options to Kinkmate vendors
+ kevinz000:
+ - bugfix: emissive blockers can no longer be radioactive.
+ - rscadd: Ghosts can now scan air inside most objects that contain air by clicking
+ on them.
+ - rscadd: Directional blocking has been added, keybound to G. This will reduce a
+ portion of incoming damage if done with eligible items at the cost of stamina
+ damage incurred to the user based on damage blocked as well as while active,
+ as well as in most cases preventing the user from doing any attacks while this
+ is active.
+ - rscadd: Parrying has been added, keybound to F. Timing-based counterattacks, effect
+ heavily dependent on the item, WIP.
+ - balance: Disks are now smaller.
+2020-06-15:
+ Anturk, kevinz000:
+ - bugfix: VV now properly allows access to datums in associative lists
+ - rscadd: SDQL2 printout has been upgraded for the 5th time.
+ kevinz000:
+ - bugfix: plushies now work. credits to timothytea.
+ - rscadd: You can now tape knives to cleanbots
+ kevinz000 (port from VOREStation):
+ - imageadd: Ported zoomba skins for cyborgs.
+2020-06-16:
+ Ghommie:
+ - bugfix: You can't blink nor use LOOC/AOOC as a petrified statue anymore.
+ Trilbyspaceclone:
+ - tweak: BEPIS decal painter has been moved to venders, replacing it being the flashdark
+ kevinz000:
+ - refactor: projectile ricochets now use a less hilariously terrible way of being
+ handled and should be easier to w
+ - bugfix: projectile runtime/ricocheting
+ - balance: Lobotomy no longer has a 50% chance of giving you a nigh-unremovable
+ trauma, but does 50 brain damage even on success. On failure, it will give you
+ a lobotomy-class trauma.
+ - balance: spinesnapping from tackling now only gives a lobotomy class trauma instead
+ of magic.
+ timothyteakettle:
+ - bugfix: Food carts now function as intended, allowing the pouring and mixing of
+ drinks.
+ - rscadd: slimes can now change their color using alter form
+2020-06-17:
+ SmArtKar:
+ - rscadd: New ID icons
+ - rscadd: Sutures and Meshes
+ Trilbyspaceclone:
+ - bugfix: Gin export takes gin now
+2020-06-18:
+ Detective-Google:
+ - tweak: cog is now less the suck
+ - bugfix: couple little derpy bits
+ - balance: malf disk and illegal tech disk moved from ashwalker base (guaranteed)
+ to tendrils (chance based)
+ SmArtKar:
+ - rscadd: Ported shuttles from beestation
+ timothyteakettle:
+ - rscadd: embeds got reworked, sticky tape was added, more bullets that ricochet
+ also added
+ - rscadd: medbots can now be tipped over
+ - soundadd: added more medbot sounds
+2020-06-19:
+ Bhijn:
+ - bugfix: Atmos can no longer become completely bricked
+ Funce:
+ - bugfix: Square root circuit should now actually work.
+ SmArtKar:
+ - bugfix: Fixed my runtimes
+ TheSpaghetti:
+ - rscadd: more insectoid insects
+ kevinz000:
+ - rscadd: bay/polaris style say_emphasis has been added. You can now |italicize|
+ _underline_ and +bold+ your messages.
+ timothyteakettle:
+ - rscadd: Adds the brain trauma event, where one player gets a random brain trauma!
+ - rscadd: Adds the wisdom cow event, where the wisdom cow appears on the station!
+ - rscadd: Adds the fake virus event, where people get fake virus symptoms.
+ - rscadd: Adds the stray cargo pod event, where a cargo pod crashes into the station.
+ - rscadd: Adds the fugitives event, where fugitives are loose on the station, and
+ it's the hunters jobs to capture them.
+2020-06-20:
+ LetterN:
+ - rscadd: Asset cache from tg
+ - tweak: Made the map viewer not look bad
+ - bugfix: Admin matrix right-bracket
+ bunny232:
+ - rscdel: Removed unsavory things from the vent clog event
+2020-06-21:
+ kevinz000:
+ - balance: calculations for punch hit chance has been drastically buffed in favor
+ of the attacker.
+2020-06-22:
+ Ghommie (porting PRs by zxaber, Ryll-Ryll, AnturK):
+ - tweak: Certain small items purchased through cargo now get grouped into a single
+ box. They also are immune to the 10% private account fee.
+ - rscadd: Added single-order options for several existing products in the Cargo
+ Catalog.
+ - tweak: Medkit listings are now single-pack items, and considered small items that
+ get grouped into single boxes. Price for medkits is as close to unchanged as
+ is reasonable.
+ - rscadd: You can now beat on vending machines to try and knock loose free stuff!
+ You can also almost kill yourself doing it, so it's your call if your life is
+ worth ten bucks.
+ - rscadd: Cigarette packets now have coupons on the back for small cargo items!
+ Smoking DOES pay!
+ - tweak: Some single/small items in cargo have been rebranded as goodies, come in
+ lockboxes rather than crates, and can only be purchased with private accounts.
+ kevinz000:
+ - refactor: Life() is split into BiologicalLife() and PhysicalLife. A component
+ signal has been added that can prevent either from ticking.
+ shellspeed1:
+ - rscadd: Adds IV bags.
+2020-06-24:
+ DeltaFire15:
+ - balance: Choosing a random item in your uplink will no longer sometimes reroll
+ your contract.
+ - rscdel: Syndicate crate event cannot fire as a random event anymore.
+ Detective-Google:
+ - bugfix: singulos no longer succ infinite rods out of the ice
+ - bugfix: one of the directions for the diag hudpatch was blu instead of orang
+ timothyteakettle:
+ - bugfix: bonfires/grills no longer produce infinite quantities of food
+ - bugfix: slime's alter form ability now updates their hair colour when changing
+ their body colour
+2020-06-25:
+ Anonymous:
+ - rscadd: Added kepi and orvilike kepi. Available through loadout.
+ Detective Google:
+ - rscadd: Medigygax
+ Detective-Google:
+ - bugfix: malf AIs can no longer yeet the station while shunted
+ - bugfix: SMESes can now properly use self charging cells
+ - rscadd: ghosts now show up when the round ends
+ - balance: away missions
+ Funce:
+ - bugfix: Mentor SQL queries are now deleted properly.
+ Linzolle:
+ - bugfix: analyze function on chem master is no longer broken
+ - bugfix: organs now decay inside dead bodies again
+ dapnee:
+ - rscadd: wataur bottle item
+ - imageadd: wataur bottle and overlay
+2020-06-26:
+ Ghommie:
+ - bugfix: Snore spam.
+ - bugfix: Hostile mobs shouldn't hit their original spawner structures or thoses
+ of the same faction.
+ silicons:
+ - bugfix: soap cleans blood again
+2020-06-27:
+ Detective-Google:
+ - tweak: Lying down is better
+ timothyteakettle:
+ - rscadd: felinids now nya when tabled
+2020-06-28:
+ Detective-Google:
+ - bugfix: cog is less the suck
+ - tweak: piggybacking is no longer absolutely inferior
+ Ghommie:
+ - bugfix: Fixing windows interaction with spraycans.
+ - bugfix: Fixing kinetic accelerator guns not working well with gun circuitries.
+ - bugfix: Fixing Zoomba borgs lights overlays.
+ - bugfix: Fixing the "absorb another ling" and "absorb the most dna" objectives
+ rolling when no other changeling is around.
+ - spellcheck: Clarified a pet peeve about the spread infestation ability.
+ - bugfix: BEPIS nodes won't show up anymore in the expert mode ui of the r&d console
+ anymore (good thing they weren't researchable).
+ - bugfix: Hopefully fixing sound loop edge cases.
+ - bugfix: Fixing pAI radios being permanently disabled by EMPs at times.
+ - rscadd: Windoors can now be obscured with spraycans just like windows.
+ Ghommie porting PRs by Qustinnus/Floyd, Willow, cacogen, nemvar, Ghilker and EOBGames (Inept):
+ - bugfix: Fixes a material duplication bug.
+ - code_imp: unique combinations of custom_materials lists are now shared between
+ objects
+ - rscadd: meat material. yes.
+ - rscadd: materials can now be used to build walls/floors. meat house
+ - bugfix: edible component now does not try to attack if you eat something with
+ it
+ - rscadd: Texture support for mat datums with thanks to 4DPlanner!
+ - bugfix: you no longer hit yourself with organs when eating
+ - rscadd: A whole bunch of materials are now datumised! Check out bronze, runed
+ metal, sand, sandstone, snow, paper, cardboard, bone and bamboo. Oh, and pizza.
+ Yes, pizza.
+ - balance: Buffs material floor tiles' throwforces from 1 to 10 (same as iron) to
+ better showcase the effect of different materials (e.g. meat vs. titanium)
+ - bugfix: Radioactive items no longer output a single . when examined at a distance
+ MrJWhit:
+ - rscdel: Removed air alarm in Snow Snaxi in Tcomms Sat
+ - rscdel: Removed trash bins in genetics and mining
+ - tweak: Gives cargo techs a cargolathe
+ Putnam3145:
+ - bugfix: lost my mind just a couple of times
+ b1tt3r1n0:
+ - rscadd: pouches, again, and and material pouches.
+ timothyteakettle:
+ - rscadd: support for custom blood colours implemented, slimes blood colour now
+ equivalent to their body colour
+2020-06-29:
+ b1tt3r1n0:
+ - balance: Made teratomas from sdgf less powergame
+ timothyteakettle:
+ - bugfix: slimes no longer have white blood by default
+2020-06-30:
+ Fikou:
+ - rscadd: spray cans, airlock painters, and decal painters added to engineering/service/autolathe
+ (where applicable)
+ Ghommie:
+ - bugfix: Fixed a gap on the male insect anthro torso sprite when facing south.
+ - bugfix: Fixed mecha ID access not being removable.
+ - bugfix: Fixed a peeve with the hypno trance status effect not sanitizing some
+ heard hypnosis inputs (i.e. custom say messages like say"honks*clownem ipsum
+ dolor")
+ - bugfix: fixed an issue about using stacks with only 1 amount left.
+ - bugfix: Fixed a peeve on attack messages against carbons/humans.
+ - bugfix: Fixed missing hypnochair board.
+ - bugfix: Fixed material walls and tiles. My bad on that port.
+ Ghommie (inspired by MrDoomBringer's work on tgstation):
+ - rscadd: New check skills UI.
+ Ghommie (porting PRs by XTDM, coiax, MrDoomBringer):
+ - tweak: Random Events now have a follow link for ghosts!
+ - rscadd: Adds the Spontaneous Brain Trauma to the event pool. Sometimes your brain
+ just goes a little wrong.
+ - rscadd: Sometimes a low level cloning pod will make errors in replicating your
+ brain, leaving you with a mild brain trauma.
+ - rscadd: When a person is cloned, any mental traumas are cloned as well.
+ - rscadd: The wizard federation announces that the Curse of Madness is out of beta
+ and is now available for purchase for 4 points. It causes long-lasting brain
+ traumas to all inhabitants of a target space station.
+ - rscadd: The wizard federation declines responsibility for any self-harm caused
+ by curses cast while inside the targeted station.
+ - rscadd: Due to the extensive testing of the Curse of Madness some unique new trauma
+ types have appeared across Nanotrasen-controlled space.
+ - rscadd: Curse of Madness can now be triggered by a wizard's Summon Events, at
+ the same chance as Summon Guns or Summon Magic.
+ - admin: When an admin triggers Curse of Madness manually, they can specify their
+ own dark truth to horrify the station with.
+ nightred:
+ - code_imp: Created two_handed component
+ - refactor: Updated all existing two handed items to use the new component
+ silicons:
+ - bugfix: typing indicators no longer generates duplicate message boxes.
+ - rscadd: config errors now have line numbers.
+ - tweak: outgoing mentorpms are now blue instead of green for the sender.
+ - soundadd: '*squish'
+ timothyteakettle:
+ - rscadd: you can now select your tongue and speech verb in the character customization
+ menu!
+ - rscadd: skeleton is now split into two more types, greater and lesser
+ - bugfix: non-carbon blood is now not white
+ - spellcheck: fixed a bunch of grammar/spelling mistakes
diff --git a/html/changelogs/archive/2020-07.yml b/html/changelogs/archive/2020-07.yml
new file mode 100644
index 0000000000..55d279e810
--- /dev/null
+++ b/html/changelogs/archive/2020-07.yml
@@ -0,0 +1,465 @@
+2020-07-02:
+ Ghommie:
+ - bugfix: Fixing a few issues with twohanded items.
+ - bugfix: Unum decks now work correctly.
+ - bugfix: Abductor walls are once again buildable with alien alloy.
+ Trilbyspaceclone:
+ - tweak: Makes pride and envy ruin a bit smaller!
+ - rscadd: Pride now has rings, lipstick wigs and silver walls/door making a nice
+ and polished look then cyan blue walls.
+ - rscadd: more trash and better dagger placement on food ruin
+ - rscadd: Snowboim now has snowballs and toy gifts for the two skeles daw!
+ - tweak: Beach boim now has carp light branding beer, as well as soap!
+ - tweak: Greed ruin now uses nice slick walls and carpet!
+ - tweak: Founten ruin looks a lot better with its carpets and well maintained fluff
+ things, but walls suffered and no longer can salvage ruined metal...
+ - rscadd: Alien nest has a bit more glowy floors of resin looking a bit more lived
+ in by the drones. As well as the "door" now being see through resin rather then
+ the thicker stuff that you cant see through
+ - rscadd: Pizza party has a few more gifts, some candy and snap pops yay!
+ - balance: Sloth ruin is about 15~ tiles shorter, has and has more fruit for a bowl.
+ How lazy!
+ silicons:
+ - bugfix: bohbombing is a thing now
+2020-07-03:
+ Arturlang:
+ - rscadd: You can now toggle hardsuit helmets from the strip menu
+ Ghommie:
+ - bugfix: fixed custom speech/tongue stuff.
+ - balance: Lowered shaft miners' paycheck, they have other ways to make cash.
+ - rscadd: You can't (un)equip garments on/from obscured inventory slots anymore.
+ - balance: The stamina cost multiplier for swinging melee weapons against mobs has
+ been brought back to 1 from 0.8
+ - balance: The stamina cost for throwing mobs now scales with their mob size variable.
+ LetterN:
+ - tweak: Ported some tags from tgui-3.0 to Vending.js
+ - bugfix: vending icons
+ - bugfix: r&d icons
+ - bugfix: chem master icons
+ Onule:
+ - tweak: titanium wall man good
+ Sonic121x:
+ - bugfix: Bringback the ChemMaster pill type button.
+ - bugfix: Fix Technode icon.
+ bunny232:
+ - tweak: Witchhunter hat no longer obscures mask ears ,eyes, face and mouth
+ timothyteakettle:
+ - bugfix: bloodpacks initialise correctly now
+2020-07-04:
+ Sonic121x:
+ - rscadd: crushed Soldry sodacan
+ - rscadd: digitigrade version of chief medical officer's turtleneck and captain's
+ female formal outfit.
+ silicons:
+ - refactor: blood_DNA["color"] is now a single variable instead of a list
+2020-07-05:
+ Ghommie:
+ - bugfix: You can now actually gain wiring experience from using cable coils.
+ - bugfix: Opening the View Skill Panel shouldn't trigger messages about insufficient
+ admin privileges anymore.
+ Yakumo Chen, kappa-sama:
+ - rscdel: Removes improvised handguns
+ - rscdel: removed handsaws, improvised gun barrels (you can use atmos pipes again)
+ - balance: Guncrafting is less time and resource intensive
+ - tweak: Item names in guncrafting are user-friendly.
+ kappa-sama:
+ - rscadd: cloth string to replace durathread string
+ - rscdel: durathread string
+ - balance: All bows and arrows have had crafting times significantly reduced, coming
+ out at up to 6 times faster crafting speeds. Improvised bows no longer require
+ durathread; instead, they use cloth materials.
+ silicons:
+ - tweak: active blocking now has a toggle keybind
+ - rscadd: auto bunker override verb has been added
+ - balance: shields take 2.5 stam instead of 3.5 stam per second to maintain block
+ - rscadd: Cybernetic implant shields will auto-extend and be used to block if the
+ user has no item to block with
+ timothyteakettle:
+ - tweak: cooking oil is now far less lethal, requiring a higher volume of the reagent
+ to deal more damage
+2020-07-07:
+ KasparoVy:
+ - tweak: Fixes misaligned south-facing silver legwraps sprite.
+ Owai-Seek:
+ - bugfix: Bee Balm is now visible.
+ Weblure:
+ - bugfix: Fixed the slowdown formula for small character sprites; you guys don't
+ use custom sprite sizes so just ignore these changes.
+ - bugfix: Fixed the "Move it to the threshold" button; it now does what it says.
+ - tweak: Reworded some text to be clearer.
+2020-07-08:
+ DeltaFire15:
+ - bugfix: The kill-once objective now works properly.
+ EmeraldSundisk:
+ - rscadd: CogStation now has an apothecary
+ - rscdel: Removes an outdated note on sleepers
+ - tweak: Readjusts CogStation's chemistry lab
+ - tweak: Slight area designation adjustments for Robotics
+ - bugfix: The arrivals plaque should be readable now
+ Owai-Seek:
+ - rscadd: Margarine, Chili Cheese Fries.
+ - tweak: Egg Wraps are now categorized under egg foods.
+ - bugfix: Tuna Sandwich crafting/sprite is now visible.
+ - imageadd: Icons for chicken, cooked chicken, steak, grilled carp, corndogs
+ - imageadd: Icons for chili cheese fries, margarine, BLT sandwich
+ - imageadd: (Unused) icons for raw meatballs, and lard
+2020-07-09:
+ timothyteakettle:
+ - rscadd: bluespace tray added, allowing twice as many items as the regular tray,
+ printable at the service lathe, researched through science
+ - rscadd: bluespace jar added, a kind of pet carrier that allows human sized mobs
+ inside, and smashes when thrown, researched and printed through science
+2020-07-10:
+ Chiirno:
+ - code_imp: Gave jellypeople a unique brain object /obj/item/organ/brain/jelly
+ - imageadd: added an icon for jellypeople brains.
+ EmeraldSundisk:
+ - rscadd: Adds a pool to PubbyStation
+ - tweak: Slight adjustments to the surrounding area as to fit said pool
+ Sneakyrat6:
+ - bugfix: Fixes hair falling out of hoodies.
+ TheObserver-sys:
+ - bugfix: Actually adds the juice reagent to make laugh peas donuts.
+2020-07-11:
+ Putnam3145:
+ - refactor: Gas mixtures now live entirely in a DLL.
+2020-07-12:
+ DeltaFire15:
+ - balance: Sentinels compromise now heals augmented bodyparts.
+ EmeraldSundisk:
+ - rscadd: Adds turnstiles to CogStation's security wing
+ - rscadd: Readds robotics to the Corpse Disposal Network
+ - rscadd: Readds chemistry's ability to send items directly to the experimentation
+ lab
+ - tweak: Visual renovation and slight adjustments to CogStation's robotics lab
+ - tweak: Slight visual adjustments elsewhere (the library)
+ - bugfix: CogStation's mail and disposal pipes are once again complete
+ - bugfix: CogStation's robotics lab now has spawners, lights, and other room essentials
+ HeroWithYay:
+ - rscadd: Added Telecrystal Dust
+ - tweak: Telecrystals can be sold at cargo
+ LetterN:
+ - rscadd: Added d[thing] emojis
+ - bugfix: bye xss
+ MrJWhit:
+ - rscdel: Removes northern tunnel to the monastery on Pubby
+ Yakumo Chen:
+ - rscadd: Adds a wedding crate to cargo full of wedding attire.
+ kappa-sama:
+ - tweak: wisdom cow is half as common and is wise enough to lag the server 66% less
+ silicons:
+ - config: 'policy configuration added, plus support hooks for assisting enforcement
+ of clone memory disorder. logging: added logging of revival by defib, cloning,
+ strangereagent, and revival surgery'
+ - rscadd: You can now "audibly emote" by having ! at the start of a sentence.
+ timothyteakettle:
+ - rscadd: due to recent biological advancements, you can now make eye contact with
+ people.
+ zeroisthebiggay:
+ - bugfix: a singular stray pixel
+2020-07-13:
+ Linzolle:
+ - bugfix: you can no longer vore and digest people regardless of vore preferences
+ Owai-Seek:
+ - tweak: Trashbags can now hold most shoes, and organs.
+ - balance: You can no longer nest nuke disks or hold brains in the trash.
+2020-07-14:
+ silicons:
+ - rscadd: chemical reactions now are sorted by priority first and temperature second.
+ - rscadd: sec and medical records have been added to character setup.
+ - bugfix: circuit reagent heaters are now sanitized for temperature from 2.7 to
+ 1000.
+ timothyteakettle:
+ - bugfix: ports a money bag exploit
+2020-07-15:
+ Sonic121x:
+ - bugfix: Paramedic jumpsuit
+2020-07-16:
+ DeltaFire15:
+ - bugfix: Fixes a zeolite runtime caused by a missing check.
+ Sneakyrat6:
+ - bugfix: Fixes being able to meta people real name with OOC Notes
+ timothyteakettle:
+ - rscadd: travelling traders from another dimension can now visit the station in
+ search of something specific, and reward you for giving it to them
+ - bugfix: small error with pet carrier logic fixed and also making sure simple mobs
+ are catered for properly inside bluespace jars
+ - bugfix: fixes coin related issue
+2020-07-17:
+ ShizCalev, Fikou:
+ - bugfix: Added some sanity checking for varedit values.
+ - bugfix: Fixed an exploit involving coins and mints that could crash the server.
+ - bugfix: Fixed an exploit that would allow you to destroy round-critical / indestructible
+ items with folders.
+ - bugfix: Swarmers can no longer cut power lines by deconstructing catwalks underneath
+ them.
+ - bugfix: Fixed a scenario that allowed infinite resource generation via ore machines.
+ - bugfix: you can no longer inject html in ahelps
+ - admin: you cant either, jannies
+ timothyteakettle:
+ - bugfix: fixes a small pickle related issue
+ - rscadd: recent culinary and scientific advancements have brought forth new pickle
+ related technologies
+2020-07-19:
+ Arturlang:
+ - rscadd: TGUI 3.0 and enables all the UIs, plus the smart asset cache, and all
+ the things required for them
+ EmeraldSundisk:
+ - rscadd: Adds a pool to Delta Station
+ - rscadd: Adds light fixtures to specified areas
+ - tweak: Relocates objects in impacted areas of Delta's starboard maintenance
+ MrJWhit:
+ - rscadd: Adds a small light next to the kitchen counter
+ Putnam3145:
+ - bugfix: Pen uplinks no longer broken
+ TheObserver-sys:
+ - rscadd: 'Adds a new reaction: Slime Extractification. Take 30u Slime Jelly, 5u
+ Frost Oil, and 5u plasma to generate a fresh grey slime extract.'
+ Yakumo Chen:
+ - tweak: Hierophant club now checks for friendly fire by default.
+ b1tt3r1n0:
+ - rscadd: Added the updated circle game
+ silicons:
+ - rscadd: Unarmed parry is now a thing.
+ timothyteakettle:
+ - rscadd: plushies in the loadout have been replaced with a box that lets you choose
+ one instead
+ - bugfix: wrestling should no longer have the ability to permanently rotate people
+ - rscadd: you can now select to wear a snail shell as your backpack in the customization
+ menu
+ zeroisthebiggay:
+ - tweak: martial arts twenty minpop
+ - bugfix: records
+2020-07-20:
+ lolman360:
+ - tweak: Service borgs now have synthesizers instead of a violin and guitar.
+ - bugfix: borg RSF
+2020-07-21:
+ Arturlang:
+ - bugfix: Decal painter ui now works, yay?
+ CameronWoof:
+ - rscadd: Adds aloe, a new growable plant
+ - rscadd: Adds medicated sutures and advanced regenerative meshes
+ - bugfix: Polypyrylium oligomers and liquid electricity now correctly populate
+ Chiirno:
+ - rscadd: Alt-click pill bottles places top-most pill into active hand.
+ - tweak: Moved dice bags from pill_bottle/dice to box/dice to avoid dice bags being
+ affected from medical specific pill bottle changes.
+ DeltaFire15:
+ - bugfix: Swarmers can once again eat items as long as there's nothing living in
+ them.
+ Funce:
+ - bugfix: Genetics spiderwebs are no longer impassable walls
+ Kraseo:
+ - balance: Damp rags no longer instantly apply their chemicals onto someone.
+ SiliconMain:
+ - tweak: Geigers can no longer be contaminated
+ TheSpaghetti:
+ - rscadd: new snowflake trait
+ kappa-sama:
+ - balance: advanced surgery duffel bag no longer comes with a nukie medkit. it costs
+ 4 less telecrystals to make up for this colossal nerf.
+ - tweak: quartered the weight of the stray cargo pod event from 2x normal to 1/2
+ normal
+ silicons:
+ - tweak: survivalists (from summon guns/magic) are proper objective'd pseudoantagonists
+ again
+ - tweak: summon guns/magic can only be used once each
+ - tweak: summon guns/magic now only cost one point each
+ - imageadd: ':dsmile: :dfrown: :dhsmile: :dpog: :dneutral:'
+ - bugfix: gravity should update for mobs a fair bit faster
+ - rscadd: voting can now be done from the stat panel if the system is plurality
+ and approval
+ timothyteakettle:
+ - rscadd: new fried component used for frying objects
+ - bugfix: various frying bugs fixed such as being able to unfry items and frying
+ turfs with cold cooking oil
+2020-07-22:
+ Ludox:
+ - rscdel: You can no longer be brainwashed into giving birth to a fake baby
+ kappa-sama:
+ - balance: brainwashing disk has lost its cost buffs (3->5) and is role restricted
+ once more (medical doctor/roboticist)
+2020-07-23:
+ DeltaFire15:
+ - bugfix: Traits are no longer fucked
+ Putnam3145:
+ - tweak: Slight optimization in chat code.
+ kappa-sama:
+ - bugfix: tendril chests being empty
+ zeroisthebiggay:
+ - rscadd: fetish content
+2020-07-24:
+ EmeraldSundisk:
+ - rscadd: Adds a CMO office, along with Virology and Genetics labs to Omega Station
+ - rscadd: Adds a second chemistry station to the chemistry lab
+ - tweak: Adjusts the locations of some objects in medical to accommodate these new
+ additions
+ - tweak: Relocates the morgue
+ - tweak: Relocates items in impacted areas of maintenance as well as the library
+ - bugfix: Fixes an air line Bartholomew somehow knocked out
+ Linzolle:
+ - bugfix: wounds now have a description on examine
+ Owai-Seek:
+ - rscadd: Meatball Sub, Meatloaf + Meatloaf Slices, Bear Chili, Mashed Potatoes
+ - rscadd: Buttered Potatoes, Fancy Cracker Pack, Spiral Soup, Sweet and Sour Chicken
+ - tweak: Organised the Food DMI a bit.
+ - tweak: Deleted some stray pixels on some sprites.
+ - tweak: Nuggie boxes are now centered correctly.
+ - imageadd: Icons for the the food items in this PR.
+ Sneakyrat6:
+ - bugfix: Fixes dressers not giving you undies
+ - bugfix: Fixes Snaxi not loading properly because of typos
+ - rscadd: You can now burn photos
+ Zandario:
+ - spellcheck: Murdered **tipes** and gave birth to **is**.
+ silicons:
+ - tweak: sanitization now doesn't cut off 15.7 or something million possible colors
+ from character preferences (instead of only allowing 16 values for R G and B,
+ it now allows 256 each)
+ - balance: projectiles are by default 17.5 tiles per second instead of 12.5
+ timothyteakettle:
+ - rscadd: due to recent innovative research in the medical field, you now have bones
+ - tweak: zombie claws are now sharp and do less damage, but can destroy non-lifeforms
+ far faster
+ - tweak: zombies now take less stamina damage
+ - rscadd: beepsky can now wear hats
+ zeroisthebiggay:
+ - imageadd: rad and kravglove sprites
+2020-07-25:
+ CameronWoof:
+ - bugfix: Aloe now has an icon.
+ timothyteakettle:
+ - bugfix: beepsky replaces the word THREAT_LEVEL with the actual threat level
+2020-07-26:
+ DeltaFire15:
+ - bugfix: Organs now decay again.
+ Iatots:
+ - tweak: Licking wounds now may cause you to spit out a hairball once in a while!
+ - rscadd: You can now craft a catgirl plushie with 3 of a new ingredient occasionally
+ found in medbay!
+ dapnee:
+ - tweak: removed legacy public mining shuttle area and remade lounge
+2020-07-27:
+ Hatterhat:
+ - rscadd: Training bokkens! Make 'em from wood, use 'em in-hand to toggle between
+ harmful and not-so-harmful, practice your parrying with them!
+ - bugfix: Marker beacons should have a sprite again.
+ silicons:
+ - rscadd: clownops and clown mobs now share the same faction. HONK!
+ timothyteakettle:
+ - bugfix: modern pickle technology now allows people who have been turned into pickles,
+ to be retrieved through the medical course of dying
+2020-07-28:
+ Cacogen:
+ - rscadd: OSHA has more pull than anyone could have expected. All armor provided
+ by Nanotrasen and the syndicate now have tags that accurately lists defenses
+ and resistances of a piece of clothing.
+ CameronWoof:
+ - tweak: Exotic seed crates now contain a spaceman's trumpet seed packet.
+ EmeraldSundisk:
+ - rscadd: Renovates Snow Taxi's northeast bathroom to have multiple non-urinal toilets
+ and showers
+ - rscadd: Adds signage/labeling to improve map readability
+ - rscadd: Adds a bathroom to the northwest station
+ - rscadd: Adds a filing cabinet to the cargo department
+ - tweak: Area designation adjustments to account for the above changes
+ - bugfix: Adds a missing airlock cyclelink near medical
+ Ludox235:
+ - tweak: Makes the flavour text that appears when you become a zombie tell you to
+ act like one.
+ MrJWhit:
+ - tweak: Decluttered toxins and hid the yellow mix line in atmos, for metastation
+ SiliconMain:
+ - tweak: Paramedic heirloom is now a zippo
+ - tweak: Durathread belts now protect their contents from radiation, and can hold
+ full sized extinguishers
+ Sishen1542:
+ - rscdel: removed zoomba
+ dapnee:
+ - tweak: added a fan to the listening outpost
+ - bugfix: added two missing r-walls near the SM, removed random light and wire node
+ below the engine, and fixed the missing cable in the courtroom on Kilo
+ kappa-sama:
+ - balance: Stimpaks cost 5tc once more, up from 3tc.
+ silicons:
+ - rscadd: polychromatic cloaks to loadout
+ - rscdel: no more self healing with medibeam guns
+ - balance: oh no, taser buff. alt fire delay dropped to 0.4 seconds.
+ - rscadd: you can now shoot yourself by disarm-intenting yourself with a gun.
+ timothyteakettle:
+ - tweak: species code is now slightly less messy
+ - bugfix: slight tweak to how material crafting works
+ - bugfix: changed up pet carriers / bluespace jars a bit so you can't fit certain
+ things inside them and also the text shown for resist times is accurate
+ zeroisthebiggay:
+ - rscadd: Black Box theft objective
+2020-07-29:
+ DeltaFire15:
+ - bugfix: The 'Naked' outfit is no longer broken.
+ Ghommie:
+ - bugfix: fixed cremator trays, paleness examination strings, chat message for stamping
+ paper, looping sounds, load away missions/VR admin verb, access requirements
+ for using the sechuds.
+ - tweak: Alt-Clicking a cigarette packet should pull the lighter out first if present,
+ then cigarettes.
+ Hatterhat:
+ - bugfix: Directional windows can now be rotated counterclockwise properly again.
+ NecromancerAnne, Sirich96:
+ - rscadd: Stunbaton sprites by Sirich96.
+ - rscadd: New sprites for the stunsword.
+ necromanceranne:
+ - rscadd: Adds some in-hands for the rapier sheath.
+ timothyteakettle:
+ - bugfix: tail wagging should work in all cases now
+ - bugfix: bluespace jars work as intended now
+ - bugfix: aliens can remove embeds now
+ - bugfix: bloodsuckers are not affected by bloodloss
+ zeroisthebiggay:
+ - rscadd: Flannel jackets and bartender winter coat
+2020-07-30:
+ Adelphon:
+ - rscadd: Created a Cosmetic version of the camo.
+ Arturlang:
+ - code_imp: Bloodsucker LifeTick runs from BiologicalLife now
+ Ryll-Ryll ported by silicons:
+ - rscadd: Shoelaces are now a thing. You can untie them by laying down next to someone.
+ - tweak: shoes now have lace delays and some can't be laced at all
+ - refactor: do after now tracks who's interacting with who, meaning some actions
+ now break when the target moves away.
+ SiliconMain:
+ - rscadd: Ported the long range atmos analyzer from sk*rat, credit to NotRanged
+ silicons:
+ - rscadd: energy sword perfect parries now reflect projectiles back at their shooters.
+ - balance: any mob can now parry if they have the right item
+ - rscadd: beam rifles now go into emitters properly
+ - refactor: clickdelay has been refactored into an experimental hybrid system. Check
+ code/modules/mob/clickdelay.dm for more information.
+ - balance: Resisting no longer checks clickdelay, but is standardized to a 2 second
+ per resist system for most forms of resisting. It still sets clickdelay, though.
+ - rscadd: 'Meters have been added for estimating time until next attack/resist.
+ Won''t be that useful due to our clickdelay currently being very short, though.
+ They''re visible from your hand and resist HUD elements. experimental: Most
+ attacks and forms of attacking (minus unarmed because it''s too much of a pain
+ to refactor how hugs/gloves of the north star works) now check for time-since-last-attack
+ rather than making it so you can''t attack for said time. This means you can
+ very quickly switch to a gun from a melee weapon, whereas in the old system
+ a melee weapon would put you on lockout for 0.8 seconds, in the new system all
+ the gun cares about is that you did not attack for at least 0.4 seconds.'
+ - code_imp: All clickdelay setting/reading are now procs, so it should be trivial
+ to implement another system where drawing/switching to a weapon requires you
+ to have it out for x seconds before using it. I am not personally doing it at
+ this point in time though because it will likely just annoy everyone with no
+ real gain unless we do something like putting a 0.8 second switch-to cooldown
+ for guns (which I did not, yet)
+ - refactor: 'attack_hand has been refactored to on_attack_hand remove: sexchems
+ no longer impact click delay'
+ - rscadd: turrets now automatically stagger their shots. Happy parrying/blocking.
+ - bugfix: turrets now speed_process, they were shooting slower than they should
+ be
+ - balance: anything can now block with the right items
+ timothyteakettle:
+ - bugfix: some crafted crates won't contain items now, and thus have stopped breaking
+ the laws of physics
+ - tweak: beepskys hats now follow the laws of gravity and move up/down when he bobs
+ up and down
diff --git a/html/changelogs/archive/2020-08.yml b/html/changelogs/archive/2020-08.yml
new file mode 100644
index 0000000000..9bb5e371f1
--- /dev/null
+++ b/html/changelogs/archive/2020-08.yml
@@ -0,0 +1,540 @@
+2020-08-01:
+ dapnee:
+ - tweak: added cake hat to bar, adds another atmostech spawn
+ - bugfix: sinks point in the right direction, APC won't spawn off the wall in circuits
+ - bugfix: changes commissary APC so it actually powers the room, adds a missing
+ AIR alarm, arrivals no longer has active atmos tiles.
+ silicons:
+ - tweak: toy shotguns no longer need 2 hands to fire
+ - bugfix: being on fire works again.
+ timothyteakettle:
+ - bugfix: monkeys no longer continuously bleed everywhere
+2020-08-02:
+ Auris456852:
+ - rscadd: Added B.O.O.P. Remote Control cartridges to the PTech.
+ Hatterhat:
+ - rscadd: Durathread reinforcement kits! Sprites by Toriate, sets jumpsuit armor
+ to durathread levels, craft in the crafting menu.
+ KeRSedChaplain:
+ - rscadd: The belligerent scripture and a brass multitool, and a new marauder variant
+ which act similar to holoparasites/guardian spirits.
+ - rscdel: Removed the abductor teleport consoles they get, removes abscond for the
+ time being as I've not seen much use for it other than just spamming it and
+ hoping you end up in the armory.
+ - tweak: moved around scriptures to make the cult work better as being based around
+ the station, makes the Ark scream more often and work as a summonable object,
+ clockwork armor now has a flat 0 defense up to 10 instead of negatives against
+ laser damage. Makes the Ark work better in a station based setting, as well
+ as the Heralds beacon in case It works for the mode.
+ - soundadd: added powerloaderstep.ogg for Neovgre
+ - tweak: changes 'Dread_Ipad.dmi' to 'clockwork_slab.dmi'
+ MrJWhit:
+ - tweak: Adjusts abductor spawntext
+ Seris02:
+ - bugfix: fixed replica pods
+ dapnee:
+ - bugfix: fixed active turfs on wizard ruin and space hermit, fixed missing APC's
+ and added a light on Delta
+ ike709 and bobbahbrown:
+ - rscadd: Admins can now see your bans on (some) other servers.
+ kappa-sama:
+ - bugfix: chaplain cultists being able to convert people to full clockwork cult
+ status
+ timothyteakettle:
+ - tweak: combat mode now has weaker buffs in terms of damage dealt and took for
+ being or not being in the mode
+ - tweak: damage debuff for laying down has been decreased from 0.5x to 0.7x
+2020-08-03:
+ KeRSedChaplain:
+ - bugfix: fixed clockwork guardians being able to reflect ranged weapons
+ Linzolle:
+ - bugfix: uv penlight no longer invisible
+ dapnee:
+ - bugfix: active turfs on box and xenohive, maintenance bar APC not being stringed
+ correctly, turned a monitor to face a direction that makes sense, changed tag
+ of camera in gravgen being misnamed
+ silicons:
+ - rscadd: shoves have been buffed to apply a status effect rather than a 0.85 movespeed
+ modifier, meaning repeatedly shoving someone now renews the debuff
+ - balance: shoves now stagger for 3.5 seconds.
+ - tweak: war operatives now actually time 20 minutes since roundstart to depart
+ instead of 15.
+ - balance: explosive stand bombs can now be examined from any distance
+ - code_imp: explosive stand bombs are now a component.
+2020-08-04:
+ Seris02:
+ - bugfix: lizard spines
+ timothyteakettle:
+ - rscadd: due to further advancements in medical technology, you can now have holes
+ poked into your body for fun and enjoyment
+ zeroisthebiggay:
+ - rscadd: prefs for headpat wagging
+2020-08-06:
+ Auris456852:
+ - rscadd: Added B.O.O.P. Remote Control cartridges to the PTech.
+ Hatterhat:
+ - rscadd: Proto-kinetic glaives! Essentially a proto-kinetic crusher with a different
+ blade, handguard, and goliath hide grip. Expensive, but elegant.
+ - balance: Door charges no longer knock people out.
+ Ludox235:
+ - rscadd: You can now buy damaged AI upload modules in the traitor's uplink.
+ Seris02:
+ - bugfix: fixed ghost chilis
+ Trilbyspaceclone:
+ - rscadd: 4 New blends of tea have been shipped to the station, and how to make
+ them has been leaked!
+ b1tt3r1n0:
+ - rscadd: Added the warp implant
+ dapnee:
+ - tweak: added a hallway to telecoms for engineers to get there on meta
+ kappa-sama:
+ - rscdel: dildo circuit assemblies
+ lolman360:
+ - bugfix: The Tendril-Mother on Lavaland has remembered how to make ashwalkers who
+ know how to speak Draconic again.
+ timothyteakettle:
+ - tweak: nanotrasen has decided to fire all disabled members of the security division
+ and confiscate certain sentimental items from doctors
+ - tweak: the custom tongue preference now passes through cloning so you spawn with
+ your selected tongue
+ - tweak: several changes to travelling traders so they look better and spawn slightly
+ less often
+ zeroisthebiggay:
+ - rscadd: nukies can buy holoparasites
+2020-08-07:
+ dapnee:
+ - bugfix: fixed active tufs on some space ruins, murderdome VR, and a few on pubby,
+ changed cargo autolathe to techfab, messed with pipe room leading to monastery.
+ lolman360:
+ - bugfix: vendors are now unanchored when tipped. it just fell over it's not bolted
+ to the ground anymore.
+ - bugfix: podpeople no fat when sunbathing.
+ silicons:
+ - balance: explosions only recurse one level into storage before dropping 1 level
+ per storage layer.
+ - tweak: volumetric storage is now minimum 16 pixels per item because 8 was ridiculous
+ - spellcheck: shieldbash balanace --> balance
+ - rscadd: attempting to send too long of an emote will now reflect it back to you
+ instead of cutting it off and discarding the overflow.
+ - rscadd: holoparasites can now play music
+ - balance: lethal blood now causes damaging bleeding instead of outright gibbing
+2020-08-08:
+ DeltaFire15:
+ - balance: Roundstart cultists now start with a replica fabricator - no brass though,
+ make your own.
+ - balance: 'Kindle cast time: 10 > 15, mute after stun end: 2 > 5, slur after mute
+ end: 3 > 5'
+ - bugfix: The ratvarian spear no longer adds negative vitality under very specific
+ circumstances.
+ - balance: The Ratvarian Spear can parry now! Short parries with low leeway, but
+ low cooldown.
+ - rscadd: The brass claw, a implant-based weapon which gains combo on consecutive
+ hits against the same target.
+ - rscadd: The sigil of rites, a sigil used to perform various rites with a cost
+ of power and materials
+ - rscadd: 'The Rite of Advancement: Used to add a organ or cyberimplant to a clockie
+ without need for surgery.'
+ - rscadd: 'The Rite of Woundmending: Used to heal all wounds on another cultist,
+ causing toxins damage in return.'
+ - rscadd: 'The Rite of the Claw: Used to summon a brass claw implant. Maximum of
+ 4 uses per round.'
+ Hatterhat:
+ - rscadd: You can now buy a toolbox's worth of Mosin-Nagant ammo for a fairly discounted
+ price.
+ - rscadd: Revolvers from the dedicated kit now have reskinning capabilities.
+ - bugfix: You can now actually buy the riflery primer, which lets you pump shotguns
+ and work the Mosin's bolt faster.
+ - imageadd: Bulldog slug magazines now have a unique sprite.
+ Ludox235:
+ - rscdel: Removed an abductee objective that told you to remove all oxygen.
+ - rscadd: Added a new abductee objective to replace the removed one.
+ Sishen1542:
+ - tweak: "\U0001F171\uFE0Foneless"
+ - rscadd: squishy slime emotes
+ timothyteakettle:
+ - tweak: heparin makes you bleed half as much now
+ - tweak: cuts make you bleed 25% less now
+ - rscadd: more items in the loadout and loadout has subcategories now for easier
+ searching
+2020-08-09:
+ Hatterhat:
+ - rscadd: Proto-kinetic glaives (not crushers) can parry now.
+ MrJWhit:
+ - rscadd: Adds a second shutter on the top of the hop line
+ silicons:
+ - bugfix: immovable rods no longer drop down chasms
+ - rscdel: 'fun removal: squeaking objects now have an 1 second cooldown between
+ squeaks, and will have a 33% chance of interrupting any other squeaking object
+ when Cross()ing, meaning no more ear-fuck conveyor belts.'
+2020-08-10:
+ Hatterhat:
+ - bugfix: Parry counterattack text now shows up.
+ - balance: Sterilized gauze is now better at stopping bleeding, and applies slightly
+ faster. Very slightly faster.
+ - balance: Ointment and sutures now hold more in a stack (12 and 15, respectively).
+ - tweak: Sterilized gauze can now be made by just pouring 10u sterilizine onto standard
+ medical gauze, instead of having to craft it. Why you had to craft it, I will
+ honestly never know.
+ - balance: Proto-kinetic glaives are more expensive, stagger/cooldown on failed
+ parries increased slightly, perfect parries required for counterattack.
+ - rscadd: 'New item: Temporal Katana. 2 points for wizards, timestops upon successful
+ parry, bokken quickparry stats (100 force on melee counter!).'
+ - rscadd: Also you can *smirk. This has no mechanical effect, other than being smug.
+ KeRSedChaplain:
+ - rscadd: Added a guide for romerol usage
+ - balance: made infectious zombies not enter softcrit and take no stamina damage
+ LetterN:
+ - tweak: clocktheme color
+ - code_imp: Ports TGUI-4
+ Lynxless:
+ - rscadd: 'Ports TG #51879'
+ Owai-Seek:
+ - tweak: Meatballs now spawn raw from food processors.
+ Putnam3145:
+ - rscadd: Ethereals
+ - rscdel: (Hexa)crocin
+ - rscdel: (Hexa)camphor
+ - tweak: Tweaked wording for marking tickets IC issue.
+ - tweak: Rerolling your traitor goals will ONLY give you "proper" objectives.
+ Seris02:
+ - bugfix: borgs being able to select and use a module when it's too damaged
+ Sishen1542:
+ - balance: gave chairs active block/parry in exchange for removal of block_chance
+ - tweak: replaces box whiteship tbaton with truncheon
+ kappa-sama:
+ - balance: made the Dirty Magazines crate cost 4000 instead of 12000 credits
+ - rscadd: MODS I SPILLED MU JUICE HEJPPHRLP HELPJ JLEP HELP
+ silicons:
+ - balance: player made areas are no longer valid for malf hacking
+ - tweak: default space levels is 4 again.
+ - tweak: rats now swarm instead of stacking on one spot.
+ - balance: getting hit by an explosion will now barely hard knockdown, but will
+ leave you somewhat winded.
+ timothyteakettle:
+ - tweak: speech verbs copy through dna copying now
+2020-08-11:
+ Hatterhat:
+ - bugfix: PDA uplinks can now steal from pens. Properly. Just make sure to have
+ a pen in your PDA, first.
+ kappa-sama:
+ - tweak: tracer no longer gives you full stamheals per use
+ zeroisthebiggay:
+ - rscadd: volaju two
+2020-08-12:
+ DeltaFire15:
+ - balance: 'hellgun single-pack classification: goodies -> armory'
+ Detective-Google:
+ - bugfix: hallway table hallway table
+ Hatterhat:
+ - balance: The temporal katana is now slightly more worthy of the 2 spell point
+ cost, with a smaller, antimagic respecting timestop, less force, and no random
+ blockchance. Society has progressed past the need for blockchance.
+ LetterN:
+ - rscadd: Mafia Component
+ - bugfix: Fixed missing icons and handtele
+ Putnam3145:
+ - bugfix: a whole lot of jank regarding funny part sprite display.
+ Toriate:
+ - rscadd: Opossums have migrated into the maintenance tunnels! Seek them out at
+ your own peril!
+ ancientpower:
+ - tweak: Doors added to the west side of box medbay to make things a bit more manageable.
+ kappa-sama:
+ - tweak: smuggler satchel cost 2->1
+ - tweak: radio jammer cost 5->2
+ - bugfix: smuggler satchel uplink description now implies that persistence is disabled
+ lolman360:
+ - rscadd: renameable necklace (accessory, attaches to suit) and ring (glove slot.)
+ - tweak: custom rename is now 2048 characters? i think it's characters.
+ silicons:
+ - rscadd: You can now use anything as an emoji by doing :/obj/item/path/to/item:.
+ This works for any /atom or subtype.
+ timothyteakettle:
+ - rscadd: syndicate agents now have access to mechanical aim enhancers which allow
+ them to aim bullets to bounce off walls
+ - bugfix: ricochets work properly now for the bullets that support them
+ zeroisthebiggay:
+ - imageadd: hair and some sechuds
+ - balance: ce hardsuit radproofing
+2020-08-13:
+ LetterN:
+ - rscdel: Removes fermisleepers and reverts them to tg ones
+2020-08-14:
+ silicons:
+ - bugfix: abductors can buy things
+2020-08-15:
+ LetterN:
+ - bugfix: missing anomaly core icons
+ - bugfix: wrong state. blame the tg vertion i copied
+ silicons:
+ - tweak: the 8 rotation limit from clockwork chairs has been removed. please don't
+ abuse this.
+ - tweak: ethereals can now wear underwear
+2020-08-16:
+ kiwedespars:
+ - balance: nerfed hypereut chaplain weapon.
+ - balance: 50% rng blockchance -> 0%
+ - balance: parry made much worse because it's an actual weapon and a roundstart
+ one at that.
+ zeroisthebiggay:
+ - rscadd: tips
+ - rscdel: tips
+2020-08-17:
+ DeltaFire15:
+ - bugfix: Cogscarabs are no longer always Pogscarabs
+ Strazyplus:
+ - rscadd: Added drakeborgs
+ - rscadd: Added drakeplushies
+ - imageadd: added drakeborg sprites
+ - imageadd: added drakeplushie sprites
+ - code_imp: changed some code - added drakeplushies to backpack loadout Removed
+ duplicate voresleeper belly sprites from engdrake & jantidrake. [CC BY-NC-SA
+ 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/)
+ - rscadd: Added CC BY-NC-SA 3.0 license details to icon/mob/cyborg moved drakeborg.dmi
+ to icon/mob/cyborg
+2020-08-18:
+ DeltaFire15:
+ - balance: 'kindle cast time: 15ds -> 25ds'
+ - tweak: Moved the Belligerent Scripture to where it should be in the code
+ Detective-Google:
+ - rscadd: glass floors
+ - rscadd: uncrowbarrable plasma floors tweak:disco inferno's plasma floors can no
+ longer be crowbarred.
+ - rscadd: ghost cafe has funky fresh art
+ - bugfix: you can actually remove glass floors now
+ - code_imp: get_equipped_items is hopefully less gross
+ - balance: plasma cutters are no longer gay
+ Hatterhat:
+ - balance: Slaughter demons (and laughter demons, being a subtype) are MOB_SIZE_LARGE,
+ with one of the more immediate effects being able to mark them with a crusher
+ and backstab them.
+ - balance: The funny blyat men have stumbled upon another surplus of Mosin-Nagants
+ and are starting to pack them into crates again.
+ - balance: Vehicle riders can now, by default, get shot in the face and/or chest.
+ - rscadd: Adminspawn only .357 DumDum rounds! Because sometimes the other guy just
+ really needs to hurt.
+ - rscadd: Bluespace beakers now have a chemical window through the side that shows
+ chemical overlays.
+ - rscadd: Plant DNA manipulators now let you chuck things over them. Or they WOULD,
+ if LETPASSTHROW worked half a damn.
+ LetterN:
+ - bugfix: uplink implant states
+ - tweak: tweaks how role assigning works
+ MrJWhit:
+ - rscadd: Gives ashwalkers nightvision
+ - balance: Makes tesla blast people, not the environment, to save the server.
+ TheObserver-sys:
+ - bugfix: moves Garlic sprites from growing.dmi to growing_vegetable.dmi
+ - rscdel: Removes the unused Electric Lime mutation, it just takes up space with
+ no actual function nor sprites.
+ - imageadd: Gives Catnip growing sprites
+ - imagedel: Removes redundant images in growing.dmi
+ kiwedespars:
+ - rscadd: 10 force to a fucking rubber cock.
+ lolman360:
+ - balance: shotgun stripper clip nerf. ammoboxes can now accept a load_delay that
+ happens when they attack a magazine, internal or external.
+ ported from tg:
+ - rscadd: bronze airlocks and windows can now be built
+ - balance: i also tweaked bronze flooring to be cheaper.
+ silicons:
+ - tweak: stamina draining projectiles without stamina for their primary damage type
+ now has their stamina damage taken into account for shield blocking, rather
+ than the block being done for free for that.
+ timothyteakettle:
+ - refactor: snowflake code tidyup
+ - refactor: snowflake code for mutant bodypart selection has been rewritten to be
+ ~14x shorter
+ - tweak: meat type and horns can now be selected by any species
+2020-08-20:
+ DeltaFire15:
+ - bugfix: The cooking oil damage formula is no longer scuffed.
+ - tweak: Changed the clockie help-link to lead to our own wiki.
+ Fikou:
+ - admin: admins can now do html in ahelps properly
+ Hatterhat:
+ - balance: Pirate threats are now announced as "business propositions", and their
+ arrivals are now also announced properly.
+ tiramisuapimancer:
+ - bugfix: Ethereal hair is now their body color instead of accidentally white
+2020-08-21:
+ LetterN:
+ - rscadd: Updates and adds some of the tips
+ Putnam3145:
+ - admin: added reftracking as a compile flag
+ SmArtKar:
+ - tweak: RSD limitation is now 500 tiles
+ - bugfix: Fixed broken RSD sprites
+ - config: Removed that shuttle limit
+ timothyteakettle:
+ - bugfix: two snouts can once again be chosen in customization
+ - bugfix: lizard snouts work again
+2020-08-22:
+ Time-Green (copypasta'd by lolman360):
+ - rscadd: plumbing
+ - rscadd: automatic hydro trays
+2020-08-23:
+ DeltaFire15:
+ - bugfix: silicons and clockies can now access APCs properly
+ EmeraldSundisk:
+ - rscadd: Medbay now has a smartfridge for organ storage
+ - rscadd: Slight enhancements to the station's electrical wiring layout
+ - rscadd: Very small library renovation
+ - bugfix: Exterior airlocks have been given proper air systems for safety's sake
+ Ghommie:
+ - bugfix: Stops shielded hardsuits from slowly turning the wearer into a big glowing
+ ball of stacked energy shield overlays.
+ - tweak: the shielding overlay is merely visual as result. Aim your clicks.
+ Ludox235:
+ - tweak: no more 10 pop xenos (25pop now)
+ MrJWhit:
+ - tweak: Increases the majority of airlocks by 1 tile.
+ - tweak: Minor adjustments to the TEG engine.
+ Putnam3145:
+ - balance: Simplemobs no longer count in dynamic.
+ - balance: '"Story" storyteller no longer starts at a ludicrously low threat, always.'
+ - balance: Blob threat now scales with coverage.
+ - tweak: One person with their pref on no longer overpowers 40 people who might
+ not even know there is one.
+ - bugfix: Negative-weight rulesets are no longer put into the list.
+ kiwedespars:
+ - tweak: removed durathread from armwraps recipe.
+ lolman360:
+ - rscadd: breath mask balaclava
+ timothyteakettle:
+ - bugfix: lizards are now a recommended species for mam snouts
+ zeroisthebiggay:
+ - rscadd: new sprites for the temporal katana
+ - rscadd: suiciding with the temporal katana omae wa mou shinderius you into the
+ shadow realm
+ - soundadd: twilight isnt earrape
+2020-08-24:
+ MrJWhit:
+ - bugfix: Fixes areas on expanded airlocks
+ silicons:
+ - bugfix: wormhole jaunters work
+ - tweak: wormhole jaunters no longer get interference from bags of holding
+ - bugfix: airlocks now only shock on pulse/wirecutters instead of on tgui panel
+ open.
+ timothyteakettle:
+ - rscadd: three new items are in the loadout for all donators
+ zeroisthebiggay:
+ - rscadd: contraband black evening gloves in kinkvend
+2020-08-25:
+ Hatterhat:
+ - rscadd: Insidious combat gloves have been replaced by insidious guerilla gloves.
+ They're generally the same, except now you can tackle with them.
+ Literallynotpickles:
+ - tweak: You can now equip handheld crew monitors on all medical-related winter
+ coats.
+ Putnam3145:
+ - tweak: vore now ejects occupants on death
+ raspy-on-osu:
+ - tweak: Thermoelectric Generator power output
+ timothyteakettle:
+ - tweak: I.P.Cs now short their circuits when expressing emotion, causing sparks
+ to appear around them.
+2020-08-26:
+ ancientpower:
+ - tweak: Ghosts can read newscasters by clicking on them.
+ silicons:
+ - balance: hierophant vortex blasts now have 50% armor penetration vs mecha
+ - balance: ventcrawling now kicks off every attached/buckled mob, even for non humans.
+2020-08-27:
+ silicons:
+ - tweak: eyebeam lighting can only have 128 maximum HSV saturation now.
+ - balance: no more shotgun stripper clips in boxes.
+ - balance: goliath tentacles now do 20 damage to mechs at 25% ap
+ timothyteakettle:
+ - tweak: changing your character's gender won't randomize its hairstyle and facial
+ hairstyle now
+2020-08-28:
+ EmeraldSundisk:
+ - rscadd: Adds more paper to the library
+ - rscadd: The law office now has a desk window
+ - tweak: Expands most of CogStation's exterior airlocks. Slightly adjusts surrounding
+ areas to accommodate this.
+ - tweak: Updates some of CogStation's paperwork
+ - tweak: The rat in the morgue turned themselves into a possum. Funniest shit I've
+ ever seen.
+ - bugfix: Adjusts some area designations so cameras should receive power properly
+ - bugfix: Cleans up an errant decal
+ Hatterhat:
+ - tweak: Traitor holoparasites can now only be bought once, because apparently you
+ can only have one active holopara.
+ - balance: PDA bombs can now only be bought once per uplink.
+ lolman360:
+ - rscadd: atmos = radiation = chemistry.
+ shellspeed1:
+ - rscadd: Adds slow mode for iv drips
+ timothyteakettle:
+ - rscadd: an ancient game over a thousand years old has re-emerged among crewmembers
+ - rock paper scissors
+ - tweak: customization features appear in alphabetical order where necessary
+ - tweak: bokken do two more stamina damage now
+ - rscadd: you can now choose a body sprite as an anthromorph or anthromorphic insect,
+ and can choose from aquatic/avian and apid respectively (and obviously back
+ to the defaults too)
+2020-08-30:
+ raspy-on-osu:
+ - rscadd: new explosion echoes
+ - tweak: explosion echo range
+ - soundadd: 5 new explosion related sounds
+2020-08-31:
+ Arturlang:
+ - tweak: Slimes can now damage structures, don't leave them unfed!
+ Chiirno:
+ - bugfix: Moves pill_bottles/dice to box/dice on CogStation.
+ Couls, ported by NecromancerAnne:
+ - code_imp: cleans up mech backstabbing code
+ DeltaFire15:
+ - rscdel: teleport-to-ark ability of the eminence, commented out
+ - rscadd: teleport-to-obelisk ability for the eminence
+ Detective-Google:
+ - tweak: plasmamen have no more slowdown
+ - rscadd: object reskins now use very nice and cool radials
+ EmeraldSundisk:
+ - rscadd: Adds a pool to MetaStation
+ - tweak: Slight readjustments to the surrounding area
+ - bugfix: Fixes a handful of external airlocks
+ ForrestWick:
+ - balance: removes wall walking boots from nukie uplink
+ - tweak: removes wall walking boots from nukie uplink
+ Ghommie:
+ - bugfix: e-gun overlays and some floor decals should have been fixed.
+ LetterN:
+ - rscadd: tgchat
+ Lynxless:
+ - tweak: Changed anatomic panacea into a direct buff, instead of a chem injection
+ - balance: Changed the values of anatomic panacea
+ - imageadd: Added a new icon for panacea's buff alert
+ Putnam3145:
+ - tweak: Pref for genital/vore examine text
+ - bugfix: Fixed a couple events having ghost roles eligible.
+ - balance: 'Buffed slaughter demon: gets stronger as it eats people'
+ - balance: 'Nerfed slaughter demon: no longer permanently round-removes all who
+ are eaten by it, instead releasing their now-heartless bodies'
+ - bugfix: Dynamic storytellers now calculate property weights properly.
+ Sonic121x:
+ - bugfix: Fix the four type of new tea that will stuck inside your vein.
+ - rscadd: drinking glass sprite for those tea.
+ kappa-sama:
+ - balance: miners can no longer acquire funny antag item
+ lolman360:
+ - bugfix: shuttle engine/heater sprites now face the right way
+ raspy-on-osu:
+ - tweak: TEG power output
+ - tweak: tesla movement priorities
+ - rscadd: tesla counterplay
+ - rscadd: tesla containment check (containment variable now usable)
+ silicons:
+ - bugfix: brooms now sweep objects on MOVABLE_PRE_MOVE rather than MOVABLE_MOVED
+ - balance: firedoors no longer automatically open on touch when there's no pressure
+ differences.
+ timothyteakettle:
+ - tweak: buzz, buzz2 and ping are now all unrestricted emotes and can be used by
+ anyone
+ - imagedel: the drake credit and pickle credit sprites have been removed
+ - refactor: tongue speech handling is now done by accent datums
+ zeroisthebiggay:
+ - rscdel: waffleco
diff --git a/html/changelogs/archive/2020-09.yml b/html/changelogs/archive/2020-09.yml
new file mode 100644
index 0000000000..35996bde59
--- /dev/null
+++ b/html/changelogs/archive/2020-09.yml
@@ -0,0 +1,222 @@
+2020-09-01:
+ BlueWildrose:
+ - bugfix: fixed slimes starting off hungry
+2020-09-02:
+ Putnam3145:
+ - code_imp: Added a unit test for character saving.
+ - balance: Plastitanium rapier no longer silently sleeps with no chance at counterplay
+ when used by pacifists.
+ - bugfix: Fusion scan is now actually useful.
+ Tupinambis:
+ - tweak: moved the dakis, genital growth pills, and genital autosurgeons out of
+ the maintenance loot table and into kinkmates.
+ raspy-on-osu:
+ - bugfix: pyroclastic anomaly client spam
+ timothyteakettle:
+ - rscadd: you can hide your ckey now from the roundend report
+2020-09-03:
+ Ghommie:
+ - bugfix: Jaunters should now work with magic mirror chasming.
+ - bugfix: The photocopier can now print more than one copy at a time.
+ - bugfix: Alkali perspiration infos don't crash the Pandemic UI anymore.
+ - bugfix: Windoors can be actually tinted now.
+2020-09-04:
+ timothyteakettle:
+ - bugfix: ipcs can speak
+2020-09-05:
+ Bhijn:
+ - rscadd: Readded the old method of temperature notifications in the form of a new
+ pair of shivering/sweating notifications.
+ Putnam3145:
+ - tweak: Hilbert hotel flavor text for one particular snowflake hotel changed.
+ - admin: admins can now actually reduce threat level in dynamic
+ - tweak: Made owo.ogg smaller.
+ - tweak: Character saving unit test is now more verbose on failure.
+ - refactor: Added an extools proc hook alternative to rust_g logging.
+ raspy-on-osu:
+ - tweak: supermatter shard examine text
+ - tweak: protolathe item categories
+2020-09-06:
+ Putnam3145:
+ - rscdel: Dynamic no longer pushes events.
+ - balance: Made spontaneous brain trauma a good deal less annoying.
+ lolman360, NecromancerAnne:
+ - rscadd: The ancient art of blacksmithing, now in pixels.
+ - imageadd: cool swords and shit (thanks anne)
+ raspy-on-osu:
+ - tweak: thermomachine examine text
+2020-09-07:
+ DeltaFire15:
+ - spellcheck: fixed a typo causing a span not to show.
+ Putnam for debugging ammo loading! Thx!!:
+ - rscdel: Removed spell blade, diamond picaxe, and fire wand from lava land loot
+ tables
+ - tweak: Each mini boss now has its own type of crate.
+ - tweak: Each spike has its own type of crate that it pulls its now smaller loot
+ table from
+ - balance: Moved god eye from spike loot table to hard spawn collosses fight
+ - balance: Moved holoparasight from spike loot table to bubble gum
+ - balance: Moved magic meat hook from spike loot table to drake
+ - rscadd: 2 more crates to Arena Shuttle as well as 4-4-4 of each new type of chest
+ - balance: Replaced the diamond pick loot with a better one
+ - tweak: Replaced the cursted katana with a non cursted verson that deals half the
+ damage and has less block!
+ - rscadd: Three new potions, blue heals the mind like a mama potion, Green heals
+ the soul aka the organs! Lastly Red heals the body, by 100 damage of each main
+ types. Best not to waste them!
+ - rscadd: Four more "wands" Spellbooks! These fun little guys shoot out its own
+ pages to do the affect, one will set the target on fire like a bullet, one will
+ harm them a bit, one will heal the target a small bit - How nice! Last one will
+ give them a few statis affects like a taser bolt but without as much power or
+ tasing affect
+2020-09-08:
+ Ghommie:
+ - spellcheck: fixed names of the Electrical Toolbox goodie pack and green croptop
+ christmas suit.
+ - bugfix: Fixed turf visuals for real. Original PR by AnturK on tgstation.
+ KeRSedChaplain:
+ - soundadd: added borg_deathsound.ogg and android_scream.ogg
+ silicons:
+ - balance: meteor waves now have a static 5 minute timer.
+2020-09-09:
+ Putnam3145:
+ - bugfix: Made superconductivity work for the first time literally ever.
+ timothyteakettle:
+ - bugfix: accents work better
+2020-09-11:
+ Putnam3145:
+ - balance: Superconducting turfs now can't go below 0 celsius.
+2020-09-12:
+ BlueWildrose:
+ - bugfix: The Polychromic winter coat's hoodie will now polychrome, alongside any
+ other new polychromic items with toggleable headwear.
+ - bugfix: Minesweeper will no longer blow up the player's ears when they select
+ "Play on the same board"
+ - rscadd: Slimepeople will find warm donk pockets among other toxin healing items
+ even more repulsive, as they are anti-toxic.
+ - tweak: Slimepeople are now neutral to gross foods.
+ DeltaFire15:
+ - balance: AIs can no longer qdel() the gravity generator
+ Putnam3145:
+ - code_imp: Added some unit tests for reactions.
+ - refactor: replaced handle_changeling and handle_bloodsucker with signal registration
+ Sonic121x:
+ - bugfix: Fixed pill button on chemical press
+ TheObserver-sys:
+ - rscadd: Brass now has a proper datum. Aspiring Forgetenders rejoice!
+ Trilbyspaceclone:
+ - bugfix: Race based drinks will no longer stay inside your blood for ever.
+ Tupinambis:
+ - tweak: Redid Cogstation atmos pipes to make it less cluttered.
+ - tweak: Removed a few doors from the main hallway to mitigate chokepoint issues
+ - bugfix: All belt hell conveyers are now on by default, so that belt hell actually
+ works.
+ - bugfix: IDs for poddoors and belts and the like. Everything is now properly hooked
+ and should work as expected (except for the pressure triggered mass drivers)
+ - bugfix: addresses most if not all roundstart active turfs.
+ - bugfix: Issue where wires were connected to the SMES improperly, and SMES were
+ not properly precharged, resulting in power failure earlier than intended.
+ - bugfix: various rogue turfs and wirings.
+ - bugfix: security office APC being hooked to maintenance for some reason.
+ - bugfix: TEG is now directly wired to the SMES.
+ - code_imp: 'adds a subtype of mass drivers that is triggered by things being on
+ it. TODO: Make these mass drivers trigger poddoors, to make belt hell fully
+ functional.'
+ lolman360:
+ - bugfix: glaives now work again
+ zeroisthebiggay:
+ - balance: Revolver is now poplocked down to fifteen people.
+2020-09-16:
+ timothyteakettle:
+ - tweak: fixed an icon path
+2020-09-17:
+ DeltaFire15:
+ - rscadd: Failing the plushmium reaction can now create peculiar plushies, depending
+ on reaction volume.
+ - bugfix: The mood-buff from petting a plushie now works properly again.
+ - bugfix: Fixed wacky necropolis loot chest behavior
+ EmeraldSundisk:
+ - rscadd: Adds the Research Director's office to Omega Station
+ - rscadd: Adds 2 new solar arrays (and control rooms)
+ - rscadd: Adds some action figures that weren't there previously
+ - rscadd: The CMO's office now has a light switch
+ - tweak: Slight readjustments to impacted areas
+ - tweak: Readjusts the toxins air supply line to (ideally) be easier to service
+ - bugfix: Department camera consoles should now be able to actually check appropriate
+ cameras
+ - bugfix: Xenobiology can now be locked down (by the Research Director)
+ MrJWhit:
+ - rscadd: Adds a brain damage line
+ Putnam3145:
+ - bugfix: Your balls finally feel full, again.
+ timothyteakettle:
+ - rscadd: due to changes in policy, and several lawsuits, Nanotrasen has been forced
+ to allow disabled people to sign up
+2020-09-20:
+ DeltaFire15:
+ - bugfix: Sutures work on simplemobs again.
+ - bugfix: Attacking dismembered bodyparts now targets the chest instead, for weapons
+ aswell as unarmed attacks.
+ MrJWhit:
+ - rscadd: New sprites for chess pieces! You can craft them in-game with metal sheets.
+ silicons:
+ - balance: hulks can smash again (walls no longer break their hands)
+ - rscdel: acid no longer degrades armor
+2020-09-22:
+ Arturlang:
+ - rscadd: TGUI Statpanel
+ YakumoChen:
+ - imageadd: Mechsuits, robotics jumpsuits added to RoboDrobe
+ timothyteakettle:
+ - tweak: character previews should be more consistent now
+2020-09-24:
+ Putnam3145:
+ - refactor: Atmos is free.
+2020-09-25:
+ Putnam3145:
+ - bugfix: Removed a non-working proc that already had its functionality implemented
+ in another proc in the same file.
+2020-09-26:
+ CoreFlare:
+ - rscadd: IPC's can have hair. Why wasn't this added earlier. Use the bald hairstyle
+ for no hair.
+2020-09-27:
+ SiliconMain:
+ - tweak: Holograms made from projectors (atmos, engi, sec, medical, ect...) can
+ no longer be contaminated by radiation
+2020-09-28:
+ ArchieBeepBoop:
+ - rscadd: Craftable Micro Powered Fans
+ Degirin2120:
+ - rscadd: Added engineering hazard jumpsuits, can be found in the engidrobe, comes
+ in 3 varieties.
+ Putnam3145:
+ - tweak: Added a brute-force check-every-single-tile step to SSair when it has enough
+ time to run.
+ - balance: G fuid production is now much lower.
+ - rscdel: Supermatter sabotage objective's gone.
+ - balance: Subterfuge objectives are now all equally likely.
+ - spellcheck: Replaced a "(hopefully) 1" with a "2"
+ - tweak: Cryoing no longer unwins already-won objectives.
+ SiliconMain:
+ - tweak: Minor adjustment to material cost of long range atmos analyzer
+ Trilbyspaceclone:
+ - tweak: Most drinks now have some animation in them, from basic soda bubbles fizzing
+ around to ice cubes bobbing just a bit.
+ Tupinambis:
+ - bugfix: Ghost poly's color value is now a hex value instead of an oct value. This
+ has been a thing for OVER FIVE YEARS
+ - imageadd: Updates TEG, Antimatter, Jetpack sprites (CO2 and Oxy from Eris).
+ - imageadd: Replaced old chair sprites with new ones ported and modified from eris.
+ - tweak: Beds can now be placed both right and left.
+ - tweak: Subtle changes to stool legs to give them more of a shine.
+ raspy-on-osu:
+ - tweak: TEG power generation
+ thakyZ:
+ - rscadd: Added the ability to print the Light Replacer at the Engineering Protolathe
+ timothyteakettle:
+ - bugfix: turrets can once again be broken
+ - rscadd: you can now have heterochromia and select individual eye colours
+2020-09-29:
+ timothyteakettle:
+ - bugfix: fixed a typo causing your right eye colour to save as the left eye colour
diff --git a/html/changelogs/archive/2020-10.yml b/html/changelogs/archive/2020-10.yml
new file mode 100644
index 0000000000..647724c0d5
--- /dev/null
+++ b/html/changelogs/archive/2020-10.yml
@@ -0,0 +1,112 @@
+2020-10-01:
+ BlueWildrose:
+ - soundadd: Slimepeople are given unique laughs and screams.
+ - tweak: Adds "warbles", "chimpers", and "puffs" to the customizable speech verbs
+ for character.
+2020-10-02:
+ ArcaneMusic, with minor tweaks by TheObserver-sys:
+ - rscadd: Adds and modifies fertilizers, as well as a new stat, Instability.
+ - rscdel: Removes the rather disused functionality of irrigation hoses, temporarily
+ disables circuit use on hydroponics trays.
+ - tweak: Plant Analyzer have been upgraded. Using one in hand will now switch between
+ a stat view of your plant, and a chemical view of your plant. tweak:Trays now
+ accept and store reagents, as well as coming with an autogrow mode. However,
+ these upgrades came at the cost of old self sufficiency, meaning you must attend
+ to your plants a bit more often.
+ - tweak: Earthsblood, while not being able to gild trays anymore, has been found
+ to still be quite powerful as a fertilizer.
+ CoreFlare:
+ - rscadd: Altcloaks! Available in loadout.
+ Detective-Google:
+ - rscadd: a smattering of clothes from the RP server
+ - rscadd: detective wardrobe
+ EmeraldSundisk:
+ - rscadd: Adds the "Skelter" space ruin
+ - code_imp: Creates a few new area designations for the Skelter
+ - rscadd: Cargo techs now have access to a "long pants" variant of their standard
+ work uniform
+ - rscadd: Adds said uniform to CargoDrobes and the loadout menu
+ ItzGabby:
+ - rscadd: Three new turf tiles.
+ - imageadd: Turf icons with multiple damage icons, with in-hand icons for each tile.
+ - spellcheck: Edited the name and description to wooden.
+ LetterN:
+ - rscadd: craftable railings
+ - code_imp: ports robust savefiles
+ MrJWhit:
+ - tweak: tweaked heavy suit dmi
+ - bugfix: Fixes drones not being able to quickslot items
+ Putnam3145:
+ - rscadd: New policy config for pyroclastic slimes.
+ - tweak: SDGF clones now naked.
+ - balance: SDGF is now way more likely to make a clone that will align with the
+ creator's goals, with purity, making it a better antagging tool.
+ - bugfix: SDGF clones now have the same traits as the original.
+ - bugfix: transfer_ckey now resets view, preventing things like SDGF clones with
+ much larger view range.
+ - config: 'Policy configs have been added for SDGF, currently unused: SDGF, SDGF_ALIGNED,
+ SDGF_UNALIGNED.'
+ - bugfix: Shivering now has thresholds and fever's thresholds now work.
+ - bugfix: Made allturfs setup actually set up all turfs.
+ - balance: Dynamic is now more aggressive with adding antags.
+ - bugfix: Fixes vore pref saving.
+ SandPoot:
+ - bugfix: Fixes headslugs being unable to recover their human form.
+ Tupinambis:
+ - rscadd: Adds methane and methyl bromide gases.
+ - tweak: Minor gas name/desc changes to improve consistency
+ - imageadd: Ports the methyl bromide tank from bay. Adds two new canister sprites
+ for the new gases and CH4 screen alerts.
+ - bugfix: fixed a mispelling in the wound armor value for the bounty hunter suit
+ dapnee:
+ - rscadd: atrium, clinic, an extra office, a pseudo public mining area, two more
+ deluxe dorms, micro beach, aux bathroom, two construction areas, mass driver,
+ more intercoms
+ - tweak: moved all of service, chapel, dorms, garden, holodeck to a different z-level,
+ RnD is more open, maintenance is a bit more random, more firelocks, added more
+ mine-able rock
+ - bugfix: fixed the buttons in xenobio, gave shutters to cargo's storage area, fixed
+ holodeck so it works now, fixed some techfabs being lathes, added sensors to
+ atmos tanks, more decals, couple more signs, little floral areas and sitting
+ areas added to break up hallway monotony, mech chargers are no longer missing
+ their consoles, whiteship won't crash into arrivals anymore while the area it
+ takes up is more telegraphed, APC placement on AI sat entrance, missing wire
+ node for the outer portion of the AI sat, civilian level now has a telecom relay
+ lolman360:
+ - bugfix: smonk machine runtimes
+ - bugfix: automatic hydro tray has a unique sprite now (fancy robot arm)
+ timothyteakettle:
+ - rscadd: added luminescent and stargazer sprites as selectable body sprites for
+ slimes
+ - tweak: wound exponent lowered slightly from 1.225 to 1.2
+ - config: wound exponent and limb damage multiplier are now config values
+ - rscadd: ipcs and synthlizards are now treated as actual robots, with robotic limbs,
+ an extra organ, and better emp acts
+ - rscadd: surgeries for healing robotic limbs, and brain surgery for robotic heads
+ - bugfix: androids limbs now show up as intended
+ - refactor: emps now work from 1-100 severity instead of 1/2 and the severity reduces
+ as you move from the epicentre
+ zeroisthebiggay:
+ - rscadd: ratvar gf is complete
+2020-10-04:
+ DeltaFire15:
+ - bugfix: Synths / IPCs are no longer wound immune.
+ - bugfix: Husked IPCs / Synths should now be rendered correctly.
+ - bugfix: Falling vendors now squish synths / IPCs' limbs again.
+ - bugfix: Synths and IPCs now do not have some fun roundstart oversights anymore.
+ - bugfix: Regenerate_limbs now works for carbons with the ROBOTIC_LIMBS trait.
+ - bugfix: Pacifists no longer counterattack on parries if that attack would be harmful.
+ - tweak: Heretic sacrifices now husk with the reason of burn, and deal some additional
+ damage.
+ - bugfix: Neovgre can no longer become invincible on clock tiles.
+ - bugfix: Plushlings no longer break when absorbing snowflake plushies.
+ Detective-Google:
+ - bugfix: the snow cabin doors actually bolt now
+ Putnam3145:
+ - bugfix: Ghosts are no longer incapable of going away.
+ monster860:
+ - tweak: The slimeperson swap-body UI stays open when you switch bodies
+ timothyteakettle:
+ - bugfix: limb id entry in mutant bodyparts now supports switching to/from species
+ with gendered body parts
+ - tweak: the minimum brightness of mutant parts is now a define
diff --git a/html/changelogs/archive/2021-01.yml b/html/changelogs/archive/2021-01.yml
new file mode 100644
index 0000000000..2a82c3ebbf
--- /dev/null
+++ b/html/changelogs/archive/2021-01.yml
@@ -0,0 +1,837 @@
+2021-01-21:
+ Acer202:
+ - bugfix: Main mining shuttle should no longer look at the public mining shuttle
+ and attempt to dock ontop of it. Monastery shuttle should now function again.
+ Acer202, with minor help from The0bserver:
+ - rscadd: After internal deliberation, CentCom has decided to run a limited reinstatement
+ of public mining shuttles for use in more tried and true station classes. CentCom
+ would like to remind you that this privilege is easily revoked, and that abuse
+ may result in immediate detonation.
+ - rscadd: Restores the mining shuttle on Pubby, Box, Delta, Meta, and Lambda Station.
+ ArcaneMusic, The0bserver-sys:
+ - rscadd: 'New from Hydrowear LLC: The Botanical Belt! This handy yellow belt lets
+ you hold most of your botany gear, and a few beakers for reduced bag and floor
+ clutter!'
+ - tweak: Gives Hydrotrays plumbing pipes automatically, allowing you to make a self
+ sustaining tray via plumbing.
+ - tweak: Gives Service access to Bluespace Beakers, at last, gives Cargo, Science,
+ and Medical the ability to construct reinforced plungers for use on lavaland.
+ ArchieBeepBoop:
+ - rscadd: Upgraded Advanced RTG Machine Preset
+ - bugfix: Outlet Injector Mapping Asset Layer Fix
+ - bugfix: Jacqueen and the Christmas tree should no longer spawn abstract things
+ that can cause shittons of runtimes.
+ Arturlang:
+ - bugfix: You can't tackle in nograv anymore
+ - tweak: You cannot spam drink from blood bags anymore
+ - bugfix: Blood bag drinking inefficiency is now the right way, so you loose some
+ of the blood drinking it straight
+ - bugfix: Handles more edge cases with construct soul returning
+ - tweak: Being sacrificed by the cult no longer removes all hope of rescue.
+ - bugfix: Makes construct mind returning more robust
+ - tweak: Prayers to admins now do a wee ding sound for all prayers, instead of just
+ chaplains
+ - bugfix: Fixes the mint machine's UI
+ - bugfix: Hopefully fixes whitescreen issues for TGUI UI's by giving assets more
+ time to get to the client
+ - bugfix: Fixes hijack implant APC UI, again
+ - code_imp: Comments out spaceman dmm do not sleeps for mob/proc/CommonClickOn,
+ atom/proc/attack_hand, datum/proc/keyLoop and mob/living/proc/Life
+ - bugfix: Bloodsuckers tresspass ability can no longer work while they are not awake.
+ - tweak: The cursed heart now only takes away half as much blood every loop, and
+ can be used as long as you are alive, instead if only you are awake/able to
+ use your hands
+ Bhijn:
+ - tweak: Changeling loudness is now determined as an average of all their abilities,
+ rather than the sum
+ - tweak: To compensate for this, blood tests now require a loudness value of 1 or
+ higher to detect ling blood. Additionally, blood test explosions are now triggered
+ only when the loudness value is higher than 2.
+ BlackMajor:
+ - tweak: Cyborg hypospray no longer injects if it means OD'ing while on help intent.
+ BlueWildrose:
+ - tweak: Nyctophobia quirk now has some light lag compensation.
+ - bugfix: Fixes cloning computer UI not updating when pressing certain buttons -
+ also adds extra check for names to update a message
+ - rscdel: Removes oversized genitalia analysis from medical scanners, since huge
+ dick and titty are no longer a problem anymore thanks to advancements in that
+ kind of technology when it comes to chemical fun times growth.
+ - bugfix: Fixed species-specific drinks not giving a mood boost if you are that
+ species.
+ - tweak: You will now only unbuckle fireman-carried/piggybacked people on disarm
+ or harm intent.
+ - balance: The traitor AI can no longer activate the doomsday device while carded.
+ - bugfix: Fixes noodle size appearance for 12+ inch members.
+ - bugfix: Fixed the subtle hotkey being weird with its input prompts.
+ - rscadd: Adds a subtler anti-ghost hotkey. Default key is 6.
+ - tweak: No more straining when your cock or breasts are growing via incubus draft
+ or succubus milk.
+ - rscadd: PubbyStation now has two Christmas Tree spawners.
+ - tweak: You can now have a max-roundstart-dicksize-config inch long johnson before
+ you start suffering blood loss and slowdowns instead of a 20 inch one.
+ - rscadd: Color Mates have been added to all stations (except Snaxi). Enjoy coloring
+ your attire without having to bug science!
+ - bugfix: Polychromic hoodies that were obtained from the loadout have functional
+ colorable hoods now.
+ - rscadd: Adds in timid woman/man costumes. Available at your autodrobe! Also adds
+ in garters as some new socks.
+ - spellcheck: Corrected the capitalization in gasmask concealment examine text
+ Chiirno:
+ - rscadd: Added the paramedics EVA suit as a purchase from the cargo console.
+ - rscadd: Paramedics office and Surgery Storage Room
+ - tweak: Remodeled the surgery room, as well as shrunk Morgue and Starboard Emergency
+ Storage. Fiddled with some areas for better map edit clarity and fixed one runtime
+ in Vacant Office A.
+ - imageadd: Added the paramedic closet sprite, a paramedic colored medical3 closet.
+ - code_imp: Added a paramedic closet, which is the standard medical3 closet with
+ their suit, a pinpointer, and a crew monitor added.
+ - tweak: Nightmare now deals additional damage to most light sources.
+ - bugfix: Nightmare now one-shots miners beacons and glowshrooms
+ - bugfix: Portable Chem Mixer now researchable from biotech node.
+ - tweak: Chem masters can now dispense 20 instances of its outputs instead of 10.
+ Delams-The-SM:
+ - rscadd: Added 3 new emotes *hiss *purr *meow
+ - soundadd: ported sounds from Citadel RP for *purr and *meow
+ - bugfix: fixed randomization of colors for things like mulligan and Stabilized
+ green slime extract for matrixed body parts
+ DeltaFire15:
+ - balance: Biomechanical (hybrid) bodyparts now have access to wound-fixing surgeries.
+ - tweak: A wound being fixed no longer just qdel()s surgeries connected to it.
+ - tweak: Some robotic surgery steps are now a bit more clear.
+ - bugfix: Organs no longer get fed to people after successfully being inserted into
+ them.
+ - tweak: Not completing the do_after of a surgery no longer causes you to attack
+ the target with whatever you were holding.
+ - rscadd: IPC cells & power cords are now printable after they are researched.
+ - rscadd: A new surgery, allowing revival of synths without a defib at hand.
+ - balance: 'Semi-permanent damage of Synth limbs caused by passing the damage threshold:
+ 10 <- 15.'
+ - tweak: The embed removal surgery now has a version for Synths.
+ - balance: EMPs no longer hardstun Synths.
+ - bugfix: Portals no longer runtime because of incorrect args.
+ - tweak: Abductors now can use experimental organ replacement surgery on robots
+ / synthetics.
+ - bugfix: Fixes a minor incorrectness in ratvarian borg slabs (ratvar_act -> ui_act)
+ - bugfix: Changelings no longer double-deathgasp when activating the regen stasis
+ ability while not dead.
+ - bugfix: People installing KA modkits in miner borgs is no longer broken.
+ - bugfix: Fixes the tail entwine messages displaying incorrectly.
+ - bugfix: Antagging / Deantagging Heretics now properly sets their special role.
+ - bugfix: The borg VTEC ability now actually gets removed when the upgrade is removed.
+ - bugfix: Supplypods shouldn't cause runtimes anymore, and shrapnel (pelletclouds)
+ should work for them.
+ - rscadd: Robots (anyone with the robotic_organism trait) have toxins damage replaced
+ with system corruption. See the PR for details.
+ - code_imp: Clockwork rites now support hiding specific rites from neutered servants.
+ - tweak: AIs now only have to kill people once instead of permanently.
+ - bugfix: Scripture no longer sometimes eats part of its invocation.
+ - balance: APCs and silicons are now more susceptible to powerdrains (by the power_drain()
+ proc, which is rare)
+ - balance: Void Volt has been modified from a chant to a singular pulse.
+ - balance: Robotpeople are now fully immune to the effects of alcohol (drunkness
+ etc.)
+ - tweak: Renames the alcohol intolerance trait in the code to make what it does
+ more clear.
+ - bugfix: Self-fueling weldingtools recharge fuel properly again.
+ - bugfix: Brass welders now actually recharge faster than experimental ones.
+ - bugfix: Repeatable surgery steps can no longer cause an infinite loop if not completing
+ the do_after
+ - bugfix: The Revenant self-revive ability is no longer broken.
+ - bugfix: Loot items mobs drop are no longer always failing to initialize.
+ - tweak: Instant summons can no longer do wacky stuff with disposals (and nukes).
+ - bugfix: Objectives are no longer very broken.
+ - bugfix: Bloodcult stunhands now work against clockies like they were supposed
+ to instead of hardstunning.
+ - balance: zeolites are now actual fermichems instead of being incredibly easy to
+ make.
+ - bugfix: Using syringes / droppers on chem heaters with beakers in them works again.
+ - bugfix: Some edge cases causing issues with system corruption shouldn't be able
+ to occur anymore.
+ - bugfix: Cyborg B.o.r.i.s. installation now checks for if the chest has a cell,
+ just like how it does with MMIs.
+ - bugfix: The 'Your body is in a cloner' notification works again
+ - bugfix: Hijack implants should work properly again (or, at least better)
+ - bugfix: Liches are now good skeletons again instead of weak ones
+ - bugfix: The piratepad control cannot be destroyed again.
+ - bugfix: Pirates have received new supplies of jetpacks instead of useless oxygen
+ tanks
+ - bugfix: Ratvarian AIs are once again able to show their linked borgs Ratvar's
+ light
+ - bugfix: Hijackers are once again unable to detonate borgs without being adjacent
+ to the console
+ - bugfix: Automated annoucement systems and gulag ore consoles no longer waste emag
+ charges
+ - bugfix: Automated announcement systems once again can be remote controlled by
+ non-AIs with silicon access
+ - bugfix: APCs being hijacked multiple times at once is no longer possible, preventing
+ some issues
+ - bugfix: Recharging APCs no longer use 0.2% of the power they should be using.
+ - bugfix: APCs no longer always use as much power as they can for their cell, even
+ if it is full.
+ - bugfix: Vampire shapeshifting should now behave as intended
+ - balance: Some synth damage stuff has been a bit rebalanced, see the PR for details.
+ - rscadd: Nanogel, available at medical and robotics, which fixes internal damage
+ in sufficiently repaired robotic limbs.
+ - balance: Robotic Limbs now each have their own damage threshhold values
+ - balance: Robotic Limb damage threshholds are now seperated into threshhold itself
+ and mindamage when passed balance; Hybrid limbs can now be injected with hypos,
+ but not sprayed (Still not healed by chems)
+ - tweak: Brain surgery has been tweaked back to allowing robotic limbs, blacklisting
+ IPC brains instead.
+ - tweak: Robot brain surgery can now be used on organic heads, if there is a IPC
+ brain in them somehow.
+ - tweak: The robot limb heal surgery can now be used even if the target's torso
+ is not robotic, as long as they have robotic limbs
+ - refactor: BODYPART_ROBOTIC / BODYPART_ORGANIC checks replaced with helper-procs
+ whereever possible.
+ - code_imp: Added a BODYPART_HYBRID define for robotic bodyparts that behave organic
+ in some regards.
+ - bugfix: The transmission sigil power drain works now
+ - bugfix: A certain lizard (totally not me) being stupid is no longer going to break
+ regenerate_bodyparts
+ - bugfix: Combat mode now will not stay permanently disabled due to status effects
+ not working as intended.
+ - bugfix: Attacking some certain objects no longer has no clickdelay.
+ - bugfix: the blacksmithing skill now works properly
+ - tweak: Anvils cannot be interacted with with hammers whilst they are already being
+ used
+ - tweak: If someone has no gloves when interacting with heated ingots, they no longer
+ ignore their effects.
+ - bugfix: A runtime caused by hallucinations is gone.
+ - bugfix: Cargo packs marked as 'no private buying' now actually register as such.
+ - balance: Fleshmend, Anatomic Panacea and bloodsucker healing now work for Synths
+ / IPCs.
+ - tweak: Medibots now ignore people they cannot help due to their biology.
+ - bugfix: get_damaged_bodyparts() is no longer broken.
+ - bugfix: Your target cryoing will no longer give you a free greentext.
+ - bugfix: Sleeper UI interactiveness now behaves correctly.
+ Detective-Google:
+ - rscadd: arcade carpet
+ - rscadd: explosions now get broadcasted to deadchat.
+ - rscadd: Lick radial
+ - bugfix: Hilbert's jukebox works
+ - bugfix: arcade carpets now actually work
+ - tweak: the snow taxi is no longer the slow taxi
+ ERP mains:
+ - rscadd: Subtler Around Table is now a verb
+ EdgeLordExe, MoonFalcon:
+ - balance: Ported a bunch of heretic-related tweaks and changes from tg
+ EmeraldSundisk:
+ - rscadd: Adds a few new area designations primarily for CogStation, incorporates
+ them into said map
+ - tweak: Reorganizes some area designations for ease of use, along with renaming
+ the central "Router" to "Routing Depot"
+ - bugfix: Fixes an incorrectly designated area in CogStation
+ - bugfix: Changes the area designations to be not varedited since the code didn't
+ like that anymore
+ - bugfix: The cargo bay conveyor belts not only work with the shuttle now but go
+ in the right direction to boot
+ - tweak: Slight visual adjustments to cargo in light of this
+ - rscadd: The arcade's got RAD carpet now
+ - bugfix: Fixes the conveyor belt issues in Delta Station's cargo wing
+ - rscdel: Removes some of the dirt around the affected area (presumably they would
+ have cleaned it up while working on it)
+ - rscadd: Adds a floor light to fix the "dark spot" cargo had
+ - rscadd: Adds a new "Computer Core" area designation for CogStation
+ - bugfix: Fixes some missing area strings
+ - tweak: Replaces some firelocks with directional ones as to ensure desks/counters
+ can still be accessed
+ - balance: The "Skelter ruin" now has stechkins as opposed to M1911s
+ - tweak: Skelter's decorative bullet casings replaced to factor in the change in
+ caliber
+ - rscadd: Skelter now has a combat knife and fluff note
+ Ghommie:
+ - bugfix: You can access the mime / clown mask skins radial menu once again.
+ - bugfix: Dice bags no longer act like cardboard boxes.
+ - bugfix: Abductors should be no longer mute.
+ - bugfix: Item action buttons should now properly show the item current overlays,
+ most times.
+ - bugfix: The blackbox should now go into your hand slot when pried out, rather
+ than tumbling on the ground everytime.
+ - tweak: The Quick Equip hotkey is now usable by all living mobs (so long they have
+ hands and equipment slots)
+ Ghommie, porting PRs by MMMiracles and pireamaineach, credits to BlueWildrose too.:
+ - rscadd: You can now draw on plasmaman helmets with a crayon to turn their frown
+ upside-down.
+ - balance: Plasmaman helmets no longer hide your identity when worn by themselves.
+ - balance: Plasmaman helmets now have welding visors, which can't stack with their
+ torches in the helmet and are visible.
+ Hatterhat:
+ - rscadd: Energy sabre reskin for the energy sword - access via alt-click.
+ - bugfix: Alt-click reskins are fixed.
+ - tweak: Defibrillators and their many, many overlays were moved to another .dmi.
+ - tweak: You can now change the color of an energy sword via multitool. Not deswords.
+ Yet.
+ - imageadd: The Syndicate appear to be issuing new revolver variants.
+ - rscadd: Basic sticky technology is now a roundstart tech. Advanced sticky technology
+ is BEPIS-locked, though. Theoretically.
+ - tweak: Non-smithed katanas (including the temporal katana) can now fit in the
+ twin sheath.
+ - tweak: Cotton and durathread processing by hand now acts like grass. Stand on
+ a pile of cotton (or durathread) and use a single bundle from it.
+ - spellcheck: Utility uniforms now comply with the "nonproper equipment names" thing.
+ - bugfix: The CapDrobe now allows the captain to get his own clothes for free. Probably.
+ - tweak: All captains' clothes now offer 15 woundarmor, up from the 5. Because apparently
+ only the suit and tie and its suitskirt subtype have this wound armor, which
+ is dumb.
+ - rscadd: The nature interaction shuttle with the monkeys now has tiny fans on the
+ airlocks in, because that's apparently a feature that was missing.
+ - rscadd: More bags have been added to department vendors.
+ - balance: Every roundstart species (and also ash walkers) now has flesh and bone
+ that can be wounded.
+ - balance: Recipes for sutures, regen mesh, and sterilized gauze have been adjusted
+ to be easier, mostly.
+ - balance: Sterilized gauze is better at absorbing blood and being a splint.
+ - bugfix: Energy sabres now have an off inhand.
+ - balance: The bone gauntlets should be slightly less murderously punchy on the
+ fast punches mode.
+ - tweak: RPEDs now drop their lowest part tier first when quick-emptied (used inhand).
+ - tweak: Improvised gauzes can now be crafted in stacks up to 10, like their maximum
+ stacksize implies they should be capable of doing.
+ - bugfix: Pouring sterilizine on gauze now takes the proper 5u per sterilized gauze
+ instead of 10u.
+ - bugfix: Cryogenics now screams on common again when your fuckbuddy heads out.
+ - rscadd: Survival daggers! A slightly more expensive survival knife that comes
+ with a brighter flashlight. On the blade.
+ - tweak: Luxury pod capsules look different from normal capsules.
+ - rscadd: The wastes of Lavaland and the icy caverns of Snow Taxi rumble in unison.
+ - tweak: Exosuits sold on the Supply shuttle no longer leave wreckages.
+ - rscdel: Apparently, shrink rays were buyable again, despite a PR having been made
+ a while ago specifically for removing shrink rays. They're gone again.
+ - rscadd: Changeling bone gauntlets! They punch the shit out of people really good.
+ - tweak: Guerilla gloves and gorilla gloves inherit the strip modifiers of their
+ predecessors, because apparently they had those.
+ - balance: Pugilists now always hit the targeted limb and never miss.
+ - rscadd: The dock-silver standard set by Box and Meta has been enforced across
+ maps in rotation (Delta, Pubby, Lambda).
+ - bugfix: The Box whiteship now has its missing tiny fan back.
+ - bugfix: The survival dagger light on the sprite now actually turns on and off.
+ - balance: The survival dagger in the glaive kit that can also be bought by itself
+ is now better at butchering things.
+ HeroWithYay:
+ - bugfix: Changed description of Necrotizing Fasciitis symptom.
+ - tweak: Wormhole Projector and Gravity Gun now require anomaly cores to function
+ instead of firing pins.
+ KeRSedChaplain:
+ - imageadd: Resprited the brass claw
+ LetterN:
+ - rscadd: 2 more ways to get up from z1
+ - tweak: tweaked the z2 garden to be less blank
+ - bugfix: fixed telecomms pda log
+ - rscadd: Coin & Holochip support for slot machine
+ - admin: Stickybans are now saved in the DB too
+ - soundadd: Immersive ™ audio reverbs. (also adds multiz audio)
+ - code_imp: Semi-hardsync from TG
+ - code_imp: Updates rust-g
+ - code_imp: Uses git CI instead of travis/appveyor now
+ - code_imp: Updates git and build tests.
+ - bugfix: minimap text
+ - code_imp: ports cinematic upgrades
+ Linzolle:
+ - bugfix: entertainment monitors no longer invisible
+ - rscadd: entertainment monitors now light up and display text when motion is detected
+ in thunderdome
+ - bugfix: lizard snouts are no longer *slightly* lighter than they are supposed
+ to be.
+ MrJWhit:
+ - rscadd: Expanded space hermit base
+ - tweak: Replaced engineering fuel tank with a large fuel tank
+ - tweak: Changed access to sec suit storage from armory access in every map to other
+ security access
+ - rscadd: Adds a space loop to every map in toxins
+ - rscadd: ''
+ - tweak: Added the ability for cargo to buy a large welding tank
+ - imageadd: Tweaked large tank reagent sprites to /tg/'s
+ - tweak: Gives metastation toxins storage a scrubber and a vent
+ - tweak: Updates suit storage info on Tip Of the Round.
+ - tweak: Increased christmas event from 22th to 27th to 10th to 27th
+ - tweak: Removes an opposum from the wall
+ - tweak: Donut boxes show what's inside of them now
+ - tweak: Updated meat icons
+ - admin: Canceling events gives more time to stop from 10 to 30
+ - tweak: Fixes two chairs on one table
+ - tweak: Removed the wires connecting the AI from the rest of the station on cogstation.
+ - tweak: Fixes experimenter on cogstation.
+ - tweak: Less pipes in the overall area in toxins on cogstation
+ - tweak: Small fixes on security on boxstation
+ - tweak: Updated jukebox sprite.
+ - tweak: Fixes maint area in boxstation
+ - tweak: Christmas starts on the 18th now
+ - rscadd: Adds a goose bar sign
+ - bugfix: Effects can no longer trigger landmines
+ - rscdel: Removes the screen flashing on climax.
+ - rscadd: Makes gas sensors fireproof.
+ - tweak: A small bucket of random fixes,
+ - tweak: Minor fixes to kilo
+ - tweak: Porting garbage collection tweak from /tg/
+ - tweak: Updates our dark gygax sprites to /tg/'s
+ - tweak: Bugfix of a morph becoming an AI eye
+ - tweak: Mining station oxygen locker on the cycling airlock starts out wrenched.
+ - balance: Nerf combat knife damage
+ - bugfix: Code improvement on ventcrawling
+ NT Cleaning Crews On Break:
+ - rscadd: Most kinds of dirt, grime, and debris are now persistent. Get to work,
+ jannies.
+ - rscadd: Dirt can now be removed by tile replacements. Other cleanable decals can't,
+ though.
+ Putnam3145:
+ - tweak: Replaces majority judgement with usual judgement.
+ - bugfix: Toilet loot spawners don't lag the server on server start with forced
+ hard dels.
+ - bugfix: vore prefs save now
+ - tweak: gear harness no longer magically covers up the body mechanically despite
+ covering up nothing visually
+ - balance: Regen coma now puts into a coma even from crit or while unconscious.
+ - bugfix: Regen coma now properly weakens while asleep.
+ - bugfix: Multi-surgery unit test no longer fails at random.
+ - refactor: Dwarf speech is no longer absolutely paranoid about word replacement.
+ - balance: Spontaneous brain trauma now requires minimum 5 players
+ - tweak: Grab bag works as advertised.
+ - balance: Xeno threat in dynamic tripled.
+ - code_imp: 'Vote system #defines are now strings'
+ - rscadd: Stat panel UI for ranked choice votes
+ - rscadd: A fallback for dynamic antag rolling that allows for it to just try between
+ traitor, blood brothers, heretics, changeling, bloodsucker and devil until there
+ are enough roundstart antags. This can also happen randomly anyway. Blood brothers
+ and devil are disabled for now, but the code is there to enable them.
+ - rscadd: A new storyteller, "Grab Bag", that forces the above round type.
+ - bugfix: atmos subsystem no longer dies if there's too many gases
+ - bugfix: Emotes can properly be filtered for in TGUI.
+ - bugfix: Holofirelocks work now.
+ - bugfix: adminhelping no longer removes entire admin tab
+ - bugfix: end of round no longer removes entire admin tab
+ - bugfix: Fixed a runtime in every healing nanite program.
+ - bugfix: removed a unit test causing master to fail
+ - tweak: Planetary atmos no longer does superconduction.
+ - bugfix: Dynamic vote no longer shows the none-storyteller.
+ - tweak: You can now exit polycircuit input
+ - bugfix: Polycircuits now check for range
+ - bugfix: gear harness alt-click is now sane
+ - code_imp: rolldown() and toggle_jumpsuit_adjust() now no longer mix behavior-that-should-be-overridden
+ and behavior-that-shouldn't-be-overridden in ways that make no sense.
+ - tweak: Gear harness now covers nothing.
+ - bugfix: Chemical stuff now displays fermichem stuff properly
+ - balance: Rad collectors now get 1.25x as much energy from radiation
+ - balance: Rad collectors now put out 1.25x as much stored energy per tick
+ - balance: Above two rad collector changes give a total 56.25% power output increase
+ - balance: Zeolites now only generate 1/5 the heat when reacting and don't require
+ a catalyst.
+ Ryll/Shaps:
+ - admin: Fixed an issue with player logs becoming confused when someone triggers
+ multiple events within one second (like being attacked by two people at the
+ same time) that would cause holes in the logs
+ SandPoot:
+ - tweak: You can attack a pile of money on the floor with your id to put it all
+ in quickly.
+ - refactor: Changes the limb grower a lot.
+ - bugfix: '"Limb" costs on limbgrower are actually displayed like it was meant to
+ all along.'
+ - code_imp: Swaps the gift static blacklist with a global list one.
+ SiliconMain:
+ - tweak: Engi department has gas masks in loadout
+ - tweak: hololocks (which haven't worked for god knows how long) commented out until
+ auxmos is merged
+ Sonic121x:
+ - rscadd: alarm ert hardsuit sprite for naga and canine
+ - tweak: adjust the naga ert hardsuit to cover the hand
+ - bugfix: cydonia hardsuit helmet
+ - rscadd: digi sprite uniform
+ - bugfix: digi leg suit
+ SpaceManiac:
+ - bugfix: Fixed the maphook
+ Thalpy:
+ - bugfix: fixes some bugs in jacqs code from edits to the codebase
+ The Grinch:
+ - rscdel: infinite presents from hilbert hotel
+ TheObserver:
+ - rscadd: Re-adds the rifle stock, and sets the improv shotgun to be as it was.
+ - rscdel: The maintenance rifle has been shelved - for now. Watch this space.
+ TheObserver-sys:
+ - bugfix: Drake? Where's the dead fairygrass sprite?
+ TheSpaghetti:
+ - bugfix: no more tumor bread double punctuation
+ Trilbyspaceclone:
+ - tweak: Zeolites now use gold rather then uranium for catalyst
+ - tweak: Zeolites are not as hard to make ph wise
+ - tweak: Making Zeolites heats up the beaker less allowing for better control
+ - tweak: ASP 9mm and M1911 can now have suppressers added
+ - balance: Brass welders are 50% faster at refueling
+ - code_imp: redoes self fueling welders in the code to be less speggie
+ - rscadd: the corporate unifoms can now be gotton in the clothing mate vender
+ TripleShades:
+ - rscadd: 'Firelock to Surgery Bay drapes change: Swapped Nanomed and Fire Alarm
+ button locations in both Surgery Bays change: Removes the double mirror in both
+ Surgery Bays to be a singular mirror change: Moved an intercom to not be doorstuck
+ below Paramedical Office remove: One Surgery Observation Fire Alarm button'
+ - rscadd: 'New Paramedic Office next to Genetics where the old Genetics Reception
+ used to be change: Surgery, Surgery Observation, and Recovery Hall layout revamped
+ drastically change: Maints below Surgery lowered by one tile to recover lost
+ tile space from Surgery expansion'
+ Tupinambis:
+ - rscadd: Arachnids (spider people) with limited night vision, flash vulnerability,
+ and webbing.
+ Vynzill:
+ - rscadd: 'new gateway mission mapadd: jungleresort map'
+ - bugfix: fixes high luminosity eyes
+ Xantholne:
+ - bugfix: Fixed new birds changing back to basic parrot when sitting
+ - rscadd: New parrots from the RP server, can be found in Bird Crate in Cargo
+ - rscadd: You can now tuck disky into bed
+ - rscadd: You can now make beds by applying a bed sheet to them
+ - rscadd: You can now tuck in pai cards into bed
+ - rscadd: Added bed tucking element, can be added to any held object to allow tucking
+ into beds
+ - bugfix: Twin Sword Sheaths have an equipment icon and icon when worn now and make
+ a sound when sheathed/unsheathed
+ Yakumo Chen:
+ - balance: Slime Jelly is no longer obtainable from slimepeople. Go ask Xenobio
+ YakumoChen:
+ - balance: "To lower production costs, Buzz Fuzz is now manufactured with Real\u2122\
+ \uFE0F Synthetic honey."
+ Zandario:
+ - code_imp: Added some framework for future species expansions, including clothing
+ refitting.
+ - refactor: Made majority of the relevant Species IDs and Categories pre-defined,
+ also for easier expansion and use.
+ - bugfix: lum slime sprites work again
+ - code_imp: Slapped the Species Defines where relevant
+ corin9090:
+ - tweak: The chaplain's prayer beads can now be worn on your belt slot
+ kappa-sama:
+ - bugfix: super saiyan
+ - tweak: ishotgun crafting recipe no longer requires plasteel and is slightly more
+ convenient
+ - balance: ishotgun does 45 damage now instead of 40.5
+ - rscadd: s
+ - tweak: s
+ - balance: s
+ - bugfix: s
+ - rscadd: A new spell for the wizard and his martial apprentices, the Inner Mantra
+ technique. It makes you punch people really good and makes you durable, but
+ drains your energy while it's active.
+ - rscadd: A self-buffing spell for valiant bubblegum slayers that is ultimately
+ useless on lavaland and probably overpowered for miner antagonists. Go figure.
+ At least all it does is let you punch hard while draining your health every
+ second.
+ - balance: bubblegum now drops a book that makes you into an abusive father instead
+ of a shotgun that plays like pre-nerf shotguns
+ - soundadd: a powerup and powerdown sound effect
+ - imageadd: two icons for two buff spells
+ keronshb:
+ - bugfix: Allows Energy Bola to be caught
+ - balance: This also allows them to be dropped/picked up.
+ - rscadd: Adds a reduced stamina buffer for SCarp users
+ - rscadd: Gives SCarp users a better parry
+ - rscadd: Adds the SCarp bundle which includes a bo staff
+ - rscadd: Lets Carp costumes carry Bo Staffs
+ - balance: reduces the stamina damage of scarp slightly
+ - balance: reduced the blockchance of the bo staff
+ - rscadd: Adds more room to northwest maint
+ - rscadd: Adds a bridge between Atmos and the Turbine.
+ - balance: Blob Resource Tower to 2 points per instead of 1 point per.
+ - balance: Blob Factory Towers can be placed 5 tiles apart instead of 7.
+ - bugfix: Fixes Blobbernaut Factories consuming Factories if no naut is chosen.
+ - bugfix: Fixes Reflective Blobs
+ - rscadd: Re-adds the Clown Car to the clown uplink
+ - balance: 15 >16 TC cost
+ - balance: bonks on external airlocks
+ - bugfix: Fixes the parry data for scarp
+ kittycat2002:
+ - rscadd: set the name of /datum/reagent/consumable/ethanol/species_drink to Species
+ Drink
+ kiwedespars:
+ - balance: balanced bone gauntlets.
+ - rscadd: the robust dildo weapon now has sound.
+ necromanceranne:
+ - bugfix: Fixes various sprites for bokken, as well as being unable to craft certain
+ parts and duplicate entries.
+ - rscadd: 'Bokken now come in two lengths; full and wakizashi, and two varieties:
+ wood and ironwood. They have different stats for all four.'
+ - rscadd: Bokken require menu crafting and part construction, as well as more complicated
+ materials.
+ - tweak: Bokken (long and short) require wood, cloth and leather to craft with a
+ hatchet and screwdriver.
+ - tweak: Ironwood bokken (long and short) require ironcap logs, cloth and leather
+ to craft with a hatchet, screwdriver and welder.
+ - balance: Twin sheathes can only fit a pair of blades (longsword + shortsword)
+ or they can fit two shortswords.
+ - bugfix: Fixed a twin sheath runtime.
+ - imageadd: A lot of bokken related sprites received an overhaul. Added overlay
+ sprites for weapons sheathed in the twin sheathes.
+ - imageadd: The extradimensional blade received improved sprites for inhands/back
+ sprites.
+ - bugfix: You can now make all the variants of the bokken.
+ - bugfix: Removes a duplicate sprite.
+ - tweak: Renames all instances of 'ironwood' to 'steelwood'.
+ - rscadd: Adds new roboticist labcoat sprites!
+ qwertyquerty:
+ - bugfix: Flash the screen on climax
+ raspy-on-osu:
+ - spellcheck: salicylic acid
+ - tweak: space heater heating range and power
+ - tweak: windoor open length
+ shellspeed1:
+ - rscadd: Wings from Cit RP have been ported over
+ - rscadd: Moth wings from cit have been ported over
+ - bugfix: Cleaned up some pixels on existing moth wings.
+ - tweak: Organized the lists for wings by if they are for moths or not and than
+ by alphabetical.
+ - balance: Lings now have infinite space for DNA.
+ - rscadd: All xenomorph types have been added as corpses for mapping purposes
+ - balance: The dead xenomorphs in the lavaland xenomorph hive now have more variety.
+ - tweak: Floor bots are now buildable with all toolboxes.
+ - rscadd: 'Xenomorph hybrids can now select wings ~~add: Xenomorph hybrids can now
+ speak xenomorph~~'
+ - rscadd: Xenomorph tongues are available for customization.
+ - rscadd: Mining borgs can claim points again
+ - rscadd: Construction bags have been added, use them to carry all sorts of construction
+ bits.
+ - rscadd: A recipe has been added to cloth stacks to make material and construction
+ bags.
+ - balance: Material bags and construction bags are now available in engineering
+ lockers.
+ - rscadd: Adds the disposable sentry gun from tg for 11tc each.
+ - rscadd: The exofab can now print prosthetic limbs
+ - bugfix: The exofab was missing access to multiple cybernetic organs. This has
+ now been rectified.
+ - rscadd: A new recipe for a spicy has been given to us by a strange business man.
+ - rscadd: The bluespace navigation gigabeacon design has been added to shuttle research
+ for those wanting to take their ships around space more.
+ - tweak: Xenomorph powers now list plasma cost in their description.
+ silicons:
+ - tweak: nanite resistances tweaked
+ - rscadd: new nanite programs added for locking the user out from being modified
+ by consoles or antivirals.
+ - rscdel: anomalies no longer spawn in walls
+ - rscadd: 'Twitch Plays: Clown Car'
+ - rscadd: pugilists can now parry
+ - balance: c4 can no longer gib mobs
+ - tweak: medium screens are better now
+ - tweak: text formatting now uses one character instead of two around the text to
+ emphasize.
+ - rscadd: colormates
+ - balance: shoving yourself up now costs 50% more
+ - bugfix: dullahans enabled
+ - rscadd: tailed individuals can now target groin to intertwine tails on grab intent.
+ - rscadd: Clowns now have unpredictable effects on supermatter crystals when dusting
+ from contact.
+ - tweak: anyone new to the server is lucky enough to have their sprint default to
+ toggle instead of hold
+ - balance: stamina crit is only removed when at or under 100 stamina, rather than
+ 140. stamina crit threshold is still at 140.
+ - tweak: luxury shuttle no longer has noteleport
+ - rscdel: now only poly gets a headset on spawn, not all birds.
+ - tweak: the warp implant now actually warps you back 10 seconds. leaves a trail,
+ though. now unlimited us.
+ - bugfix: things in DEATHCOMA do not deathgasp on death
+ - tweak: Meth and changeling adrenals no longer ignore all slowdowns, rather damage
+ slowdowns.
+ - rscadd: you can now be an angel using a magic mirror again
+ - tweak: command headsets are 120% instead of 160%
+ - bugfix: no more emote italics
+ - rscadd: players can now respawn/return to lobby as a ghost after a 15 minute (default)
+ delay and rejoin on another character with some/many restrictions
+ - rscadd: cryo now preserves everything
+ - bugfix: Magrifle ammo no longer glows.
+ - tweak: temperature slowdown divisor nerfed to 35 from 20.
+ - balance: dna melt drops all items being destroying you
+ - bugfix: keybinds generate anti-collision bindings where necessary automatically
+ now
+ - balance: changeling combat mutations rebalanced. most of them take chemicals to
+ upkeep now.
+ - rscadd: set-pose has been added
+ - tweak: temporary flavor text renamed to set pose, fully visible in examine
+ - bugfix: ninja gloves no longer hardstun
+ - balance: ninja gloves now cost half as much to use to compensate
+ - bugfix: simple mobs are now immune to radioactive contamination
+ timothyteakettle:
+ - bugfix: time for memory loss message to show up when being revived is now correctly
+ 300 seconds, instead of 30
+ - bugfix: the load away mission verb won't crash the server now
+ - rscadd: roundstart slimes can turn into puddles now
+ - rscadd: all gas masks (but welding + glass) can be alt clicked to show/hide identity
+ - tweak: autosurgeons from travelling trader rewards now only have one use
+ - bugfix: fixes held items proccing crossed when passing someone
+ - tweak: you can now get a family heirlooms based off your species instead of job
+ - tweak: changeling stings retract upon turning into a slime puddle
+ - tweak: you cannot transform into a slime puddle with a no drop item in your hands
+ - tweak: slime puddles are now transparent and their colour looks more natural in
+ comparison to the user
+ - tweak: slime puddles are now even slower
+ - tweak: slime puddles now get no protection from worn clothing
+ - rscdel: removes two debug messages left in from my prior eye customization pr
+ - rscadd: adds unlockable loadout items, corresponding category in loadouts, etc
+ - rscadd: added in-game age verification as an alternative to access requests
+ - bugfix: disabling adminhelp noises no longer disables looc
+ - bugfix: apids render now
+ - bugfix: you can now only entwine tails with people who have a tail
+ - bugfix: custom eyes and tongues now properly carry across cloning
+ - rscadd: re-adds the holoform verb for people who want to use it over going through
+ the char list
+ - bugfix: eye sprites should look normal once more
+ - rscadd: licking people washes pie off their face
+ - rscadd: you can now pick your eye sprites from customization
+ - tweak: looking at loadout equips loadout items on your preview image instead of
+ job items
+ - tweak: custom holoforms are now accessible through an action instead of through
+ verbs
+ - tweak: AI holoforms can now emote
+ - tweak: cloning now correctly copies your blood colour, body sprite type and eye
+ type
+ - bugfix: species with NOTRANSSTING cannot have envy's knife used on them
+ - rscadd: avian/digitigrade legs have been added for slimes
+ - rscadd: you can teleport bread
+ - tweak: slime puddles are no longer layered down one layer
+ - tweak: you cannot tackle with two paralysed arms
+ - tweak: tackling with a single paralysed arm lowers your tackle roll by 2
+ - bugfix: circuits get pin data proc is sanitized when text is returned as data
+ - rscadd: loadout now has save slot support and colour choosing/saving for polychromic
+ items
+ - rscadd: polychromic maid outfit
+ - rscadd: you can rebind communication hotkeys and they're the default now
+ - rscadd: you can now customize your size from 90% to 130%, going below 100% makes
+ you have 10 less max health
+ - rscadd: '*squeak'
+ - rscadd: anthromorphic synth species
+ - rscadd: improvements to the automatic age gate
+ - tweak: antag items are now of critical importance and wont fail to be placed on
+ the character
+ - bugfix: a tonne of fixes to colourisation of parts, too many to name, including
+ some sprite fixes
+ - rscadd: things now have their own individual primary/(secondary)/(tertiary) colours
+ as required, and these can be modified by you
+ uomo91:
+ - bugfix: Fixed "Show All" tab in player panel logs being broken.
+ - bugfix: Whispers, OOC, and various other things display differently in logs, visually
+ distinguishing them from say logs.
+ - refactor: Player panel logs will now show all logs chronologically, so you'll
+ see commingled say and attack logs if you're on the "Show All" tab, etc...
+ yorii:
+ - bugfix: fixed botany rounding error that caused grass and other plants to misbehave
+ zeroisthebiggay:
+ - bugfix: legion now drops chests
+ - rscadd: Traitor assistants can now purchase the patented POGBox! Put TC into it
+ for even higher damage!
+ - balance: MEGAFAUNA DROPS ARE LAVAPROOF
+ - imageadd: cool codex cicatrix inhands
+ - rscadd: gravitokinetic stands from tg
+ - balance: buffs stands overall
+ - bugfix: protector stands no longer become tposing invisible apes sometimes
+ - bugfix: jacqueline spawns on boxstation
+ - rscadd: secsheath for your cool stunsword at your local security vendor. you gotta
+ hack it first though.
+ - imageadd: fuck the r*d cr*ss
+ - rscadd: The legion megafauna has been reworked. The fight should now be both slightly
+ harder and faster.
+ - balance: You can no longer cheese the colossus by being a sand golem and simply
+ being immune.
+2021-01-22:
+ Arturlang:
+ - rscadd: Adds a way to give items to people, you can combat mode rightclick to
+ offer it to one person, right click on people without mode and click the give
+ verb, or use the hotkey CTRL G to offer it to everyone around you
+2021-01-25:
+ MrJWhit:
+ - bugfix: Alien radio code
+ - rscadd: Microwave can now be cleaned by a damp rag as well as soap.
+ - bugfix: Removes some unused code, and improves some other code.
+ - rscadd: The AI has a verb to look up and down z-levels
+ - bugfix: Making a monkey into a human doesn't unanchor random things on the tile
+ - bugfix: Makes a few slight improvements to drinking code
+ - tweak: Makes encryption keys be put in the hands of the user when able instead
+ of being dropped on the floor when removed from headsets
+ raspy-on-osu:
+ - refactor: ventcrawling
+ silicons:
+ - tweak: you can now shove yourself up in any intent, not just help.
+2021-01-27:
+ ArcaneMusic, ported by Hatterhat:
+ - rscadd: Strike a hydroponics tray with a fully-charged floral somatoray to lock
+ in a mutation.
+ - rscadd: Floral somatorays now have the ability to force a mutation in a plant.
+ This should drain the cell in a single shot, but we'll see.
+ - balance: Somatorays now take uranium to craft instead of radium.
+ Arturlang:
+ - rscadd: Actually adds a right click give option
+ - rscadd: Revenants can now clickdrag to throw stuff at people, with some items
+ doing various things at the same time.
+ DeltaFire15:
+ - bugfix: The woundmending rite no longer causes runtimes.
+ - bugfix: Ratvarian borgs can now use their tier-0 spells.
+ - balance: Ratvarian borgs can always use their assigned spells, if there is enough
+ power.
+ - admin: The heretic antag panel now shows their sacrifices & current sacrifice
+ targets.
+ - tweak: The heretic roundend report now shows their sacrifices and nonsacrificed
+ targets.
+ - bugfix: Living hearts can no longer select the same target as another living heart,
+ removing a certain problem.
+ Hatterhat:
+ - tweak: Department budget cards have been readded. TO THE CODE. NOT LOCKERS.
+ - tweak: Also budget cards now look more like every other ID - see tgstation#55001.
+ - balance: One of the contractor tablet's payouts has been raised from a small payout
+ to a medium payout.
+ - balance: The free golem ship's GPSes no longer start on. They were never meant
+ to, but they did.
+ - rscdel: Headsets can't be found on most legion corpses now.
+ - rscdel: The flash on the assistant corpse is gone, too.
+ MrJWhit:
+ - tweak: Remaps some air alarms for sanity.
+ SandPoot:
+ - bugfix: The drop circuit can no longer drop things that are not inside it.
+ raspy-on-osu:
+ - bugfix: bespoke ventcrawling element not detaching due to malformed call
+ shellspeed1:
+ - bugfix: Floorbots had had a software update, preventing them from dogpiling on
+ their target as easily as they did before.
+ - soundadd: Floorbots will now play a small chime when stacked on top of each other
+ to indicate that they're moving apart.
+ timothyteakettle:
+ - rscadd: blobs can use the 'me' verb
+ - admin: adminhelps and pms only sanitize once instead of twice
+2021-01-28:
+ silicons:
+ - rscadd: colormates can now paint some mobs.
+ - bugfix: 1 dev explosions shouldn't delete brains anymore
+2021-01-29:
+ MrJWhit:
+ - tweak: Ported the QM, Captain, CMO, and HoS cloaks from beestation.
+ - rscdel: Removes excess air alarms from boxstation
+ TripleShades:
+ - bugfix: fixes engineering secure storage being the wrong area because I fucked
+ that up previously my bad
+ - bugfix: removes funny extra light switch under right surgery table in surgery
+ oops
+ - rscadd: Added chairs to the corpse launch viewing area
+ - rscadd: Small garden plot for flowers for parity with other station Chapels
+ - rscadd: Plain Bible to glass tables in Chapel
+ - rscadd: Candles and Matchbox to glass tables in Chapel
+ - rscadd: More glass tables, with a chaplain figure and another spare bible.
+ - rscadd: Bookcase to Box Chapel for parity with other station Chapels
+ - rscadd: Minimoog to Box Chapel as substitute for a church organ
+ - rscadd: 'Holy department sign just below Chapel change: Expanded the corpse launching
+ area to feel less congested change: Added windows to the corpse launch so you
+ can look inside I guess? change: Moved flowers and burial garments to the corner
+ next to the corpse launcher change: Box Chaplain''s office door is moved over
+ one change: Confessional is now connected to Chaplain''s office for parity with
+ other station Chapels change: Moved coffins over to old confessional location
+ change: Box Chapel now has pews instead of stools change: Box Chapel Confessional
+ is now lit instead of being nearly pitch black remove: Two coffins from Chapel'
+ timothyteakettle:
+ - bugfix: the miner bedsheet will now increment its progress when you redeem points
+ from the ORM
+ - rscadd: you can add custom names and descriptions to item's on the loadout now
+ zeroisthebiggay:
+ - rscadd: roundstart aesthetic sterile masks and roundstart paper masks
+ - rscadd: more accessory slot items
+ - rscadd: cowbell necklace happy 2021
+ - rscadd: shibari ropes & torn pantyhose
+2021-01-30:
+ timothyteakettle:
+ - rscadd: adds 'clucks', 'caws' and 'gekkers' to the speech verb list
+ zeroisthebiggay:
+ - rscadd: some more FUCKING hairs
+ - imageadd: uncodersprites the advanced extinguisher
+2021-01-31:
+ Putnam3145:
+ - balance: fermichem explosion EMPs don't cover the entire station
diff --git a/html/changelogs/archive/2021-02.yml b/html/changelogs/archive/2021-02.yml
new file mode 100644
index 0000000000..7b4448849e
--- /dev/null
+++ b/html/changelogs/archive/2021-02.yml
@@ -0,0 +1,267 @@
+2021-02-02:
+ silicons:
+ - rscadd: pais can now be carried around piggybacking/fireman
+ - balance: Meth and Nuka Cola once again, speed you up.
+2021-02-03:
+ Hatterhat:
+ - bugfix: The green energy sabre's sprite now respects proper handedness.
+2021-02-05:
+ SmArtKar:
+ - rscadd: The orbit menu now has an Auto-Observe button! No more sifting through
+ the lame observe menu to snoop in people's backpacks! Also, orbit menu now refreshes.
+ - bugfix: KAs are no longer getting broken when fired by a circuit
+ keronshb:
+ - balance: Force and damage > 15 from 18/25
+ - balance: Knockdown put down to 5 from 30
+ - balance: Armor pen down to 10 from 100.
+ - balance: Makes cell chargers, charge faster.
+ raspy-on-osu:
+ - bugfix: alien royals can no longer ventcrawl
+ shellspeed1:
+ - balance: There actually needs to be people for zombies to happen now.
+ timothyteakettle:
+ - rscadd: dwarf facial hair is no longer randomised
+2021-02-07:
+ Thalpy:
+ - refactor: 'Dispenser: Adds the ability to store a small amount of reagents in
+ the machine itself for dispensing. Reacting recipies cannot be stored. Size
+ of storage increases with bin size.'
+ - refactor: 'Dispenser: Allows reagents to be color coded by pH'
+ - refactor: 'Dispenser: Each reagent displays it''s pH on hover'
+ - refactor: 'Dispenser: Allows the user to toggle between buttons and a radial dial'
+ - refactor: 'Dispenser: When the dispencer is upgraded it can dispense 5/3/2/1 volumes
+ based on rating refactor: Dispenser: as it was before. This does not break recorded
+ recipes.'
+ - tweak: Adds a round function to some numbers so they're not huge
+ - tweak: The Chem master can now get purity for all reagents when analysed
+ - bugfix: Synthissue fixes
+ - tweak: buffers now have a strong and weak variant. Weak can be dispensed, and
+ strong can be created. Strong buffers are 6x more effective.
+ - bugfix: Some buffer pH edge calculation fixes
+ TyrianTyrell:
+ - rscadd: added a signed language, that can't be used over the radio but can be
+ used if you're mute. also added the multilingual trait.
+ - imageadd: hopefully added an icon for the signed language.
+ - code_imp: changed how some traits function slightly.
+ dzahlus:
+ - tweak: tweaked a few sounds
+ - soundadd: added a new weapon sounds
+ - sounddel: removed old weapon sounds
+ - code_imp: changed some sound related code
+ silicons:
+ - rscadd: syndicate ablative armwraps have been added.
+2021-02-09:
+ Chiirno:
+ - rscadd: Adds clown waddle to clown shoes. Enhanced Clown Waddle Dampeners can
+ be engaged in-hand with ctrl+click, _but why would you?_
+ MrJWhit:
+ - rscadd: Re-adds theater disposal outlet, and makes dorms disposal able to have
+ things sent to it on boxstation.
+ TyrianTyrell:
+ - bugfix: made default tongue able to speak signed language.
+ timothyteakettle:
+ - balance: sentient viruses can now infect synths and ipcs
+2021-02-11:
+ Adelphon:
+ - rscadd: Charismatic Suit
+ - rscadd: Urban Jacket
+ DeltaFire15:
+ - tweak: Added nanogel to the robodrobe.
+ Putnam3145:
+ - rscadd: Config to keep unreadied players from mode voting
+ dzahlus:
+ - bugfix: fixes grenadelaunch.ogg being used where it shouldn't and makes mech weapons
+ use correct sound
+ keronshb:
+ - balance: 10 > 30 second for Warp Implant cooldown
+ - rscdel: Comments out power sink objective.
+ timothyteakettle:
+ - bugfix: persistent blood should stop being invisible and alt clicking it shouldn't
+ return the entire spritesheet
+ - admin: pickpocketing is now logged using log_combat
+ zeroisthebiggay:
+ - tweak: the aesthetic sterile mask no longer hides faces so you can cosplay egirls
+ and keep flavortexts
+2021-02-12:
+ Hatterhat:
+ - balance: The ATVs on SnowCabin.dmm have been replaced with snowmobiles.
+ MrJWhit:
+ - tweak: Random deltastation fixes.
+ - tweak: Gives boxstation vault door actual vault door access
+ silicons:
+ - balance: Voice of God - sleep removed, stun staggers instead, knockdown is faster
+ but does not do stamina damage, vomit is faster but doesn't stun
+2021-02-13:
+ Hatterhat:
+ - balance: Energy bolas now take 2.5 seconds to remove and dissipate on removal.
+ timothyteakettle:
+ - admin: migration error to version 39+ of savefiles is now logged instead of messaging
+ all online admins in the chat
+2021-02-14:
+ DeltaFire15:
+ - admin: The antag panel now correctly shows the names of cultist / clockcult datum
+ subtypes.
+ - bugfix: Adding clock cultists via the admin panel now works correctly.
+ - bugfix: Xeno larvae should now be able to ventcrawl again.
+ Hatterhat:
+ - tweak: Repairing sensors on jumpsuits now requires a fully-intact jumpsuit. Find
+ some cloth.
+ - tweak: Durathread armor kits now require you to have a fully-repaired jumpsuit,
+ first, with no attachments.
+ - bugfix: Durathread armor kits now no longer weave the entirety of the jumpsuit
+ armor universe into having armor.
+ TyrianTyrell:
+ - code_imp: added a define for multilingual granted languages, and changed the multilingual
+ trait to use it.
+2021-02-15:
+ Adelphon:
+ - rscadd: polychromatic shoes
+ - rscadd: polychromatic windbreaker
+ - rscadd: polychromatic canvas cloak
+ - bugfix: digitigrade charismatic suit texture
+ DeltaFire15:
+ - balance: Kneecapped pugilist parries somewhat.
+ - balance: Slightly nerfed default unarmed parries.
+ - balance: Slightly nerfed traitor armwrap parries.
+ - bugfix: Pugilist parries now cannot perfectly defend against projectiles, as they
+ were supposed to.
+ - bugfix: Some parrying numbers that one would think were in seconds didn't have
+ the SECONDS. I added those.
+ - balance: Clock cultists now yell alot less when invoking scripture.
+ dzahlus:
+ - rscadd: Added new emote
+ - soundadd: added a new emote sound
+ silicons:
+ - balance: people on the ground hit less hard in unarmed combat. rng miss remove
+ from punches.
+ - bugfix: chat highlighting no longer drops half your entered words.
+2021-02-16:
+ silicons:
+ - config: sprint removal entry added, UI will revert to old UI while this is active.
+2021-02-18:
+ BlueWildrose:
+ - admin: Admins now receive messages regarding certain holodeck actions.
+ Hatterhat:
+ - bugfix: Free Golem Ship GPSes now start as disabled. Like they were supposed to.
+ LetterN:
+ - tweak: No more liver damage when you opt out of "hornychems"
+ SmArtKar:
+ - rscadd: Added a new TCG card game
+ dzahlus:
+ - rscdel: Removed maroon objective due to toxic gameplay behaviour
+ shellspeed1:
+ - bugfix: floor bots place plating before tiles now.
+ - bugfix: gets rid of another tile duplication issue.
+ silicons:
+ - spellcheck: priviledge --> privilege
+2021-02-19:
+ Putnam3145:
+ - bugfix: Buzz Fuzz's addiction threshold is now a can and a sip as intended.
+ timothyteakettle:
+ - admin: staring into pierced realities is now logged
+2021-02-20:
+ Adelphon:
+ - rscadd: polychromic pants
+ - tweak: urban coat made polychromic
+ Chiirno:
+ - tweak: Synthflesh now unhusks with 100u instead of requiring 101u.
+ SmArtKar:
+ - tweak: Added some QoL changes to TCG
+ - bugfix: Fixed TCG cards not saving
+ TyrianTyrell:
+ - bugfix: fixed the signed language so that you can actually use it, and that it's
+ unusable when it's meant to be.
+ timothyteakettle:
+ - bugfix: stops people using Message All on PDAs when their cartridge doesn't allow
+ it
+2021-02-21:
+ Hatterhat:
+ - balance: Anomaly announcements and brand intelligence now always announce instead
+ of having some ham-fisted chance of being a command report.
+ IronEleven:
+ - balance: Raises Space Vine Population Requirement from 10 to 20
+ MrJWhit:
+ - tweak: Removes an unnecessary % on the seed extractor.
+ timothyteakettle:
+ - bugfix: the query for checking mentors now gets properly deleted
+ - rscadd: vampires no longer burn in the chapel if they signed up as the chaplain
+2021-02-22:
+ Putnam3145:
+ - rscadd: (Hexa)crocin
+ - rscadd: (Hexa)camphor
+ - rscadd: Nymphomaniac quirk
+ - admin: All climaxes and arousals are now logged, as well as genital exposure.
+ SandPoot:
+ - rscadd: Cyborg tablets and it's special app for self-management.
+ - bugfix: In the case of a doomsday device being created outside of an AI it will
+ delete itself.
+ - imageadd: Some sprites for it have been added and the borg's hud light toggles
+ been changed to only on-off (made by yours truly)
+ - refactor: A lot of borg code was changed
+ - refactor: Tools no longer use istype checks and actually check for their behavior.
+ Vynzill:
+ - rscadd: cursed rice hat that's hard to find and obtain, along with a couple other
+ hats
+ - rscadd: a replacement toy gun for donksoft lmg
+ - rscadd: gorillas to the jungle gateway, friendly, even when attacked.
+ - bugfix: couple mapping errors I noticed, most importantly a missing window in
+ the chapel.
+ - balance: shotgun and donksoft lmg removed, captain coat nerfed armor values.
+ - balance: leaper healthpool from 450 to 550 hopefully making it more of a struggle,
+ and gives it a name.
+ - tweak: leaper pit is more wider. The hidden room south is now more obvious to
+ find
+ dzahlus:
+ - rscadd: Added pain emote to getting wounded
+ - soundadd: added a new pain emote sounds
+2021-02-23:
+ keronshb:
+ - rscadd: Hyperblade to uplink with poplock
+ - balance: Removes combination of two Dragon Tooth Swords while keeping it for regular
+ eutactics.
+ timothyteakettle:
+ - bugfix: banning panel prioritises mobs with clients now when trying to find them
+ if they're in the game
+2021-02-24:
+ SandPoot:
+ - bugfix: Regular crowbars no longer open powered airlocks.
+ silicons:
+ - balance: xeno cube makes hostile xenos now, and drops a sentinel instead of a
+ drone.
+2021-02-25:
+ DeltaFire15:
+ - bugfix: Traitor / Ling objective amount should now be correct again.
+2021-02-26:
+ DeltaFire15:
+ - code_imp: All machine-frame based tool-use actions now have state-checking callbacks.
+2021-02-27:
+ Hatterhat:
+ - balance: Lingfists (trait_mauler) now deal no stam damage and lost their 15(!!!)
+ armor penetration.
+ Putnam3145:
+ - tweak: Tablets now protect their contents from rads.
+ TheObserver-sys:
+ - rscadd: Chems that should have been usable are now usable, try some cryoxadone
+ on a plant today!!!
+ kappa-sama:
+ - tweak: cards and card binders are now small-class items
+ keronshb:
+ - balance: 16 > 10 unlock cost for stronger abilities
+ - balance: Made nearly all other abilities for free.
+ kiwedespars:
+ - balance: reverted the pr that absolutely gutted pugilism and made it worse than
+ base unarmed, also gives it a second long stagger
+ - balance: removed the ability to parry while horizontal, because that's dumb and
+ makes it easy to just time the parries right.
+ silicons:
+ - bugfix: chaplain arrythmic knives can no longer be abused for infinite speed.
+2021-02-28:
+ Putnam3145:
+ - bugfix: Polychromic windbreaker's alt-click message is now coherent
+ - code_imp: Toggleable suits now have an on_toggle proc to be overridden.
+ R3dtail:
+ - tweak: doubled max belly name length and quadrupled belly description length
+ SandPoot:
+ - tweak: Body rejuvenation surgery will loop until the patient is completely healed.
+ dzahlus:
+ - bugfix: fixes toxinlovers dying from heretic stuff that should heal them instead
diff --git a/html/changelogs/archive/2021-03.yml b/html/changelogs/archive/2021-03.yml
new file mode 100644
index 0000000000..e36008a175
--- /dev/null
+++ b/html/changelogs/archive/2021-03.yml
@@ -0,0 +1,310 @@
+2021-03-01:
+ SmArtKar:
+ - bugfix: Fixes decks breaking your screen
+ - bugfix: Fixes binders not saving cards
+ - bugfix: Fixes binders not saving multiple cards of the same type
+ Vynzill:
+ - bugfix: cursed rice hat right in front of the jungle gateway's entrance is now
+ removed from this dimensional plane
+2021-03-02:
+ LetterN:
+ - bugfix: 'colorpainter: let''s not dispense null'
+ SandPoot:
+ - bugfix: Changelings will actually become the person they want to be when using
+ "human form" ability(after having used last resort).
+2021-03-03:
+ MarinaGryphon:
+ - bugfix: The AOOC mute pref is now properly respected.
+ - bugfix: Muting adminhelp sounds no longer mutes AOOC.
+ Putnam3145:
+ - config: pAIs now have a policy config
+ - rscadd: '"Supermatter surge" event, which might cause problems if the supermatter
+ is not sufficiently cooled (i.e. the setup is messed up in some way)'
+ - rscdel: Fusion can no longer be done in open air.
+ - rscdel: Valentine's day event no longer gives everyone a valentine's antag.
+ SandPoot:
+ - bugfix: Legions should now pass their type to the person they infect (if valid).
+ dzahlus:
+ - rscadd: Added new subtype to lesser ash drake balanced around player control
+ - balance: rebalanced dragon transformation to a 1 minute cooldown as well as using
+ the new subtype of megafauna
+ qweq12yt:
+ - bugfix: fixed infectious zombies not being able to attack if host was pacifist
+ - rscadd: adds a way for species to have blacklisted quirks, the removal, and restoration
+ of said quirks upon species changes
+ - bugfix: Now pacifists won't be able to use flamethrowers
+ - bugfix: Kinetic Accelerator now properly reloads a charge to it's chamber instead
+ of nulling the variable forever
+ - bugfix: Now pacifists won't be able to use Kinetic Accelerators if a non-pacifist
+ shoots it first
+2021-03-04:
+ LetterN:
+ - code_imp: removes bsql
+2021-03-05:
+ Putnam3145:
+ - tweak: Lowered ash storm volume
+ - tweak: Minesweeper can no longer be made to lag the server on purpose
+ keronshb:
+ - tweak: Prevents heat from going through reinforced plasma glass.
+2021-03-07:
+ Hatterhat:
+ - rscadd: You can now reskin your improvised shotguns.
+ - rscadd: The spontaneous brain trauma event now announces to ghosts whoever got
+ funnied upon.
+ - imageadd: Ports EikoBiko's cat tail sprite.
+ Putnam3145:
+ - bugfix: nitryl now consumes oxygen/nitrogen instead of generating them
+ - balance: Hyper-nob and nitryl are easier to make.
+ dzahlus:
+ - rscadd: Added taser microbattery for MWS-01
+ - tweak: tweaked MWS-01 beacondrop to have more batteries
+ - balance: rebalanced MWS-01 disabler battery to fire 10 shots
+ - soundadd: added unique sound to the MWS-01
+ - spellcheck: fixed Modula Weapons System to "Modular Weapon System"
+ timothyteakettle:
+ - balance: exiting a bluespace jar through any means, hardstuns you for 5 seconds
+2021-03-09:
+ LetterN:
+ - refactor: tg hardsync, mostly contains tgui
+2021-03-10:
+ Hatterhat:
+ - rscadd: The femur breaker now actually breaks legs by applying a compound fracture.
+ Putnam3145:
+ - balance: uncapped TEG power, buffing high-temp TEGs
+2021-03-12:
+ R3dtail:
+ - spellcheck: Adds Periods and moves some words around.
+2021-03-14:
+ Adelphon:
+ - rscadd: messy2
+ - bugfix: papermask
+ Hatterhat:
+ - rscadd: Robotic limb repair surgery now has tiers.
+ - rscadd: 'Pubby and Delta now have roundstart limb-growers relatively close to,
+ if not in, the operating theaters. tweak: Box QM''s console now can announce
+ things.'
+ Putnam3145:
+ - bugfix: chaos loads now
+ kiwedespars:
+ - rscadd: adds a cute new plushie
+ necromanceranne:
+ - bugfix: Fixes cosmetic augments missing their foot sprites.
+2021-03-16:
+ GrayRachnid:
+ - balance: removed red toolbox, agent id, and guerilla gloves from unlocking illegal
+ tech.
+ HeroWithYay:
+ - bugfix: fixed spelling error
+ LetterN:
+ - bugfix: Borg light icons not turning off
+ - bugfix: Double ai icon select + Fixes ai core not having icons
+ - bugfix: Missing air tank icon
+ - bugfix: Computer boards being dumb and nullspacing/qdeling itself
+ Putnam3145:
+ - balance: Supernova now much lower chance to be inconsequential
+ - balance: Made hyper-nob's point values way lower (25/20 for science/cargo instead
+ of 1000/1000)
+ - balance: Made nitryl's cargo sell value less (10 instead of 30)
+ SandPoot:
+ - bugfix: Fixed interacting with telecomms.
+2021-03-17:
+ KeRSedChaplain:
+ - rscadd: Added three new rites, and makes soul vessels obtainable
+ - bugfix: fixes clockwork guardians inheriting marauders blocking
+ - soundadd: added sounds for the ratvar end sequence, voiced by @dzahlus
+ timothyteakettle:
+ - rscadd: speech panel added to main menu customization
+2021-03-18:
+ Arturlang:
+ - bugfix: Combat mode right click and right click verb give's are now actualyl targeted
+ Hatterhat:
+ - rscadd: Hypospray vials are now printable from the medical techshift start.
+ - rscadd: 'Empty hypospray kits are now printable behind biological technology.
+ tweak: Quantum electromag (T4 lasers) are now behind Advanced Bluespace like
+ the rest of T4.'
+2021-03-19:
+ DeltaFire15:
+ - rscdel: 'Bluespace jars can no longer be printed / acquired from lathes / techwebs.
+ tweak: The travelling animal trader now gives you your reward in a one-use bluespace
+ jar.'
+ Putnam3145:
+ - rscadd: '"Antag" role that can be toggled to disable all antags'
+ SandPoot:
+ - rscadd: Tactitool Skirtleneck.
+ - rscadd: Adds the tactitool skirtleneck to the loadout.
+ kiwedespars:
+ - rscadd: 'New heretic path - Path of Void- it specializes in being extremely stealthy.
+ tweak : Removed curse of blindness replaced with mask of madness. hey it even
+ rhymes.'
+ - bugfix: fixes heretic mass deletion during transmutation bug.
+ - bugfix: Fixes heretic brews being permanent.
+ - bugfix: 'Fixes void storm breaking after resurrecting. tweak: Heretic has received
+ a minor textual facelift. tweak: Heretics who finish the Void Path and become
+ an Aristocrat of the Void can now survive in the Void (space).'
+ - bugfix: Heretics who research Aristocrats Way on the Void Path will no longer
+ suffocate in their own storm when they ascend (no longer breathes).
+ - bugfix: Mark of Void and Seeking Blade are once again exclusive only to Void.
+ - balance: 'Carving knife now deals more damage on throw and can embed in your enemies.
+ tweak: Grasp of Rust only rusts floors and machines on harm intent. tweak: when
+ u choose a sac target as heretic it ll also tell the job of the sac'
+ - rscadd: 2 new void spells, one a placeholder.
+ - rscadd: flesh mansus grasp buffed, now gives you 5u eldritch fluid when hitting
+ someone.
+ zeroisthebiggay:
+ - bugfix: fixes spriteless heretic book
+2021-03-20:
+ Hatterhat:
+ - bugfix: Bluespace beaker filling icons for that narrow band between 90 and 80%
+ full now actually exist.
+2021-03-21:
+ Arturlang:
+ - bugfix: Vampire statpanel no longer shows spans unnecesary
+ GrayRachnid:
+ - bugfix: fixed the holopad autocall bug
+ - bugfix: properly incorporated the secure holopad that was commented out in the
+ code.
+ - config: the in_character_filter.txt is now usable
+ - admin: headmins should edit the in_character_filter.txt
+ - server: someone with box access should delete racism with the in_character_filter.txt
+ - balance: buffed particle defender disabler shots from 13->15 stamina (15*6=90)
+ - balance: buffed particle defender laser ammo to 4 shots
+ Hatterhat:
+ - rscdel: removes pacifism from ghost cafe. have fun beating up your coworkers
+ LetterN:
+ - rscadd: Art gallery (meta)
+ - rscadd: Laptop vendor (meta, delta, box)
+ Putnam3145:
+ - balance: Buffed supermatter surge massively.
+ The-Sun-In-Splendour:
+ - bugfix: You cannot revive yourself (as a changeling) if you've been absorbed anymore
+ dzahlus:
+ - balance: rebalanced hierophant STAFF to do 15 damage on all attacks
+ timothyteakettle:
+ - bugfix: using the puddle ability when stunned wont break it
+2021-03-23:
+ LetterN:
+ - bugfix: NIRM departamental purchases now work. Have fun spending the entire R&D
+ Budget!
+2021-03-24:
+ BlueWildrose:
+ - bugfix: The nightmare's light eater can now destroy messes that emit light, like
+ glowing goo or ectoplasmic puddles.
+ Hatterhat:
+ - bugfix: The NOGUNS trait now takes precedence over the triggerguard checks.
+ - balance: Medicated sutures and advanced regenerative mesh are now easier to make.
+ Reagent-quantity wise, anyway.
+ ItzGabby:
+ - rscadd: Fluff Items with polychromic support
+ - rscadd: A new vendor called Bark box
+ - rscadd: A new form of snack with it's own box
+ - rscadd: Two harness, one of them being lewd
+ - rscadd: One new collar, with a ribbon. Classy.
+ - rscadd: More locked forms of collars
+ - rscdel: Purged old balls
+ - balance: Removed the funny buffs each colored tennis ball had, down with the powergame!
+ - imageadd: Added polychromic fluff icons, vendor icons, suit icons, snack icons,
+ fancy box icons, and a polychromic version of Izzy's ball.
+ - imagedel: Deleted old balls, Izzy's Ball, except the rainbow one since it's special
+ and as I did not go out of my way to get permission to touch.
+ - spellcheck: Walked into vending.dm and glared for a moment at hydroponics' grammar.
+ LetterN:
+ - bugfix: fixed laptops pickability
+ - bugfix: fixed closets being unweldable
+ YakumoChen:
+ - balance: Genetics - Thermal vision is a recipe instead of a natural gene now.
+ Nearsighted+Stimmed. Other minor nerfs, Thermal is 40 instability.
+ - balance: Research - X-ray eyes are now an illegal tech.
+ qweq12yt:
+ - rscadd: added the black market uplink
+ - imageadd: added blackmarket.dmi
+ - bugfix: increased the black market interface's width, now the delivery options
+ will show properly when the LTSRBT is built
+ zeroisthebiggay:
+ - rscadd: biodegrade works on legcuffs
+2021-03-25:
+ zeroisthebiggay:
+ - balance: strained muscles isn't free
+2021-03-26:
+ BlueWildrose:
+ - balance: Clothing no longer drops when shredded. It just becomes useless.
+ - balance: Suit sensors are guaranteed to short out when the clothes become shredded,
+ not damaged now.
+ - balance: Uniform limb integrity increased from 30 to 120.
+ - balance: 'Suit sensor damage has been added. The more damaged your suit sensors
+ get, the less features that will be available from these suit sensors. It takes
+ two e-sword hits to ruin your tracking beacon for instance. tweak: Examine text
+ on uniforms is now more clear about needing cable coil to repair your suit sensors.'
+ - bugfix: Fixed prisoner uniform sprite paths
+ CuteMoff:
+ - balance: Diamond's forcemod was changed from 1.1x to 1.2x
+ Hatterhat:
+ - rscadd: Lever-action rifles, chambered in .38, are now sitting in the code. They
+ might be buyable from Cargo or the Black Market soon. Watch this space.
+ - rscadd: Sawed-off shotguns now look like shotguns, but short, when inhand, instead
+ of "generic gun".
+ timothyteakettle:
+ - bugfix: slimes can be delimbed
+ - bugfix: the loadout now colours pet collars correctly
+2021-03-28:
+ CuteMoff:
+ - balance: Changed Strength Modifier from the default (1.0) too .7
+ Hatterhat:
+ - bugfix: As a heretic, shattering your blade no longer interferes with bluespace.
+ Putnam3145:
+ - rscadd: Threat tracking is now universal, rather than dynamic-only
+ - rscadd: Slaughter demon event now increases weight based on how much blood there
+ is.
+ R3dtail:
+ - rscdel: Removed ichor creates
+ - balance: Removed ichor crates and adjusted crate rolling appropriately
+ - balance: Removed the bonespear from the blackmarket uplink, and made EMP grenades
+ harder to get from the same item.
+ - rscadd: Added a description to the black market uplink
+ Shadow-Quill:
+ - imageadd: Added small versions of the walk icon for all hud styles, except Retro.
+ dzahlus:
+ - rscadd: Added radial menu to joy mask for alt reskins
+ - imageadd: added pensive, angry and flushed sprites to joy mask
+ keronshb:
+ - balance: Radioactive microlasers can no longer knock out creatures who are immune
+ to the effects of radiation.
+ - bugfix: The radioactive microlaser now calculates the strength of its delay effect
+ using the intensity setting it had when you initially used it on your victim,
+ not the intensity setting it currently has. This prevents people from "cheating
+ out" its intensity 20 effect with only a 2 second delay and a 1 second cooldown.
+ - balance: Radioactive microlasers no longer contain twice as much metal as normal
+ health analyzers do.
+ necromanceranne:
+ - rscadd: Replaces the useless bullet and laser shields with new Kinetic and Ablative
+ shields, which do as they advertise.
+ - rscadd: Replaces the shield implants shield with a hardlight shield that can take
+ large amounts of brute damage, but disintegrates when shot with disablers.
+ - bugfix: Fixes Fake Roman Shields being able to be used as normal riot shields.
+ - bugfix: Fixes nonlethal/non-physical damage types destroying shields. (stamina,
+ toxins, oxygen, clone, brain)
+ - bugfix: Fixes tower shields not doing anything, while also giving them intergrity
+ to match their advertised durability.
+ - bugfix: Uses additional flags to determine what kind effects work well and what
+ works poorly against various shields.
+ timothyteakettle:
+ - rscadd: ghost cafe residents can now disguise themselves as any mob or object
+ - bugfix: fixes character preview not updating when selecting the loadout tab
+ zeroisthebiggay:
+ - rscadd: triple kitsune tail
+2021-03-29:
+ BlueWildrose:
+ - bugfix: Fixed being unable to fix suit sensors if damaged at all unless destroyed
+ completely
+ YakumoChen:
+ - rscadd: A less-than-new Syndicate bundle that reminds you of the good old days
+ when we didn't need all those newfangled traitor items the young-uns get. We
+ had 6 items in the uplink and we had Monkey in rotation and by god we made do.
+ qweq12yt:
+ - rscadd: Added Earmuffs
+ - rscadd: Added Random Drink
+ - rscadd: Added Clear PDA
+ - rscadd: Added Internals Box
+ - rscadd: Added Meson Goggles
+ - rscadd: Added Smoke Grenade
+ silicons:
+ - bugfix: automated hydroponics system design now works properly
diff --git a/html/changelogs/archive/2021-04.yml b/html/changelogs/archive/2021-04.yml
new file mode 100644
index 0000000000..a42fecb451
--- /dev/null
+++ b/html/changelogs/archive/2021-04.yml
@@ -0,0 +1,278 @@
+2021-04-02:
+ LetterN:
+ - bugfix: piratepayment
+2021-04-03:
+ BlueWildrose:
+ - bugfix: The hydroponics pet bee, Bumbles no longer has a number besides their
+ name.
+ Putnam3145:
+ - rscdel: '"Destroy all nanotrasen cloning machines" objective is gone'
+ - code_imp: Removed all the commented-out sabotage objectives (we can just get them
+ from history)
+ - rscadd: Observe verb logging
+2021-04-04:
+ Hatterhat:
+ - balance: After a sudden crash in the tower-cap log slash wooden plank economy,
+ NanoTrasen has decided to stop selling tower-cap logs to Cargo.
+2021-04-06:
+ ArcaneMusic:
+ - bugfix: Prevents people from lagging the server by growing HUMANS FROM CABBAGE!
+ BlueWildrose:
+ - admin: Admins get to hear the prayer ding again unless they have prayer sounds
+ turned off.
+ DeltaFire15:
+ - bugfix: The wood plank cargo pack no longer is named incorrectly.
+ Putnam3145:
+ - bugfix: forced climax doesn't do a climax-with
+ SandPoot:
+ - bugfix: Reverts locker/crate behavior for attacking it with an item while closed
+ (use any intent other than help to bash it).
+ - bugfix: 'Laptop interactions are no longer weird and now you can drag it to yourself
+ to pick it up. tweak: Ctrl+Shift-Click to toggle laptops open/closed. tweak:
+ More examine info for laptops.'
+ - bugfix: Lockers/Crates can now be deconstructed the right way respecting the cutting_tool
+ (even if it's not one of the default interactions).
+ - rscdel: Dragging the laptop into itself shouldn't do anything anymore (kind of
+ pointless and hard to do).
+2021-04-07:
+ LetterN:
+ - rscadd: Perln generation & biomes from lavaland
+ - code_imp: Cleans up the area, update it's icon and updates the openspace to use
+ the modules.
+2021-04-09:
+ BlueWildrose:
+ - balance: The genetics mutation Autotomy has been buffed to be 20 instability instead
+ of 30, and harmless in delimbing.
+ - rscadd: 'There are now three more pills in each breast or penis enlargement pill
+ bottle. tweak: There are now 10 pill bottles of breast and penis enlargement
+ pill bottles in a Kinkmate instead of 5.'
+ - balance: Because of such changes that increases their amount in the kinkmate,
+ succubus milk and incubus draft values are reduced to RARE from VERY_RARE.
+ - spellcheck: Grammar correction on titty pill bottle.
+ - rscadd: The pandemic machine can now let you swap containers.
+ - bugfix: Slime puddles will now show mutation visual indicators & cult indicators
+ after exiting slime puddle form
+ - bugfix: Slime puddle transformation animations are now resized to fit the slimeperson's
+ current size, making it visually more consistent
+ - spellcheck: Typo correction in some mutation descriptions and other things
+ - code_imp: Cult/clockcult layers moved from LAYER_MUTATION to LAYER_ANTAG, new
+ update section for them specifically now
+ - rscadd: Sylvan and Mushroom languages are now tongueless, and Encoded Audio Language
+ is now learnable.
+ SandPoot:
+ - bugfix: The dragons_blood "lizard with the appearance of a drake" no longer wipes
+ important stuff.
+ - bugfix: Fixes Ashlizard legs not being digitigrade and makes them have the "Sharp"
+ snout.
+ - bugfix: Machines that open no longer drop their stock parts.
+ brokenOculus:
+ - rscadd: Added Telescopic Baseball Bat
+ - rscadd: Added Telescopic Baseball Bat to Stealthy uplink items
+ - rscadd: Added sprites for Telescopic Baseball Bat
+ - rscadd: Added Telescopic Baseball Bat to Baseball kit under uplink bundles
+2021-04-12:
+ BlueWildrose:
+ - bugfix: Fixed female slime-subspecies left/right sprites being flipped
+ - bugfix: Fixed drones nullspacing things they try to place on tables and in closets
+ - bugfix: Fixed phantom mob-holder items. You can now grab Ian from your backpack
+ without any issues.
+ silicons:
+ - balance: gold cores can spawn simplemob xenos again.
+ timothyteakettle:
+ - config: makes AGE_VERIFICATION option off by default
+2021-04-13:
+ rossark:
+ - bugfix: wrong word
+2021-04-14:
+ Hatterhat:
+ - balance: Space pirates are now slightly more aware of how much money the station
+ has, and will demand payment accordingly. (No more 20k minimum payouts and basically-confirmed
+ three midround skeletons.)
+2021-04-15:
+ BlueWildrose:
+ - bugfix: Fixed escape pods not docking at Centcom
+ skodai:
+ - imageadd: Resprited the icons for the sushi, onigiri, tuna can and sea weed.
+2021-04-16:
+ BlueWildrose:
+ - bugfix: (TGport-Timberpoes) You can once again pay off the pirate event from the
+ communications console without it silently failing for no obvious reason.
+ - bugfix: Fixed being unable to delete messages from the communication consoles
+ message list save for the one on the bottom.
+ - bugfix: The data siphon that the space pirates have will no longer go invisible
+ when it begins siphoning.
+ - bugfix: If the space pirate's "offer" has been rejected, there is now announcement
+ feedback for if this does happen.
+ DeltaFire15:
+ - bugfix: Borgs can now use tank dispensers (again?)
+2021-04-18:
+ BlueWildrose:
+ - balance: '(TGport-Kriskog) Reduced blight cost to 75, more in line with its underwhelming
+ nature. tweak: (TGport-Kriskog) Revenants now only use stolen essence to unlock
+ new spells. No more counting corpses or waiting for regen before draining. tweak:
+ (TGport-Kriskog) Spell unlock costs adjusted accordingly, defile upped from
+ 0 to a cost of 10. tweak: (TGport-Kriskog) Drain targets in soft-crit will be
+ stunned, to prevent them crawling away.'
+ - bugfix: (TGport-ShizCalev) Fixed revenant's light overload ability not blowing
+ lights in a square if there was another broken/burnt out/empty light in it.
+ DeltaFire15:
+ - bugfix: Mechs now do not get drained an absurd amount of energy when EMPd.
+ - bugfix: Organic healing surgeries no longer show up for people without any organic
+ bodyparts.
+ SandPoot:
+ - rscadd: Adds a fancy TGUI interface for the cloning computer.
+ - rscdel: 'Destroys the old cloning interface. tweak: Alt-Click now removes disks
+ from the cloning computer.'
+ - refactor: Replaced way too much code for the cloning computer.
+ - refactor: Cloning scan's implant now outputs a list if desired.
+2021-04-20:
+ BlueWildrose:
+ - rscadd: New slimeperson organs that aren't really that different from humans for
+ now.
+ - imageadd: Some blue organs for slimepeople.
+ - rscadd: Space pirate sleepers can now be crowbared to be destroyed.
+ DrPainis:
+ - rscadd: ash drake meat
+ Hatterhat:
+ - bugfix: Plastitanium glass now properly applies the *2 bonus for integrity and
+ efficiency when used as a solar panel.
+ HeroWithYay:
+ - imageadd: replaced some icons
+ Putnam3145:
+ - rscadd: Bluespace pipes, which can teleport gas over long distances
+ - rscadd: Donk co traitor class (assassin-heavy)
+ - rscadd: Waffle co traitor class (freeform)
+ - rscadd: 'Admin-only activity tracking system only attached to antags for now tweak:
+ Objective rerolling can now be done twice'
+ - bugfix: Sabotage objectives won't give "free objective" anymore
+ The0bserver, TripleZeta, and AsciiSquid:
+ - rscadd: New, easily concealable weapons, chambered in .38, .357, and .45-70 Govt.
+ Fun for the whole family!
+ - rscadd: Some smugglers seem to have acquired a high amount of .38 derringers,
+ and are looking to offload them to those of gray morality, with no questions
+ asked!
+ - rscadd: An enigmatic gun collector has seen fit to do special acquisition work
+ for the Gorlex Marauders, selling the fruits of his labor for a premium price.
+ If you have the right electomagnetic sequence, you might be able to contact
+ him to acquire a piece of his armory.
+ coiax:
+ - rscadd: Nuke ops can now purchase a box of "deathrattle implants". When an implanted
+ person dies, all the other users of the implant will get a message, saying who
+ died and where they died.
+ keronshb:
+ - balance: Weight per blood is .03 now instead of .05
+ - balance: Dragnet Snare breakout timer is now 2.5 seconds down from 5 seconds.
+ qweq12yt:
+ - bugfix: Fixed a bug where some cargo crates would never arrive and still charge
+ users
+ zeroisthebiggay:
+ - rscdel: the box ghost burger
+2021-04-21:
+ necromanceranne:
+ - balance: Stun batons (not police batons/telebatons) no longer knockdown on leftclick.
+ - balance: Stun batons apply a knockdown and tase effect on right click, but once
+ every few seconds (they still don't disarm). They are vulnerable to a shove
+ disarm briefly, however. Standard batons have a cooldown of 5 seconds. Stun
+ prods have a cooldown of 7 seconds.
+ - balance: Taser resistance prevents the knockdown, so any chem that grants this
+ (like adrenals) protects you from this knockdown.
+ - balance: Stun batons apply a stagger when they hit someone, preventing sprinting
+ for a few seconds.
+ - balance: Stun batons respect melee armor for their stamina damage, but their cells,
+ based on max charge, grant armor penetration. For every 1000 charge, they gain
+ 1 armor pen. (Roundstart batons have 15 pen, just fyi)
+ - balance: Shoves can disarm you of any item, not just guns.
+ - bugfix: Removes a duplicate trait definition for TRAIT_NICE_SHOT.
+2021-04-22:
+ Whoneedspacee:
+ - rscadd: new arena attack where ash drake summons lava around you
+ - rscdel: removed old swooping above you, instead flies above you instantly
+ - balance: ash drake now spawns temporary lava pools instead of meteors falling
+ down
+ - balance: ash drake takes twice as long to swoop down now that he instantly goes
+ above you
+ - balance: ash drake now moves twice as fast
+ - balance: increases the odds of lava spawns in the lava pool attack
+ - balance: 'increases fire line damage and decreases lava attacks direct damage
+ tweak: ash drake fire now shoots in the direction of the target tweak: changes
+ times of certain animations tweak: changes sounds of meteor falling to lava
+ creation'
+ - bugfix: a bug where ash drakes attacks did not damage mechs
+ - imageadd: changes meteor icon to lava creation animation from lava staff
+ - rscadd: Mass fire attack, sends fire out from the ash drake in all directions
+ - rscadd: Adds an enraged attack for ash drake, heals him as well as making him
+ glow and go faster, spawning massive amounts of fire in all directions
+ - rscdel: 'Removes the old triple swoop with lava pools attack tweak: Lava pools
+ can now spawn with the normal fire breath attack sometimes tweak: Lava pools
+ now have changed delays for lesser amounts so they don''t all just place around
+ one area tweak: Increases default swoop delay'
+ - balance: Teleporting out of the lava arena now has some actual consequences by
+ enraging the ash drake
+ - bugfix: Makes lava arena a bit less laggy by not recalculating range_turfs every
+ time
+ - bugfix: Fixes the arena attack selecting inaccessible tiles as the safe tile though
+ this will not change the turfs to basalt temporarily to prevent moving through
+ indestructible walls
+ - bugfix: Fire lines would not spawn if their range would place their final turf
+ location outside of the map
+ - bugfix: The arena attack will no longer destroy indestructible open turfs
+ - balance: ash drake fire does less damage now
+ - balance: ash drake takes longer to swoop down now
+ - balance: tiles take longer to fully convert into lava now, slowing down the arena
+ attack as well
+ - balance: fire breath now moves slower
+ - balance: triple fire breath for the lava swoop only happens below half health
+ now
+ - bugfix: The arena attack not making safespots when you fight it in a mech
+2021-04-25:
+ DrPainis:
+ - spellcheck: Bubblegum is now capitalized.
+2021-04-26:
+ Trigg, stylemistake and SandPoot:
+ - admin: 'Admins just got a new TGUI Select Equipment menu tweak: Prevents the window
+ from creating sprites for any animated version there might be. (this guarantees
+ consistant sprite size/amount)'
+2021-04-29:
+ Putnam3145:
+ - bugfix: Fixed a couple runtimes in activity (threat) tracking
+ keronshb:
+ - balance: Removes the Reinforcement Chromosome from Genetics.
+2021-04-30:
+ DrPainis:
+ - spellcheck: Bubblegum's hallucinations are capitalized.
+ Melbert, SandPoot:
+ - refactor: TGUI Limbgrower
+ - refactor: Refactored the limbgrower to modernize the code and allow for more types
+ of designs.
+ - rscadd: The limbgrower now supports plumbing ducts.
+ - bugfix: Fixes genitals not actually getting data from disks.
+ - code_imp: Adds two special helpers.
+ SandPoot:
+ - rscadd: The decal painter now has visible previews for your tile painting funs.
+ - bugfix: Fixes decal painter painting in the opposite direction.
+ TheObserver-sys:
+ - bugfix: Restores the access lock on crates that should have them, given the goods
+ inside.
+ - bugfix: Makes the 10MM Surplus Rifle a less awful thing to use.
+ - bugfix: replaces unarmored things with their armored versions.
+ - balance: Illegal Tech Ammo actually is fucking reasonable, now.
+ - balance: Expensive Illegal Tech Ammo Boxes are now constructible, with actually
+ justifiable prices.
+ WanderingFox95:
+ - balance: There's finally a reason for the reagent dart gun to exist and be used!
+ akada:
+ - imageadd: Changes the space adaptation sprite to something less intrusive and
+ more subtle.
+ necromanceranne:
+ - rscadd: 'Basic cybernetic organs: they''re worse than organic! Basic stomachs,
+ hearts, lungs and livers! For when you hate someone enough to not bother harvesting
+ organs from a monkeyhuman!'
+ - rscadd: 'Cybernetic organs have been adjusted into three tiers: 1 (basic), 2 (standard,
+ better than organic) and 3 (absolutely better than organic but expensive to
+ print)'
+ - rscadd: Cybernetic organs that are emp'd instead suffer different effects based
+ on the severity of the emp. The bigger the emp, the worse the effect is.
+ - rscadd: Rather than outright bricking, severely emp'd cyberorgans degrade over
+ time very quickly, requiring replacement in the near future.
+ - rscadd: Fake blindfolds in the loadout. They don't obscure vision, for better
+ or worse.
diff --git a/html/changelogs/archive/2021-05.yml b/html/changelogs/archive/2021-05.yml
new file mode 100644
index 0000000000..8508fbb2ec
--- /dev/null
+++ b/html/changelogs/archive/2021-05.yml
@@ -0,0 +1,148 @@
+2021-05-01:
+ qweq12yt:
+ - bugfix: Restores the sprite for the Riot Suit.
+2021-05-03:
+ TripleShades:
+ - rscadd: Added two air alarms to Pubby Security, one in the evidence locker room
+ and one in the main equipment back room
+ - rscadd: pAI Card back to outside Research in Meta Station
+ - bugfix: Pubby Disposals now shunts to space
+ - bugfix: Maintinence Areas being not applied to certain airlocks as well as stealing
+ minor walls
+ - bugfix: Box Surgery Storage camera is now renamed to be on the network
+ - bugfix: 'Box Paramedic Station camera is now renamed to be on the network, and
+ no longer steals the Morgue''s cam tweak: Box Surgery Storage is now it''s own
+ proper room'
+2021-05-05:
+ The0bserver, with a great amount of advice from TripleZeta/TetraZeta:
+ - rscadd: Adds a new crate type, for use with any manner of cheeky breeki shenanigans,
+ as well as with existing Russian contraband.
+ bunny232:
+ - rscadd: There's some new vents and scrubbers in the meta station xenobiology department.
+ Welders and wrenches not included*
+ keronshb:
+ - balance: Nightmare Shadow Jaunt threshold up to 0.4
+ - balance: Vendor and Engraved message light down to 0.3
+2021-05-08:
+ Arturlang:
+ - bugfix: Synthblood bottles now have the proper color and probably won't poison
+ you anymore
+ timothyteakettle:
+ - rscadd: lets humans have digi legs (and avian legs)
+2021-05-09:
+ Putnam3145:
+ - rscadd: Priority announcement admeme verb
+ SandPoot:
+ - bugfix: Fixed Cyborg examines adding an extra weird line.
+ - code_imp: Everything can be set to have tooltips, and even coded to have neat
+ tooltips.
+ - rscadd: Makes it so humans and borgs already have tooltips.
+ TheObserver-sys:
+ - bugfix: Fixes most of the weird handling bugs and improves cigarette case handling
+ in general.
+ - rscadd: The Gorlex Marauders have seen fit to allow you to purchase the .45-70
+ GOVT rare ammo, at a premium cost. Don't waste it.
+ WanderingFox95:
+ - rscadd: added the unrolling pin, an innovative solution to dough-based mishaps.
+ - imageadd: added visuals for the unrolling pin
+ dzahlus:
+ - soundadd: added new malf AI spawn and doomsday sound
+ - sounddel: removed old malf AI spawn and doomsday sound
+ zeroisthebiggay:
+ - balance: pirates now have a medbay and several other things qualifying as a buff
+ - balance: pirates lost their toilet
+2021-05-11:
+ LetterN:
+ - bugfix: fixes emagging console shuttle purchases
+ - balance: syndie melee simplemobs has no more bullshit shield
+ bunny232:
+ - rscadd: Delta station xenobiology department has received enhanced scrubbing and
+ ventilation capabilities similar to box and meta
+2021-05-12:
+ DeltaFire15:
+ - bugfix: find_safe_turf no longer always fails on safe oxygen levels(??)
+ - bugfix: 'Heretic bladeshatters now actually take the heretic''s z into account
+ as intended, instead of always being station z tweak: Message for failing the
+ bladeshatter despite succeeding the do_after tweak: Improves bladeshatter a
+ bit by making it safer codewise'
+2021-05-13:
+ Linzolle:
+ - spellcheck: anthromorphic -> anthropomorphic
+ WanderingFox95:
+ - rscadd: Pinot Mort (Necropolis Wine), a new, (totally healthy) mixed drink!
+ qweq12yt:
+ - bugfix: Fixed sleeping disky spam (it still sleeps soundly, but every minute instead
+ of every two seconds)
+ - bugfix: Fixed Hulks not breaking cuffs, zipties, restraints.
+ silicons:
+ - code_imp: A deterministic wave explosion system has been added. Use it with wave_explosion().
+ zeroisthebiggay:
+ - rscadd: vegas style bunny ears
+2021-05-14:
+ keronshb:
+ - balance: Removes VOG sleep command since it was an undocumented readd.
+ zeroisthebiggay:
+ - spellcheck: consealed
+2021-05-15:
+ bunny232:
+ - bugfix: Corrects the bot pathing by engineering on meta station
+ timothyteakettle:
+ - balance: borg spraycans have a five second delay before being able to knock someone
+ down again
+2021-05-19:
+ WanderingFox95:
+ - rscadd: The E-Fink, a mending tool for food.
+ - soundadd: A backwards bladeslice. (Yes, for the E-fink)
+ - imageadd: And Icons for the E-fink, of course.
+ shellspeed1:
+ - rscadd: Survival pods can now be designated as requiring power. Survival pods
+ with this feature should include an APC when created and will run out of power
+ rather quickly if no source is added. Perfect for true emergencies.
+ - rscadd: An empty survival pod has been added to the mining vendor. This is an
+ extremely barebones pod featuring only a gps, table, apc, and the standard fridge
+ for some donk pockets.
+ zeroisthebiggay:
+ - rscadd: New Alcohol Amaretto and various cocktails
+ - rscadd: more drink mixture flavortext
+ - soundadd: you're going to Baystation
+2021-05-20:
+ qweq12yt:
+ - bugfix: Fixed void cloak voiding itself into oblivion.
+ - bugfix: You can now order emag shuttles again.
+ timothyteakettle:
+ - rscadd: ports rp's marking system
+2021-05-21:
+ Putnam3145:
+ - bugfix: Fixed activity being attached to minds instead of mobs on antag attach.
+2021-05-23:
+ Putnam3145:
+ - bugfix: Antag and species no longer remove all traits if one has a blacklisted
+ trait
+ WanderingFox95:
+ - imageadd: Replaced the antlers showing up when you select deer ears with actual
+ deer ears. Literally why was that even a thing before?
+ - imageadd: Straight rabbit ears are now a thing.
+ keronshb:
+ - balance: 30 > 25 pop req for contractor kit
+ - code_imp: adds a special hud for simple mobs.
+ - imageadd: a lot of >32x32 mobs now have icons for their health dolls
+2021-05-24:
+ zeroisthebiggay:
+ - rscadd: 'New traitor item: the Mauler Gauntlets! Punch hard, punch good! Eight
+ telecrystals, buy today!'
+ - rscadd: hairs from Airborne Snitch
+2021-05-26:
+ bunny232:
+ - bugfix: Removed two random 'captain's office' tiles from space on meta station
+2021-05-29:
+ Kraseo:
+ - bugfix: No more slamming into people while bloodcrawled.
+ Linzolle:
+ - bugfix: brand intelligence event works again
+ keronshb:
+ - rscadd: swag outfit available in clothesmate
+ - rscadd: 'swag shoes availble in clothesmate resprite: changed swag shoes icon
+ to the one twaticus made.'
+ - rscadd: Adds the clown mob spawner for admins
+ zeroisthebiggay:
+ - balance: puglism damage can no longer stack with scarp
diff --git a/html/changelogs/archive/2021-06.yml b/html/changelogs/archive/2021-06.yml
new file mode 100644
index 0000000000..8aca39ea54
--- /dev/null
+++ b/html/changelogs/archive/2021-06.yml
@@ -0,0 +1,242 @@
+2021-06-03:
+ MrJWhit:
+ - balance: Removed some debug tiles on the xenoruin.
+ TripleShades:
+ - rscadd: Added a camera to both solar entryways
+ - rscadd: Added an intercom to toxin's launch for the doppler
+ - rscdel: The fake nuke auth disk in the library
+2021-06-04:
+ MrJWhit:
+ - rscadd: Adds a missing pipe
+ Putnam3145:
+ - bugfix: sniper rifle doesn't ruin your round instantly now
+2021-06-05:
+ Arturlang:
+ - code_imp: float sanity now makes it not actually run if it's actively being thrown
+ coderbus13:
+ - bugfix: Pubby's toxins injector now starts at 200L, like it does on other maps
+ zeroisthebiggay:
+ - rscadd: light floppy dog ears
+2021-06-06:
+ bunny232:
+ - rscadd: Pools are capable of mist at lower temperatures
+2021-06-10:
+ Arturlang:
+ - balance: Holoparasites for traitors now cost 12 crystals, for operatives 8, the
+ ricochet eyepath traitor item now 4.
+ DrPainis:
+ - rscadd: goliath calamari
+ - rscadd: cat meteors
+ Linzolle:
+ - bugfix: cults can build in maintenance (and other small areas) again.
+ - bugfix: centcom can no longer be selected as the target area for narsie to be
+ summoned??????
+ MrJWhit:
+ - balance: Moves medical holodeck to the restricted category
+ SandPoot:
+ - code_imp: Uses some of the existing images for the typing indicators.
+ - bugfix: Fixes soulstone shard not working for non-cultists.
+ WanderingFox95:
+ - rscadd: A random event for the cat surgeon to invade the station. Listen for scary
+ noises!
+ - soundadd: Screaming Cat SFX, you know, for the mood.
+ bunny232:
+ - bugfix: Atmos resin now properly prevents all atmos from moving
+ - bugfix: Air tanks now properly have a 21/79 o2/n2 mix
+ - rscadd: Hydroponics can now make 5u of slimejelly by injecting 3 oil, 2 radium
+ and 1 tinea luxor into a glowshroom
+ keronshb:
+ - balance: Made it so Off Balance only disarms if they're shoved into a wall or
+ person.
+ - balance: Reduced Off Balance time to 2 seconds.
+ - balance: Pierced Realities despawn after 3 minutes and 15 seconds, new unresearched
+ realities spawn in after that time elsewhere to help other heretics get back
+ into the game.
+ - balance: A required sacrifice amount for heretic's second to last and last powers
+ are added to discourage only rushing for holes.
+ - balance: An announcement automatically plays to everyone that there's a heretic
+ gunning for ascension upon learning the 2nd to last power
+ - balance: 'Blade Shatters are now used in hand other than with a HUD icon tweak:
+ Adjusted some TGUI menus for the book to reflect how many sacrifices a heretic
+ has and how many are required for certain powers'
+ - bugfix: Fixes sprite issue for Void Cloak for people who have digigrade legs.
+ - bugfix: Fixes the Raw Prophet recipe to match the description
+ - balance: Lets the Cargo Shuttle use Disposal Pipes again
+ - rscadd: Adds motivation and adds it to the uplink
+ - rscadd: Adds Judgement Cut projectiles
+ - rscadd: Adds Judgement Cut hit effects and firing effects.
+ - soundadd: added sounds for the firing and hit sounds of Judgement Cuts, created
+ by @dzahlus
+ - rscadd: Adds Floor Cluwnes and event for midround
+ - rscadd: Adds Cluwne mutation
+ - rscadd: Adds Cluwne spell
+ - rscadd: Adds Cluwnes
+ - imageadd: Adds Cluwne Mask + shoes
+ - admin: Adds Floor Cluwne spawn button
+ - admin: Adds Cluwne smite button
+ zeroisthebiggay:
+ - bugfix: Fixed an exploit allowing you to grab people from anywhere with a clowncar.
+ - balance: revenant essence objective reduced
+2021-06-12:
+ silicons:
+ - bugfix: xenos are now truly immune to stamina damage.
+2021-06-14:
+ EmeraldSundisk:
+ - rscadd: 'Adds a brand new, wholly unique mining base to Snaxi tweak: A thorough
+ redesign of Snaxi (see PR #14818 for more info)'
+ - bugfix: Increases the number of electrical connections between substations
+ MrJWhit:
+ - balance: Removes cat meteors.
+ SandPoot:
+ - rscadd: Tablet computers now have a pen slot, they can almost replace your pda!
+ - spellcheck: Removed a bracket from printer's examine.
+ - bugfix: The cosmetic turtleneck and skirtleneck no longer start with broken sensors.
+ TripleShades:
+ - rscadd: Lights to AI Sat Walkways
+ - rscadd: Lights to Atmospherics
+ - rscadd: Floor labels to Atmospherics Gas Miner containment units
+ - rscdel: Gas canisters from Gas Miner containment units
+ - rscdel: Excessive wiring in Security and Detective's Office
+ qweq12yt:
+ - bugfix: Locker orders now properly bundle together in a single locker (still separated
+ by buyer).
+ - bugfix: Changed some package names to be more accurate.
+ timothyteakettle:
+ - rscadd: bees can go in containers and are released upon opening the container
+ - rscadd: 7 more round tips have been added
+ zeroisthebiggay:
+ - imageadd: new singularity hammer sprite
+ - imageadd: various slight sprite additions
+ - imageadd: distinctive combat defib sprite
+ - imageadd: a onesleeved croptop accessory sprited by trojan coyote
+ - imageadd: new bank machine sprite
+ - imagedel: unused goon coffin sprite
+ - imageadd: new water cooler sprite
+2021-06-15:
+ EmeraldSundisk:
+ - rscadd: Xenobiology now has proper lighting
+ - bugfix: The Corporate Showroom now has a proper front door
+ - bugfix: Mining snowmobiles now have keys
+ - bugfix: Adjusts area designations so GENTURF icons should no longer be visible
+ in-game
+2021-06-16:
+ silicons:
+ - bugfix: on_found works again
+2021-06-17:
+ Vynzill:
+ - rscadd: ability to change crafted armwrap sprite to alternate one.
+ - imageadd: extended armwrap icon and sprite
+ timothyteakettle:
+ - bugfix: fixes an oversight causing embed jostling to do 2x as much damage as it
+ should
+2021-06-19:
+ keronshb:
+ - bugfix: Ling Bone Gauntlets work again
+2021-06-20:
+ Arturlang:
+ - rscadd: Port's TG's nanite storage modification programs from the bepis
+ - bugfix: Fixes infective nanite progreams not syncing cloud ID.
+ - rscadd: Add's off icons for nanite machinery
+ - bugfix: Fixes antitox nanites runtiming on simplemobs
+ - rscadd: Updates the nanite dermal button icon set
+ - rscadd: Adds the ability to select the logic for nanite rules
+ - bugfix: Nanite programs with triggers won't ignore rules.
+ - bugfix: 'Coagluating nanite program research no longer has the wrong name tweak:
+ Nanite program''s have better descriptions now tweak: Nanite subdermal ID''s
+ now also include pulled ID''s for simplemobs'
+ - bugfix: Nanite voice sensors should properly work now.
+ - bugfix: Fixes nanite comm remote, now they should actually work
+ EmeraldSundisk:
+ - rscadd: 'Adds ColorMates to Snow Taxi tweak: Slight adjustments near the arrival
+ shuttle landing zone'
+ - rscdel: Removes an undesired corporate entity
+ Nanotrasen Structual Engineering Division:
+ - rscadd: Added lables to the atmos tanks on Metastation.
+ - rscadd: Adjusted Pubbystation's emitter room wall layout to prevent light-breakage
+ on startup of emitters.
+ - rscdel: Removed frestanding sink and showers from Metastation science airlock,
+ and Deltastation Xenobio. Added an emergency shower next to the kill room.
+ - bugfix: Removed a leftover pipe in Metastation security hallway.
+ bunny232:
+ - bugfix: Pressure tanks other then air tanks start with gas!
+ keronshb:
+ - rscadd: Adds the Space Dragon midround event
+ - soundadd: Space Dragon sounds
+ - imageadd: Space Dragon + effects
+ - code_imp: Added Spacewalk trait
+ - code_imp: Gibs the original owner if they are turned into a Space Dragon with
+ the traitor panel
+ - admin: logging for Space Dragon creation
+ kiwedespars:
+ - rscadd: a downside to wheely heelies ((made it actually detrimental))
+ zeroisthebiggay:
+ - imageadd: beltslot sprites for various items
+ - imageadd: resprite for telebaton
+2021-06-21:
+ silicons:
+ - bugfix: glowshroom scaling
+ timothyteakettle:
+ - bugfix: vore is 0.1% less shitcode
+2021-06-22:
+ bunny232:
+ - bugfix: Adds a missing win door to meta xenobiology pen 6
+ silicons:
+ - bugfix: no more doubleroasting
+2021-06-23:
+ DeltaFire15:
+ - bugfix: A bunch of small nanite things should be less wonky
+ - bugfix: Slimes are no longer immune to vomiting (undocumented change from a previous
+ PR)
+ - bugfix: Fruit wine exists again.
+ - code_imp: Airlock hacking no longer sleeps.
+ - code_imp: The clockwork gateway deconstruction no longer sleeps.
+ - code_imp: Teslium reactions and Holywater booms no longer sleep.
+ - code_imp: Slime timestop no longer sleeps.
+ Putnam3145:
+ - bugfix: inelastic exports no longer uselessly do exponential functions
+2021-06-24:
+ WanderingFox95:
+ - rscadd: An announcement to let players know the Cat Surgeon has come to visit.
+ - balance: Upped the Volume of his spawn noise and lowered the spawn weight slightly.
+2021-06-25:
+ MrJWhit:
+ - rscadd: Adds two missing decals to the 5x5 SM.
+ brokenOculus:
+ - rscadd: pillbottles and syringesare now printable from the medbay protolathe,
+ shiftstart. Hyposprays are now printable in medbay lathe under advanced biotech.
+2021-06-28:
+ Putnam3145:
+ - bugfix: APCs aren't infinite power anymore
+ - rscadd: FDA, LINDA without the bookkeeping.
+ - rscadd: Putnamos, a simpler replacement for Monstermos. If I can get Monstermos
+ to work, this will be Monstermos instead.
+ - rscdel: LINDA, the old active-turfs-based atmos subsystem.
+ - rscdel: Monstermos? I would rather not get rid of this, but I can't get it to
+ work correctly.
+ - server: Extools has been removed, and loading extools alongside auxtools will
+ cause massive problems. If this is tested or merged, remove extools from the
+ static files.
+ WanderingFox95:
+ - rscadd: Carrots are good for your eyes - but eyes are also good for your carrots.
+ Adds the googly eyes trait to walkingshrooms (Oculary Mimicry)
+ - imageadd: Googly Eyes - they make everything better.
+2021-06-30:
+ WanderingFox95:
+ - rscadd: More plushies in the code.
+ - imageadd: Nabbed some plushie sprites from Cit RP and TG and made some myself.
+ Enjoy!
+ - rscadd: The Daily Whiplash (Newspaper Baton) is now available! (Using sticky tape
+ to stick a newspaper onto a baton) Bap!
+ - imageadd: A rolled up newspaper sprite was provided.
+ - balance: Switched Gateway and Vault locations on Boxstation, bringing it more
+ in line with other stations.
+ bunny232:
+ - rscadd: The pubby xenobiology air/scrubber network is now isolated from the rest
+ of the station
+ qweq12yt:
+ - rscdel: HoP's cargo access was removed...
+ shellspeed1:
+ - balance: NT has lost experimental KA tech to miners who were lost in the field.
+ Make sure to try and recover it.
+ - rscadd: Adds an extremely expensive survival pod to mining for people to work
+ towards. Get to work cracking rocks today.
diff --git a/html/changelogs/archive/2021-07.yml b/html/changelogs/archive/2021-07.yml
new file mode 100644
index 0000000000..433e461bdf
--- /dev/null
+++ b/html/changelogs/archive/2021-07.yml
@@ -0,0 +1,148 @@
+2021-07-02:
+ silicons:
+ - bugfix: spray bottles work again.
+2021-07-03:
+ DeltaFire15:
+ - bugfix: Turrets on nonlethal mode now once again shoot till the target is stamcrit
+ as opposed to unable to use items, resolving some issues.
+ Putnam3145:
+ - bugfix: A bunch of sleeping process() calls now either don't sleep or make sure
+ to call a proc with waitfor set to FALSE
+ WanderingFox95:
+ - bugfix: The axolotl ears in the .dmi file actually exist to the game now.
+2021-07-04:
+ cadyn:
+ - server: Updated server scripts for proper linux support
+2021-07-05:
+ Putnam3145:
+ - bugfix: Watchers no longer search 9 tiles away for stuff then throw the result
+ away if it's more than 1 tile away
+ - server: Auxmos pull now uses a tag instead of pulling straight from the main branch
+ WanderingFox95:
+ - bugfix: Moved a sprite one pixel to the left.
+ zeroisthebiggay:
+ - imageadd: tg based tool resprites
+ - bugfix: wirecutters have proper overlays
+2021-07-07:
+ DeltaFire15:
+ - bugfix: Golem / Plasmaman species color should work again.
+2021-07-09:
+ MrJWhit:
+ - bugfix: Made a light not exist on the same tile as a door on pubby.
+ - bugfix: Makes the RD APC automatically connect to the powernet with the correct
+ wire on pubby.
+ - rscadd: Added another wall for the AM engine so it doesn't space the airlock roundstart.
+2021-07-10:
+ WanderingFox95:
+ - imageadd: Returns the wheelchair sprites to having, you know, wheels?
+ - rscadd: 'A motorized wheelchair addsound: Chairwhoosh.'
+2021-07-11:
+ shellspeed1:
+ - balance: replaces the seed machine with a biogen in the survival pod.
+ - bugfix: corrected an issue regarding wrong pair of gloves in the pod for DYI wiring
+ .
+2021-07-12:
+ Putnam3145:
+ - refactor: causes_dirt_buildup_on_floor is now just a thing humans do instead of
+ a weird var only true for humans
+2021-07-13:
+ MrJWhit:
+ - rscadd: Adds a mirror above the sink in the captains bedroom in pubby
+2021-07-14:
+ Putnam3145:
+ - refactor: Acid is now a component
+2021-07-15:
+ Putnam3145:
+ - bugfix: fixes a major source of lag
+2021-07-17:
+ cadyn:
+ - server: precompile.sh updated
+2021-07-18:
+ timothyteakettle:
+ - bugfix: fixes photosynthesis stopping nutrition going past well fed from non-photosynthesis
+ means
+2021-07-19:
+ Arturlang:
+ - bugfix: The crafting button should no longer silently make more copies of itself
+ on reconects
+ - code_imp: There are no longer two copies of the crafting component.
+ - code_imp: 'There is no longer a rogue d in tracer.dm tweak: Everything in Misc
+ was moved to Miscelanious in the crafting menu, and Misc was nuked from orbit.
+ Nobody will miss you.'
+ MrJWhit:
+ - bugfix: Fixes a memory leak, there's a good chance that it's the same one that
+ killed kilo.
+ SandPoot:
+ - rscadd: Put back mob vore with a pref.
+ - code_imp: Taken some stuff from tg for tgui_alert.
+ - refactor: Refactored a lot of code on vore panel.
+ WanderingFox95:
+ - rscadd: custom plasteel kegs
+ YakumoChen:
+ - rscadd: You can now wear the suffering of others on your head with just a sheet
+ of human skin!
+ - imageadd: Human skin hats
+ keronshb:
+ - rscadd: Stripping/equipping things to a conscious braindead person (AKA a human
+ owned by a disconnected player) will now give them a message with your visible
+ name and roughly how long ago you touched their stuff when they login again.
+ Touching someone's pockets or adjusting their gear other than equipping/unequipping
+ is not logged. After 5 minutes, you'll have forgotten both their name and exactly
+ how long ago past those 5 minutes it happened. (Credit to Ryll-Ryll)
+ - rscadd: LAZYNULL
+ - rscadd: Breaking mirrors now gives you a bad omen
+ timothyteakettle:
+ - bugfix: anthros can now select the cow tail
+ - rscadd: new quirk that allows you to eat trash
+2021-07-23:
+ silicons:
+ - balance: Batons are slightly more powerful.
+2021-07-24:
+ MrJWhit:
+ - rscadd: Replaces the northwest maint room on box with a sadness room
+ - rscadd: Replaces bar stripper room with an arcade on boxstation
+ - rscadd: Squished the west bathrooms a bit and made a room to sell things on boxstation.
+ - balance: Southeast maint hallway on box is now ziggy and zaggier.
+ - bugfix: Fixed pipes being not connected with the recent map PR for boxstation.
+ Putnam3145:
+ - bugfix: hallucination now bottoms out at 0
+ - balance: supermatter now causes only half the hallucinations
+ cadyn:
+ - server: auxmos bump for dependencies.sh
+2021-07-26:
+ SandPoot:
+ - rscdel: Removes a sneaky transform button on the vore panel.
+2021-07-27:
+ Putnam3145:
+ - bugfix: Generic fires work now
+ - balance: A knock-on effect of the HE pipe change is that space cooling is ~8.4x
+ as powerful
+2021-07-29:
+ EmeraldSundisk:
+ - rscadd: Adds decals between Virology and the general Medbay to provide clarity
+ - rscadd: Adds an airlock with access to the Engineering Cooling Loop
+ - rscadd: The Maintenance Theater now has a suitable amount of dust
+ - rscdel: Removed an errant entertainment monitor left in the morgue
+ - rscdel: 'Removed redundant scrubber piping in and around the bar and kitchen tweak:
+ Slightly readjusts an airpipe to take advantage of newfound space tweak: The
+ Toxins Lab has received (predominantly) visual adjustments as to render it more
+ in line with the general science department tweak: Toxins Storage is no longer
+ its own area and as such needn''t worry about APCs'
+ - bugfix: Hydroponics now has a proper APC as intended
+2021-07-31:
+ MrJWhit:
+ - bugfix: Fixes some minor mistakes around space near boxstation.
+ TripleShades:
+ - rscadd: 'Fountain area to public mining station-side tweak: Moved around the tables
+ and chairs and monitor at public mining station-side'
+ WanderingFox95:
+ - rscadd: 'Added new ruin maps: The Bathhouse, The Library, The Engineering outpost,
+ The Hotsprings(un-cursed), Lust, Wrath and an alternate spawn for the BDM in
+ the form of a mining outpost, based on the same Ruins on the Ice Moon. removed:
+ A lot of the fun items within the ice moon-based ruins that would break mining
+ even more and trading cards.'
+ - balance: 'Yes, this includes that the lavaland version of the hot spring is literally
+ just water and not cursed. tweak: Also "fixed" that only one version of the
+ BDM ruin ever spawns. Not sure it needed fixing but even locally hosted, only
+ blooddrunk2.dmm would spawn. Since I added another spawn for the BDM, I fixed
+ that too.'
diff --git a/html/changelogs/archive/2021-08.yml b/html/changelogs/archive/2021-08.yml
new file mode 100644
index 0000000000..f2ad5124a1
--- /dev/null
+++ b/html/changelogs/archive/2021-08.yml
@@ -0,0 +1,119 @@
+2021-08-02:
+ TripleShades:
+ - rscadd: 'Decorative (read: Station-safe) water tile in the code'
+ - bugfix: Pubby's new water feature wont kill atmosphere anymore
+2021-08-03:
+ zeroisthebiggay:
+ - balance: tempgun is a laser
+ - balance: bake mode is useful
+ - balance: tempgun has less shots
+ - imageadd: tempgun has more sprites
+2021-08-04:
+ BlueWildrose:
+ - bugfix: The debrained overlay actually shows for brainless corpses now instead
+ of showing a blue error.
+ timothyteakettle:
+ - bugfix: legs are no longer awful
+2021-08-05:
+ Putnam3145:
+ - bugfix: organs decay again
+2021-08-07:
+ BlueWildrose:
+ - bugfix: The black dress, pink tutu, the bathrobe, the kimonos, and the qipaos
+ no longer have a missing pixel when wearing them with the feminine bodytype.
+ They're also no longer adjustable (they have no sprite for the adjusted variant
+ and therefore it would just make an error if someone did that.)
+ Putnam3145:
+ - balance: 'Supernova rad storms are now half as likely per tick tweak: Supernovae
+ don''t announce they''re ending if they never announced they''re starting tweak:
+ Supernovae say explicitly no rad storms can happen if they can''t'
+ - rscadd: Monstermos is back
+2021-08-09:
+ Arturlang:
+ - bugfix: Nanite machinery overlays should now work properly
+ - code_imp: screen objects are now atom/movables instead
+ - code_imp: Update appearance is used for updating atoms now instead of update_icon
+ and such
+ BlueWildrose:
+ - bugfix: Old gateway animation is back. Feedback is given that the gateway is open
+ again.
+ Putnam3145:
+ - balance: Rod of asclepius can now be used for revival surgery
+2021-08-11:
+ timothyteakettle:
+ - rscadd: lets felinids, humans and moths have markings
+2021-08-12:
+ Arturlang:
+ - rscdel: Nonslimes and nonvampires will no longer be able to increase their blood
+ to stupid heights
+ Putnam3145:
+ - refactor: Supermatter values use auxgm
+ cadyn:
+ - server: precompile.sh and build.sh updated, auxmos set to 0.2.3 in dependencies.sh
+2021-08-13:
+ Putnam3145:
+ - bugfix: makes certain organs no longer have circular references
+2021-08-16:
+ BlueWildrose:
+ - bugfix: Incapacitated mobs are blacklisted from being human-level intelligence
+ sentience event candidates. This is particularly important due to slimes in
+ BZ stasis on the station.
+ bunny232:
+ - bugfix: Polyvitiligo actually changes your color now
+2021-08-18:
+ timothyteakettle:
+ - rscadd: lets you select 4 prosthetic limbs instead of only 2
+2021-08-20:
+ EmeraldSundisk:
+ - rscadd: Adds a law office/courtroom to OmegaStation
+ - rscadd: Adds a gateway to OmegaStation
+ - rscadd: Adds a pool/maintenance bar to OmegaStation
+ - rscdel: 'Removes the original maintenance garden in OmegaStation tweak: Relocates
+ the bathrooms to the starboard hall tweak: Modifies port quarter maintenance
+ to include some affected items'
+ Putnam3145:
+ - rscadd: Beach now has showers
+ TripleShades:
+ - rscadd: At least four or five space heaters spread across Pubby Station Maints
+ - rscadd: Missing decal in Pubby Station engineering
+ - bugfix: Moved an atmos alarm in the SM emitter chamber so it wont be destroyed
+ WanderingFox95:
+ - rscadd: Empty bottles and pitchers are available to the bartender now.
+ - imageadd: They even come with 10 different fillstates!
+ - imageadd: Better Shark Tails, dodododododo~
+ - rscadd: The old ones are now listed as carp tails.
+2021-08-22:
+ zeroisthebiggay:
+ - spellcheck: trillby can't spell pair
+2021-08-23:
+ zeroisthebiggay:
+ - spellcheck: i hate the grammarchrist
+2021-08-24:
+ BlueWildrose:
+ - balance: MK ultra explosions (failures at making MKultra) are gone, and replaced
+ with a gas that just causes a bunch of status effects to you.
+2021-08-26:
+ keronshb:
+ - rscadd: Adds catwalk floors
+2021-08-28:
+ DeltaFire15:
+ - bugfix: 'Demons now drop bodies on their own tile instead of scattering them across
+ the station. tweak: Space dragon content ejection is now slightly safer.'
+ - bugfix: Space dragons no longer delete their contents if they die due to timeout,
+ ejecting them instead.
+ - bugfix: Carp rifts created by space dragons now have their armor work correctly.
+ Putnam3145:
+ - config: Planetary monstermos can now be disabled with varedit
+ - rscadd: Lavaland/ice planet atmos is no longer a preset gas mixture and varies
+ per round
+ keronshb:
+ - rscadd: Ports Inventory Outlines
+ - imageadd: Re-adds the old glue sprite
+ - rscadd: Adds Plague Rats
+ - rscadd: Gives Plague Rat spawn conditions for regular mice
+ - imageadd: Plague Rat sprite
+ - rscadd: Gremlin
+ - imageadd: Gremlin sprites
+ zeroisthebiggay:
+ - rscdel: grilles as maintenance loot
+ - rscadd: sevensune tail from hyperstation
diff --git a/html/changelogs/archive/2021-09.yml b/html/changelogs/archive/2021-09.yml
new file mode 100644
index 0000000000..831eb56899
--- /dev/null
+++ b/html/changelogs/archive/2021-09.yml
@@ -0,0 +1,247 @@
+2021-09-01:
+ BlueWildrose:
+ - bugfix: The waddle component now takes size into account when running rotating
+ animations, thus not reverting character sizes to default size.
+ ma44:
+ - bugfix: Weapon rechargers now have their recharger indicators again.
+ - bugfix: Energy guns now update when switching modes again.
+ - bugfix: Stabilized yellow slime extracts will now update cells and guns it recharges.
+ - rscadd: Weapon rechargers will now be more noticeable when it has finished recharging
+ something.
+ zeroisthebiggay:
+ - bugfix: the fucking chainsaw sprite
+2021-09-03:
+ timothyteakettle:
+ - bugfix: fixes losing your additional language upon changing species
+2021-09-04:
+ Putnam3145:
+ - bugfix: Might've fixed some ghost sprite oddities nobody even knew about
+ WanderingFox95:
+ - bugfix: Lavaland architects don't screw up so badly anymore and do in fact not
+ somehow leave holes through the planet surface all the way into space under
+ their bookshelves.
+ - bugfix: Snow was removed from Lavaland Ruins.
+ keronshb:
+ - bugfix: Fixes entering an occupied VR sleeper bug
+ timothyteakettle:
+ - bugfix: makes the arm/leg markings for synthetic lizards appear as an option again
+2021-09-05:
+ DeltaFire15:
+ - bugfix: Unreadied player gamemode votes now actually get ignored (if the config
+ for this is enabled).
+2021-09-07:
+ bunny232:
+ - bugfix: fixed some jank in pubby's xenobiological secure pen
+ keronshb:
+ - bugfix: Gremlins no longer have AA when dead
+ zeroisthebiggay:
+ - spellcheck: you can just about
+2021-09-08:
+ keronshb:
+ - imageadd: Adds the parade outfit for the HoS and Centcomm
+ - imageadd: Recolors the parade outfit for the Captain
+ - imageadd: Adds a toggle option for the parade outfits
+ - bugfix: Observers can no longer highlight your items
+2021-09-10:
+ BlueWildrose:
+ - rscadd: CTRL + (combat mode) Right Click - positional dropping and item rotation.
+ keronshb:
+ - rscadd: Readds Reebe
+ - rscadd: Added the ability to dye your hair with gradients by using a hair dye
+ spray.
+ - rscadd: The new Colorist quirk, allowing you to spawn with a hair dye spray.
+ - rscadd: Adds Hair gradients to preferences
+ - imageadd: Three new hair gradients, a pair of shorter fades and a spiky wave.
+ - bugfix: Adds viewers for mask of madness so it doesn't wallhack
+ zeroisthebiggay:
+ - bugfix: Replaced the DNA probe's old sprite (Hypospray) with a unique sprite
+ - imageadd: added some icons and images for hyposprays and medipens so they stand
+ out
+ - imageadd: added inhands for the cautery, retractor, drapes and hemostat.
+ - imageadd: New icon and sprites for the DNA probe
+ - imageadd: Emergency survival boxes now have an unique blue sprite and description
+ to tell them apart from regular boxes.
+ - imageadd: Added craftable normal/extended emergency oxygen tank boxes to put your
+ emergency oxygen tank collection inside.
+ - imageadd: Emergency first aid kits now look visually consistent with full first
+ aid kits.
+ - imageadd: Ports new Hypospray, Combat Autoinjector, Pestle, Mortar and Dropper
+ sprites from Shiptest!
+ - imageadd: Adds a new sprite for pill bottles!
+ - imageadd: new surgical tool sprites
+ - imageadd: The cyborg toolset is now all new and improved, with a new coat of paint!
+ - imageadd: Updates pride hammer sprites!
+ - imageadd: Replaced old Mjolnir sprites with new Mjolnir sprites.
+2021-09-11:
+ LetterN:
+ - code_imp: Tickers, GC, MC, FS updates
+ - code_imp: rust_g update. It is default that we use their urlencode/unencode now.
+ - code_imp: updates CBT to juke
+ - bugfix: CI Cache works properly now
+ Putnam3145:
+ - bugfix: Removed some crashes
+ SandPoot:
+ - rscadd: 'Cyborg grippers now have a preview of the item you are holding. tweak:
+ Cyborg grippers no longer drop using alt-click, instead, you try to drop the
+ gripper to drop the item, and then you can drop the gripper. tweak: You can
+ now use the "Pick up" verb on the right click menu to take items with a cyborg
+ gripper.'
+ - bugfix: You should be able to access the interface of airlock electronics once
+ again as a borg.
+ - refactor: Reworks a lot of stuff that was being used on the grippers.
+ timothyteakettle:
+ - bugfix: arachnid legs now show up properly
+ zeroisthebiggay:
+ - imageadd: reinforcing the mining hardsuit with goliath hide now makes the sprite
+ cooler
+ - imageadd: The SWAT helmet is now consistent between its front, side and back sprites
+ for coloration.
+ - imageadd: new riot armor sprites
+2021-09-12:
+ LetterN:
+ - bugfix: lowers the audio volume of ark sfx
+ - bugfix: readded cwc theme in the index.js once more
+ timothyteakettle:
+ - rscadd: allows custom taste text and color on the custom ice cream setting in
+ the ice cream vat
+2021-09-14:
+ Hatterhat:
+ - balance: The Syndicate zero-day'd the NT IRN program on modular computers through
+ cryptographic sequencing technology. NanoTrasen's cybersecurity divisions are
+ seething.
+ LetterN:
+ - code_imp: sync mafia code
+ Putnam3145:
+ - balance: Nerfed bad toxins bombs and buffed good toxins bombs. There's no longer
+ an arbitrary hard research points cap.
+ keronshb:
+ - balance: Removes zap obj damage and machinery explosion from the SM arcs
+ - bugfix: Fixes hitby runtime.
+ zeroisthebiggay:
+ - rscadd: the permabrig erp role
+ - balance: changeling adrenals buff
+ - bugfix: speedups
+ - bugfix: bread goes in mouth and not on head
+2021-09-17:
+ DeltaFire15:
+ - bugfix: Techweb hidden nodes should now show less weird behavior.
+2021-09-18:
+ kiwedespars:
+ - balance: blacklisted morphine and haloperidol from dart guns
+2021-09-20:
+ BlueWildrose:
+ - balance: Slime regenerative extracts now require five seconds of wait before they
+ are used. They add 25 disgust when used.
+ DeltaFire15:
+ - bugfix: Catsurgeons should now spawn at more reasonable locations if possible.
+ - balance: carded AIs can now be converted by conversion sigils (clockcult)
+ - bugfix: There is now a way to acquire nanite storage protocols (bepis, like the
+ other protocols), as opposed to them existing with no way to acquire them.
+ - bugfix: Plastic golems are back to ventcrawler_nude instead of ventcrawler_always
+ Putnam3145:
+ - config: monstermos config added, disabled
+ buffyuwu:
+ - bugfix: fixed medihound sleeper ui display
+ - rscadd: Adds 4 redesigned jackets and 2 redesigned shirts to loadout
+ - bugfix: Holoparasites no long rename and recolor on relog
+ dapnee:
+ - bugfix: attaches an air vent that was just there on the AI sat, changes some areas
+ to what they'd logically be
+ keronshb:
+ - bugfix: Plague Rats will no longer spawn thousands of dirt decals
+ - bugfix: Plague Rats will no longer spawn thousands of corpses
+ - bugfix: Plague Rats can't spawn or transform off station z anymore
+ - bugfix: Plague Rats shouldn't explosively grow instantly
+ - bugfix: Plague Rats won't spawn infinite miasma anymore.
+ - balance: Plague Rats health is now 100.
+ - balance: Plague Rats can now ventcrawl through everything to prevent farming.
+ - bugfix: Slaughter Demons Slam will now wound again on hit.
+ - balance: Damage for demons back up to 30
+ - balance: 'Wound Bonus for demons now at 0. image_add: Adds a sprite for the action
+ bar'
+ - refactor: Changed the CTRL+SHIFT Click to an action button. People can see the
+ cooldown now too.
+ - rscadd: PAIs can be emagged to reset master
+ qweq12yt:
+ - bugfix: Fixed space heaters not being able to be interacted/turned on in non powered
+ areas
+ timothyteakettle:
+ - bugfix: removes passkey from access circuits as its not used anymore
+ - rscadd: a new mild trauma, **[REDACTED]**
+ zeroisthebiggay:
+ - balance: glass has do_after
+ - bugfix: box perma has power
+ - bugfix: missing madness mask sprites
+ - balance: The Spider Clan has recently taken up the Space Ninja project again along
+ with the Syndicate. Space Ninjas have been drastically changed as a result,
+ becoming much weaker and more stealth oriented. As a result of cutting costs
+ per ninja, more ninjas were able to be hired. Expect to see them around more
+ often.
+ - bugfix: prisoners cannot latejoin anymore
+ - bugfix: bone satchel onmob sprites
+ - rscadd: new tips
+ - rscdel: old tips
+ - imageadd: all medipens get inhands
+ - rscadd: some more brainhurt lines
+2021-09-22:
+ silicons:
+ - bugfix: dice bags can only hold dice
+ - rscdel: limb damage changes reverted
+ - bugfix: crawling can't be adrenals'd
+2021-09-23:
+ KrabSpider:
+ - code_imp: cryogenics ain't a candidate for anomaly spawns anymore.
+ buffyuwu:
+ - rscadd: canvas and spray can are now sold in the fun vendor
+2021-09-24:
+ zeroisthebiggay:
+ - balance: gremlins become shock immune
+2021-09-25:
+ buffyuwu:
+ - bugfix: fixes accordions
+2021-09-27:
+ zeroisthebiggay:
+ - bugfix: helter skelter actually spawns
+ - bugfix: 'code\modules\mob\living\simple_animal\hostile\plaguerat.dm:139:warning:
+ newmouse: variable defined but not used'
+2021-09-28:
+ zeroisthebiggay:
+ - balance: helter skelter loot insanity
+ - bugfix: helter skelter comms insanity
+2021-09-29:
+ Ghommie:
+ - rscdel: Animals are no loner n(e)igh-immune to stuttering.
+ - bugfix: Silicons and animals won't keep stuttering or slurring forever after being
+ struck by something that made them like that in the first place (such as a Blue
+ Space Artillery).
+ Hatterhat:
+ - balance: Reports from other stations' Wardens blasting themselves in sensitive
+ places due to mishandled firearms has led to the introduction of a folding-stock
+ safety for their shotgun, rendering it inoperable while the stock is folded.
+ - balance: Compact combat shotguns now stay compact when stored, by virtue of being
+ unable to be extended while in a bag.
+ - balance: Reloading a shotgun with a shell clip now inflicts melee click delay.
+ LetterN:
+ - rscadd: clowncar railgun- i mean gun
+ - rscadd: more achivements
+ - rscadd: syndie carp can pick up the disky (and is smart now)
+ - code_imp: hooks most of the achivements, all of the heretics work now
+ Putnam3145:
+ - bugfix: Lavaland can no longer be too cold for its natives to surivive
+ buffyuwu:
+ - bugfix: flannels can now be toggled in style from buttoned to unbuttoned
+ - rscadd: ports more rp and existing tg assets with minor edits into loadout selection
+ keronshb:
+ - refactor: Ninja status back in the status menu
+ zeroisthebiggay:
+ - bugfix: the monkey shuttle brig
+ - rscadd: meta gets a prison
+ - bugfix: the floating fire extinguisher
+ - balance: fucks the motivation's cost.
+ - soundadd: a new maintenance ambience
+2021-09-30:
+ Hatterhat:
+ - rscdel: The xenomorph infestation on Moon Outpost 19 is significantly less prone
+ to outbreaks, theoretically.
+ Putnam3145:
+ - rscdel: Minesweeper's "play on same board"
diff --git a/html/changelogs/archive/2021-10.yml b/html/changelogs/archive/2021-10.yml
new file mode 100644
index 0000000000..af24aa50fd
--- /dev/null
+++ b/html/changelogs/archive/2021-10.yml
@@ -0,0 +1,76 @@
+2021-10-13:
+ Hatterhat:
+ - rscadd: Contraband dealers are now embracing their inner Old Space Westerner.
+ Look for the Old West Surplus Crate on your mildly-hacked cargo console today.
+ MrJWhit:
+ - rscadd: Adds more fire-saftey closets and trashpiles to boxstation
+ - rscadd: Adds trashpiles to delta.
+2021-10-16:
+ Ryll/Shaps:
+ - rscadd: Asay now supports pings (via using @[adminckey])
+ SandPoot:
+ - bugfix: If a gamemode fails to load too many times, a safe gamemode will be loaded
+ instead.
+ - code_imp: Dynamic is no longer hardcoded, and you can now set a gamemode to be
+ forced in the configs.
+ - bugfix: Equip delays are a bit less weird now, only relevant for coders/people
+ who use straight jackets... on themself, since that's the only thing that uses
+ it right now.
+ - bugfix: Toggling arousal will properly update your sprite.
+ - bugfix: That also means no spam when moving it in your hands.
+ WanderingFox95:
+ - bugfix: Removes the quick attack loop (like TG did it)
+ dapnee:
+ - rscadd: 'BEPIS to science tweak: moved the courtroom'
+ keronshb:
+ - rscadd: Adds the fat dart cigarette and to vendors
+ - imageadd: Adds the sprites for the fat dart
+2021-10-20:
+ Putnam3145:
+ - bugfix: Removed a panic from auxmos
+ - bugfix: Properly implemented hysteresis on heat exchanger processing
+2021-10-22:
+ Putnam3145:
+ - bugfix: Ashwalker lungs more aggressively attempt to be safe on lavaland
+ WanderingFox95:
+ - bugfix: fixed the wielded sprites not showing up properly.
+ - bugfix: fixed a runtime in the bark box vendor
+ - imageadd: added a missing tennis ball sprite
+2021-10-25:
+ Putnam3145:
+ - rscadd: Vent pumps can now be set to siphoning via the air alarm UI
+ keronshb:
+ - balance: 10k pirate spending money
+2021-10-26:
+ WanderingFox95:
+ - rscadd: bone anvils and bone ingots
+ - imageadd: bone anvil sprites
+2021-10-28:
+ Hatterhat:
+ - rscadd: 'Proto-kinetic gauntlets! Less straight damage, extra damage on backstabs,
+ slows Lavaland fauna on counterhit. tweak: The glaive kit has been renamed to
+ the premium kinetic melee kit, and now has a voucher for either a glaive or
+ gauntlets.'
+ - rscadd: NanoTrasen is rolling out a prototype Autoloom, hidden behind Botanical
+ Engineering. It only processes cotton and logs. Despite its visual similarity
+ to the recycler, it is entirely tamperproof.
+ Linzolle:
+ - bugfix: plasmamen now spawn in their proper outfit in the ghostcafe
+ Putnam3145:
+ - rscdel: Removed minesweeper
+ keronshb:
+ - balance: -40 wound bonus for DSword
+ - balance: -20 Wound bonus for Hyper Eu
+ - bugfix: Fixes hyper eu's slowdown when it's not wielded
+2021-10-30:
+ keronshb:
+ - balance: Jacq can't burn in the cremator anymore
+ - balance: Jacq also can't be cheesed off station
+ - balance: Barth also cannot be destroyed
+2021-10-31:
+ DeltaFire15:
+ - bugfix: You can now drag things over prone people again.
+ DrPainis:
+ - bugfix: Walking no longer makes you fat.
+ keronshb:
+ - balance: Christmas trees are now indestructible
diff --git a/html/changelogs/archive/2021-11.yml b/html/changelogs/archive/2021-11.yml
new file mode 100644
index 0000000000..e8dfabd4b0
--- /dev/null
+++ b/html/changelogs/archive/2021-11.yml
@@ -0,0 +1,152 @@
+2021-11-05:
+ keronshb:
+ - balance: removes required enemies
+ - balance: Lowers assassination threat threshold
+2021-11-06:
+ Putnam3145:
+ - bugfix: Ashwalkers should no longer suffocate on lavaland (and hypothetical other
+ future problems)
+ - bugfix: A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma,
+ for ashwalkers)
+2021-11-08:
+ timothyteakettle:
+ - bugfix: fixes party pod sprite
+ - bugfix: fixes red panda head marking
+2021-11-10:
+ Ethan4303:
+ - rscadd: Added two wire nodes under the engineering PA room Apc and under the HOS
+ office APC
+ - rscadd: Added cables to connect the second floor relay to the power grid
+ - rscdel: Removed the generic broken computer from Hos Office
+ - bugfix: Fixed Hos office not having the Security records console
+ Putnam3145:
+ - bugfix: Power alerts now work
+ - bugfix: No longer have too much O2 from too much CO2
+ SandPoot:
+ - rscadd: Crayon precision mode.
+2021-11-11:
+ DrPainis:
+ - bugfix: The universe has realized that not every species uses hemoglobin again.
+ Putnam3145:
+ - refactor: '"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM"
+ is short for'
+2021-11-13:
+ Putnam3145:
+ - balance: Chonker cubans pete now no longer have a reasonable chance to be unbeatable
+2021-11-14:
+ TripleShades:
+ - rscadd: (Pubby) Surgery table to Brig Medical
+ - rscadd: (Pubby) Dirt decals added to Command maint
+ - rscadd: (Pubby) Decals and gavel block to Courtroom
+ - rscadd: (Pubby) Training bomb to Birg
+ - rscdel: (Pubby) Chapel stripper pole room
+ - rscdel: '(Pubby) Command maint storage shed room tweak: (Pubby) Makes Arrivals
+ atmos room into a main atmos grid room akin to what Meta has'
+ - bugfix: (Pubby) Gulag shuttle spawning in a tile off from the airlocks
+ - bugfix: (Pubby) Air Injector in Medical maints having no power
+ - bugfix: (Pubby) Incorrect area on one side at AI Sat where the turrets are
+ - bugfix: (Pubby) Arrivals atmos is now linked to the main atmos grid
+ - bugfix: (Pubby) Medbay front airlocks access
+ keronshb:
+ - admin: Admins get messaged if dynamic midrounds fail to hijack
+2021-11-16:
+ Putnam3145:
+ - bugfix: Lavaland can no longer go below 281 kelvins
+ TripleShades:
+ - bugfix: (Pubby) Engineering security checkpoint no longer has a duplicate records
+ console
+2021-11-18:
+ DeltaFire15:
+ - bugfix: Devastation level explosions no longer delete your organs after gibbing
+ you.
+ - code_imp: Adjusted all overrides of ex_act() and contents_explosion() to take
+ account of current args for them.
+ - code_imp: 'Reebe can now be loaded via a proc. tweak: The clockwork relay in reebe
+ is now indestructible and not deconstrutible to avoid some issues.'
+ Putnam3145:
+ - bugfix: Regal rat can no longer keep spawning stuff while dead
+ SandPoot:
+ - rscadd: When your statpanel doesn't load, you'll get a message with a button to
+ fix it.
+ - bugfix: The fix chat message button now works.
+ keronshb:
+ - rscadd: Ball
+ - rscadd: Spookystation Map
+ - rscadd: Tree chopping/Grass cutting
+ - rscadd: Vectorcars
+2021-11-19:
+ shellspeed1:
+ - rscadd: 'An experimental smart dart repeater rifle has been added by NT. It accepts
+ both a large and small hypovials and uses it to fill the smart darts it synthesizes.
+ It can hold 6 smart darts and makes a new one every 20 seconds. To research
+ it, grab the medical weaponry node. tweak: Reagent gun renamed to reagent repeater'
+ - balance: reagent repeater now holds 6 syringes.
+ - balance: Reagent repeater and smart dart repeater rifle start with 4 syringes
+ instead of a full clip.
+ - balance: 'reagent repeater synthesizes a new syringe every 20 seconds. tweak:
+ smart dart guns now use the syringe gun as an inhands sprite.'
+2021-11-20:
+ SandPoot:
+ - bugfix: Acid will disappear when not existant.
+ - code_imp: Updates component Destroy code, might result in less component related
+ runtimes.
+2021-11-21:
+ DeltaFire15:
+ - rscadd: Power cord implants can now also be connected to cells to recharge.
+ - rscdel: Synthetics can no longer bite power cells.
+ LetterN:
+ - rscadd: Search option on the cwc slab
+ MrJWhit:
+ - balance: Reduces the HP from loot piles to 100, from 300.
+ TripleShades:
+ - rscadd: '(Pubby) Loot piles to maint halls remove: (Pubby) CMO''s sex dungeon
+ tweak: (Pubby) Surgery layout is now more open'
+ keronshb:
+ - rscadd: 'Adds Cogscarab spell tweak: Cogscarabs gib now because I have no idea
+ how to fix the issue of dead pogscarabs eating up the limit.'
+2021-11-23:
+ TripleShades:
+ - rscadd: '(Pubby) Paramedic Office tweak: (Pubby) Moved Medbay delivery to the
+ south hall entrance'
+ - bugfix: (Pubby) Morgue wall being labeled as Bar
+2021-11-24:
+ timothyteakettle:
+ - bugfix: oil drum now recognises synthetic anthormorphs as synths
+2021-11-25:
+ Arturlang:
+ - rscadd: Buldmode mapgen save tool
+ SandPoot:
+ - rscadd: Double Bed Type. Miners can also make Double Pod Beds to really feel like
+ an Alaskan King.
+ - rscadd: Bedsheets to match! Try to share those big blankets with a lizard if you
+ see that they're shivering!
+ - code_imp: Stuff that lets you interact with the benches and beds in-game, so that
+ you too can enjoy being a king.
+ - imageadd: Ports the Double Bed sprites from Skyrat.
+ - bugfix: Dealt with some weirdness when buckling to beds.
+2021-11-28:
+ SandPoot:
+ - imageadd: Legless sprite for it
+ TripleShades:
+ - rscadd: (Meta) Adds meters to the refill/scrubber station outside Engineering
+ - rscadd: (Meta) Adds a small light fixture to southeast solar access
+ - rscadd: (Meta) Places an intercom to southeast solar access
+ - rscadd: (Meta) Gives a cautery to Robotics
+ - rscadd: (Meta) Camera to Incinerator
+ - rscadd: (Meta) Linen bin to dorms
+ - rscadd: (Box) Camera to Incinerator
+ - rscadd: (Box) Painting mounts to Library
+ - rscadd: (Pubby) Painting mounts to Library
+ - rscdel: '(Meta) Removes the example tanks from the Atmospherics gas chambers tweak:
+ (Box) Moves the Bar camera from out behind the soda dispenser tweak: (Box) Gives
+ dorm room 6 a double bed to start tweak: (Pubby) Moves linen bin in washroom
+ to a table tweak: (Delta) Moves the plant in Medbay''s Storage to not be in
+ front of a vendor tweak: (Delta) Moves the gas miners and labels inside the
+ Atmoshperics gas chambers to the centers'
+ - bugfix: (Box) Made the upper Execution Chamber airlock unable to be used by the
+ AI
+ - bugfix: (Box) Moves prison cell 4 and 6's shutter button to the wall
+ keronshb:
+ - rscadd: FestiveMap
+ - rscadd: Specific Truck and Ambulance vector cars
+ - rscadd: Radials for those cars
diff --git a/html/changelogs/archive/2021-12.yml b/html/changelogs/archive/2021-12.yml
new file mode 100644
index 0000000000..cc359c8a99
--- /dev/null
+++ b/html/changelogs/archive/2021-12.yml
@@ -0,0 +1,82 @@
+2021-12-01:
+ DeltaFire15:
+ - balance: Pellets now care about block woundwise
+ - balance: Pellet wound-bonus no longer stacks for the final calculation
+ - balance: Embeds no longer bypass full blocking.
+ - bugfix: Shields now work properly against unarmed / mob attacks.
+2021-12-02:
+ DeltaFire15:
+ - balance: Synthetics gained quasi-immunity to most chemicals, excluding some core
+ medical chems and a few specific disruptive ones.
+ - rscadd: Health analyzer, ChemMaster and chemical analyzer interactions with the
+ chemical processing flag system.
+ - bugfix: System Cleaner should now always update health as opposed to before.
+ - balance: system cleaner is now twice as effective.
+2021-12-03:
+ TripleShades:
+ - rscadd: (Pubby) Holopad to surgery viewing area
+2021-12-05:
+ Arturlang:
+ - rscadd: You can now put in LaTeX equations in TGUI paper if you insert them between
+ two $ dollar signs
+ DeltaFire15:
+ - bugfix: Fireman carry no longer drops the carried person if passing over a prone
+ individual.
+2021-12-09:
+ DeltaFire15:
+ - bugfix: Linters should no longer scream.
+ Linzolle:
+ - bugfix: it now only snows on festivestation instead of every map
+ - bugfix: rain now triggers properly on spookystation
+ TripleShades:
+ - rscadd: (Pubby) Gives Robotic's Lab Surgery a cautery
+ keronshb:
+ - rscadd: Lets dynamic pick clock cultists midround
+ timothyteakettle:
+ - bugfix: being fat no longer makes you slower when floating
+2021-12-11:
+ SandPoot:
+ - bugfix: Borg speech is now centralized even inside lockers or something like that.
+ bunny232:
+ - bugfix: Cold blooded critters won't worry too much about the air around them being
+ too hot even though their body temperature is the same as it.
+ - balance: The warm pool is no longer nearly boiling and the cool pool no longer
+ goes below 0C.
+2021-12-12:
+ DeltaFire15:
+ - bugfix: Linters should no longer complain about afterattack sleeps.
+2021-12-13:
+ Putnam3145:
+ - bugfix: Per-minute science output fixed
+2021-12-17:
+ DeltaFire15:
+ - bugfix: The time for admins to cancel events is 30 seconds again.
+ SandPoot:
+ - bugfix: Fixes assembly holders.
+2021-12-21:
+ ShizCalev:
+ - bugfix: Fixed an issue where you were able to remove flashlights/bayonets that
+ were supposed to be permanently attached to a gun.
+ - bugfix: Fixed an issue where you were unable to remove flashlights & bayonets
+ from certain weapons.
+ - bugfix: Fixed a potential issue where adding a flashlight to your helmet would've
+ caused you to lose other action buttons.
+ - bugfix: 'Fixed a issue where guns with multiple action buttons would break all
+ but one of those action buttons. tweak: If you have both a bayonet and a flashlight
+ attached to your gun, you''ll now be given a prompt on which you''d like to
+ remove when using a screwdriver on it. tweak: Hacking a firing pin out of a
+ gun is no longer done via a crafting menu - you can now do it by simply holding
+ the gun in your hand and clicking it with a welder/screwdriver/wirecutters.'
+2021-12-23:
+ Putnam3145:
+ - bugfix: Atmos group processing heuristic no longer does opposite of intent
+2021-12-29:
+ TripleShades:
+ - rscadd: (Festive Station) Fixes
+ - rscadd: 'Readds the cold to Festive Station tweak: (Festive Station) Fixes'
+ - rscadd: (Pubby) Cautery??? I think this is leftover but nobody has touched Pubby
+ since me so it's fine probably
+2021-12-31:
+ SandPoot:
+ - bugfix: You also no longer get every animation sprite and direction sprite of
+ items on the menus.
diff --git a/html/changelogs/archive/2022-01.yml b/html/changelogs/archive/2022-01.yml
new file mode 100644
index 0000000000..babd85cd96
--- /dev/null
+++ b/html/changelogs/archive/2022-01.yml
@@ -0,0 +1,95 @@
+2022-01-02:
+ DeltaFire15:
+ - admin: Station names now require admin approval instead of autoaccepting.
+ Putnam3145:
+ - bugfix: Bluespace pipes
+2022-01-03:
+ TripleShades:
+ - rscadd: '(Meta) Floodlight to Atmospherics tweak: (Meta) Atmospherics Entryway
+ layout change tweak: (Meta) Atmospherics Monitoring room layout tweak tweak:
+ (Meta) Atmospherics Supply Line room airlock location change'
+ - bugfix: (Meta) Incinerator Access airlock now has the correct access
+2022-01-04:
+ Hatterhat:
+ - imageadd: Jumpboots now have a mining sprite. Alt-click, as usual, to change 'em.
+ MrJWhit:
+ - rscadd: Adds pipes to the SM to make omega better
+ - bugfix: Various omega fixes
+ Putnam3145:
+ - rscadd: Hydrogen gas (no way to get yet)
+ - rscadd: Gas groups, such as...
+ - rscadd: Chemical gases, starting with ethanol, bromine, diethylamine, ammonia,
+ phlogiston
+ - rscadd: Bromine gas (can make it by tossing hot bromine on the ground OR by burning
+ methyl bromide)
+ - rscadd: Ammonia gas (toss hot ammonia on the ground OR burn diethylamine)
+ - rscdel: 'Snowflake trit/plasma fires fires tweak: Generic fires are now more accurate
+ energy-wise tweak: Water vapor condensation no longer happens below 40 C tweak:
+ Methyl bromide now burns properly'
+ - balance: Massive fusion nerf
+ - balance: Due to the removal of snowflake trit fires, trit fires are much, much
+ less hot
+ - balance: 'Due to the previous, bombs are now easier to reach 50,000 points on
+ (2 : 1 plasma : oxy at 160 kelvins cold side should be fine)'
+2022-01-07:
+ MrJWhit:
+ - rscadd: Adds an airlock between atmos and engineering on omega.
+2022-01-10:
+ Linzolle:
+ - bugfix: bloodsplatter effects no longer white in certain cases
+ - bugfix: the blood in the BDM ruin is no longer white
+ Putnam3145:
+ - bugfix: Alcohol works again
+2022-01-14:
+ Putnam3145:
+ - admin: More logging for bad ERP reagent mechanics
+ - balance: Made supernova rad storms less strong, slightly more common (but less
+ spammy)
+2022-01-23:
+ DeltaFire15:
+ - balance: Synths no longer take direct damage from low blood. They will however
+ suffer from lower cooling efficiency and be in danger of overheating.
+ - balance: The temperature system of synths is now simillar to the coldblooded trait,
+ though depending on environment and coolant level, with access to short bursts
+ of direct control via active cooling.
+ - balance: Synths no longer breathe. If in crit, they meltdown and suffer burn damage
+ over time.
+ - balance: Synths are now immune to low pressure, resistant to low temp, and vulnerable
+ to high temp.
+ - balance: Synths no longer process oxyloss and temperature adjustment chemicals.
+ - balance: 'Nanogel is now printable at med- / scilathes and mechfabs after researching
+ the Advanced Robotics node. It does need a bit of diamond though. tweak: All
+ Synthetics now use blood type S'
+ Putnam3145:
+ - rscadd: Atmospheric Flux event
+ - balance: A lot more fluids can be used for replica pods
+ Trilbyspaceclone:
+ - rscadd: New type of flora to lava land, an Ash Tree, can be harvested for coal
+ or if lucky used to gather honey. Just use a container!
+2022-01-25:
+ Putnam3145:
+ - bugfix: Artificial zeolite now has a taste
+ - spellcheck: '"Zeolites" has been renamed to "zeolite" ("a beaker of zeolites"
+ is like "a beaker of woods")'
+ - spellcheck: Various taste descriptors have had their end punctuation removed
+2022-01-26:
+ LetterN:
+ - rscadd: Antag info panel using tgui for selected antags
+ - code_imp: TGUI hardsync
+ - code_imp: TIMER_DELETE_ME flag for timers
+ - code_imp: 'wiremod backend (DO NOT ENABLE, FOLLOWUP PR WILL ADD WIREMOD) tweak:
+ Cryo DOES NOT store the items, instead only drops it as soon as the person "fully
+ cryo" tweak: Changes on how uplink works. Purchases are now only based on if
+ said uplink has the right flag to purchase an item, rather than using a list
+ to whitelist/blacklist specific gamemodes for it. Also, the purchase items handles
+ poplocking by themselves now.'
+2022-01-28:
+ DeltaFire15:
+ - rscdel: genital fluids are once again not valid for pod cloning, nor do the decals
+ have dna (I hate the fact I had to PR this because the original got merged with
+ this still present)
+ SpiWat:
+ - spellcheck: fixed a typo, I hope
+2022-01-29:
+ Arturlang:
+ - bugfix: Fixes Papers not working due to a dependency updated.
diff --git a/html/changelogs/archive/2022-02.yml b/html/changelogs/archive/2022-02.yml
new file mode 100644
index 0000000000..8ae10a7f5c
--- /dev/null
+++ b/html/changelogs/archive/2022-02.yml
@@ -0,0 +1,130 @@
+2022-02-01:
+ SpiWat:
+ - spellcheck: tweenty --> twenty
+2022-02-02:
+ BlueWildrose:
+ - bugfix: Sylvan should actually be speakable for those who have taken that language
+ as roundstart now, and for plantpeople who naturally start with it.
+ - bugfix: The langauge Neo-kanji's shortcut was overlapping with the slime language,
+ and has been relocated from k to j.
+ - bugfix: The langauge Dwarvish's shortcut was potentially overlapping with drones,
+ and has been relocated from D to w.
+ - bugfix: The language Rachnidian's shortcut was getting in the way of the Ratvarian
+ language, so it's been moved from r to c.
+2022-02-08:
+ CoreFlare:
+ - rscadd: Humanity is... Ok. Blood is fuel. IPCs have wings.
+ DeltaFire15:
+ - balance: Stabilized orange extracts can only cool by -5 degrees per tick base
+ instead of by as much as the difference is.
+ - balance: "Stabilized orange extracts only have halved cooling effects on Synthetics\
+ \ (2.5 per status tick / 5 per life), but also cool them towards ~-100\xB0C\
+ \ instead of base bodytemp."
+ - balance: The Space Adaptation mutation when applied to Synthetics now nullifies
+ the penalty for passive cooling if in low-pressure environments.
+ LiteralMushroom:
+ - rscadd: Slimes can have wings now.
+ SakuraOran:
+ - rscadd: Ashwalkers can now heal, even from death, by being incapacitated (asleep/dead)
+ near the tendril
+ - rscadd: Added the ability for antags to have the "protect object" objective, which
+ the ashwalkers now have to protect the tendril. This is determined by if the
+ object is broken or not, and can be set to any object or structure that can
+ reasonably be destroyed
+ - balance: Ashwalkers get one life, and have a 40% chance to earn an additional
+ life when they sacrifice to the tendril.
+ - bugfix: fixed mobs not dropping guaranteed_butcher_results when gibbed
+ SandPoot:
+ - qol: Changing a reagent container's transfer amount will now give you feedback
+ in the form of text on the container itself.
+ - rscadd: 'TGUI autolathe tweak: You can now input a custom amount to print(hard
+ limit at 50 or maximum stack size) tweak: Can now search and change categories
+ while the autolathe is busy, line up those designs!'
+ - bugfix: You can once again see your previews for picking target bodyparts on your
+ hud.
+ - refactor: Converted the changelog popup to TGUI
+ - rscadd: Adds a keybinding where you can cancel actions.
+ - rscadd: Made a cool UI for the custom shuttles.
+ - bugfix: Removes "Convert Lineendings" git action.
+ - rscadd: All of your favorite simple bot friends aboard the station now have a
+ much better interface in TGUI
+ - qol: You can now lock and unlock bots, including their maintenance hatches, via
+ the UI.
+ silicons:
+ - refactor: clickcatchers, parallax
+2022-02-14:
+ keronshb:
+ - rscadd: Adds the new MRP version of Families
+ - rscadd: Adds the new Antag UI panel for Families, disables it for other antags
+ (for now)
+ - rscadd: Adds High Fives (needed for the Handshake)
+ - rscdel: Removed old Gang War
+ - bugfix: Fixed Observer Alerts and general alerts for give/take/restraints.
+ - soundadd: Adds related sounds for Families
+ - imageadd: Adds related icons for Families
+ - code_imp: Changed the petehat/gang to just petehat on the jungle away mission
+ - code_imp: Adds HAND_ITEM
+ - code_imp: A bunch of UI code for Antags/Families
+ - code_imp: Adds IS_DEAD_OR_INCAP
+ - code_imp: Adds GLOBAL_LIST_EMPTY(pre_setup_antags)
+ - code_imp: Adds Queued Deletions
+ - code_imp: Sanity check for attached_effect
+ - code_imp: Adds Suicide cries for antags
+ - code_imp: Adds preview_outfits for antags
+ - refactor: Refactors give/take > offer/receive
+ - config: Added Families to the dynamic config
+ - admin: Adds admin tp Family stuff
+2022-02-17:
+ '[Timberpoes](https://github.com/Timberpoes)':
+ - admin: Re-added the button to the player playtime panel that lets admins toggle
+ a player's job playtime exemption status.
+2022-02-19:
+ timothyteakettle:
+ - rscadd: polychromic clown outfit and mask
+2022-02-20:
+ jupyterkat:
+ - refactor: switched equalization method to katmos
+2022-02-21:
+ BlueWildrose and tralezab, Wjohnston, Mey Ha Zah, ArcaneDefense, Jack7D1, Papaporo, Sheits & Mqiib from TG and Yog:
+ - rscadd: TG wing port - All species can now use flight potions and grow wings.
+ Your wing sprite will be based off of what wings you have on your character,
+ or otherwise what species you are if you have no wings.
+ - bugfix: Jellypeople did not call the species parent proc on spec_life. Fixed.
+ Putnam3145:
+ - bugfix: Default features on linux auxmos compile now formatted correctly
+ - bugfix: reinforced plasma glass windows are buildable
+ TripleShades:
+ - rscadd: '[Omega] Gateway shutter button'
+ - rscadd: '[Omega] Signs to the airlocks that lead to space that say SPACE'
+ - rscadd: '[Omega] Air Alarm for the Turbine itself'
+ - rscadd: '[Omega] SMES Unit for the Turbine itself'
+ - rscadd: '[Omega] Firelock to Robotics airlock'
+ - rscadd: '[Omega] Captain''s Office now has a hand teleporter and medal box'
+ - rscadd: '[Omega] Screwdriver to Chemistry'
+ - rscadd: '[Omega] Space Cleaner bottle to Medbay'
+ - rscadd: '[Omega] Limb Grower and Spare Limb Crate to Surgery'
+ - rscadd: '[Omega] Kinkmate in Dorms'
+ - rscadd: '[Omega] Lightbulb fixture to Secure Tech Storage'
+ - rscadd: '[Omega] Armsky is now in the Armoury'
+ - rscdel: '[Omega] Extra automated announcement machine'
+ - rscdel: '[Omega] Wall inside of southwest Solar Array window'
+ - rscdel: '[Omega] Wall inside library maint airlock'
+ - rscdel: '[Omega] Duplicate Robotics airlock tweak: [Omega] HoS gun now spawns
+ in HoS locker instead of Captain''s locker tweak: [Omega] Both Solar Arrays
+ now have more windows tweak: [Omega] PACMAN moved out from behind a Command
+ airlock in Engineering tweak: [Omega] A few cameras so that they''re not sitting
+ improperly on windows tweak: [Omega] Medbay Surgery now has a surgical duffel
+ instead of strewn about tools tweak: [Omega] Security Cell 1 is now properly
+ named and has a bed instead of a chair tweak: [Omega] Toxins scrubber piping
+ now goes through a wall tweak: [Omega] Robotics trash can is now moved to the
+ small hallway between Robotics and Toxins tweak: [Omega] Maint Pool drain moved
+ down a tile so it''s easier to retrieve lost items'
+ - bugfix: '[Omega] Lawyer Office access'
+ - bugfix: '[Omega] Both Solar Arrays are now wired up to power the station properly'
+ - bugfix: '[Omega] Wire leading to the single Supermatter Emitter should now be
+ properly connected and not diagonal'
+ - bugfix: '[Omega] Gateway Maint airlock access'
+ - bugfix: '[Omega] Toxins Launch not being connected to the main air supply'
+ - bugfix: '[Omega] Toxins Mix Chamber no longer starts bolted'
+ - bugfix: '[Omega] Missing pipe above Security leading into Perma'
+ - bugfix: '[Omega] Secure Tech Storage now properly has an area'
diff --git a/html/changelogs/example.yml b/html/changelogs/example.yml
index c44f796755..b0e660681d 100644
--- a/html/changelogs/example.yml
+++ b/html/changelogs/example.yml
@@ -6,20 +6,20 @@
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
-# Valid Prefixes:
+# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
-# tweak
-# - (tweaks something)
+# qol
+# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
-# rscdel
-# - (adds a feature)
# rscadd
+# - (adds a feature)
+# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
@@ -29,8 +29,6 @@
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
-# tgs
-# - (TGS change)
# balance
# - (balance changes)
# code_imp
@@ -45,7 +43,7 @@
# - (miscellaneous changes to server)
#################################
-# Your name.
+# Your name.
author: "
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
@@ -56,6 +54,6 @@ delete-after: True
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
-changes:
+changes:
- rscadd: "Added a changelog editing system that should cause fewer conflicts and more accurate timestamps."
- rscdel: "Killed innocent kittens."
diff --git a/html/chrome-wrench.png b/html/chrome-wrench.png
deleted file mode 100644
index a64f202074..0000000000
Binary files a/html/chrome-wrench.png and /dev/null differ
diff --git a/html/coding.png b/html/coding.png
deleted file mode 100644
index 887d6b5068..0000000000
Binary files a/html/coding.png and /dev/null differ
diff --git a/html/cross-circle.png b/html/cross-circle.png
deleted file mode 100644
index e6f2d3228b..0000000000
Binary files a/html/cross-circle.png and /dev/null differ
diff --git a/html/hard-hat-exclamation.png b/html/hard-hat-exclamation.png
deleted file mode 100644
index e22eb61b8f..0000000000
Binary files a/html/hard-hat-exclamation.png and /dev/null differ
diff --git a/html/image-minus.png b/html/image-minus.png
deleted file mode 100644
index b2bac2c45a..0000000000
Binary files a/html/image-minus.png and /dev/null differ
diff --git a/html/image-plus.png b/html/image-plus.png
deleted file mode 100644
index 308c1ae0a2..0000000000
Binary files a/html/image-plus.png and /dev/null differ
diff --git a/html/IRV/jquery-ui.custom-core-widgit-mouse-sortable-min.js b/html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js
similarity index 100%
rename from html/IRV/jquery-ui.custom-core-widgit-mouse-sortable-min.js
rename to html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js
diff --git a/html/jquery.min.js b/html/jquery/jquery.min.js
similarity index 100%
rename from html/jquery.min.js
rename to html/jquery/jquery.min.js
diff --git a/html/music-minus.png b/html/music-minus.png
deleted file mode 100644
index 1b9478f43e..0000000000
Binary files a/html/music-minus.png and /dev/null differ
diff --git a/html/music-plus.png b/html/music-plus.png
deleted file mode 100644
index ea7f36c6ba..0000000000
Binary files a/html/music-plus.png and /dev/null differ
diff --git a/html/scales.png b/html/scales.png
deleted file mode 100644
index bb28dc9b59..0000000000
Binary files a/html/scales.png and /dev/null differ
diff --git a/html/spell-check.png b/html/spell-check.png
deleted file mode 100644
index 70b066d12a..0000000000
Binary files a/html/spell-check.png and /dev/null differ
diff --git a/html/templates/footer.html b/html/templates/footer.html
deleted file mode 100644
index 5d98f73b15..0000000000
--- a/html/templates/footer.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-GoonStation 13 Development Team
-
- Coders: Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion
- Spriters: Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No
-