Merge remote-tracking branch 'upstream/master' into Snowdout

This commit is contained in:
AnalWerewolf
2019-08-02 03:44:02 +10:00
32 changed files with 1301 additions and 1132 deletions

View File

@@ -99,6 +99,7 @@
new_character.key = key //now transfer the key to link the client to our new body
/datum/mind/proc/store_memory(new_text)
if((length(memory) + length(new_text)) <= MAX_MESSAGE_LEN)
memory += "[new_text]<BR>"
/datum/mind/proc/show_memory(mob/recipient)

View File

@@ -60,6 +60,14 @@
containername = "Robolimb blueprints (Morpheus)"
access = access_robotics
/datum/supply_pack/robotics/robolimbs/antares
name = "Antares robolimb blueprints"
contains = list(/obj/item/weapon/disk/limb/antares)
cost = 20
containertype = /obj/structure/closet/crate/secure/science
containername = "Robolimb blueprints (Antares)"
access = access_robotics
/datum/supply_pack/robotics/robolimbs/cybersolutions
name = "Cyber Solutions robolimb blueprints"
contains = list(/obj/item/weapon/disk/limb/cybersolutions)

View File

@@ -65,7 +65,8 @@
/obj/item/weapon/disk/limb/dsi_spider,
/obj/item/weapon/disk/limb/dsi_teshari,
/obj/item/weapon/disk/limb/eggnerdltd,
/obj/item/weapon/disk/limb/eggnerdltdred
/obj/item/weapon/disk/limb/eggnerdltdred,
/obj/item/weapon/disk/limb/antares
)
cost = 40
containertype = /obj/structure/closet/crate/secure

View File

@@ -113,6 +113,18 @@
qdel(src)
else
to_chat(user, "<span class='warning'>You need one sheet of metal to arm the robot frame.</span>")
if(istype(W, /obj/item/stack/material) && W.get_material_name() == "plastic" && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head)
var/obj/item/stack/material/M = W
if (M.use(1))
var/obj/item/weapon/secbot_assembly/edCLN_assembly/B = new /obj/item/weapon/secbot_assembly/edCLN_assembly
B.loc = get_turf(src)
to_chat(user, "<span class='notice'>You add a plastic covering to the robot frame.</span>")
if (user.get_inactive_hand()==src)
user.remove_from_mob(src)
user.put_in_inactive_hand(B)
qdel(src)
else
to_chat(user, "<span class='warning'>You need one sheet of plastic to cover the robot frame.</span>")
if(istype(W, /obj/item/robot_parts/l_leg))
if(src.l_leg) return
user.drop_item()

View File

@@ -220,6 +220,7 @@
W.heal_damage(heal_brute)
playsound(src, pick(apply_sounds), 25)
used = 1 //VOREStation Edit
update_icon() // Citadel Change
affecting.update_damages()
if(used == amount)
if(affecting.is_bandaged())
@@ -266,6 +267,7 @@
use(1)
affecting.salve()
playsound(src, pick(apply_sounds), 25)
update_icon() // Citadel Change
/obj/item/stack/medical/splint
name = "medical splints"
@@ -336,3 +338,24 @@
icon_state = "tape-splint"
amount = 1
splintable_organs = list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG)
// Begin Citadel Changes - New advanced kit sprites
/obj/item/stack/medical/advanced/initialize()
. = ..()
update_icon()
/obj/item/stack/medical/advanced/update_icon()
switch(amount)
if(1 to 2)
icon_state = initial(icon_state)
if(3 to 4)
icon_state = "[initial(icon_state)]_4"
if(5 to 6)
icon_state = "[initial(icon_state)]_6"
if(7 to 8)
icon_state = "[initial(icon_state)]_8"
if(9)
icon_state = "[initial(icon_state)]_9"
else
icon_state = "[initial(icon_state)]_10"
// End Citadel Changes

View File

