Difference between revisions of "Changelog"

From Laughing Man Productions² Wiki
Jump to: navigation, search
Line 2,187: Line 2,187:
  
  
 +
==February==
 +
 +
===BattleProc===
 +
 +
    -Began rewriting the battle loop.  Changing focus from two battle styles, single and team, into only team (2/8).
 +
 +
    -Added battleParticipants vector to store whom will be fighting and the attack order (2/8).
 +
 +
    -Added several new variables to the class to handle the battleParticipants process (2/8).
 +
 +
    -Added new class bParticipants to load the vector for storing name and ship movement initiative for determining the attack order (2/9).
 +
 +
    -Added several new variables for storage of the bParticipants class for bubble sorting of vector (2/9).
 +
 +
    -Added menu switch to player section of ship battle loop (2/11).
 +
 +
    -Added bFSolutions to handle different attack modes during battle (2/11).
 +
 +
    -Did some more work on bFSolutions by starting to add in the rest of the function and directing how the battle progresses from this function (2/16).
 +
 +
    -Added new bools for dealing with weapon selection and damage type detection (2/16).
 +
 +
    -Made some changed to fSolutions to take into account recent changes (2/27).
 +
 +
    -Added a member variable, wtype, to track and pass weapon types (2/28).
 +
 +
 +
===Damage===
 +
 +
    -DamageType renamed to damage to better fit what the class will be used for (2/8).
 +
 +
    -Added two new functions bPAttack and bHAttack to deal with player and hostile damage (2/16).
 +
 +
    -Added setupWQueue to setup the weapon order for attacking (2/27).
 +
 +
    -Added cleanWQueue to clear the weapon vector before use (2/27).
 +
 +
    -Added several new member variables for dealing with damage: vDamage, mDamage, fDamage, tSDamage, sDamage (2/28).
 +
 +
    -Added dLow and dHigh member variables for tracking weapon damage ranges (2/28).
 +
 +
    -Added nSDamage, nADamage, and nHDamage for nanite damage calculation (2/28).
 +
 +
    -Added wdtype to track the type of weapon damage being applied (2/28).
 +
 +
    -Added sDNTurns and sDNANTurns to track turns left to apply napalm and nanite secondary damage (2/28).
 +
 +
    -Added function processWQueue to cycle through the weaponQueue and pull out weapon information (2/28).
 +
 +
    -Added processSDamage and processSecDamage to deal with secondary damages and special damages (2/28).
 +
 +
    -Added getSDNTurns and getSDNANTurns functions to find out if any turns for these turn-based secondary damage types are present (2/28).
 +
 +
    -Started to code bPAttack (2/28).
 +
 +
    -Added code for all new functions mentioned above (2/28).
 +
 +
 +
===DataSystem===
 +
 +
    -Removed periods from end of weapon and ship descriptions for cleaner output (2/5).
 +
 +
    -Fixed problem with data not being correctly obtained from this class.  Some functions were not properly connected to the data they were supposed to be returning (2/5).
 +
 +
 +
===Debug===
 +
 +
    -Created new class for debugging, will become logging class in future versions of the game.  This one is to be used for current development feature debugging purposes (2/4).
 +
 +
 +
===Hard Point===
 +
 +
    -Added these new classes to accomplish weapon spreads as well as to better approximate how hardpoints work.  Hard Point is the super class while the others are sub classes for each weapon type (2/11).
 +
 +
    -Added new constructor to hardPoint super class in order to set weapon type and slot number on creation to limit amount of code used (2/13).
 +
 +
 +
===Hostile===
 +
 +
    -Added new function to tell if hostile entity was actually hostile; needed for battle loop, it can be overridden (2/9).
 +
 +
 +
===MsgProc===
 +
 +
    -Fixed a bug that would have caused a crash within sMMenu3 by not catching invalid input.  I also altered this function to actually work as it was supposed to; it was missing some things and had faulty code (2/5).
 +
 +
    -Added new message for choosing a target to attack (2/9).
 +
 +
    -Added new functions sWSSelection,sLWSelection, sMWSelection, sRWSelection, sHWSelection, sCWSpread, and sOWSpread.  All are related to functions required by weapon spread system (2/13).
 +
 +
    -Added new member variables totalWeapons, laser, missile, rail, heavy, and type for dealing with weapon selection (2/16).
 +
 +
    -Added new functions bCSpread, bCWSystem, and bCWeapon (2/16).
 +
 +
    -Changed bool valid to bValid and mContinue to bContinue (2/27).
 +
 +
    -Added a new menu for weapon selection during battle; sCWSystems (2/27).
 +
 +
    -Added two new messages to messageDB (2/28).
 +
 +
 +
===Player===
 +
 +
    -Modified pAttack for new focus on how battles are conducted from the battleProc class (2/16).
 +
 +
 +
===Ship===
 +
 +
    -Changed weapon hardpoint arrays into vectors using new hardpoint classes (2/11).
 +
 +
    -Added weapon spread vectors for determining how to fire equipped weapons (2/11).
 +
 +
    -Renames ship/shield disabled bools to conform to bool naming conventions and fixed references to them in code (2/11).
 +
 +
    -Added bContinue bool for use later on in weapon spread creation (2/11).
 +
 +
    -Added new hardpoint and weapon spread counters for weapon spread creation (2/11).
 +
 +
    -Added two new classes, cWSpread and getWSpreads for dealing with weapon spread creation and execution (2/11).
 +
 +
    -Added new variables for dealing with weapon spreads as well as player choices (2/13).
 +
 +
    -Added five more weapon spread vectors and a temporary vector to store spreads created by the player until they can be moved to the selected weapon spread (2/13).
 +
 +
    -Finished coding sWSpread function (2/13).
 +
 +
    -Added several new functions: setCWSpread, setCWeapon, setCWSystem, getCWeapon, getCWSystem, getLWeapons, getMWeapons, getRWeapons, getHWeapons (2/16).
 +
 +
    -Added a few new member variables to deal with battle weapon selection; sCWeapon, sCWSystem (2/16).
 +
 +
    -Removed get/setCWeapon and get/setcWSystem.  These were no longer needed as a different function was put into place for both solutions (2/27).
 +
 +
    -Added getSSize to obtain size of spread vector.  Also added getWVSize to get the size of the weapon vector (2/27).
 +
 +
    -Added two new vectors to hold weapon data for full attack, weapon systems and single weapon attacks (2/27).
 +
 +
    -Added placeholder as a means to hold hardPoint classes to return to other classes when needed (2/27).
 +
 +
    -Added clearWVector to clear the sWVector before use (2/27).
 +
 +
    -Added several new functions to return weapon types for specific slots on each hard point vector (2/28).
 +
 +
 +
===Weapon===
 +
 +
    -Added new functions to each sub-class that would allow for pointers to each specific weapon to be created for use in the menu system (2/13).
 +
 +
 +
==April==
 +
 +
Note: 4/30 changes encompass changed made between 4/15 and 4/30 that were not recorded on the day those changes occurred. 
 +
 +
===Project-Wide===
 +
 +
    -Went through and removed any and all using namespace std from header files and replaced them with direct using statements for whatever was needed.  I also went through and replaced the hostile/player.h includes with entity.h (4/10).
 +
 +
 +
===BattleProc===
 +
 +
    -Made a few small changes to the battle loop code dealing with the attack order (4/10).
 +
 +
    -Finished changing all of the cpp code to reflect that hTeam is now a vector and not an array (4/10).
 +
 +
    -Removed a few variable passes from functions that were not needed as the vriable was already defined in the header (4/30).
 +
 +
    -Added new member variable rkCode to store rank codes (4/30).
 +
 +
    -Added several other member variables dealing with response system and battle loop: bFight, hResponse, hDestroyed (4/30).
 +
 +
    -Did major work on the initHR1 function to get it working with the changes to Hostile (4/30).
 +
 +
    -Started work on initHR2, which prompted the work in the data system that was completed (4/30).
 +
 +
    -Made changes to code calling functions from damage to actually be correct due to the changes made therein (4/30).
 +
 +
    -Started work on the hail and response system where you can hail and interact with combatants; not to be confused with the tech merchant system (4/30).
 +
 +
    -Major work done on the battle loop.  Many new if statements and edits to existing ones made as I realized that many checks were missing and some of the logic was faulty or did not actually end the battle when it needed to be.  Also had to make changes due to the response system considerations (4/30).
 +
 +
 +
===Battle Entity===
 +
 +
    -This class was created out of the bAttacker and bTarget classes in damage.  Instead of having two they are now created through instancing this class.  The class was also distilled to a very compact object with only the constructor and a function to delete the entity pointer when it was done being used (4/30).
 +
 +
 +
===Damage===
 +
 +
    -Added two new classes to the header to store attack and hostile ship objects.  This was done because of other changes that now allow for fairly simple access of the attack and defender ships without having to differentiate between the different entity types.  See Entity class changes for more info (4/10).
 +
 +
    -Started changing how the class executes.  Starts out by initializing the bAttacker and bTarget classes, then moves into dmgProcessing where each function is call in succession, consider it a linear non-looping execution path (4/10).
 +
 +
    -Changed the hostile and player team calls to bTarget or bAttacker as the function required, this way no identification must be made in this class only when they are passed from battleProc (4/10).
 +
 +
    -Started working on recoding other areas as necessary to account for changes (4/10).
 +
 +
    -Added other weapon types to the weapon queue processing code (4/10).
 +
 +
    -Made changes required due to moving the bAttacker and bTarget classes out of this one.  Nearly all functions had some edits due to this (4/30).
 +
 +
    -Removed the huge blocks of code used for EMP damage and instead made much smaller amounts of code in the processSDamage function where they should have been in the first place (4/30).
 +
 +
    -Added the rest of the damage bonus and turn defines (4/30).
 +
 +
 +
===DataSystem===
 +
 +
    -Major changed to the cosmetic structure of the ship and weapon databases.  Partitioned them off by ship class as well as added ID range to the comment for easier determination for randoms or other related operations (4/30).
 +
 +
    -Changed the ship class requirement elements for all ships and weapons to what they should have been.  They had been all set to frigate until now as I had not gotten around to doing this (4/30).
 +
 +
    -Removed the following arrays: planet disposition, rank, race.  This have been made into enums for easier use with switches (4/30).
 +
 +
    -Added three new functions to get the enums based on passed int and return the related enumeration (4/30).
 +
 +
    -Fixed several weapon and ship arrays that were missing the ship class requirement element (4/30).
 +
 +
 +
