Skip to content

Commit 7d714e8

Browse files
MistakeNot4892atlantisczewoody41
committed
Updating Cynosure branch to compile on current Neb dev.
Work on getting the Cynosure map to playable state. This is a squash of multiple commits, important changes are listed below: - Fixes roundstart power, and in general improves the power system by using a code-defined SMES presets for each function. Modifies SMES code to not include an extra coil in every SMES. - Fixes networking/telecommunications. Currently has a form of small room next to the Site Administrator's office (where SA's private bathroom was) with all the necessary equipment. This may be relocated to a more permanent place in the future. Also maps in bunch of relays all around the station (these are like WiFi antennas for pretty much everything) - Copies over telecommunication channels from the Exodus map (may be modified in the future, if needed). Radios now work. - Removes the telecommunications satellite Z level altogether, as it is completely incompatible with the new networking and radio system. - Fixes inability to late-join by mapping in Arrivals landmarks. Currently not using the original moving shuttle, instead you spawn next to the airlock where the shuttle docked. - Reactor cold loop is no longer 'accidentally' connected to the station's distribution loop via a misplaced valve. While this was indeed a very innovative and effective central heating solution, staff has complained of 1000°C air coming out of vents. - Drops outdoor temperature to -5°C - Refactors all on-station areas to follow a common naming scheme - /area/cynosure/(type/department)/(floor)/(area name) - Replace substation scrubber valves with open variants - Fix leaking pipes in Research, which tripped the shutoff valves - Fix probably all airlocks on the station - Fix/Setup the Cargo, Emergency and Escape Pod shuttles. Area permissions, new areas icons (#2) * Fixed secure access for all departments, added new access operator: Opion to unsecure areas inside secure areas * Added missing new icon file * fixed access for jobs, added job overrides for cynosure * fixed access merge * fixed prison access * Merged job overrides to one file Ore box + Unloader fix - Fix unloader not updating ore box on-examine contents when removing ores - Tweak ore box examine to skip ores that have 0 pieces contained in the box. Assorted cynosure map fixes - Fix miners not having access to their own locker room - Remapped refinery room to use the new machines - Added assorted circuit boards to tech storage - Fix atmospherics holding tank computers as well as the supermatter computer not being linked to their vents/injectors/sensors. Fixed signs and lights (#3) Shutter and button fixes (#4) * Fixed signs and lights * Shutter fixes, directional signs fixes, surgery holosign fixes, blast door button fixes Updating Cynosure to compile on current Neb. Co-authored-by: Atlantis <git@stepanekjakub.cz> Co-authored-by: woody41 <26313915+woody41@users.noreply.github.com>
1 parent 4b836fa commit 7d714e8

File tree

382 files changed

+670316
-406
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

382 files changed

