{"action":"created","comment":{"url":"https://api.github.com/repos/tgstation/-tg-station/pulls/comments/45565848","id":45565848,"diff_hunk":"@@ -519,3 +519,191 @@ var/global/image/plasmaman_on_fire = image(\"icon\"='icons/mob/OnFire.dmi', \"icon_\n \t\treturn 0\n \treturn 1\n \n+\n+\n+\n+var/global/list/synth_flesh_disguises = list()\n+\n+/datum/species/synth\n+\tname = \"Synth\" //inherited from the real species, for health scanners and things\n+\tid = \"synth\"\n+\tsay_mod = \"beep boops\" //inherited from a user's real species\n+\tsexes = 0\n+\tspecflags = list(NOTRANSSTING,NOBREATH,VIRUSIMMUNE) //all of these + whatever we inherit from the real species\n+\tsafe_oxygen_min = 0\n+\tsafe_toxins_min = 0\n+\tsafe_toxins_max = 0\n+\tsafe_co2_max = 0\n+\tSA_para_min = 0\n+\tSA_sleep_min = 0\n+\tdangerous_existence = 1\n+\tneed_nutrition = 0 //beep boop robots do not need sustinance\n+\tmeat = null\n+\tvar/list/initial_specflags = list(NOTRANSSTING,NOBREATH,VIRUSIMMUNE) //for getting these values back for assume_disguise()\n+\tvar/disguise_fail_health = 75 //When their health gets to this level their synthflesh partially falls off\n+\tvar/image/damaged_synth_flesh = null //an image to display when we're below disguise_fail_health\n+\tvar/datum/species/fake_species = null //a species to do most of our work for us, unless we're damaged\n+\n+\n+/datum/species/synth/military\n+\tname = \"Military Synth\"\n+\tid = \"military_synth\"\n+\tarmor = 25\n+\tpunchmod = 10\n+\tdisguise_fail_health = 50\n+\n+\n+/datum/species/synth/admin_set_species(mob/living/carbon/human/H, old_species)\n+\tassume_disguise(old_species,H)\n+\n+\n+/datum/species/synth/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)\n+\tif(chem.id == \"synthflesh\")\n+\t\tchem.reaction_mob(H, TOUCH, 2 ,0) //heal a little\n+\t\thandle_disguise(H) //and update flesh disguise\n+\t\tH.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM)\n+\t\treturn 1\n+\n+\n+/datum/species/synth/proc/assume_disguise(datum/species/S, mob/living/carbon/human/H)\n+\tif(S && !istype(S, type))\n+\t\tname = S.name\n+\t\tsay_mod = S.say_mod\n+\t\tspecflags = initial_specflags.Copy()\n+\t\tspecflags.Add(S.specflags)\n+\t\tattack_verb = S.attack_verb\n+\t\tattack_sound = S.attack_sound\n+\t\tmiss_sound = S.miss_sound\n+\t\tmeat = S.meat\n+\t\tmutant_bodyparts = S.mutant_bodyparts.Copy()\n+\t\tdefault_features = S.default_features.Copy()\n+\t\tnojumpsuit = S.nojumpsuit\n+\t\tno_equip = S.no_equip.Copy()\n+\t\tfake_species = new S.type\n+\telse\n+\t\tname = initial(name)\n+\t\tsay_mod = initial(say_mod)\n+\t\tspecflags = initial_specflags.Copy()\n+\t\tattack_verb = initial(attack_verb)\n+\t\tattack_sound = initial(attack_sound)\n+\t\tmiss_sound = initial(miss_sound)\n+\t\tmutant_bodyparts = list()\n+\t\tdefault_features = list()\n+\t\tnojumpsuit = initial(nojumpsuit)\n+\t\tno_equip = list()\n+\t\tqdel(fake_species)\n+\t\tfake_species = null\n+\t\tmeat = initial(meat)","path":"code/modules/mob/living/carbon/human/species_types.dm","position":78,"original_position":78,"commit_id":"be674253ee4516a6026072fc0f85600863d7f556","original_commit_id":"be674253ee4516a6026072fc0f85600863d7f556","user":{"login":"Aranclanos","id":701959,"avatar_url":"https://avatars.githubusercontent.com/u/701959?v=3","gravatar_id":"","url":"https://api.github.com/users/Aranclanos","html_url":"https://github.com/Aranclanos","followers_url":"https://api.github.com/users/Aranclanos/followers","following_url":"https://api.github.com/users/Aranclanos/following{/other_user}","gists_url":"https://api.github.com/users/Aranclanos/gists{/gist_id}","starred_url":"https://api.github.com/users/Aranclanos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aranclanos/subscriptions","organizations_url":"https://api.github.com/users/Aranclanos/orgs","repos_url":"https://api.github.com/users/Aranclanos/repos","events_url":"https://api.github.com/users/Aranclanos/events{/privacy}","received_events_url":"https://api.github.com/users/Aranclanos/received_events","type":"User","site_admin":false},"body":"this whole thing is a bit meh","created_at":"2015-11-22T22:33:43Z","updated_at":"2015-11-22T22:33:43Z","html_url":"https://github.com/tgstation/-tg-station/pull/13122#discussion_r45565848","pull_request_url":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122","_links":{"self":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/comments/45565848"},"html":{"href":"https://github.com/tgstation/-tg-station/pull/13122#discussion_r45565848"},"pull_request":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122"}}},"pull_request":{"url":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122","id":51288656,"html_url":"https://github.com/tgstation/-tg-station/pull/13122","diff_url":"https://github.com/tgstation/-tg-station/pull/13122.diff","patch_url":"https://github.com/tgstation/-tg-station/pull/13122.patch","issue_url":"https://api.github.com/repos/tgstation/-tg-station/issues/13122","number":13122,"state":"open","locked":false,"title":"Adds a Synth Species","user":{"login":"RemieRichards","id":4043781,"avatar_url":"https://avatars.githubusercontent.com/u/4043781?v=3","gravatar_id":"","url":"https://api.github.com/users/RemieRichards","html_url":"https://github.com/RemieRichards","followers_url":"https://api.github.com/users/RemieRichards/followers","following_url":"https://api.github.com/users/RemieRichards/following{/other_user}","gists_url":"https://api.github.com/users/RemieRichards/gists{/gist_id}","starred_url":"https://api.github.com/users/RemieRichards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RemieRichards/subscriptions","organizations_url":"https://api.github.com/users/RemieRichards/orgs","repos_url":"https://api.github.com/users/RemieRichards/repos","events_url":"https://api.github.com/users/RemieRichards/events{/privacy}","received_events_url":"https://api.github.com/users/RemieRichards/received_events","type":"User","site_admin":false},"body":"## Changes\r\n* Adds Synth Species\r\n* Adds a method for species to react to being force set by an admin.\r\n\r\n## Synth Species\r\n* Imitates a species - Say mods, Icons, Mutant parts, etc.\r\n* When health reached ```disguise_fail_health``` their synthflesh falls off partially, revealing their metal skeleton beneath\r\n* Synthflesh can only be repaired by drinking the reagent, Synthflesh. Drunk synthflesh heals Synths more than synthflesh normal heals for.\r\n* ```/synth/military``` subtype has in built armour (25) and increased punch damage (+10)\r\n\r\nDamaged skin (Correctly handles species)\r\n![species](http://i.imgur.com/8DnQQTr.png)\r\n\r\nBase ```icon_state``` adapted from Bay's IPCs, synthflesh automatically created from existing icons via code.\r\n\r\nIdea adapted from https://tgstation13.org/phpBB/viewtopic.php?f=9&t=5212&p=134868#p134868\r\nI spoke with GUN_HOG about him using this species datum for the constructed synths in the thread.\r\n\r\nThis can be used to have people spawn as their characters, and then become some kind of Synth Antag so they're still their character, but technically a synth.\r\n\r\n:cl: \r\nadd: Adds a Synth Species\r\nadd: Species can now react to being force set by admins, used for Synth species\r\n/:cl:","created_at":"2015-11-19T22:09:25Z","updated_at":"2015-11-22T22:33:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ae9800b27a3dd92da8418e08f223fb5041a49f42","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122/commits","review_comments_url":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122/comments","review_comment_url":"https://api.github.com/repos/tgstation/-tg-station/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tgstation/-tg-station/issues/13122/comments","statuses_url":"https://api.github.com/repos/tgstation/-tg-station/statuses/be674253ee4516a6026072fc0f85600863d7f556","head":{"label":"RemieRichards:Synths","ref":"Synths","sha":"be674253ee4516a6026072fc0f85600863d7f556","user":{"login":"RemieRichards","id":4043781,"avatar_url":"https://avatars.githubusercontent.com/u/4043781?v=3","gravatar_id":"","url":"https://api.github.com/users/RemieRichards","html_url":"https://github.com/RemieRichards","followers_url":"https://api.github.com/users/RemieRichards/followers","following_url":"https://api.github.com/users/RemieRichards/following{/other_user}","gists_url":"https://api.github.com/users/RemieRichards/gists{/gist_id}","starred_url":"https://api.github.com/users/RemieRichards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RemieRichards/subscriptions","organizations_url":"https://api.github.com/users/RemieRichards/orgs","repos_url":"https://api.github.com/users/RemieRichards/repos","events_url":"https://api.github.com/users/RemieRichards/events{/privacy}","received_events_url":"https://api.github.com/users/RemieRichards/received_events","type":"User","site_admin":false},"repo":{"id":12466296,"name":"-tg-station","full_name":"RemieRichards/-tg-station","owner":{"login":"RemieRichards","id":4043781,"avatar_url":"https://avatars.githubusercontent.com/u/4043781?v=3","gravatar_id":"","url":"https://api.github.com/users/RemieRichards","html_url":"https://github.com/RemieRichards","followers_url":"https://api.github.com/users/RemieRichards/followers","following_url":"https://api.github.com/users/RemieRichards/following{/other_user}","gists_url":"https://api.github.com/users/RemieRichards/gists{/gist_id}","starred_url":"https://api.github.com/users/RemieRichards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RemieRichards/subscriptions","organizations_url":"https://api.github.com/users/RemieRichards/orgs","repos_url":"https://api.github.com/users/RemieRichards/repos","events_url":"https://api.github.com/users/RemieRichards/events{/privacy}","received_events_url":"https://api.github.com/users/RemieRichards/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/RemieRichards/-tg-station","description":"/tg/'s SS13 branch","fork":true,"url":"https://api.github.com/repos/RemieRichards/-tg-station","forks_url":"https://api.github.com/repos/RemieRichards/-tg-station/forks","keys_url":"https://api.github.com/repos/RemieRichards/-tg-station/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RemieRichards/-tg-station/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RemieRichards/-tg-station/teams","hooks_url":"https://api.github.com/repos/RemieRichards/-tg-station/hooks","issue_events_url":"https://api.github.com/repos/RemieRichards/-tg-station/issues/events{/number}","events_url":"https://api.github.com/repos/RemieRichards/-tg-station/events","assignees_url":"https://api.github.com/repos/RemieRichards/-tg-station/assignees{/user}","branches_url":"https://api.github.com/repos/RemieRichards/-tg-station/branches{/branch}","tags_url":"https://api.github.com/repos/RemieRichards/-tg-station/tags","blobs_url":"https://api.github.com/repos/RemieRichards/-tg-station/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RemieRichards/-tg-station/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RemieRichards/-tg-station/git/refs{/sha}","trees_url":"https://api.github.com/repos/RemieRichards/-tg-station/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RemieRichards/-tg-station/statuses/{sha}","languages_url":"https://api.github.com/repos/RemieRichards/-tg-station/languages","stargazers_url":"https://api.github.com/repos/RemieRichards/-tg-station/stargazers","contributors_url":"https://api.github.com/repos/RemieRichards/-tg-station/contributors","subscribers_url":"https://api.github.com/repos/RemieRichards/-tg-station/subscribers","subscription_url":"https://api.github.com/repos/RemieRichards/-tg-station/subscription","commits_url":"https://api.github.com/repos/RemieRichards/-tg-station/commits{/sha}","git_commits_url":"https://api.github.com/repos/RemieRichards/-tg-station/git/commits{/sha}","comments_url":"https://api.github.com/repos/RemieRichards/-tg-station/comments{/number}","issue_comment_url":"https://api.github.com/repos/RemieRichards/-tg-station/issues/comments{/number}","contents_url":"https://api.github.com/repos/RemieRichards/-tg-station/contents/{+path}","compare_url":"https://api.github.com/repos/RemieRichards/-tg-station/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RemieRichards/-tg-station/merges","archive_url":"https://api.github.com/repos/RemieRichards/-tg-station/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RemieRichards/-tg-station/downloads","issues_url":"https://api.github.com/repos/RemieRichards/-tg-station/issues{/number}","pulls_url":"https://api.github.com/repos/RemieRichards/-tg-station/pulls{/number}","milestones_url":"https://api.github.com/repos/RemieRichards/-tg-station/milestones{/number}","notifications_url":"https://api.github.com/repos/RemieRichards/-tg-station/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RemieRichards/-tg-station/labels{/name}","releases_url":"https://api.github.com/repos/RemieRichards/-tg-station/releases{/id}","created_at":"2013-08-29T17:14:29Z","updated_at":"2015-11-02T04:14:52Z","pushed_at":"2015-11-20T15:55:18Z","git_url":"git://github.com/RemieRichards/-tg-station.git","ssh_url":"git@github.com:RemieRichards/-tg-station.git","clone_url":"https://github.com/RemieRichards/-tg-station.git","svn_url":"https://github.com/RemieRichards/-tg-station","homepage":"","size":571349,"stargazers_count":0,"watchers_count":0,"language":"DM","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tgstation:master","ref":"master","sha":"8994f033775ec1073acdce9d57f487a2444eda12","user":{"login":"tgstation","id":1363778,"avatar_url":"https://avatars.githubusercontent.com/u/1363778?v=3","gravatar_id":"","url":"https://api.github.com/users/tgstation","html_url":"https://github.com/tgstation","followers_url":"https://api.github.com/users/tgstation/followers","following_url":"https://api.github.com/users/tgstation/following{/other_user}","gists_url":"https://api.github.com/users/tgstation/gists{/gist_id}","starred_url":"https://api.github.com/users/tgstation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgstation/subscriptions","organizations_url":"https://api.github.com/users/tgstation/orgs","repos_url":"https://api.github.com/users/tgstation/repos","events_url":"https://api.github.com/users/tgstation/events{/privacy}","received_events_url":"https://api.github.com/users/tgstation/received_events","type":"Organization","site_admin":false},"repo":{"id":3234987,"name":"-tg-station","full_name":"tgstation/-tg-station","owner":{"login":"tgstation","id":1363778,"avatar_url":"https://avatars.githubusercontent.com/u/1363778?v=3","gravatar_id":"","url":"https://api.github.com/users/tgstation","html_url":"https://github.com/tgstation","followers_url":"https://api.github.com/users/tgstation/followers","following_url":"https://api.github.com/users/tgstation/following{/other_user}","gists_url":"https://api.github.com/users/tgstation/gists{/gist_id}","starred_url":"https://api.github.com/users/tgstation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgstation/subscriptions","organizations_url":"https://api.github.com/users/tgstation/orgs","repos_url":"https://api.github.com/users/tgstation/repos","events_url":"https://api.github.com/users/tgstation/events{/privacy}","received_events_url":"https://api.github.com/users/tgstation/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tgstation/-tg-station","description":"the /tg/station branch of SS13","fork":false,"url":"https://api.github.com/repos/tgstation/-tg-station","forks_url":"https://api.github.com/repos/tgstation/-tg-station/forks","keys_url":"https://api.github.com/repos/tgstation/-tg-station/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tgstation/-tg-station/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tgstation/-tg-station/teams","hooks_url":"https://api.github.com/repos/tgstation/-tg-station/hooks","issue_events_url":"https://api.github.com/repos/tgstation/-tg-station/issues/events{/number}","events_url":"https://api.github.com/repos/tgstation/-tg-station/events","assignees_url":"https://api.github.com/repos/tgstation/-tg-station/assignees{/user}","branches_url":"https://api.github.com/repos/tgstation/-tg-station/branches{/branch}","tags_url":"https://api.github.com/repos/tgstation/-tg-station/tags","blobs_url":"https://api.github.com/repos/tgstation/-tg-station/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tgstation/-tg-station/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tgstation/-tg-station/git/refs{/sha}","trees_url":"https://api.github.com/repos/tgstation/-tg-station/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tgstation/-tg-station/statuses/{sha}","languages_url":"https://api.github.com/repos/tgstation/-tg-station/languages","stargazers_url":"https://api.github.com/repos/tgstation/-tg-station/stargazers","contributors_url":"https://api.github.com/repos/tgstation/-tg-station/contributors","subscribers_url":"https://api.github.com/repos/tgstation/-tg-station/subscribers","subscription_url":"https://api.github.com/repos/tgstation/-tg-station/subscription","commits_url":"https://api.github.com/repos/tgstation/-tg-station/commits{/sha}","git_commits_url":"https://api.github.com/repos/tgstation/-tg-station/git/commits{/sha}","comments_url":"https://api.github.com/repos/tgstation/-tg-station/comments{/number}","issue_comment_url":"https://api.github.com/repos/tgstation/-tg-station/issues/comments{/number}","contents_url":"https://api.github.com/repos/tgstation/-tg-station/contents/{+path}","compare_url":"https://api.github.com/repos/tgstation/-tg-station/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tgstation/-tg-station/merges","archive_url":"https://api.github.com/repos/tgstation/-tg-station/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tgstation/-tg-station/downloads","issues_url":"https://api.github.com/repos/tgstation/-tg-station/issues{/number}","pulls_url":"https://api.github.com/repos/tgstation/-tg-station/pulls{/number}","milestones_url":"https://api.github.com/repos/tgstation/-tg-station/milestones{/number}","notifications_url":"https://api.github.com/repos/tgstation/-tg-station/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tgstation/-tg-station/labels{/name}","releases_url":"https://api.github.com/repos/tgstation/-tg-station/releases{/id}","created_at":"2012-01-21T17:32:47Z","updated_at":"2015-11-22T20:34:51Z","pushed_at":"2015-11-22T22:04:08Z","git_url":"git://github.com/tgstation/-tg-station.git","ssh_url":"git@github.com:tgstation/-tg-station.git","clone_url":"https://github.com/tgstation/-tg-station.git","svn_url":"https://github.com/tgstation/-tg-station","homepage":"http://www.tgstation13.org/","size":712896,"stargazers_count":245,"watchers_count":245,"language":"DM","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":882,"mirror_url":null,"open_issues_count":898,"forks":882,"open_issues":898,"watchers":245,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122"},"html":{"href":"https://github.com/tgstation/-tg-station/pull/13122"},"issue":{"href":"https://api.github.com/repos/tgstation/-tg-station/issues/13122"},"comments":{"href":"https://api.github.com/repos/tgstation/-tg-station/issues/13122/comments"},"review_comments":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122/comments"},"review_comment":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tgstation/-tg-station/pulls/13122/commits"},"statuses":{"href":"https://api.github.com/repos/tgstation/-tg-station/statuses/be674253ee4516a6026072fc0f85600863d7f556"}}}}