Attacking; demons can be cardboard cutouts (#19168)
Attacking; demons can be cardboard cutouts (#19168)

* Attacking; new sprites to cardboard cutouts

- You can now attack cardboard cutouts with weaponry; they will
generally fall down unless you're hitting them with something that isn't
a real weapon.

- Slaughter demons and laughter demons added to possible apperences.
Uses setDir() and icon manipulation to avoid having to edit the .dmi

- Painting a cutout now takes a second, and cannot be done with an empty
spraycan.

* A rough simulation of mob attack code

* Code review I

CosmicScientist/-tg-station,AuroranAI/FTL13,Qwertyon666/Necro,Expletive/tgstation,vcordie/tgstation,paprka/-tg-station,HippieStation/HippieStation,optimumtact/-tg-station,OBA-code/tgstation,PKPenguin321/-tg-station,anconfuzedrock/tgstation,vcordie/tgstation,nullbear/-tg-station,NicholasM10/-tg-station,nicbn/tgstation,Tacolizard/tgstation,octareenroon91/-tg-station,HippieStation/HippieStation,Penguaro/tgstation,feemjmeem/-tg-station,4dplanner/tgstation,WJohn/-tg-station,Kraseo/-tg-station,JJRcop/tgstation,Xhuis/tgfork,JJRcop/-tg-station,Robustin/tgstation,Ultimate-Chimera/tgstation,Razharas/-tg-station,Shadowlight213/-tg-station,PKPenguin321/-tg-station,tgstation/tgstation,riftstation/riftstation,SamuelRowe/-tg-station,ohnopigeons/tgstation,Tokiko1/tgstation,MicroWorldwide/SS13-TG-station,Thunder12345/-tg-station,Iamgoofball/-tg-station,CPTANT/-tg-station,optimumtact/-tg-station,securitycopper/-tg-station,Qwertyon666/Necro,Cruix/-tg-station,Thunder12345/-tg-station,PKPenguin321/-tg-station,Jalleo/-tg-station,xxalpha/-tg-station,riftstation/riftstation,TheVekter/-tg-station,greytide/greytide,CPTANT/-tg-station,Cyberboss/tgstation,Mark9013100/tgstation-m9,ChangelingRain/-tg-station,XDTM/tgstation,neersighted/tgstation,TheOneForgotten/white,Groxic/tgstation,Iamgoofball/-tg-station,Jordie0608/tgstation,Robustin/tgstation,TehZombehz/-tg-station,coiax/-tg-station,F-OS/tgstation,AuroranAI/FTL13,Ultimate-Chimera/tgstation,infinitystation/-tg-station,JJRcop/tgstation,GunHog/-tg-station,Xhuis/-tg-station,infinitystation/-tg-station,InsaneHyena/tgstation,vcordie/tgstation,F-OS/tgstation,tigercat2000/-tg-station,Razharas/-tg-station,Memendia/HippieStation13,WJohn/-tg-station,JJRcop/-tg-station,JStheguy/tgstation,TheVekter/-tg-station,octareenroon91/-tg-station,securitycopper/-tg-station,coiax/-tg-station,PJB3005/tgstation,kingofkosmos/-tg-station,NicholasM10/-tg-station,Poojawa/tgstation-fork,paprka/-tg-station,ShizCalev/tgstation,Mervill/tgstation,kyrahabattoir/-tg-station,MicroWorldwide/SS13-TG-station,JJRcop/-tg-station,F-OS/tgstation,GunHog/-tg-station,Tokiko1/tgstation,AnturK/-tg-station,Penguaro/tgstation,AnturK/-tg-station,Xhuis/-tg-station,CosmicScientist/-tg-station,JStheguy/tgstation,coiax/-tg-station,coiax/-tg-station,TheDreamweaver/-tg-station,ChangelingRain/-tg-station,Memendia/HippieStation,ToGWtF/yogstation,nicbn/tgstation,CPTANT/-tg-station,xxalpha/-tg-station,Jalleo/-tg-station,WJohn/-tg-station,Groxic/tgstation,neersighted/tgstation,tgstation/-tg-station,Iamgoofball/-tg-station,CosmicScientist/-tg-station,Cheridan/tgstation,JStheguy/tgstation,HippieStationCode/HippieStation13,bear1ake/-tg-station,ShizCalev/tgstation,GuyonBroadway/HippieStation,Y0SH1M4S73R/-tg-station,QualityVan/tgstation,GuyonBroadway/HippieStation,Yoshmaster/-tg-station,LanCartwright/-tg-station,balohmatevz/-tg-station,Jordie0608/-tg-station,infinitystation/-tg-station,ToGWtF/yogstation,loqoman/tgstation,XDTM/tgstation,McBawbaggings/HippieStation,Aranclanos/-tg-station,LanCartwright/-tg-station,Profakos/tgstation,Jalleo/-tg-station,A-t48/-tg-station,loqoman/tgstation,TehZombehz/-tg-station,Bawhoppen/-tg-station,nicbn/tgstation,SamuelRowe/-tg-station,PJB3005/tgstation,anconfuzedrock/tgstation,Osokorn/tgstation,dannno/-tg-station,A-t48/-tg-station,infinitystation/-tg-station,Aranclanos/-tg-station,ChangelingRain/-tg-station,Niknakflak/-tg-station,athompson11/Soteria-v3,Cyberboss/tgstation,Aranclanos/-tg-station,AnturK/-tg-station,Cheridan/tgstation,Cyberboss/tgstation,Jordie0608/-tg-station,Cheridan/-tg-station,LanCartwright/-tg-station,HippieStationCode/HippieStation13,Fox-McCloud/-tg-station,Bawhoppen/-tg-station,MrStonedOne/tgstation,Tacolizard/tgstation,Incoming5643/-tg-station,JStheguy/tgstation,OBA-code/tgstation,Poojawa/tgstation-fork,Razharas/-tg-station,Buggy123/-tg-station,kevinz000/-tg-station,ohnopigeons/tgstation,Bawhoppen/-tg-station,Memendia/HippieStation,Memendia/HippieStation,Arianya/tgstation,Profakos/tgstation,SamuelRowe/-tg-station,TehZombehz/-tg-station,Tacolizard/tgstation,Fox-McCloud/-tg-station,neersighted/tgstation,securitycopper/-tg-station,Shadowlight213/-tg-station,Bawhoppen/-tg-station,securitycopper/-tg-station,CosmicScientist/-tg-station,anconfuzedrock/tgstation,Mark9013100/tgstation-m9,Niknakflak/-tg-station,Thunder12345/-tg-station,Niknakflak/-tg-station,Aranclanos/-tg-station,MicroWorldwide/SS13-TG-station,optimumtact/-tg-station,ChayseRamsay/Soteria-v3,Y0SH1M4S73R/-tg-station,Anonus/-tg-station,Osokorn/tgstation,Shadowlight213/-tg-station,QualityVan/tgstation,TalkingCactus/tgstation,McBawbaggings/HippieStation,AnturK/-tg-station,octareenroon91/-tg-station,chickenboy10/tgstation,Incoming5643/-tg-station,TehZombehz/-tg-station,Fox-McCloud/-tg-station,optimumtact/-tg-station,tgstation/tgstation,Memendia/HippieStation,Poojawa/tgstation-fork,Cyberboss/tgstation,lordpidey/-tg-station,posttk421/tgstation,chickenboy10/tgstation,Fox-McCloud/-tg-station,TalkingCactus/tgstation,ChangelingRain/-tg-station,ZioZan/tgstation,Buggy123/-tg-station,PKPenguin321/-tg-station,xxalpha/-tg-station,Xhuis/AquaStation,tigercat2000/-tg-station,TheVekter/-tg-station,vcordie/tgstation,ChangelingRain/-tg-station,bear1ake/-tg-station,tgstation/tgstation,JJRcop/tgstation,Jordie0608/tgstation,TheOneForgotten/white,GunHog/-tg-station,HippieStation/HippieStation,Kraseo/-tg-station,kevinz000/-tg-station,athompson11/Soteria-v3,Shadowlight213/-tg-station,lordpidey/-tg-station,MicroWorldwide/SS13-TG-station,Groxic/tgstation,tgstation/-tg-station,Haevacht/tgstation,balohmatevz/-tg-station,Incoming5643/-tg-station,duncathan/-tg-station,MrStonedOne/tgstation,Yoshmaster/-tg-station,Xhuis/AquaStation,xxalpha/-tg-station,Shadowlight213/-tg-station,Tacolizard/tgstation,HippieStationCode/HippieStation13,Memendia/HippieStation,Ultimate-Chimera/tgstation,kingofkosmos/-tg-station,Xhuis/tgfork,GuyonBroadway/HippieStation,Valanthe500/Soteria-v3,greytide/greytide,McBawbaggings/HippieStation,balohmatevz/-tg-station,4dplanner/tgstation,Cheridan/tgstation,nicbn/tgstation,NicholasM10/-tg-station,Mervill/tgstation,MicroWorldwide/SS13-TG-station,Maks750rus/-tg-station,kyrahabattoir/-tg-station,loqoman/tgstation,MrStonedOne/-tg-station,Razharas/-tg-station,Qwertyon666/Necro,AuroranAI/FTL13,Jordie0608/tgstation,Expletive/tgstation,Kirill1243/-tg-station,Profakos/tgstation,GuyonBroadway/HippieStation,nicbn/tgstation,Poojawa/tgstation-fork,Kirill1243/-tg-station,Xhuis/AquaStation,Xhuis/tgfork,Penguaro/tgstation,TheDreamweaver/-tg-station,Xhuis/-tg-station,chickenboy10/tgstation,Memendia/HippieStation13,PKPenguin321/-tg-station,athompson11/Soteria-v3,Aranclanos/-tg-station,Yoshmaster/-tg-station,feemjmeem/-tg-station,Cyberboss/tgstation,InsaneHyena/tgstation,JJRcop/tgstation,kevinz000/-tg-station,NicholasM10/-tg-station,LanCartwright/-tg-station,Buggy123/-tg-station,duncathan/-tg-station,SamuelRowe/-tg-station,erwgd/-tg-station,4dplanner/tgstation,CosmicScientist/-tg-station,anconfuzedrock/tgstation,Cruix/-tg-station,TheVekter/-tg-station,ShizCalev/tgstation,kevinz000/-tg-station,Mark9013100/tgstation-m9,ChangelingRain/-tg-station,tgstation/tgstation,tigercat2000/-tg-station,JJRcop/tgstation,ohnopigeons/tgstation,AnturK/-tg-station,loqoman/tgstation,QualityVan/tgstation,Aranclanos/-tg-station,xxalpha/-tg-station,Bawhoppen/-tg-station,Incoming5643/-tg-station,Razharas/-tg-station,riftstation/riftstation,coiax/-tg-station,securitycopper/-tg-station,phil235/-tg-station,Poojawa/tgstation-fork,Crexfu/tgstation,Bawhoppen/-tg-station,Xhuis/tgfork,CosmicScientist/-tg-station,xxalpha/-tg-station,posttk421/tgstation,Poojawa/tgstation-fork,ChangelingRain/-tg-station,paprka/-tg-station,feemjmeem/-tg-station,infinitystation/-tg-station,Arianya/tgstation,QualityVan/tgstation,optimumtact/-tg-station,MrStonedOne/-tg-station,chickenboy10/tgstation,bear1ake/-tg-station,lzimann/-tg-station,TehZombehz/-tg-station,octareenroon91/-tg-station,Buggy123/-tg-station,Jalleo/-tg-station,ShizCalev/tgstation,paprka/-tg-station,optimumtact/-tg-station,Cheridan/-tg-station,Niknakflak/-tg-station,Memendia/HippieStation,nullbear/-tg-station,CPTANT/-tg-station,tgstation/tgstation,A-t48/-tg-station,Tacolizard/tgstation,F-OS/tgstation,TheRealGLH/-tg-station,GuyonBroadway/HippieStation,Cheridan/-tg-station,riftstation/riftstation,Robustin/tgstation,loqoman/tgstation,NicholasM10/-tg-station,Arianya/tgstation,Razharas/-tg-station,Jordie0608/tgstation,QualityVan/tgstation,tgstation/tgstation,ohnopigeons/tgstation,ToGWtF/yogstation,TheVekter/-tg-station,NicholasM10/-tg-station,kevinz000/-tg-station,GuyonBroadway/HippieStation,Anonus/-tg-station,blockheads/-tg-station,Bawhoppen/-tg-station,Kraseo/-tg-station,Xhuis/AquaStation,Robustin/tgstation,Tacolizard/tgstation,loqoman/tgstation,MrStonedOne/tgstation,TheOneForgotten/white,TheDreamweaver/-tg-station,OBA-code/tgstation,Maks750rus/-tg-station,xxalpha/-tg-station,Thunder12345/-tg-station,Mark9013100/tgstation-m9,QualityVan/tgstation,Xhuis/tgfork,duncathan/-tg-station,A-t48/-tg-station,TheRealGLH/-tg-station,TehZombehz/-tg-station,ZioZan/tgstation,ShizCalev/tgstation,Y0SH1M4S73R/-tg-station,feemjmeem/-tg-station,TheVekter/-tg-station,Jordie0608/tgstation,CPTANT/-tg-station,Groxic/tgstation,Cruix/-tg-station,ike709/FTL13,JJRcop/-tg-station,Razharas/-tg-station,greytide/greytide,LegendaryPoro/FTL13,Iamgoofball/-tg-station,anconfuzedrock/tgstation,kyrahabattoir/-tg-station,ShizCalev/tgstation,AnturK/-tg-station,MrStonedOne/tgstation,securitycopper/-tg-station,McBawbaggings/HippieStation,Razharas/-tg-station,Haevacht/tgstation,XDTM/tgstation,F-OS/tgstation,paprka/-tg-station,PJB3005/tgstation,Incoming5643/-tg-station,tgstation/-tg-station,Niknakflak/-tg-station,McBawbaggings/HippieStation,lzimann/tgstation,Niknakflak/-tg-station,Core0verload/-tg-station,lzimann/-tg-station,Mark9013100/tgstation-m9,blockheads/-tg-station,Xhuis/tgfork,athompson11/Soteria-v3,neersighted/tgstation,QualityVan/tgstation,kingofkosmos/-tg-station,ShizCalev/tgstation,Mervill/tgstation,MrStonedOne/tgstation,PKPenguin321/-tg-station,Core0verload/-tg-station,GunHog/-tg-station,riftstation/riftstation,Arianya/tgstation,HippieStation/HippieStation,Robustin/tgstation,blockheads/-tg-station,riftstation/riftstation,CosmicScientist/-tg-station,TalkingCactus/tgstation,kyrahabattoir/-tg-station,kevinz000/-tg-station,Cruix/-tg-station,HippieStationCode/HippieStation13,Cheridan/tgstation,Memendia/HippieStation13,TheOneForgotten/white,Anonus/-tg-station,optimumtact/-tg-station,InsaneHyena/tgstation,Kraseo/-tg-station,XDTM/tgstation,ike709/FTL13,greytide/greytide,Haevacht/tgstation,AuroranAI/FTL13,Buggy123/-tg-station,paprka/-tg-station,Tokiko1/tgstation,neersighted/tgstation,PJB3005/tgstation,HippieStation/HippieStation,Profakos/tgstation,feemjmeem/-tg-station,kevinz000/-tg-station,lzimann/-tg-station,Aranclanos/-tg-station,HippieStation/HippieStation,McBawbaggings/HippieStation,lordpidey/-tg-station,phil235/-tg-station,ChayseRamsay/Soteria-v3,infinitystation/-tg-station,Jordie0608/tgstation,XDTM/tgstation,Tacolizard/tgstation,coiax/-tg-station,Xhuis/-tg-station,Arianya/tgstation,infinitystation/-tg-station,neersighted/tgstation,HippieStation/HippieStation,lordpidey/-tg-station,Bawhoppen/-tg-station,JJRcop/tgstation,Core0verload/-tg-station,GuyonBroadway/HippieStation,riftstation/riftstation,Jordie0608/tgstation,Osokorn/tgstation,Buggy123/-tg-station,nullbear/-tg-station,Shadowlight213/-tg-station,Profakos/tgstation,kingofkosmos/-tg-station,TehZombehz/-tg-station,JStheguy/tgstation,MrStonedOne/-tg-station,PKPenguin321/-tg-station,Y0SH1M4S73R/-tg-station,kingofkosmos/-tg-station,PKPenguin321/-tg-station,balohmatevz/-tg-station,LegendaryPoro/FTL13,Jordie0608/-tg-station,TalkingCactus/tgstation,ChangelingRain/-tg-station,Buggy123/-tg-station,4dplanner/tgstation,McBawbaggings/HippieStation,Niknakflak/-tg-station,lordpidey/-tg-station,Crexfu/tgstation,kingofkosmos/-tg-station,Mark9013100/tgstation-m9,F-OS/tgstation,Y0SH1M4S73R/-tg-station,Qwertyon666/Necro,ToGWtF/yogstation,4dplanner/tgstation,Valanthe500/Soteria-v3,Arianya/tgstation,Jalleo/-tg-station,MicroWorldwide/SS13-TG-station,dannno/-tg-station,nicbn/tgstation,neersighted/tgstation,phil235/-tg-station,McBawbaggings/HippieStation,ZioZan/tgstation,Memendia/HippieStation,tgstation/-tg-station,NicholasM10/-tg-station,Memendia/HippieStation,Kirill1243/-tg-station,GunHog/-tg-station,ChayseRamsay/Soteria-v3,coiax/-tg-station,Jalleo/-tg-station,lordpidey/-tg-station,Fox-McCloud/-tg-station,riftstation/riftstation,kingofkosmos/-tg-station,Incoming5643/-tg-station,Robustin/tgstation,posttk421/tgstation,LegendaryPoro/FTL13,Tacolizard/tgstation,WJohn/-tg-station,Crexfu/tgstation,kevinz000/-tg-station,TheRealGLH/-tg-station,CPTANT/-tg-station,tgstation/tgstation,nicbn/tgstation,ike709/FTL13,paprka/-tg-station,Penguaro/tgstation,AnturK/-tg-station,lordpidey/-tg-station,CPTANT/-tg-station,Profakos/tgstation,tgstation/tgstation,Cyberboss/tgstation,dannno/-tg-station,paprka/-tg-station,CosmicScientist/-tg-station,Cyberboss/tgstation,neersighted/tgstation,Ultimate-Chimera/tgstation,duncathan/-tg-station,Cruix/-tg-station,Arianya/tgstation,JStheguy/tgstation,ShizCalev/tgstation,MicroWorldwide/SS13-TG-station,bear1ake/-tg-station,Thunder12345/-tg-station,Xhuis/tgfork,ChayseRamsay/Soteria-v3,Mervill/tgstation,Valanthe500/Soteria-v3,4dplanner/tgstation,Mark9013100/tgstation-m9,Y0SH1M4S73R/-tg-station,Aranclanos/-tg-station,erwgd/-tg-station,GunHog/-tg-station,Memendia/HippieStation13,XDTM/tgstation,Jalleo/-tg-station,Thunder12345/-tg-station,Cruix/-tg-station,loqoman/tgstation,GuyonBroadway/HippieStation,nullbear/-tg-station,WJohn/-tg-station,MrStonedOne/tgstation,Incoming5643/-tg-station,WJohn/-tg-station,infinitystation/-tg-station,JStheguy/tgstation,TheVekter/-tg-station,Fox-McCloud/-tg-station,Robustin/tgstation,MrStonedOne/-tg-station,MrStonedOne/tgstation,MicroWorldwide/SS13-TG-station,Crexfu/tgstation,securitycopper/-tg-station,Incoming5643/-tg-station,Y0SH1M4S73R/-tg-station,Shadowlight213/-tg-station,securitycopper/-tg-station,Robustin/tgstation,Fox-McCloud/-tg-station,InsaneHyena/tgstation,Yoshmaster/-tg-station,TheRealGLH/-tg-station,lzimann/tgstation,phil235/-tg-station,tigercat2000/-tg-station,Thunder12345/-tg-station,MrStonedOne/tgstation,4dplanner/tgstation,Maks750rus/-tg-station,4dplanner/tgstation,Xhuis/tgfork,XDTM/tgstation,erwgd/-tg-station,Core0verload/-tg-station,OBA-code/tgstation,dannno/-tg-station,blockheads/-tg-station,Y0SH1M4S73R/-tg-station,Profakos/tgstation,GunHog/-tg-station,Haevacht/tgstation,Expletive/tgstation,lzimann/-tg-station,LegendaryPoro/FTL13,xxalpha/-tg-station,Cruix/-tg-station,lzimann/tgstation,feemjmeem/-tg-station,F-OS/tgstation,anconfuzedrock/tgstation,loqoman/tgstation,F-OS/tgstation,lordpidey/-tg-station,Jalleo/-tg-station,feemjmeem/-tg-station,Shadowlight213/-tg-station,Poojawa/tgstation-fork,NicholasM10/-tg-station,Tokiko1/tgstation,Expletive/tgstation,Valanthe500/Soteria-v3,JJRcop/tgstation,Anonus/-tg-station,ike709/FTL13,TheDreamweaver/-tg-station,Kirill1243/-tg-station,Cheridan/-tg-station,Maks750rus/-tg-station,anconfuzedrock/tgstation,WJohn/-tg-station,posttk421/tgstation,Jordie0608/-tg-station,feemjmeem/-tg-station,CPTANT/-tg-station,octareenroon91/-tg-station,Cruix/-tg-station,Buggy123/-tg-station,Jordie0608/tgstation,TehZombehz/-tg-station