mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 21:10:30 +01:00
Added support for religious restrictions in the loadout (#18685)
Co-authored-by: Cody Brittain <cbrittain10@live.com>
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
/datum/gear/religion/trinary
|
||||
abstract_type = /datum/gear/religion/trinary
|
||||
religion = RELIGION_TRINARY
|
||||
|
||||
/datum/gear/religion/trinary/mask
|
||||
display_name = "trinary perfection mask"
|
||||
@@ -106,13 +107,13 @@
|
||||
|
||||
/datum/gear/religion/dominia
|
||||
abstract_type = /datum/gear/religion/dominia
|
||||
religion = RELIGION_MOROZ
|
||||
|
||||
/datum/gear/religion/dominia/robe
|
||||
display_name = "dominian robe selection"
|
||||
description = "A selection of robes belonging to Dominia's Moroz Holy Tribunal."
|
||||
path = /obj/item/clothing/under/dominia/priest
|
||||
slot = slot_w_uniform
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/robe/New()
|
||||
..()
|
||||
@@ -126,7 +127,6 @@
|
||||
description = "A selection of modified berets belonging to Dominia's Moroz Holy Tribunal."
|
||||
path = /obj/item/clothing/under/dominia/priest
|
||||
slot= slot_head
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/beret/New()
|
||||
..()
|
||||
@@ -141,7 +141,6 @@
|
||||
description = "A selection of capes and outerwear worn by the Moroz Holy Tribunal."
|
||||
path = /obj/item/clothing/under/dominia/priest
|
||||
slot = slot_wear_suit
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/cape/New()
|
||||
..()
|
||||
@@ -155,11 +154,11 @@
|
||||
display_name = "tribunal necklace"
|
||||
path = /obj/item/clothing/accessory/dominia
|
||||
slot = slot_tie
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/accessory/lyodii
|
||||
display_name = "lyodic tribunal necklace"
|
||||
path = /obj/item/clothing/accessory/dominia/lyodii
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia)
|
||||
|
||||
/datum/gear/religion/dominia/accessory/tic
|
||||
display_name = "retired tribunal investigator card selection"
|
||||
@@ -178,7 +177,6 @@
|
||||
path = /obj/item/clothing/head/beret/dominia/medical
|
||||
slot = slot_head
|
||||
allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel")
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/robe_consular
|
||||
display_name = "tribunalist consular uniform"
|
||||
@@ -186,7 +184,6 @@
|
||||
path = /obj/item/clothing/under/dominia/priest/consular
|
||||
slot = slot_w_uniform
|
||||
allowed_roles = list("Consular Officer")
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/beret_consular
|
||||
display_name = "tribunalist consular beret"
|
||||
@@ -194,7 +191,6 @@
|
||||
path = /obj/item/clothing/head/beret/dominia/consular
|
||||
slot = slot_head
|
||||
allowed_roles = list("Consular Officer")
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/cape_consular
|
||||
display_name = "tribunalist cousular cape"
|
||||
@@ -202,17 +198,14 @@
|
||||
path = /obj/item/clothing/accessory/poncho/dominia/consular
|
||||
slot = slot_wear_suit
|
||||
allowed_roles = list("Consular Officer")
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/codex
|
||||
display_name = "tribunal codex"
|
||||
path = /obj/item/device/versebook/tribunal
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/icon
|
||||
display_name = "tribunal iconography"
|
||||
description = "A selection of Dominian religious icons."
|
||||
culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi)
|
||||
|
||||
/datum/gear/religion/dominia/icon/New()
|
||||
..()
|
||||
@@ -228,7 +221,7 @@
|
||||
|
||||
/datum/gear/religion/assunzione
|
||||
abstract_type = /datum/gear/religion/assunzione
|
||||
origin_restriction = list(/singleton/origin_item/origin/assunzione, /singleton/origin_item/origin/ipc_assunzione)
|
||||
religion = RELIGION_LUCEISM
|
||||
|
||||
/datum/gear/religion/assunzione/robe
|
||||
display_name = "assunzione robe selection"
|
||||
|
||||
@@ -244,7 +244,8 @@ var/list/gear_datums = list()
|
||||
var/available = (G.check_faction(pref.faction) \
|
||||
&& (job && G.check_role(job.title)) \
|
||||
&& G.check_culture(text2path(pref.culture)) \
|
||||
&& G.check_origin(text2path(pref.origin)))
|
||||
&& G.check_origin(text2path(pref.origin)) \
|
||||
&& G.check_religion(pref.religion))
|
||||
var/ticked = (G.display_name in pref.gear)
|
||||
var/style = ""
|
||||
|
||||
@@ -458,6 +459,13 @@ var/list/gear_datums = list()
|
||||
*/
|
||||
var/faction
|
||||
|
||||
/**
|
||||
* A string of the religion that can use this item
|
||||
*
|
||||
* If left `null`, any religion can spawn with this item
|
||||
*/
|
||||
var/religion
|
||||
|
||||
/**
|
||||
* A `/list` of [/singleton/origin_item/culture] paths that can use this item
|
||||
*/
|
||||
@@ -583,6 +591,12 @@ var/list/gear_datums = list()
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
// arg should be a religion name string
|
||||
/datum/gear/proc/check_religion(var/religion_)
|
||||
if((religion && religion_) && (religion != religion_))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
// arg should be a role name string
|
||||
/datum/gear/proc/check_role(var/role)
|
||||
if(role && allowed_roles && !(role in allowed_roles))
|
||||
|
||||
Reference in New Issue
Block a user