{"action":"created","issue":{"url":"https://api.github.com/repos/chrsmith/bwapi/issues/113","labels_url":"https://api.github.com/repos/chrsmith/bwapi/issues/113/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/bwapi/issues/113/comments","events_url":"https://api.github.com/repos/chrsmith/bwapi/issues/113/events","html_url":"https://github.com/chrsmith/bwapi/issues/113","id":58674153,"number":113,"title":"proposal on sneaky units","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/Priority-Medium","name":"Priority-Medium","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-02-24T00:29:00Z","updated_at":"2015-02-24T00:29:05Z","closed_at":"2015-02-24T00:29:00Z","body":"```\nYou may have noticed, when there is a cloacked enemy unit, it's not quite \ninvisible, but there is a slight background distortion in place. People \neasily localize cloacked units when they are moving, but of course can not \ndestroy them until tecnically \"detected\".\n\nI suggest a new state Unit::isSneaking() which is always true when the \ncloacked unit is moving and turns false as soon as the unit stops or \nuncloakes. When isSneaking()==true you can access the unit's type and all \nmovement/order related properties like position, but cannot access any of \nthe other values like player, and ofcourse, trying to attack it would \nresult in an error.\n\nSome callback will help greatly, like onUnitSneaking.\nWhen the unit stops onUnitCloak will be called again.\n\n```\n\n-----\nOriginal issue reported on code.google.com by `goo...@teabix.com` on 18 Nov 2009 at 2:17"},"comment":{"url":"https://api.github.com/repos/chrsmith/bwapi/issues/comments/75672145","html_url":"https://github.com/chrsmith/bwapi/issues/113#issuecomment-75672145","issue_url":"https://api.github.com/repos/chrsmith/bwapi/issues/113","id":75672145,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-02-24T00:29:04Z","updated_at":"2015-02-24T00:29:04Z","body":"```\nThis has been implemented in BWAPI Beta 3.0.3. Except instead of an \nisSneaking() or similar function, we have isDetected() to indicate full \nvisibility, and isVisible() is true for all fully visible and partially visible \nunits.\n```\n\n-----\nOriginal comment by `lowerlo...@gmail.com` on 25 Jul 2010 at 3:42\n* Changed state: **Fixed**"}}