{"action":"created","issue":{"url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/4","labels_url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/4/comments","events_url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/4/events","html_url":"https://github.com/ThanosSiopoudis/FMScoutFramework/issues/4","id":97065246,"number":4,"title":"Contract clauses","user":{"login":"joshlatimer","id":1516279,"avatar_url":"https://avatars.githubusercontent.com/u/1516279?v=3","gravatar_id":"","url":"https://api.github.com/users/joshlatimer","html_url":"https://github.com/joshlatimer","followers_url":"https://api.github.com/users/joshlatimer/followers","following_url":"https://api.github.com/users/joshlatimer/following{/other_user}","gists_url":"https://api.github.com/users/joshlatimer/gists{/gist_id}","starred_url":"https://api.github.com/users/joshlatimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshlatimer/subscriptions","organizations_url":"https://api.github.com/users/joshlatimer/orgs","repos_url":"https://api.github.com/users/joshlatimer/repos","events_url":"https://api.github.com/users/joshlatimer/events{/privacy}","received_events_url":"https://api.github.com/users/joshlatimer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-24T14:27:52Z","updated_at":"2015-07-24T14:46:34Z","closed_at":null,"body":"Any idea how these currently work in FM15? I've been trying to add them to the framework over the past few days but they seem to have changed since FM14. It looks like in FM14 (according to the framework anyway) each clause was next to each other in memory but I've looked at 2 clauses attached to a player in FM15 and they're pretty far away from each other. "},"comment":{"url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/comments/124546700","html_url":"https://github.com/ThanosSiopoudis/FMScoutFramework/issues/4#issuecomment-124546700","issue_url":"https://api.github.com/repos/ThanosSiopoudis/FMScoutFramework/issues/4","id":124546700,"user":{"login":"ThanosSiopoudis","id":1641391,"avatar_url":"https://avatars.githubusercontent.com/u/1641391?v=3","gravatar_id":"","url":"https://api.github.com/users/ThanosSiopoudis","html_url":"https://github.com/ThanosSiopoudis","followers_url":"https://api.github.com/users/ThanosSiopoudis/followers","following_url":"https://api.github.com/users/ThanosSiopoudis/following{/other_user}","gists_url":"https://api.github.com/users/ThanosSiopoudis/gists{/gist_id}","starred_url":"https://api.github.com/users/ThanosSiopoudis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ThanosSiopoudis/subscriptions","organizations_url":"https://api.github.com/users/ThanosSiopoudis/orgs","repos_url":"https://api.github.com/users/ThanosSiopoudis/repos","events_url":"https://api.github.com/users/ThanosSiopoudis/events{/privacy}","received_events_url":"https://api.github.com/users/ThanosSiopoudis/received_events","type":"User","site_admin":false},"created_at":"2015-07-24T14:46:34Z","updated_at":"2015-07-24T14:46:34Z","body":"Sure,\r\nI don't remember FM14 specifically, but here's how FM15 currently is:\r\n* \"Clauses\" offset is @ 0x3C in the Player Contract object.\r\n* There is an array there, that points to Contract Clause objects of 0xC length\r\n* Then, you have the following:  \r\n\r\nObject | Offset | Type\r\n------------ | ------------- | -------------\r\n`Value` | 0x0 | Int32\r\n`Type` | 0x4 | Byte\r\n`Info` | 0x5 | Byte  \r\n\r\n* `Type` is an `Enum` type, with the following values:\r\n```csharp\r\npublic enum ContractClauseType \r\n{\r\n    CCTMinFeeRelease                                    = 0,\r\n    CCTRelegationRelease                                = 1,\r\n    CCTNonPromotionRelease                              = 2,\r\n    CCTYearlyWageRisePercentage                         = 3,\r\n    CCTPromotionWageIncrease                            = 4,\r\n    CCTRelegationWageDecrease                           = 5,\r\n    CCTManagerCoachJobRelease                           = 6,\r\n    CCTSellOnFeePercentage                              = 8,\r\n    CCTSellOnFeeProfitPercentage                        = 9,\r\n    CCTSeasonalLandmarkGoalBonus                        = 10,\r\n    CCTOneYearExtensionAfterLeagueGamesFinalSeason      = 11,\r\n    CCTMatchHighestEarner                               = 12,\r\n    CCTWageAfterReachingClubCareerLeagueGames           = 13,\r\n    CCTTopDivisionPromotionWageRise                     = 14,\r\n    CCTTopDivisionRelegationWageDrop                    = 15,\r\n    CCTMinFeeReleaseForeignClubs                        = 16,\r\n    CCTMinFeeReleaseHigherDivisionClubs                 = 17,\r\n    CCTMinFeeReleaseDomesticClubs                       = 18,\r\n    CCTWageAfterReachingCaps                            = 19,\r\n    CCTOptionalContractExtensionByClubYears             = 22\r\n}\r\n```"}}