+670316
-406
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
runs-on: ubuntu-latest
101101
strategy:
102102
matrix:
103-
map_path: [example, tradeship, exodus, ministation, shaded_hills, away_sites_testing, modpack_testing, planets_testing]
103+
map_path: [example, tradeship, exodus, ministation, shaded_hills, cynosure, away_sites_testing, modpack_testing, planets_testing]
104104
steps:
105105
- uses: actions/checkout@v3
106106
- name: Setup Cache
Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,72 @@
11
/**Define a poster's decl and its mapper type */
22
#define DEFINE_POSTER(TYPENAME, ICONSTATE, NAME, DESC)\
33
/decl/poster_design/##TYPENAME{name = NAME; desc = DESC; icon_state = ICONSTATE;};\
4-
/obj/structure/sign/poster/##TYPENAME{poster_design = /decl/poster_design/##TYPENAME; name = NAME; icon_state = ICONSTATE;};
4+
/obj/structure/sign/poster/##TYPENAME{poster_design = /decl/poster_design/##TYPENAME; name = NAME; icon_state = ICONSTATE;};
5+
6+
// Defines an escape pod shuttle datum and all relevant landmarks.
7+
#define DEFINE_ESCAPE_POD(NAME, ID) \
8+
/datum/shuttle/autodock/ferry/escape_pod/pod_##ID { \
9+
shuttle_area = /area/shuttle/escape_pod_##ID; \
10+
name = "Escape Pod " + #NAME; \
11+
dock_target = "escape_pod_" + #ID; \
12+
arming_controller = "escape_pod_"+ #ID +"_berth"; \
13+
waypoint_station = "escape_pod_"+ #ID +"_start"; \
14+
landmark_transition = "escape_pod_"+ #ID +"_transit"; \
15+
waypoint_offsite = "escape_pod_"+ #ID +"_out"; \
16+
} \
17+
/obj/effect/shuttle_landmark/escape_pod/start/pod_##ID { \
18+
landmark_tag = "escape_pod_"+ #ID +"_start"; \
19+
docking_controller = "escape_pod_"+ #ID +"_berth"; \
20+
} \
21+
/obj/effect/shuttle_landmark/escape_pod/transit/pod_##ID { \
22+
landmark_tag = "escape_pod_"+ #ID +"_transit"; \
23+
} \
24+
/obj/effect/shuttle_landmark/escape_pod/out/pod_##ID { \
25+
landmark_tag = "escape_pod_"+ #ID +"_out"; \
26+
} \
27+
/area/shuttle/escape_pod_##ID { \
28+
name = "Escape Pod " + #NAME; \
29+
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_ION_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT; \
30+
}
31+
32+
#define DEFINE_STACK_SUBTYPES(MAT_ID, MAT_NAME, MAT_TYPE, STACK_TYPE, REINF_TYPE) \
33+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID { \
34+
name = "1 " + MAT_NAME; \
35+
material = /decl/material/MAT_TYPE; \
36+
reinf_material = REINF_TYPE; \
37+
amount = 1; \
38+
is_spawnable_type = TRUE; \
39+
color = parent_type::paint_color || /decl/material/MAT_TYPE::color; \
40+
} \
41+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/five { \
42+
name = "5 " + MAT_NAME; \
43+
amount = 5; \
44+
} \
45+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/ten { \
46+
name = "10 " + MAT_NAME; \
47+
amount = 10; \
48+
} \
49+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/fifteen { \
50+
name = "15 " + MAT_NAME; \
51+
amount = 15; \
52+
} \
53+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/twenty { \
54+
name = "20 " + MAT_NAME; \
55+
amount = 20; \
56+
} \
57+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/twentyfive { \
58+
name = "25 " + MAT_NAME; \
59+
amount = 25; \
60+
} \
61+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/thirty { \
62+
name = "30 " + MAT_NAME; \
63+
amount = 30; \
64+
} \
65+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/forty { \
66+
name = "40 " + MAT_NAME; \
67+
amount = 40; \
68+
} \
69+
/obj/item/stack/material/##STACK_TYPE/mapped/##MAT_ID/fifty { \
70+
name = "50 " + MAT_NAME; \
71+
amount = 50; \
72+
}

code/__defines/guns.dm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#define SPEEDLOADER 2 //Transfers casings from the mag to the gun when used.
2525
#define MAGAZINE 4 //The magazine item itself goes inside the gun
2626

27-
2827
#define GUN_BULK_RIFLE 5
2928

3029
#define BULLET_IMPACT_NONE "none"

code/controllers/evacuation/evacuation.dm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,8 @@
9191
A.readyalert()
9292
if(!skip_announce)
9393
global.using_map.emergency_shuttle_called_announcement()
94-
else
95-
if(!skip_announce)
96-
priority_announcement.Announce(replacetext(replacetext(global.using_map.shuttle_called_message, "%dock_name%", "[global.using_map.dock_name]"), "%ETA%", "[round(get_eta()/60)] minute\s"))
94+
else if(!skip_announce && global.using_map.shuttle_called_message)
95+
priority_announcement.Announce(replacetext(replacetext(global.using_map.shuttle_called_message, "%dock_name%", "[global.using_map.dock_name]"), "%ETA%", "[round(get_eta()/60)] minute\s"))
9796

9897
return 1
9998

@@ -113,12 +112,13 @@
113112
auto_recall_time = null
114113

115114
if(emergency_evacuation)
116-
evac_recalled.Announce(global.using_map.emergency_shuttle_recall_message)
115+
if(global.using_map.emergency_shuttle_recall_message)
116+
evac_recalled.Announce(global.using_map.emergency_shuttle_recall_message)
117117
for(var/area/A in global.areas)
118118
if(istype(A) && (A.area_flags & AREA_FLAG_HALLWAY))
119119
A.readyreset()
120120
emergency_evacuation = 0
121-
else
121+
else if(global.using_map.shuttle_recall_message)
122122
priority_announcement.Announce(global.using_map.shuttle_recall_message)
123123

124124
return 1

