Changelog
Contents
2012
June
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
Friday, 22
Station
-Removed getClass, forgot this was already implemented in dataSystem
DataSystem
-Added getWDesc function
Thursday, 21
MsgProc
-Added boolean variable mContinue -Worked on laser weapon menu loop
Station
-Added getClass function -Added variable cCode2
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
Tuesday, 19
Station
-Added cCode2 for passing ship classification -Added sWMLoop, sSMLoop, and sMMLoop functions -Added the following boolean variables: sWMenu, sSMenu, sMDMenu
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
Wednesday, 13
MsgProc
-Added station market menu 2
Station
-Added station menu loop -Added boolean variable sLeave -Added function sMMenu
DataSystem
Tuesday, 12
MsgProc
-Renamed mSSMenu# to mSMMenu# -Added station market menu 1
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
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).
February
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.
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.
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, 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
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.
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
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
2011
December
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))
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).
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
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.
October
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.
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).
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
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.
August
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
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
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
July
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.
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
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.
May
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
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
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
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
April
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
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
Past Entries:
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.
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.