CR+LF added to new lines, created a global variable log_end that can be used
on newlines
log_misc("blahblah...[log_end]\nMoreblahblah[log_end]")
put [log_end] prior to any \n and it will show up correctly in windows.
Also created log_misc() proc to log to diary, and removed a bunch of
diary << stuff all over the place.
Chameleon Glasses, Exosuit, Gloves, Shoes, Hat, Gun, Mask, Backpack, and Gun.
The Gun does 1 damage and can disguise as any gun. As long as you don't fire it people won't notice that it shoots 1 damage rubber bullets.
These new items come in the Chameleon Kit, which replaces and contains the Chameleon Jumpsuit
Added the check to see what you clicked in the inventory when clicking on pockets and added a message for it. Now it won't just be a line break.
Fixes#4601
pretty much the same effeciencies from human/life()
no need to updatehealth() over and over and over
no need to process environment if everything is normal
etc.
Before: We process a whole lot of bullshit for no real reason most of the time because temperatures are perfect.
Now: We check if our temperatures and environment are within normal bounds and get the hell out of the proc.
Also: Mobs that are long dead or just dead mobs spawned at round start won't process Life(), those 3 clowns don't need Life(), those jerks.
We do a bit of pre-processing to see if we want to do checks on all the organs.
First we don't even do preprocessing unless we have damage of some kind
afterwards we process what is hurt until it gets better or overall we get worse
when we go ahead and check everything else out again.
Can add a safety check in life every 30 ticks or so go ahead and check every organ again but I don't think it's needed.
Will fix#4600 and the problem with drinks not knowing when they are open/closed.
Hopefully I didn't miss a string of code again,I don't think so,though.
Before: The stacker and processor used del(item) to get rid of the items causing /obj/movable/del() to spike up and cause fun amounts of lag. Also we have seperate variables for if a certain ore type is selected in the processing machine and the cooking portion of process() uses a huge string of if()'s which check 8 or so variables and is terrible and probably a pain in the ass should someone decide to later add ore types and recipes.
After: We just set item.loc = null when it goes in the stacker of processor and garbage collection takes care of it within a tick. Those different variables for ore selection are now just one variable which is a bitfield, much easier to read, much easier to expand upon.