Fuck this shit

Merge branch 'release' of https://github.com/VOREStation/VOREStation

# Conflicts:
#	code/controllers/autotransfer.dm
#	code/controllers/subsystems/inactivity.dm
#	code/game/area/Away Mission areas.dm
#	code/game/area/Space Station 13 areas.dm
#	code/game/jobs/job/captain.dm
#	code/game/jobs/job/civilian.dm
#	code/game/jobs/job/security.dm
#	code/game/jobs/jobs.dm
#	code/game/machinery/air_alarm.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/machinery/suit_storage_unit_vr.dm
#	code/game/mecha/combat/gorilla.dm
#	code/game/turfs/simulated/dungeon/wall.dm
#	code/game/turfs/simulated/wall_types.dm
#	code/modules/client/preference_setup/loadout/loadout_utility_vr.dm
#	code/modules/clothing/glasses/glasses.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm
#	code/modules/clothing/spacesuits/void/void_vr.dm
#	code/modules/clothing/under/accessories/holster.dm
#	code/modules/mob/language/station_vr.dm
#	code/modules/mob/living/carbon/human/emote_vr.dm
#	code/modules/mob/living/carbon/human/species/station/station_vr.dm
#	code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
#	code/modules/mob/new_player/sprite_accessories_vr.dm
#	code/modules/power/apc.dm
#	code/modules/power/lighting.dm
#	code/modules/resleeving/machines.dm
#	config/jobwhitelist.txt
#	icons/mob/species/seromi/head.dmi
#	icons/mob/species/seromi/suit.dmi
#	icons/mob/species/vulpkanin/helmet.dmi
#	icons/mob/species/vulpkanin/suit.dmi
#	maps/tether/submaps/_tether_submaps.dm
#	maps/tether/tether_areas2.dm
#	maps/tether/tether_defines.dm
#	maps/tether/tether_shuttles.dm
#	nano/templates/apc.tmpl
#	vorestation.dme
This commit is contained in:
Repede
2020-04-04 14:37:55 -04:00
1374 changed files with 308651 additions and 97393 deletions
@@ -16,6 +16,7 @@ LINEN BINS
throw_speed = 1
throw_range = 2
w_class = ITEMSIZE_SMALL
drop_sound = 'sound/items/drop/clothing.ogg'
/obj/item/weapon/bedsheet/attack_self(mob/user as mob)
user.drop_item()
+1 -7
View File
@@ -87,14 +87,8 @@
return ..()
/obj/structure/catwalk/Crossed()
//VOREStation Edit begin: SHADEKIN
var/mob/SK = usr
if(istype(SK))
if(SK.shadekin_phasing_check())
return
//VOREStation Edit end: SHADEKIN
. = ..()
if(isliving(usr))
if(isliving(usr) && !usr.is_incorporeal())
playsound(src, pick('sound/effects/footstep/catwalk1.ogg', 'sound/effects/footstep/catwalk2.ogg', 'sound/effects/footstep/catwalk3.ogg', 'sound/effects/footstep/catwalk4.ogg', 'sound/effects/footstep/catwalk5.ogg'), 25, 1)
/obj/structure/catwalk/CheckExit(atom/movable/O, turf/target)
@@ -19,6 +19,8 @@
var/list/spawnitems = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/tool/crowbar/red,/obj/item/device/flashlight/flare,)
var/amount = 2 // spawns each items X times.
icon_state = "emerg"
icon_closed = "emerg"
icon_opened = "emerg_open"
/obj/structure/closet/walllocker/emerglocker/toggle(mob/user as mob)
src.attack_hand(user)
@@ -64,10 +64,9 @@
icon_state = "vehiclecrate"
/obj/structure/largecrate/vehicle/Initialize()
..()
spawn(1)
for(var/obj/O in contents)
O.update_icon()
. = ..()
for(var/obj/O in contents)
O.update_icon()
/obj/structure/largecrate/vehicle/bike
name = "spacebike crate"
@@ -65,18 +65,13 @@
/obj/structure/ghost_pod/automatic/Initialize()
. = ..()
spawn(delay_to_self_open)
if(src)
trigger()
addtimer(CALLBACK(src, .proc/trigger), delay_to_self_open)
/obj/structure/ghost_pod/automatic/trigger()
. = ..()
if(. == FALSE) // If we failed to get a volunteer, try again later if allowed to.
if(delay_to_try_again)
spawn(delay_to_try_again)
if(src)
trigger()
addtimer(CALLBACK(src, .proc/trigger), delay_to_try_again)
// This type is triggered by a ghost clicking on it, as opposed to a living player. A ghost query type isn't needed.
/obj/structure/ghost_pod/ghost_activated
+2 -2
View File
@@ -48,13 +48,13 @@
plant = prepare_icon(emagged ? "emagged" : null)
overlays += plant
set_light(2)
use_power = 2
use_power = USE_POWER_ACTIVE
/obj/machinery/holoplant/proc/deactivate()
overlays -= plant
QDEL_NULL(plant)
set_light(0)
use_power = 0
use_power = USE_POWER_OFF
/obj/machinery/holoplant/power_change()
..()
@@ -3,6 +3,7 @@
desc = "A folded membrane which rapidly expands into a large cubical shape on activation."
icon = 'icons/obj/inflatable.dmi'
icon_state = "folded_wall"
drop_sound = 'sound/items/drop/rubber.ogg'
w_class = ITEMSIZE_NORMAL
var/deploy_path = /obj/structure/inflatable
@@ -0,0 +1,13 @@
/obj/structure/prop/alien/computer/hybrid
name = "hybrid console"
desc = "The console flashes what appear to be symbols you've never seen before, intermixed with human writing moving too fast to comprehend."
icon = 'icons/obj/abductor_vr.dmi'
icon_state = "console-c"
interaction_message = "<span class='warning'>The screen flashes an 'access denied' message at you. Perhaps for the best.</span>"
/obj/structure/prop/alien/pod/hybrid
name = "hybrid pod"
desc = "This seems to be a container for something."
icon = 'icons/obj/abductor_vr.dmi'
icon_state = "experiment"
interaction_message = "<span class='warning'>You don't see any mechanism to open this thing. Probably for the best.</span>"
@@ -197,16 +197,18 @@
P.rotate_auto(new_bearing)
/obj/structure/prop/prismcontrol/Initialize()
..()
. = ..()
if(my_turrets.len) //Preset controls.
for(var/obj/structure/prop/prism/P in my_turrets)
P.remote_dial = src
return
spawn()
for(var/obj/structure/prop/prism/P in orange(src, world.view)) //Don't search a huge area.
if(P.dialID == dialID && !P.remote_dial && P.external_control_lock)
my_turrets |= P
P.remote_dial = src
else
. = INITIALIZE_HINT_LATELOAD
/obj/structure/prop/prismcontrol/LateInitialize()
for(var/obj/structure/prop/prism/P in orange(src, world.view)) //Don't search a huge area.
if(P.dialID == dialID && !P.remote_dial && P.external_control_lock)
my_turrets |= P
P.remote_dial = src
/obj/structure/prop/prismcontrol/Destroy()
for(var/obj/structure/prop/prism/P in my_turrets)
@@ -0,0 +1,23 @@
/material/flockium
name = "flockium"
//stack_type = /obj/item/stack/material/sandstone
icon_base = "flock"
icon_reinf = "flock"
icon_colour = "#FFFFFF"
//shard_type = SHARD_STONE_PIECE
weight = 30
hardness = 200
protectiveness = 5 // 20%
conductive = 0
conductivity = 0
door_icon_base = "flockdoor"
sheet_singular_name = "quanta"
sheet_plural_name = "quanta"
/obj/structure/simple_door/flock
name = "aperture"
icon = 'icons/goonstation/featherzone.dmi'
icon_state = "flockdoor"
/obj/structure/simple_door/flock/New(var/newloc, var/newmat)
..(newloc, "flockium")
@@ -42,7 +42,7 @@
/obj/structure/bed/update_icon()
// Prep icon.
icon_state = ""
overlays.Cut()
cut_overlays()
// Base icon.
var/cache_key = "[base_icon]-[material.name]"
if(isnull(stool_cache[cache_key]))
@@ -50,7 +50,7 @@
if(applies_material_colour) //VOREStation Add - Goes with added var
I.color = material.icon_colour
stool_cache[cache_key] = I
overlays |= stool_cache[cache_key]
add_overlay(stool_cache[cache_key])
// Padding overlay.
if(padding_material)
var/padding_cache_key = "[base_icon]-padding-[padding_material.name]"
@@ -58,7 +58,7 @@
var/image/I = image(icon, "[base_icon]_padding")
I.color = padding_material.icon_colour
stool_cache[padding_cache_key] = I
overlays |= stool_cache[padding_cache_key]
add_overlay(stool_cache[padding_cache_key])
// Strings.
desc = initial(desc)
if(padding_material)
@@ -195,7 +195,7 @@
/obj/structure/bed/roller
name = "roller bed"
desc = "A portable bed-on-wheels made for transporting medical patients."
icon = 'icons/obj/rollerbed_vr.dmi' //VOREStation Edit
icon = 'icons/obj/rollerbed.dmi'
icon_state = "rollerbed"
anchored = 0
surgery_odds = 75
@@ -229,7 +229,7 @@
/obj/item/roller
name = "roller bed"
desc = "A collapsed roller bed that can be carried around."
icon = 'icons/obj/rollerbed_vr.dmi' //VOREStation Edit
icon = 'icons/obj/rollerbed.dmi'
icon_state = "folded_rollerbed"
center_of_mass = list("x" = 17,"y" = 7)
slot_flags = SLOT_BACK
@@ -288,6 +288,7 @@
/obj/structure/bed/roller/Move()
..()
playsound(src, 'sound/effects/roll.ogg', 100, 1)
if(has_buckled_mobs())
for(var/A in buckled_mobs)
var/mob/living/L = A
@@ -9,11 +9,9 @@
buckle_lying = 0 //force people to sit up in chairs when buckled
var/propelled = 0 // Check for fire-extinguisher-driven chairs
/obj/structure/bed/chair/New()
..() //Todo make metal/stone chairs display as thrones
spawn(3) //sorry. i don't think there's a better way to do this.
update_layer()
return
/obj/structure/bed/chair/Initialize()
. = ..()
update_layer()
/obj/structure/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
@@ -47,13 +45,12 @@
var/cache_key = "[base_icon]-armrest-[padding_material ? padding_material.name : "no_material"]"
if(isnull(stool_cache[cache_key]))
var/image/I = image(icon, "[base_icon]_armrest")
I.layer = MOB_LAYER + 0.1
I.plane = MOB_PLANE
I.layer = ABOVE_MOB_LAYER
if(padding_material)
I.color = padding_material.icon_colour
stool_cache[cache_key] = I
overlays |= stool_cache[cache_key]
stool_cache[cache_key] = I
add_overlay(stool_cache[cache_key])
/obj/structure/bed/chair/proc/update_layer()
if(src.dir == NORTH)
@@ -145,6 +142,7 @@
/obj/structure/bed/chair/office/Move()
..()
playsound(src, 'sound/effects/roll.ogg', 100, 1)
if(has_buckled_mobs())
for(var/A in buckled_mobs)
var/mob/living/occupant = A
@@ -11,7 +11,7 @@
var/image/I = image(icon, "[base_icon]_over")
I.layer = ABOVE_MOB_LAYER
I.plane = MOB_PLANE
overlays |= I
add_overlay(I)
/obj/structure/bed/chair/bar_stool
name = "bar stool"
@@ -37,14 +37,14 @@ var/global/list/stool_cache = list() //haha stool
/obj/item/weapon/stool/update_icon()
// Prep icon.
icon_state = ""
overlays.Cut()
cut_overlays()
// Base icon.
var/cache_key = "stool-[material.name]"
if(isnull(stool_cache[cache_key]))
var/image/I = image(icon, base_icon)
I.color = material.icon_colour
stool_cache[cache_key] = I
overlays |= stool_cache[cache_key]
add_overlay(stool_cache[cache_key])
// Padding overlay.
if(padding_material)
var/padding_cache_key = "stool-padding-[padding_material.name]"
@@ -52,7 +52,7 @@ var/global/list/stool_cache = list() //haha stool
var/image/I = image(icon, "[base_icon]_padding") //VOREStation Edit
I.color = padding_material.icon_colour
stool_cache[padding_cache_key] = I
overlays |= stool_cache[padding_cache_key]
add_overlay(stool_cache[padding_cache_key])
// Strings.
if(padding_material)
name = "[padding_material.display_name] [initial(name)]" //this is not perfect but it will do for now.
@@ -14,9 +14,9 @@
/obj/structure/bed/chair/wheelchair/set_dir()
..()
overlays = null
cut_overlays()
var/image/O = image(icon = 'icons/obj/furniture.dmi', icon_state = "w_overlay", layer = FLY_LAYER, dir = src.dir)
overlays += O
add_overlay(O)
if(has_buckled_mobs())
for(var/A in buckled_mobs)
var/mob/living/L = A
@@ -93,6 +93,8 @@
/obj/structure/bed/chair/wheelchair/Move()
..()
cut_overlays()
playsound(src, 'sound/effects/roll.ogg', 75, 1)
if(has_buckled_mobs())
for(var/A in buckled_mobs)
var/mob/living/occupant = A
+3 -1
View File
@@ -124,7 +124,7 @@
icon_state = "shower"
density = 0
anchored = 1
use_power = 0
use_power = USE_POWER_OFF
var/on = 0
var/obj/effect/mist/mymist = null
var/ismist = 0 //needs a var so we can make it linger~
@@ -384,6 +384,7 @@
return
to_chat(usr, "<span class='notice'>You start washing your hands.</span>")
playsound(loc, 'sound/effects/sink_long.ogg', 75, 1)
busy = 1
sleep(40)
@@ -406,6 +407,7 @@
if (istype(RG) && RG.is_open_container())
RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
user.visible_message("<span class='notice'>[user] fills \the [RG] using \the [src].</span>","<span class='notice'>You fill \the [RG] using \the [src].</span>")
playsound(loc, 'sound/effects/sink.ogg', 75, 1)
return 1
else if (istype(O, /obj/item/weapon/melee/baton))