Added set_fac(std::string fac_name)
Added set_fac(std::string fac_name)
Added faction_by_ident

faction_by_id(), assign_faction_id(), random_good_faction(), and random_evil_faction() should all be on their way out.
Added faction_by_ident(std::string ident)
Removes aluminum from police tonfa.

The whole point of these is that they're all plastic, so in theory it's
less lethal.
Disabled two-way radio help command (didn't work)
Disabled two-way radio help command (didn't work)
Removed functions no longer used
Removed functions no longer used
Move load_master to before loading NPCs

It was a pain trying to figure out why factions weren't loading for NPCs but would load for everything else.  It simply loaded NPCs before factions.
Convert fac_id to string
Convert fac_id to string
Update to save and load NPC factions
Merge pull request #8333 from Rivet-the-Zombie/Hoss-fix

Fixes some clunky grammar in Hoss' description.
Refactor how monster death are handled:

Remove game::kill_mon and move game::explode_mon into monster class.
Replace calls to game::kill_mon with either monster::die.
Remove calls to game::kill_mon when the previous monster::hurt returned true. That indicated that the damage to the monster actually killed it.
This is now done directly in monster::hurt. Note that not all calls to monster::hurt actually checked the return value.
Replace game::explode_mon with either monster::hurt(9999) - huge damage to trigger the exploding, or direct calls to monster::explode.
monster::explode can also be called on dead monsters!

Merged both monster::die functions into the single function that is defined in Creature.

Added source creature parameter to monster::hurt.

Explode-on-overkill is now done in monster::hurt.
Make monster::dead private and add is_dead function.

monster::die is now called exactly once, further calls are ignored.
monster::dead is only set to true in that function.
*all* effects of a dying monster are handled in monster::die.

Added a function to class game to increase the kill counter.

game::cleanup_dead now only removes the monster object from the creature tracker, nothing more.

ranged.cpp: use monster::pos(), which already returns a point.

Note on the removal of the is-dead check: game::mon_at / Creature_tracker::mon_at never return the index of a dead monster, so returned index is always for a living monster, so the check is not required.
game::zombie() / Creature_tracker::find still return a dead monster.

The correction of game::last_target is now in game::remove_zombie so it is always corrected (remove_zombie is called from other code as well, not just from game::cleanup_dead).
Combine code from butchering and monster exploding

Both places create chunks of the "monster body", in other words chunks of flesh/plant matter.
The logic that determines the item type is now in mtype and not replicated in both functions.
Fix killer parameter of killed zlave.

Thanks to @HuXTUS
Update path_info.cpp

Fixed compilation error on Mac OS X
Throwing can damage NPCs

Address issue #8223