code/controllers/evacuation/evacuation_lifepods.dm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
if(waiting_to_leave())
1818
return
1919
state = EVAC_IN_TRANSIT
20-
priority_announcement.Announce(replacetext(replacetext(global.using_map.emergency_shuttle_leaving_dock, "%dock_name%", "[global.using_map.dock_name]"), "%ETA%", "[round(get_eta()/60,1)] minute\s"))
20+
var/msg = global.using_map.emergency_shuttle_leaving_dock
21+
if(msg)
22+
priority_announcement.Announce(replacetext(replacetext(msg, "%dock_name%", "[global.using_map.dock_name]"), "%ETA%", "[round(get_eta()/60,1)] minute\s"))
2123
return 1
2224

2325
/datum/evacuation_controller/lifepods/available_evac_options()

code/game/area/area_access.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/area
22
var/list/req_access = list()
33
var/secure = FALSE // unsecure areas will have doors between them use access diff; secure ones use union.
4+
var/override_unlock = FALSE // TRUE will override area and will be always unlocked. This is e.g. for restrooms inside secure areas, surgery observation room etc.
45

56
// Given two areas, find the minimal req_access needed such that (return value) + (area access) >= (other area access) and vice versa
67
/proc/req_access_diff(area/first, area/second)

code/game/jobs/access_datum.dm

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ var/global/const/access_tox_storage = "ACCESS_TOX_STORAGE" //8
5858
desc = "Toxins Lab"
5959
region = ACCESS_REGION_RESEARCH
6060

61+
var/global/const/access_warden = "ACCESS_WARDEN" //9
62+
/datum/access/warden
63+
id = access_warden
64+
desc = "Warden Office"
65+
region = ACCESS_REGION_SECURITY
66+
6167
var/global/const/access_engine = "ACCESS_ENGINEERING" //10
6268
/datum/access/engine
6369
id = access_engine
@@ -268,12 +274,6 @@ var/global/const/access_research = "ACCESS_RESEARCH" //47
268274
desc = "Science"
269275
region = ACCESS_REGION_RESEARCH
270276

271-
var/global/const/access_explorer = "ACCESS_EXPLORER"
272-
/datum/access/explorer
273-
id = access_explorer
274-
desc = "Explorer"
275-
region = ACCESS_REGION_GENERAL
276-
277277
var/global/const/access_mining = "ACCESS_MINING" //48
278278
/datum/access/mining
279279
id = access_mining
@@ -310,12 +310,6 @@ var/global/const/access_xenobiology = "ACCESS_XENOBIO" //55
310310
desc = "Xenobiology Lab"
311311
region = ACCESS_REGION_RESEARCH
312312

313-
var/global/const/access_xenofauna = "ACCESS_XENOFAUNA"
314-
/datum/access/xenofauna
315-
id = access_xenofauna
316-
desc = "Xenfauna Lab"
317-
region = ACCESS_REGION_RESEARCH
318-
319313
var/global/const/access_ce = "ACCESS_CHIEF_ENGINEER" //56
320314
/datum/access/ce
321315
id = access_ce

code/game/jobs/job/_job.dm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@
6767

6868
/datum/job/New()
6969

70+
for(var/title in alt_titles)
71+
if(ispath(title, /decl/alt_title))
72+
var/decl/alt_title/title_data = GET_DECL(title)
73+
alt_titles -= title
74+
alt_titles[title_data.name] = title_data.outfit
75+
7076
if(type == /datum/job && global.using_map.default_job_type == type)
7177
title = "Debug Job"
7278
hud_icon_state = "hudblank"

code/game/machinery/alarm.dm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,3 +1123,15 @@ FIRE ALARM
11231123

11241124
if(. == TOPIC_REFRESH)
11251125
interact(user)
1126+
1127+
/obj/machinery/alarm/outside/Initialize(mapload, dir)
1128+
..()
1129+
return INITIALIZE_HINT_LATELOAD
1130+
1131+
// TODO: Automatically set to expected exterior conditions.
1132+
/*
1133+
/obj/machinery/alarm/outside/LateInitialize()
1134+
. = ..()
1135+
if(isatom(loc) && loc.z)
1136+
var/datum/level_data/level = SSmapping.levels_by_z[loc.z]
1137+
*/

code/game/machinery/atmoalter/canister.dm

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,11 @@
8282
start_gas = /decl/material/gas/hydrogen
8383

8484
/obj/machinery/portable_atmospherics/canister/phoron
85-
name = "\improper Canister \[Phoron\]"
86-
icon_state = "orange"
87-
canister_color = "orange"
88-
can_label = 0
85+
name = "phoron canister"
86+
icon_state = "purple"
87+
canister_color = "purple"
88+
can_label = FALSE
89+
start_gas = /decl/material/solid/phoron
8990

9091
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
9192
name = "\improper CO2 canister"

0 commit comments

Comments
 (0)