===Entity===
 +
 +
    -Created new class called Entity that will encapsulate any entity related class within the game.  Moved most of the code from Hostile and Player into this class and then made them sub-classes of this one (4/10).
 +
 +
    -Changed all of the variable names to fit with the new class both in the header and the implementation code (4/10).
 +
 +
    -Ship reference now called Ship.  Ambiguous name means that it can be accessed from any code pertaining to an entity class without having to detect if it is a player ship, hostile ship, or something else allowing for very efficient code (4/10).
 +
 +
    -Removed takeDamage from battleProc and moved it here.  Changed code so that damage filters through if/then/else statements based on value comparisons to health interfaces of the ship (4/30).
 +
 +
    -Changed takeS/A/HDamage to applyS/A/HDamage which just passes the damage value to the proper set function in Ship (4/30).
 +
 +
 +
===Hostile===
 +
 +
    -Most of the code has been ripped out and replaced only with what is absolutely required for this class.  The other code was moved to Entity (4/10).
 +
 +
    -Removed second constructor and merged it with the hSetup function (4/30).
 +
 +
    -Heavily modified the hSetup function to obtain enums from data system for various information as well as placeholders for name generate based on race of crew (4/30).
 +
 +
 +
===MsgProc===
 +
 +
    -Made changes here to account for the making of the entity class (4/10).
 +
 +
    -Modified the battle menu because I forgot to add the move ship option (4/30).
 +
 +
 +
===Player===
 +
 +
    -Same as Hostile class.  Most of the code has been ripped out save for what is required for the player class (4/10).
 +
 +
 +
===Ship===
 +
 +
    -Added the code for the other weapon damage type getting functions in the ship class.  Laser was the only one done prior to today (10/4).
 +
 +
    -Removed second constructor and merged it with the first (10/30).
 +
 +
    -Modified shield/armor/hull set functions to act like other such functions in Entity.  They now take a value and the operation to be carried out (4/30).
 +
 +
    -Changed all functions and member variables having to do with shield/armor/hull to float types (4/30).
 +
 +
    -Added some extra comments for certain private member variable declarations (4/30).
  
  

Revision as of 02:47, 12 May 2013

Contents

Past Entries:

Version 0.2 Alpha changes:

   -Menus are now cleaned up a bit more.
   -You can now save and load your game.
       The save .nfo files can be found in your C:\ directory.  There should be 2 of them, one for player data and a second for the destroyed planet names array.  Right now the array is writing each element
       individually in the save function till I can get the for statement to work correctly.
   -the 'Oders' typo has been fixed ;P
   -please note that laser banks 4 - 8 and turrets 4 - 8 will be given garbage values as I have not set them up in the player creation function yet.
   -the weirdness in the Station menu has been fixed. (if you chose to buy a ship, once done it would send you to the weapons menu.).
   -all menus (or almost all) have been conformed to the new layout
       at the top of each menu is a cout << endl; and a system("CLS"); at the end of each non-battle menu to clear the command window.
   -I have now added in some more planets.
       In total there are now 28 planets instead of 9.
   -No new ships or weapons.
   -Planets now have access to more planetary defenses and can now obtain a random tech level.
   -Pillage and salvage functions have been rewritten for easier access to resources.
   -Fixed the issue with enemy ships not being able to attack you.
       They can now do both laser and missile damage.  This was due to an old reinitialization of some setup variables that were not needed and were left in by mistake.


Version 0.3a Change Log:

Planet bombing:

   -Bomb weight has now been implemented.
       While bombing weight will now be calculated via formula to produce a collateral damage value.
   -You can now bomb multiple times in a row AFTER the defenses have been destroyed.
       Maximum is 8 times and if the planet's population reaches 0 it should break the while loop.  Have not tested that particular part.
   -Planet Pillaging has been fixed.
       The resource random was set to 1,1000 instead of 100.
   -During the bombing runs all text will be run on Sleep(2000) timers.

Main Game:

   -At the start of the game, you will now be asked to input your name.
   -Story has now been implemented.
   -All text runs on timers, how long depends on the text amount.
   -Decided to leave the Save/Load functions in.  See more info on the change to cloning in the Station section.
   -Have changed the encounter formula again, you will encounter fewer ships in this version.

Talirath/Tech Merchant:

   -Added in both the Talirath and Tech merchant, you will be able to encounter them while traveling to stations.
   -Tech merchant ship battle is still a little weird, trying to get the correct effect with it.
   -If your ship is NOT a tech level 4 ship (i have added 1 tech 4 ship just for testing this function) you will not be able to use the TM right now.  Later on I will change this so that there are different 
   TM level ships.
   -Once you choose to upgrade the Artimis Theta (the previously mentioned t4 ship) you will be able to distribute and damage and range points yourself to any weapons you have equipped.
   -At this time Tech Merc and Talirath DO NOT have their custom ships.
   -Talirath will only fight you if your pirate rank is 1 and higher.

Player:

   -Ranking system now implemented
       after gaining 5 rank points (by destroying planets and ships) your rank will increase, this can be done up to 9 times.
       Ranks:
           Private
           Private First Class
           Sub-Lieutenant
           Lieutenant
           Lieutenant Commander
           Commander
           Captain
           Commodore
           Admiral

Station:

   -Clone System
       This has now been implemented.  You can buy a single use clone or buy a multi use clone.  When you buy the multi use, you will be asked for the number of uses.  This is then multiplied by the price of
       a single use clone.  How they work is when your ship is destroyed, your consciousness is transported tot he nearest station and put into a clone.  During this process your game is saved.
   -New Weapons:
       I have added 26 new Laser Weapons.
   -New Ships:
       I have added in 5 new ships in the Destroyer class.


2011

April

Monday, 25:

   -Fixed error in Rifter ship description.  Stated only one laser hardpoint when the Rifter has three.
   -Changed the Raven's description a small bit for better clarification and also changed hardpoint listings to better conform with previously created convention (ex: two(2) or five(5)).
   -Changed some of the Rupture's description and fixed a typo.
   -Fixed grammatical errors in Henji's description as well as changed it a little.
   -Changed resource Gold to Xarn.
   -Changed the description for the Isicus cruiser slightly.
   -Changed the Malin's description to better follow the hardpoint convention.
   -Made changes to the Rathic's description for better flow and proper grammar.
   -Changes made to Gelshing, Loginus, and Vanisher ship descriptions.
   -Granz ship description and design has been modified:
       Max hardpoints changed from 12 to 15
       Laser hardpoints changed from 5 to 6
       Missile hardpoints changed from 7 to 6
       Added 3 rail gun hardpoints
       Draconic cost +120
       Diamond cost +20
       Ruby cost -30 
   -Junas description altered.
   -Ursa description changed and the design has also been changed:
       Added 2 heavy weapons hardpoints
       Shield points +50
       Ruby cost +170
       Draconic cost +250
       Diamond cost +300
       Xarn cost +1450
       Tech level changed from 5 to 6


   -Lios description altered slightly and some design changes:
       Laser hardpoints changed from 8 to 6
       Missile hardpoints changed from 6 to 4
       Added 4 Railgun hardpoints
       Diamond cost +40
       Xarn cost +200


Thursday, 28:

   -Changed Reaper description, fixed an error where it was given no bomb holds instead of 2, and modified the ships stats/cost:
       Added 1 heavy weapon hardpoint
       Hull points +50
       Diamond cost +100
       Draconic cost +250
       Xarn cost +1100
   -Changed description for the Velor
   -Changed the description for the Vespa and changed some costs and ship stats:
       Movement initiative changed from 12 to 24
       Added 3500 uranium cost
   -Changed the Yenshu's description and some of its design attributes:
       Laser hardpoints changed from 1 to 2
       Added 2 railgun hardpoints
       Xarn cost +2500
       Added 460 uranium cost 


May

Monday, 23:

   -Changed Xeno and Zxeth descriptions
   -Changed description and attributes for the Menos command ship:
       Shields increased from 480 to 1100
       Armor decreased from 3600 to 2500
       Hull increased from 250 to 950
       Laser hardpoints changed from 2 to 4
       Missile hardpoints changed from 1 to 5
       Added 2 heavy weapons hard points
       Added 4 railgun hardpoints
       Bomb holds changed from 1 to 2
       Xarn cost changed from 40000 to 75000
       Ruby cost changed from 450 to 1200
       Draconic cost changed from 1900 to 1300
       Diamond cost changed from 320 to 800
       Uranium cost changed from 1850 to 2300
       Plutonium cost changed from 2000 to 2400
   -Changed Rupture to Rapture
   -Changed description and attributes for Whisp:
       Missile hardpoints changed from 4 to 2
       Added 5 railgun hardpoints
       Bomb holds changed from 3 to 2
       Diamond cost changed from 560 to 600
       Uranium cost changed from 200 to 600
       Plutonium cost changed from 400 to 550


