Merge branch 'master' of https://github.com/BlueWildrose/Citadel-Station-13
This commit is contained in:
Binary file not shown.
@@ -0,0 +1 @@
|
||||
#define EXTOOLS (world.system_type == MS_WINDOWS ? "byond-extools.dll" : "libbyond-extools.so")
|
||||
@@ -281,8 +281,6 @@ GLOBAL_LIST_INIT(atmos_adjacent_savings, list(0,0))
|
||||
#define CALCULATE_ADJACENT_TURFS(T) SSadjacent_air.queue[T] = 1
|
||||
#endif
|
||||
|
||||
#define EXTOOLS (world.system_type == MS_WINDOWS ? "byond-extools.dll" : "libbyond-extools.so")
|
||||
|
||||
GLOBAL_VAR(atmos_extools_initialized) // this must be an uninitialized (null) one or init_monstermos will be called twice because reasons
|
||||
#define ATMOS_EXTOOLS_CHECK if(!GLOB.atmos_extools_initialized){\
|
||||
GLOB.atmos_extools_initialized=TRUE;\
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#define COMSIG_ELEMENT_DETACH "element_detach"
|
||||
|
||||
/// sent to the component itself when unregistered from a parent
|
||||
#define COMSIG_COMPONENT_UNREGISTER_PARENT "component_unregister_parent"
|
||||
#define COMSIG_COMPONENT_UNREGISTER_PARENT "component_unregister_parent"
|
||||
/// sent to the component itself when registered to a parent
|
||||
#define COMSIG_COMPONENT_REGISTER_PARENT "component_register_parent"
|
||||
|
||||
@@ -184,6 +184,7 @@
|
||||
// #define HEARING_SOURCE 8
|
||||
#define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
|
||||
#define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination)
|
||||
#define COMSIG_MOVABLE_CHASM_DROP "movable_chasm_drop" //from base of /datum/component/chasm/drop() (/datum/component/chasm)
|
||||
|
||||
// /mind signals
|
||||
#define COMSIG_PRE_MIND_TRANSFER "pre_mind_transfer" //from base of mind/transfer_to() before it's done: (new_character, old_character)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#define EXTOOLS_LOGGING // rust_g is used as a fallback if this is undefined
|
||||
|
||||
/proc/extools_log_write()
|
||||
|
||||
/proc/extools_finalize_logging()
|
||||
@@ -4,10 +4,15 @@
|
||||
#define SEND_SOUND(target, sound) DIRECT_OUTPUT(target, sound)
|
||||
#define SEND_TEXT(target, text) DIRECT_OUTPUT(target, text)
|
||||
#define WRITE_FILE(file, text) DIRECT_OUTPUT(file, text)
|
||||
#ifdef EXTOOLS_LOGGING
|
||||
// proc hooked, so we can just put in standard TRUE and FALSE
|
||||
#define WRITE_LOG(log, text) extools_log_write(log,text,TRUE)
|
||||
#define WRITE_LOG_NO_FORMAT(log, text) extools_log_write(log,text,FALSE)
|
||||
#else
|
||||
//This is an external call, "true" and "false" are how rust parses out booleans
|
||||
#define WRITE_LOG(log, text) rustg_log_write(log, text, "true")
|
||||
#define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false")
|
||||
|
||||
#endif
|
||||
//print a warning message to world.log
|
||||
#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].")
|
||||
/proc/warning(msg)
|
||||
@@ -216,7 +221,11 @@
|
||||
|
||||
/* Close open log handles. This should be called as late as possible, and no logging should hapen after. */
|
||||
/proc/shutdown_logging()
|
||||
#ifdef EXTOOLS_LOGGING
|
||||
extools_finalize_logging()
|
||||
#else
|
||||
rustg_log_close_all()
|
||||
#endif
|
||||
|
||||
|
||||
/* Helper procs for building detailed log lines */
|
||||
|
||||
@@ -184,14 +184,23 @@
|
||||
|
||||
/obj/screen/alert/hot
|
||||
name = "Too Hot"
|
||||
desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit."
|
||||
desc = "The air around you is pretty toasty! Consider putting on some insulating clothing, or moving to a cooler area."
|
||||
icon_state = "hot"
|
||||
|
||||
/obj/screen/alert/cold
|
||||
name = "Too Cold"
|
||||
desc = "You're freezing cold! Get somewhere warmer and take off any insulating clothing like a space suit."
|
||||
desc = "The air around you is pretty cold! Consider wearing a coat, or moving to a warmer area."
|
||||
icon_state = "cold"
|
||||
|
||||
/obj/screen/alert/sweat
|
||||
name = "Sweating"
|
||||
desc = "You're sweating! Get somewhere cooler and take off any insulating clothing like a fire suit."
|
||||
icon_state = "sweat"
|
||||
|
||||
/obj/screen/alert/shiver
|
||||
name = "Shivering"
|
||||
desc = "You're shivering! Get somewhere warmer and take off any insulating clothing like a space suit."
|
||||
|
||||
/obj/screen/alert/lowpressure
|
||||
name = "Low Pressure"
|
||||
desc = "The air around you is hazardously thin. A space suit would protect you."
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
|
||||
/datum/accent/robot/modify_speech(list/speech_args)
|
||||
speech_args[SPEECH_SPANS] = SPAN_ROBOT
|
||||
return speech_args
|
||||
|
||||
/datum/accent/dullahan/modify_speech(list/speech_args, datum/source, mob/living/carbon/owner)
|
||||
if(owner)
|
||||
|
||||
@@ -76,19 +76,11 @@
|
||||
return FALSE
|
||||
if(M.is_flying())
|
||||
return FALSE
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
if(istype(H.belt, /obj/item/wormhole_jaunter))
|
||||
var/obj/item/wormhole_jaunter/J = H.belt
|
||||
//To freak out any bystanders
|
||||
H.visible_message("<span class='boldwarning'>[H] falls into [parent]!</span>")
|
||||
J.chasm_react(H)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/component/chasm/proc/drop(atom/movable/AM)
|
||||
//Make sure the item is still there after our sleep
|
||||
if(!AM || QDELETED(AM))
|
||||
if(!AM || QDELETED(AM) || SEND_SIGNAL(AM, COMSIG_MOVABLE_CHASM_DROP, src))
|
||||
return
|
||||
falling_atoms[AM] = (falling_atoms[AM] || 0) + 1
|
||||
var/turf/T = target_turf
|
||||
|
||||
@@ -113,9 +113,9 @@ Bonus
|
||||
symptom_delay_max = 90
|
||||
var/chems = FALSE
|
||||
var/explosion_power = 1
|
||||
threshold_desc = "<b>Resistance 9:</b> Doubles the intensity of the effect, but reduces its frequency.<br>\
|
||||
<b>Stage Speed 8:</b> Increases explosion radius when the host is wet.<br>\
|
||||
<b>Transmission 8:</b> Additionally synthesizes chlorine trifluoride and napalm inside the host."
|
||||
threshold_desc = list("Resistance 9" = "Doubles the intensity of the effect, but reduces its frequency.",
|
||||
"Stage Speed 8" = "Increases explosion radius when the host is wet.",
|
||||
"Transmission 8" = "Additionally synthesizes chlorine trifluoride and napalm inside the host.")
|
||||
|
||||
/datum/symptom/alkali/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
|
||||
@@ -204,10 +204,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null)
|
||||
var/threatadd = input("Specify how much threat to add (negative to subtract). This can inflate the threat level.", "Adjust Threat", 0) as null|num
|
||||
if(!threatadd)
|
||||
return
|
||||
if(threatadd > 0)
|
||||
create_threat(threatadd)
|
||||
else
|
||||
remove_threat(threatadd)
|
||||
create_threat(threatadd)
|
||||
else if (href_list["injectlate"])
|
||||
latejoin_injection_cooldown = 0
|
||||
forced_injection = TRUE
|
||||
|
||||
@@ -735,7 +735,11 @@
|
||||
if(isobj(target))
|
||||
if(actually_paints)
|
||||
var/list/hsl = rgb2hsl(hex2num(copytext(paint_color,2,4)),hex2num(copytext(paint_color,4,6)),hex2num(copytext(paint_color,6,8)))
|
||||
if(hsl[3] < 0.25 && !istype(target, /obj/structure/window) && !istype(target, /obj/effect/decal/cleanable/crayon)) //Colors too dark are rejected
|
||||
var/static/whitelisted = typecacheof(list(/obj/structure/window,
|
||||
/obj/effect/decal/cleanable/crayon,
|
||||
/obj/machinery/door/window)
|
||||
)
|
||||
if(hsl[3] < 0.25 && !whitelisted[target]) //Colors too dark are rejected
|
||||
to_chat(usr, "<span class='warning'>A color that dark on an object like this? Surely not...</span>")
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -394,8 +394,6 @@
|
||||
to_chat(user, "<span class='warning'>[src] are recharging!</span>")
|
||||
return
|
||||
|
||||
user.stop_pulling() //User has hands full, and we don't care about anyone else pulling on it, their problem. CLEAR!!
|
||||
|
||||
if(user.a_intent == INTENT_DISARM)
|
||||
do_disarm(M, user)
|
||||
return
|
||||
|
||||
@@ -11,6 +11,11 @@ GLOBAL_LIST(topic_status_cache)
|
||||
/world/New()
|
||||
if (fexists(EXTOOLS))
|
||||
call(EXTOOLS, "maptick_initialize")()
|
||||
#ifdef EXTOOLS_LOGGING
|
||||
call(EXTOOLS, "init_logging")()
|
||||
else
|
||||
CRASH("[EXTOOLS] does not exist!")
|
||||
#endif
|
||||
enable_debugger()
|
||||
#ifdef REFERENCE_TRACKING
|
||||
enable_reference_tracking()
|
||||
@@ -274,6 +279,7 @@ GLOBAL_LIST(topic_status_cache)
|
||||
GM.__gasmixture_unregister()
|
||||
num_deleted++
|
||||
log_world("Deallocated [num_deleted] gas mixtures")
|
||||
shutdown_logging() // makes sure the thread is closed before end, else we terminate
|
||||
..()
|
||||
|
||||
/world/proc/update_status()
|
||||
|
||||
@@ -18,6 +18,15 @@
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated
|
||||
activate(user, TRUE)
|
||||
|
||||
/obj/item/wormhole_jaunter/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(slot == SLOT_BELT)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, .proc/chasm_react)
|
||||
|
||||
/obj/item/wormhole_jaunter/dropped(mob/user)
|
||||
. = ..()
|
||||
UnregisterSignal(user, COMSIG_MOVABLE_CHASM_DROP)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/turf_check(mob/user)
|
||||
var/turf/device_turf = get_turf(user)
|
||||
if(!device_turf || is_centcom_level(device_turf.z) || is_reserved_level(device_turf.z))
|
||||
@@ -71,13 +80,14 @@
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation
|
||||
activate(M)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/user)
|
||||
if(user.get_item_by_slot(SLOT_BELT) == src)
|
||||
to_chat(user, "Your [name] activates, saving you from the chasm!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
activate(user, FALSE, TRUE)
|
||||
else
|
||||
to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.</span>")
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/source, datum/component/chasm/C)
|
||||
to_chat(source, "Your [name] activates, saving you from the chasm!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
activate(source, FALSE, TRUE)
|
||||
if(C)
|
||||
var/atom/A = C.parent
|
||||
A.visible_message("<span class='boldwarning'>[source] falls into [A]!</span>")
|
||||
return TRUE
|
||||
|
||||
//jaunter tunnel
|
||||
/obj/effect/portal/jaunt_tunnel
|
||||
|
||||
@@ -1956,19 +1956,19 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX))
|
||||
switch((loc_temp - H.bodytemperature)*thermal_protection)
|
||||
if(-INFINITY to -50)
|
||||
H.throw_alert("temp", /obj/screen/alert/cold, 3)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/cold, 3)
|
||||
if(-50 to -35)
|
||||
H.throw_alert("temp", /obj/screen/alert/cold, 2)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/cold, 2)
|
||||
if(-35 to -20)
|
||||
H.throw_alert("temp", /obj/screen/alert/cold, 1)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/cold, 1)
|
||||
if(-20 to 0) //This is the sweet spot where air is considered normal
|
||||
H.clear_alert("temp")
|
||||
H.clear_alert("tempfeel")
|
||||
if(0 to 15) //When the air around you matches your body's temperature, you'll start to feel warm.
|
||||
H.throw_alert("temp", /obj/screen/alert/hot, 1)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/hot, 1)
|
||||
if(15 to 30)
|
||||
H.throw_alert("temp", /obj/screen/alert/hot, 2)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/hot, 2)
|
||||
if(30 to INFINITY)
|
||||
H.throw_alert("temp", /obj/screen/alert/hot, 3)
|
||||
H.throw_alert("tempfeel", /obj/screen/alert/hot, 3)
|
||||
|
||||
// +/- 50 degrees from 310K is the 'safe' zone, where no damage is dealt.
|
||||
if(H.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTHEAT))
|
||||
@@ -1986,6 +1986,14 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
else
|
||||
firemodifier = min(firemodifier, 0)
|
||||
burn_damage = max(log(2-firemodifier,(H.bodytemperature-BODYTEMP_NORMAL))-5,0) // this can go below 5 at log 2.5
|
||||
if (burn_damage)
|
||||
switch(burn_damage)
|
||||
if(0 to 2)
|
||||
H.throw_alert("temp", /obj/screen/alert/sweat, 1)
|
||||
if(2 to 4)
|
||||
H.throw_alert("temp", /obj/screen/alert/sweat, 2)
|
||||
else
|
||||
H.throw_alert("temp", /obj/screen/alert/sweat, 3)
|
||||
burn_damage = burn_damage * heatmod * H.physiology.heat_mod
|
||||
if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) //40% for level 3 damage on humans
|
||||
H.emote("scream")
|
||||
@@ -1998,14 +2006,18 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/cold, multiplicative_slowdown = ((BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR))
|
||||
switch(H.bodytemperature)
|
||||
if(200 to BODYTEMP_COLD_DAMAGE_LIMIT)
|
||||
H.throw_alert("temp", /obj/screen/alert/shiver, 1)
|
||||
H.apply_damage(COLD_DAMAGE_LEVEL_1*coldmod*H.physiology.cold_mod, BURN)
|
||||
if(120 to 200)
|
||||
H.throw_alert("temp", /obj/screen/alert/shiver, 2)
|
||||
H.apply_damage(COLD_DAMAGE_LEVEL_2*coldmod*H.physiology.cold_mod, BURN)
|
||||
else
|
||||
H.throw_alert("temp", /obj/screen/alert/shiver, 3)
|
||||
H.apply_damage(COLD_DAMAGE_LEVEL_3*coldmod*H.physiology.cold_mod, BURN)
|
||||
|
||||
else
|
||||
H.remove_movespeed_modifier(/datum/movespeed_modifier/cold)
|
||||
H.clear_alert("temp")
|
||||
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold")
|
||||
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot")
|
||||
|
||||
|
||||
@@ -187,12 +187,13 @@
|
||||
*/
|
||||
/obj/machinery/photocopier/proc/do_copy_loop(datum/callback/copy_cb, mob/user)
|
||||
busy = TRUE
|
||||
var/i
|
||||
for(i in 1 to num_copies)
|
||||
var/num_loops
|
||||
for(var/i in 1 to num_copies)
|
||||
//if(attempt_charge(src, user) & COMPONENT_OBJ_CANCEL_CHARGE)
|
||||
// break
|
||||
addtimer(copy_cb, i SECONDS)
|
||||
addtimer(CALLBACK(src, .proc/reset_busy), i SECONDS)
|
||||
num_loops++
|
||||
addtimer(CALLBACK(src, .proc/reset_busy), num_loops SECONDS)
|
||||
|
||||
/**
|
||||
* Sets busy to `FALSE`. Created as a proc so it can be used in callbacks.
|
||||
|
||||
@@ -985,6 +985,13 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
|
||||
layer = ABOVE_MOB_LAYER
|
||||
moveable = TRUE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/shard/examine(mob/user)
|
||||
. = ..()
|
||||
if(anchored)
|
||||
. += "<span class='notice'>[src] is <b>anchored</b> to the floor.</span>"
|
||||
else
|
||||
. += "<span class='notice'>[src] is <i>unanchored</i>, but can be <b>bolted</b> down.</span>"
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/shard/engine
|
||||
name = "anchored supermatter shard"
|
||||
is_main_engine = TRUE
|
||||
|
||||
@@ -469,7 +469,7 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000)
|
||||
build_path = /obj/item/holosign_creator/engineering
|
||||
category = list("Equipment")
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holosignatmos
|
||||
@@ -479,7 +479,7 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000)
|
||||
build_path = /obj/item/holosign_creator/atmos
|
||||
category = list("Equipment")
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holosignfirelock
|
||||
@@ -489,7 +489,7 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 5000, /datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000)
|
||||
build_path = /obj/item/holosign_creator/firelock
|
||||
category = list("Equipment")
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holosigncombifan
|
||||
@@ -499,7 +499,7 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 7500, /datum/material/glass = 2500, /datum/material/silver = 2500, /datum/material/gold = 2500, /datum/material/titanium = 1750)
|
||||
build_path = /obj/item/holosign_creator/combifan
|
||||
category = list("Equipment")
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/forcefield_projector
|
||||
@@ -509,7 +509,7 @@
|
||||
build_type = PROTOLATHE
|
||||
materials = list(/datum/material/iron = 2500, /datum/material/glass = 1000)
|
||||
build_path = /obj/item/forcefield_projector
|
||||
category = list("Equipment")
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holobarrier_med
|
||||
|
||||
@@ -183,6 +183,13 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
|
||||
. = ..()
|
||||
promptAndCheckIn(user)
|
||||
|
||||
/obj/item/hilbertshotel/ghostdojo/linkTurfs(datum/turf_reservation/currentReservation, currentRoomnumber)
|
||||
. = ..()
|
||||
var/area/hilbertshotel/currentArea = get_area(locate(currentReservation.bottom_left_coords[1], currentReservation.bottom_left_coords[2], currentReservation.bottom_left_coords[3]))
|
||||
for(var/turf/closed/indestructible/hoteldoor/door in currentArea)
|
||||
door.parentSphere = src
|
||||
door.desc = "The door to this hotel room. Strange, this door doesnt even seem openable. The doorknob, however, seems to buzz with unusual energy...<br /><span class='info'>Alt-Click to look through the peephole.</span>"
|
||||
|
||||
//Template Stuff
|
||||
/datum/map_template/hilbertshotel
|
||||
name = "Hilbert's Hotel Room"
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
if(P.features["ooc_notes"] != "Bar")
|
||||
Fail("OOC text is failing to save.")
|
||||
catch(var/exception/e)
|
||||
Fail("Failed to save and load character due to exception [e.name]")
|
||||
Fail("Failed to save and load character due to exception [e.file]:[e.line], [e.name]")
|
||||
|
||||
+15
-63
@@ -50,6 +50,21 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">04 September 2020</h2>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">ipcs can speak</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">03 September 2020</h2>
|
||||
<h3 class="author">Ghommie updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Jaunters should now work with magic mirror chasming.</li>
|
||||
<li class="bugfix">The photocopier can now print more than one copy at a time.</li>
|
||||
<li class="bugfix">Alkali perspiration infos don't crash the Pandemic UI anymore.</li>
|
||||
<li class="bugfix">Windoors can be actually tinted now.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">02 September 2020</h2>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -1428,69 +1443,6 @@
|
||||
<ul class="changes bgimages16">
|
||||
<li class="refactor">blood_DNA["color"] is now a single variable instead of a list</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">03 July 2020</h2>
|
||||
<h3 class="author">Arturlang updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">You can now toggle hardsuit helmets from the strip menu</li>
|
||||
</ul>
|
||||
<h3 class="author">Ghommie updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixed custom speech/tongue stuff.</li>
|
||||
<li class="balance">Lowered shaft miners' paycheck, they have other ways to make cash.</li>
|
||||
<li class="rscadd">You can't (un)equip garments on/from obscured inventory slots anymore.</li>
|
||||
<li class="balance">The stamina cost multiplier for swinging melee weapons against mobs has been brought back to 1 from 0.8</li>
|
||||
<li class="balance">The stamina cost for throwing mobs now scales with their mob size variable.</li>
|
||||
</ul>
|
||||
<h3 class="author">LetterN updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Ported some tags from tgui-3.0 to Vending.js</li>
|
||||
<li class="bugfix">vending icons</li>
|
||||
<li class="bugfix">r&d icons</li>
|
||||
<li class="bugfix">chem master icons</li>
|
||||
</ul>
|
||||
<h3 class="author">Onule updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">titanium wall man good</li>
|
||||
</ul>
|
||||
<h3 class="author">Sonic121x updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Bringback the ChemMaster pill type button.</li>
|
||||
<li class="bugfix">Fix Technode icon.</li>
|
||||
</ul>
|
||||
<h3 class="author">bunny232 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Witchhunter hat no longer obscures mask ears ,eyes, face and mouth</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">bloodpacks initialise correctly now</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">02 July 2020</h2>
|
||||
<h3 class="author">Ghommie updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Fixing a few issues with twohanded items.</li>
|
||||
<li class="bugfix">Unum decks now work correctly.</li>
|
||||
<li class="bugfix">Abductor walls are once again buildable with alien alloy.</li>
|
||||
</ul>
|
||||
<h3 class="author">Trilbyspaceclone updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Makes pride and envy ruin a bit smaller!</li>
|
||||
<li class="rscadd">Pride now has rings, lipstick wigs and silver walls/door making a nice and polished look then cyan blue walls.</li>
|
||||
<li class="rscadd">more trash and better dagger placement on food ruin</li>
|
||||
<li class="rscadd">Snowboim now has snowballs and toy gifts for the two skeles daw!</li>
|
||||
<li class="tweak">Beach boim now has carp light branding beer, as well as soap!</li>
|
||||
<li class="tweak">Greed ruin now uses nice slick walls and carpet!</li>
|
||||
<li class="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...</li>
|
||||
<li class="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</li>
|
||||
<li class="rscadd">Pizza party has a few more gifts, some candy and snap pops yay!</li>
|
||||
<li class="balance">Sloth ruin is about 15~ tiles shorter, has and has more fruit for a bowl. How lazy!</li>
|
||||
</ul>
|
||||
<h3 class="author">silicons updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">bohbombing is a thing now</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<b>GoonStation 13 Development Team</b>
|
||||
|
||||
@@ -27206,3 +27206,12 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- 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
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Hilbert hotel flavor text for one particular snowflake hotel changed."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- refactor: "Added an extools proc hook alternative to rust_g logging."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "raspy-on-osu"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "protolathe item categories"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "raspy-on-osu"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "supermatter shard examine text"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Bhijn"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Readded the old method of temperature notifications in the form of a new pair of shivering/sweating notifications."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- admin: "admins can now actually reduce threat level in dynamic"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Made owo.ogg smaller."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Character saving unit test is now more verbose on failure."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 511 KiB After Width: | Height: | Size: 513 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 112 KiB |
Binary file not shown.
Binary file not shown.
@@ -17,6 +17,7 @@
|
||||
#include "_maps\_basemap.dm"
|
||||
#include "code\_compile_options.dm"
|
||||
#include "code\world.dm"
|
||||
#include "code\__DEFINES\_extools.dm"
|
||||
#include "code\__DEFINES\_globals.dm"
|
||||
#include "code\__DEFINES\_protect.dm"
|
||||
#include "code\__DEFINES\_tick.dm"
|
||||
@@ -147,6 +148,7 @@
|
||||
#include "code\__DEFINES\storage\_storage.dm"
|
||||
#include "code\__DEFINES\storage\volumetrics.dm"
|
||||
#include "code\__HELPERS\_cit_helpers.dm"
|
||||
#include "code\__HELPERS\_extools_api.dm"
|
||||
#include "code\__HELPERS\_lists.dm"
|
||||
#include "code\__HELPERS\_logging.dm"
|
||||
#include "code\__HELPERS\_string_lists.dm"
|
||||
|
||||
Reference in New Issue
Block a user