Fixes chaplains not being able to assign their deity/religion plus some minor refactor of the religion subsystem

This commit is contained in:
Lzimann
2017-04-06 23:44:13 -03:00
parent e550f019b0
commit 3a20f37034
7 changed files with 73 additions and 81 deletions
+2 -2
View File
@@ -25,8 +25,8 @@
cross = image('icons/obj/storage.dmi',"kingyellow")
font_color = "blue"
prayer_type = "CHAPLAIN PRAYER"
if(SSreligion.Bible_deity_name)
deity = SSreligion.Bible_deity_name
if(SSreligion.deity)
deity = SSreligion.deity
else if(iscultist(usr))
cross = image('icons/obj/storage.dmi',"tome")
font_color = "red"
@@ -18,42 +18,33 @@ Chaplain
access = list(access_morgue, access_chapel_office, access_crematorium, access_theatre)
minimal_access = list(access_morgue, access_chapel_office, access_crematorium, access_theatre)
/datum/outfit/job/chaplain
name = "Chaplain"
jobtype = /datum/job/chaplain
/datum/job/chaplain/after_spawn(mob/living/H, mob/M)
if(M.mind)
M.mind.isholy = TRUE
belt = /obj/item/device/pda/chaplain
uniform = /obj/item/clothing/under/rank/chaplain
backpack_contents = list(/obj/item/device/camera/spooky = 1)
backpack = /obj/item/weapon/storage/backpack/cultpack
satchel = /obj/item/weapon/storage/backpack/cultpack
var/obj/item/weapon/storage/book/bible/booze/B = new
/datum/outfit/job/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
if(visualsOnly)
return
if(H.mind)
H.mind.isholy = TRUE
var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible/booze(H)
if(SSreligion.Bible_deity_name)
B.deity_name = SSreligion.Bible_deity_name
B.name = SSreligion.Bible_name
B.icon_state = SSreligion.Bible_icon_state
B.item_state = SSreligion.Bible_item_state
to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.Bible_deity_name]. Defer to the Chaplain.")
if(SSreligion.religion)
B.deity_name = SSreligion.deity
B.name = SSreligion.bible_name
B.icon_state = SSreligion.bible_icons["icon_state"]
B.item_state = SSreligion.bible_icons["item_state"]
to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.deity]. Defer to the Chaplain.")
H.equip_to_slot_or_del(B, slot_in_backpack)
var/obj/item/weapon/nullrod/N = new(H)
var/obj/item/weapon/nullrod/N = new SSreligion.holy_weapon_type(H)
H.equip_to_slot_or_del(N, slot_in_backpack)
return
var/new_religion = "Christianity"
if(H.client && H.client.prefs.custom_names["religion"])
new_religion = H.client.prefs.custom_names["religion"]
if(M.client && M.client.prefs.custom_names["religion"])
new_religion = M.client.prefs.custom_names["religion"]
var/new_deity = "Space Jesus"
if(M.client && M.client.prefs.custom_names["deity"])
new_deity = M.client.prefs.custom_names["deity"]
B.deity_name = new_deity
switch(lowertext(new_religion))
if("christianity")
@@ -81,14 +72,24 @@ Chaplain
B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition")
else
B.name = "The Holy Book of [new_religion]"
feedback_set_details("religion_name","[new_religion]")
SSreligion.Bible_name = B.name
var/new_deity = "Space Jesus"
if(H.client && H.client.prefs.custom_names["deity"])
new_deity = H.client.prefs.custom_names["deity"]
B.deity_name = new_deity
SSreligion.Bible_deity_name = B.deity_name
feedback_set_details("religion_deity","[new_deity]")
if(SSreligion)
SSreligion.religion = new_religion
SSreligion.bible_name = B.name
SSreligion.deity = B.deity_name
H.equip_to_slot_or_del(B, slot_in_backpack)
feedback_set_details("religion_name","[new_religion]")
feedback_set_details("religion_deity","[new_deity]")
/datum/outfit/job/chaplain
name = "Chaplain"
jobtype = /datum/job/chaplain
belt = /obj/item/device/pda/chaplain
uniform = /obj/item/clothing/under/rank/chaplain
backpack_contents = list(/obj/item/device/camera/spooky = 1)
backpack = /obj/item/weapon/storage/backpack/cultpack
satchel = /obj/item/weapon/storage/backpack/cultpack
+5 -5
View File
@@ -474,11 +474,11 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
if(href_list["printbible"])
if(cooldown < world.time)
var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible(src.loc)
if(SSreligion.Bible_icon_state && SSreligion.Bible_item_state)
B.icon_state = SSreligion.Bible_icon_state
B.item_state = SSreligion.Bible_item_state
B.name = SSreligion.Bible_name
B.deity_name = SSreligion.Bible_deity_name
if(SSreligion.bible_icons["icon_state"] && SSreligion.bible_icons["item_state"])
B.icon_state = SSreligion.bible_icons["icon_state"]
B.item_state = SSreligion.bible_icons["item_state"]
B.name = SSreligion.bible_name
B.deity_name = SSreligion.deity
cooldown = world.time + PRINTER_COOLDOWN
else
say("Printer currently unavailable, please wait a moment.")
@@ -61,8 +61,8 @@
strengthdiv = 8
for(var/mob/living/simple_animal/revenant/R in get_hearers_in_view(7,get_turf(holder.my_atom)))
var/deity
if(SSreligion.Bible_deity_name)
deity = SSreligion.Bible_deity_name
if(SSreligion.deity)
deity = SSreligion.deity
else
deity = "Christ"
to_chat(R, "<span class='userdanger'>The power of [deity] compels you!</span>")