Tuesday, 24:

   -Changed description for Kelos
   -Changed design and description of Nirvana:
       Missile hardpoints changed from 4 to 6
   -Changed design and description for Jestu:
       Laser hardpoints increased from 2 to 5
       Added 5 railgun hardpoints
       Added 3 heavy weapons hardpoints
       Xarn cost changed from 55000 to 57000
       Uranium cost changed from 3600 to 5600
       Plutonium cost changed from 4100 to 7800
   -Changed design and description for Orion:
       Missile hardpoints changed from 8 to 6
       Added 5 railgun hardpoints
       Added 5 heavy weapon hardpoints
       Diamond cost changed from 860 to 1200
       Uranium cost changed from 6950 to 9800
       Plutonium cost changed from 7800 to 10500
   -Changed description for Sleipnir
   -Changed description and design for Asgard:
       Laser hardpoints changed from 8 to 12
       Added 5 railgun hardpoints
       Added 10 heavy weapons hardpoints
       Diamond cost changed from 8700 to 14500
   -Changed description and design of the Rangarok:
       Laser hardpoints changed from 8 to 6
       Missile hardpoings changed from 8 to 6
       Added 6 railgun hardpoints
       Added 6 heavy weapons hardpoints
       Diamond cost changed from 12400 to 16000
   -Changed description for the Absolution
   -Changed design and description for Black Eternity:
       Laser hardpoints changed from 8 to 5
       Missile hardpoints changed from 8 to 5
       Added 2 railgun hardpoints
       Added 16 heavy weapons hardpoints
       Diamond cost changed from 6700 to 8600
   -Changed description and specs of Kazahth Mothership:
       Laser hardpoints changed from 8 to 10
       Added 14 railgun hardpoints
       Added 13 heavy weapon hardpoints 
       Bomb hold changed from 3 to 6
       Diamond cost changed from 29500 to 68000
       Uranium cost changed from 15600 to 24000
       Plutonium cost changed from 19800 to 28420
   -Changed description and design for Valhalla:
       Missile hardpoints changed from 8 to 6
       Bomb holds changed from 3 to 10
   -Changed description and design for the Einherjar:
       Shields changed from 15600 to 12000
       Armor changed from 9750 to 4500
       Hull changed from 8500 to 35000
       Laser hardpoints changed from 8 to 0
       Missile hardpoints changed from 8 to 14
       Added 6 heavy weapon hardpoints
       Bomb holds changed from 3 to 2
       Movement initiative changed from 13 to 10
       Xarn cost changed from 105000 to 101000
       Ruby cost changed from 6980 to 4950
       Draconic cost changed from 6780 to 16000
       Diamond cost changed from 5500 to 7800
   -Changed description and stats of Shadow Wraith:
       Shields changed from 23600 to 48000
       Laser hardpoints changed from 8 to 6
       Missile hardpoints changed from 8 to 10
       Added 2 heavy weapons hardpoints
       Ruby cost changed from 16000 to 23000
       Diamond cost changed from 6800 to 7500
   -Ship Database Completed


Thursday, 26:

Player:

   -Removed pRankPosition variable; unneeded
   -Replaced destroyed planets array initialization with For Loop; removed 240 lines of code
   -Added Platinum resource to Player
   -Renamed several variables to conform to naming convention
   -Replaced ship initialization with more compact and optimized system
   -Player can now choose between one of five frigates as their starting ship along with the armaments they wish to employ


Monday, 30:

Player:

   -Added pCShip and pCWeap functions for player starter ship creation
   -Added comments to rest of functions currently present in header file

Ship:

   -Added comments to present variables and also separated out like variables for cleaner look

ItemSystem:

   -Added getSName, getSShield, getSArmor, getSHull ship data retrieval functions
   -Fixed typo in Osprey’s name
   -Fixed three major problems with shipDB matrix:
       most ship entries missing ship class element
       bomb holds element was in the wrong place for most of the ships up to cruiser class
       some ship entries did not have heavy weapons nor railgun hardpoint elements added
   -Changed description for the Sleipnir


July

Wednesday, 13

New Classes:

   -Added a new class; Game.  This class will handle any wide scope game related functions such as saving and loading and data encryption/decryption.  There may be other functions moved to here later on.
   -Created a new class called menuProc (menu Processing) which will handle all of the menu option inputs.  It will process the player choices and call the related functions.  This is done in an attempt
    to move ALL player related choices out of the ‘main’ game execution file and reduce the choices throughout the rest of the project files and consolidate it all into one class eventually.
   -Added Story class to this build.  It only has one function at the moment for the opening story.

File Renames:

   -Previously called game.cpp file has been renamed to main.cpp.  Started the basic coding here including class references and starting function calls for creating the game start menu and calling the story.
    Renamed in lieu of Game class, would have had a name conflict with that classes implementation file (game.cpp).

Player:

   -Removed Loading and Saving, Decrypting and Encrypting functions from Player.h.  These functions relate more to game data then just the player class.  They have been moved to the Game class.

Game:

   -Added code for save function and data encryption and decryption.  Function will create save folder structure if it does not exist then create the .nfo file.  This does not include destroyed planet data at
    this time.  Loading function not yet coded.

ItemSystem:

   -Finished coding Ship database and removed old code for ship settings.  Replaced 2,425 lines of code with 43 lines of code.


Tuesday, 19

Player:

   -Removed data encryption, decryption, and save, load functions from the player class.
   -Added setting functions for the player name, rank, ship name, ship class, ship technology level, and current/max armor, shield, and hull points.

Game:

   -Added the code for the data decryption and encryption to the implementation file.  Currently only the attributes listed in the “Player setting functions change log entry” are being used in these functions.
    Later on weapon and planet names will be added to these functions.

   -Fixed a few types and comments in the implementation file.

ItemSystem:

   -Began laser weapon entry into laserDB matrix.
   -Changed the description for both the Ion-Particle Blaster and 50mm Suspended Coil Laser Cannon.
   -Renamed ‘Ion-Partical Blaster’ to Ion-Particle Blaster.
   -Altered the description and name for 50mm Omega Cannon Proto-Type, now called 50mm Omega Cannon Prototype.
   -Description changed for 50mm High-Output Ion Cannon, 25mm Lightron Blaster, 50mm Compressed Lightron Blaster, 50mm Lightron Blaster, 100mm Suspended-coil Lightron Blaster,
    and 150mm Proto-Type Lightron Blaster.
   -Renamed 150mm Proto-Type Lightron Blaster to 150mm Prototype Lightron Blaster and changed its attributes slightly:
       Maximum Optimal Target Distance changed from 7 to 12


Saturday, 23

ItemSystem:

   -Made changes to the descriptions of the following laser weapons:
       150mm Prototype Lightron Blaster
       150mm Lightron Heavy Cannon
       175mm Lightron Supercannon
       175mm Lightron Blaster
       250mm Lightron Medium Blaster
       25mm Pyre Laser
       50mm Pyre Plasma Cannon
   -Changed attributes of the 50mm Pyre Plasma Cannon:
       Min Damage lowered from 90 to 65
       Max Damage lowered from 105 to 80
   -Changed the description for the 50mm Pyre Megalaser, it was also renamed from Mega-laser to Megalaser.
   -Changed the description for the 100mm Pyre Laser and 100mm Pyre Plasma Cannon.
   -Changed attributes of the 100mm Pyre Megalaser, name was also changed from Mega-laser to Megalaser:
       Uranium cost increased from 0 to 130
   -Changed description and attributes of the 175mm Pyre Photon Laser:
       Min Damage increased from 190 to 210
       Max Damage increased from 230 to 240
       Plutonium cost increased from 0 to 50
   -Changed the description for the 200mm Pyre Megacannon, name changed from Mega-cannon to Megacannon.
 
   -Changed description of the 300mm Lightron Ultra Plasma Cannon and the 300mm Pyre High-output Megacannon, which was renamed from 300mm Pyre High output Mega-cannon.
   -Changed description for the Fleet Buster, Grand Hilzarat, and Grand Design.



August

Thursday, 4

ItemSystem:

   -Changed the description for the following missiles:
       Calamity Light Standard Missile
       Ravager Light Missile
       Cruise Missile
       Warhawk Advanced Light Missile
       Bloodhawk Light Missile
       Serpent Light Missile
       Angelus Light Missile
       Spine Light Missile
       Dreadlock Light Missile
       Mole Light Missile
       AP Light Missile
   -Changed the description and attributes of the Warpigeon Light Missile:
       Min Damage increased from 75 to 90
       Max Damage increased from 95 to 120
       Added 120 plutonium cost


Wednesday, 10

ItemSystem:

   -Changed the descriptions for the following missiles:
       Bloodhawk Standard Missile
       Angelus Standard Missile
       Spine Standard Missile
       Mole Standard Missile
       Ravager Standard Missile
       Calamity Standard Missile
       Serpent Standard Missile
       Dredlock Standard Missile
       AP Standard Missile
       Warpigeon Standard Missile
   -Changed attributes of the Calamity Standard Missile:
       Minimum damage changed from 40 to 50
       Maximum damage changed from 90 to 120
       Maximum target distance changed from 16 to 18
       Xarn cost changed from 15000 to 22000
       Ruby cost changed from 70 to 120
       Diamond cost changed from 110 to 160
       Draconic cost changed from 80 to 110
   -Changed attributes of the Serpent Standard Missile:
       Minimum damage changed from 48 to 50
       Maximum damage changed from 72 to 76
       Maximum Target Distance changed form 72 to 76
       Xarn cost changed from 15000 to 17000
       Ruby cost changed from 95 to 140
       Diamond cost changed from 120 to 200
       Draconic cost changed from 70 to 230
   -Changed the attributes of the AP Standard Missile:
       Minimum damage changed from 78 to 85
       Maximum damage changed from 102 to 115
       Maximum target distance changed from 12 to 10
       Xarn cost changed from 19500 to 20000
       Ruby cost changed from 120 to 130
       Diamond cost changed from 95 to 100
       Draconic cost changed from 350 to 420
   -Changed the attributes of the Warpigeon Standard Missile:
       Minimum damage changed from 100 to 110
       Maximum damage changed from 126 to 130
       Maximum target distance changed from 4 to 10
       Xarn cost changed from 19500 to 23000
       Ruby cost changed from 120 to 180
       Diamond cost changed from 95 to 120
       Draconic cost changed from 120 to 400


Saturday, 13

