Merge branch 'master' into virus_logging
@@ -24,3 +24,4 @@
|
||||
#define LANGUAGE_STONER "stoner"
|
||||
#define LANGUAGE_VASSAL "vassal"
|
||||
#define LANGUAGE_VOICECHANGE "voicechange"
|
||||
#define LANGUAGE_MULTILINGUAL "multilingual"
|
||||
|
||||
@@ -231,10 +231,10 @@
|
||||
src_object = window.locked_by.src_object
|
||||
// Insert src_object info
|
||||
if(src_object)
|
||||
entry += "\nUsing: [src_object.type] [REF(src_object)]"
|
||||
entry += "Using: [src_object.type] [REF(src_object)]"
|
||||
// Insert message
|
||||
if(message)
|
||||
entry += "\n[message]"
|
||||
entry += "[message]"
|
||||
WRITE_LOG(GLOB.tgui_log, entry)
|
||||
|
||||
/* Close open log handles. This should be called as late as possible, and no logging should hapen after. */
|
||||
|
||||
@@ -64,3 +64,7 @@
|
||||
/datum/config_entry/flag/log_pictures
|
||||
|
||||
/datum/config_entry/flag/picture_logging_camera
|
||||
|
||||
/// forces log_href for tgui
|
||||
/datum/config_entry/flag/emergency_tgui_logging
|
||||
config_entry_value = FALSE
|
||||
|
||||
@@ -228,10 +228,10 @@
|
||||
gain_text = "You've learned an extra language!"
|
||||
lose_text = "You've forgotten your extra language."
|
||||
|
||||
/datum/quirk/multilingual/add()
|
||||
/datum/quirk/multilingual/post_add()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.grant_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MIND)
|
||||
H.grant_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MULTILINGUAL)
|
||||
|
||||
/datum/quirk/multilingual/remove()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
H.remove_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MIND)
|
||||
H.remove_language(H.client.prefs.language, TRUE, TRUE, LANGUAGE_MULTILINGUAL)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
descname = "Powers Nearby Structures"
|
||||
name = "Sigil of Transmission"
|
||||
desc = "Places a sigil that can drain and will store energy to power clockwork structures."
|
||||
invocations = list("Divinity...", "...power our creations!")
|
||||
invocations = list("Divinity...", "...power our creations.")
|
||||
channel_time = 70
|
||||
power_cost = 200
|
||||
whispered = TRUE
|
||||
@@ -28,7 +28,7 @@
|
||||
descname = "Powered Structure, Delay Emergency Shuttles"
|
||||
name = "Prolonging Prism"
|
||||
desc = "Creates a mechanized prism which will delay the arrival of an emergency shuttle by 2 minutes at a massive power cost."
|
||||
invocations = list("May this prism...", "...grant us time to enact his will!")
|
||||
invocations = list("May this prism...", "...grant us time to enact his will.")
|
||||
channel_time = 80
|
||||
power_cost = 300
|
||||
object_path = /obj/structure/destructible/clockwork/powered/prolonging_prism
|
||||
@@ -60,7 +60,7 @@
|
||||
descname = "Powered Structure, Area Denial"
|
||||
name = "Mania Motor"
|
||||
desc = "Creates a mania motor which causes minor damage and a variety of negative mental effects in nearby non-Servant humans, potentially up to and including conversion."
|
||||
invocations = list("May this transmitter...", "...break the will of all who oppose us!")
|
||||
invocations = list("May this transmitter...", "...break the will of all who oppose us.")
|
||||
channel_time = 80
|
||||
power_cost = 750
|
||||
object_path = /obj/structure/destructible/clockwork/powered/mania_motor
|
||||
@@ -83,7 +83,7 @@
|
||||
descname = "Powered Structure, Teleportation Hub"
|
||||
name = "Clockwork Obelisk"
|
||||
desc = "Creates a clockwork obelisk that can broadcast messages over the Hierophant Network or open a Spatial Gateway to any living Servant or clockwork obelisk."
|
||||
invocations = list("May this obelisk...", "...take us to all places!")
|
||||
invocations = list("May this obelisk...", "...take us to all places.")
|
||||
channel_time = 80
|
||||
power_cost = 300
|
||||
object_path = /obj/structure/destructible/clockwork/powered/clockwork_obelisk
|
||||
@@ -163,7 +163,7 @@
|
||||
descname = "Well-Rounded Combat Construct"
|
||||
name = "Clockwork Marauder"
|
||||
desc = "Creates a shell for a clockwork marauder, a balanced frontline construct that can deflect projectiles with its shield."
|
||||
invocations = list("Arise, avatar of Arbiter!", "Defend the Ark with vengeful zeal.")
|
||||
invocations = list("Arise, avatar of Arbiter!", "Defend the Ark with vengeful zeal!")
|
||||
channel_time = 80
|
||||
power_cost = 8000
|
||||
creator_message = "<span class='brass'>Your slab disgorges several chunks of replicant alloy that form into a suit of thrumming armor.</span>"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
descname = "Generates Power From Starlight"
|
||||
name = "Stargazer"
|
||||
desc = "Forms a weak structure that generates power every second while within three tiles of starlight."
|
||||
invocations = list("Capture their inferior light for us!")
|
||||
invocations = list("Capture their inferior light for us.")
|
||||
channel_time = 50
|
||||
power_cost = 200
|
||||
object_path = /obj/structure/destructible/clockwork/stargazer
|
||||
@@ -16,6 +16,7 @@
|
||||
usage_tip = "For obvious reasons, make sure to place this near a window or somewhere else that can see space!"
|
||||
tier = SCRIPTURE_DRIVER
|
||||
one_per_tile = TRUE
|
||||
whispered = TRUE
|
||||
primary_component = HIEROPHANT_ANSIBLE
|
||||
sort_priority = 1
|
||||
quickbind = TRUE
|
||||
@@ -34,7 +35,7 @@
|
||||
descname = "Power Generation"
|
||||
name = "Integration Cog"
|
||||
desc = "Fabricates an integration cog, which can be used on an open APC to replace its innards and passively siphon its power."
|
||||
invocations = list("Take that which sustains them!")
|
||||
invocations = list("Take that which sustains them.")
|
||||
channel_time = 10
|
||||
power_cost = 10
|
||||
whispered = TRUE
|
||||
@@ -55,7 +56,7 @@
|
||||
descname = "Trap, Stunning"
|
||||
name = "Sigil of Transgression"
|
||||
desc = "Wards a tile with a sigil, which will briefly stun the next non-Servant to cross it and apply Belligerent to them."
|
||||
invocations = list("Divinity, smite...", "...those who trespass here!")
|
||||
invocations = list("Divinity, smite...", "...those who trespass here.")
|
||||
channel_time = 50
|
||||
power_cost = 50
|
||||
whispered = TRUE
|
||||
@@ -75,7 +76,7 @@
|
||||
descname = "Trap, Conversion"
|
||||
name = "Sigil of Submission"
|
||||
desc = "Places a luminous sigil that will convert any non-Servants that remain on it for 8 seconds."
|
||||
invocations = list("Divinity, enlighten...", "...those who trespass here!")
|
||||
invocations = list("Divinity, enlighten...", "...those who trespass here.")
|
||||
channel_time = 60
|
||||
power_cost = 125
|
||||
whispered = TRUE
|
||||
@@ -95,7 +96,7 @@
|
||||
descname = "Short-Range Single-Target Stun"
|
||||
name = "Kindle"
|
||||
desc = "Charges your slab with divine energy, allowing you to overwhelm a target with Ratvar's light."
|
||||
invocations = list("Divinity, show them your light!")
|
||||
invocations = list("Divinity, show them your light.")
|
||||
whispered = TRUE
|
||||
channel_time = 25 //2.5 seconds should be a okay compromise between being able to use it when needed, and not being able to just pause in combat for a second and hardstunning your enemy
|
||||
power_cost = 125
|
||||
@@ -118,7 +119,7 @@
|
||||
descname = "Handcuffs"
|
||||
name = "Hateful Manacles"
|
||||
desc = "Forms replicant manacles around a target's wrists that function like handcuffs."
|
||||
invocations = list("Shackle the heretic!", "Break them in body and spirit!")
|
||||
invocations = list("Shackle the heretic!", "Break them in body and spirit.")
|
||||
channel_time = 15
|
||||
power_cost = 25
|
||||
whispered = TRUE
|
||||
@@ -269,7 +270,7 @@
|
||||
descname = "New Clockwork Slab"
|
||||
name = "Replicant"
|
||||
desc = "Creates a new clockwork slab."
|
||||
invocations = list("Metal, become greater!")
|
||||
invocations = list("Metal, become greater.")
|
||||
channel_time = 10
|
||||
power_cost = 25
|
||||
whispered = TRUE
|
||||
@@ -290,7 +291,7 @@
|
||||
descname = "Limited Xray Vision Glasses"
|
||||
name = "Wraith Spectacles"
|
||||
desc = "Fabricates a pair of glasses which grant true sight but cause gradual vision loss."
|
||||
invocations = list("Show the truth of this world to me!")
|
||||
invocations = list("Show the truth of this world to me.")
|
||||
channel_time = 10
|
||||
power_cost = 50
|
||||
whispered = TRUE
|
||||
@@ -310,7 +311,7 @@
|
||||
name = "Spatial Gateway"
|
||||
desc = "Tears open a miniaturized gateway in spacetime to any conscious servant that can transport objects or creatures to its destination. \
|
||||
Each servant assisting in the invocation adds one additional use and four additional seconds to the gateway's uses and duration."
|
||||
invocations = list("Spatial Gateway...", "...activate!")
|
||||
invocations = list("Spatial Gateway...", "...activate.")
|
||||
channel_time = 30
|
||||
power_cost = 400
|
||||
whispered = TRUE
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
descname = "Structure, Turret"
|
||||
name = "Ocular Warden"
|
||||
desc = "Forms an automatic short-range turret which will automatically attack nearby unrestrained non-Servants that can see it."
|
||||
invocations = list("Guardians of Engine...", "...judge those who would harm us!")
|
||||
invocations = list("Guardians of Engine...", "...judge those who would harm us.")
|
||||
channel_time = 100
|
||||
power_cost = 250
|
||||
object_path = /obj/structure/destructible/clockwork/ocular_warden
|
||||
@@ -105,7 +105,7 @@
|
||||
descname = "Delayed Area Knockdown Glasses"
|
||||
name = "Judicial Visor"
|
||||
desc = "Creates a visor that can smite an area, applying Belligerent and briefly stunning. The smote area will explode after 3 seconds."
|
||||
invocations = list("Grant me the flames of Engine!")
|
||||
invocations = list("Grant me the flames of Engine.")
|
||||
channel_time = 10
|
||||
power_cost = 400
|
||||
whispered = TRUE
|
||||
@@ -124,7 +124,7 @@
|
||||
descname = "Shield with empowerable bashes"
|
||||
name = "Nezbere's shield"
|
||||
desc = "Creates a shield which generates charge from blocking damage, using it to empower its bashes tremendously. It is repaired with brass, and while very durable, extremely weak to lasers and, even more so, to energy weaponry."
|
||||
invocations = list("Shield me...", "... from the coming dark!")
|
||||
invocations = list("Shield me...", "... from the coming dark.")
|
||||
channel_time = 20
|
||||
power_cost = 600 //Shouldn't be too spammable but not too hard to get either
|
||||
whispered = TRUE
|
||||
@@ -143,7 +143,7 @@
|
||||
descname = "Summonable Armor and Weapons"
|
||||
name = "Clockwork Armaments"
|
||||
desc = "Allows the invoker to summon clockwork armor and a Ratvarian spear at will. The spear's attacks will generate Vitality, used for healing."
|
||||
invocations = list("Grant me armaments...", "...from the forge of Armorer!")
|
||||
invocations = list("Grant me armaments...", "...from the forge of Armorer.")
|
||||
channel_time = 20
|
||||
power_cost = 250
|
||||
whispered = TRUE
|
||||
|
||||
@@ -76,9 +76,15 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
to_chat(src, "<span class='danger'>Your previous action was ignored because you've done too many in a second</span>")
|
||||
return
|
||||
|
||||
//Logs all hrefs, except chat pings
|
||||
if(!(href_list["_src_"] == "chat" && href_list["proc"] == "ping" && LAZYLEN(href_list) == 2))
|
||||
log_href("[src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]")
|
||||
|
||||
// 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
|
||||
|
||||
//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))
|
||||
@@ -105,10 +111,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
handle_statpanel_click(href_list)
|
||||
return
|
||||
|
||||
// Tgui Topic middleware
|
||||
if(tgui_Topic(href_list))
|
||||
return
|
||||
|
||||
// Admin PM
|
||||
if(href_list["priv_msg"])
|
||||
cmd_admin_pm(href_list["priv_msg"],null)
|
||||
|
||||
@@ -220,8 +220,8 @@
|
||||
parry_max_attacks = INFINITY
|
||||
parry_failed_cooldown_duration = 2.25 SECONDS
|
||||
parry_failed_stagger_duration = 2.25 SECONDS
|
||||
parry_cooldown = 0
|
||||
parry_failed_clickcd_duration = 0
|
||||
parry_cooldown = 3 SECONDS
|
||||
parry_failed_clickcd_duration = 0.5 SECONDS
|
||||
|
||||
/obj/item/clothing/gloves/botanic_leather
|
||||
name = "botanist's leather gloves"
|
||||
|
||||
@@ -51,6 +51,17 @@
|
||||
desc = "Very gay shoes."
|
||||
icon_state = "rain_bow"
|
||||
|
||||
/obj/item/clothing/shoes/sneakers/poly/polychromic
|
||||
name = "polychromic shoes"
|
||||
desc = "Every color."
|
||||
icon_state = "poly"
|
||||
item_state = "poly"
|
||||
var/list/poly_colors = list("#FFFFFF", "#1D1D1D")
|
||||
|
||||
/obj/item/clothing/shoes/sneakers/poly/polychromic/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, poly_colors, 2)
|
||||
|
||||
/obj/item/clothing/shoes/sneakers/orange
|
||||
name = "orange shoes"
|
||||
icon_state = "orange"
|
||||
|
||||
@@ -102,7 +102,18 @@
|
||||
/obj/item/clothing/neck/cloak/polychromic/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, poly_colors, 3)
|
||||
|
||||
|
||||
/obj/item/clothing/neck/cancloak/polychromic
|
||||
name = "canvas cloak"
|
||||
desc = "A rugged cloak made of canvas."
|
||||
icon_state = "cancloak"
|
||||
item_state = "cancloak"
|
||||
var/list/poly_colors = list("#585858", "#373737", "#BEBEBE")
|
||||
|
||||
/obj/item/clothing/neck/cancloak/polychromic/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, poly_colors, 3)
|
||||
|
||||
/obj/item/clothing/neck/cloak/alt
|
||||
name = "cloak"
|
||||
desc = "A ragged up white cloak. It reminds you of a place not far from here."
|
||||
|
||||
@@ -1030,6 +1030,16 @@
|
||||
alternate_worn_layer = UNDER_HEAD_LAYER
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
|
||||
|
||||
/obj/item/clothing/suit/toggle/wbreakpoly
|
||||
name = "polychromic windbreaker"
|
||||
desc = "Perfect for windy days."
|
||||
icon_state = "wbreakpoly"
|
||||
item_state = "wbreakpoly"
|
||||
|
||||
/obj/item/clothing/suit/toggle/wbreakpoly/polychromic/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/polychromic, list("#464F65", "#916035", "#474747"), 3)
|
||||
|
||||
/obj/item/clothing/suit/flakjack
|
||||
name = "flak jacket"
|
||||
desc = "A dilapidated jacket made of a supposedly bullet-proof material (Hint: It isn't.). Smells faintly of napalm."
|
||||
|
||||
@@ -95,9 +95,10 @@
|
||||
parry_efficiency_considered_successful = 0.01
|
||||
parry_efficiency_to_counterattack = 0.01
|
||||
parry_max_attacks = 3
|
||||
parry_cooldown = 30
|
||||
parry_failed_stagger_duration = 0
|
||||
parry_failed_clickcd_duration = 0.4
|
||||
parry_cooldown = 3 SECONDS
|
||||
parry_failed_cooldown_duration = 1.5 SECONDS
|
||||
parry_failed_stagger_duration = 1 SECONDS
|
||||
parry_failed_clickcd_duration = 0.4 SECONDS
|
||||
|
||||
parry_data = list( // yeah it's snowflake
|
||||
"UNARMED_PARRY_STAGGER" = 3 SECONDS,
|
||||
@@ -135,16 +136,16 @@
|
||||
parry_imperfect_falloff_percent = 20
|
||||
parry_efficiency_perfect = 100
|
||||
parry_efficiency_perfect_override = list(
|
||||
ATTACK_TYPE_PROJECTILE_TEXT = 60,
|
||||
TEXT_ATTACK_TYPE_PROJECTILE = 60,
|
||||
)
|
||||
|
||||
parry_efficiency_considered_successful = 0.01
|
||||
parry_efficiency_to_counterattack = 0.01
|
||||
parry_max_attacks = INFINITY
|
||||
parry_failed_cooldown_duration = 1.5 SECONDS
|
||||
parry_failed_stagger_duration = 0
|
||||
parry_cooldown = 0
|
||||
parry_failed_clickcd_duration = 0.8
|
||||
parry_failed_cooldown_duration = 3 SECONDS
|
||||
parry_failed_stagger_duration = 2 SECONDS
|
||||
parry_cooldown = 3 SECONDS
|
||||
parry_failed_clickcd_duration = 0.8 SECONDS
|
||||
|
||||
parry_data = list( // yeah it's snowflake
|
||||
"UNARMED_PARRY_STAGGER" = 3 SECONDS,
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
/obj/item/clothing/suit/jacket/puffer/vest = 4,
|
||||
/obj/item/clothing/suit/jacket/puffer = 4,
|
||||
/obj/item/clothing/suit/hooded/cloak/david = 4,
|
||||
/obj/item/clothing/neck/cancloak = 4,
|
||||
/obj/item/clothing/suit/bomber = 5,
|
||||
/obj/item/clothing/under/suit/turtle/teal = 3,
|
||||
/obj/item/clothing/under/suit/turtle/grey = 3,
|
||||
@@ -212,7 +213,9 @@
|
||||
/obj/item/clothing/neck/necklace/dope = 5,
|
||||
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5,
|
||||
/obj/item/clothing/under/misc/corporateuniform = 5,
|
||||
/obj/item/clothing/suit/hooded/wintercoat/polychromic = 5)
|
||||
/obj/item/clothing/suit/hooded/wintercoat/polychromic = 5,
|
||||
/obj/item/clothing/suit/toggle/wbreakpoly/polychromic = 5,
|
||||
/obj/item/clothing/shoes/sneakers/poly/polychromic = 10)
|
||||
refill_canister = /obj/item/vending_refill/clothing
|
||||
default_price = PRICE_CHEAP
|
||||
extra_price = PRICE_BELOW_NORMAL
|
||||
|
||||
@@ -50,6 +50,24 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">14 February 2021</h2>
|
||||
<h3 class="author">DeltaFire15 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="admin">The antag panel now correctly shows the names of cultist / clockcult datum subtypes.</li>
|
||||
<li class="bugfix">Adding clock cultists via the admin panel now works correctly.</li>
|
||||
<li class="bugfix">Xeno larvae should now be able to ventcrawl again.</li>
|
||||
</ul>
|
||||
<h3 class="author">Hatterhat updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Repairing sensors on jumpsuits now requires a fully-intact jumpsuit. Find some cloth.</li>
|
||||
<li class="tweak">Durathread armor kits now require you to have a fully-repaired jumpsuit, first, with no attachments.</li>
|
||||
<li class="bugfix">Durathread armor kits now no longer weave the entirety of the jumpsuit armor universe into having armor.</li>
|
||||
</ul>
|
||||
<h3 class="author">TyrianTyrell updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="code_imp">added a define for multilingual granted languages, and changed the multilingual trait to use it.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">13 February 2021</h2>
|
||||
<h3 class="author">Hatterhat updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -108,6 +126,39 @@
|
||||
<li class="tweak">the aesthetic sterile mask no longer hides faces so you can cosplay egirls and keep flavortexts</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">09 February 2021</h2>
|
||||
<h3 class="author">Chiirno updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Charismatic Suit</li>
|
||||
<li class="rscadd">Urban Jacket</li>
|
||||
</ul>
|
||||
<h3 class="author">DeltaFire15 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Added nanogel to the robodrobe.</li>
|
||||
</ul>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Config to keep unreadied players from mode voting</li>
|
||||
</ul>
|
||||
<h3 class="author">dzahlus updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixes grenadelaunch.ogg being used where it shouldn't and makes mech weapons use correct sound</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="balance">10 > 30 second for Warp Implant cooldown</li>
|
||||
<li class="rscdel">Comments out power sink objective.</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="admin">pickpocketing is now logged using log_combat</li>
|
||||
<li class="bugfix">persistent blood should stop being invisible and alt clicking it shouldn't return the entire spritesheet</li>
|
||||
</ul>
|
||||
<h3 class="author">zeroisthebiggay updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">the aesthetic sterile mask no longer hides faces so you can cosplay egirls and keep flavortexts</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">09 February 2021</h2>
|
||||
<h3 class="author">Chiirno updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -126,64 +177,6 @@
|
||||
<li class="balance">sentient viruses can now infect synths and ipcs</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">07 February 2021</h2>
|
||||
<h3 class="author">Thalpy updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="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.</li>
|
||||
<li class="refactor">Dispenser: Allows reagents to be color coded by pH</li>
|
||||
<li class="refactor">Dispenser: Each reagent displays it's pH on hover</li>
|
||||
<li class="refactor">Dispenser: Allows the user to toggle between buttons and a radial dial</li>
|
||||
<li class="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.</li>
|
||||
<li class="tweak">Adds a round function to some numbers so they're not huge</li>
|
||||
<li class="tweak">The Chem master can now get purity for all reagents when analysed</li>
|
||||
<li class="bugfix">Synthissue fixes</li>
|
||||
<li class="tweak">buffers now have a strong and weak variant. Weak can be dispensed, and strong can be created. Strong buffers are 6x more effective.</li>
|
||||
<li class="bugfix">Some buffer pH edge calculation fixes</li>
|
||||
</ul>
|
||||
<h3 class="author">TyrianTyrell updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="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.</li>
|
||||
<li class="imageadd">hopefully added an icon for the signed language.</li>
|
||||
<li class="code_imp">changed how some traits function slightly.</li>
|
||||
</ul>
|
||||
<h3 class="author">dzahlus updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">tweaked a few sounds</li>
|
||||
<li class="soundadd">added a new weapon sounds</li>
|
||||
<li class="sounddel">removed old weapon sounds</li>
|
||||
<li class="code_imp">changed some sound related code</li>
|
||||
</ul>
|
||||
<h3 class="author">silicons updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">syndicate ablative armwraps have been added.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">05 February 2021</h2>
|
||||
<h3 class="author">SmArtKar updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="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.</li>
|
||||
<li class="bugfix">KAs are no longer getting broken when fired by a circuit</li>
|
||||
</ul>
|
||||
<h3 class="author">keronshb updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="balance">Force and damage > 15 from 18/25</li>
|
||||
<li class="balance">Knockdown put down to 5 from 30</li>
|
||||
<li class="balance">Armor pen down to 10 from 100.</li>
|
||||
<li class="balance">Makes cell chargers, charge faster.</li>
|
||||
</ul>
|
||||
<h3 class="author">raspy-on-osu updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">alien royals can no longer ventcrawl</li>
|
||||
</ul>
|
||||
<h3 class="author">shellspeed1 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="balance">There actually needs to be people for zombies to happen now.</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">dwarf facial hair is no longer randomised</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">03 February 2021</h2>
|
||||
<h3 class="author">Hatterhat updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -28460,3 +28460,19 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
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.
|
||||
|
||||
5
html/changelogs/AutoChangeLog-pr-14192.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
author: "dzahlus"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added new emote"
|
||||
- soundadd: "added a new emote sound"
|
||||
4
html/changelogs/AutoChangeLog-pr-14224.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "Clock cultists now yell alot less when invoking scripture."
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- 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."
|
||||
7
html/changelogs/AutoChangeLog-pr-14227.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
author: "Adelphon"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "polychromatic shoes"
|
||||
- rscadd: "polychromatic windbreaker"
|
||||
- rscadd: "polychromatic canvas cloak"
|
||||
- bugfix: "digitigrade charismatic suit texture"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Xeno larvae should now be able to ventcrawl again."
|
||||
@@ -1,5 +0,0 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- 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."
|
||||
8
html/changelogs/AutoChangeLog-pr-14233.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- 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."
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 460 KiB After Width: | Height: | Size: 462 KiB |
|
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 313 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 167 KiB |
@@ -98,3 +98,9 @@
|
||||
path = /obj/item/clothing/neck/cloak/alt/polychromic
|
||||
loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC
|
||||
loadout_initial_colors = list("#FFFFFF", "#676767", "#4C4C4C")
|
||||
|
||||
/datum/gear/neck/cancloak
|
||||
name = "Canvas Cloak"
|
||||
path = /obj/item/clothing/neck/cancloak/polychromic
|
||||
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
|
||||
loadout_initial_colors = list("#585858", "#373737", "#BEBEBE")
|
||||
|
||||
@@ -34,6 +34,12 @@
|
||||
name = "White shoes"
|
||||
path = /obj/item/clothing/shoes/sneakers/white
|
||||
|
||||
/datum/gear/shoes/poly
|
||||
name = "Polychromic shoes"
|
||||
path = /obj/item/clothing/shoes/sneakers/poly/polychromic
|
||||
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
|
||||
loadout_initial_colors = list("#FFFFFF", "#1D1D1D")
|
||||
|
||||
/datum/gear/shoes/gildedcuffs
|
||||
name = "Gilded leg wraps"
|
||||
path= /obj/item/clothing/shoes/wraps
|
||||
|
||||
@@ -104,6 +104,13 @@
|
||||
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
|
||||
loadout_initial_colors = list("#6A6964", "#C4B8A6", "#0000FF")
|
||||
|
||||
/datum/gear/suit/coat/wbreakpoly
|
||||
name = "Polychromic windbreaker"
|
||||
path = /obj/item/clothing/suit/toggle/wbreakpoly/polychromic
|
||||
cost = 4
|
||||
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
|
||||
loadout_initial_colors = list("#464F65", "#916035", "#474747")
|
||||
|
||||
/datum/gear/suit/coat/med
|
||||
name = "Medical winter coat"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/medical
|
||||
|
||||
@@ -300,3 +300,24 @@
|
||||
user.nextsoundemote = world.time + 7
|
||||
var/sound = pick('sound/voice/slime_squish.ogg')
|
||||
playsound(user, sound, 50, 1, -1)
|
||||
|
||||
/datum/emote/living/pain
|
||||
key = "pain"
|
||||
key_third_person = "cries out in pain!"
|
||||
message = "cries out in pain!"
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
muzzle_ignore = FALSE
|
||||
restraint_check = FALSE
|
||||
|
||||
/datum/emote/living/pain/run_emote(mob/living/user, params)
|
||||
if(!(. = ..()))
|
||||
return
|
||||
if(user.nextsoundemote >= world.time)
|
||||
return
|
||||
user.nextsoundemote = world.time + 7
|
||||
var/sound
|
||||
if(user.gender == MALE)
|
||||
sound = pick('modular_citadel/sound/voice/human_male_pain_1.ogg', 'modular_citadel/sound/voice/human_male_pain_2.ogg', 'modular_citadel/sound/voice/human_male_pain_3.ogg', 'modular_citadel/sound/voice/human_male_pain_rare.ogg')
|
||||
else
|
||||
sound = pick('modular_citadel/sound/voice/human_female_pain_1.ogg', 'modular_citadel/sound/voice/human_female_pain_2.ogg', 'modular_citadel/sound/voice/human_female_pain_3.ogg')
|
||||
playsound(user, sound, 50, 0, 0)
|
||||
|
||||
BIN
modular_citadel/sound/voice/human_female_pain_1.ogg
Normal file
BIN
modular_citadel/sound/voice/human_female_pain_2.ogg
Normal file
BIN
modular_citadel/sound/voice/human_female_pain_3.ogg
Normal file
BIN
modular_citadel/sound/voice/human_male_pain_1.ogg
Normal file
BIN
modular_citadel/sound/voice/human_male_pain_2.ogg
Normal file
BIN
modular_citadel/sound/voice/human_male_pain_3.ogg
Normal file
BIN
modular_citadel/sound/voice/human_male_pain_rare.ogg
Normal file
1
modular_citadel/sound/voice/pain emote credits.txt
Normal file
@@ -0,0 +1 @@
|
||||
pain emote sound ported from https://gitlab.com/cmdevs/colonial-warfare
|
||||