Skip to content
Open
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
12 changes: 7 additions & 5 deletions code/__DEFINES/~darkpack/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,22 +269,24 @@ DEFINE_BITFIELD(departments_bitflags, list(

// Playtime tracking system, see jobs_exp.dm
// weird one.
#define EXP_TYPE_KINDRED "Kindred"
#define EXP_TYPE_PLAYTIME "Playtime"
#define EXP_TYPE_GAIA "Garou Nation"
#define EXP_TYPE_SPIRAL "Pentex"
#define EXP_TYPE_CAMARILLA "Camarilla Authorities"
#define EXP_TYPE_WAREHOUSE "Supply"
#define EXP_TYPE_CHANTRY "Chantry"
#define EXP_TYPE_ANARCH "Anarchs"
#define EXP_TYPE_SABBAT "Sabbat"
#define EXP_TYPE_COUNCIL "Camarilla Primogen Council"
#define EXP_TYPE_POLICE "Police Force"
#define EXP_TYPE_NATIONAL_SECURITY "National Security"
#define EXP_TYPE_SERVICES "City Services"
// this prob should just say clinic genericly.
#define EXP_TYPE_CLINIC "St. John's Clinic"
#define EXP_TYPE_CLINIC "Clinic"
#define EXP_TYPE_GIOVANNI "Giovanni Family"
#define EXP_TYPE_MANOR "Voivodate" // APOC EDIT CHANGE - (Voivode)
#define EXP_TYPE_CHURCH "Church"
#define EXP_TYPE_CLUB "Strip Club"
#define EXP_TYPE_SOCIETY_OF_LEOPOLD "Society of Leopold"
#define EXP_TYPE_OCEAN "Ocean 76" // APOC EDIT ADD - JOBS - Ocean 76

#define EXP_REQ_CRITICAL 720
#define EXP_REQ_HEAD 360
#define EXP_REQ_MINOR 180
2 changes: 2 additions & 0 deletions code/__DEFINES/~darkpack/whitelist.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#define WHITELIST_TRUSTED "trusted"
#define WHITELIST_TIMELIMITS "timelimits"
2 changes: 1 addition & 1 deletion code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
// DARKPACK EDIT ADD START - (patches alot of minor exploits from midround char sheet manipulation)
if(!isnewplayer(usr) && ("[usr.client.prefs.default_slot]" in usr.persistent_client.joined_as_slots))
if(check_rights(R_ADMIN))
to_chat(usr, span_warning("Swapping between character slots midround is unsupported and can lead to false writes to prefrences."))
to_chat(usr, span_warning("Swapping between character slots midround is unsupported and can lead to false writes to preferences."))
else
to_chat(usr, span_warning("You cannot be spawned in as this character to swap character slots. Return to the lobby to change characters."))
return FALSE
Expand Down
1 change: 1 addition & 0 deletions code/modules/client/preferences_savefile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
stack_trace("remove_current_slot() being called when there are no slots to go to, the client should prevent this")
return

discipline_levels = list() // TFN EDIT ADD - remove disciplines when removing a character slot
savefile.remove_entry("character[default_slot]")
tainted_character_profiles = TRUE
switch_to_slot(closest_slot)
Expand Down
4 changes: 4 additions & 0 deletions code/modules/jobs/job_exp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ GLOBAL_PROTECT(exp_to_update)
return 0
if(!IS_XP_LOCKED(src))
return 0
// DARKPACK EDIT ADD START - (whitelist)
if(C.prefs?.has_whitelist(WHITELIST_TIMELIMITS))
return 0
// DARKPACK EDIT ADD END
if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_rights_for(C,R_ADMIN))
return 0
var/isexempt = C.prefs.db_flags & DB_FLAG_EXEMPT
Expand Down
11 changes: 11 additions & 0 deletions config/darkpack_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ ROUNDSTART_SPLATS splat_kinfolk
ROUNDSTART_SPLATS splat_garou
ROUNDSTART_SPLATS splat_corax

#WHITELISTED_SPLATS splat_garou
#WHITELISTED_SPLATS splat_corax

#WHITELISTED_CLANS baali
#WHITELISTED_CLANS healer_salubri
#WHITELISTED_CLANS warrior_salubri
#WHITELISTED_CLANS true_brujah
#WHITELISTED_CLANS cappadocian
#WHITELISTED_CLANS harbinger


## If dead people and ghosts can LOOC to people who are alive.
DISABLE_GHOST_LOOC

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,49 @@
var/list/discipline_levels = list()
// Alternative job titles stored in preferences. Assoc list, ie. alt_job_titles["Scientist"] = "Cytologist"
var/list/alt_job_titles = list()
/// Whether this player is whitelisted to bypass discipline sheet validation limits
/// Whether this player is whitelisted to bypass discipline sheet validation limits /// LEGACY
var/discipline_trusted = FALSE


/datum/preferences/load_preferences()
discipline_trusted = savefile.get_entry("discipline_trusted", FALSE) // deserialization and its consequences

// WHITELIST
var/list/saved = savefile.get_entry("player_whitelists")
if(isnull(saved) || !islist(saved) || !length(saved))
player_whitelists = get_default_player_whitelists().Copy()
else
player_whitelists = saved

var/alist/defaults = get_default_player_whitelists()
for(var/key, bool in defaults)
if(!(key in player_whitelists))
to_chat(parent, span_boldnotice("New whitelist key added to whitelists: [key] [bool ? "TRUE": "FALSE"]."))
player_whitelists[key] = bool

for(var/key in saved)
if(!(key in defaults))
to_chat(parent, span_boldnotice("Bad whitelist key has been removed from whitelists"))
player_whitelists[key] = null

if(discipline_trusted && !player_whitelists[WHITELIST_TRUSTED]) // backwards compatibility
player_whitelists[WHITELIST_TRUSTED] = TRUE
if(!isnull(parent))
to_chat(parent, span_boldnotice("Great news! Your existing trusted status was successfully migrated to the new splat whitelist system."))

discipline_trusted = player_whitelists[WHITELIST_TRUSTED]
// WHITELIST

. = ..()

/datum/preferences/save_preferences()
savefile.set_entry("discipline_trusted", discipline_trusted) // since existing load/save is per character, save and load it from a level above that

// WHITELIST
if(!isnull(player_whitelists))
savefile.set_entry("player_whitelists", player_whitelists)
// WHITELIST

. = ..()

/datum/preferences/load_character(slot)
Expand Down
4 changes: 2 additions & 2 deletions modular_darkpack/modules/jobs/code/_departments.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
/datum/job_department/city_services
department_name = DEPARTMENT_CITY_SERVICES
department_bitflags = DEPARTMENT_BITFLAG_CITY_SERVICES
department_experience_type = EXP_TYPE_SERVICES
display_order = 14
// give its own ui color?

Expand All @@ -134,8 +135,7 @@
department_name = DEPARTMENT_SOCIETY_OF_LEOPOLD
department_bitflags = DEPARTMENT_BITFLAG_SOCIETY_OF_LEOPOLD
department_head = /datum/job/vampire/abbe
// why are you reusing the church xp.
department_experience_type = EXP_TYPE_CHURCH
department_experience_type = EXP_TYPE_SOCIETY_OF_LEOPOLD
display_order = 15
ui_color = "#fff022"

Expand Down
5 changes: 5 additions & 0 deletions modular_darkpack/modules/jobs/code/_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@
((guestbook_flags & GUESTBOOK_DEPARTMENT) && length(common_departments)))
spawned.mind.guestbook.add_guest(spawned, player_mob, player_mob.mind.name, player_mob.mind.name, silent = TRUE)