ItemSystem:

   -Changed the description for the following missiles:
       Warhawk Standard Missile
       Serpent Medium Missile
       Mole Medium Missile
       AP Medium Missile
       Ravager Medium Missile
       Bloodhawk Medium Missile
       Spine Medium Missile
       Warpigeon Medium Missile
       Calamity Medium Missile
       Bloodhawk Heavy Missile
       Angelus Heavy Missile
       Spine Heavy Missile
       AP Heavy Missile
       Dredlock Medium Missile
   -Added new weapon Hellstorm Missile:
       Minimum damage set to 140
       Maximum damage set to 260
       Maximum range set to 15
       Technology level set to 8
       Xarn cost set to 38000
       Ruby cost set to 450
       Diamond cost set to 500
       Draconic cost set to 780
       Lithium cost set to 850
   -Changed attributes for the Serpent Medium Missile:
       Minimum damage changed from 54 to 80
       Maximum damage changed from 86 to 105
       Maximum range changed from 24 to 22
       Xarn cost change from 16000 to 19000
       Ruby cost changed from 100 to 130
       Diamond cost changed from 34 to 350
       Draconic cost changed from 50 to 400

   -Changed the attributes of the Mole Medium Missile:
       Minimum damage changed from 48 to 54
       Maximum damage changed from 98 to 110
       Maximum range changed from 26 to 28
       Xarn cost changed from 14000 to 18000
       Ruby cost changed from 120 to 230
       Diamond cost changed from 48 to 360
       Draconic cost changed from 180 to 390
       Uranium cost changed from 0 to 10
   -Changed attributes for the AP Medium Missile:
       Minimum damage changed from 115 to 125
       Maximum damage changed from 130 to 140
       Maximum range change from 12 to 7
       Xarn cost changed from 19000 to 21000
       Ruby cost changed from 150 to 200
       Diamond cost changed from 120 to 320
       Draconic cost changed from 240 to 300
       Lithium cost changed from 160 to 240
   -Changed the attributes for the Ravager Medium Missile:
       Minimum damage changed from 95 to 100
       Maximum damage changed from 118 to 200
       Maximum range changed from 18 to 16
       Xarn cost changed from 17600 to 19000
       Ruby cost changed from 140 to 190
       Diamond cost changed from 110 to 200
       Draconic cost changed from 130 to 260
       Lithium cost changed from 180 to 215
       Uranium cost changed from 0 to 50
   -Changed the attributes of the Bloodhawk Medium Missile:
       Minimum damage changed from 52 to 75
       Maximum damage changed from 84 to 130
       Maximum range changed from 35 to 20
       Xarn cost changed from 18000 to 23000
       Ruby cost changed from 110 to 280
       Diamond cost changed from 85 to 420
       Draconic cost changed from 75 to 500
       Lithium cost changed from 210 to 420
       Uranium cost changed from 0 to 60
   -Changed the attributes for the Spine Medium Missile:
       Minimum damage changed from 115 to 125
       Maximum damage changed from 128 to 160
       Maximum range changed from 18 to 8
       Xarn cost changed from 21000 to 25000
       Ruby cost changed from 170 to 220
       Diamond cost changed from 160 to 390
       Draconic cost changed from 290 to 520
       Lithium cost changed from 85 to 160
       Uranium cost changed from 0 to 140
   -Changed the attributes of the WarPigeon Medium Missile:
       Minimum damage changed from 135 to 160
       Maximum damage changed from 150 to 185
       Maximum range changed from 8 to 9
       Technology level changed from 5 to 6
       Xarn cost changed from 25000 to 32000
       Ruby cost changed from 240 to 450
       Diamond cost changed from 210 to 680
       Draconic cost changed from 230 to 720
       Lithium cost changed from 530 to 580
       Uranium cost changed from 0 to 650
   -Changed the attributes of the Calamity Medium Missile:
       Minimum damage changed from 40 to 55
       Maximum damage changed from 85 to 100
       Maximum range changed from 12 to 10
       Xarn cost changed from 12000 to 15000
       Ruby cost changed from 120 to 180
       Diamond cost changed from 90 to 160
       Draconic cost changed from 120 to 210
       Lithium cost changed from 180 to 200
       Uranium cost changed from 0 to 120
   -Changed the attributes of the Bloodhawk Heavy Missile:
       Minimum damage changed from 150 to 220
       Maximum damage changed from 230 to 290
       Maximum range changed from 15 to 10
       Technology level changed from 5 to 7
       Xarn cost changed from 26000 to 36000
       Ruby cost changed from 190 to 350
       Diamond cost changed from 200 to 680
       Draconic cost changed from 150 to 850
       Lithium cost changed from 280 to 650
       Uranium cost changed from 240 to 400
       Plutonium cost changed from 0 to 152
   -Changed the attributes of the Angelus Heavy Missile:
       Minimum damage changed from 96 to 120
       Maximum damage changed from 120 to 160
       Maximum range changed from 45 to 30
       Technology level changed from 5 to 6
       Xarn cost changed from 23000 to 25000
       Ruby cost changed from 130 to 260
       Diamond cost changed from 170 to 450
       Draconic cost changed from 125 to 600
       Lithium cost changed from 220 to 230
       Uranium cost changed from 170 to 155
       Plutonium cost changed from 0 to 120
   -Changed the attributes of the Spine Heavy Missile:
       Minimum damage changed from 115 to 130
       Maximum damage changed from 148 to 180
       Maximum range changed from 15 to 10
       Ruby cost changed from 160 to 180
       Diamond cost changed from 210 to 260
       Draconic cost changed from 250 to 500
       Lithium cost changed from 300 to 320
       Uranium cost changed from 210 to 280
   -Changed the attributes for the AP Heavy Missile:
       Minimum damage changed from 125 to 140
       Maximum damaged changed from 167 to 186
       Maximum range changed from 8 to 6
       Technology level changed from 5 to 6
       Xarn cost changed from 28500 to 30000
       Ruby cost changed from 240 to 280
       Diamond cost changed from 270 to 300
       Draconic cost changed from 340 to 370
       Lithium cost changed from 320 to 340
       Uranium cost changed from 280 to 310
   -Changed the attributes of the Dredlock Medium Missile:
       Minimum damage changed from 62 to 90
       Maximum damage changed from 80 to 130
       Maximum range changed from 50 to 22
       Xarn cost changed from 23500 to 32000
       Ruby cost changed from 110 to 150
       Diamond cost changed from 140 to 200
       Draconic cost changed from 80 to 180
       Lithium cost changed from 210 to 460



September

Wednesday, 28

ItemSystem:

   -Changed the description for the following missiles:
       Warhawk Medium
       Serpent Heavy
       Dredlock Heavy
       Mole Heavy
       Warhawk Heavy
       Warpigeon Heavy
       Ravager Heavy
       Calamity Heavy
       Bloodhawk Ultra Heavy
       Angelus Ultra Heavy
       Spine Ultra Heavy
       Dredlock Ultra Heavy
       Warhawk Ultra Heavy
       Serpent Ultra Heavy
       Mole Ultra Heavy
       AP Ultra Heavy
       Ravager Ultra Heavy
       Calamity Ultra Heavy
       Bloodhawk Titan
       Serpent Titan
       Angelus Titan
       Spine Titan
       Dredlock Titan
       Mole Titan
       AP Titan
       Ravager Titan
       Warpigeon Titan
       Warhawk Titan
       Calamity Titan
       Super Nova
       Hell’s Teeth
       Ragnarok
   -Changed the attributes of the following missiles:
       Warhawk Medium
       Serpent Heavy
       Dredlock Heavy
       Mole Heavy
       Warhawk Heavy
       Warpigeon Heavy
       Ravager Heavy
       Calamity Heavy
       Bloodhawk Ultra Heavy
       Angelus Ultra Heavy
       Spine Ultra Heavy
       Dredlock Ultra Heavy
       Warhawk Ultra Heavy
       Serpent Ultra Heavy
       Mole Ultra Heavy
       AP Ultra Heavy
       Ravager Ultra Heavy
       Calamity Ultra Heavy
       Bloodhawk Titan
       Serpent Titan
       Angelus Titan
       Spine Titan
       Dredlock Titan
       Mole Titan
       AP Titan
       Ravager Titan
       Warpigeon Titan
       Warhawk Titan
       Calamity Titan
       Super Nova
       Hell’s Teeth
       Ragnarok
   -Compelted database for missile weapons; removed 4500 lines of code, replaced with 74 lines.


October

Wednesday, 19

ItemSystem:

   -Changed the description and attributes of the following weapons:
       Destructor Bomb
       Neopryte Bomb
       Light Gettysburg Bomb
       Nako Advanced Bomb
       Planet Cracker
       Medium Nano Bomb
       Medium Neopryte Bomb
       Medium Gettysburg Bomb
       Medium Nako Advanced Bomb
       Heavy Nano Bomb
       Heavy Neopryte Bomb
       Heavy Gettysburg Bomb
       Ultra Heavy Nano bomb
       Ultra Heavy Neopryte Bomb
       Ultra Heavy Gettysburg Bomb
       Heavy Nako Advanced Bomb
       Ultra Heavy Black Hole Bomb
       Ultra Heavy Planet Cracker
       Maximum Nako Advanced Bomb
       Gravity Bomb
       Hell’s Teeth
       Lillith’s Wish
       Adam’s Anger
       Apocalypse Bomb
   -Replaced 1279 lines of code with 27
   -Added one (1) bomb hold to Rifter design to accommodate starter ship choice.
   -Added several new ‘Get’ functions for laser weapon information:
       getWLName
       getWLAMin
       getWLAMax
       getWLAOMin
       getWLAOMax
       getWLDRMin
       getWLDRMax
       getWLDROMin
       getWLDROMax

Player:

   -Added check to starter ship selection so that if the chosen value is out of bounds the code will default to 1.
   -Added player starter laser weapon selection, including above check and IS function calls.  The following weapons have been added to the start selection list:
       Low-Tech Phaser Array
       Ion-Particle Blaster
       50mm Suspended Coil Laser Cannon
       50mm Omega Cannon Prototype
       50mm High-Output Ion Blaster
       Lightron Blaster


Sunday, 23

ItemSystem:

   -Changed the Osprey design, added one (1) missile turret to this ship to accommodate the starter ship choice.
   -Added the following functions for player starter ship choices:
       getWMName
       getWMDRLow
       getWMDRHigh
       getWMAMax
       getWBName
       getWBDRLow
       getWBDRHigh
       getWBWeight


Player:

   -Added the following functions as part of the player starter ship system:
       pCMWeap
       pCBWeap
   -The following bombs and missiles have been added to the player startship armament process: 
       Destructor Bomb
       Neopryte Bomb
       Lite Gettysburg Bomb
       Nako Advanced Bomb
       Calamity Lite Standard Missile
       Ravager Lite Missile
       Cruise Missile
       Warhawk Advanced Lite Missile
       Bloodhawk Lite Missile
       Serpent Lite Missile
   -Added the player takeDamage function.  This function has a tiered if/then/else statement system t catch any damage overflow from the different health areas; shields, armor, hull.
    Old system calculated damage then sent that value off to another function.  This one does all of the application in house, but the damage calculations will be done from battleProc (battle processing).


Monday, 24

Player:

  -Removed private variable pSTLevel as the Ship struct already contains a variable for the ship tech level.

Planet:

   -Setup the Planet Class and added the following things to it:
       Functions:
           Planet (constructor)
       Variables:
           pName
           pEKS*
           pPop –popultion

