vgstation-coders / vgstation13

Butts
GNU General Public License v3.0
264 stars 543 forks source link

Religion bugs (library printed books do not work) #17703

Closed toomykins closed 6 years ago

toomykins commented 6 years ago

Description of issue

As a chaplain, you cannot convert people to your religion with a library-printed bible. cpt_wad says they're still set to christianity, despite the fact that they look exactly like my bible. As a chaplain, you lose the "renounce faith" action button after dying and getting cloned.

Difference between expected and actual behavior

I lost my bible, so i printed a new one and tried to convert someone with it, i got struck by my god for being a heathen instead. I then questioned whether i was even part of my own religion, since i no longer had the renounce faith button, but apparently i was, thats a seperate bug. It was the book that wasnt part of my religion.

Steps to reproduce

Hold holy water and library computer printed bible in hand as chaplain. convert someone with the action bar. get wrath'ed.

ways to fix?

Set the bible's religion to the one printing the book.

edit: in https://github.com/vgstation-coders/vgstation13/blob/Bleeding-Edge/code/modules/library/computers/checkout.dm there is the following code


                    var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(src.loc)
                    if(ticker && ( ticker.Bible_icon_state && ticker.Bible_item_state) )
                        B.icon_state = ticker.Bible_icon_state
                        B.item_state = ticker.Bible_item_state
                        B.name = ticker.Bible_name
                        B.my_rel.deity_name = ticker.Bible_deity_name

It seems that it gets its information from the old system, which currently co-exists with the new system. In the old system there is one religion that is tracked by the ticker, in the new system there is place for multiple religions, having them co-exist means that there still is a "standard" religion in place. I don't know anything about the history of how it worked before now, nor do i know much of programming, but it seems to me that the checkout computer should set the B.my_rel to to usr.mind.faith of the current computer user. Else the new bible defaults to christianity. If you haven't noticed yet, i'm new to both DM and git. edit 2: Before implementing this there should probably be discussion around how religions are handled, whether the cult gamemode gets involved in this system, what happens to mapped bibles, etc etc.

ShiftyRail commented 6 years ago

It seems that it gets its information from the old system, which currently co-exists with the new system.

It's because I wanted the new religions not to have an influence on gameplay, and only the Chap's one to have an impact. Pending testing on the two issues you reported.

Edit : "to me that the checkout computer should set the B.my_rel to to usr.mind.faith of the current computer user. " That is an excellent idea thank you very much