@@ -15,6 +15,24 @@
user.visible_message(span("danger", "\The [user] [T.is] strangling [T.himself] with \the [src]! It looks like [T.he] [T.is] trying to commit suicide."), span("danger", "You start to strangle yourself with \the [src]!"), span("danger", "You hear the sound of someone choking!"))
return (OXYLOSS)
/obj/item/weapon/melee/sabre
name = "officer's sabre"
desc = "An elegant weapon, its monomolecular edge is capable of cutting through flesh and bone with ease."
icon_state = "sabre"
hitsound = 'sound/weapons/rapierhit.ogg'
flags = CONDUCT
force = 35
throwforce = 15
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_COMBAT = 4)
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/melee/sabre/suicide_act(mob/user)
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
visible_message(span("danger", "[user] is slitting [TU.his] stomach open with \the [src.name]! It looks like [TU.hes] trying to commit seppuku."), span("danger", "You slit your stomach open with \the [src.name]!"), span("danger", "You hear the sound of flesh tearing open.")) // gory, but it gets the point across
return(BRUTELOSS)
/obj/item/weapon/melee/umbrella
name = "umbrella"
desc = "To keep the rain off you. Use with caution on windy days."

View File

@@ -433,3 +433,25 @@
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
/obj/item/weapon/storage/belt/sheath
name = "sabre sheath"
desc = "An ornate sheath designed to hold an officer's blade."
icon_state = "sheath-sabre"
storage_slots = 1
can_hold = list(
/obj/item/weapon/melee/sabre,
)
starts_with = list(
/obj/item/weapon/melee/sabre,
)
/obj/item/weapon/storage/belt/sheath/update_icon()
icon_state = "sheath"
item_state = "sheath"
if(contents.len)
icon_state += "-sabre"
item_state += "-sabre"
if(loc && isliving(loc))
var/mob/living/L = loc
L.regenerate_icons()
..()

View File