Hostile:

   -Added the following functions:
       hostile(string hRace, string hRank, Ship hShip, int hXarn, int hRubies, int hDia, int hDrac, int hLith, int hUra, int hPlut, int hPlat, int hNWaste) (constructor 1)
       hostileStory(string hName, string hRace, string hRank, Ship hShip, int hXarn, int hRubies, int hDia, int hDrac, int hLith, int hUra, int hPlut, int hPlat, int hNWaste) (constructor 2)
   -Added the following variables:
       hName
       hRace
       hRank
       hShip
       hXarn
       hRubies
       hDia
       hDrac
       hLith
       hUra
       hPlut
       hPlat
       hNWaste

BattleProc:

   -Setup the BattleProc class and added the following functions:
       damageCalc
       endBattle


*Click here for the explanation of this variable. It was too long to include in the changelog.


December

Tuesday, 06

Planet:

   -Split the class into two separate entities:
   Planet Processing will handle all global planet processes, such as placing a destroyed planet into the destroyed planets array.
   Planet will be a pointer based class that will function a lot like the hostile class except that planets will be stored in an array 
   upon deletion during an event.  This array will be updated each “turn” depending on various conditions if the player colonized said 
   planet.
   -Added several new variables to the planet class, all having to do with the planets habitability*:
       pGrav -gravity
       pRad -yearly radiation        
       pOxy –atmosphere oxygen levels        
       pNit –atmosphere nitrogen levels
       pCarb –atmosphere carbon levels
       pHel –atmosphere helium levels
       pALevel –strength of atmosphere and planetary coverage
       pLMass –available landmass
       pWMass –percentage of planetary space that is ocean
       pBDivers –planetary biological diversity
       Each of these variables can be affected by certain factors, such as population growth, industrialization, or pollution.  Teraforming will move these values closer to 62nd century earth’s conditions.
   -Added second Defense attribute to the class for shield based defense systems.

PlanetProc:

   -Added the following functions:
       isDest –is the planet destroyed
       isOwned –is the planet already owned by the player
       fPlanets –search for planets within scan range (currently static at 50 LY)
       pPlanets –print out list of found planets
       setDest –set planet as destroyed
       setPOwned –set planet as player owned        
   -Added the following variables:
       sPlanets –array for scanned planets*
       oPlanets –array for player owned planets


*Click here for further explanation

MenuProc:

   -Added navigation menus 1 and 2.  Nav menu two will work with above fPlanets/pPlanets functions to print out found planets for the player to travel to.  Similar system to be setup for stations.

Main:

   -Added game class and planet processing references.
   -Created start game menu operations and started on the game loop.

Game:

   -Added new function sGame (start game) to the class.


Friday, 23

Player.cpp:

   -Added all ‘get’ functions into the player implementation file:
       getAcc
       getDia
       getDrac
       getEADist
       getXarn
       getLith
       getNucWas
       getPWStatus
       getPlat
       getPlut
       getRubies
       getSArmor
       getSHull
       getSMArmor
       getSMHull
       getSMShield
       getSShield
       getUra
       getName
       getRank
       getSClass
       getSName
       getSTLevel


Saturday, 24

Player.h:

   -Added several new functions:
       getFKills
       getDKills
       getCKills
       getBCKills
       getBKills
       getCSKills
       getMKills
       getTKills
  -Added several new variables for Player ranking system*:
       pFKills
       pDKills
       pCKills
       pBCKills
       pBkills
       pCSKills
       pMKills
       pTKills

Player.cpp:

  -Added above functions to the Player implementation file.


*Click here for more information on ranking requirements and here for more information on the Combat Experience System (CES).


Sunday, 25

Player.h:

   -Modified the ranking system.  Rank requirements for combat experience have now been changed to a CB level system where each battle gives exp.  After a certain amount of exp your combat level will increase.
   At certain levels, in combination of previous requirements, you will be given an option at Alliance space stations to receive a promotion.  You must go to an Alliance station in order to get this promotion
   once the requirements are met.
   -Added the following variables:
       pCBELevel
       pCBExp
       tNCBLevel

Player.cpp:

   -Fixed some function definitions that had incorrect connections to the Player class.
   -Added the rest of the rank system functions and set functions for player variables:
       setName
       setRank
       setSArmor
       setSHull
       setSMArmor
       setSMHull
       setSShield
       setSMShield
       setSName
       setSSTLevel
       cLUp
       pCBLUp
   -Added functions for player combat level gaining, noted above.  Levels are calculated via the following equation*:
       To Next Level = (Current Level • 1250) • 1000 • 1000 • Current Level / (2 / ((1000 • (Current Level • 1250)) / 2))



2012

February

Monday, 13

Player

   -Moved several menus out of the player creation process and placed them into menuProc where they should be incorporated.
   -Changed all function calls related to the itemSystem information ‘gets’ for starter ship initialization due to changes to the class.
   -Added menuProc reference for menu creation.
   -Split up takeDamage function into base parts; takeSDamage, takeADamage, and takeHDamage, in order to make applying damage from 
   special types much easier, effective, and efficient with the least code necessary.

menuProc

   -Added several new functions for player creation menus:
   pCMenu1
   pCMenu2
   pCMenu3
   pCMenu4
   -Added generic invalid menu option catch.

itemSystem

   -Reworked the weapons databases so that they could all be placed into a single matrix.  Styled more after SQL table with 
   non-applicable entries nulled.
   -Added two new attributes to each weapon:
   Weapon Type
   Weapon Damage Type
   -Added functions to obtain weapon and damage type:
   getWType
   getWDType
   -Removed many functions that were duplicating information ‘gets’.  Instead of each weapon type having a ‘get’ function there is now 
   only one set of them for the entire table.  Weapons that do not have a specific attribute will not be able to use a ‘get’ function if 
   they do not have that specific attribute.
   -Removed Optimum Range Damage attributes from all weapons and ship struct.  Optimum range damage will be applied to a multiplier at 
   random between 1.5% and 2.5% more damage in order to simplify damage calculations due to special damage types.


Weapons

   -Added new variables to each weapon struct:
   tLevel //technology level
   wType //weapon type

damageTypes

   -Added in some damage type descriptions to await further implementation:
   Piercing1
   Piercing2
   Piercing3
   Napalm1
   Napalm2
   Napalm3
   Destructor
   Nanite1
   Nanite2
   Nanite3
   Doomsday1
   Doomsday2
   Stealth
   Frigonly
   Null
   Emp1
   Emp2
   Emp3
   Virus1
   Virus2
   Virus3
   Massaccel


Tuesday, 14

Hostile

   -Added new functions and related code in the .cpp file:
   setName
   setRank
   setSArmor
   setSHull
   setSMArmor
   setSMHull
   setSShield
   setSMShield
   setSName
   setSSTLevel
   getSArmor
   getSHull
   getSMArmor
   getSMHull
   getSMShield
   getSShield
   getName
   getRank
   getSClass
   getSName
   getSTLevel
   -Renamed hostileStory to Hostile.  Other constructors renamed to Hostile to reflect the class name change (from l.c. h to capital h).  
   Also added in a blank constructor for definitions of hostile ship instances for multiple ship battles.
   -Removed initialization code from Hostile constructors, it will now take place in battleProc.

battleProc

   -Added the following functions and/or related code for those marked with a *; ** means partial code:
   battleLoop()**
   hDCalc()
   pDCalc()
   hInit()**
   pInit()
   initHR1()**
   initHR2()
   initHR3()
   initHR4()
   endBattle()**
   -Added pointer definitions to the .cpp file so that I could initialize hostile ship pointers within separate functions to facilitate 
   cleaner looking code.
   -Enemy ship creation system based on player rank 

menuProc

   -Added two missing functions for the navigation menus:
   nMenu1
   nMenu2

itemSystem

   -Added in functions to search and return ship technology level, hard points, and class:
   getSBHolds()
   getSMTurrets()
   getSLBanks()
   getSRails()
   getSHWBays()
   getSWHPoints()
   getSTLevel()
   getSClass() 


Main

   -Moved game loop out of main and into menuProc (to be completed at a later date).
   -Removed many class references and  class pointers since pointer initialization now happens in battleProg


Wednesday, 15

Hostile

   -Fixed a small typo within the class and in child classes for Talirath and Tech Merchant.
   -Added in all code for most of the functions detailed in yesterday’s update.
   -Changed getSTLevel from string to int to reflect change of the attribute in the ship structure.

itemSystem

  -Added in the following functions, but have not implemented the code yet:
   getSWHP
   getSLB
   getSMT
   getSBH
   getSRM
   getSHWB
   getSDesc
   getSMInit
   getSXC
   getSRC
   getSDC
   getSDiC
   getSUC
   getSPC

Player

   -Changed getSTLevel from string to int to reflect change of the attribute in the ship structure.


Thursday, 16

dataSystem

   -Renamed itemSystem to dataSystem.  This change was undertaken because I wanted to store all static data in this class and not just 
   item and ship information.
   -Added the following new data array(s) to this class:
   planetNames
   ranks
   raceNames
   pDD
   -Added code for yesterday’s implemented functions.


planetProc

   -Removed the following data array(s):
   planetNames
   pDD


Player

   -Removed the following array(s):
   ranks

Game

   -Removed the following array(s)
   raceNames


Saturday, 18

battleProc

   -Continued working on hostile initialization.  Scrapped previous idea in favor of going to an object array after all ships have been 
   initialized.
   -Created two new arrays to hold both player wingmen shims and hostile ships during battle.

Hostile

   -Edited both constructors to better fit both data sources and removed variables that were not going to be used at the present.
   -Added all code to said constructors.

dataSystem

   -Added getRace function.

Ship

   -Changed some ship variable names and added a variable for movement initiative.


Thursday, 23

battleProc

   -Continued work on hostile initialization.  Included code to randomly pick and setup a laser hard point for the ship.
   -Fixed several issues within the ship and weapon database matrices that would have caused major issues during compile.

Weapon

   -Along with ship struct, I will be changing this into a class that will contain all ship related functions.  Each ship will be 
   instantiated as its own object and so can be placed into an array which leads to cleaner and short initialization code.

Ship

   -Along with weapon struct, I will be changing this into a class that will contain all ship related functions.  Each ship will be 
   instantiated as its own object and so can be placed into an array which leads to cleaner and short initialization code.

