mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Refactors Religion Choice (#21865)
* Refactors Religion Choice * Now Predicts Deity Name * Change order
This commit is contained in:
@@ -1,3 +1,101 @@
|
||||
/proc/DecidePrayerGod(var/mob/H)
|
||||
if(!H || !H.mind)
|
||||
return "a voice"
|
||||
if(H.mind.GetRole(CULTIST))
|
||||
return "Nar-Sie"
|
||||
else if(usr.mind.faith) // The user has a faith
|
||||
var/datum/religion/R = usr.mind.faith
|
||||
return R.deity_name
|
||||
else if(usr.mind.assigned_role == "Clown")
|
||||
return "Honkmother"
|
||||
else if(usr.mind.assigned_role == "Trader")
|
||||
return "Shoalmother"
|
||||
else if(!ishuman(H))
|
||||
return "Animal Jesus"
|
||||
else
|
||||
return "Faithless"
|
||||
|
||||
//Proc for selecting a religion
|
||||
/proc/ChooseReligion(var/mob/living/carbon/human/H)
|
||||
var/obj/item/weapon/storage/bible/B
|
||||
var/datum/religion/chaplain_religion
|
||||
var/new_religion = sanitize(stripped_input(H, "You are the crew's Religious Services Chaplain. What religion do you follow and teach? (Please put your ID in your ID slot to prevent errors)", "Name of Religion", "Christianity"), 1, MAX_NAME_LEN)
|
||||
if(!new_religion)
|
||||
new_religion = "Christianity" // If nothing was typed
|
||||
|
||||
var/choice = FALSE
|
||||
|
||||
for (var/R in typesof(/datum/religion))
|
||||
var/datum/religion/rel = new R
|
||||
for (var/key in rel.keys)
|
||||
if (lowertext(new_religion) == key)
|
||||
rel.equip_chaplain(H) // We do the misc things related to the religion
|
||||
chaplain_religion = rel
|
||||
B = new rel.bible_type(H)
|
||||
B.my_rel = rel
|
||||
B.name = rel.bible_name
|
||||
H.put_in_hands(B)
|
||||
chaplain_religion.holy_book = B
|
||||
H.equip_or_collect(new rel.preferred_incense(H.back), slot_in_backpack)
|
||||
rel.religiousLeader = H.mind
|
||||
for(var/object in H.get_body_slots())
|
||||
if(istype(object, /obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/ID = object
|
||||
ID.assignment = (H.gender == FEMALE ? rel.female_adept : rel.male_adept)
|
||||
ID.name = "[H]'s ID Card ([ID.assignment])"
|
||||
rel.convert(H, null, can_renounce = FALSE)
|
||||
rel.OnPostActivation()
|
||||
to_chat(H, "A great, intense revelation goes through your spirit. You are now the religious leader of [rel.name]. Convert people by [rel.convert_method]")
|
||||
choice = TRUE
|
||||
break // We got our religion ! Abort, abort.
|
||||
if (choice)
|
||||
break
|
||||
|
||||
if (!choice) // Nothing was found
|
||||
chaplain_religion = new
|
||||
chaplain_religion.name = "[new_religion]"
|
||||
chaplain_religion.deity_name = "[new_religion]"
|
||||
chaplain_religion.bible_name = "The Holy Book of [new_religion]"
|
||||
chaplain_religion.equip_chaplain(H) // We do the misc things related to the religion
|
||||
B = new /obj/item/weapon/storage/bible
|
||||
chaplain_religion.holy_book = B
|
||||
B.name = "The Holy Book of [new_religion]"
|
||||
B.my_rel = chaplain_religion
|
||||
H.put_in_hands(B)
|
||||
chaplain_religion.religiousLeader = H.mind
|
||||
to_chat(H, "A great, intense revelation goes through your spirit. You are now the religious leader of [chaplain_religion.name]. Convert people by [chaplain_religion.convert_method]")
|
||||
chaplain_religion.convert(H, null, can_renounce = FALSE)
|
||||
|
||||
switch(input(H, "Would you like the traditional [chaplain_religion.bookstyle] design and to worship [chaplain_religion.deity_names.len ? "one of [english_list(chaplain_religion.deity_names)]" : chaplain_religion.deity_name]?") in list("Yes", "No"))
|
||||
if("No")
|
||||
chaplain_religion.deity_name = ChooseDeity(H,chaplain_religion,FALSE)
|
||||
chooseBible(chaplain_religion,H,FALSE)
|
||||
if("Yes")
|
||||
chaplain_religion.deity_name = ChooseDeity(H,chaplain_religion,TRUE)
|
||||
chooseBible(chaplain_religion,H,TRUE)
|
||||
|
||||
B.icon_state = chaplain_religion.holy_book.icon_state
|
||||
B.item_state = chaplain_religion.holy_book.item_state
|
||||
|
||||
if(ticker)
|
||||
ticker.religions += chaplain_religion
|
||||
feedback_set_details("religion_deity","[chaplain_religion.deity_name]")
|
||||
feedback_set_details("religion_book","[B.icon_state]")
|
||||
|
||||
/proc/ChooseDeity(mob/chooser, datum/religion/R, var/default = FALSE)
|
||||
if(default)
|
||||
if(!R.deity_names.len)
|
||||
return R.deity_name
|
||||
else
|
||||
return input(chooser, "Your religion is polytheistic. Who is your patron?") as anything in R.deity_names
|
||||
else
|
||||
var/new_deity = copytext(sanitize(input(chooser, "Who do you worship?", "Name of Deity", R.deity_name)), 1, MAX_NAME_LEN)
|
||||
if(length(new_deity))
|
||||
return new_deity
|
||||
else
|
||||
return R.deity_name
|
||||
|
||||
|
||||
// This file lists all religions, as well as the prototype for a religion
|
||||
/datum/religion
|
||||
// Following tradition, the default is Space Jesus (this is here to avoid people getting an empty relgion)
|
||||
@@ -21,12 +119,14 @@
|
||||
var/list/keys = list("abstractbasetype") // What you need to type to get this particular relgion.
|
||||
var/converts_everyone = FALSE
|
||||
var/preferred_incense = /obj/item/weapon/storage/fancy/incensebox/harebells
|
||||
var/symbolstyle = 10
|
||||
var/bookstyle = "Holy Light"
|
||||
|
||||
/datum/religion/New() // For religions with several bibles/deities
|
||||
if (bible_names.len)
|
||||
bible_name = pick(bible_names)
|
||||
if (deity_names.len)
|
||||
deity_name = pick(deity_names)
|
||||
/*if (deity_names.len)
|
||||
deity_name = pick(deity_names)*/
|
||||
action_renounce = new /datum/action/renounce(src)
|
||||
|
||||
/datum/religion/proc/isReligiousLeader(var/mob/living/user)
|
||||
@@ -168,7 +268,7 @@
|
||||
R.renounce(owner)
|
||||
Remove(owner)
|
||||
|
||||
/proc/chooseBible(var/datum/religion/R, var/mob/user)
|
||||
/proc/chooseBible(var/datum/religion/R, var/mob/user, var/noinput = FALSE) //Noinput if they just wanted the defaults
|
||||
|
||||
if (!istype(R) || !user)
|
||||
return FALSE
|
||||
@@ -176,9 +276,9 @@
|
||||
if (!R.holy_book)
|
||||
return FALSE
|
||||
|
||||
var/book_style = "Bible"
|
||||
|
||||
book_style = input(user, "Which bible style would you like?") as null|anything in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "[R.holy_book.name == "Clockwork slab" ? "Slab":"Tome"]", "The King in Yellow", "Ithaqua", "Scientology", \
|
||||
var/book_style = R.bookstyle
|
||||
if(!noinput)
|
||||
book_style = input(user, "Which bible style would you like?") as null|anything in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Slab", "Tome", "The King in Yellow", "Ithaqua", "Scientology", \
|
||||
"The Bible melts", "Unaussprechlichen Kulten", "Necronomicon", "Book of Shadows", "Torah", "Burning", "Honk", "Ianism", "The Guide", "The Dokument")
|
||||
switch(book_style)
|
||||
if("Koran")
|
||||
@@ -254,6 +354,8 @@
|
||||
/datum/religion/default
|
||||
keys = list("christianity")
|
||||
converts_everyone = TRUE
|
||||
symbolstyle = 2
|
||||
bookstyle = "Bible"
|
||||
|
||||
/datum/religion/catholic
|
||||
name = "Catholicism"
|
||||
@@ -262,6 +364,8 @@
|
||||
male_adept = "Bishop"
|
||||
female_adept = "Bishop"
|
||||
keys = list("catholic", "catholicism", "roman catholicism")
|
||||
symbolstyle = 2
|
||||
bookstyle = "Bible"
|
||||
|
||||
/datum/religion/catholic/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/head/mitre(H), slot_head)
|
||||
@@ -271,6 +375,7 @@
|
||||
deity_name = "God"
|
||||
bible_names = list("The Gnostic Bible", "The Dead Seas Scrolls")
|
||||
keys = list("theist", "gnosticism", "theism")
|
||||
bookstyle = "Torah"
|
||||
|
||||
/datum/religion/satanism
|
||||
name = "Satanism"
|
||||
@@ -280,18 +385,22 @@
|
||||
female_adept = "Magistera"
|
||||
keys = list("satan", "evil", "satanism")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/moonflowers
|
||||
bookstyle = "Burning"
|
||||
|
||||
/datum/religion/lovecraft
|
||||
name = "Esoteric order of Dagon"
|
||||
deity_name = "Cthulhu" //I hope it's spelt correctly
|
||||
bible_names = list("The Necronomicon", "The Book of Eibon", "De Vermis Mysteriis", "Unaussprechlichen Kulten")
|
||||
keys = list("cthulhu", "old ones", "great old ones", "outer gods", "elder gods", "esoteric order of dagon")
|
||||
symbolstyle = 5
|
||||
bookstyle = "Necronomicon" //also "Unaussprechlichen Kulten" "Ithaqua"
|
||||
|
||||
/datum/religion/hastur
|
||||
name = "Brotherhood of The Yellow Sign" //I'm fed up with people think I worship Dagon. We're moving out.
|
||||
deity_name = "Hastur"
|
||||
bible_name = "The King in Yellow" //The name of the titular fictional play in the 1895 book by Robert Chambers
|
||||
keys = list("hastur","yellow sign","king in yellow","brotherhood of the yellow sign")
|
||||
bookstyle = "The King in Yellow"
|
||||
|
||||
/datum/religion/islam
|
||||
name = "Islam"
|
||||
@@ -300,6 +409,8 @@
|
||||
male_adept = "Imam"
|
||||
female_adept = "Imam"
|
||||
keys = list("islam", "muslim")
|
||||
symbolstyle = 4
|
||||
bookstyle = "Koran"
|
||||
|
||||
/datum/religion/slam
|
||||
name = "Slam"
|
||||
@@ -320,6 +431,8 @@
|
||||
male_adept = "Rabbi"
|
||||
female_adept = "Rabbi"
|
||||
keys = list("jew", "judaism", "jews")
|
||||
symbolstyle = 1
|
||||
bookstyle = "Torah"
|
||||
|
||||
/datum/religion/hinduism
|
||||
name = "Hinduism"
|
||||
@@ -352,6 +465,8 @@
|
||||
female_adept = "Apostle"
|
||||
bible_name = "The Book of Mormon"
|
||||
keys = list("mormon", "mormonism")
|
||||
symbolstyle = 2
|
||||
bookstyle = "Bible"
|
||||
|
||||
/datum/religion/confucianism
|
||||
name = "Confucianism"
|
||||
@@ -368,6 +483,8 @@
|
||||
male_adept = "High Priest"
|
||||
female_adept = "High Priestess"
|
||||
keys = list("wicca", "pagan", "paganism")
|
||||
symbolstyle = 6
|
||||
bookstyle = "Book of Shadows"
|
||||
|
||||
/datum/religion/nordic
|
||||
name = "Viking Mythos"
|
||||
@@ -395,6 +512,7 @@
|
||||
female_adept = "Militant Atheist"
|
||||
keys = list("atheism", "none")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/sunflowers
|
||||
bookstyle = "Atheist"
|
||||
|
||||
/datum/religion/atheism/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/head/fedora(H), slot_head)
|
||||
@@ -416,6 +534,8 @@
|
||||
male_adept = "OT III"
|
||||
female_adept = "OT III"
|
||||
keys = list("scientology")
|
||||
symbolstyle = 8
|
||||
bookstyle = "Scientology"
|
||||
|
||||
/datum/religion/discordianism
|
||||
name = "Discordianism"
|
||||
@@ -439,6 +559,7 @@
|
||||
male_adept = "Oracle"
|
||||
female_adept = "Oracle"
|
||||
keys = list("hellenism", "greece", "greek")
|
||||
bookstyle = "Torah"
|
||||
|
||||
/datum/religion/latin
|
||||
name = "Cult of Rome"
|
||||
@@ -447,6 +568,7 @@
|
||||
male_adept = "Pontifex"
|
||||
female_adept = "Pontifex"
|
||||
keys = list("latin", "rome", "roma", "roman")
|
||||
bookstyle = "Torah"
|
||||
|
||||
/datum/religion/latin/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/head/helmet/roman/legionaire(H), slot_head)
|
||||
@@ -466,6 +588,7 @@
|
||||
male_adept = "Apostate Preacher"
|
||||
female_adept = "Apostate Preacher"
|
||||
keys = list("chaos")
|
||||
bookstyle = "Burning"
|
||||
|
||||
/datum/religion/imperium
|
||||
name = "The Imperial Creed"
|
||||
@@ -638,6 +761,8 @@
|
||||
female_adept = "Veterinarian"
|
||||
keys = list("ianism", "ian", "dog", "puppy", "doggo", "pupper")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/leafy
|
||||
symbolstyle = 9
|
||||
bookstyle = "Ianism"
|
||||
|
||||
/datum/religion/admins
|
||||
name = "Adminism"
|
||||
@@ -665,6 +790,7 @@
|
||||
male_adept = "Hitchhiker"
|
||||
female_adept = "Hitchhiker"
|
||||
keys = list("42")
|
||||
bookstyle = "The Guide"
|
||||
|
||||
/datum/religion/spooky
|
||||
name = "Spooky"
|
||||
@@ -674,6 +800,7 @@
|
||||
female_adept = "Ghost"
|
||||
keys = list("spook", "spooky", "boo", "ghost", "halloween", "2spooky")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/moonflowers
|
||||
bookstyle = "Tome"
|
||||
|
||||
/datum/religion/spooky/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/head/pumpkinhead(H), slot_head)
|
||||
@@ -745,6 +872,7 @@
|
||||
female_adept = "Reaper"
|
||||
keys = list("suicide", "death", "succumb")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/moonflowers
|
||||
bookstyle = "Tome"
|
||||
|
||||
/datum/religion/communism
|
||||
name = "Communism"
|
||||
@@ -870,6 +998,7 @@
|
||||
keys = list("cult", "narsie", "nar'sie", "narnar", "nar-sie", "papa narnar", "geometer", "geometer of blood")
|
||||
convert_method = "performing a ritual with a paper. The subject will need to stand a crayon-drawn rune."
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/moonflowers
|
||||
bookstyle = "Tome"
|
||||
|
||||
/datum/religion/cult/convertCeremony(var/mob/living/preacher, var/mob/living/subject)
|
||||
var/obj/effect/decal/cleanable/crayon/rune = locate(/obj/effect/decal/cleanable/crayon/, subject.loc)
|
||||
@@ -945,6 +1074,7 @@
|
||||
female_adept = "Vampire"
|
||||
keys = list("vampire", "vamp", "blood","dracula")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/moonflowers
|
||||
bookstyle = "Burning"
|
||||
|
||||
/datum/religion/vampirism/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/suit/storage/draculacoat(H), slot_wear_suit)//What could possibly go wrong?
|
||||
@@ -975,6 +1105,7 @@
|
||||
female_adept = "Co-Clown"
|
||||
keys = list("honk", "clown", "honkmother")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/banana
|
||||
bookstyle = "Honk"
|
||||
|
||||
/datum/religion/clown/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/mask/gas/clown_hat(H), slot_wear_mask)
|
||||
@@ -986,6 +1117,7 @@
|
||||
male_adept = "..."
|
||||
female_adept = "..."
|
||||
keys = list("silence", "mime", "quiet", "...")
|
||||
bookstyle = "Scrapbook"
|
||||
|
||||
/datum/religion/mime/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/mask/gas/mime(H), slot_wear_mask)
|
||||
@@ -1022,6 +1154,7 @@
|
||||
male_adept = "Servant of Ratvar"
|
||||
female_adept = "Servant of Ratvar"
|
||||
keys = list("ratvar", "clockwork", "ratvarism")
|
||||
bookstyle = "Slab"
|
||||
|
||||
/datum/religion/clockworkcult/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/clothing/head/clockwork_hood(H), slot_head)
|
||||
@@ -1068,6 +1201,7 @@
|
||||
male_adept = "Painter"
|
||||
female_adept = "Painter"
|
||||
keys = list("art", "bob ross", "happy little trees", "happy little clouds")
|
||||
bookstyle = "Scrapbook"
|
||||
|
||||
/datum/religion/art/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/mounted/frame/painting)
|
||||
@@ -1099,6 +1233,7 @@
|
||||
keys = list("murdercube","murderkube", "murder/k/ube","forgotten weapons", "gun", "guns", "ammo", "trigger discipline", "ave nex alea", "dakka")
|
||||
convert_method = "performing a ritual with a gun. The convert needs to be in good health and unafraid of being shot."
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/dense
|
||||
bookstyle = "The Dokument"
|
||||
|
||||
/datum/religion/guns/equip_chaplain(var/mob/living/carbon/human/H)
|
||||
H.equip_or_collect(new /obj/item/weapon/gun/energy/laser/practice)
|
||||
@@ -1140,3 +1275,4 @@
|
||||
female_adept = "Speedrunner"
|
||||
keys = list("speedrun","ADGQ","SGDQ","any%", "glitchless", "100%", "gotta go fast", "kill the animals", "greetings from germany", "cancer", "dilation station", "dilation stations")
|
||||
preferred_incense = /obj/item/weapon/storage/fancy/incensebox/novaflowers
|
||||
bookstyle = "Creeper"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
minimal_access = list(access_morgue, access_chapel_office, access_crematorium)
|
||||
pdaslot = slot_belt
|
||||
pdatype = /obj/item/device/pda/chaplain
|
||||
var/datum/religion/chap_religion = new /datum/religion/default // default = space christianity
|
||||
var/datum/religion/chap_religion
|
||||
|
||||
/datum/job/chaplain/equip(var/mob/living/carbon/human/H)
|
||||
switch(H.backbag)
|
||||
@@ -37,183 +37,8 @@
|
||||
|
||||
H.put_in_hands(new /obj/item/weapon/thurible(H))
|
||||
|
||||
var/obj/item/weapon/storage/bible/B // Initialised here because we might need it elsewhere
|
||||
|
||||
spawn(0) //We are done giving earthly belongings, now let's move on to spiritual matters
|
||||
var/new_religion = sanitize(stripped_input(H, "You are the crew's Religious Services Chaplain. What religion do you follow and teach? (Please put your ID in your ID slot to prevent errors)", "Name of Religion", chap_religion.name), 1, MAX_NAME_LEN)
|
||||
if(!new_religion)
|
||||
new_religion = chap_religion.name // If nothing was typed
|
||||
|
||||
var/datum/job/J = H.mind.role_alt_title
|
||||
var/choice = FALSE
|
||||
|
||||
for (var/R in typesof(/datum/religion))
|
||||
var/datum/religion/rel = new R
|
||||
for (var/key in rel.keys)
|
||||
if (lowertext(new_religion) == key)
|
||||
rel.equip_chaplain(H) // We do the misc things related to the religion
|
||||
B = new rel.bible_type
|
||||
B.name = rel.bible_name
|
||||
B.my_rel = rel
|
||||
rel.holy_book = B
|
||||
H.equip_or_collect(new rel.preferred_incense(H.back), slot_in_backpack)
|
||||
H.put_in_hands(B)
|
||||
rel.religiousLeader = H.mind
|
||||
J = (H.gender == FEMALE ? rel.female_adept : rel.male_adept)
|
||||
rel.convert(H, null, can_renounce = FALSE)
|
||||
rel.OnPostActivation()
|
||||
to_chat(H, "A great, intense revelation goes through your spirit. You are now the religious leader of [rel.name]. Convert people by [rel.convert_method]")
|
||||
chap_religion = rel
|
||||
choice = TRUE
|
||||
break // We got our religion ! Abort, abort.
|
||||
if (choice)
|
||||
break
|
||||
|
||||
if (!choice) // Nothing was found
|
||||
chap_religion.name = "[new_religion]"
|
||||
chap_religion.deity_name = "[new_religion]"
|
||||
chap_religion.bible_name = "The Holy Book of [new_religion]"
|
||||
chap_religion.equip_chaplain(H) // We do the misc things related to the religion
|
||||
chap_religion.holy_book = B
|
||||
B = new /obj/item/weapon/storage/bible
|
||||
B.name = chap_religion.bible_name
|
||||
B.my_rel = chap_religion
|
||||
H.put_in_hands(B)
|
||||
chap_religion.religiousLeader = H.mind
|
||||
to_chat(H, "A great, intense revelation goes through your spirit. You are now the religious leader of [chap_religion.name]. Convert people by [chap_religion.convert_method]")
|
||||
chap_religion.convert(H, null, can_renounce = FALSE)
|
||||
|
||||
//This goes down here due to problems with loading orders that took me 4 hours to identify
|
||||
var/obj/item/weapon/card/id/I = null
|
||||
if(istype(H.wear_id, /obj/item/weapon/card/id/)) //This prevents people from causing weirdness by putting other things into their slots before chosing their religion
|
||||
I = H.wear_id
|
||||
if(I.registered_name == H.real_name) //Makes sure the ID is the chaplain's own
|
||||
I.assignment = J
|
||||
I.name = text("[I.registered_name]'s ID Card ([I.assignment])")
|
||||
var/obj/item/device/pda/P = null
|
||||
if(istype(H.belt, /obj/item/device/pda)) //This prevents people from causing weirdness by putting other things into their slots before chosing their religion
|
||||
P = H.belt
|
||||
if(P.owner == H.real_name) //Makes sure the PDA is the chaplain's own
|
||||
P.ownjob = J
|
||||
P.name = text("PDA-[P.owner] ([P.ownjob])")
|
||||
data_core.manifest_modify(H.real_name, J) //Updates manifest
|
||||
feedback_set_details("religion_name","[chap_religion.name]")
|
||||
|
||||
//Allow them to change their deity if they believe the deity we gave them sucks
|
||||
var/new_deity = copytext(sanitize(input(H, "Would you like to change your deity? Your deity currently is [chap_religion.deity_name] (Leave empty or unchanged to keep deity name)", "Name of Deity", chap_religion.deity_name)), 1, MAX_NAME_LEN)
|
||||
if(length(new_deity))
|
||||
chap_religion.deity_name = new_deity
|
||||
|
||||
var/accepted = 0
|
||||
var/outoftime = 0
|
||||
spawn(200) //20 seconds to choose
|
||||
outoftime = 1
|
||||
var/new_book_style = "Bible"
|
||||
|
||||
while(!accepted)
|
||||
if(!B)
|
||||
break //Prevents possible runtime errors
|
||||
new_book_style = input(H, "Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "[B.name == "Clockwork slab" ? "Slab":"Tome"]", "The King in Yellow", "Ithaqua", "Scientology", \
|
||||
"The Bible melts", "Unaussprechlichen Kulten", "Necronomicon", "Book of Shadows", "Torah", "Burning", "Honk", "Ianism", "The Guide", "The Dokument")
|
||||
switch(new_book_style)
|
||||
if("Koran")
|
||||
B.icon_state = "koran"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 4
|
||||
if("Scrapbook")
|
||||
B.icon_state = "scrapbook"
|
||||
if("Creeper")
|
||||
B.icon_state = "creeper"
|
||||
if("White Bible")
|
||||
B.icon_state = "white"
|
||||
if("Holy Light")
|
||||
B.icon_state = "holylight"
|
||||
if("Athiest")
|
||||
B.icon_state = "athiest"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 10
|
||||
if("Tome")
|
||||
B.icon_state = "bible-tome"
|
||||
if("The King in Yellow")
|
||||
B.icon_state = "kingyellow"
|
||||
if("Ithaqua")
|
||||
B.icon_state = "ithaqua"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 5
|
||||
if("Scientology")
|
||||
B.icon_state = "scientology"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 8
|
||||
if("The Bible melts")
|
||||
B.icon_state = "melted"
|
||||
if("Unaussprechlichen Kulten")
|
||||
B.icon_state = "kulten"
|
||||
if("Necronomicon")
|
||||
B.icon_state = "necronomicon"
|
||||
if("Book of Shadows")
|
||||
B.icon_state = "shadows"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 6
|
||||
if("Torah")
|
||||
B.icon_state = "torah"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 1
|
||||
if("Burning")
|
||||
B.icon_state = "burning"
|
||||
if("Honk")
|
||||
B.icon_state = "honkbook"
|
||||
if("Ianism")
|
||||
B.icon_state = "ianism"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 9
|
||||
if("The Guide")
|
||||
B.icon_state = "guide"
|
||||
if("The Dokument")
|
||||
B.icon_state = "gunbible"
|
||||
if("Slab")
|
||||
B.icon_state = "slab"
|
||||
B.desc = "A bizarre, ticking device... That looks broken."
|
||||
else
|
||||
//If christian bible, revert to default
|
||||
B.icon_state = "bible"
|
||||
for(var/area/chapel/main/A in areas)
|
||||
for(var/turf/T in A.contents)
|
||||
if(T.icon_state == "carpetsymbol")
|
||||
T.dir = 2
|
||||
B.item_state = B.icon_state
|
||||
H.update_inv_hands() //So that it updates the bible's item_state in his hand
|
||||
|
||||
switch(input(H, "Look at your bible - is this what you want?") in list("Yes", "No"))
|
||||
if("Yes")
|
||||
accepted = 1
|
||||
if("No")
|
||||
if(outoftime)
|
||||
to_chat(H, "<span class='warning'>Welp, out of time, buddy. You're stuck with that one. Next time choose faster.</span>")
|
||||
accepted = 1
|
||||
|
||||
if(ticker)
|
||||
ticker.Bible_icon_state = B.icon_state
|
||||
ticker.Bible_item_state = B.item_state
|
||||
ticker.Bible_name = B.name
|
||||
ticker.Bible_deity_name = chap_religion.deity_name
|
||||
ticker.chap_rel = chap_religion
|
||||
ticker.religions += chap_religion
|
||||
feedback_set_details("religion_deity","[new_deity]")
|
||||
feedback_set_details("religion_book","[new_book_style]")
|
||||
ChooseReligion(H)
|
||||
return 1
|
||||
|
||||
/datum/job/chaplain/priority_reward_equip(var/mob/living/carbon/human/H)
|
||||
|
||||
@@ -20,14 +20,6 @@
|
||||
autoignition_temperature = 522 // Kelvin
|
||||
fire_fuel = 2
|
||||
|
||||
/obj/item/weapon/storage/bible/New()
|
||||
. = ..()
|
||||
if(ticker && (ticker.Bible_icon_state && ticker.Bible_item_state && ticker.Bible_name && ticker.chap_rel))
|
||||
icon_state = ticker.Bible_icon_state
|
||||
item_state = ticker.Bible_item_state
|
||||
name = ticker.Bible_name
|
||||
my_rel = ticker.chap_rel
|
||||
|
||||
/obj/item/weapon/storage/bible/suicide_act(mob/living/user)
|
||||
user.visible_message("<span class='danger'>[user] is farting on \the [src]! It looks like \he's trying to commit suicide!</span>")
|
||||
user.emote("fart")
|
||||
|
||||
@@ -19,8 +19,10 @@
|
||||
return
|
||||
|
||||
var/orig_message = msg
|
||||
var/image/cross = image('icons/obj/storage/storage.dmi',"bible")
|
||||
msg = "<span class='notice'>[bicon(cross)] <b><font color='purple'>PRAY (DEITY:[ticker.Bible_deity_name]): </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[src]'>JMP</A>) (<A HREF='?_src_=holder;check_antagonist=1'>CA</A>) (<a href='?_src_=holder;role_panel=\ref[src]'>RP</a>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[src]'>BSA</A>) (<A HREF='?_src_=holder;Assplode=\ref[src]'>ASS</A>) (<A HREF='?_src_=holder;DealBrainDam=\ref[src]'>BRAIN</A>) (<A HREF='?_src_=holder;PrayerReply=\ref[src]'>RPLY</A>):</b> [msg]</span>"
|
||||
var/image/cross = image('icons/obj/storage/bibles.dmi',"bible")
|
||||
var/deity = DecidePrayerGod(usr)
|
||||
|
||||
msg = "<span class='notice'>[bicon(cross)] <b><font color='purple'>PRAY (DEITY:[deity]): </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[src]'>JMP</A>) (<A HREF='?_src_=holder;check_antagonist=1'>CA</A>) (<a href='?_src_=holder;role_panel=\ref[src]'>RP</a>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[src]'>BSA</A>) (<A HREF='?_src_=holder;Assplode=\ref[src]'>ASS</A>) (<A HREF='?_src_=holder;DealBrainDam=\ref[src]'>BRAIN</A>) (<A HREF='?_src_=holder;PrayerReply=\ref[src]'>RPLY</A>):</b> [msg]</span>"
|
||||
|
||||
send_prayer_to_admins(msg, 'sound/effects/prayer.ogg')
|
||||
|
||||
|
||||
@@ -66,7 +66,9 @@
|
||||
if (isnull(msg))
|
||||
return
|
||||
|
||||
var/deity = input("Deity: The current chosen deity is [ticker.Bible_deity_name]. Input a different one, or leave blank to have the message be from 'a voice'.", text("Subtle PM to [M.key]"), ticker.Bible_deity_name) as null | text
|
||||
var/predicted_deity = DecidePrayerGod(M)
|
||||
|
||||
var/deity = input("Deity: The current chosen deity is [predicted_deity]. Input a different one, or leave blank to have the message be from 'a voice'.", text("Subtle PM to [M.key]"), predicted_deity) as null | text
|
||||
|
||||
if(isnull(deity)) //Hit the cancel button
|
||||
return
|
||||
|
||||
@@ -330,12 +330,14 @@
|
||||
B.name = R.bible_name
|
||||
B.my_rel = R
|
||||
|
||||
else if (ticker && (ticker.Bible_icon_state && ticker.Bible_item_state)) // No faith
|
||||
B.icon_state = ticker.Bible_icon_state
|
||||
B.item_state = ticker.Bible_item_state
|
||||
B.name = ticker.Bible_name
|
||||
B.my_rel = ticker.chap_rel
|
||||
|
||||
else if (ticker.religions.len) // No faith
|
||||
var/datum/religion/R = input(usr, "Which holy book?") as anything in ticker.religions
|
||||
if(!R.holy_book)
|
||||
return
|
||||
B.icon_state = R.holy_book.icon_state
|
||||
B.item_state = R.holy_book.item_state
|
||||
B.name = R.bible_name
|
||||
B.my_rel = R
|
||||
B.forceMove(src.loc)
|
||||
|
||||
spawn(60)
|
||||
|
||||
@@ -540,9 +540,10 @@ Round Duration: [round(hours)]h [round(mins)]m<br>"}
|
||||
|
||||
new_character.key = key //Manually transfer the key to log them in
|
||||
|
||||
var/datum/religion/R = ticker.chap_rel
|
||||
if(R && R.converts_everyone && !R.isReligiousLeader(new_character))
|
||||
R.convert(new_character,null,TRUE,TRUE)
|
||||
for(var/datum/religion/R in ticker.religions)
|
||||
if(R.converts_everyone && new_character.mind.assigned_role != "Chaplain")
|
||||
R.convert(new_character,null,TRUE,TRUE)
|
||||
break //Only autoconvert them once, and only if they aren't leading their own faith.
|
||||
|
||||
return new_character
|
||||
|
||||
|
||||
Reference in New Issue
Block a user