@@ -172,8 +172,11 @@
max_w_class = ITEMSIZE_TINY
var/label_text = ""
var/labeled = 0 // Citadel Change - Used in labeling
var/base_name = " "
var/base_desc = " "
var/base_icon = "pill_canister" // Citadel Change - Used in recoloring
var/bottle_color = "orange" // Citadel Change - Used in recoloring
/obj/item/weapon/storage/pill_bottle/New()
..()
@@ -193,6 +196,8 @@
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
label_text = tmp_label
update_name_label()
labeled = 1 // Citadel Change - Overlay for labels
update_icon() // Citadel Change - Overlay for labels
else
..()
@@ -208,62 +213,119 @@
name = "[base_name] ([label_text])"
desc = "[base_desc] It is labeled \"[label_text]\"."
/obj/item/weapon/storage/pill_bottle/verb/choose_color() // BEGIN Citadel Changes - Bottle recoloring
set name = "Recolor bottle"
set category = "Object"
set desc = "Click to choose a color for the pill bottle."
var/mob/M = usr
var/list/options = list()
options["red"] = "red"
options["orange"] = "orange"
options["yellow"] = "yellow"
options["green"] = "green"
options["blue"] = "blue"
options["purple"] = "purple"
options["pink"] = "pink"
options["black"] = "black"
options["white"] = "white"
var/choice = input(M,"Choose a color!","Recolor Bottle") in options
if(src && choice && !M.stat && in_range(M,src))
bottle_color = "[choice]"
to_chat(usr,"<span class='notice'>The bottle is now [choice]. How [pick("pretty","professional","informative","creative","appropriate","bold")]!</span>")
update_icon()
return 1
/obj/item/weapon/storage/pill_bottle/update_icon()
..()
if(labeled == 1)
add_overlay(image(icon = 'icons/obj/chemical.dmi', icon_state = "pill_canister_label"))
if(bottle_color == "orange")
icon_state = "[base_icon]"
else
icon_state = "[base_icon]_[bottle_color]"
/obj/item/weapon/storage/pill_bottle/initialize()
. = ..()
update_icon() // END Citadel Changes - Bottle recoloring
/obj/item/weapon/storage/pill_bottle/antitox
name = "bottle of Dylovene pills"
desc = "Contains pills used to counter toxins."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "green" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/antitox = 7)
/obj/item/weapon/storage/pill_bottle/bicaridine
name = "bottle of Bicaridine pills"
desc = "Contains pills used to stabilize the severely injured."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "red" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/bicaridine = 7)
/obj/item/weapon/storage/pill_bottle/dexalin_plus
name = "bottle of Dexalin Plus pills"
desc = "Contains pills used to treat extreme cases of oxygen deprivation."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "blue" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/dexalin_plus = 7)
/obj/item/weapon/storage/pill_bottle/dermaline
name = "bottle of Dermaline pills"
desc = "Contains pills used to treat burn wounds."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/dermaline = 7)
/obj/item/weapon/storage/pill_bottle/dylovene
name = "bottle of Dylovene pills"
desc = "Contains pills used to treat toxic substances in the blood."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "green" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/dylovene = 7)
/obj/item/weapon/storage/pill_bottle/inaprovaline
name = "bottle of Inaprovaline pills"
desc = "Contains pills used to stabilize patients."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "blue" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 7)
/obj/item/weapon/storage/pill_bottle/kelotane
name = "bottle of kelotane pills"
desc = "Contains pills used to treat burns."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/kelotane = 7)
/obj/item/weapon/storage/pill_bottle/spaceacillin
name = "bottle of Spaceacillin pills"
desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "white" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/spaceacillin = 7)
/obj/item/weapon/storage/pill_bottle/tramadol
name = "bottle of Tramadol pills"
desc = "Contains pills used to relieve pain."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "purple" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/tramadol = 7)
/obj/item/weapon/storage/pill_bottle/citalopram
name = "bottle of Citalopram pills"
desc = "Contains pills used to stabilize a patient's mood."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/citalopram = 7)
/obj/item/weapon/storage/pill_bottle/carbon
name = "bottle of Carbon pills"
desc = "Contains pills used to neutralise chemicals in the stomach."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "black" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/carbon = 7)
/obj/item/weapon/storage/pill_bottle/iron
name = "bottle of Iron pills"
desc = "Contains pills used to aid in blood regeneration."
labeled = 1 // Citadel Change - Recoloring - There are a lot of these.
bottle_color = "black" // Citadel Change - Recoloring - There are a lot of these.
starts_with = list(/obj/item/weapon/reagent_containers/pill/iron = 7)

View File

@@ -19,6 +19,7 @@
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/melee/telebaton,
/obj/item/device/flash,
/obj/item/weapon/storage/belt/sheath,
/obj/item/weapon/storage/box/ids)

View File

@@ -11,11 +11,11 @@
req_access = list(access_cent_specops)
armor = list(melee = 60, bullet = 50, laser = 35,energy = 15, bomb = 30, bio = 100, rad = 95)
armor = list(melee = 60, bullet = 50, laser = 35,energy = 15, bomb = 30, bio = 100, rad = 100)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \
/obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \
/obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \
/obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller)
/obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack)
/obj/item/weapon/rig/pmc/commander
name = "PMC-C hardsuit control module"
@@ -47,7 +47,6 @@
desc = "A suit worn by private military contractors. This one is setup for engineering. Armoured and space ready."
suit_type = "PMC engineer"
icon_state = "pmc_engineergrey_rig"
armor = list(melee = 60, bullet = 50, laser = 35,energy = 15, bomb = 30, bio = 100, rad = 100)
siemens_coefficient = 0
/obj/item/weapon/rig/pmc/engineer/grey/equipped
@@ -99,7 +98,7 @@
)
/obj/item/weapon/rig/pmc/security
name = "ERT-S suit control module"
name = "PMC-S suit control module"
desc = "A suit worn by private military contractors. This one is setup for security. Armoured and space ready."
suit_type = "PMC security"
icon_state = "pmc_securitygrey_rig"

View File