Hostile

   -Added the following functions:
   initHardpoints
   getLHP
   setLBA
   setMT1
   setBH1
  
   -Modified constructors a bit to better reflect their purposes and to fix some issues.  Started on weapon initialization but stopped 
   when I decided to go with the class route.


Monday, 27

Player

   -Removed any and all ship/weapon related functions and code from the class.

Hostile

   -Removed any and all ship/weapon related functions from the class.

Ship

   -Began the process of changing this struct into a class.  Consolidated all ship code from both Player and Hostile and are in process 
   of rewriting it for the new class.

Weapon

   -Began the process of changing this struct into a class.  Consolidated any code related to this class into it and have begun rewriting 
   it for use within this class.


March

Thursday, 1

Weapon

   -Completed changing structs to classes.  Decided to go with an Inheritance structure where each type of weapon is a child class of 
   Weapon.  The Weapon class has any and all variables and functions related to two or more specific weapon types.  The classes that are 
   childed to Weapon can access all of these while being able to contain their own specialized, one-off variables and functions.  All 
   coding for these functions has been completed as well.  Included some commented functions that will be used in later versions.
   -Added or changed old functions to the following functions:
   Weapon
       setWDRange
       setWAcc
       setWName
       setWDtype
       setWTLevel
       setWType
       setWASpeed- commented
       getWDRLow
       getWDRHigh
       getWDROLow
       getWDROHigh
       getWALow
       getWAHigh
       getWAOLow
       getWAOHigh
       getWTLevel
       getWTpye
       getWASpeed- commented
       getWName
       getWDType
   
   Bomb
       setWeight
       getWeight
   
   Defense
       setSPoints
       getSPoints
       takeDamage
   Heavy
       setDInt
       getDIntLow
       getDIntHigh
       getDIntOLow
       getDIntOHigh
   -Added or changed old variables to the following variables:
   Weapon
       wAcc- weapon accuracy
       wDRange- weapon damage range
       wDType- weapon damage type
       wName- weapon name
       wTLevel- weapon technology level
       wType- weapon type
   Bomb
       bWeight- bomb weight
   Defense
       dSP- defense structural points
   Heavy
       hDInt-  heavy weapons damage intensity range


Ship

   -Completed changing this struct to a class and finished all coding for the related functions.  Did not change many variables or add 
   many functions that were not already in use by other classes.
   -Changed weapon hard point definitions to arrays to remove seven lines of extra code per each weapon type (5 weapon types, times seven 
   lines; total code removed 35 lines and replaced them with 5 lines) and added code to HPInit function to use weapon hard point values 
   taken from itemsystem database to initialize only an equal number of the eight elements in each array, again to remove coding lines 
   (this change removed 250 lines of code and replaced them with 24).


April

Tuesday, 10

damageType

   -New class, this class will be responsible for both applying special events and giving extra
   damage based on weapon damage types.
   -Added the following functions:
       dTPiercing1
       dTPiercing2
       dTPiercing3
       dTNapalm1
       dTNapalm2
       dTNapalm3
       dTDestructor
       dTNanite1
       dTNanite2
       dTNanite3
       dTDDay1
       dTDDay2
       dTStealth
       dTFOnly
       dTEMP1
       dTEMP2
       dTEMP3
       dTVirus1
       dTVirus2
       dTVirus3
       dTVirus4
       dTMAccel

Player

   -Removed the following functions, they have been moved to ship class:
       isDestroyed()
       isDisabled()
       getSStatus()

battleProc

   -Began adding in damage modification code.  This has to do with damage types and what they will do 
   to the ship when applied.  Most will add extra, special, non-affiliated damage by taking it out of 
   which ever health they effect beforehand.  Other, more specialized, effects will also be applied 
   here.
   -Added new function:
       pDModifier() //modify player damage if special damage type present

Ship

   -Added some new functions:
       isDestroyed() //If ship destroyed?
       isDisabled() //Is ship disabled?
       getSStatus() //Are shields up or down?

Project-Wide

   -Changed damage variable from integer to float.  Will be changing health types to floats later on 
   as well.


Thursday, 12

Ship

   -Added following functions:
       toggleSStat
       toggleShields
       disableShip
       disableShield
   -Added following variable:
       sDTimer

Weapon

   -Added following functions:
       toggleWeapon
       isWDisabled
   -Added following variables:
       wStatus
       wDTimer
   -Changed all child classes so that they used public inheritance to this class


Saturday, 14

Player

   -Changed takeDamage functions to floats from ints.
   -Added the following variables:
       damage
       damage2

damageType

   -edited the code for the EMP functions for more logical code flows.

battleProc

   -Started recode of damage modification function for more logical code flow and to take into 
   account the variety of damage types in order to keep the size of the function down.
   -Add the following vairables:
       damage
       damage2
       damage3


Sunday, 15

Hostile

   -Added the following functions:
       hSetup
   -Removed all functions having to do with weapon and ship setup to those respective classes

battleProc

   -Added the following functions:
       hTSetup
       hTInit
   -Did a lot of work on several functions:
       initHR1- this function now just calls specific setup functions from the respective classes 
       along with passing the pertinent code value so those classes can do the hard work.  Removed all
       “set” code from this function into other functions in the correct classes.
       battleLoop- Removed any variable declarations and put them in the header file and started 
       writing the shell for the b. loop. 
       battleProc- I was able to remove 90% of the variable initializations from the contructor due 
       to changes in initHR1.
   -Added the following variables:
       hTNumber
       bEnd
       pGOver
       pWin
       hostiles

Player

   -Added the following functions:
       gameOver
       getCELvl

Ship

   -Added the following function:
       sSetup
   -Moved weapon arrays to public scope so other classes can access them and the functions therein

Weapon

   -Added the following function to Laser:
       wSetup


Monday, 17

battleProc

   -Added several new variables:
       turrets
       iTurrets
       bombs
       iBombs
   -Changed the battleLoop function to include two new bool overrides, ship and planet.  This is to 
   facilitate if the battle is a ship to ship battle or a ship to planet battle.
   -Modified the hDCalc function to actually compute the damage for hostile team, it had been doing 
   player.  Setup for loop to find only the target to apply damage to as well as pass the name 
   through to damageType if special damage has to be applied.
   -Finished coding the initHR1 function.  It now contains all of the code to setup all possible 
   hostile team ships except for newer weapon mounts (rail and heavy).
   -Moved the findTarget call in both pDCalc and hDCalc to the top of the function
   -Fixed some left over ‘d’ variables from the change of ‘d’ to damage2 in both pDCalc and hDCalc

Player

   -Fixed some left over ‘d’ variables from the takeDamage functions from the change from ‘d’ to 
   damage2.

Ship

   -Renamed the getLHardpoints function to getLHP
   -Added the following functions:
       getMTP
       getBH
   -Fixed typo in the implementation declaration of isDestroyed
   -Added the following variables:
       data
       sXC
       sRC
       sDiC
       sDC
       sLC
       sUC
       sPC
   -Added in/edited code for sSetup function

Weapon

   -Removed the following functions:
       setWDRange
       setWAcc
       setWName
       setWDtype
       setWTLevel
       setWType
       setWASpeed- commented
   -Merged all of the above functions into wSetup function
   -Moved wSetup function from Laser class into Weapon class
   -Added the following variable to the class:
       data
   -Changed the Bomb class setWeight function so that it will instead call the Weight search 
   dataSystem function then set the weight


Wednesday, 18

menuProc

   -Added the following functions and all related code:
       pBStatus
       hBStatusA
       hBStatusB
   -Moved int i global define from implementation file to header file as a private variable

Ship

   -Added the following function and related code:
       getSDTimer


Thursday, 19

Project Wide

   -Changed all references to menuProc to msgProc to reflect the class rename

Player

   -Added the following functions:
       pAttack
   -Added the following variables:
       sCode
       wCode
   -Altered the player creation functions to make use of the new ship functions added in earlier in 
   the week.  This also reduced the code linage total by a large amount.  Each of the four functions 
   had 45+ lines of code replaced by two.  I also removed the menu check and other iosystem related 
   code and moved it to msgProc.  Those functions now return the player’s chosen value with the check 
   happening on that side instead of player.  This also helped reduce the number of lines used.

msgProc (formerly menuProc)

   -Renamed the class to better reflect the purpose of the class.
   -Nearly all of the menu functions have been changed at this point to the new method where each 
   menu is self-contained in this class.  All menu item picking and value checking happens here then 
   the chosen value is returned to the calling function for further use.
   -Added the following function:
       getMsg
   -Added the following variables:
       pChoice

battleProc

   -Added the following function:
       pRetreat
   -Modified endBattle function to take a bool called escaped to check if player won by defeating the 
   enemies or by running, the later triggers a no-rewards end battle screen.
   -Added the following variables:
       pContinue
       pAttacked
       escaped
       pNTarget
       hDCounter
   -Worked a great deal on the battle loop today.  Most of it has now been fleshed out for the ship 
   battles.  Planet battling is still at 0% completion.  Ship battles broken into two classes, single 
   ship battles and team battles.  Currently since player team is not used it is singular to player 
   vs. hostile team.  This will change once wing men are implemented.  There is still a lot of work 
   to do on various constraints, setting up the weapons firing selections, and whatnot.

Hostile

   -Added the following functions:
       getRace
       getDispo
   -Changed the constructors to take advantage of the new ship initialization method; replaced a 
   total of 68 code lines with 20 lines total (including function declarations).
   -Uncommented get resource functions.

Ship

   -Added hostile bool to ship setup function so that resource setting for hostile ships could be 
   randomized while player resource values would not.

Main

   -Added class reference for msgProc


June

Tuesday, 12

MsgProc

   -Renamed mSSMenu# to mSMMenu#
   -Added station market menu 1


Wednesday, 13

MsgProc

   -Added station market menu 2

Station

   -Added station menu loop
   -Added boolean variable sLeave
   -Added function sMMenu


Thursday, 14

MsgProc

   -Added ship classification menu
   -Added variables:
       dLastValue, mCode2
   
   -Added market classification menu
   -Fixed issue that could have leaf to a menu choice bug in weapons market menu
   -Renamed mSSMenu functions to mSMMenu to reflect header name change
   -Removed cInvalid function declaration and code; no longer needed
   -Added MsgDB array that will contain heavily used messages to cut down on use of code
   -Added mRMessage function and code to access the MsgDB array to get messages

