Merge remote-tracking branch 'upstream/master'

This commit is contained in:
AzuleUtama
2019-06-29 15:10:27 +01:00
41 changed files with 203 additions and 50 deletions
+4 -5
View File
@@ -42,11 +42,6 @@ SUBSYSTEM_DEF(ticker)
'sound/music/title1.ogg',\
'sound/music/title2.ogg',\
'sound/music/title3.ogg',)
// Setup codephrase
if(!GLOB.syndicate_code_phrase)
GLOB.syndicate_code_phrase = generate_code_phrase()
if(!GLOB.syndicate_code_response)
GLOB.syndicate_code_response = generate_code_phrase()
// Map name
if(using_map && using_map.name)
@@ -197,6 +192,10 @@ SUBSYSTEM_DEF(ticker)
//shuttle_controller.setup_shuttle_docks()
spawn(0)//Forking here so we dont have to wait for this to finish
if(!GLOB.syndicate_code_phrase)
GLOB.syndicate_code_phrase = generate_code_phrase()
if(!GLOB.syndicate_code_response)
GLOB.syndicate_code_response = generate_code_phrase()
mode.post_setup()
//Cleanup some stuff
for(var/obj/effect/landmark/start/S in GLOB.landmarks_list)
+1 -1
View File
@@ -1366,7 +1366,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
name = "Shaft Miner Starter Kit"
cost = 30
access = access_qm
contains = list(/obj/item/storage/backpack/duffel/mining_conscript)
contains = list(/obj/item/storage/backpack/duffel/mining_conscript/noid)
containertype = /obj/structure/closet/crate/secure
containername = "shaft miner starter kit"
+4 -1
View File
@@ -36,7 +36,7 @@
var/reflect_chance = 80 //80% chance to reflect
/obj/structure/blob/shield/reflective/handle_ricochet(obj/item/projectile/P)
if(P.is_reflectable && prob(reflect_chance))
if(P.is_reflectable && prob(reflect_chance) && !P.legacy)
var/P_turf = get_turf(P)
var/face_direction = get_dir(src, P_turf)
var/face_angle = dir2angle(face_direction)
@@ -48,6 +48,9 @@
P.firer = src //so people who fired the lasers are not immune to them when it reflects
visible_message("<span class='warning'>[P] reflects off [src]!</span>")
return -1// complete projectile permutation
else if(P.is_reflectable && P.legacy) //to stop legacy projectile exploits
visible_message("<span class='warning'>[P] disperses into energy from [src]!</span>")
qdel(P)
else
playsound(src, P.hitsound, 50, 1)
visible_message("<span class='danger'>[src] is hit by \a [P]!</span>")
+4 -1
View File
@@ -165,7 +165,10 @@
var/targetitem = input("Select item to search for.", "Item Mode Select","") as null|anything in item_names
if(!targetitem)
return
target = locate(item_paths[targetitem])
var/list/obj/item/target_candidates = get_all_of_type(item_paths[targetitem], subtypes = TRUE)
for(var/obj/item/candidate in target_candidates)
if(!is_admin_level(candidate.loc.z))
target = candidate
if(!target)
to_chat(usr, "<span class='warning'>Failed to locate [targetitem]!</span>")
return
+8 -5
View File
@@ -344,11 +344,14 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
var/theft_area
/datum/objective/steal/proc/get_location()
if(steal_target.location_override)
return steal_target.location_override
var/obj/item/T = locate(steal_target.typepath)
theft_area = get_area(T.loc)
return "[theft_area]"
if(steal_target.location_override)
return steal_target.location_override
var/list/obj/item/steal_candidates = get_all_of_type(steal_target.typepath, subtypes = TRUE)
for(var/obj/item/candidate in steal_candidates)
if(!is_admin_level(candidate.loc.z))
theft_area = get_area(candidate.loc)
return "[theft_area]"
return "an unknown area"
/datum/objective/steal/find_target()
var/loop=50
+10 -4
View File
@@ -1,7 +1,7 @@
/obj/machinery/ai_slipper
name = "\improper AI liquid dispenser"
icon = 'icons/obj/device.dmi'
icon_state = "motion3"
icon_state = "liquid_dispenser"
layer = 3
plane = FLOOR_PLANE
anchored = 1.0
@@ -17,14 +17,14 @@
/obj/machinery/ai_slipper/power_change()
if(stat & BROKEN)
return
update_icon()
else
if( powered() )
stat &= ~NOPOWER
else
icon_state = "motion0"
stat |= NOPOWER
disabled = TRUE
update_icon()
/obj/machinery/ai_slipper/proc/setState(var/enabled, var/uses)
disabled = disabled
@@ -56,7 +56,7 @@
if(stat & (NOPOWER|BROKEN))
return
disabled = !disabled
icon_state = disabled? "motion0":"motion3"
update_icon()
/obj/machinery/ai_slipper/proc/Activate()
if(stat & (NOPOWER|BROKEN))
@@ -70,6 +70,12 @@
cooldown_time = world.timeofday + 100
slip_process()
/obj/machinery/ai_slipper/update_icon()
if(stat & (NOPOWER|BROKEN) || disabled)
icon_state = "liquid_dispenser"
else
icon_state = "liquid_dispenser_on"
/obj/machinery/ai_slipper/attack_ai(mob/user)
return attack_hand(user)
+4 -6
View File
@@ -134,8 +134,6 @@
if(operating)
return
add_fingerprint(user)
if(!requiresID())
user = null
if(density && !emagged)
if(allowed(user))
@@ -157,7 +155,7 @@
return try_to_activate_door(user)
/obj/machinery/door/attack_tk(mob/user)
if(requiresID() && !allowed(null))
if(!allowed(null))
return
..()
@@ -165,9 +163,7 @@
add_fingerprint(user)
if(operating || emagged)
return
if(!requiresID())
user = null //so allowed(user) always succeeds
if(allowed(user) || user.can_advanced_admin_interact())
if(requiresID() && (allowed(user) || user.can_advanced_admin_interact()))
if(density)
open()
else
@@ -179,6 +175,8 @@
/obj/machinery/door/allowed(mob/M)
if(emergency)
return TRUE
if(!requiresID())
return FALSE // Intentional. machinery/door/requiresID() always == 1. airlocks, however, == 0 if ID scan is disabled. Yes, this var is poorly named.
return ..()
/obj/machinery/door/proc/try_to_weld(obj/item/weldingtool/W, mob/user)
+2 -1
View File
@@ -1292,7 +1292,8 @@
/obj/item/clothing/head/cueball = 1,/obj/item/clothing/under/scratch = 1,
/obj/item/clothing/under/victdress = 1, /obj/item/clothing/under/victdress/red = 1, /obj/item/clothing/suit/victcoat = 1, /obj/item/clothing/suit/victcoat/red = 1,
/obj/item/clothing/under/victsuit = 1, /obj/item/clothing/under/victsuit/redblk = 1, /obj/item/clothing/under/victsuit/red = 1, /obj/item/clothing/suit/tailcoat = 1,
/obj/item/clothing/suit/draculacoat = 1, /obj/item/clothing/head/zepelli = 1)
/obj/item/clothing/suit/draculacoat = 1, /obj/item/clothing/head/zepelli = 1,
/obj/item/clothing/under/redhawaiianshirt = 1, /obj/item/clothing/under/pinkhawaiianshirt = 1, /obj/item/clothing/under/bluehawaiianshirt = 1, /obj/item/clothing/under/orangehawaiianshirt = 1)
contraband = list(/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/gun/magic/wand = 1, /obj/item/clothing/mask/balaclava=1, /obj/item/clothing/mask/horsehead = 2)
premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/shield/riot/roman = 1)
refill_canister = /obj/item/vending_refill/autodrobe
+1
View File
@@ -33,6 +33,7 @@
"Phazon",
"Exosuit Equipment",
"Cyborg Upgrade Modules",
"Medical",
"Misc"
)
@@ -357,6 +357,21 @@
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
new /obj/item/ammo_box/magazine/m12g/dragon(src)
/obj/item/storage/backpack/duffel/mining_conscript/noid
name = "mining conscription kit"
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
/obj/item/storage/backpack/duffel/mining_conscript/noid/New()
..()
new /obj/item/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
new /obj/item/storage/bag/ore(src)
new /obj/item/clothing/under/rank/miner/lavaland(src)
new /obj/item/encryptionkey/headset_cargo(src)
new /obj/item/clothing/mask/gas(src)
/obj/item/storage/backpack/duffel/syndie/ammo/smg
desc = "A large duffel bag, packed to the brim with C-20r magazines."
+8
View File
@@ -169,6 +169,14 @@
message_admins("Ban process: A mob matching [playermob.ckey] was found at location [playermob.x], [playermob.y], [playermob.z]. Custom IP and computer id fields replaced with the IP and computer id from the located mob")
DB_ban_record(bantype, playermob, banduration, banreason, banjob, null, banckey, banip, bancid )
if(BANTYPE_PERMA)
add_note(banckey, "Permanently Banned - [banreason]", null, usr.ckey, 0)
else if(BANTYPE_TEMP)
add_note(banckey, "Banned for [banduration] minutes - [banreason]", null, usr.ckey, 0)
else if(BANTYPE_JOB_PERMA)
add_note(banckey, "Banned from [banjob] - [banreason]", null, usr.ckey, 0)
else
add_note(banckey, "[banreason]", null, usr.ckey, 0)
else if(href_list["editrights"])
@@ -857,3 +857,36 @@
icon_state = "burial"
item_state = "burial"
item_color = "burial"
/obj/item/clothing/under/redhawaiianshirt
name = "red hawaiian shirt"
desc = "a floral shirt worn to most vacation destinations."
icon_state = "hawaiianred"
item_state = "hawaiianred"
item_color = "hawaiianred"
flags_size = ONESIZEFITSALL
/obj/item/clothing/under/pinkhawaiianshirt
name = "pink hawaiian shirt"
desc = "a pink floral shirt the material feels cool and comfy."
icon_state = "hawaiianpink"
item_state = "hawaiianpink"
item_color = "hawaiianpink"
flags_size = ONESIZEFITSALL
/obj/item/clothing/under/orangehawaiianshirt
name = "orange hawaiian shirt"
desc = "a orange floral shirt for a relaxing day in space."
icon_state = "hawaiianorange"
item_state = "hawaiianorange"
item_color = "hawaiianorange"
flags_size = ONESIZEFITSALL
/obj/item/clothing/under/bluehawaiianshirt
name = "blue hawaiian shirt"
desc = "a blue floral shirt it has a oddly colored pink flower on it."
icon_state = "hawaiianblue"
item_state = "hawaiianblue"
item_color = "hawaiianblue"
flags_size = ONESIZEFITSALL
+1
View File
@@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(boo_phrases, list(
ghost = TRUE
action_icon_state = "boo"
school = "transmutation"
charge_max = 600
starts_charged = FALSE
@@ -106,6 +106,12 @@
else //Everyone else fails, skip the emote attempt
return
if("warble", "warbles")
if(isskrell(src)) //Only Skrell can warble.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
if("scream", "screams")
on_CD = handle_emote_CD(50) //longer cooldown
if("fart", "farts", "flip", "flips", "snap", "snaps")
@@ -221,6 +227,13 @@
playsound(loc, 'sound/effects/voxrustle.ogg', 50, 0) //Credit to sound-ideas (freesfx.co.uk) for the sound.
m_type = 2
if("warble", "warbles")
var/M = handle_emote_param(param)
message = "<B>[src]</B> warbles[M ? " at [M]" : ""]."
playsound(loc, 'sound/effects/warble.ogg', 50, 0) // Copyright CC BY 3.0 alienistcog (freesound.org) for the sound.
m_type = 2
if("yes")
var/M = handle_emote_param(param)
@@ -904,6 +917,8 @@
emotelist += "\nVox specific emotes :- quill(s)"
if("Diona")
emotelist += "\nDiona specific emotes :- creak(s)"
if("Skrell")
emotelist += "\nSkrell specific emotes :- warble(s)"
if(ismachine(src))
emotelist += "\nMachine specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob, buzz2-(none)/mob"
@@ -202,7 +202,7 @@ var/global/list/ts_spiderling_list = list()
var/obj/machinery/door/airlock/A = target
if(A.density)
try_open_airlock(A)
else if(isliving(target))
else if(isliving(target) && (!client || a_intent == INTENT_HARM))
var/mob/living/G = target
if(issilicon(G))
G.attack_animal(src)
+3 -6
View File
@@ -692,11 +692,9 @@
// pipe is deleted
// ensure if holder is present, it is expelled
/obj/structure/disposalpipe/Destroy()
var/obj/structure/disposalholder/H = locate() in src
if(H)
// holder was present
for(var/obj/structure/disposalholder/H in contents)
H.active = 0
var/turf/T = src.loc
var/turf/T = loc
if(T.density)
// deleting pipe is inside a dense turf (wall)
// this is unlikely, but just dump out everything into the turf in case
@@ -709,8 +707,7 @@
return
// otherwise, do normal expel from turf
if(H)
expel(H, T, 0)
expel(H, T, 0)
return ..()
/obj/structure/disposalpipe/singularity_pull(S, current_size)
@@ -125,6 +125,7 @@
name = "Portable Seed Extractor"
desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant."
build_type = PROTOLATHE
id = "portaseeder"
req_tech = list("biotech" = 3, "engineering" = 2)
materials = list(MAT_METAL = 1000, MAT_GLASS = 400)
build_path = /obj/item/storage/bag/plants/portaseeder
@@ -101,7 +101,7 @@
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
construction_time = 75
build_path = /obj/item/mmi
category = list("Misc","Medical")
category = list("Medical")
/datum/design/robotic_brain
name = "Robotic Brain"
@@ -112,7 +112,7 @@
materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG.
construction_time = 75
build_path = /obj/item/mmi/robotic_brain
category = list("Misc","Medical")
category = list("Medical")
/datum/design/mmi_radio_upgrade
name = "Man-Machine Interface Radio Upgrade"
@@ -123,7 +123,7 @@
materials = list(MAT_METAL = 200)
construction_time = 50
build_path = /obj/item/mmi_radio_upgrade
category = list("Misc","Medical")
category = list("Medical")
/datum/design/nanopaste
name = "Nanopaste"
@@ -288,7 +288,7 @@
construction_time = 40
materials = list(MAT_METAL = 600, MAT_GLASS = 400)
build_path = /obj/item/organ/internal/cyberimp/eyes/shield
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_breather
name = "Breathing Tube Implant"
@@ -299,7 +299,7 @@
construction_time = 35
materials = list(MAT_METAL = 600, MAT_GLASS = 250)
build_path = /obj/item/organ/internal/cyberimp/mouth/breathing_tube
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_surgical
name = "Surgical Arm Implant"
@@ -310,7 +310,7 @@
materials = list(MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
construction_time = 200
build_path = /obj/item/organ/internal/cyberimp/arm/surgery
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_toolset
name = "Toolset Arm Implant"
@@ -321,7 +321,7 @@
materials = list(MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
construction_time = 200
build_path = /obj/item/organ/internal/cyberimp/arm/toolset
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_diagnostic_hud
name = "Diagnostic HUD implant"
@@ -332,7 +332,7 @@
construction_time = 50
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
build_path = /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_medical_hud
name = "Medical HUD implant"
@@ -343,7 +343,7 @@
construction_time = 50
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
build_path = /obj/item/organ/internal/cyberimp/eyes/hud/medical
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_security_hud
name = "Security HUD implant"
@@ -354,7 +354,7 @@
construction_time = 50
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750)
build_path = /obj/item/organ/internal/cyberimp/eyes/hud/security
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_meson
name = "Meson scanner implant"
@@ -365,7 +365,7 @@
construction_time = 50
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500, MAT_GOLD = 300)
build_path = /obj/item/organ/internal/cyberimp/eyes/meson
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_xray
name = "X-Ray implant"
@@ -376,7 +376,7 @@
construction_time = 60
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 1000, MAT_BLUESPACE = 1000)
build_path = /obj/item/organ/internal/cyberimp/eyes/xray
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_thermals
name = "Thermals implant"
@@ -387,7 +387,7 @@
construction_time = 60
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/internal/cyberimp/eyes/thermals
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_antidrop
name = "Anti-Drop implant"
@@ -398,7 +398,7 @@
construction_time = 60
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400)
build_path = /obj/item/organ/internal/cyberimp/brain/anti_drop
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_antistun
name = "CNS Rebooter implant"
@@ -409,7 +409,7 @@
construction_time = 60
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
build_path = /obj/item/organ/internal/cyberimp/brain/anti_stun
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_clownvoice
name = "Comical implant"
@@ -420,7 +420,7 @@
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_BANANIUM = 200)
build_path = /obj/item/organ/internal/cyberimp/brain/clown_voice
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_nutriment
name = "Nutriment pump implant"
@@ -431,7 +431,7 @@
construction_time = 40
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500)
build_path = /obj/item/organ/internal/cyberimp/chest/nutriment
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_nutriment_plus
name = "Nutriment pump implant PLUS"
@@ -442,7 +442,7 @@
construction_time = 50
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750)
build_path = /obj/item/organ/internal/cyberimp/chest/nutriment/plus
category = list("Misc", "Medical")
category = list("Medical")
/datum/design/cyberimp_reviver
name = "Reviver implant"
@@ -453,7 +453,7 @@
construction_time = 60
materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 300, MAT_URANIUM = 500)
build_path = /obj/item/organ/internal/cyberimp/chest/reviver
category = list("Misc", "Medical")
category = list("Medical")
/////////////////////////////////////////
////////////Regular Implants/////////////
@@ -508,6 +508,7 @@
req_tech = list("biotech" = 4, "materials" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
construction_time = 60
build_path = /obj/item/organ/internal/eyes/cybernetic
category = list("Medical")
@@ -518,6 +519,7 @@
req_tech = list("biotech" = 4, "materials" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
construction_time = 60
build_path = /obj/item/organ/internal/liver/cybernetic
category = list("Medical")
@@ -528,6 +530,7 @@
req_tech = list("biotech" = 4, "materials" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
construction_time = 60
build_path = /obj/item/organ/internal/kidneys/cybernetic
category = list("Medical")
@@ -538,6 +541,7 @@
req_tech = list("biotech" = 4, "materials" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
construction_time = 60
build_path = /obj/item/organ/internal/heart/cybernetic
category = list("Medical")
@@ -548,6 +552,7 @@
req_tech = list("biotech" = 5, "materials" = 5, "engineering" = 5)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
construction_time = 60
build_path = /obj/item/organ/internal/heart/cybernetic/upgraded
category = list("Medical")
@@ -558,6 +563,7 @@
req_tech = list("biotech" = 4, "materials" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
construction_time = 60
build_path = /obj/item/organ/internal/lungs/cybernetic
category = list("Medical")
@@ -568,5 +574,6 @@
req_tech = list("biotech" = 5, "materials" = 5, "engineering" = 5)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 500)
construction_time = 60
build_path = /obj/item/organ/internal/lungs/cybernetic/upgraded
category = list("Medical")
@@ -0,0 +1,5 @@
author: "craftxbox"
delete-after: True
changes:
- tweak: "Highlight string uses regex"
- rscdel: "Removed jquery mark"
@@ -0,0 +1,4 @@
author: "Kyep"
delete-after: True
changes:
- bugfix: "Disarming/grabbing a door with IDSCAN disabled no longer results in a can_admin_interact runtime error."
@@ -0,0 +1,4 @@
author: "Couls"
delete-after: True
changes:
- rscadd: "Medical category to exosuit fabricator with implants and cybernetics"
@@ -0,0 +1,5 @@
author: "uc_guy"
delete-after: True
changes:
- bugfix: "Theft objective locations hints now ignore the Centcomm Z level."
- bugfix: "Adv. Pinpointer no longer targets items in Centcom Z level."
@@ -0,0 +1,4 @@
author: "iantine"
delete-after: True
changes:
- rscadd: "Skrell *warble emote"
@@ -0,0 +1,4 @@
author: "Citinited"
delete-after: True
changes:
- bugfix: "Destroying a disposals trunk should no longer occasionally delete things held inside it."
@@ -0,0 +1,4 @@
author: "Arkatos"
delete-after: True
changes:
- imageadd: "Added new Boo! spell icon"
@@ -0,0 +1,4 @@
author: "Couls"
delete-after: True
changes:
- bugfix: "codephrase names no longer appear blank"
@@ -0,0 +1,4 @@
author: "Improvedname"
delete-after: True
changes:
- tweak: "Cargo miner starter kit crate will no longer include a ID"
@@ -0,0 +1,4 @@
author: "Kyep"
delete-after: True
changes:
- bugfix: "Terror Spiders no longer trigger their special attack when nuzzling someone on help intent."
@@ -0,0 +1,4 @@
author: "Citinited"
delete-after: True
changes:
- imageadd: "Ports liquid dispenser sprites from tgstation."
@@ -0,0 +1,4 @@
author: "Ty-Omaha"
delete-after: True
changes:
- bugfix: "Manual bans now auto-note"
@@ -0,0 +1,4 @@
author: "Evankhell561"
delete-after: True
changes:
- bugfix: "Portable Seed Extractor designon the protolathe."
@@ -0,0 +1,4 @@
author: "Ty-Omaha"
delete-after: True
changes:
- bugfix: "Stops projectiles using the legacy system such as emitters from hurting shield blobs due to an exploit where it would always hit or go through."
@@ -0,0 +1,4 @@
author: "farie82"
delete-after: True
changes:
- rscdel: "Reverts the string highlighting done by regex"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 KiB

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.