/datum/job/vampire
abstract_type = /datum/job/vampire
exp_required_type = EXP_TYPE_PLAYTIME
exp_granted_type = EXP_TYPE_PLAYTIME

/**
* This type is used to indicate a lack of a job.
* The mind variable assigned_role will point here by default.
Expand Down
3 changes: 3 additions & 0 deletions modular_darkpack/modules/jobs/code/anarchs/baron.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
/datum/job_department/anarch,
)

exp_requirements = EXP_REQ_HEAD
exp_required_type_department = EXP_TYPE_ANARCH

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)
Expand Down
8 changes: 4 additions & 4 deletions modular_darkpack/modules/jobs/code/camarilla/harpy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
config_tag = "HARPY"
req_admin_notify = 1
minimal_player_age = 10
exp_requirements = 180
exp_required_type = EXP_TYPE_CAMARILLA
exp_required_type_department = EXP_TYPE_CAMARILLA
exp_granted_type = EXP_TYPE_CAMARILLA

// exp_requirements = EXP_REQ_MINOR
// exp_required_type_department = EXP_TYPE_CAMARILLA

job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/harpy

Expand Down
4 changes: 0 additions & 4 deletions modular_darkpack/modules/jobs/code/camarilla/hound.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@
spawn_positions = 7
supervisors = SUPERVISOR_SHERIFF
minimal_player_age = 7
exp_requirements = 20
exp_required_type = EXP_TYPE_CAMARILLA
exp_required_type_department = EXP_TYPE_CAMARILLA
exp_granted_type = EXP_TYPE_CAMARILLA
config_tag = "HOUND"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/hound
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_BANU_HAQIM"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/banuprim
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_LASOMBRA"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/lasombraprim
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_MALKAVIAN"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/malkav
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_NOSFERATU"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/nosferatu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_TOREADOR"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/toreador
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
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
exp_requirements = EXP_REQ_HEAD
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "PRIMOGEN_VENTRUE"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/ventrue
Expand Down
4 changes: 1 addition & 3 deletions modular_darkpack/modules/jobs/code/camarilla/prince.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_TRADITIONS
req_admin_notify = 1
minimal_player_age = 14
exp_requirements = 180
exp_required_type = EXP_TYPE_CAMARILLA
exp_requirements = EXP_REQ_CRITICAL
exp_required_type_department = EXP_TYPE_CAMARILLA
exp_granted_type = EXP_TYPE_CAMARILLA
config_tag = "PRINCE"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/prince
Expand Down
6 changes: 2 additions & 4 deletions modular_darkpack/modules/jobs/code/camarilla/seneschal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_PRINCE
req_admin_notify = 1
minimal_player_age = 10
exp_requirements = 180
exp_required_type = EXP_TYPE_CAMARILLA
exp_required_type_department = EXP_TYPE_CAMARILLA
exp_granted_type = EXP_TYPE_CAMARILLA
exp_requirements = EXP_REQ_MINOR
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "SENESCHAL"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/clerk
Expand Down
6 changes: 2 additions & 4 deletions modular_darkpack/modules/jobs/code/camarilla/sheriff.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_PRINCE
req_admin_notify = 1
minimal_player_age = 14
exp_requirements = 120
exp_required_type = EXP_TYPE_CAMARILLA
exp_required_type_department = EXP_TYPE_CAMARILLA
exp_granted_type = EXP_TYPE_CAMARILLA
exp_requirements = EXP_REQ_MINOR
// exp_required_type_department = EXP_TYPE_CAMARILLA
config_tag = "SHERIFF"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/sheriff
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
total_positions = 4
spawn_positions = 4
supervisors = SUPERVISOR_SENESCHAL_PUBLIC
exp_granted_type = EXP_TYPE_CAMARILLA
config_tag = "TOWER_EMPLOYEE"
outfit = /datum/outfit/job/vampire/towerwork
job_flags = CITY_JOB_FLAGS
Expand Down
5 changes: 4 additions & 1 deletion modular_darkpack/modules/jobs/code/clinic/director.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@
total_positions = 1
spawn_positions = 1
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

exp_required_type_department = EXP_TYPE_CLINIC
exp_requirements = EXP_REQ_HEAD

display_order = JOB_DISPLAY_ORDER_CLINICS_DIRECTOR
departments_list = list(
/datum/job_department/clinic,
Expand Down
2 changes: 1 addition & 1 deletion modular_darkpack/modules/jobs/code/clinic/doctor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
total_positions = 4
spawn_positions = 4
supervisors = "the Clinic Director"
exp_required_type_department = EXP_TYPE_CLINIC
// exp_required_type_department = EXP_TYPE_CLINIC
config_tag = "DOCTOR"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/clinic_doctor
Expand Down
4 changes: 1 addition & 3 deletions modular_darkpack/modules/jobs/code/garou/councillor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_LITANY
req_admin_notify = 1
minimal_player_age = 25
exp_requirements = 180
exp_required_type = EXP_TYPE_GAIA
exp_requirements = EXP_REQ_HEAD
exp_required_type_department = EXP_TYPE_GAIA
exp_granted_type = EXP_TYPE_GAIA
config_tag = "COUNCILLOR"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/councillor
Expand Down
3 changes: 0 additions & 3 deletions modular_darkpack/modules/jobs/code/garou/guardian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@
supervisors = /datum/job/vampire/warder
req_admin_notify = 1
minimal_player_age = 25
exp_requirements = 50
exp_required_type = EXP_TYPE_GAIA
exp_required_type_department = EXP_TYPE_GAIA
exp_granted_type = EXP_TYPE_GAIA
config_tag = "GUARDIAN"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/guardian
Expand Down
4 changes: 1 addition & 3 deletions modular_darkpack/modules/jobs/code/garou/truthcatcher.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_LITANY
req_admin_notify = 1
minimal_player_age = 25
exp_requirements = 100
exp_required_type = EXP_TYPE_GAIA
exp_requirements = EXP_REQ_MINOR
exp_required_type_department = EXP_TYPE_GAIA
exp_granted_type = EXP_TYPE_GAIA
config_tag = "TRUTHCATCHER"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/trutchcatcher
Expand Down
4 changes: 1 addition & 3 deletions modular_darkpack/modules/jobs/code/garou/warder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
supervisors = SUPERVISOR_LITANY
req_admin_notify = 1
minimal_player_age = 25
exp_requirements = 100
exp_required_type = EXP_TYPE_GAIA
exp_requirements = EXP_REQ_MINOR
exp_required_type_department = EXP_TYPE_GAIA
exp_granted_type = EXP_TYPE_GAIA
config_tag = "WARDER"
job_flags = CITY_JOB_FLAGS
outfit = /datum/outfit/job/vampire/warder
Expand Down
Loading
Loading