Station

   -Added sMMenu function code
   -Began work on code for menu loop


Tuesday, 19

Station

   -Added cCode2 for passing ship classification
   -Added sWMLoop, sSMLoop, and sMMLoop functions
   -Added the following boolean variables:
       sWMenu, sSMenu, sMDMenu


Wednesday, 20

MsgProc

   -Added functions mSMMenu8 and 9
   -Removed all passed class references in function calls in favor of hard coding refs into implementation file for cleanliness

Station

   -Added functions sMPurchase and sMBuy
   -Renamed cCode2 and iCode2 to cCode and iCode respectively
   -Removed all passed class references in function calls in favor of hard coding refs into implementation file for cleanliness
   -Started coding sMPurchase and sMWLoop
   -Fixed issue that would have caused menu loops to re-loop on same menu choices because player would not be asked to re-enter a menu choice

DataSystem

   -Removed all xCode2 = xCode -1; statements from data grab functions.  Replaced with a [xCode-1] array return to cut down on excess code; removed 45 lines of code.
   -Added class element to weapons database to simplify market process
   -Added getWClass and doesCMatch functions
   -Altered weapon get functions to reflect new matrix element
   -Found problem with get weapon codes where Xarn cost was not being returned, fixed it by adding in the function to do so and altered the remaining functions for correctly returning array elements to function call


Thursday, 21

MsgProc

   -Added boolean variable mContinue
   -Worked on laser weapon menu loop

Station

   -Added getClass function
   -Added variable cCode2


Friday, 22

Station

   -Removed getClass, forgot this was already implemented in dataSystem

DataSystem

   -Added getWDesc function


Thursday, 28

MsgProc

   -Added iType2 for specific item delineation
   -Worked on item information screen

Station

   -Added iType2 for specific item delineation

DataSystem

   -Started the process of adding data basting to all data gets to reduce code that should not be used in other classes
   -Added the following variables for data casting:
       data, data2


August

Friday, 17

Player

   -Added resource set functions for each resource for related functions and code for those functions.

Station

   -Started working on the sMPurchase function, added resource checks for weapons; if the checks are true required resources will be removed.


Monday, 20

DataSystem

   -Converted rest of get function into int returns with data casting happening internally.  Some functions remain string returns but only for those data that are string variables.  Total of 46 functions changed.

MsgProc

   -Finished coding weapon section of item information page included resource checks.
   -Added bool variable valid for valid input check on player buying weapon.  This part explicitly requires valid input, no defaulting, because it can drastically affect the players game due to removed resources.
   -Added new message to the message database for non-defaulting invalid menu choice.

Ship

   -Removed any data casting code.  Hostile resource costs also uncasted.  Removed a total of 89 lines of code.

Station

   -Removed any and all in-class variable function passes, they are not needed since these functions can already access the variable.
   -Completed the first half of the weapon purchase function including resource removal from player.  The next section will have to do with player station storage/installing bought item.

Weapon

   -Removed any code previously required for casting.  Removed 56 lines of code.


Thursday, 23

DataSystem

   -Fixed a mistake I made earlier this month when I changed the getWClass function to an int.  Changed it back to a string function and removed the data conversion code.
   -Began adding weapon classes to the weaponDB matrix.

MsgProc

   -Added two new messages to msgDB array.
   -Modified most functions in this class.  Original naming convention was m for message then the name of the calling class as a capital and then the rest of the function name (IE: mGSMenu for menu game start menu).  I have changed this so that the lower case letter is the letter for the calling class instead of ‘m’ (IE: gSMenu fort game start menu).
   -Renamed gSMenu to gTMenu.
   -Added new function sISIMenu for item installation or storage choices. 

Station

   -Added new function sISItem for processing item installation and storage checks.

Player

   -Added three new variables dealing with station storage space*:
       pCSSSpace (currently used storage space)
       pMSSSpace (max usable storage space)
       pSSSlots (number of station storage slots)
   -Added a vector to store items in the players station inventory for later use.

*Click here for more information on the storage system.


Note: Here after changes will be cataloged by class instead of date.


October

Message Proc

   -Stated adding in cargo compartment buy menu (10/4).
   -Finished the sBISMenu function code (10/5).
   -Finished sISItem function code (10/9).
   -Added a few things to the sBISMenu function to fix a bug that would have presented itself later on (10/9).
   -Finished buy inventory space/slots menu functions (10/14).


Player

   -Moved inventory stuff over to station where it belongs.  Will also be adding it to ship later on (10/1).
   -Modified all of the set functions for resources.  Added an operation parameter to tell if the value should be added, subtracted, or just a simple set (10/14).


Ship

   -Added new function iWeapon to install weapons if player so chooses to, no code yet (10/1).
   -Changed iWeapon from void to Boolean to handle the issue of there being no open weapon hardpoints to install a weapon to (10/21).
   -Added code for the iWeapon function (10/21).


Station

   -Created some storage related functions for storing items and adding space.  Constructor now initializes the sInv vector (10/1).
   -Moved all storage variables from Player to Station (10/1).
   -Split the class into to smaller classes, like what I did with planet.  Station descriptive elements kept in station.  Menu calls and other things that operate on the station class have been moved to stationProc (10/4).
   -Moved the sInv vector, sCSSpace, sMSSpace, sISlots, bDASlot, bDASpace variables to this class from stationProc (10/4).
   -Moved functions getISItem, addISpace, addISlot, getISize to this class from stationProc (10/4).
   -Changed second constructor into a function for setting up cStations vector (10/4).
   -Moved sSItem, sBISpace, and sBISlot back to stationProc due to a better fit with that class (10/5).
   -Added getCSSpace and getMSSpace functions (10/9).
   -Added an int parameter to getISItem in order to get a specific inventory vector element (10/9).
   -Removed getSISlot function, could not remember what it was for and was made obsolete by another function (10/23).
   -Added code for the addISpace, addISlot, and getISItem functions (10/23)


Station Processing

   -Added getStation function to obtain specific station instances from vector (10/4).
   -Added cStations vector to store created stations for use later on (10/4).
   -Modified the following functions to account for recent changes: sMenu, sMLoop, sWMLoop, sSMLoop, sMMLoop, sRepair, bClone, useClone, sShop, sBar, sBOffice, sEAEOffice, and sMPurchase (10/4).
   -Fixed typo in function sEAEOffice, should have been sEAFOffice where ‘F’ is Field (10/4).
   -Moved sSItem, sBISpace, and sBISlot back to this class since they operate on values contained in the Station class (10/5).
   -Finished out the code for sBISlot (10/5).
   -Added some required reference passes to various functions and modified function calls in certain classes to use those reference passes (10/5).
   -Added Station and msgProc reference passes to sSItem (10/9).
   -Changed some lines in sSItem to call the functions added today to Station (10/9).
   -Finished the buy inventory space and slot functions (10/14).
   -Removed any reference passes for msgProc.  MsgProc does not store any information needed elsewhere so no passes of instances required (10/14).
   -Added bDone bool variable for use with a function (10/23).
   -Changed sSItem a bit by adding a while loop and removing the condition statement from the for loop (10/23).


Weapon

   -Added iWeapon functions and code to all of the weapon classes (10/23).


December

DataSystem

   -Added station names array (12/26).
   -Changed mission time limit to days instead of miliseconds and update ‘The Wolf’ mission (12/28).


MsgProc

   -Removed stationProc reference from the class, it was not needed and highlighted a serious issue with another function of this class (12/28).
   -Added six new messages to the msgDB (12/28).
   -Modified sBISPMenu to not need the stationProc reference and also in response to changes to the sBISpace  function in stationProc (12/28).


Player

   -Added pMissions vector for tracking what missions the player is on and other mission related stats (12/28).
   -Added addMission, removeMission, updateMission, getMission, and getAMissions functions for mission handling for the player class (12/28).
   -Removed remnant inventory code from the player class that I missed earlier (12/28).


StationProc

   -Added createStation function (12/26).
   -Began coding sRepair function (12/16).
   -Added csPos int for tracking station position in vector for updating the vector element after player leaves station (12/26).
   -Added sDepart function (12/26).
   -Modified the sMenu function a little bit for more logical processing (12/26).
   -Added code for sDepart function (12/28).
   -Added stat reference to sMenu call in createStation (12/28).
   -Fixed some issues with sMenu (12/28).
   -Changed several areas where messages were printed into mRMessage calls (12/28).
   -Fixed a major problem with sBISpace.  It did not have any execution path for when the player chose to buy or not buy inventory slots if there was not enough space.  Added those and changed the way the entire function executes (12/28).
   -Added modifications to sSItem to account for changes to sBISpace, much of the function had to be changed (12/28).



2013

January

DataSystem

   -Added the following functions: GetMName, getMDesc, getMType, getMDur, getMDiff, getMSector, getMSystem, getMCBEReq, getMSCReq, getMMWReq, getMTName, getMTSClass, getBounty, getMXR, getMRR, getMDiR, getMDR, getMLR, getMPlR, getMUR, getMPR, getMNWR, getMEXPR, getMIR (1/1).
   -Added new fields to missionDB matrix, formerly known as missions array.  Added an exp and item reward field.  Changed numbered fields with “Null” in them to -1, only text fields will use Null (1/1).
   -Added code for the list of functions above (1/1).


Mission

   -Added new class called Mission to store mission data.  Will be used in instancing with pMissions vector to store each mission individually.  Only basic class information at the moment but will be fleshed out later on (12/28).
   -Added the following functions: getRewards, getBMInfo, getCMInfo, GetMName, getMDesc, getMType, getMDur, getMDiff, getMSector, getMSystem, getMCBEReq, getMSCReq, getMMWReq, getMTName, getMTSClass, getBounty, getMXR, getMRR, getMDiR, getMDR, getMLR, getMPlR, getMUR, getMPR, getMNWR, getMEXPR, getMIR (1/1).
   -Added code for all of the functions listed above (1/1).


MsgProc

   -Added mInfo function and the code required to obtain mission information through a pointer (1/1).


Player

   -Added setCEXP function and code for it (1/1).
   -Added completeMission function and some of the code for it (1/1).


February

