initial commit
contains new classfiles to be used
- AlienBase - contains all the information an alien base needs (that i can think of)
- AlienBaseState - the popup screen at the end of the month when Xcom operatives locate an alien base.
add cases for alien base assaults

these are merely the calls to generate a battlescape game from an alien base
only accessable via the "new battle" menu at this stage, but if you COULD fly to a base on the geoscape,
you would be able to generate one that way too. but at this point the geoscape won't spawn them.
save and load alien bases
and a function to provide a list of current bases in a given saved game.
generate alien bases on the geoscape.
draw bases on the globe.
clean up bases on mission complete
Alien Base Detection
Allow UFOs to land.

Instead of disappearing, UFOs are now landing for some time.
craft patrol variable
so we can track time spent patrolling and factor it into base discovery calculation.
Ruleset Additions
adds live aliens as items
adds a "points" field to research items for scoring purposes
adds a "lookup" field to research items for Ufopedia lookup purposes
adds a "stringTemplate" field for string concatenation purposes
adds a "getOneFree" field for researches that can grant extra information
removes unused alien research entries like Muton Medic
adds research topics for alien ships and tactics (for getOneFrees)
No Containment Screen
the popup that shows when there is no containment for a captured alien.
pixel perfect as far as i can tell.
Read in new rules
new functions and variables in RuleItem and RuleResearch
to facilitate earlier changes to rulesets
Base Functions
- function to return the total amount of alien containment at a given base
- method in the debriefing screen for sending live aliens to storage, or displaying the "no containment" state if none found.
- extra condition to exclude live aliens from the sell screen.
- checks for containment at destination when transferring live aliens.
string processing for research
- reads in the string template on all the research screens instead of the research name if one is available
Further Ruleset Changes

Adds a field "requirement"
ie: thi research will not unlock unless you have already discovered all
the researches listed under "requirement", even if another research
lists this in it's "unlocks" field
Requirement Checks

addition/adjustment in SavedGame to check special dependancies for their
requirements.

addition in NewPossibleResearchState to exclude special dependancies and
live aliens.

adjustment in NewResearchListState to exclude special dependancies

bug fix in researchinfostate
Apply Bonus Research

changes in GeoscapeState
- add a bonus research at random
- only pop up an article if this article is not yet discovered
- check the "lookup" value to see which article we should be opening

Changes to ResearchCompleteState
- allows for no new research (ie researching a sectoid soldier after
researching a sectoid engineer)
- pops up bonus research if available
Dismantling Facility Containment Check

extra functions and conditions to disallow dismantling alien containment
if it is in use.
keep live aliens researchable

Ruleset - added missing autopsy research entries, fixed ufopedia entries
RE: chryssalids

researchcompletestate - allow for empty research (ie researching sectoid
soldier repeatedly)

geoscape - now that researchcompletestate can handle null research,
cleaned this up a lot.

savedgame - anything with a string template (live aliens) will never be
excluded by having been discovered.

researchstate - fix for error messages on output window

newresearchliststate - consume an item when research begins (if this
research needs one)
makefiles and stuff

i literally have no idea how or why these were deleted in an earlier
commit. i blame my lack of understanding of github.