Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 35 additions & 15 deletions _maps/map_files/Vampire/special_fran/special_francisco.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3473,8 +3473,8 @@
/obj/structure/vampdoor/prison{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/master,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"cbT" = (
Expand Down Expand Up @@ -5251,8 +5251,8 @@
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/plating/stone,
/area/vtm/interior/voivodate/sanctum)
"daK" = (
Expand Down Expand Up @@ -12237,8 +12237,8 @@
/area/vtm/interior/ghetto)
"heH" = (
/obj/structure/vampdoor/reinf,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/master,
/turf/open/floor/wood/smooth,
/area/vtm/interior/voivodate)
"heM" = (
Expand Down Expand Up @@ -13017,6 +13017,17 @@
/obj/effect/turf_decal/bordur,
/turf/open/floor/plating/sidewalk/old,
/area/vtm/interior/hotel)
"hEY" = (
/obj/effect/turf_decal/bordur{
dir = 1
},
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"hFd" = (
/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 8
Expand Down Expand Up @@ -13173,8 +13184,8 @@
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/plating/sidewalk/old,
/area/vtm/interior/voivodate/sanctum)
"hJu" = (
Expand Down Expand Up @@ -14725,8 +14736,8 @@
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"izL" = (
Expand Down Expand Up @@ -15210,6 +15221,15 @@
/obj/structure/coclock,
/turf/open/floor/city/plating,
/area/vtm/interior/museum)
"iSq" = (
/obj/effect/turf_decal/bordur,
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"iSP" = (
/obj/effect/turf_decal/siding/white/corner{
color = "#570090"
Expand Down Expand Up @@ -16759,8 +16779,8 @@
/area/vtm/interior/gang)
"jNQ" = (
/obj/structure/vampdoor/prison,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"jNV" = (
Expand Down Expand Up @@ -21636,8 +21656,8 @@
/area/vtm/interior/endron_facility/restricted)
"mIw" = (
/obj/structure/vampdoor/prison,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/plating/stone,
/area/vtm/interior/voivodate/sanctum)
"mIC" = (
Expand Down Expand Up @@ -23775,8 +23795,8 @@
dir = 4
},
/obj/structure/vampdoor/reinf,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"nXv" = (
Expand Down Expand Up @@ -25583,8 +25603,8 @@
dir = 1
},
/obj/structure/vampdoor/oldwood,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate)
"oVN" = (
Expand Down Expand Up @@ -32568,8 +32588,8 @@
dir = 8
},
/obj/structure/vampdoor/reinf,
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"sPw" = (
Expand Down Expand Up @@ -37270,8 +37290,8 @@
/obj/structure/vampdoor/reinf{
dir = 4
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/wood/smooth/old,
/area/vtm/interior/voivodate)
"vws" = (
Expand Down Expand Up @@ -38203,8 +38223,8 @@
/obj/structure/vampdoor/prison{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/master,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"wcF" = (
Expand Down Expand Up @@ -38748,8 +38768,8 @@
/obj/structure/vampdoor/reinf{
dir = 8
},
/obj/effect/mapping_helpers/door/access/voivodate_master,
/obj/effect/mapping_helpers/door/lock,
/obj/effect/mapping_helpers/door/access/voivodate/advanced,
/turf/open/floor/city/plating_mono,
/area/vtm/interior/voivodate/sanctum)
"wuR" = (
Expand Down Expand Up @@ -88651,8 +88671,8 @@ tBB
tBB
tBB
tBB
izK
wuQ
hEY
iSq
tBB
tBB
tBB
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
#define JOB_UNAVAILABLE_KINDRED_CLAN 15
#define JOB_UNAVAILABLE_FERA_TRIBE 16
#define JOB_UNAVAILABLE_FERA_AUSPICE 17
#define JOB_UNAVAILABLE_CLAN_SLOTS 18 // APOC EDIT START
#define JOB_UNAVAILABLE_TRIBE_SLOTS 19 // APOC EDIT END

// DARKPACK EDIT ADD END

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/~darkpack/factions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#define FACTION_CAMARILLA "camarilla"
#define FACTION_SABBAT "sabbat"
#define FACTION_GIOVANNI "giovanni-faction"
#define FACTION_VOIVODATE "seers-voivodate"

// City faction
#define FACTION_CITY "city"
Expand Down
27 changes: 15 additions & 12 deletions code/__DEFINES/~darkpack/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,17 @@
#define JOB_TOWERWORK "Tower Employee"

//Primogens
#define JOB_PRIMOGEN_TOREADOR "Primogen Toreador"
#define JOB_PRIMOGEN_BANU_HAQIM "Primogen Banu Haqim"
#define JOB_PRIMOGEN_LASOMBRA "Primogen Lasombra"
#define JOB_PRIMOGEN_MALKAVIAN "Primogen Malkavian"
#define JOB_PRIMOGEN_NOSFERATU "Primogen Nosferatu"
#define JOB_PRIMOGEN_VENTRUE "Primogen Ventrue"
#define JOB_PRIMOGEN_TOREADOR "Toreador Primogen"
#define JOB_PRIMOGEN_BANU_HAQIM "Banu Haqim Primogen"
#define JOB_PRIMOGEN_LASOMBRA "Lasombra Primogen"
#define JOB_PRIMOGEN_MALKAVIAN "Malkavian Primogen"
#define JOB_PRIMOGEN_NOSFERATU "Nosferatu Primogen"
#define JOB_PRIMOGEN_VENTRUE "Ventrue Primogen"
#define JOB_PRIMOGEN_DUSKBORN "Duskborn Primogen" // APOC EDIT CHANGE - JOBS

//Anarch
#define JOB_BARON "Baron"
#define JOB_TAPSTER "The Anarchy Rose Employee" // APOC EDIT CHANGE - JOBS
#define JOB_TAPSTER "Retinue" // APOC EDIT CHANGE - JOBS
#define JOB_BRUISER "Bruiser"
#define JOB_EMISSARY "Emissary"
#define JOB_SWEEPER "Sweeper"
Expand All @@ -60,7 +61,7 @@
#define JOB_FEDERAL_INVESTIGATOR "Federal Investigator"

//Clinic
#define JOB_CLINIC_DIRECTOR "Clinic Director"
#define JOB_CLINIC_DIRECTOR "Senior Doctor"
#define JOB_DOCTOR "Doctor"

//Church
Expand Down Expand Up @@ -122,6 +123,7 @@
#define JOB_DISPLAY_ORDER_NOSFERATU 10
#define JOB_DISPLAY_ORDER_TOREADOR 11
#define JOB_DISPLAY_ORDER_VENTRUE 12
#define JOB_DISPLAY_ORDER_DUSKBORN 13

#define JOB_DISPLAY_ORDER_CLINICS_DIRECTOR 1
#define JOB_DISPLAY_ORDER_DOCTOR 2
Expand All @@ -136,10 +138,11 @@

#define JOB_DISPLAY_ORDER_BARON 1
#define JOB_DISPLAY_ORDER_EMISSARY 2
#define JOB_DISPLAY_ORDER_SWEEPER 3
#define JOB_DISPLAY_ORDER_BRUISER 4
#define JOB_DISPLAY_ORDER_LIAISON 5
#define JOB_DISPLAY_ORDER_TAPSTER 6
#define JOB_DISPLAY_ORDER_REEVE 3
#define JOB_DISPLAY_ORDER_SWEEPER 4
#define JOB_DISPLAY_ORDER_BRUISER 5
#define JOB_DISPLAY_ORDER_LIAISON 6
#define JOB_DISPLAY_ORDER_TAPSTER 7

#define JOB_DISPLAY_ORDER_REGENT 1
#define JOB_DISPLAY_ORDER_ARCHIVIST 2
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/~darkpack/lock_access_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
#define LOCKACCESS_PRINCE "prince"
#define LOCKACCESS_PRIMOGEN "primogen"

#define LOCKACCESS_DUSKBORN_PRIMOGEN "duskborn"

#define LOCKACCESS_BANU "banuhaqim"
#define LOCKACCESS_BANU_PRIMOGEN "primBanu"

Expand Down
27 changes: 27 additions & 0 deletions code/controllers/subsystem/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,33 @@ SUBSYSTEM_DEF(job)
player.mind.set_assigned_role(job)
unassigned -= player
job.current_positions++
// APOC EDIT CHANGE START
var/splat_pref = player.client.prefs.read_preference(/datum/preference/choiced/splats)
var/datum/splat/vampire/kindred/clan_pref = get_kindred_splat(player)
var/datum/splat/werewolf/tribe_pref = get_werewolf_splat(player)
var/player_splat_id
var/player_clan_id
var/player_tribe_id
if(ispath(splat_pref))
var/datum/splat/player_splat = GLOB.splat_prototypes[splat_pref]
player_splat_id = player_splat.id
else
player_splat_id = splat_pref

if(clan_pref) // APOC EDIT ADD START
player_clan_id = clan_pref.clan.id
else if(tribe_pref)
player_tribe_id = tribe_pref.name
if(job.splat_slots)
if(job.splat_slots[player_splat_id] > 0)
job.splat_slots[player_splat_id] = job.splat_slots[player_splat_id] - 1
if(job.clan_slots)
if(job.clan_slots[player_clan_id] > 0)
job.clan_slots[player_clan_id] = job.clan_slots[player_clan_id] - 1
if(job.tribe_slots)
if(job.tribe_slots[player_tribe_id] > 0)
job.tribe_slots[player_tribe_id] = job.tribe_slots[player_tribe_id] - 1
// APOC EDIT CHANGE END
return TRUE

/datum/controller/subsystem/job/proc/find_occupation_candidates(datum/job/job, level = 0)
Expand Down
4 changes: 4 additions & 0 deletions code/modules/mob/dead/new_player/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,10 @@
return "Your character's tribe is incompatible for [jobtitle]."
if(JOB_UNAVAILABLE_FERA_AUSPICE)
return "Your character's auspice is incompatible for [jobtitle]."
if(JOB_UNAVAILABLE_CLAN_SLOTS) // APOC EDIT ADD START
return "[jobtitle] doesn't have any free clan slots for you."
if(JOB_UNAVAILABLE_TRIBE_SLOTS)
return "[jobtitle] doesn't have any free tribe slots for your tribe." // APOC EDIT ADD END
// DARKPACK EDIT END

return GENERIC_JOB_UNAVAILABLE_ERROR
Expand Down
20 changes: 16 additions & 4 deletions modular_darkpack/modules/doors/code/keys/keys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,7 @@ GLOBAL_LIST_INIT(city_door_lock_ids, list())
name = "dark keys"
accesslocks = list(
LOCKACCESS_LASOMBRA,
LOCKACCESS_KIASYD,
LOCKACCESS_CHURCH
LOCKACCESS_KIASYD
)
color = "#290355"

Expand All @@ -183,11 +182,9 @@ GLOBAL_LIST_INIT(city_door_lock_ids, list())
accesslocks = list(
LOCKACCESS_LASOMBRA,
LOCKACCESS_KIASYD,
LOCKACCESS_CHURCH,
LOCKACCESS_PRIMOGEN,
LOCKACCESS_PRIMOGEN_LASOMBRA,
LOCKACCESS_JAZZ_CLUB,
LOCKACCESS_THEATRE,
LOCKACCESS_CAMARILLA,
LOCKACCESS_PRIMOGEN_LASOMBRA,
)
Expand Down Expand Up @@ -218,6 +215,12 @@ GLOBAL_LIST_INIT(city_door_lock_ids, list())
)
color = "#8cc4ff"

/obj/item/vamp/keys/giovanni
name = "church keys"
accesslocks = list(
LOCKACCESS_CHURCH
)

/obj/item/vamp/keys/malkav/primogen
name = "really insane keys"
accesslocks = list(
Expand Down Expand Up @@ -248,6 +251,15 @@ GLOBAL_LIST_INIT(city_door_lock_ids, list())
)
color = "#06053d"

/obj/item/vamp/keys/duskborn/primogen
name = "brass keys"
accesslocks = list(
LOCKACCESS_JAZZ_CLUB,
LOCKACCESS_THEATRE,
LOCKACCESS_CAMARILLA,
LOCKACCESS_DUSKBORN_PRIMOGEN
)

/obj/item/vamp/keys/banuhaqim/primogen
name = "really just keys" // lol
accesslocks = list(
Expand Down
18 changes: 18 additions & 0 deletions modular_darkpack/modules/jobs/code/_job_assignment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,23 @@
/datum/controller/subsystem/job/proc/check_job_eligibility_darkpack(mob/dead/new_player/player, datum/job/possible_job, debug_prefix = "", add_job_to_log = FALSE)
var/client/player_client = GET_CLIENT(player)
var/splat_pref = player_client.prefs.read_preference(/datum/preference/choiced/splats)
var/datum/splat/clan_pref = get_kindred_splat(player) // APOC EDIT ADD START
var/datum/splat/tribe_pref = get_werewolf_splat(player) // APOC EDIT ADD END
var/player_splat_id
var/player_clan_id // APOC EDIT ADD START
var/player_tribe_id // APOC EDIT ADD END

if(ispath(splat_pref))
var/datum/splat/player_splat = GLOB.splat_prototypes[splat_pref]
player_splat_id = player_splat.id
else
player_splat_id = splat_pref

if(clan_pref) // APOC EDIT ADD START
player_clan_id = clan_pref.id
else if(tribe_pref)
player_tribe_id = tribe_pref.name

if(possible_job.allowed_splats && !(player_splat_id in possible_job.allowed_splats))
job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_SPLAT, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
return JOB_UNAVAILABLE_SPLAT
Expand All @@ -33,6 +43,14 @@
job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_SPLAT_SLOTS, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
return JOB_UNAVAILABLE_SPLAT_SLOTS

if(possible_job.clan_slots && (possible_job.clan_slots[player_clan_id] == 0)) // APOC EDIT ADD START
job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_CLAN_SLOTS, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
return JOB_UNAVAILABLE_CLAN_SLOTS

if(possible_job.tribe_slots && (possible_job.tribe_slots[player_tribe_id] == 0))
job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_TRIBE_SLOTS, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
return JOB_UNAVAILABLE_TRIBE_SLOTS // APOC EDIT ADD END

/*
if(possible_job.whitelisted)
job_debug("[debug_prefix] Error: [get_job_unavailable_error_message(JOB_UNAVAILABLE_WHITELIST, possible_job.title)], Player: [player][add_job_to_log ? ", Job: [possible_job]" : ""]")
Expand Down
Loading
Loading