NOTABLE BUGS:

  Factions cannot be saved at all, or they corrupt the master save file



LONG-TERM FEATURES:  Stuff I hope to finish in a year

  Add a "list nearby items" command, which lists visible items by distance,
  name, type, etc.  Make it searchable, perhaps allow the player to define
  highlighted items which are always moved to the top of the list.

  Finish missions and put a few simple ones in the game, get it working.
DONE	Need to have a "go-to" arrow in the minimap and full map
DONE	Code a "list missions" screen, and bind a key to it
		
	The mission_type and mission classes will almost certainly need to be
	  expanded to fit the needs of what we want to do.
	Missions need to have save() and load() functions.
	

  Make sure the NPC unique ID system works okay.  Save the master list of NPCs
  when we save the game.

  Once NPCs are working, populate settlements with them.  Make sure that the
  code for placing an NPC REALLY WORKS, so that shopkeepers stay where
  they're supposed to.
	Most settlements belong to a faction; its citizens should too (mostly?)

  Factions already get generated and placed in the world, but they have no
  effect on it.  Once NPCs are working, place faction patrols in the world.
	Factions could control radio towers, spewing propaganda or using it to
	  recruit or start missions
	Factions could have projects; exterminating the zombies in a given town,
	  clearing a particular forest, paving a new road!

  Replace the Skills tab in character creation with a Class tab
	Classes come with a set of items and the skills needed to use them
		e.g. a handgun, ammo, & holster, plus handgun & firearms skills
	Cap at one class?  Or make it mix-and-match, purchasable with points?
		Mix-and-match has the problem of giving the player too many
		  items to store, unless we start them with a backpack
		Maybe add a trait that allows a player to take 2 classes
	Classes may also have unique effects upon the game
		Priests start with robe & collar and have bonuses when
		  interacting with religious NPCs
		

  Support terminals larger than 80x25, with the extra space being utilized
	Larger terminals should not be given any real advantages over smaller
	  ones; this means that the visible terrain should not be a larger
	  area, but rather the extra space could be used for a larger visible
	  message buffer.

  Wrap WINDOW* in a custom class.  This will eliminate the possibility of
  memory leaks from undeleted temporary windows, and will make porting to
  different display libraries (e.g. tiles) much easier.

  Eventually a tiles port would be nice.  The biggest obstacle to this is the
  actual tile graphics; once those are acquired, the only things needing a
  rewrite should be output.{h,cpp} and keypress.{h,cpp}
	Though mtypedef and itypedef might need to have item glyphs replaced or
	  enchanced with a link to a image file or part of an image file. Same
	  with terrain data

  Sustained high morale generates "life points" (think of a less stupid name).
  These can be spent on a permanent stat increase, crafting a "legendary" item,
  or other otherwise unobtainable goodies.  This gives the player motivation to
  maintain high morale without the artificial-feeling stat bonuses.
	High morale now generates XP points, which go into increasing your
	  skills without the use of books.  Maybe these XP points could be used
	  for the above effects?

  Artifacts!  Both fixed ones and randomly-generated ones (a la Crawl)
	For fixedarts, draw from pop culture and pop christianity; Lance of
	  Longinus, Ark of the Covenant, Lament Configuration, the map from
	  Harry Potter that shows you where people are
	Randarts are normal items with a randomly chosen ability
	Artifacts should have drawbacks commiserate with their power; the Sword
	  of Destiny is a guaranteed one-shot kill, but eventually makes your
	  body decay


