diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 191478b60e..145381146f 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -48,7 +48,10 @@ var/radio_filter_out var/radio_filter_in - var/datum/looping_sound/air_pump/soundloop + //var/datum/looping_sound/air_pump/soundloop + var/static/start_sound = 'sound/machines/air_pump/airpumpstart.ogg' + var/static/stop_sound = 'sound/machines/air_pump/airpumpshutdown.ogg' + /obj/machinery/atmospherics/unary/vent_pump/on use_power = USE_POWER_IDLE @@ -78,7 +81,7 @@ /obj/machinery/atmospherics/unary/vent_pump/Initialize() . = ..() - soundloop = new(list(src), FALSE) + //soundloop = new(list(src), FALSE) /obj/machinery/atmospherics/unary/vent_pump/New() ..() @@ -96,7 +99,7 @@ if(initial_loc) initial_loc.air_vent_info -= id_tag initial_loc.air_vent_names -= id_tag - QDEL_NULL(soundloop) + //QDEL_NULL(soundloop) return ..() /obj/machinery/atmospherics/unary/vent_pump/high_volume @@ -155,10 +158,15 @@ if(welded) vent_icon += "weld" + playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) + else if(!use_power || !node || (stat & (NOPOWER|BROKEN))) vent_icon += "off" + playsound(src, stop_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) else vent_icon += "[pump_direction ? "out" : "in"]" + playsound(src, start_sound, 25, ignore_walls = FALSE, preference = /datum/client_preference/air_pump_noise) + add_overlay(icon_manager.get_atmos_icon("device", , , vent_icon)) @@ -182,15 +190,11 @@ /obj/machinery/atmospherics/unary/vent_pump/proc/can_pump() if(stat & (NOPOWER|BROKEN)) - soundloop.stop() return 0 if(!use_power) - soundloop.stop() return 0 if(welded) - soundloop.stop() return 0 - soundloop.start() return 1 /obj/machinery/atmospherics/unary/vent_pump/process() diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm index 5dd2ccb02d..39ccd8ef0a 100644 --- a/code/game/turfs/flooring/flooring_premade.dm +++ b/code/game/turfs/flooring/flooring_premade.dm @@ -102,6 +102,7 @@ name = "grass patch" icon = 'icons/turf/flooring/grass.dmi' icon_state = "grass0" + can_dirty = FALSE //VOREStation Edit initial_flooring = /decl/flooring/grass /turf/simulated/floor/tiled diff --git a/code/game/turfs/simulated/outdoors/outdoors_vr.dm b/code/game/turfs/simulated/outdoors/outdoors_vr.dm index 195762d91d..61a759ca83 100644 --- a/code/game/turfs/simulated/outdoors/outdoors_vr.dm +++ b/code/game/turfs/simulated/outdoors/outdoors_vr.dm @@ -72,6 +72,7 @@ edge_blending_priority = 1 movement_cost = -0.5 initial_flooring = /decl/flooring/outdoors/sidewalk + can_dirty = TRUE /decl/flooring/outdoors/sidewalk name = "sidewalk" diff --git a/code/modules/admin/admin_verb_lists_vr.dm b/code/modules/admin/admin_verb_lists_vr.dm index a4e2e921f5..0fe5cc0ce2 100644 --- a/code/modules/admin/admin_verb_lists_vr.dm +++ b/code/modules/admin/admin_verb_lists_vr.dm @@ -134,7 +134,8 @@ var/list/admin_verbs_ban = list( var/list/admin_verbs_sounds = list( /client/proc/play_local_sound, /client/proc/play_sound, - /client/proc/play_server_sound + /client/proc/play_server_sound, + /client/proc/play_z_sound ) var/list/admin_verbs_fun = list( diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 8b432e4a11..d57cf7d90c 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -31,6 +31,27 @@ var/list/sounds_cache = list() playsound(src.mob, S, 50, 0, 0) feedback_add_details("admin_verb","PLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/play_z_sound(S as sound) + set category = "Fun" + set name = "Play Z Sound" + if(!check_rights(R_SOUNDS)) return + var/target_z = mob.z + var/sound/uploaded_sound = sound(S, repeat = 0, wait = 1, channel = 777) + uploaded_sound.priority = 250 + + sounds_cache += S + + if(tgui_alert(usr, "Do you ready?\nSong: [S]\nNow you can also play this sound using \"Play Server Sound\".", "Confirmation request", list("Play","Cancel")) == "Cancel") + return + + log_admin("[key_name(src)] played sound [S] on Z[target_z]") + message_admins("[key_name_admin(src)] played sound [S] on Z[target_z]", 1) + for(var/mob/M in player_list) + if(M.is_preference_enabled(/datum/client_preference/play_admin_midis) && M.z == target_z) + M << uploaded_sound + + feedback_add_details("admin_verb","PZS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/play_server_sound() set category = "Fun" diff --git a/code/modules/events/event_container_vr.dm b/code/modules/events/event_container_vr.dm index 5775de0c2c..4e90328d72 100644 --- a/code/modules/events/event_container_vr.dm +++ b/code/modules/events/event_container_vr.dm @@ -87,7 +87,7 @@ new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grub Infestation", /datum/event/grub_infestation, 0, list(ASSIGNMENT_SECURITY = 10, ASSIGNMENT_ENGINEER = 30), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Drone Pod Drop", /datum/event/drone_pod_drop, 10, list(ASSIGNMENT_SCIENTIST = 40), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 30), 1), //YW EDIT, Readded - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_ANY = 5), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/morph_spawn, 75, list(ASSIGNMENT_ANY = 5), 1), // YW EDIT single shot new /datum/event_meta(EVENT_LEVEL_MODERATE, "Maintenance Predator", /datum/event/maintenance_predator, 100, list(ASSIGNMENT_ANY = 5), 0), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Jellyfish School", /datum/event/jellyfish_migration, 0, list(ASSIGNMENT_ANY = 1, ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 3), 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Supply Demand", /datum/event/supply_demand, 0, list(ASSIGNMENT_ANY = 5, ASSIGNMENT_SCIENCE = 15, ASSIGNMENT_GARDENER = 10, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_MEDICAL = 15), 3), //YW EDIT, Readded diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 1622321c52..1d6d24d490 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -323,6 +323,9 @@ parent_morph = parent prey_body = prey prey_body.forceMove(get_turf(parent_morph)) + prey_body.muffled = FALSE + prey_body.absorbed = FALSE + absorbed = TRUE ckey = prey_ckey prey_body.ckey = parent_morph.original_ckey parent_morph.forceMove(src) diff --git a/icons/_nanomaps/tether_nanomap_z1.png b/icons/_nanomaps/tether_nanomap_z1.png index 1ad2755b7c..fa1d0d6148 100644 Binary files a/icons/_nanomaps/tether_nanomap_z1.png and b/icons/_nanomaps/tether_nanomap_z1.png differ diff --git a/icons/_nanomaps/tether_nanomap_z2.png b/icons/_nanomaps/tether_nanomap_z2.png index d30a99906b..b15ae23be0 100644 Binary files a/icons/_nanomaps/tether_nanomap_z2.png and b/icons/_nanomaps/tether_nanomap_z2.png differ diff --git a/icons/_nanomaps/tether_nanomap_z3.png b/icons/_nanomaps/tether_nanomap_z3.png index 3c55412116..af24bb981d 100644 Binary files a/icons/_nanomaps/tether_nanomap_z3.png and b/icons/_nanomaps/tether_nanomap_z3.png differ diff --git a/icons/_nanomaps/tether_nanomap_z4.png b/icons/_nanomaps/tether_nanomap_z4.png index c2623219ee..510d22b3d6 100644 Binary files a/icons/_nanomaps/tether_nanomap_z4.png and b/icons/_nanomaps/tether_nanomap_z4.png differ diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index 016b82e420..3fbd8347dd 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -12309,9 +12309,7 @@ /obj/effect/floor_decal/corner/lime/border{ dir = 6 }, -/obj/machinery/smartfridge{ - dir = 1 - }, +/obj/machinery/smartfridge/produce, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_two) "atJ" = ( diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 5a9fd154e5..c4b28ec13a 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -23397,7 +23397,7 @@ }) "aMF" = ( /obj/structure/window/fancy_shuttle{ - fancy_shuttle_tag = "tourbus" + fancy_shuttle_tag = "lifeboat1" }, /turf/simulated/floor, /area/shuttle/tether{ diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index 76a2226a6b..5763640265 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -2034,7 +2034,6 @@ master_tag = "server_access_airlock"; name = "interior access button"; pixel_x = -28; - pixel_y = 0; req_one_access = list(61) }, /turf/simulated/floor/tiled/techfloor, @@ -2340,7 +2339,6 @@ frequency = 1381; master_tag = "server_access_airlock"; name = "exterior access button"; - pixel_x = 0; pixel_y = 26; req_one_access = list(61) }, @@ -21014,6 +21012,12 @@ }, /turf/simulated/floor, /area/maintenance/substation/cargo) +"hsf" = ( +/obj/machinery/shipsensors/fancy_shuttle, +/turf/simulated/wall/fancy_shuttle{ + fancy_shuttle_tag = "secbus" + }, +/area/shuttle/securiship/cockpit) "hsq" = ( /obj/structure/catwalk, /obj/random/junk, @@ -53852,7 +53856,7 @@ aaa aaa aaa aaa -osM +hsf osM scB sJw diff --git a/maps/tether/tether_shuttle_defs.dm b/maps/tether/tether_shuttle_defs.dm index e7c4452521..ab9c7929fe 100644 --- a/maps/tether/tether_shuttle_defs.dm +++ b/maps/tether/tether_shuttle_defs.dm @@ -62,7 +62,7 @@ name = "Tether Backup" location = FERRY_LOCATION_OFFSITE //Offsite is the surface hangar warmup_time = 5 - move_time = 45 + move_time = 5 landmark_offsite = "tether_backup_low" landmark_station = "tether_dockarm_d1a3" landmark_transition = "tether_backup_transit"