{"action":"created","comment":{"url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/comments/158195638","pull_request_review_id":84966226,"id":158195638,"diff_hunk":"@@ -6,25 +6,230 @@\n \tvar/bible_name = \"The Holy Bible\"\n \tvar/male_adept = \"Chaplain\"\n \tvar/female_adept = \"Chaplain\"\n-\tvar/bible_type = /obj/item/weapon/storage/bible\n+\tvar/convert_method = \"splashing them with holy water, holding a bible in hand.\"\n \n+\tvar/bible_type = /obj/item/weapon/storage/bible\n \tvar/obj/item/weapon/storage/bible/holy_book\n \n+\tvar/datum/mind/religiousLeader\n+\tvar/list/datum/mind/adepts = list()\n+\n \tvar/list/bible_names = list()\n \tvar/list/deity_names = list()\n \n+\tvar/datum/action/renounce/action_renounce\n \tvar/list/keys = list(\"christianity\") // What you need to type to get this particular relgion.\n \n /datum/religion/New() // For religions with several bibles/deities\n \tif (bible_names.len)\n \t\tbible_name = pick(bible_names)\n \tif (deity_names.len)\n \t\tdeity_name = pick(deity_names)\n+\taction_renounce = new /datum/action/renounce(src)\n+\n+/datum/religion/proc/isReligiousLeader(var/mob/living/user)\n+\treturn (user.mind && user.mind == religiousLeader)\n \n // Give the chaplain the basic gear, as well as a few misc effects.\n /datum/religion/proc/equip_chaplain(var/mob/living/carbon/human/H)\n \treturn TRUE // Nothing to see here, but redefined in some other religions !\n \n+/* ---- RELIGIOUS CONVERSION ----\n+ * convertAct() -> convertCeremony() -> convertCheck() -> convert()\n+ * Redefine 'convertCeremony' to play out your snowflake ceremony/interactions in your religion datum.\n+ * In a saner language, convertCeremony() and convertCheck() would be private methods. Those are UNSAFE procs. Call convertAct() instead.\n+ */\n+\n+/* ConvertAct() : here we check if eveything is in place for the conversion, and provide feedback if needed. Sanity for the preacher or the target belongs to the verb in the bible.\n+ * - preacher : the guy doing the converting\n+ * - subject : the guy being converted\n+ * - B : the bible using for the conversion\n+ */\n+/datum/religion/proc/convertAct(var/mob/living/preacher, var/mob/living/subject, var/obj/item/weapon/storage/bible/B)\n+\tif (B.my_rel != src) // BLASPHEMY\n+\t\tto_chat(preacher, \"<span class='warning'>You are a heathen to this God. You feel [B.my_rel.deity_name]'s wrath strike you for this blasphemy.</span>\")\n+\t\tpreacher.fire_stacks += 5\n+\t\tpreacher.IgniteMob()\n+\t\tpreacher.emote(\"scream\",,, 1)\n+\t\treturn FALSE\n+\tif (preacher != religiousLeader.current)\n+\t\tto_chat(preacher, \"<span class='warning'>You fail to muster enough mental strength to begin the conversion. Only the Spiritual Guide of [name] can perfom this.</span>\")\n+\t\treturn FALSE\n+\tif (subject.mind.faith == src)\n+\t\tto_chat(preacher, \"<span class='warning'>You and your target follow the same faith.</span>\")\n+\t\treturn FALSE\n+\tif (istype(subject.mind.faith) && subject.mind.faith.isReligiousLeader(subject))\n+\t\tto_chat(preacher, \"<span class='warning'>Your target is already the leader of another religion.</span>\")\n+\t\treturn FALSE\n+\telse\n+\t\treturn convertCeremony(preacher, subject)\n+\n+/* ConvertCeremony() : the RP ceremony to convert the newfound person.\n+ Here we check if we have the tools to convert and play out the little interactions. */\n+\n+ // This is the default ceremony, for Christianity/Space Jesus\n+/datum/religion/proc/convertCeremony(var/mob/living/preacher, var/mob/living/subject)\n+\tvar/held_beaker = preacher.find_held_item_by_type(/obj/item/weapon/reagent_containers)\n+\tif (!held_beaker)\n+\t\tto_chat(preacher, \"You need to hold Holy Water to begin to conversion.\")\n+\t\treturn FALSE\n+\tvar/obj/item/weapon/reagent_containers/B = preacher.held_items[held_beaker]\n+\tif (B.reagents.get_master_reagent_name() != \"Holy Water\")\n+\t\tto_chat(preacher, \"You need to hold Holy Water to begin to conversion.\")\n+\t\treturn FALSE\n+\tsubject.visible_message(\"\\The [preacher] attemps to convert the [subject] to [name].\")","path":"code/datums/religions.dm","position":76,"original_position":76,"commit_id":"1c227afa4003d57b1d72a9ff7d0c2d7de8272688","original_commit_id":"1c227afa4003d57b1d72a9ff7d0c2d7de8272688","user":{"login":"DamianX","id":6307265,"avatar_url":"https://avatars2.githubusercontent.com/u/6307265?v=4","gravatar_id":"","url":"https://api.github.com/users/DamianX","html_url":"https://github.com/DamianX","followers_url":"https://api.github.com/users/DamianX/followers","following_url":"https://api.github.com/users/DamianX/following{/other_user}","gists_url":"https://api.github.com/users/DamianX/gists{/gist_id}","starred_url":"https://api.github.com/users/DamianX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DamianX/subscriptions","organizations_url":"https://api.github.com/users/DamianX/orgs","repos_url":"https://api.github.com/users/DamianX/repos","events_url":"https://api.github.com/users/DamianX/events{/privacy}","received_events_url":"https://api.github.com/users/DamianX/received_events","type":"User","site_admin":false},"body":"`\\the [subject]`","created_at":"2017-12-21T04:37:27Z","updated_at":"2017-12-21T04:52:03Z","html_url":"https://github.com/vgstation-coders/vgstation13/pull/16671#discussion_r158195638","pull_request_url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/comments/158195638"},"html":{"href":"https://github.com/vgstation-coders/vgstation13/pull/16671#discussion_r158195638"},"pull_request":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671"}}},"pull_request":{"url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671","id":156016618,"html_url":"https://github.com/vgstation-coders/vgstation13/pull/16671","diff_url":"https://github.com/vgstation-coders/vgstation13/pull/16671.diff","patch_url":"https://github.com/vgstation-coders/vgstation13/pull/16671.patch","issue_url":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/16671","number":16671,"state":"open","locked":false,"title":"Religious Converting","user":{"login":"ShiftyRail","id":31417754,"avatar_url":"https://avatars1.githubusercontent.com/u/31417754?v=4","gravatar_id":"","url":"https://api.github.com/users/ShiftyRail","html_url":"https://github.com/ShiftyRail","followers_url":"https://api.github.com/users/ShiftyRail/followers","following_url":"https://api.github.com/users/ShiftyRail/following{/other_user}","gists_url":"https://api.github.com/users/ShiftyRail/gists{/gist_id}","starred_url":"https://api.github.com/users/ShiftyRail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShiftyRail/subscriptions","organizations_url":"https://api.github.com/users/ShiftyRail/orgs","repos_url":"https://api.github.com/users/ShiftyRail/repos","events_url":"https://api.github.com/users/ShiftyRail/events{/privacy}","received_events_url":"https://api.github.com/users/ShiftyRail/received_events","type":"User","site_admin":false},"body":"## Scope of this PR\r\n\r\nThis PR adds the option for the chaplain to convert people to their religions.\r\n\r\nThe user must be willing. The default method is to splash people with holy water, but it is easy enough to code your own ceremony for your particular religion.\r\n\r\nIt also adds a tool for admins to check which religions are in existence, subtle PM everyone of that religion, or bus in a new religion.\r\n\r\nAll things related to converting are logged to admin logs.\r\n\r\n_No gameplay changes are intended._\r\nOnly the bible of the official religion of the chaplain is added to the ticker, and as such, only he can de-convert cultists, bring zombies back, and so on.\r\nTested and it works. Bussed in religions can still produce holy water, that is all.\r\n\r\n## Badcode\r\n\r\nI'm not really sure if keeping the Bible in nullspace before the religion is \"activated\" is a smart thing to do, but on the other hand, religions are limited at 4 to prevent an abnormally high number of useless datums and bibles floating around, in case of hrefs exploits or something else.\r\n\r\n:cl:\r\n- rscadd: Add religious converting. Chaplains will be able to ask people to convert to their religion.\r\n- rscadd: Admins are now able to bus in religions and subtle PM all followers of a particular religions, as well as removing people from their religions.","created_at":"2017-12-02T14:57:37Z","updated_at":"2017-12-21T04:52:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"35da44d0cb97c19a780a701d8956ce037f7b5b64","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671/commits","review_comments_url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671/comments","review_comment_url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/16671/comments","statuses_url":"https://api.github.com/repos/vgstation-coders/vgstation13/statuses/1c227afa4003d57b1d72a9ff7d0c2d7de8272688","head":{"label":"ShiftyRail:Religions2","ref":"Religions2","sha":"1c227afa4003d57b1d72a9ff7d0c2d7de8272688","user":{"login":"ShiftyRail","id":31417754,"avatar_url":"https://avatars1.githubusercontent.com/u/31417754?v=4","gravatar_id":"","url":"https://api.github.com/users/ShiftyRail","html_url":"https://github.com/ShiftyRail","followers_url":"https://api.github.com/users/ShiftyRail/followers","following_url":"https://api.github.com/users/ShiftyRail/following{/other_user}","gists_url":"https://api.github.com/users/ShiftyRail/gists{/gist_id}","starred_url":"https://api.github.com/users/ShiftyRail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShiftyRail/subscriptions","organizations_url":"https://api.github.com/users/ShiftyRail/orgs","repos_url":"https://api.github.com/users/ShiftyRail/repos","events_url":"https://api.github.com/users/ShiftyRail/events{/privacy}","received_events_url":"https://api.github.com/users/ShiftyRail/received_events","type":"User","site_admin":false},"repo":{"id":106749102,"name":"vgstation13","full_name":"ShiftyRail/vgstation13","owner":{"login":"ShiftyRail","id":31417754,"avatar_url":"https://avatars1.githubusercontent.com/u/31417754?v=4","gravatar_id":"","url":"https://api.github.com/users/ShiftyRail","html_url":"https://github.com/ShiftyRail","followers_url":"https://api.github.com/users/ShiftyRail/followers","following_url":"https://api.github.com/users/ShiftyRail/following{/other_user}","gists_url":"https://api.github.com/users/ShiftyRail/gists{/gist_id}","starred_url":"https://api.github.com/users/ShiftyRail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ShiftyRail/subscriptions","organizations_url":"https://api.github.com/users/ShiftyRail/orgs","repos_url":"https://api.github.com/users/ShiftyRail/repos","events_url":"https://api.github.com/users/ShiftyRail/events{/privacy}","received_events_url":"https://api.github.com/users/ShiftyRail/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ShiftyRail/vgstation13","description":"Butts","fork":true,"url":"https://api.github.com/repos/ShiftyRail/vgstation13","forks_url":"https://api.github.com/repos/ShiftyRail/vgstation13/forks","keys_url":"https://api.github.com/repos/ShiftyRail/vgstation13/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ShiftyRail/vgstation13/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ShiftyRail/vgstation13/teams","hooks_url":"https://api.github.com/repos/ShiftyRail/vgstation13/hooks","issue_events_url":"https://api.github.com/repos/ShiftyRail/vgstation13/issues/events{/number}","events_url":"https://api.github.com/repos/ShiftyRail/vgstation13/events","assignees_url":"https://api.github.com/repos/ShiftyRail/vgstation13/assignees{/user}","branches_url":"https://api.github.com/repos/ShiftyRail/vgstation13/branches{/branch}","tags_url":"https://api.github.com/repos/ShiftyRail/vgstation13/tags","blobs_url":"https://api.github.com/repos/ShiftyRail/vgstation13/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ShiftyRail/vgstation13/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ShiftyRail/vgstation13/git/refs{/sha}","trees_url":"https://api.github.com/repos/ShiftyRail/vgstation13/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ShiftyRail/vgstation13/statuses/{sha}","languages_url":"https://api.github.com/repos/ShiftyRail/vgstation13/languages","stargazers_url":"https://api.github.com/repos/ShiftyRail/vgstation13/stargazers","contributors_url":"https://api.github.com/repos/ShiftyRail/vgstation13/contributors","subscribers_url":"https://api.github.com/repos/ShiftyRail/vgstation13/subscribers","subscription_url":"https://api.github.com/repos/ShiftyRail/vgstation13/subscription","commits_url":"https://api.github.com/repos/ShiftyRail/vgstation13/commits{/sha}","git_commits_url":"https://api.github.com/repos/ShiftyRail/vgstation13/git/commits{/sha}","comments_url":"https://api.github.com/repos/ShiftyRail/vgstation13/comments{/number}","issue_comment_url":"https://api.github.com/repos/ShiftyRail/vgstation13/issues/comments{/number}","contents_url":"https://api.github.com/repos/ShiftyRail/vgstation13/contents/{+path}","compare_url":"https://api.github.com/repos/ShiftyRail/vgstation13/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ShiftyRail/vgstation13/merges","archive_url":"https://api.github.com/repos/ShiftyRail/vgstation13/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ShiftyRail/vgstation13/downloads","issues_url":"https://api.github.com/repos/ShiftyRail/vgstation13/issues{/number}","pulls_url":"https://api.github.com/repos/ShiftyRail/vgstation13/pulls{/number}","milestones_url":"https://api.github.com/repos/ShiftyRail/vgstation13/milestones{/number}","notifications_url":"https://api.github.com/repos/ShiftyRail/vgstation13/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ShiftyRail/vgstation13/labels{/name}","releases_url":"https://api.github.com/repos/ShiftyRail/vgstation13/releases{/id}","deployments_url":"https://api.github.com/repos/ShiftyRail/vgstation13/deployments","created_at":"2017-10-12T21:51:40Z","updated_at":"2017-10-12T21:51:55Z","pushed_at":"2017-12-20T19:03:23Z","git_url":"git://github.com/ShiftyRail/vgstation13.git","ssh_url":"git@github.com:ShiftyRail/vgstation13.git","clone_url":"https://github.com/ShiftyRail/vgstation13.git","svn_url":"https://github.com/ShiftyRail/vgstation13","homepage":"","size":1189925,"stargazers_count":0,"watchers_count":0,"language":"DM","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"Bleeding-Edge"}},"base":{"label":"vgstation-coders:Bleeding-Edge","ref":"Bleeding-Edge","sha":"1ddc546022e3382b5b064e3b8d8fbfc1ea19fba6","user":{"login":"vgstation-coders","id":26489760,"avatar_url":"https://avatars2.githubusercontent.com/u/26489760?v=4","gravatar_id":"","url":"https://api.github.com/users/vgstation-coders","html_url":"https://github.com/vgstation-coders","followers_url":"https://api.github.com/users/vgstation-coders/followers","following_url":"https://api.github.com/users/vgstation-coders/following{/other_user}","gists_url":"https://api.github.com/users/vgstation-coders/gists{/gist_id}","starred_url":"https://api.github.com/users/vgstation-coders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vgstation-coders/subscriptions","organizations_url":"https://api.github.com/users/vgstation-coders/orgs","repos_url":"https://api.github.com/users/vgstation-coders/repos","events_url":"https://api.github.com/users/vgstation-coders/events{/privacy}","received_events_url":"https://api.github.com/users/vgstation-coders/received_events","type":"Organization","site_admin":false},"repo":{"id":10441188,"name":"vgstation13","full_name":"vgstation-coders/vgstation13","owner":{"login":"vgstation-coders","id":26489760,"avatar_url":"https://avatars2.githubusercontent.com/u/26489760?v=4","gravatar_id":"","url":"https://api.github.com/users/vgstation-coders","html_url":"https://github.com/vgstation-coders","followers_url":"https://api.github.com/users/vgstation-coders/followers","following_url":"https://api.github.com/users/vgstation-coders/following{/other_user}","gists_url":"https://api.github.com/users/vgstation-coders/gists{/gist_id}","starred_url":"https://api.github.com/users/vgstation-coders/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vgstation-coders/subscriptions","organizations_url":"https://api.github.com/users/vgstation-coders/orgs","repos_url":"https://api.github.com/users/vgstation-coders/repos","events_url":"https://api.github.com/users/vgstation-coders/events{/privacy}","received_events_url":"https://api.github.com/users/vgstation-coders/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vgstation-coders/vgstation13","description":"Butts","fork":false,"url":"https://api.github.com/repos/vgstation-coders/vgstation13","forks_url":"https://api.github.com/repos/vgstation-coders/vgstation13/forks","keys_url":"https://api.github.com/repos/vgstation-coders/vgstation13/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vgstation-coders/vgstation13/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vgstation-coders/vgstation13/teams","hooks_url":"https://api.github.com/repos/vgstation-coders/vgstation13/hooks","issue_events_url":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/events{/number}","events_url":"https://api.github.com/repos/vgstation-coders/vgstation13/events","assignees_url":"https://api.github.com/repos/vgstation-coders/vgstation13/assignees{/user}","branches_url":"https://api.github.com/repos/vgstation-coders/vgstation13/branches{/branch}","tags_url":"https://api.github.com/repos/vgstation-coders/vgstation13/tags","blobs_url":"https://api.github.com/repos/vgstation-coders/vgstation13/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vgstation-coders/vgstation13/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vgstation-coders/vgstation13/git/refs{/sha}","trees_url":"https://api.github.com/repos/vgstation-coders/vgstation13/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vgstation-coders/vgstation13/statuses/{sha}","languages_url":"https://api.github.com/repos/vgstation-coders/vgstation13/languages","stargazers_url":"https://api.github.com/repos/vgstation-coders/vgstation13/stargazers","contributors_url":"https://api.github.com/repos/vgstation-coders/vgstation13/contributors","subscribers_url":"https://api.github.com/repos/vgstation-coders/vgstation13/subscribers","subscription_url":"https://api.github.com/repos/vgstation-coders/vgstation13/subscription","commits_url":"https://api.github.com/repos/vgstation-coders/vgstation13/commits{/sha}","git_commits_url":"https://api.github.com/repos/vgstation-coders/vgstation13/git/commits{/sha}","comments_url":"https://api.github.com/repos/vgstation-coders/vgstation13/comments{/number}","issue_comment_url":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/comments{/number}","contents_url":"https://api.github.com/repos/vgstation-coders/vgstation13/contents/{+path}","compare_url":"https://api.github.com/repos/vgstation-coders/vgstation13/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vgstation-coders/vgstation13/merges","archive_url":"https://api.github.com/repos/vgstation-coders/vgstation13/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vgstation-coders/vgstation13/downloads","issues_url":"https://api.github.com/repos/vgstation-coders/vgstation13/issues{/number}","pulls_url":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls{/number}","milestones_url":"https://api.github.com/repos/vgstation-coders/vgstation13/milestones{/number}","notifications_url":"https://api.github.com/repos/vgstation-coders/vgstation13/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vgstation-coders/vgstation13/labels{/name}","releases_url":"https://api.github.com/repos/vgstation-coders/vgstation13/releases{/id}","deployments_url":"https://api.github.com/repos/vgstation-coders/vgstation13/deployments","created_at":"2013-06-02T19:39:54Z","updated_at":"2017-12-20T05:53:25Z","pushed_at":"2017-12-21T00:56:56Z","git_url":"git://github.com/vgstation-coders/vgstation13.git","ssh_url":"git@github.com:vgstation-coders/vgstation13.git","clone_url":"https://github.com/vgstation-coders/vgstation13.git","svn_url":"https://github.com/vgstation-coders/vgstation13","homepage":"","size":1190142,"stargazers_count":132,"watchers_count":132,"language":"DM","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":236,"mirror_url":null,"archived":false,"open_issues_count":1967,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":236,"open_issues":1967,"watchers":132,"default_branch":"Bleeding-Edge"}},"_links":{"self":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671"},"html":{"href":"https://github.com/vgstation-coders/vgstation13/pull/16671"},"issue":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/16671"},"comments":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/issues/16671/comments"},"review_comments":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671/comments"},"review_comment":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/pulls/16671/commits"},"statuses":{"href":"https://api.github.com/repos/vgstation-coders/vgstation13/statuses/1c227afa4003d57b1d72a9ff7d0c2d7de8272688"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"DamianX"}}