{"action":"created","comment":{"url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/comments/186291921","pull_request_review_id":117844117,"id":186291921,"diff_hunk":"@@ -2073,6 +2125,46 @@ public String getCharacterInformationScreen() {\n \t\t\n \t\t}\n \t\t\n+\t\tif(this.isPlayer() && this.getOwner() != null && this.getOwner().getRules().size() > 0)\n+\t\t{\n+\t\t\tinfoScreenSB.append(\"</br>\"\n+\t\t\t\t\t+ \"<h4>Master's Orders</h4>\");\n+\t\t\t\n+\t\t\tboolean playerIsObeyingRules = true;\n+\t\t\tif(!this.getOwner().isPlayerObeyingRules())\n+\t\t\t{\n+\t\t\t\tplayerIsObeyingRules = false;\n+\t\t\t\tinfoScreenSB.append(\"<p>\"\n+\t\t\t\t\t\t\t\t\t\t+ \"You are <b style='color:\" + Colour.GENERIC_MINOR_BAD.toWebHexString()+\";'>disobeying</b> some of the rules\"\n+\t\t\t\t\t\t\t\t\t\t+ \" and as a result, your positive obedience gains are halted.\"\n+\t\t\t\t\t\t\t\t\t+ \"</p>\");\n+\t\t\t}\n+\t\t\t\n+\t\t\tinfoScreenSB.append(\"<p>\");\n+\t\t\t\n+\t\t\tfor(PlayerSlaveryRule rule : this.getOwner().getRules())\n+\t\t\t{\n+\t\t\t\tString rulePerformanceValueString;","path":"src/com/lilithsthrone/game/character/GameCharacter.java","position":132,"original_position":132,"commit_id":"169063d504a75fd69c2ebf6774f42a197a7806ba","original_commit_id":"169063d504a75fd69c2ebf6774f42a197a7806ba","user":{"login":"Pimvgd","id":20502925,"avatar_url":"https://avatars2.githubusercontent.com/u/20502925?v=4","gravatar_id":"","url":"https://api.github.com/users/Pimvgd","html_url":"https://github.com/Pimvgd","followers_url":"https://api.github.com/users/Pimvgd/followers","following_url":"https://api.github.com/users/Pimvgd/following{/other_user}","gists_url":"https://api.github.com/users/Pimvgd/gists{/gist_id}","starred_url":"https://api.github.com/users/Pimvgd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pimvgd/subscriptions","organizations_url":"https://api.github.com/users/Pimvgd/orgs","repos_url":"https://api.github.com/users/Pimvgd/repos","events_url":"https://api.github.com/users/Pimvgd/events{/privacy}","received_events_url":"https://api.github.com/users/Pimvgd/received_events","type":"User","site_admin":false},"body":"Use the if statement to pick the color, then only build the whole string in a single place. Try not to repeat yourself if possible and easy.","created_at":"2018-05-06T14:08:45Z","updated_at":"2018-05-06T14:54:25Z","html_url":"https://github.com/Innoxia/liliths-throne-public/pull/448#discussion_r186291921","pull_request_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/comments/186291921"},"html":{"href":"https://github.com/Innoxia/liliths-throne-public/pull/448#discussion_r186291921"},"pull_request":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448"}}},"pull_request":{"url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448","id":186198736,"html_url":"https://github.com/Innoxia/liliths-throne-public/pull/448","diff_url":"https://github.com/Innoxia/liliths-throne-public/pull/448.diff","patch_url":"https://github.com/Innoxia/liliths-throne-public/pull/448.patch","issue_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/448","number":448,"state":"open","locked":false,"title":"Player slavery core + Alleyway Attacker Master","user":{"login":"Irbynx","id":29257834,"avatar_url":"https://avatars0.githubusercontent.com/u/29257834?v=4","gravatar_id":"","url":"https://api.github.com/users/Irbynx","html_url":"https://github.com/Irbynx","followers_url":"https://api.github.com/users/Irbynx/followers","following_url":"https://api.github.com/users/Irbynx/following{/other_user}","gists_url":"https://api.github.com/users/Irbynx/gists{/gist_id}","starred_url":"https://api.github.com/users/Irbynx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Irbynx/subscriptions","organizations_url":"https://api.github.com/users/Irbynx/orgs","repos_url":"https://api.github.com/users/Irbynx/repos","events_url":"https://api.github.com/users/Irbynx/events{/privacy}","received_events_url":"https://api.github.com/users/Irbynx/received_events","type":"User","site_admin":false},"body":"# Player Slavery core + Alleyway Attacker Master\r\n\r\n## Added Features\r\n\r\n### Player Slavery\r\n\r\n- Adds the core implementation of player slavery.\r\n- Adds two fetishes: Slave and Master (with SVG graphics in game). Slave fetish makes forcibly enslaved NPCs lose less obedience on initial enslavement; Master fetish is akin to Transformer or Kink Advocate fetish, in that it changes the behaviour of NPC attackers. As such, this fetish also comes with a content setting similar to Transformer/Kink Advocate.\r\n- Player slavery functions as a separate system from NPC slavery in some places, for obvious reasons; however it does use the already implemented obedience, affection and slave-master relationships set in the code.\r\n- Core elements that drive player slavery after the player got enslaved in one way or another are *rules* and *events*.\r\n- **Rules** are passive orders given to player by their master. These have to be fulfilled in order to avoid incurring an obedience penalty. They may be added and removed by master on their whim, usually as a result of Event system. Performing the rules well or poorly can cause a respective remark from the NPC, usually during punishments to indicate players what they were doing wrong. Events are checked every hour by the game to adjust player's obedience stats.\r\n- Some rules are implemented as timed quests. They use rule framework but require the player to complete their objective within their timespan rather than do them constantly.\r\n- Rules are shown in player's selfie menu.\r\n- **Events** are active encounters with the player's master. These can only happen if they are within their owned territory. They implement a weight-based choice selection, with highest weight event being picked, allowing programmatic determination of events. Events may include punishments, sex scenes, rules changes or pseudo-quest rule assignments.\r\n\r\n### NPC Changes\r\n\r\n- For some functions of slavery to work, a way to talk to NPCs was added; so far only used in Alleyway Attacker Mastery.\r\n- Added a tab to NPC inspection menu named 'talk' that may be populated by NPC classes if needed.\r\n- Made a check every turn to set active NPC to null if the player and NPC don't share the room to avoid several persistent issues.\r\n\r\n### Debugging changes\r\n\r\n- Added Instakill and Instacum options to combat and sex respectively. These are only available in the debug mode.\r\n\r\n### Author tooltip changes\r\n\r\n- Added a getAuthorColour function that allows authors to set their own colour that is shown in the \"Scene Written By\" tooltip.\r\n\r\n### Wait Button\r\n\r\n- Added a Wait button to phone menu. Allows waiting for 5, 15, 30, 60 and 240 minutes. Comes with some history-related flavour text. Useful for slavery interactions. Doesn't provide well rested bonus, only useful to pass time.\r\n\r\n### Alleyway Attacker Slavery\r\n\r\n- The main content feature of this pull request. NPCs that spawn with Master fetish will, upon defeating the player, enslave them.\r\n- Players with Slave fetish can't run away, but other players can.\r\n- Alleyway Attacker punishes players at low obedience, may strip them if they are voyeristic or the player is an exhibitionist and has  a few quest-like rules to them, including a bribery quest.\r\n- The player can beg for punishment from an NPC and pay their slavery off with 50 000 flames.\r\n- The tile that the slave master populates will be safe from encounters. Players can whore themselves out there to get money.\r\n- Enslaves player using a contraband collar; player can't take it off and unjixing it is impossible. In addition to that, leaving the master's owned area (in this case, just one tile) will cause the player to get a slow drain on their health and mana.\r\n\r\n### Auxiliary information.\r\n\r\n- No new assets required; 2 new slavery fetishes icons are provided with the pull request.\r\n- Changes were tested on preview build 0.2.4.5\r\n","created_at":"2018-05-06T10:30:03Z","updated_at":"2018-05-06T14:54:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f14b36ae35f023a49b27c12a6d72e01920dc05de","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448/commits","review_comments_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448/comments","review_comment_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/448/comments","statuses_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/statuses/169063d504a75fd69c2ebf6774f42a197a7806ba","head":{"label":"Irbynx:player-slavery","ref":"player-slavery","sha":"169063d504a75fd69c2ebf6774f42a197a7806ba","user":{"login":"Irbynx","id":29257834,"avatar_url":"https://avatars0.githubusercontent.com/u/29257834?v=4","gravatar_id":"","url":"https://api.github.com/users/Irbynx","html_url":"https://github.com/Irbynx","followers_url":"https://api.github.com/users/Irbynx/followers","following_url":"https://api.github.com/users/Irbynx/following{/other_user}","gists_url":"https://api.github.com/users/Irbynx/gists{/gist_id}","starred_url":"https://api.github.com/users/Irbynx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Irbynx/subscriptions","organizations_url":"https://api.github.com/users/Irbynx/orgs","repos_url":"https://api.github.com/users/Irbynx/repos","events_url":"https://api.github.com/users/Irbynx/events{/privacy}","received_events_url":"https://api.github.com/users/Irbynx/received_events","type":"User","site_admin":false},"repo":{"id":126512707,"name":"liliths-throne-public","full_name":"Irbynx/liliths-throne-public","owner":{"login":"Irbynx","id":29257834,"avatar_url":"https://avatars0.githubusercontent.com/u/29257834?v=4","gravatar_id":"","url":"https://api.github.com/users/Irbynx","html_url":"https://github.com/Irbynx","followers_url":"https://api.github.com/users/Irbynx/followers","following_url":"https://api.github.com/users/Irbynx/following{/other_user}","gists_url":"https://api.github.com/users/Irbynx/gists{/gist_id}","starred_url":"https://api.github.com/users/Irbynx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Irbynx/subscriptions","organizations_url":"https://api.github.com/users/Irbynx/orgs","repos_url":"https://api.github.com/users/Irbynx/repos","events_url":"https://api.github.com/users/Irbynx/events{/privacy}","received_events_url":"https://api.github.com/users/Irbynx/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Irbynx/liliths-throne-public","description":"Public repository for Lilith's Throne. (18+)","fork":true,"url":"https://api.github.com/repos/Irbynx/liliths-throne-public","forks_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/forks","keys_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/teams","hooks_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/hooks","issue_events_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/issues/events{/number}","events_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/events","assignees_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/assignees{/user}","branches_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/branches{/branch}","tags_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/tags","blobs_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/git/refs{/sha}","trees_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/statuses/{sha}","languages_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/languages","stargazers_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/stargazers","contributors_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/contributors","subscribers_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/subscribers","subscription_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/subscription","commits_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/commits{/sha}","git_commits_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/git/commits{/sha}","comments_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/comments{/number}","issue_comment_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/issues/comments{/number}","contents_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/contents/{+path}","compare_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/merges","archive_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/downloads","issues_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/issues{/number}","pulls_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/pulls{/number}","milestones_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/milestones{/number}","notifications_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/labels{/name}","releases_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/releases{/id}","deployments_url":"https://api.github.com/repos/Irbynx/liliths-throne-public/deployments","created_at":"2018-03-23T16:39:59Z","updated_at":"2018-04-26T13:24:20Z","pushed_at":"2018-05-06T10:05:25Z","git_url":"git://github.com/Irbynx/liliths-throne-public.git","ssh_url":"git@github.com:Irbynx/liliths-throne-public.git","clone_url":"https://github.com/Irbynx/liliths-throne-public.git","svn_url":"https://github.com/Irbynx/liliths-throne-public","homepage":"","size":25335,"stargazers_count":0,"watchers_count":0,"language":"Java","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":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Innoxia:master","ref":"master","sha":"ad09d08835661cc5c983016a31025e52f79e4652","user":{"login":"Innoxia","id":25914384,"avatar_url":"https://avatars2.githubusercontent.com/u/25914384?v=4","gravatar_id":"","url":"https://api.github.com/users/Innoxia","html_url":"https://github.com/Innoxia","followers_url":"https://api.github.com/users/Innoxia/followers","following_url":"https://api.github.com/users/Innoxia/following{/other_user}","gists_url":"https://api.github.com/users/Innoxia/gists{/gist_id}","starred_url":"https://api.github.com/users/Innoxia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Innoxia/subscriptions","organizations_url":"https://api.github.com/users/Innoxia/orgs","repos_url":"https://api.github.com/users/Innoxia/repos","events_url":"https://api.github.com/users/Innoxia/events{/privacy}","received_events_url":"https://api.github.com/users/Innoxia/received_events","type":"User","site_admin":false},"repo":{"id":98690886,"name":"liliths-throne-public","full_name":"Innoxia/liliths-throne-public","owner":{"login":"Innoxia","id":25914384,"avatar_url":"https://avatars2.githubusercontent.com/u/25914384?v=4","gravatar_id":"","url":"https://api.github.com/users/Innoxia","html_url":"https://github.com/Innoxia","followers_url":"https://api.github.com/users/Innoxia/followers","following_url":"https://api.github.com/users/Innoxia/following{/other_user}","gists_url":"https://api.github.com/users/Innoxia/gists{/gist_id}","starred_url":"https://api.github.com/users/Innoxia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Innoxia/subscriptions","organizations_url":"https://api.github.com/users/Innoxia/orgs","repos_url":"https://api.github.com/users/Innoxia/repos","events_url":"https://api.github.com/users/Innoxia/events{/privacy}","received_events_url":"https://api.github.com/users/Innoxia/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Innoxia/liliths-throne-public","description":"Public repository for Lilith's Throne. (18+)","fork":false,"url":"https://api.github.com/repos/Innoxia/liliths-throne-public","forks_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/forks","keys_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/teams","hooks_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/hooks","issue_events_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/events{/number}","events_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/events","assignees_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/assignees{/user}","branches_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/branches{/branch}","tags_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/tags","blobs_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/git/refs{/sha}","trees_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/statuses/{sha}","languages_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/languages","stargazers_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/stargazers","contributors_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/contributors","subscribers_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/subscribers","subscription_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/subscription","commits_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/commits{/sha}","git_commits_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/git/commits{/sha}","comments_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/comments{/number}","issue_comment_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/comments{/number}","contents_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/contents/{+path}","compare_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/merges","archive_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/downloads","issues_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues{/number}","pulls_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls{/number}","milestones_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/milestones{/number}","notifications_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/labels{/name}","releases_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/releases{/id}","deployments_url":"https://api.github.com/repos/Innoxia/liliths-throne-public/deployments","created_at":"2017-07-28T21:51:29Z","updated_at":"2018-05-03T21:47:34Z","pushed_at":"2018-05-06T13:49:44Z","git_url":"git://github.com/Innoxia/liliths-throne-public.git","ssh_url":"git@github.com:Innoxia/liliths-throne-public.git","clone_url":"https://github.com/Innoxia/liliths-throne-public.git","svn_url":"https://github.com/Innoxia/liliths-throne-public","homepage":"","size":25575,"stargazers_count":56,"watchers_count":56,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":71,"mirror_url":null,"archived":false,"open_issues_count":185,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":71,"open_issues":185,"watchers":56,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448"},"html":{"href":"https://github.com/Innoxia/liliths-throne-public/pull/448"},"issue":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/448"},"comments":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/issues/448/comments"},"review_comments":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448/comments"},"review_comment":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/pulls/448/commits"},"statuses":{"href":"https://api.github.com/repos/Innoxia/liliths-throne-public/statuses/169063d504a75fd69c2ebf6774f42a197a7806ba"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Pimvgd"}}