GENERAL:

  More cultural references!
	LOST: Black cloud monster, polar bear, hatches
	Resident Evil style zombies
		Kinda done with The Thing dog
	->The whole game is already a reference to Fallout, let's admit it.  So
	  avoid Fallout references in general, they're too easy.
	Hellraiser: High level Void monsters could be Cenobites.
	Bladerunner: "Androids And The People Who Kill Them"
	Steam powered robots (built by post-apoc factions)
		Wild Wild West, Miyazaki, Iron Giant, Neverhood, etc. etc.
	2001: Get locked in a chamber with an insane computer which you must
	  disable
		What are the other great "insane computer" movies?
	Logan's Run: A faction that kills people when they reach 30
	Six-String Samurai: Like, all the bad guys.  Wind People.
	Nausicaa: Radiation-purifying mushroom forests
	They Live!: Special glasses that let you see "reality" somehow
		Hidden doors?  Some people are really disguised monsters?
	Indiana Jones: Archeologist class, religious artifacts
	The Warriors: Making gangs (basically small factions) with cool themes
	  and costumes would be nice.
	Dr Strangelove: Mineshafts converted into bunkers; quotes
	Ghostbusters: Weapons!  Maybe ghosts.
	OTHERS: Escape From New York, 
	Classes (see above under LONG-TERM) could draw from pop culture heros
		Archeologist: Indiana Jones (a la nethack)
		Road Warrior: Mad Max
		
	 
  Pushable furniture; push dressers, fridges, etc. in front of doors

  Some way to protect items from spitter zombie acid, whether it be the above
  or some other method.

  Unify player::miss_penalty() for moves lost when a melee attack misses

  Configurable options:
	Keybindings
	Colors (e.g. highlight color, currently blue)
		Also ncurses options, e.g. A_BLINK support--not all terminals
		  can display bright background colors, so black-on-dark-gray
		  will just show up as a blank tile.  We should have an option
		  to turn off bright background colors.
	Run Mode behavior / Run Mode auto-on
	Auto-drop food containers (empty soda cans, etc)

  Fix eating/fullness; right now only overeating when Full is a risk of puking,
  which comes too quickly and feels unfair.  Thirst (and small amounts of
  nutrition) never causes puking, which allows players to exploit cola by
  drinking 10 at once.
  Possible solutions:
	>Two levels; "Full" and "Overfull"; Only when Overfull is puking a risk
	>Three levels, hunger, thirst, and stomach fullness

  Make cooking a rotten item result in a rotten item
	Or, average the original item's birthday with the current turn, to allow
	for some freshening.

  When picking items up, highlight useful ones in particular colors
DONE	Red: Ammo for a gun you have, or vice versa
	Green: Important medical (1st aid, bandages, painkiller, etc.)
		Possibly context-dependant?  Painkillers if you're in pain, etc.
	Blue: Items you can craft with
	Purple: User-defined criteria

  Food canning.  We already have tin cans, add an item "canning kit"
	Or make it a craft; canning requires boiling water + equipment

  Random illness, e.g. cold, flu, etc.  Right now we have player::get_sick()
  which just modifies player::health, and the Disease Resistant trait which
  does absolutely nothing.

  Highlight or color-invert monsters that're fleeing; also make indifference
  visually obvious in some way (change glyph foreground color?)

  Monster morale levels; reduced upon taking damage, upon seeing a friend die,
    upon stepping close to fire if we're an animal

  Audit how we're using screen space in the data window
	Are pain AND painkiller level needed?
	Definitely add player speed to the display
	Maybe make a special data structure for how the data section is used and
	  layed out; easier to audit, player configurable

**Sharply reduce speed penalties for painkillers, and reduce stat penalties.
DONE	Eliminate / increase overdose level

  Make swimming more interesting
  	Items at the bottoms of rivers, only discoverable by diving underwater
	Entrances to special dungeons;
		Sewage treatment plant?
		Underwater monster lair?
	Water-dwelling monsters.  Probably rare, because for unskilled swimmers
	  almost any monsters would be deadly

  More blood & gore!  Spatter blood on heavy hits, etc.

  Automatically drop items if our volume capacity suddenly drops (e.g. from a
  torn-open backpack)

  Add a warning in the data screen if volume carried is over capacity

  Allow basic movement while reloading, or make it possible to resume
  interrupted reloading

  Make computer usage more widespread and more convincing.  Possibly add a
  class for computer networks; an area on the overmap, protected by a password.
  Once you hack the password, you gain access to certain commands on computers
  found inside that area.

  Desires, as in The Sims 3.  These could be their own class, or a special
  type of mission; added more or less randomly, they include things like "eat an
  orange," "read a novel" and other banal actions, and reward the player with a
  larger-than-usual morale boost.



