Flashlight uses "batteries" as fuel.
Dodge skill helps prevent damage when falling. Powering tools on/off uses 25 AP, not 100. If a tool doesn't have enough fuel, it cites the fuel name if one exists. Missing a melee attack penalizes you a random amount of AP up to the full attack delay.
Remove a TODO.
Remove a few TODOs.
Item::get_thrown_attack() accepts an Entity parameter (defaults to NULL), and adjusts damage, range, accuracy according to stats and skills. Also, it actually sets a range.
If a launcher doesn't have any modes, it lists its modes as "Single shot."
New function, random_round(int n, int d).  Returns n/d, randomly rounded up or down depending on the remainder.