From 01afa03b0e50640e751ec094fc9cc8367179b79d Mon Sep 17 00:00:00 2001 From: Latentish <55075747+Latentish@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:48:40 -0700 Subject: [PATCH] Co-authored-by: dwinters99 --- code/__DEFINES/jobs.dm | 2 + code/__DEFINES/~darkpack/factions.dm | 3 +- code/__DEFINES/~darkpack/jobs.dm | 14 ++++--- .../~darkpack/lock_access_defines.dm | 2 + code/controllers/subsystem/job.dm | 27 ++++++++++++ .../modules/mob/dead/new_player/new_player.dm | 4 ++ .../modules/doors/code/keys/keys.dm | 20 +++++++-- .../modules/jobs/code/_job_assignment.dm | 18 ++++++++ modular_darkpack/modules/jobs/code/_jobs.dm | 5 ++- .../modules/jobs/code/anarchs/baron.dm | 4 +- .../modules/jobs/code/anarchs/bruiser.dm | 2 +- .../modules/jobs/code/anarchs/emissary.dm | 2 +- .../modules/jobs/code/anarchs/sweeper.dm | 2 +- .../modules/jobs/code/anarchs/tapster.dm | 9 ++-- .../code/camarilla/primogens/banu_haqim.dm | 2 +- .../jobs/code/camarilla/primogens/duskborn.dm | 42 +++++++++++++++++++ .../jobs/code/camarilla/primogens/lasombra.dm | 5 +-- .../code/camarilla/primogens/malkavian.dm | 5 +-- .../code/camarilla/primogens/nosferatu.dm | 5 +-- .../jobs/code/camarilla/primogens/toreador.dm | 5 +-- .../jobs/code/camarilla/primogens/ventrue.dm | 2 +- .../modules/jobs/code/clinic/director.dm | 19 ++++++--- .../modules/jobs/code/clinic/doctor.dm | 14 +++---- .../modules/jobs/code/giovanni/capo.dm | 2 +- .../modules/jobs/code/giovanni/la_famiglia.dm | 2 +- .../modules/jobs/code/giovanni/la_squadra.dm | 2 +- .../modules/jobs/code/tzimisce/bogatyr.dm | 4 +- .../modules/jobs/code/tzimisce/voivode.dm | 25 +++++++++-- .../modules/jobs/code/tzimisce/zadruga.dm | 2 +- modular_darkpack/modules/matrix/code/job.dm | 38 +++++++++++++---- .../npc/code/nonhuman/hostile/szlachta.dm | 2 +- modular_zapoc/modules/jobs/code/voivode.dm | 4 +- tgstation.dme | 1 + 33 files changed, 226 insertions(+), 69 deletions(-) create mode 100644 modular_darkpack/modules/jobs/code/camarilla/primogens/duskborn.dm diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index c91f00eb2313..3e801a5b1e99 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -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 diff --git a/code/__DEFINES/~darkpack/factions.dm b/code/__DEFINES/~darkpack/factions.dm index edfa94b41185..1aa5ca1b91dc 100644 --- a/code/__DEFINES/~darkpack/factions.dm +++ b/code/__DEFINES/~darkpack/factions.dm @@ -4,7 +4,8 @@ #define FACTION_ANARCHS "anarchs" #define FACTION_CAMARILLA "camarilla" #define FACTION_SABBAT "sabbat" -#define FACTION_GIOVANNI "giovanni-faction" +#define FACTION_BLACK_SUITS "black-suits" +#define FACTION_VOIVODATE "seers-voivodate" // City faction #define FACTION_CITY "city" diff --git a/code/__DEFINES/~darkpack/jobs.dm b/code/__DEFINES/~darkpack/jobs.dm index dc0a0e29b8cb..7592da4c690f 100644 --- a/code/__DEFINES/~darkpack/jobs.dm +++ b/code/__DEFINES/~darkpack/jobs.dm @@ -35,7 +35,8 @@ //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_REEVE "Reeve" // APOC EDIT CHANGE - JOBS #define JOB_BRUISER "Bruiser" #define JOB_EMISSARY "Emissary" #define JOB_SWEEPER "Sweeper" @@ -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 @@ -135,10 +136,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 diff --git a/code/__DEFINES/~darkpack/lock_access_defines.dm b/code/__DEFINES/~darkpack/lock_access_defines.dm index 12d6d17fdfdc..0d67c1da5926 100644 --- a/code/__DEFINES/~darkpack/lock_access_defines.dm +++ b/code/__DEFINES/~darkpack/lock_access_defines.dm @@ -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" diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 8dd28a795465..47608cd24eba 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -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) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 0a556c850a7c..dfcbe7599110 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -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 diff --git a/modular_darkpack/modules/doors/code/keys/keys.dm b/modular_darkpack/modules/doors/code/keys/keys.dm index 42c98e809e52..a9746d1f22f1 100644 --- a/modular_darkpack/modules/doors/code/keys/keys.dm +++ b/modular_darkpack/modules/doors/code/keys/keys.dm @@ -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" @@ -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, ) @@ -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( @@ -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( diff --git a/modular_darkpack/modules/jobs/code/_job_assignment.dm b/modular_darkpack/modules/jobs/code/_job_assignment.dm index 426fc90b6316..05544ce03618 100644 --- a/modular_darkpack/modules/jobs/code/_job_assignment.dm +++ b/modular_darkpack/modules/jobs/code/_job_assignment.dm @@ -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 @@ -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]" : ""]") diff --git a/modular_darkpack/modules/jobs/code/_jobs.dm b/modular_darkpack/modules/jobs/code/_jobs.dm index f31c0912168a..4bd3a76937e1 100644 --- a/modular_darkpack/modules/jobs/code/_jobs.dm +++ b/modular_darkpack/modules/jobs/code/_jobs.dm @@ -23,6 +23,8 @@ var/list/allowed_clans ///List of Clans that are disallowed to do this job. var/list/disallowed_clans + ///List of clans that are limited to a certain amount of that clan doing this job. e.g.: list(VAMPIRE_CLAN_TZIMISCE = 1, VAMPIRE_CLAN_MALKAVIAN = 0) // APOC EDIT ADD START + var/list/clan_slots // APOC EDIT ADD END // WTA ///Minimum Renown Rank necessary to do this job. @@ -33,7 +35,8 @@ ///List of Auspices that are allowed to do this job. var/list/allowed_auspice var/list/disallowed_auspice - + ///List of tribe that are limited to a certain amount of that tribe doing this job. e.g.: list(TRIBE_BLACK_SPIRAL_DANCERS = 1, TRIBE_BONE_GNAWERS = 0) // APOC EDIT ADD START + var/list/tribe_slots // APOC EDIT ADD END ///If this job requires whitelisting before it can be selected for characters. var/whitelisted = FALSE diff --git a/modular_darkpack/modules/jobs/code/anarchs/baron.dm b/modular_darkpack/modules/jobs/code/anarchs/baron.dm index ca815fab1478..793af751613e 100644 --- a/modular_darkpack/modules/jobs/code/anarchs/baron.dm +++ b/modular_darkpack/modules/jobs/code/anarchs/baron.dm @@ -3,7 +3,7 @@ faction = FACTION_ANARCHS total_positions = 1 spawn_positions = 1 - supervisors = "the Anarchs and the Traditions" + supervisors = "the Anarchs and the Status Perfectus" config_tag = "BARON" job_flags = CITY_JOB_FLAGS outfit = /datum/outfit/job/vampire/baron @@ -16,7 +16,7 @@ known_contacts = list("Bouncer", "Emissary", "Sweeper", "Prince", "Sheriff") allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_TRUE_BRUJAH, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_GARGOYLE, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_SAMEDI, VAMPIRE_CLAN_NAGARAJA) allowed_splats = list(SPLAT_KINDRED) - description = "You lead the Anarchs in the City. A Camarilla faction that values freedom and individuality. While not a fan of the traditions, you still respect the Masquerade." + description = "You hold ground on what the Second Revolt has left in the city. As one of San Francisco's Barons, you directly represent the Status Perfectus and the Second Revolt. You have a haven under the Dragonsbreath Smokeshop, your cover business." minimum_masquerade = 3 /datum/outfit/job/vampire/baron diff --git a/modular_darkpack/modules/jobs/code/anarchs/bruiser.dm b/modular_darkpack/modules/jobs/code/anarchs/bruiser.dm index ee3cf10de71a..1eeec9c46d6b 100644 --- a/modular_darkpack/modules/jobs/code/anarchs/bruiser.dm +++ b/modular_darkpack/modules/jobs/code/anarchs/bruiser.dm @@ -29,7 +29,7 @@ allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL) maximal_generation = 9 maximum_immortal_age = 200 - description = "You are the enforcer of the Anarchs. The baron is always in need of muscle power. Enforce the Traditions - in the anarch way." + description = "You are the enforcer of the Anarchs. The baron is always in need of muscle power. Enforce the Status Perfectus. You can find the Anarch haven under the Dragonsbreath Smokeshop." minimum_masquerade = 2 /datum/outfit/job/vampire/bruiser diff --git a/modular_darkpack/modules/jobs/code/anarchs/emissary.dm b/modular_darkpack/modules/jobs/code/anarchs/emissary.dm index d2722725efdb..573bd794b78b 100644 --- a/modular_darkpack/modules/jobs/code/anarchs/emissary.dm +++ b/modular_darkpack/modules/jobs/code/anarchs/emissary.dm @@ -16,7 +16,7 @@ known_contacts = list("Baron", "Bouncer", "Emissary", "Sweeper", "Prince", "Sheriff") allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_TRUE_BRUJAH, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_GARGOYLE, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_CAPPADOCIAN, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_SAMEDI, VAMPIRE_CLAN_NAGARAJA) allowed_splats = list(SPLAT_KINDRED) - description = "You are a diplomat for the anarchs. Make deals, keep the peace, all through words, not violence. But the latter may come to pass if the former fails." + description = "You are a diplomat for the anarchs. Make deals, keep the peace, all through words, not violence. But the latter may come to pass if the former fails. You can find the Anarch haven under the Dragonsbreath Smokeshop." minimum_masquerade = 2 /datum/outfit/job/vampire/emissary diff --git a/modular_darkpack/modules/jobs/code/anarchs/sweeper.dm b/modular_darkpack/modules/jobs/code/anarchs/sweeper.dm index 38a5d3123a09..9fe1400f086c 100644 --- a/modular_darkpack/modules/jobs/code/anarchs/sweeper.dm +++ b/modular_darkpack/modules/jobs/code/anarchs/sweeper.dm @@ -16,7 +16,7 @@ known_contacts = list("Baron", "Bouncer", "Emissary", "Sweeper") allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_TRUE_BRUJAH, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_GARGOYLE, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_CAPPADOCIAN, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_SAMEDI, VAMPIRE_CLAN_NAGARAJA) allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL) - description = "You are the observer of the anarchs. You watch out for any new kindred, suspicious individuals, and any new rumors near the anarch turf, and then report it to your anarchs." + description = "You are the observer of the anarchs. You watch out for any new kindred, suspicious individuals, and any new rumors near the anarch turf, and then report it to your anarchs. You can find the Anarch haven under the Dragonsbreath Smokeshop." minimum_masquerade = 2 /datum/outfit/job/vampire/sweeper diff --git a/modular_darkpack/modules/jobs/code/anarchs/tapster.dm b/modular_darkpack/modules/jobs/code/anarchs/tapster.dm index a1dea1c3635d..b5d188e02d6e 100644 --- a/modular_darkpack/modules/jobs/code/anarchs/tapster.dm +++ b/modular_darkpack/modules/jobs/code/anarchs/tapster.dm @@ -26,13 +26,14 @@ */ known_contacts = list("Baron", "Bouncer", "Emissary", "Sweeper") - allowed_splats = list(SPLAT_NONE, SPLAT_GHOUL) - splat_slots = list(SPLAT_NONE = 2, SPLAT_GHOUL = 2) - description = "You are an employee of the local smoke shop. Serve the eclectic clients that pass through, and try not to ask too many questions." // APOC EDIT CHANGE - JOBS + allowed_splats = list(SPLAT_NONE, SPLAT_GHOUL, SPLAT_KINDRED) + splat_slots = list(SPLAT_NONE = 2, SPLAT_GHOUL = 2, SPLAT_KINDRED = 1) + maximum_immortal_age = 5 + description = "You have been given keys to the DragonsBreath Smokeshop, but are not trusted to hold a real title. You are either a ghoul, a doll, a fledgeling, or someone impersonating one of the three." // APOC EDIT CHANGE - JOBS minimum_masquerade = 0 /datum/outfit/job/vampire/tapster - name = "Tapster" + name = "Retinue" jobtype = /datum/job/vampire/tapster id = /obj/item/card/tapster diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/banu_haqim.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/banu_haqim.dm index 4816a28c0b25..c05c6b349bfd 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/banu_haqim.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/banu_haqim.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_banu title = JOB_PRIMOGEN_BANU_HAQIM - description = "Offer your infinite knowledge to Prince of the City, while overseeing the Banu Haqim in the city. Monitor their contracts and ensure they remain true to the ways of the Clan. You have an official cover with the Police Department as a local civilian consultant, ensure things run smoothly, on either end." + description = "Offer your infinite knowledge to Prince of the City, while overseeing the Banu Haqim in the city. Monitor their contracts and ensure they remain true to the ways of the Clan." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/duskborn.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/duskborn.dm new file mode 100644 index 000000000000..819e8ac48d2b --- /dev/null +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/duskborn.dm @@ -0,0 +1,42 @@ +/datum/job/vampire/primogen_duskborn + title = JOB_PRIMOGEN_MALKAVIAN + description = "You are too valuable to not have a position, but you are not recognized enough for anything more. You are tasked with managing the city's thinbloods and Caitiff population. You may be a Caitiff yourself, however unlikely that may be." + auto_deadmin_role_flags = DEADMIN_POSITION_HEAD + faction = FACTION_CAMARILLA + total_positions = 1 + spawn_positions = 1 + supervisors = SUPERVISOR_TRADITIONS + req_admin_notify = 1 + minimal_player_age = 14 + exp_requirements = 180 + exp_required_type = EXP_TYPE_CAMARILLA + exp_required_type_department = EXP_TYPE_CAMARILLA + exp_granted_type = EXP_TYPE_CAMARILLA + config_tag = "PRIMOGEN_MALKAVIAN" + job_flags = CITY_JOB_FLAGS + outfit = /datum/outfit/job/vampire/duskborn + +// display_order = JOB_DISPLAY_ORDER_DUSKBORN + departments_list = list( + /datum/job_department/camarilla + ) + + minimal_generation = 10 + minimum_immortal_age = 150 + minimum_masquerade = 5 + allowed_splats = list(SPLAT_KINDRED) + allowed_clans = list(VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_BANU_HAQIM_VIZIER, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_DOMINATE_MALKAVIAN, VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_WARRIOR_SALUBRI) + + known_contacts = list("Prince") + +/datum/outfit/job/vampire/duskborn + name = "Duskborn Primogen" + jobtype = /datum/job/vampire/primogen_duskborn + + ears = /obj/item/radio/headset/darkpack + id = /obj/item/card/primogen + uniform = /obj/item/clothing/under/vampire/suit + suit = /obj/item/clothing/suit/vampire/trench + shoes = /obj/item/clothing/shoes/vampire/jackboots +// l_pocket = /obj/item/smartphone/duskborn_primo + backpack_contents = list(/obj/item/vamp/keys/duskborn/primogen=1, /obj/item/card/credit/elder=1, /obj/item/card/whip, /obj/item/card/steward, /obj/item/card/myrmidon) diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/lasombra.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/lasombra.dm index d5090b7b1ad3..cea16231d9fc 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/lasombra.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/lasombra.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_lasombra title = JOB_PRIMOGEN_LASOMBRA - description = "Offer your infinite knowledge to Prince of the City. Monitor those of your Clan and your lesser cousins, while holding a Court of Blood as need be, for all it takes for the Camarilla to turn on you is one mistake. You and Your Clan were given a domain in the local Church and in the vicinity of a swarm of Lupines, keep matters under control." + description = "Offer your infinite knowledge to Prince of the City. Monitor those of your Clan and your lesser cousins, while holding a Court of Blood as need be, for all it takes for the Camarilla to turn on you is one mistake." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 @@ -18,8 +18,7 @@ display_order = JOB_DISPLAY_ORDER_LASOMBRA departments_list = list( - /datum/job_department/church, - /datum/job_department/camarilla, + /datum/job_department/camarilla ) minimal_generation = 12 diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/malkavian.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/malkavian.dm index 174c2c996329..17ccc4cbc201 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/malkavian.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/malkavian.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_malkavian title = JOB_PRIMOGEN_MALKAVIAN - description = "Offer your infinite knowledge to Prince of the City. You likely have a hold over the local hospital, make good use of it and ensure the blood bags remain available." + description = "Offer your infinite knowledge to Prince of the City. Uphold clan interests. Lead the children of the moon and shattered mirror." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 @@ -18,8 +18,7 @@ display_order = JOB_DISPLAY_ORDER_MALKAVIAN departments_list = list( - /datum/job_department/clinic, - /datum/job_department/camarilla, + /datum/job_department/camarilla ) minimal_generation = 12 diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/nosferatu.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/nosferatu.dm index 9f5d30d84860..161e458e7dd6 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/nosferatu.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/nosferatu.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_nosferatu title = JOB_PRIMOGEN_NOSFERATU - description = "Offer your infinite knowledge to Prince of the City, and run the warren, your domain watches over the sewers." + description = "Offer your infinite knowledge to Prince of the City. Manage what's left of your Warrens. Keep your clan interests in mind." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 @@ -18,8 +18,7 @@ display_order = JOB_DISPLAY_ORDER_NOSFERATU departments_list = list( - /datum/job_department/camarilla, - /datum/job_department/city_services + /datum/job_department/camarilla ) minimal_generation = 12 diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/toreador.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/toreador.dm index b9ccff0ea6e2..e5c2a0406ac1 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/toreador.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/toreador.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_toreador title = JOB_PRIMOGEN_TOREADOR - description = "Offer your infinite knowledge to Prince of the City. Take care of the Strip Club and its Elysium, for it is your domain and a social center within the city." + description = "Offer your infinite knowledge to Prince of the City. Keep clan interests in mind." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 @@ -18,8 +18,7 @@ display_order = JOB_DISPLAY_ORDER_TOREADOR departments_list = list( - /datum/job_department/strip_club, - /datum/job_department/camarilla, + /datum/job_department/camarilla ) minimal_generation = 12 diff --git a/modular_darkpack/modules/jobs/code/camarilla/primogens/ventrue.dm b/modular_darkpack/modules/jobs/code/camarilla/primogens/ventrue.dm index 2a4ae75592e8..dccef34f5770 100644 --- a/modular_darkpack/modules/jobs/code/camarilla/primogens/ventrue.dm +++ b/modular_darkpack/modules/jobs/code/camarilla/primogens/ventrue.dm @@ -1,6 +1,6 @@ /datum/job/vampire/primogen_ventrue title = JOB_PRIMOGEN_VENTRUE - description = "Offer your infinite knowledge to Prince of the City. Maintain the local Jazz Club, in front of the Tower, and its Elysium." + description = "Offer your infinite knowledge to Prince of the City. Uphold Clan interests and look out for prospective protege for it." auto_deadmin_role_flags = DEADMIN_POSITION_HEAD faction = FACTION_CAMARILLA total_positions = 1 diff --git a/modular_darkpack/modules/jobs/code/clinic/director.dm b/modular_darkpack/modules/jobs/code/clinic/director.dm index 4229413981c9..35964b020cc1 100644 --- a/modular_darkpack/modules/jobs/code/clinic/director.dm +++ b/modular_darkpack/modules/jobs/code/clinic/director.dm @@ -1,24 +1,31 @@ /datum/job/vampire/clinic_director title = JOB_CLINIC_DIRECTOR faction = FACTION_CITY - total_positions = 1 - spawn_positions = 1 + total_positions = 2 + spawn_positions = 2 supervisors = "the Hospital Administrator" exp_required_type_department = EXP_TYPE_CLINIC config_tag = "CLINIC_DIRECTOR" outfit = /datum/outfit/job/vampire/clinic_director job_flags = CITY_JOB_FLAGS display_order = JOB_DISPLAY_ORDER_CLINICS_DIRECTOR + known_contacts = list("Senior Doctor", "Doctor") departments_list = list( /datum/job_department/clinic, ) - description = "Keep Saint John's clinic up and running. Collect blood by helping mortals at the Clinic." - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE) - allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_GIOVANNI, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_NAGARAJA) + description = "Senior staff at Ocean Clinic, help the rest of the doctors, nurses, and EMTs with whatever they need. Uphold high standards of care." + allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_NONE, SPLAT_GAROU, SPLAT_KINFOLK, SPLAT_CORAX) +// allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_GIOVANNI, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_NAGARAJA, VAMPIRE_CLAN_WARRIOR_SALUBRI) + + alt_titles = list( + "Head of Surgery", + "Care Coordinator", + "Shift Operations Supervisor" + ) /datum/outfit/job/vampire/clinic_director - name = "Clinic Director" + name = "Senior Doctor" jobtype = /datum/job/vampire/clinic_director ears = /obj/item/radio/headset/darkpack diff --git a/modular_darkpack/modules/jobs/code/clinic/doctor.dm b/modular_darkpack/modules/jobs/code/clinic/doctor.dm index 7f1c0e083e9c..9be073edeb37 100644 --- a/modular_darkpack/modules/jobs/code/clinic/doctor.dm +++ b/modular_darkpack/modules/jobs/code/clinic/doctor.dm @@ -14,12 +14,12 @@ /datum/job_department/clinic, ) - description = "Help your fellow kindred in all matters medicine related. Sell blood. Keep your human colleagues ignorant." - maximal_generation = 9 - maximum_immortal_age = 200 - allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE) - allowed_clans = list(VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_VENTRUE_ANTITRIBU, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_DOMINATE_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_BANU_HAQIM_VIZIER, VAMPIRE_CLAN_GIOVANNI, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_TLACIQUE, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_NAGARAJA) - known_contacts = list("Clinic Director") + description = "Work your job at the Ocean Clinic. Help patients, keep a tidy space, and uphold high standards of care." +// maximal_generation = 9 +// maximum_immortal_age = 200 + allowed_splats = list(SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_NONE, SPLAT_CORAX, SPLAT_GAROU) +// allowed_clans = list(VAMPIRE_CLAN_WARRIOR_SALUBRI, VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY, VAMPIRE_CLAN_HEALER_SALUBRI, VAMPIRE_CLAN_BAALI, VAMPIRE_CLAN_BRUJAH, VAMPIRE_CLAN_TREMERE, VAMPIRE_CLAN_VENTRUE, VAMPIRE_CLAN_VENTRUE_ANTITRIBU, VAMPIRE_CLAN_NOSFERATU, VAMPIRE_CLAN_GANGREL, VAMPIRE_CLAN_CITY_GANGREL, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_DOMINATE_MALKAVIAN, VAMPIRE_CLAN_BANU_HAQIM, VAMPIRE_CLAN_BANU_HAQIM_VIZIER, VAMPIRE_CLAN_GIOVANNI, VAMPIRE_CLAN_SETITE, VAMPIRE_CLAN_TLACIQUE, VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_LASOMBRA, VAMPIRE_CLAN_CAITIFF, VAMPIRE_CLAN_KIASYD, VAMPIRE_CLAN_NAGARAJA) + known_contacts = list("Senior Doctor", "Doctor") alt_titles = list( "Doctor", @@ -31,7 +31,7 @@ "Surgeon", "Physician", "Paramedic", - "EMT", + "EMT" ) diff --git a/modular_darkpack/modules/jobs/code/giovanni/capo.dm b/modular_darkpack/modules/jobs/code/giovanni/capo.dm index 589e2881f17d..9ce65a39e548 100644 --- a/modular_darkpack/modules/jobs/code/giovanni/capo.dm +++ b/modular_darkpack/modules/jobs/code/giovanni/capo.dm @@ -1,6 +1,6 @@ /datum/job/vampire/capo title = JOB_CAPO - faction = FACTION_GIOVANNI +// faction = FACTION_GIOVANNI total_positions = 1 spawn_positions = 1 supervisors = "the Family and the Traditions" diff --git a/modular_darkpack/modules/jobs/code/giovanni/la_famiglia.dm b/modular_darkpack/modules/jobs/code/giovanni/la_famiglia.dm index 50c180c1786c..748e3cc5e26b 100644 --- a/modular_darkpack/modules/jobs/code/giovanni/la_famiglia.dm +++ b/modular_darkpack/modules/jobs/code/giovanni/la_famiglia.dm @@ -1,6 +1,6 @@ /datum/job/vampire/famiglia title = JOB_LA_FAMIGLIA - faction = FACTION_GIOVANNI +// faction = FACTION_GIOVANNI total_positions = 10 spawn_positions = 10 supervisors = "the Family" diff --git a/modular_darkpack/modules/jobs/code/giovanni/la_squadra.dm b/modular_darkpack/modules/jobs/code/giovanni/la_squadra.dm index bd713ff7881c..c85c2a1f9821 100644 --- a/modular_darkpack/modules/jobs/code/giovanni/la_squadra.dm +++ b/modular_darkpack/modules/jobs/code/giovanni/la_squadra.dm @@ -1,6 +1,6 @@ /datum/job/vampire/squadra title = JOB_LA_SQUADRA - faction = FACTION_GIOVANNI +// faction = FACTION_GIOVANNI total_positions = 10 spawn_positions = 10 supervisors = "the Family and the Traditions" diff --git a/modular_darkpack/modules/jobs/code/tzimisce/bogatyr.dm b/modular_darkpack/modules/jobs/code/tzimisce/bogatyr.dm index 27dc2f822c46..b0392e38762c 100644 --- a/modular_darkpack/modules/jobs/code/tzimisce/bogatyr.dm +++ b/modular_darkpack/modules/jobs/code/tzimisce/bogatyr.dm @@ -1,7 +1,7 @@ /datum/job/vampire/bogatyr title = JOB_BOGATYR - faction = FACTION_SABBAT + faction = FACTION_VOIVODATE total_positions = 2 // APOC EDIT CHANGE - JOBS - (Voivode) spawn_positions = 2 // APOC EDIT CHANGE - JOBS - (Voivode) supervisors = " the Laws of Hospitality" @@ -22,7 +22,7 @@ maximum_immortal_age = 200 minimum_masquerade = 2 - known_contacts = list("Prince", "Baron", "Sheriff") + known_contacts = list("Voivode", "Zadruga", "Bogatyr", "Bogatyr Captain") /datum/outfit/job/vampire/bogatyr name = "Bogatyr" diff --git a/modular_darkpack/modules/jobs/code/tzimisce/voivode.dm b/modular_darkpack/modules/jobs/code/tzimisce/voivode.dm index 504648e4ce91..8095ab66bba1 100644 --- a/modular_darkpack/modules/jobs/code/tzimisce/voivode.dm +++ b/modular_darkpack/modules/jobs/code/tzimisce/voivode.dm @@ -1,8 +1,8 @@ /datum/job/vampire/voivode title = JOB_VOIVODE - faction = FACTION_SABBAT - total_positions = 1 - spawn_positions = 1 + faction = FACTION_VOIVODATE + total_positions = 2 + spawn_positions = 2 supervisors = " the Laws of Hospitality" config_tag = "VOIVODE" outfit = /datum/outfit/job/vampire/voivode @@ -16,6 +16,8 @@ allowed_splats = list(SPLAT_KINDRED) allowed_clans = list(VAMPIRE_CLAN_TZIMISCE, VAMPIRE_CLAN_MALKAVIAN, VAMPIRE_CLAN_TOREADOR, VAMPIRE_CLAN_OLD_CLAN_TZIMISCE) // APOC EDIT CHANGE - JOBS - (Voivode) + clan_slots = list(VAMPIRE_CLAN_TZIMISCE = 1, VAMPIRE_CLAN_MALKAVIAN = 1, VAMPIRE_CLAN_TOREADOR = 1, VAMPIRE_CLAN_OLD_CLAN_TZIMISCE = 1) + description = "You are a leader of the Seer's Voivodate. A congregation of Seer clans, leading the new Voivodate in the face of near systemic Collapse. Oversee the Hospitality on your lands, and guard the Sarcophagus of the Voivode-in-Waiting in Waiting kept in your basement." // APOC EDIT CHANGE - JOBS - (Voivode) minimum_masquerade = 2 @@ -31,4 +33,19 @@ shoes = /obj/item/clothing/shoes/vampire/jackboots belt = /obj/item/storage/belt/sheath/vamp/sword l_pocket = /obj/item/smartphone/voivode - backpack_contents = list(/obj/item/vamp/keys/voivodate/master = 1, /obj/item/instrument/eguitar/vamp = 1, /obj/item/card/credit/elder = 1) // DARKPACK EDIT CHANGE - JOBS - (Voivode) + backpack_contents = list(/obj/item/vamp/keys/voivodate/master = 1, /obj/item/card/credit/elder = 1) // DARKPACK EDIT CHANGE - JOBS - (Voivode) + +/* +/datum/job/vampire/voivode/after_spawn(mob/living/spawned, client/player_client) + . = ..() + RegisterSignal(spawned, COMSIG_MOB_GHOSTIZED, PROC_REF(on_mob_ghost)) + var/datum/splat/our_splat = get_kindred_splat(spawned) + var/clan_id = our_splat.clan.id + allowed_clans -= clan_id + +/datum/job/vampire/voivode/proc/on_mob_ghost(mob/living/despawning) + SIGNAL_HANDLER + var/datum/splat/our_splat = get_kindred_splat(spawned) + var/clan_id = our_splat.clan.id + allowed_clans += clan_id +*/ diff --git a/modular_darkpack/modules/jobs/code/tzimisce/zadruga.dm b/modular_darkpack/modules/jobs/code/tzimisce/zadruga.dm index e34781ae02e9..c053956977af 100644 --- a/modular_darkpack/modules/jobs/code/tzimisce/zadruga.dm +++ b/modular_darkpack/modules/jobs/code/tzimisce/zadruga.dm @@ -1,6 +1,6 @@ /datum/job/vampire/zadruga title = JOB_ZADRUGA - faction = FACTION_SABBAT + faction = FACTION_VOIVODATE total_positions = 2 spawn_positions = 2 supervisors = " the Laws of Hospitality" diff --git a/modular_darkpack/modules/matrix/code/job.dm b/modular_darkpack/modules/matrix/code/job.dm index ece34c3d22a4..b629020ecdef 100644 --- a/modular_darkpack/modules/matrix/code/job.dm +++ b/modular_darkpack/modules/matrix/code/job.dm @@ -7,13 +7,35 @@ job_debug("Freeing role: [job_datum.title]") job_datum.current_positions = max(0, job_datum.current_positions - 1) - - //Getting it from prefs is untrustworthy as they could have unlocked there sheet. (even before the move to splats) +// APOC EDIT CHANGE START + //Getting it from prefs is untrustworthy as they could have unlocked there sheet. (even before the move to splats) // //But getting it from spalts is impercise as those can change. //What to do with you. - /* - var/datum/species/player_species = despawning_mob.dna?.species - var/player_species_id = player_species?.id - if(job_datum.splat_slots[player_species_id] >= 0) - job_datum.splat_slots[player_species_id] = job_datum.splat_slots[player_species_id] + 1 - */ + var/splat_pref = despawning_mob.client.prefs.read_preference(/datum/preference/choiced/splats) + var/datum/splat/vampire/kindred/clan_pref = get_kindred_splat(despawning_mob) + var/datum/splat/werewolf/tribe_pref = get_werewolf_splat(despawning_mob) + 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_datum.splat_slots) + if(job_datum.splat_slots[player_splat_id] >= 0) + job_datum.splat_slots[player_splat_id] = job_datum.splat_slots[player_splat_id] + 1 + if(job_datum.clan_slots) + if(job_datum.clan_slots[player_clan_id] >= 0) + job_datum.clan_slots[player_clan_id] = job_datum.clan_slots[player_clan_id] + 1 + if(job_datum.tribe_slots) + if(job_datum.tribe_slots[player_tribe_id] >= 0) + job_datum.tribe_slots[player_tribe_id] = job_datum.tribe_slots[player_tribe_id] + 1 +// APOC EDIT CHANGE END diff --git a/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm b/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm index bf3a58cf5142..09bc62dc6874 100644 --- a/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm +++ b/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm @@ -21,7 +21,7 @@ attack_verb_simple = "bite" attack_sound = 'sound/items/weapons/bite.ogg' speak_emote = list("gnashes") - faction = list(FACTION_SABBAT, VAMPIRE_CLAN_TZIMISCE) + faction = list(FACTION_VOIVODATE, VAMPIRE_CLAN_TZIMISCE) pressure_resistance = 200 bloodquality = BLOOD_QUALITY_LOW bloodpool = 2 diff --git a/modular_zapoc/modules/jobs/code/voivode.dm b/modular_zapoc/modules/jobs/code/voivode.dm index 6aa21eed36e2..9dfcd3fb0289 100644 --- a/modular_zapoc/modules/jobs/code/voivode.dm +++ b/modular_zapoc/modules/jobs/code/voivode.dm @@ -1,6 +1,6 @@ /datum/job/vampire/voivodate_citizen title = JOB_VOIVODATE_CITIZEN - faction = FACTION_SABBAT + faction = FACTION_VOIVODATE total_positions = 5 spawn_positions = 5 supervisors = " the Laws of Hospitality" @@ -44,7 +44,7 @@ description = "Captain of the Bogatyri, protectors of the Seer's Voivodate. You lead them in the protection of your family and the Voivode-in-Waiting who sleeps in the basement. Serve the Voivodes, and enforce the Hospitality on your family's lands." display_order = JOB_DISPLAY_ORDER_BOGATYR_CAPTAIN - known_contacts = list("Prince", "Baron", "Sheriff", "Emissary", "Seneschal", "Zadruga", "Bogatyr") + known_contacts = list("Voivode", "Zadruga", "Bogatyr", "Bogatyr Captain") /datum/outfit/job/vampire/bogatyr/captain name = "Bogatyr Captain" diff --git a/tgstation.dme b/tgstation.dme index c0bdda7d0859..0a78e46a3dda 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7465,6 +7465,7 @@ #include "modular_darkpack\modules\jobs\code\camarilla\sheriff.dm" #include "modular_darkpack\modules\jobs\code\camarilla\tower_employee.dm" #include "modular_darkpack\modules\jobs\code\camarilla\primogens\banu_haqim.dm" +#include "modular_darkpack\modules\jobs\code\camarilla\primogens\duskborn.dm" #include "modular_darkpack\modules\jobs\code\camarilla\primogens\lasombra.dm" #include "modular_darkpack\modules\jobs\code\camarilla\primogens\malkavian.dm" #include "modular_darkpack\modules\jobs\code\camarilla\primogens\nosferatu.dm"