@@ -55,6 +55,10 @@
recipes += new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("bench frame", /obj/structure/table/bench, 1, time = 10, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe_list("shelving", list( \
new/datum/stack_recipe("dark shelving", /obj/structure/table/rack/shelf/steel, 2, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("light shelving", /obj/structure/table/rack/shelf, 2, time = 10, one_per_turf = 1, on_floor = 1), \
))
recipes += new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("cannon frame", /obj/item/weapon/cannonframe, 10, time = 15, one_per_turf = 0, on_floor = 0)

View File

@@ -92,5 +92,5 @@
/datum/language/seromi
flags = 0
/datum/language/gutter
flags = WHITELISTED
flags = 0
machine_understands = FALSE

View File

@@ -305,6 +305,9 @@
if (sane)
msg = sanitize(msg)
if((length(memory) + length(msg)) > MAX_MESSAGE_LEN)
return
if (length(memory) == 0)
memory += msg
else

View File

@@ -105,11 +105,16 @@
activate()
if((. = ..()))
to_chat(nif.human,"<span class='danger'>You are compelled to follow these rules: </span>\n<span class='notify'>[laws]</span>")
to_chat(nif.human,"<span class='danger'>You feel a strong compulsion towards these directives: </span><br><span class='notify'>[laws]</span>\
<br><span class='danger'>While the disk has a considerable hold on your mind, you feel like you would be able to resist the control if you were pushed to do something you would consider utterly unacceptable.\
<br>\[OOC NOTE: Compliance laws are only a scene tool, and not something that is effective in actual gameplay, hence the above. For example, if you are compelled to do something that would affect the round or other players (kill a crewmember, steal an item, give the disker elevated access), you should not do so.\]</span>")
install()
if((. = ..()))
to_chat(nif.human,"<span class='danger'>You feel suddenly compelled to follow these rules: </span>\n<span class='notify'>[laws]</span>")
log_game("[nif.human? nif.human : "ERROR: NO HUMAN ON NIF"] was compliance disked with [laws]")
to_chat(nif.human,"<span class='danger'>You feel a strong compulsion towards these directives: </span><br><span class='notify'>[laws]</span>\
<br><span class='danger'>While the disk has a considerable hold on your mind, you feel like you would be able to resist the control if you were pushed to do something you would consider utterly unacceptable.\
<br>\[OOC NOTE: Compliance laws are only a scene tool, and not something that is effective in actual gameplay, hence the above. For example, if you are compelled to do something that would affect the round or other players (kill a crewmember, steal an item, give the disker elevated access), you should not do so.\]</span>")
uninstall()
nif.notify("ERROR! Unable to comply!",TRUE)

View File

@@ -212,3 +212,13 @@ END OF CITADEL CHANGES */
/obj/item/weapon/disk/limb/posicase
company = "cortexCases - Posi"
/datum/robolimb/antares
company = "Antares Robotics"
desc = "Mustard-yellow industrial limb. Heavyset and thick."
icon = 'icons/mob/human_races/cyberlimbs/antares/antares_main.dmi'
unavailable_to_build = 1
monitor_styles = standard_monitor_styles
/obj/item/weapon/disk/limb/antares
company = "Antares Robotics"

View File

@@ -709,7 +709,7 @@
// timed process
// use power
#define LIGHTING_POWER_FACTOR 20 //20W per unit luminosity
#define LIGHTING_POWER_FACTOR 5 //5W per unit luminosity - because 20W per tile-range illuminated??? Seriously??
/obj/machinery/light/process()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -154,7 +154,7 @@
Z_LEVEL_SPACE_MID,
Z_LEVEL_SPACE_HIGH)
else
return ..()
return list(srcz) //may prevent runtimes, but more importantly gives gps units a shortwave-esque function
// For making the 6-in-1 holomap, we calculate some offsets
#define TETHER_MAP_SIZE 140 // Width and height of compiled in tether z levels.

BIN
sound/weapons/rapierhit.ogg Normal file

Binary file not shown.