item.item_vars["lets_you_save"] = "arbritrary stringified data";
This uses item tags: on load, any tag starting with ascii 001 (^A) is instead
used to populate std::map<std::string, std::string> item_vars, as so:
"^AvariableName=string" => item.item_vars["variableName"] = "string";
Spaces, line feeds, and tabs are escaped as ^A + hex: ^A0D, ^A20, etc.

e are saved and loaded as special item tags that begin with ascii 001 (^A)
Implemented print_temperature for conversions
Added missing check on STR12_DRAW to determine whether or not the player could actually use the bow
item_var comment cleanup
Added small game arrow and NOGIB tag that caps damage at mon.HP + 10
Append carved message to the end of item description if present.
add blue shockwave() explosion, add player-victim collision messages
itemvars["carved_note"] > item_vars["item_note"], use marker instead
Spoiled (rotten) items will now be removed from the map after twice the time it takes to spoil
Light refactoring on new spoiled food removal code.
Extract code to add a note to an item to a helper function.
Re-add carving a note into an item with a knife.