Adds support for more "[dir] bump" mapping (#16908)

This commit is contained in:
S34N
2021-12-03 08:10:11 +01:00
committed by GitHub
parent 2781d3ffaa
commit 2797b60bc1
7 changed files with 32 additions and 1 deletions
+1
View File
@@ -520,6 +520,7 @@ in the SQL/updates folder.
* Subtypes only intended to be used on away mission or ruin maps should be contained within an .dm file with a name corresponding to that map within `code\modules\awaymissions` or `code\modules\ruins` respectively. This is so in the event that the map is removed, that subtype will be removed at the same time as well to minimize leftover/unused data within the repo.
* Please attempt to clean out any dirty variables that may be contained within items you alter through var-editing. For example, due to how DM functions, changing the `pixel_x` variable from 23 to 0 will leave a dirty record in the map's code of `pixel_x = 0`. Likewise this can happen when changing an item's icon to something else and then back. This can lead to some issues where an item's icon has changed within the code, but becomes broken on the map due to it still attempting to use the old entry.
* Areas should not be var-edited on a map to change it's name or attributes. All areas of a single type and it's altered instances are considered the same area within the code, and editing their variables on a map can lead to issues with powernets and event subsystems which are difficult to debug.
* Unless they require custom placement, when placing the following items use the relevant "[direction] bump" instance, as it has predefined pixel offsets and directions that are standardised: APC, Air alarm, Fire alarm, station intercom, newscaster, extinguisher cabient, light switches.
* If you are making non-minor edits to an area or room, (non-minor being anything more than moving a few objects or fixing small bugs) then you should ensure the entire area/room meets these standards.
+4
View File
@@ -278,6 +278,10 @@ FIRE ALARM
LAZYADD(myArea.firealarms, src)
update_icon()
/obj/machinery/firealarm/Initialize(mapload)
. = ..()
name = "fire alarm"
/obj/machinery/firealarm/Destroy()
LAZYREMOVE(myArea.firealarms, src)
return ..()
+5
View File
@@ -22,12 +22,16 @@
switch(w_dir)
if(NORTH)
pixel_y = 25
dir = NORTH
if(SOUTH)
pixel_y = -25
dir = SOUTH
if(EAST)
pixel_x = 25
dir = EAST
if(WEST)
pixel_x = -25
dir = WEST
if(SSradio)
set_frequency(frequency)
spawn(5)
@@ -45,6 +49,7 @@
/obj/machinery/light_switch/Initialize()
..()
set_frequency(frequency)
name = "light switch"
/obj/machinery/light_switch/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
@@ -9,31 +9,38 @@
flags = CONDUCT
var/circuitry_installed = 1
var/buildstage = 0
var/custom_name
dog_fashion = null
/obj/item/radio/intercom/custom
name = "station intercom (Custom)"
custom_name = TRUE
broadcasting = 0
listening = 0
/obj/item/radio/intercom/interrogation
name = "station intercom (Interrogation)"
custom_name = TRUE
frequency = AIRLOCK_FREQ
/obj/item/radio/intercom/private
name = "station intercom (Private)"
custom_name = TRUE
frequency = AI_FREQ
/obj/item/radio/intercom/command
name = "station intercom (Command)"
custom_name = TRUE
frequency = COMM_FREQ
/obj/item/radio/intercom/specops
name = "\improper Special Operations intercom"
custom_name = TRUE
frequency = ERT_FREQ
/obj/item/radio/intercom/department
canhear_range = 5
custom_name = TRUE
broadcasting = 0
listening = 1
@@ -59,6 +66,11 @@
GLOB.global_intercoms.Add(src)
update_icon()
/obj/item/radio/intercom/Initialize()
. = ..()
if(!custom_name)
name = "station intercom (General)"
/obj/item/radio/intercom/department/medbay/New()
..()
internal_channels = GLOB.default_medbay_channels.Copy()
@@ -252,6 +264,7 @@
/obj/item/radio/intercom/locked
freqlock = TRUE
custom_name = TRUE
/obj/item/radio/intercom/locked/ai_private
name = "\improper AI intercom"
@@ -19,6 +19,7 @@
/obj/structure/extinguisher_cabinet/Initialize(mapload, direction = null)
. = ..()
name = "extinguisher cabinet"
if(direction)
setDir(direction)
set_pixel_offsets_from_dir(28, -28, 30, -30)
@@ -84,6 +84,7 @@
resistance_flags = FIRE_PROOF
siemens_strength = 1
frequency = ATMOS_VENTSCRUB
var/custom_name
var/alarm_id = null
//var/skipprocess = 0 //Experimenting
var/alarm_frequency = ATMOS_FIRE_FREQ
@@ -125,6 +126,7 @@
name = "engine air alarm"
locked = FALSE
req_access = null
custom_name = TRUE
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_ENGINE)
/obj/machinery/alarm/syndicate //general syndicate access
@@ -235,7 +237,7 @@
/obj/machinery/alarm/proc/first_run()
alarm_area = get_area(src)
area_uid = alarm_area.uid
if(name == "alarm")
if(!custom_name)
name = "[alarm_area.name] Air Alarm"
apply_preset(1) // Don't cycle.
GLOB.air_alarm_repository.update_cache(src)
@@ -1089,6 +1091,7 @@
name = "all-access air alarm"
desc = "This particular atmos control unit appears to have no access restrictions."
locked = FALSE
custom_name = TRUE
req_access = null
req_one_access = null
@@ -65,6 +65,10 @@
/obj/machinery/newscaster/Initialize(mapload)
. = ..()
if(is_security)
name = "security newscaster"
else
name = "newscaster"
if(!jobblacklist)
jobblacklist = list(
/datum/job/ai,