mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-31 09:09:49 +01:00
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:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user