ITEMS / BIONICS:

  Book: Bible; high morale boost if you have the Religious trait

  Canning kit (see canning under GENERAL)

  Fire extinguisher bionic
	Make this, and real fire extinguishers, more effective

  Road maps, found in gas stations; using it adds some map data.



MAP:

  Hatch (see cultural references, above)

  Terrain tiles, such as heavy doors, which require the help of an extra NPC
  or two to open (or very high strength)


CHARACTER CREATION:

  Illiterate makes read speed show up as "N/A" on stats tab

  Glass Jaw makes Head HP show up on stats tab, alongside Base HP

  Show skill erosion rate on stats tab (modded by Forgetful)

  Greater transparency for skill comprehension (at level 0, 4, 8, etc.)

**Cap the number of traits a character can have (5 good, 5 bad?)

  Change "Heavy Sleeper costs -1 points" to "Heavy Sleeper earns 1 point"

  Show food consumption rate?  (Modified by Light Eater)
	Should high Strength increase this rate?

  Save our position in both Traits lists, even when changing tabs

  Display player::miss_penalty() in Stats tab (Under Str and/or Dex)
	Modified by Dex, by Str with heavy weapons, and the Deft trait
	Show penalty under various circumstances? Unarmed, crowbar, chainsaw etc

  Make skill levels affect values in Stats tab?
	Bottom 3 lines could be a color legend, blue=from stat, green=from skill

  Make Drunken Master bonus appear in Stats tab?

  Make the Description tab more interesting?  Maybe hair color, etc.
	Any effect on gameplay?  Probably not.
	Make the effect of gender on gameplay transparent

  List specific effects on gameplay mechanics in the Skills tab, comparable to
  those listed in the Stats tab.



TRAITS:

  More Schizophrenic effects
	Make auditory hallucinations more realistic/varied

  Balance/fix/remove Jittery

  Balance/fix/remove Hoarder (it's too annoying)
	Maybe you just can't drop stuff unless you're over 80% volume/weight?
	Xanax providing a temporary cure should definitely stay.

  More obvious Wool Allergy text (remind the player that they're allergic)
	Wool Allergy prevents eating wool (with Internal Furnace bionic)

**Parkour Expert halves all terrain costs (including windows, etc)
	Increase point cost?
	Decrease chance of being hurt on rough/sharp terrain?
	Note movement cost change when using ';' command?

  Increase Night Vision radius to 3?

  Re-examine Thick-Skinned; make it more effective?

  Make Fast Learner affect skill comprehension directly
	Rewrite description

  Fold Deft into unified player::miss_penalty()

  Review the code for Animal Empathy; I think it needs to be unified somehow.

  Likewise for Terrifying.  Maybe a single monster::opinion_of_you() that
  returns aggressive, afraid, indifferent or friend?

  High Adrenaline needs a little balancing.  A special note in the data area
  might be a good idea; "Adr. Rush" or "Adr. Comedown"

  Android encourages start-scumming.  Maybe make it a static set, or present
  the player with a few different options?
	Make Android a class instead?  (see above under LONG-TERM)



CRAFTING:

  Expand cooking; much more morale-boosting (i.e. tasty) recipes

  Fruit drying; remove quench and some nutrition, but won't go bad



KEYBINDINGS/INPUT:

  Configurable bindings!
	This ties into options in general.

  Make ctrl+movement equivalent to 'e'+movement

  "Repeat last command" command

  Macros--are they necessary or useful at all?
