diff --git a/_maps/map_files/Vampire/special_fran/special_francisco.dmm b/_maps/map_files/Vampire/special_fran/special_francisco.dmm
index b48337da4ffe..f4c2525faf64 100644
--- a/_maps/map_files/Vampire/special_fran/special_francisco.dmm
+++ b/_maps/map_files/Vampire/special_fran/special_francisco.dmm
@@ -916,6 +916,7 @@
/area/vtm)
"aDK" = (
/obj/structure/chair/sofa/corp,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet/darkpack/redsilver,
/area/vtm/interior/gang)
"aDL" = (
@@ -2013,6 +2014,14 @@
/area/vtm/interior/millennium_tower)
"blb" = (
/obj/structure/table/countertop/bubway,
+/obj/item/vamp/keys/hack{
+ pixel_x = -5;
+ pixel_y = 1
+ },
+/obj/item/vamp/keys/hack{
+ pixel_x = 7;
+ pixel_y = 5
+ },
/turf/open/floor/plating/concrete,
/area/vtm/interior/gangbasement)
"bll" = (
@@ -2450,6 +2459,10 @@
},
/turf/open/floor/plating/rough,
/area/vtm/outside/pacificheights)
+"bAp" = (
+/obj/effect/landmark/start/darkpack/ocean/ganger,
+/turf/open/floor/carpet/darkpack/blackgold,
+/area/vtm/interior/gang)
"bAT" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -9115,6 +9128,7 @@
"foi" = (
/obj/structure/chair/comfy/darkpack,
/obj/machinery/light/directional/north,
+/obj/effect/landmark/start/darkpack/ocean/boss,
/turf/open/floor/wood/smooth,
/area/vtm/interior/gangbasement)
"fom" = (
@@ -9559,6 +9573,7 @@
/obj/structure/chair/sofa/corp{
color = "#CD5C5C"
},
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet/darkpack/redsilver,
/area/vtm/interior/gang)
"fzO" = (
@@ -13343,6 +13358,14 @@
/area/vtm)
"hJF" = (
/obj/structure/table,
+/obj/item/vamp/keys/hack{
+ pixel_x = 5;
+ pixel_y = 7
+ },
+/obj/item/vamp/keys/hack{
+ pixel_x = -6;
+ pixel_y = 4
+ },
/turf/open/floor/wood/smooth,
/area/vtm/interior/gangbasement)
"hJG" = (
@@ -13464,6 +13487,7 @@
/obj/effect/turf_decal/siding/wood,
/obj/structure/chair/stool/bar/darkpack/red,
/obj/effect/decal/cleanable/trash,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/wood/smooth/old,
/area/vtm/interior/gang)
"hNx" = (
@@ -15882,6 +15906,12 @@
"jiP" = (
/turf/open/misc/beach/vamp,
/area/vtm/interior)
+"jiU" = (
+/obj/effect/turf_decal/siding/wood,
+/obj/structure/chair/stool/bar/darkpack/red,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
+/turf/open/floor/wood/smooth/old,
+/area/vtm/interior/gang)
"jji" = (
/obj/structure/closet{
icon_door = "eng_rad";
@@ -15904,6 +15934,7 @@
dir = 4;
color = "#CD5C5C"
},
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet,
/area/vtm/interior/gangbasement)
"jjE" = (
@@ -19299,6 +19330,7 @@
/area/vtm/interior/endron_facility/restricted)
"ljE" = (
/obj/structure/chair/sofa/city_bench/metal/right,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/plating/sidewalk/poor,
/area/vtm/interior/gangbasement)
"ljG" = (
@@ -21143,6 +21175,7 @@
color = "#CD5C5C"
},
/obj/structure/coclock,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet,
/area/vtm/interior/gangbasement)
"mrR" = (
@@ -21236,6 +21269,10 @@
"mtJ" = (
/turf/open/indestructible/necropolis/air,
/area/vtm/interior/wyrm_corrupted)
+"mtO" = (
+/obj/effect/landmark/start/darkpack/ocean/ganger,
+/turf/open/floor/city/toilet/large,
+/area/vtm/interior/gangbasement)
"mua" = (
/obj/structure/rack/tall/wood_shelf,
/obj/item/flashlight/lamp/green{
@@ -24349,6 +24386,7 @@
/area/vtm/interior/church/haven)
"oio" = (
/obj/structure/chair/stool/bar/darkpack/red,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/plating/concrete,
/area/vtm/interior/gangbasement)
"oip" = (
@@ -26038,6 +26076,7 @@
/area/vtm/interior/vet)
"pcL" = (
/obj/structure/chair/sofa/corp/right,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet/darkpack/redsilver,
/area/vtm/interior/gang)
"pcW" = (
@@ -28287,6 +28326,7 @@
"qsg" = (
/obj/structure/table,
/obj/effect/decal/pallet,
+/obj/item/vamp/keys/hack,
/turf/open/floor/city/toilet/large,
/area/vtm/interior/gangbasement)
"qsi" = (
@@ -28591,6 +28631,7 @@
/area/vtm/interior/endron_facility/restricted)
"qAO" = (
/obj/structure/chair/sofa/city_bench/metal/left,
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/plating/concrete,
/area/vtm/interior/gangbasement)
"qAP" = (
@@ -34502,6 +34543,7 @@
/obj/structure/chair/sofa/middle/brown{
dir = 4
},
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/plating/sidewalk/poor,
/area/vtm/interior/gang)
"tNT" = (
@@ -37980,6 +38022,7 @@
dir = 4;
color = "#CD5C5C"
},
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet,
/area/vtm/interior/gangbasement)
"vQn" = (
@@ -38440,6 +38483,7 @@
/obj/structure/chair/sofa/corp/left{
color = "#CD5C5C"
},
+/obj/effect/landmark/start/darkpack/ocean/ganger,
/turf/open/floor/carpet/darkpack/redsilver,
/area/vtm/interior/gang)
"wet" = (
@@ -47720,7 +47764,7 @@ uCF
uCF
uCF
uca
-pYL
+mtO
mlC
ljE
tWK
@@ -58748,7 +58792,7 @@ hFq
hFq
wON
dxH
-oBT
+bAp
oBT
oBT
dCA
@@ -58853,7 +58897,7 @@ hFq
hFq
hFq
hFq
-wON
+jiU
fTv
oBT
oBT
@@ -59067,7 +59111,7 @@ eqO
qpy
hFq
hFq
-wON
+jiU
cIN
xYD
iIs
diff --git a/code/__DEFINES/~darkpack/jobs.dm b/code/__DEFINES/~darkpack/jobs.dm
index cfe8b58874e8..01dfe8c173fd 100644
--- a/code/__DEFINES/~darkpack/jobs.dm
+++ b/code/__DEFINES/~darkpack/jobs.dm
@@ -172,6 +172,11 @@
#define JOB_DISPLAY_ORDER_PENTEX_SEC 52
#define JOB_DISPLAY_ORDER_EMPLOYEE 53
+// APOC EDIT ADD START - JOBS - Ocean 76
+#define JOB_DISPLAY_ORDER_OCEAN_76_BOSS 54
+#define JOB_DISPLAY_ORDER_OCEAN_76_GANGER 55
+// APOC EDIT ADD END
+
//////////////////////////////////////////////////
#define DEPARTMENT_BITFLAG_CITIZEN (1<<0)
@@ -206,6 +211,10 @@
#define DEPARTMENT_PENTEX "Pentex"
#define DEPARTMENT_BITFLAG_GAIA (1<<15)
#define DEPARTMENT_GAIA "Garou_Nation"
+// APOC EDIT ADD - JOBS - Ocean 76
+#define DEPARTMENT_BITFLAG_OCEAN (1<<16)
+#define DEPARTMENT_OCEAN "Ocean_76"
+// APOC EDIT ADD END
DEFINE_BITFIELD(departments_bitflags, list(
"CITIZEN" = DEPARTMENT_BITFLAG_CITIZEN,
@@ -220,6 +229,7 @@ DEFINE_BITFIELD(departments_bitflags, list(
"SUPPLY" = DEPARTMENT_BITFLAG_SUPPLY,
"GIOVANNI" = DEPARTMENT_BITFLAG_GIOVANNI,
"POLICE" = DEPARTMENT_BITFLAG_POLICE,
+ "OCEAN76" = DEPARTMENT_BITFLAG_OCEAN,
"SABBAT" = DEPARTMENT_BITFLAG_SABBAT,
"CHANTRY" = DEPARTMENT_BITFLAG_CHANTRY,
"MANOR" = DEPARTMENT_BITFLAG_MANOR,
@@ -263,3 +273,4 @@ DEFINE_BITFIELD(departments_bitflags, list(
#define EXP_TYPE_MANOR "Tzimisce Manor"
#define EXP_TYPE_CHURCH "Church"
#define EXP_TYPE_CLUB "Strip Club"
+#define EXP_TYPE_OCEAN "Ocean 76" // APOC EDIT ADD - JOBS - Ocean 76
diff --git a/code/__DEFINES/~zapoc/factions.dm b/code/__DEFINES/~zapoc/factions.dm
new file mode 100644
index 000000000000..4d9a8a1c0cae
--- /dev/null
+++ b/code/__DEFINES/~zapoc/factions.dm
@@ -0,0 +1 @@
+#define FACTION_OCEAN_76 "ocean"
diff --git a/code/__DEFINES/~zapoc/jobs.dm b/code/__DEFINES/~zapoc/jobs.dm
new file mode 100644
index 000000000000..77753368743e
--- /dev/null
+++ b/code/__DEFINES/~zapoc/jobs.dm
@@ -0,0 +1,3 @@
+// Ocean 76
+#define JOB_OCEAN_76_BOSS "Ocean 76 Boss"
+#define JOB_OCEAN_76_GANGER "Ocean 76er"
diff --git a/modular_zapoc/modules/jobs/code/_departments.dm b/modular_zapoc/modules/jobs/code/_departments.dm
new file mode 100644
index 000000000000..6021c29de00b
--- /dev/null
+++ b/modular_zapoc/modules/jobs/code/_departments.dm
@@ -0,0 +1,8 @@
+/datum/job_department/ocean
+ department_name = DEPARTMENT_OCEAN
+ department_bitflags = DEPARTMENT_BITFLAG_GAIA
+ department_head = /datum/job/vampire/ocean_boss
+ department_experience_type = EXP_TYPE_OCEAN
+ display_order = 1
+ label_class = "ocean"
+ ui_color = "#5d8694"
diff --git a/modular_zapoc/modules/jobs/code/icons/landmarks.dmi b/modular_zapoc/modules/jobs/code/icons/landmarks.dmi
new file mode 100644
index 000000000000..4a3ebcf7bc3a
Binary files /dev/null and b/modular_zapoc/modules/jobs/code/icons/landmarks.dmi differ
diff --git a/modular_zapoc/modules/jobs/code/landmarks.dm b/modular_zapoc/modules/jobs/code/landmarks.dm
new file mode 100644
index 000000000000..062c9036c85e
--- /dev/null
+++ b/modular_zapoc/modules/jobs/code/landmarks.dm
@@ -0,0 +1,7 @@
+/* Ocean 76ers */
+/obj/effect/landmark/start/darkpack/ocean
+ name = "generic gang member start"
+ icon = 'modular_zapoc/modules/jobs/icons/landmarks.dmi'
+
+JOB_START_HELPER(ocean/boss, JOB_OCEAN_76_BOSS)
+JOB_START_HELPER(ocean/ganger, JOB_OCEAN_76_GANGER)
diff --git a/modular_zapoc/modules/jobs/code/ocean76/76er.dm b/modular_zapoc/modules/jobs/code/ocean76/76er.dm
new file mode 100644
index 000000000000..792b8b4252ad
--- /dev/null
+++ b/modular_zapoc/modules/jobs/code/ocean76/76er.dm
@@ -0,0 +1,30 @@
+/datum/job/vampire/ocean
+ title = JOB_OCEAN_76_GANGER
+ faction = FACTION_OCEAN_76
+ total_positions = 8
+ spawn_positions = 8
+ supervisors = "the Boss"
+ config_tag = "OCEAN76"
+ job_flags = CITY_JOB_FLAGS
+ outfit = /datum/outfit/job/vampire/ocean
+
+ display_order = JOB_DISPLAY_ORDER_OCEAN_76_GANGER
+ exp_required_type_department = EXP_TYPE_OCEAN
+ department_for_prefs = /datum/job_department/ocean
+ departments_list = list(
+ /datum/job_department/ocean,
+ )
+
+ known_contacts = list("Ocean 76er Boss")
+ description = "This city should belong to those who live in it. Your family in the 76 got your back, you should have theirs."
+ minimal_masquerade = 0
+
+/datum/outfit/job/vampire/ocean
+ name = "Ocean 76er"
+ jobtype = /datum/job/vampire/ocean
+ uniform = /obj/item/clothing/under/vampire/biker
+ shoes = /obj/item/clothing/shoes/vampire/sneakers
+ head = /obj/item/clothing/head/vampire/bandana/black
+ l_pocket = /obj/item/vamp/keys/ocean
+ r_pocket = /obj/item/knife/vamp
+ backpack_contents = list(/obj/item/clothing/mask/vampire/balaclava = 1, /obj/item/gun/ballistic/automatic/pistol/darkpack/glock19 = 1, /obj/item/ammo_box/magazine/glock9mm = 2)
diff --git a/modular_zapoc/modules/jobs/code/ocean76/76er_boss.dm b/modular_zapoc/modules/jobs/code/ocean76/76er_boss.dm
new file mode 100644
index 000000000000..5840c1df1cca
--- /dev/null
+++ b/modular_zapoc/modules/jobs/code/ocean76/76er_boss.dm
@@ -0,0 +1,31 @@
+/datum/job/vampire/ocean_boss
+ title = JOB_OCEAN_76_BOSS
+ faction = FACTION_OCEAN_76
+ total_positions = 1
+ spawn_positions = 1
+ supervisors = "the Arch"
+ config_tag = "OCEAN76BOSS"
+ job_flags = CITY_JOB_FLAGS
+ outfit = /datum/outfit/job/vampire/ocean
+
+ display_order = JOB_DISPLAY_ORDER_OCEAN_76_BOSS
+ exp_required_type_department = EXP_TYPE_OCEAN
+ department_for_prefs = /datum/job_department/ocean
+ departments_list = list(
+ /datum/job_department/ocean,
+ )
+
+ known_contacts = list("Ocean 76er", "Dealer")
+ allowed_splats = list(SPLAT_NONE)
+ description = "This city should belong to those who live in it. Your family in the 76 got your back, you should have theirs."
+ minimal_masquerade = 5
+
+/datum/outfit/job/vampire/ocean_boss
+ name = "Ocean 76er Boss"
+ jobtype = /datum/job/vampire/ocean
+ uniform = /obj/item/clothing/under/vampire/biker
+ shoes = /obj/item/clothing/shoes/vampire/sneakers
+ head = /obj/item/clothing/head/vampire/bandana/black
+ l_pocket = /obj/item/vamp/keys/ocean
+ r_pocket = /obj/item/knife/vamp
+ backpack_contents = list(/obj/item/clothing/suit/vampire/vest = 1, /obj/item/clothing/mask/vampire/balaclava = 1, /obj/item/gun/ballistic/automatic/pistol/darkpack/beretta = 1, /obj/item/ammo_box/magazine/semi9mm = 2)
diff --git a/tgstation.dme b/tgstation.dme
index 747a494f82f0..436d49d9730b 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -489,6 +489,8 @@
#include "code\__DEFINES\~darkpack\traits\declarations.dm"
#include "code\__DEFINES\~darkpack\traits\macros.dm"
#include "code\__DEFINES\~darkpack\traits\sources.dm"
+#include "code\__DEFINES\~zapoc\factions.dm"
+#include "code\__DEFINES\~zapoc\jobs.dm"
#include "code\__HELPERS\_auxtools_api.dm"
#include "code\__HELPERS\_dreamluau.dm"
#include "code\__HELPERS\_level_traits.dm"
@@ -7901,6 +7903,10 @@
#include "modular_zapoc\modules\gray_masses\code\gray_man.dm"
#include "modular_zapoc\modules\gray_masses\code\tall_gray_man.dm"
#include "modular_zapoc\modules\items\code\keys.dm"
+#include "modular_zapoc\modules\jobs\code\_departments.dm"
+#include "modular_zapoc\modules\jobs\code\landmarks.dm"
+#include "modular_zapoc\modules\jobs\code\ocean76\76er.dm"
+#include "modular_zapoc\modules\jobs\code\ocean76\76er_boss.dm"
#include "modular_zapoc\modules\mapping\code\corpses.dm"
#include "modular_zapoc\modules\mapping\code\mapping_helper.dm"
#include "modular_zapoc\modules\mapping\code\transfer_zones.dm"
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/JobsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/JobsPage.tsx
index e45208733d69..82beb045f628 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/JobsPage.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/JobsPage.tsx
@@ -194,7 +194,6 @@ function JobRow(props: JobRowProps) {
const experienceNeeded = data.job_required_experience?.[name];
const daysLeft = data.job_days_left ? data.job_days_left[name] : 0;
-
// DARKPACK EDIT ADD START - ALTERNATIVE_JOB_TITLES
const alt_title_selected = data.job_alt_titles[name]
? data.job_alt_titles[name]
@@ -400,6 +399,9 @@ export function JobsPage() {
+ {/* APOC EDIT ADD START - JOBS - Ocean 76 */}
+
+ {/* APOC EDIT ADD END */}
diff --git a/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss b/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
index d7830cc3972f..e1fd67d9122c 100644
--- a/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
+++ b/tgui/packages/tgui/styles/interfaces/PreferencesMenu.scss
@@ -30,7 +30,9 @@ $department_map: (
'Citizen': var(--color-light-grey),
'City_Services': var(--color-white),
'Garou_Nation': var(--color-olive),
- 'Pentex': var(--color-green), // DARKPACK EDIT ADD END
+ 'Pentex': var(--color-green),
+ // DARKPACK EDIT ADD END
+ 'Ocean_76': hsl(195.27, 22.82%, 47.25%), // APOC EDIT ADD START - JOBS - Ocean 76
);
.ChoicedSelection {