{"action":"created","issue":{"url":"https://api.github.com/repos/wurstscript/WurstScript/issues/587","repository_url":"https://api.github.com/repos/wurstscript/WurstScript","labels_url":"https://api.github.com/repos/wurstscript/WurstScript/issues/587/labels{/name}","comments_url":"https://api.github.com/repos/wurstscript/WurstScript/issues/587/comments","events_url":"https://api.github.com/repos/wurstscript/WurstScript/issues/587/events","html_url":"https://github.com/wurstscript/WurstScript/issues/587","id":276241356,"number":587,"title":"[discussion needed] wurstscript should check validity of collection of asiiInts passed to objediting?","user":{"login":"Cokemonkey11","id":1418966,"avatar_url":"https://avatars1.githubusercontent.com/u/1418966?v=4","gravatar_id":"","url":"https://api.github.com/users/Cokemonkey11","html_url":"https://github.com/Cokemonkey11","followers_url":"https://api.github.com/users/Cokemonkey11/followers","following_url":"https://api.github.com/users/Cokemonkey11/following{/other_user}","gists_url":"https://api.github.com/users/Cokemonkey11/gists{/gist_id}","starred_url":"https://api.github.com/users/Cokemonkey11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cokemonkey11/subscriptions","organizations_url":"https://api.github.com/users/Cokemonkey11/orgs","repos_url":"https://api.github.com/users/Cokemonkey11/repos","events_url":"https://api.github.com/users/Cokemonkey11/events{/privacy}","received_events_url":"https://api.github.com/users/Cokemonkey11/received_events","type":"User","site_admin":false},"labels":[{"id":267238723,"url":"https://api.github.com/repos/wurstscript/WurstScript/labels/StandardLib","name":"StandardLib","color":"5319e7","default":false},{"id":517146,"url":"https://api.github.com/repos/wurstscript/WurstScript/labels/unclear/discussion","name":"unclear/discussion","color":"cc317c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-11-23T00:43:57Z","updated_at":"2017-11-29T20:48:45Z","closed_at":null,"author_association":"COLLABORATOR","body":"Frotty and I had a hell of a time debugging really strange techtree and object data behavior that arised because I set some units with strings like `'f000', 'f001', 'f002'` etc, and some abilities with `'F000', 'F001', 'F002'` etc.\r\n\r\n* wc3 only treats a capitalised first letter for changing heroes to units, any other use can be problematic\r\n* in general, mixing 'f000' and 'F000' object IDs is allowed, but for techtree requirements *and other situations* seems to be undefined behavior (widgetizer for example will really muck this up)\r\n* There seems to be some safe cases, for example where techtree requirements are not involved but a unit 'c000' has ability 'C000' - that seems to work, but in general this is risky business\r\n\r\nI propose we augment the wurstscript objediting subsystem to do some compiletime checks on all the values passed to objediting as asciiInts and raise a warning for any time when a unit, hero, or item mixes 'zAAA' with 'ZAAA'.\r\n\r\n@lep might be interested to join this discussion?"},"comment":{"url":"https://api.github.com/repos/wurstscript/WurstScript/issues/comments/347991499","html_url":"https://github.com/wurstscript/WurstScript/issues/587#issuecomment-347991499","issue_url":"https://api.github.com/repos/wurstscript/WurstScript/issues/587","id":347991499,"user":{"login":"Cokemonkey11","id":1418966,"avatar_url":"https://avatars1.githubusercontent.com/u/1418966?v=4","gravatar_id":"","url":"https://api.github.com/users/Cokemonkey11","html_url":"https://github.com/Cokemonkey11","followers_url":"https://api.github.com/users/Cokemonkey11/followers","following_url":"https://api.github.com/users/Cokemonkey11/following{/other_user}","gists_url":"https://api.github.com/users/Cokemonkey11/gists{/gist_id}","starred_url":"https://api.github.com/users/Cokemonkey11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cokemonkey11/subscriptions","organizations_url":"https://api.github.com/users/Cokemonkey11/orgs","repos_url":"https://api.github.com/users/Cokemonkey11/repos","events_url":"https://api.github.com/users/Cokemonkey11/events{/privacy}","received_events_url":"https://api.github.com/users/Cokemonkey11/received_events","type":"User","site_admin":false},"created_at":"2017-11-29T20:48:45Z","updated_at":"2017-11-29T20:48:45Z","author_association":"COLLABORATOR","body":"I understand the implications yeah. But what do you *think*?\r\n\r\nUltimately I think the right thing is for the compiler to own this, but in practice an STL fix would probably cover ~100% of use cases."}}
{"actor":{"display_login":"Cokemonkey11"}}