Merge pull request #3061 from VOREStation/aro-sync

Smol Sync
This commit is contained in:
Aronai Sieyes
2018-02-18 00:56:41 -06:00
committed by GitHub
34 changed files with 85103 additions and 2753 deletions
-32
View File
@@ -1,35 +1,3 @@
/**********************Miner Lockers**************************/
/obj/structure/closet/secure_closet/miner
name = "miner's equipment"
icon_state = "miningsec1"
icon_closed = "miningsec"
icon_locked = "miningsec1"
icon_opened = "miningsecopen"
icon_broken = "miningsecbroken"
icon_off = "miningsecoff"
req_access = list(access_mining)
/obj/structure/closet/secure_closet/miner/New()
..()
sleep(2)
if(prob(50))
new /obj/item/weapon/storage/backpack/industrial(src)
else
new /obj/item/weapon/storage/backpack/satchel/eng(src)
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/clothing/under/rank/miner(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/shoes/black(src)
new /obj/item/device/analyzer(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(src)
new /obj/item/clothing/glasses/material(src)
new /obj/item/clothing/suit/storage/hooded/wintercoat/miner(src)
new /obj/item/clothing/shoes/boots/winter/mining(src)
/******************************Lantern*******************************/
/obj/item/device/flashlight/lantern
+2 -2
View File
@@ -616,11 +616,11 @@
var/temp_adj = 0
if(loc_temp < bodytemperature) //Place is colder than we are
var/thermal_protection = get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to.
if(thermal_protection < 1)
if(thermal_protection < 0.99) //For some reason, < 1 returns false if the value is 1.
temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR) //this will be negative
else if (loc_temp > bodytemperature) //Place is hotter than we are
var/thermal_protection = get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to.
if(thermal_protection < 1)
if(thermal_protection < 0.99) //For some reason, < 1 returns false if the value is 1.
temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR)
//Use heat transfer as proportional to the gas density. However, we only care about the relative density vs standard 101 kPa/20 C air. Therefore we can use mole ratios
@@ -83,15 +83,15 @@
var/datum/language/species_language = all_languages[default_language]
return species_language.get_random_name(gender)
/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H)
/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H, var/extendedtank = 0,var/comprehensive = 0)
. = ..()
H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask)
if(H.backbag == 1)
H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H), slot_r_hand)
H.internal = H.back
else
H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H.back), slot_in_backpack)
H.internal = H.r_hand
H.internal = locate(/obj/item/weapon/tank) in H.contents
if(istype(H.internal,/obj/item/weapon/tank) && H.internals)
@@ -233,19 +233,39 @@
/datum/species/proc/sanitize_name(var/name, var/robot = 0)
return sanitizeName(name, MAX_NAME_LEN, robot)
/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 1)
/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 0,var/comprehensive = 0)
var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box
if(H.isSynthetic())
boxtype = /obj/item/weapon/storage/box/synth //VOREStation Edit - Synth survival box on Tether
else if(extendedtank)
boxtype = /obj/item/weapon/storage/box/engineer //Special box for engineers
boxtype = /obj/item/weapon/storage/box //Empty box for synths
//Special box for engineers
if(comprehensive)
boxtype = /obj/item/weapon/storage/box/survival/comp
//Create the box
var/obj/item/weapon/storage/box/box = new boxtype(H)
//Create a tank (if such a thing exists for this species)
var/tanktext = "/obj/item/weapon/tank/emergency/" + "[breath_type]"
var/obj/item/weapon/tank/emergency/tankpath //Will force someone to come look here if they ever alter this path.
if(extendedtank)
tankpath = text2path(tanktext + "/engi")
if(!tankpath) //Is it just that there's no /engi?
tankpath = text2path(tanktext + "/double")
if(!tankpath)
tankpath = text2path(tanktext)
if(tankpath)
new tankpath(box)
box.calibrate_size()
if(H.backbag == 1)
if (extendedtank) H.equip_to_slot_or_del(new boxtype(H), slot_r_hand)
else H.equip_to_slot_or_del(new boxtype(H), slot_r_hand)
H.equip_to_slot_or_del(box, slot_r_hand)
else
if (extendedtank) H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack)
else H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack)
H.equip_to_slot_or_del(box, slot_in_backpack)
/datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs.
+1 -1
View File
@@ -328,7 +328,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT)
set name = "a-intent"
set hidden = 1
if(isliving(src))
if(isliving(src) && !isrobot(src))
switch(input)
if(I_HELP,I_DISARM,I_GRAB,I_HURT)
a_intent = input
+4 -1
View File
@@ -43,8 +43,11 @@
/datum/nano_module/power_monitor/proc/refresh_sensors()
grid_sensors = list()
var/turf/T = get_turf(nano_host())
var/list/levels = list()
if(T)
levels += using_map.get_map_levels(T.z, FALSE)
for(var/obj/machinery/power/sensor/S in machines)
if((T && S.loc.z == T.z) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels.
if(T && (S.loc.z == T.z) || (S.loc.z in levels) || (S.long_range)) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels.
if(S.name_tag == "#UNKN#") // Default name. Shouldn't happen!
warning("Powernet sensor with unset ID Tag! [S.x]X [S.y]Y [S.z]Z")
else
@@ -1,6 +1,6 @@
/obj/item/weapon/gun/energy/gun
name = "energy gun"
desc = "Another bestseller of Lawson Arms and the FTU, the LAEP90 Perun is a versatile energy based sidearm, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill."
desc = "Another bestseller of Lawson Arms and "+TSC_HEPH+", the LAEP90 Perun is a versatile energy based sidearm, capable of switching between low and high capacity projectile settings. In other words: Stun or Kill."
icon_state = "energystun100"
item_state = null //so the human update icon uses the icon_state instead.
fire_delay = 10 // Handguns should be inferior to two-handed weapons.
@@ -64,4 +64,4 @@
firemodes = list(
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", charge_cost = 240),
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", charge_cost = 480),
)
)
@@ -15,8 +15,6 @@
flags = OPENCONTAINER
slot_flags = SLOT_BELT
preserve_item = 1
var/reusable = 1
var/used = 0
var/filled = 0
var/list/filled_reagents = list()
@@ -64,9 +62,6 @@
admin_inject_log(user, M, src, contained, trans)
to_chat(user, "<span class='notice'>[trans] units injected. [reagents.total_volume] units remaining in \the [src].</span>")
if(!reusable && !used)
used = !used
return
//A vial-loaded hypospray. Cartridge-based!
/obj/item/weapon/reagent_containers/hypospray/vial
@@ -122,11 +117,10 @@
/obj/item/weapon/reagent_containers/hypospray/autoinjector
name = "autoinjector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel."
icon_state = "autoinjector"
item_state = "autoinjector"
icon_state = "blue"
item_state = "blue"
amount_per_transfer_from_this = 5
volume = 5
reusable = 0
filled = 1
filled_reagents = list("inaprovaline" = 5)
preserve_item = 0
@@ -139,33 +133,35 @@
filled = 0
filled_reagents = list()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/used
used = 1
filled_reagents = list()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/used/New()
..()
flags &= ~OPENCONTAINER
icon_state = "[initial(icon_state)]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob)
..()
if(used) //Prevents autoinjectors to be refilled.
if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled.
flags &= ~OPENCONTAINER
update_icon()
return
/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon()
if(!used && reagents.reagent_list.len)
if(reagents.total_volume > 0)
icon_state = "[initial(icon_state)]1"
else if(used)
icon_state = "[initial(icon_state)]0"
else
icon_state = "[initial(icon_state)]2"
icon_state = "[initial(icon_state)]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user)
..(user)
. = ..(user)
if(reagents && reagents.reagent_list.len)
user << "<span class='notice'>It is currently loaded.</span>"
else if(used)
user << "<span class='notice'>It is spent.</span>"
to_chat(user, "<span class='notice'>It is currently loaded.</span>")
else
user << "<span class='notice'>It is currently unloaded.</span>"
to_chat(user, "<span class='notice'>It is spent.</span>")
/obj/item/weapon/reagent_containers/hypospray/autoinjector/detox
name = "autoinjector (antitox)"
icon_state = "green"
filled_reagents = list("anti_toxin" = 5)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting
name = "clotting agent"