Refactors Religion Choice (#21865)

* Refactors Religion Choice

* Now Predicts Deity Name

* Change order
This commit is contained in:
Kurfursten
2019-03-22 14:51:07 -05:00
committed by jknpj
parent ff6d96896b
commit db6eeaf184
7 changed files with 163 additions and 203 deletions

View File

@@ -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"

View File

@@ -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)

View File

@@ -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")

View File

@@ -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')

View File

@@ -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

View File

@@ -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)

View File

@@ -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