BattleProc

   -Began rewriting the battle loop.  Changing focus from two battle styles, single and team, into only team (2/8).
   -Added battleParticipants vector to store whom will be fighting and the attack order (2/8).
   -Added several new variables to the class to handle the battleParticipants process (2/8).
   -Added new class bParticipants to load the vector for storing name and ship movement initiative for determining the attack order (2/9).
   -Added several new variables for storage of the bParticipants class for bubble sorting of vector (2/9).
   -Added menu switch to player section of ship battle loop (2/11).
   -Added bFSolutions to handle different attack modes during battle (2/11).
   -Did some more work on bFSolutions by starting to add in the rest of the function and directing how the battle progresses from this function (2/16).
   -Added new bools for dealing with weapon selection and damage type detection (2/16).
   -Made some changed to fSolutions to take into account recent changes (2/27).
   -Added a member variable, wtype, to track and pass weapon types (2/28).


Damage

   -DamageType renamed to damage to better fit what the class will be used for (2/8).
   -Added two new functions bPAttack and bHAttack to deal with player and hostile damage (2/16).
   -Added setupWQueue to setup the weapon order for attacking (2/27).
   -Added cleanWQueue to clear the weapon vector before use (2/27).
   -Added several new member variables for dealing with damage: vDamage, mDamage, fDamage, tSDamage, sDamage (2/28).
   -Added dLow and dHigh member variables for tracking weapon damage ranges (2/28).
   -Added nSDamage, nADamage, and nHDamage for nanite damage calculation (2/28).
   -Added wdtype to track the type of weapon damage being applied (2/28).
   -Added sDNTurns and sDNANTurns to track turns left to apply napalm and nanite secondary damage (2/28).
   -Added function processWQueue to cycle through the weaponQueue and pull out weapon information (2/28).
   -Added processSDamage and processSecDamage to deal with secondary damages and special damages (2/28).
   -Added getSDNTurns and getSDNANTurns functions to find out if any turns for these turn-based secondary damage types are present (2/28).
   -Started to code bPAttack (2/28).
   -Added code for all new functions mentioned above (2/28).


DataSystem

   -Removed periods from end of weapon and ship descriptions for cleaner output (2/5).
   -Fixed problem with data not being correctly obtained from this class.  Some functions were not properly connected to the data they were supposed to be returning (2/5).


Debug

   -Created new class for debugging, will become logging class in future versions of the game.  This one is to be used for current development feature debugging purposes (2/4).


Hard Point

   -Added these new classes to accomplish weapon spreads as well as to better approximate how hardpoints work.  Hard Point is the super class while the others are sub classes for each weapon type (2/11).
   -Added new constructor to hardPoint super class in order to set weapon type and slot number on creation to limit amount of code used (2/13).


Hostile

   -Added new function to tell if hostile entity was actually hostile; needed for battle loop, it can be overridden (2/9).


MsgProc

   -Fixed a bug that would have caused a crash within sMMenu3 by not catching invalid input.  I also altered this function to actually work as it was supposed to; it was missing some things and had faulty code (2/5).
   -Added new message for choosing a target to attack (2/9).
   -Added new functions sWSSelection,sLWSelection, sMWSelection, sRWSelection, sHWSelection, sCWSpread, and sOWSpread.  All are related to functions required by weapon spread system (2/13).
   -Added new member variables totalWeapons, laser, missile, rail, heavy, and type for dealing with weapon selection (2/16).
   -Added new functions bCSpread, bCWSystem, and bCWeapon (2/16).
   -Changed bool valid to bValid and mContinue to bContinue (2/27).
   -Added a new menu for weapon selection during battle; sCWSystems (2/27).
   -Added two new messages to messageDB (2/28).


Player

   -Modified pAttack for new focus on how battles are conducted from the battleProc class (2/16).


Ship

   -Changed weapon hardpoint arrays into vectors using new hardpoint classes (2/11).
   -Added weapon spread vectors for determining how to fire equipped weapons (2/11).
   -Renames ship/shield disabled bools to conform to bool naming conventions and fixed references to them in code (2/11).
   -Added bContinue bool for use later on in weapon spread creation (2/11).
   -Added new hardpoint and weapon spread counters for weapon spread creation (2/11).
   -Added two new classes, cWSpread and getWSpreads for dealing with weapon spread creation and execution (2/11).
   -Added new variables for dealing with weapon spreads as well as player choices (2/13).
   -Added five more weapon spread vectors and a temporary vector to store spreads created by the player until they can be moved to the selected weapon spread (2/13).
   -Finished coding sWSpread function (2/13).
   -Added several new functions: setCWSpread, setCWeapon, setCWSystem, getCWeapon, getCWSystem, getLWeapons, getMWeapons, getRWeapons, getHWeapons (2/16).
   -Added a few new member variables to deal with battle weapon selection; sCWeapon, sCWSystem (2/16).
   -Removed get/setCWeapon and get/setcWSystem.  These were no longer needed as a different function was put into place for both solutions (2/27).
   -Added getSSize to obtain size of spread vector.  Also added getWVSize to get the size of the weapon vector (2/27).
   -Added two new vectors to hold weapon data for full attack, weapon systems and single weapon attacks (2/27).
   -Added placeholder as a means to hold hardPoint classes to return to other classes when needed (2/27).
   -Added clearWVector to clear the sWVector before use (2/27).
   -Added several new functions to return weapon types for specific slots on each hard point vector (2/28).


Weapon

   -Added new functions to each sub-class that would allow for pointers to each specific weapon to be created for use in the menu system (2/13).


April

Note: 4/30 changes encompass changed made between 4/15 and 4/30 that were not recorded on the day those changes occurred.

Project-Wide

   -Went through and removed any and all using namespace std from header files and replaced them with direct using statements for whatever was needed.  I also went through and replaced the hostile/player.h includes with entity.h (4/10).


BattleProc

   -Made a few small changes to the battle loop code dealing with the attack order (4/10).
   -Finished changing all of the cpp code to reflect that hTeam is now a vector and not an array (4/10).
   -Removed a few variable passes from functions that were not needed as the vriable was already defined in the header (4/30).
   -Added new member variable rkCode to store rank codes (4/30).
   -Added several other member variables dealing with response system and battle loop: bFight, hResponse, hDestroyed (4/30).
   -Did major work on the initHR1 function to get it working with the changes to Hostile (4/30).
   -Started work on initHR2, which prompted the work in the data system that was completed (4/30).
   -Made changes to code calling functions from damage to actually be correct due to the changes made therein (4/30).
   -Started work on the hail and response system where you can hail and interact with combatants; not to be confused with the tech merchant system (4/30).
   -Major work done on the battle loop.  Many new if statements and edits to existing ones made as I realized that many checks were missing and some of the logic was faulty or did not actually end the battle when it needed to be.  Also had to make changes due to the response system considerations (4/30).


Battle Entity

   -This class was created out of the bAttacker and bTarget classes in damage.  Instead of having two they are now created through instancing this class.  The class was also distilled to a very compact object with only the constructor and a function to delete the entity pointer when it was done being used (4/30). 


Damage

   -Added two new classes to the header to store attack and hostile ship objects.  This was done because of other changes that now allow for fairly simple access of the attack and defender ships without having to differentiate between the different entity types.  See Entity class changes for more info (4/10).
   -Started changing how the class executes.  Starts out by initializing the bAttacker and bTarget classes, then moves into dmgProcessing where each function is call in succession, consider it a linear non-looping execution path (4/10).
   -Changed the hostile and player team calls to bTarget or bAttacker as the function required, this way no identification must be made in this class only when they are passed from battleProc (4/10).
   -Started working on recoding other areas as necessary to account for changes (4/10).
   -Added other weapon types to the weapon queue processing code (4/10).
   -Made changes required due to moving the bAttacker and bTarget classes out of this one.  Nearly all functions had some edits due to this (4/30).
   -Removed the huge blocks of code used for EMP damage and instead made much smaller amounts of code in the processSDamage function where they should have been in the first place (4/30).
   -Added the rest of the damage bonus and turn defines (4/30).


DataSystem

   -Major changed to the cosmetic structure of the ship and weapon databases.  Partitioned them off by ship class as well as added ID range to the comment for easier determination for randoms or other related operations (4/30).
   -Changed the ship class requirement elements for all ships and weapons to what they should have been.  They had been all set to frigate until now as I had not gotten around to doing this (4/30).
   -Removed the following arrays: planet disposition, rank, race.  This have been made into enums for easier use with switches (4/30).
   -Added three new functions to get the enums based on passed int and return the related enumeration (4/30).
   -Fixed several weapon and ship arrays that were missing the ship class requirement element (4/30).


Entity

   -Created new class called Entity that will encapsulate any entity related class within the game.  Moved most of the code from Hostile and Player into this class and then made them sub-classes of this one (4/10).
   -Changed all of the variable names to fit with the new class both in the header and the implementation code (4/10).
   -Ship reference now called Ship.  Ambiguous name means that it can be accessed from any code pertaining to an entity class without having to detect if it is a player ship, hostile ship, or something else allowing for very efficient code (4/10).
   -Removed takeDamage from battleProc and moved it here.  Changed code so that damage filters through if/then/else statements based on value comparisons to health interfaces of the ship (4/30).
   -Changed takeS/A/HDamage to applyS/A/HDamage which just passes the damage value to the proper set function in Ship (4/30).


Hostile

   -Most of the code has been ripped out and replaced only with what is absolutely required for this class.  The other code was moved to Entity (4/10).
   -Removed second constructor and merged it with the hSetup function (4/30).
   -Heavily modified the hSetup function to obtain enums from data system for various information as well as placeholders for name generate based on race of crew (4/30).


MsgProc

   -Made changes here to account for the making of the entity class (4/10).
   -Modified the battle menu because I forgot to add the move ship option (4/30).


Player

   -Same as Hostile class.  Most of the code has been ripped out save for what is required for the player class (4/10).


Ship

   -Added the code for the other weapon damage type getting functions in the ship class.  Laser was the only one done prior to today (10/4).
   -Removed second constructor and merged it with the first (10/30).
   -Modified shield/armor/hull set functions to act like other such functions in Entity.   They now take a value and the operation to be carried out (4/30).
   -Changed all functions and member variables having to do with shield/armor/hull to float types (4/30).
   -Added some extra comments for certain private member variable declarations (4/30).