fork download
  1. #include <iostream>
  2. #include <iterator>
  3. #include <string>
  4. #include <fstream>
  5. #include <vector>
  6. #include <cstdlib>
  7. #include <ctime>
  8. #include <filesystem>
  9.  
  10. #include "GameCharacterCreatorHeader.h"
  11.  
  12. #include "EnemyCreatorHeader.h"
  13.  
  14. using namespace std;
  15.  
  16. //Prototypes
  17. string classSelector(int wNum);
  18.  
  19. void characterUploader();
  20.  
  21. int main()
  22. {
  23. int weaponNum;
  24. const int arraySize = 6;
  25.  
  26. string playerName;
  27. string classSelect;
  28. string weaponType;
  29. string fileContent;
  30. string skills[arraySize];
  31. //string testWeapon = "Hunter";
  32.  
  33. char userInput;
  34. char weaponChangeInput;
  35.  
  36. /*int compareNum;
  37.   int levelRandomizer;
  38.   int randResult;*/
  39.  
  40. vector<string> weapons;
  41.  
  42. ifstream playerWeapons;
  43.  
  44. ofstream playerCharacterFileOUT;
  45. ofstream playerCharacterMetaFileOUT;
  46.  
  47. //Give player option to create a character or upload a created one.
  48. cout << "Create a character (c) or upload a character (u): ";
  49. cin >> userInput;
  50.  
  51. //If player chooses to create a character
  52. if (userInput == 'c')
  53. {
  54. //Create and open text file for Character Profile
  55. playerCharacterFileOUT.open("PlayerCharacterProfile.txt");
  56.  
  57. /*Open the Character Class Weapons text file
  58.   and feed the file contents into the Weapons string vector */
  59. playerWeapons.open("CharacterWeapons.txt");
  60.  
  61. while (playerWeapons >> fileContent)
  62. {
  63. weapons.push_back(fileContent);
  64. }
  65.  
  66. //Display the vector and ask for player's input
  67. cout << "Select which weapon to use; Press Enter to begin: \n" << endl;
  68. cin.ignore().get();
  69.  
  70. for (int i = 0; i < weapons.size() / 2; ++i)
  71. {
  72. cout << i << " - " << weapons[i] << " | ";
  73. }
  74.  
  75. cout << "\n\n";
  76.  
  77. for (int i = weapons.size() / 2; i < weapons.size(); ++i)
  78. {
  79. cout << i << " - " << weapons[i] << " | ";
  80. }
  81.  
  82. cout << "\n\n";
  83. cin >> weaponNum;
  84.  
  85. /*Call functionand take the user's choice as argument to determine class
  86.   and return class to variable*/
  87. classSelect = classSelector(weaponNum);
  88.  
  89. //Player enter's the character's name
  90. cout << "\nEnter character name: " << endl;
  91. cin >> playerName;
  92.  
  93. //Create object for the GameCharacterCreator Class and pass arguments to object
  94. GameCharacterCreator playerCharacter(playerName, classSelect, weaponNum, 50, 50);
  95.  
  96. //Call Class functions to create character, choose race, and weapon
  97. playerCharacter.generate();
  98. playerCharacter.generateRace();
  99. playerCharacter.generateWeapons();
  100.  
  101. //Give player option to equip armor, headgear, leg gear, and tatoo
  102. cout << "\nEquip Torso Armor? Y/N" << endl;
  103. cin >> userInput;
  104.  
  105. if (tolower(userInput == 'y'))
  106. {
  107. playerCharacter.generateEquippedTorso();
  108. }
  109.  
  110. cout << "\nEquip HeadGear? Y/N" << endl;
  111. cin >> userInput;
  112.  
  113. if (tolower(userInput == 'y'))
  114. {
  115. playerCharacter.generateHeadGear();
  116. }
  117.  
  118. cout << "\nEquip Leg Armor? Y/N" << endl;
  119. cin >> userInput;
  120.  
  121. if (tolower(userInput == 'y'))
  122. {
  123. playerCharacter.generateLegArmor();
  124. }
  125.  
  126. /*If the selected character weapon isn't 1 (meaning Gauntlets),
  127.   give player option to equip bracer*/
  128. if (weaponNum != 1)
  129. {
  130. cout << "\nEquip Bracer? Y/N" << endl;
  131. cin >> userInput;
  132.  
  133. if (tolower(userInput == 'y'))
  134. {
  135. playerCharacter.generateArmBracer();
  136. }
  137. }
  138.  
  139. /*If the character weapon is Gauntlets,
  140.   omit ability to select Bracerand set the Arm Type to Gauntlets*/
  141. else
  142. {
  143. playerCharacter.setArmType("Gauntlets");
  144. }
  145.  
  146. cout << "\nEquip Sigil? Y/N" << endl;
  147. cin >> userInput;
  148.  
  149. if (tolower(userInput == 'y'))
  150. {
  151. playerCharacter.generateSigil();
  152. }
  153.  
  154. /*Output all character information to the player character profile text file
  155.   Including: Name, Level, Class, Job Level, Weapon, Armor, Bracer, leg armor archetypes, Race
  156.   Character stats, and currently equipped armor, tatoo, and weapons*/
  157.  
  158. playerCharacterFileOUT << "Character Info: " << endl;
  159.  
  160. playerCharacterFileOUT << "\n**********************" << endl;
  161.  
  162. playerCharacterFileOUT << "Name: " << playerCharacter.getName() << endl;
  163. playerCharacterFileOUT << "Level: " << playerCharacter.getLevel() << endl;
  164. playerCharacterFileOUT << "Class: " << playerCharacter.getCharacterClass() << endl;
  165. playerCharacterFileOUT << "Job Level: " << playerCharacter.getJobLevel() << endl;
  166. playerCharacterFileOUT << "\nCharacter Weapon: " << endl;
  167. playerCharacterFileOUT << "\n" << playerCharacter.getCharacterWeapon() << endl;
  168. playerCharacterFileOUT << "\nArmor Type: " << endl;
  169. playerCharacterFileOUT << "\n" << playerCharacter.getArmorType() << endl;
  170. playerCharacterFileOUT << "\nBracer Type: " << endl;
  171. playerCharacterFileOUT << "\n" << playerCharacter.getArmType() << endl;
  172. playerCharacterFileOUT << "\nLegArmor Type: " << endl;
  173. playerCharacterFileOUT << "\n" << playerCharacter.getLegType() << endl;
  174. playerCharacterFileOUT << "\nAncestry: " << endl;
  175. playerCharacterFileOUT << "\n" << playerCharacter.getCharacterRace() << endl;
  176.  
  177. if (playerCharacter.getCharacterRace() == "Feral")
  178. {
  179. playerCharacterFileOUT << " (Type: " << playerCharacter.getFeralType() << " )" << endl;
  180. }
  181.  
  182. playerCharacterFileOUT << "\n**********************\n" << endl;
  183.  
  184. playerCharacterFileOUT << "Character Stats: " << endl;
  185.  
  186. playerCharacterFileOUT << "\n**********************" << endl;
  187. playerCharacterFileOUT << "HP: " << playerCharacter.getCharacterHP() << endl;
  188. playerCharacterFileOUT << "SP: " << playerCharacter.getCharacterSP() << endl;
  189. playerCharacterFileOUT << "Strength: " << playerCharacter.getCharacterStr() << endl;
  190. playerCharacterFileOUT << "Agility: " << playerCharacter.getCharacterAgi() << endl;
  191. playerCharacterFileOUT << "Vitality: " << playerCharacter.getCharacterVit() << endl;
  192. playerCharacterFileOUT << "Dexterity: " << playerCharacter.getCharacterDex() << endl;
  193. playerCharacterFileOUT << "Intelligence: " << playerCharacter.getCharacterInt() << endl;
  194. playerCharacterFileOUT << "Luck: " << playerCharacter.getCharacterLuk() << endl;
  195.  
  196. playerCharacterFileOUT << "\n**********************" << endl;
  197.  
  198. playerCharacterFileOUT << "Character Equipment: " << endl;
  199.  
  200. playerCharacterFileOUT << "\n**********************" << endl;
  201. playerCharacterFileOUT << "\n" << "Equipped Weapon: " << playerCharacter.getEquippedWeapon() << endl;
  202. playerCharacterFileOUT << "\n" << "Equipped Weapon Level: " << playerCharacter.getWeaponLevel() << endl;
  203. playerCharacterFileOUT << "\n" << "Equipped Second Weapon: " << playerCharacter.getEquippedSecondWeapon() << endl;
  204. playerCharacterFileOUT << "\n" << "Equipped Second Weapon Level: " << playerCharacter.getSecondWeaponLevel() << endl;
  205. playerCharacterFileOUT << "\n" << "Equipped Armor: " << playerCharacter.getTorsoArmor() << endl;
  206. playerCharacterFileOUT << "\n" << "Equipped Armor Level: " << playerCharacter.getArmorLvl() << endl;
  207. playerCharacterFileOUT << "\n" << "Equipped Helm: " << playerCharacter.getHeadArmor() << endl;
  208. playerCharacterFileOUT << "\n" << "Equipped Helm Level: " << playerCharacter.getHeadArmorLvl() << endl;
  209. playerCharacterFileOUT << "\n" << "Equipped Bracer: " << playerCharacter.getArmBracer() << endl;
  210. playerCharacterFileOUT << "\n" << "Equipped Bracer Level: " << playerCharacter.getArmBracerLvl() << endl;
  211. playerCharacterFileOUT << "\n" << "Equipped Leg Armor: " << playerCharacter.getLegArmor() << endl;
  212. playerCharacterFileOUT << "\n" << "Equipped Leg Armor Level: " << playerCharacter.getLegArmorLvl() << endl;
  213. playerCharacterFileOUT << "\n" << "Equipped Sign: " << playerCharacter.getSigilEquipped() << endl;
  214. playerCharacterFileOUT << "\n" << "Equipped Sign Level: " << playerCharacter.getLegArmorLvl() << endl;
  215. playerCharacterFileOUT << "\n**********************\n" << endl;
  216.  
  217. playerCharacterFileOUT << "Character Body: " << endl;
  218. playerCharacterFileOUT << "\n**********************\n" << endl;
  219. playerCharacterFileOUT << "\n" << "Equipped Right Weapon Arm: " << playerCharacter.getRightWeaponArmEquipped() << endl;
  220. playerCharacterFileOUT << "\n" << "Equipped Left Weapon Arm: " << playerCharacter.getLeftWeaponArmEquipped() << endl;
  221. playerCharacterFileOUT << "\n" << "Equipped Torso Armor: " << playerCharacter.getTorsoArmor() << endl;
  222. playerCharacterFileOUT << "\n" << "Equipped Leg Armor: " << playerCharacter.getLegArmor() << endl;
  223. playerCharacterFileOUT << "\n" << "Equipped HeadGear: " << playerCharacter.getHeadArmor() << endl;
  224. playerCharacterFileOUT << "\n" << "Equipped Sign: " << playerCharacter.getSigilEquipped() << endl;
  225. playerCharacterFileOUT << "\n" << "Equipped Bracer: " << playerCharacter.getArmBracer() << endl;
  226. playerCharacterFileOUT << "\n**********************\n" << endl;
  227.  
  228. cout << endl;
  229.  
  230. //Close text files
  231. playerCharacterFileOUT.close();
  232. playerWeapons.close();
  233.  
  234. //Give player the option to elevate to next class associated with their current class
  235. cout << "Change Class? N/Y" << endl;
  236. cin >> userInput;
  237.  
  238. cout << endl;
  239.  
  240. /*If player wishes to elevate to next class,
  241.   call class function to display next classes to elevate to.*/
  242. if (tolower(userInput) == 'y')
  243. {
  244. playerCharacter.characterClassChanger();
  245.  
  246. //Blade Dancer and Gladiator are a part of the Warrior class tree
  247. if (playerCharacter.getCharacterClass() == "BladeDancer")
  248. {
  249. //Blade Dancer is a Dual-Wielder, automatically change weapons
  250. cout << "\nChange Weapons: " << endl;
  251.  
  252. playerCharacter.generateWeapons();
  253. }
  254.  
  255. /*Changing to Gladiator changes weapon class to Spear from Sword
  256.   Automatically trigger weapon change*/
  257. else if (playerCharacter.getCharacterClass() == "Gladiator")
  258. {
  259. cout << "\n Change Weapon Class to from Sword to Spear? Y/N" << endl;
  260. cin >> weaponChangeInput;
  261.  
  262. if (tolower(weaponChangeInput == 'y'))
  263. {
  264. playerCharacter.setCharacterWeapon("Spear");
  265. playerCharacter.generateWeapons();
  266. }
  267. }
  268.  
  269. /*Shinobi elevates from Renegade and can continue to Dual-Wield Daggers
  270.   or switch to Solo-Wield with Fuma Shurikens*/
  271. if (playerCharacter.getCharacterClass() == "Shinobi")
  272. {
  273. cout << "Change Weapon Class from Daggers to Fuma Shuriken? Y/N" << endl;
  274. cin >> weaponChangeInput;
  275.  
  276. if (tolower(weaponChangeInput == 'y'))
  277. {
  278. playerCharacter.setCharacterWeapon("FumaShuriken");
  279. playerCharacter.generateWeapons();
  280. }
  281. }
  282.  
  283. else if (playerCharacter.getCharacterClass() == "Shinobi" && weaponChangeInput == 'n')
  284. {
  285. cout << "\nChange Weapons? Y/N" << endl;
  286. cin >> userInput;
  287.  
  288. if (tolower(userInput == 'y'))
  289. {
  290. playerCharacter.generateWeapons();
  291. }
  292. }
  293.  
  294. /*Knight elevates from Guardian and give player option to change from a Sword and Shield to a GreatSword
  295.   And change weapons if chosen to do so*/
  296. if (playerCharacter.getCharacterClass() == "Knight" && playerCharacter.getCharacterWeapon() == "SwordAndShield")
  297. {
  298. cout << "Change Weapon Class from SwordAndShield to GreatSword? Y / N" << endl;
  299. cin >> weaponChangeInput;
  300.  
  301. if (tolower(weaponChangeInput == 'y'))
  302. {
  303. playerCharacter.setCharacterWeapon("GreatSword");
  304. playerCharacter.generateWeapons();
  305. }
  306. }
  307.  
  308. /*Knight elevates from Guardian and give player option to change from a GreatSword to Sword and Shield
  309.   And change weapons if chosen to do so*/
  310. else if (playerCharacter.getCharacterClass() == "Knight" && playerCharacter.getCharacterWeapon() == "GreatSword")
  311. {
  312. cout << "Change Weapon Class from GreatSword to SwordAndShield? Y / N" << endl;
  313. cin >> weaponChangeInput;
  314.  
  315. if (tolower(weaponChangeInput == 'y'))
  316. {
  317. playerCharacter.setCharacterWeapon("SwordAndShield");
  318. playerCharacter.generateWeapons();
  319. }
  320. }
  321.  
  322. /*Templar elevates from Guardian and give player option to change from a Sword and Shield to a GreatSword
  323.   And change weapons if chosen to do so*/
  324. if (playerCharacter.getCharacterClass() == "Templar" && playerCharacter.getCharacterWeapon() == "SwordAndShield")
  325. {
  326. cout << "Change Weapon Class from SwordAndShield to GreatSword? Y / N" << endl;
  327. cin >> weaponChangeInput;
  328.  
  329. if (tolower(weaponChangeInput == 'y'))
  330. {
  331. playerCharacter.setCharacterWeapon("GreatSword");
  332. playerCharacter.generateWeapons();
  333. }
  334. }
  335.  
  336. /*Templar elevates from Guardian and give player option to change from a GreatSword to Sword and Shield
  337.   And change weapons if chosen to do so*/
  338. else if (playerCharacter.getCharacterClass() == "Templar" && playerCharacter.getCharacterWeapon() == "GreatSword")
  339. {
  340. cout << "Change Weapon Class from GreatSword to SwordAndShield? Y / N" << endl;
  341. cin >> weaponChangeInput;
  342.  
  343. if (tolower(weaponChangeInput == 'y'))
  344. {
  345. playerCharacter.setCharacterWeapon("SwordAndShield");
  346. playerCharacter.generateWeapons();
  347. }
  348. }
  349.  
  350. /*ShotMeister elevates from Guardian and give player option to change from a CrossBow to Sword and Shield
  351.   And change weapons if chosen to do so*/
  352. if (playerCharacter.getCharacterClass() == "ShotMeister" && playerCharacter.getCharacterWeapon() == "CrossBow")
  353. {
  354. cout << "Change Weapon Class from CrossBow to BowAndArrow? Y / N" << endl;
  355. cin >> weaponChangeInput;
  356.  
  357. if (tolower(weaponChangeInput == 'y'))
  358. {
  359. playerCharacter.setCharacterWeapon("BowAndArrow");
  360. playerCharacter.generateWeapons();
  361. }
  362. }
  363.  
  364. /*ShotMeister elevates from Guardian and give player option to change from a Bow and Arrow to CrossBow
  365.   And change weapons if chosen to do so*/
  366. else if (playerCharacter.getCharacterClass() == "ShotMeister" && playerCharacter.getCharacterWeapon() == "BowAndArrow")
  367. {
  368. cout << "Change Weapon Class from BowAndArrow to CrossBow? Y / N" << endl;
  369. cin >> weaponChangeInput;
  370.  
  371. if (tolower(weaponChangeInput == 'y'))
  372. {
  373. playerCharacter.setCharacterWeapon("CrossBow");
  374. playerCharacter.generateWeapons();
  375. }
  376. }
  377.  
  378. /*BeastKaiser elevates from Hunter and give player option to change from a CrossBow to Sword and Shield
  379.   And change weapons if chosen to do so*/
  380. if (playerCharacter.getCharacterClass() == "BeastKaiser" && playerCharacter.getCharacterWeapon() == "CrossBow")
  381. {
  382. cout << "Change Weapon Class from CrossBow to BowAndArrow? Y / N" << endl;
  383. cin >> weaponChangeInput;
  384.  
  385. if (tolower(weaponChangeInput == 'y'))
  386. {
  387. playerCharacter.setCharacterWeapon("BowAndArrow");
  388. playerCharacter.generateWeapons();
  389. }
  390. }
  391.  
  392. /*BeastKaiser elevates from Hunter and give player option to change from a Bow and Arrow to CrossBow
  393.   And change weapons if chosen to do so*/
  394. else if (playerCharacter.getCharacterClass() == "BeastKaiser" && playerCharacter.getCharacterWeapon() == "BowAndArrow")
  395. {
  396. cout << "Change Weapon Class from BowAndArrow to CrossBow? Y / N" << endl;
  397. cin >> weaponChangeInput;
  398.  
  399. if (tolower(weaponChangeInput == 'y'))
  400. {
  401. playerCharacter.setCharacterWeapon("CrossBow");
  402. playerCharacter.generateWeapons();
  403. }
  404. }
  405.  
  406. /*If the chosen next class isn't any of the classes listed,
  407.   simply give option to change weapons*/
  408. else if (playerCharacter.getCharacterClass() != "Shinobi" &&
  409. playerCharacter.getCharacterClass() != "Knight" &&
  410. playerCharacter.getCharacterClass() != "Templar" &&
  411. playerCharacter.getCharacterClass() != "ShotMeister" &&
  412. playerCharacter.getCharacterClass() != "BeastKaiser" &&
  413. playerCharacter.getCharacterClass() != "BladeDancer" &&
  414. playerCharacter.getCharacterClass() != "Gladiator")
  415. {
  416. cout << "\nChange Weapons? Y/N" << endl;
  417. cin >> userInput;
  418.  
  419. if (tolower(userInput == 'y'))
  420. {
  421. playerCharacter.generateWeapons();
  422. }
  423. }
  424.  
  425. //Give option to change armor, Headgear, etc
  426. cout << "\nChange Torso Armor? Y/N" << endl;
  427. cin >> userInput;
  428.  
  429. if (tolower(userInput == 'y'))
  430. {
  431. playerCharacter.generateEquippedTorso();
  432. }
  433.  
  434. cout << "\nChange HeadGear? Y/N" << endl;
  435. cin >> userInput;
  436.  
  437. if (tolower(userInput == 'y'))
  438. {
  439. playerCharacter.generateHeadGear();
  440. }
  441.  
  442. cout << "\nChange Bracer? Y/N" << endl;
  443. cin >> userInput;
  444.  
  445. if (tolower(userInput == 'y'))
  446. {
  447. playerCharacter.generateArmBracer();
  448. }
  449.  
  450. cout << "\nChange Leg Armor? Y/N" << endl;
  451. cin >> userInput;
  452.  
  453. if (tolower(userInput == 'y'))
  454. {
  455. playerCharacter.generateLegArmor();
  456. }
  457.  
  458. cout << "\nChange Sigil? Y/N" << endl;
  459. cin >> userInput;
  460.  
  461. if (tolower(userInput == 'y'))
  462. {
  463. playerCharacter.generateSigil();
  464. }
  465.  
  466. /*Delete original Player Character Profile text file and create new one
  467.   and output all character info into it*/
  468. remove("PlayerCharacterProfile.txt");
  469.  
  470. playerCharacterFileOUT.open("PlayerCharacterProfile.txt");
  471.  
  472. playerCharacterFileOUT << "Character Info: " << endl;
  473.  
  474. playerCharacterFileOUT << "\n**********************" << endl;
  475.  
  476. playerCharacterFileOUT << "Name: " << playerCharacter.getName() << endl;
  477. playerCharacterFileOUT << "Level: " << playerCharacter.getLevel() << endl;
  478. playerCharacterFileOUT << "Class: " << playerCharacter.getCharacterClass() << endl;
  479. playerCharacterFileOUT << "Job Level: " << playerCharacter.getJobLevel() << endl;
  480. playerCharacterFileOUT << "\nCharacter Weapon: " << endl;
  481. playerCharacterFileOUT << "\n" << playerCharacter.getCharacterWeapon() << endl;
  482. playerCharacterFileOUT << "\nArmor Type: " << endl;
  483. playerCharacterFileOUT << "\n" << playerCharacter.getArmorType() << endl;
  484. playerCharacterFileOUT << "\nBracer Type: " << endl;
  485. playerCharacterFileOUT << "\n" << playerCharacter.getArmType() << endl;
  486. playerCharacterFileOUT << "\nLegArmor Type: " << endl;
  487. playerCharacterFileOUT << "\n" << playerCharacter.getLegType() << endl;
  488. playerCharacterFileOUT << "\nAncestry: " << endl;
  489. playerCharacterFileOUT << "\n" << playerCharacter.getCharacterRace() << endl;
  490.  
  491. if (playerCharacter.getCharacterRace() == "Feral")
  492. {
  493. playerCharacterFileOUT << " (Type: " << playerCharacter.getFeralType() << " )" << endl;
  494. }
  495.  
  496. playerCharacterFileOUT << "\n**********************\n" << endl;
  497.  
  498. playerCharacterFileOUT << "Character Stats: " << endl;
  499.  
  500. playerCharacterFileOUT << "\n**********************" << endl;
  501. playerCharacterFileOUT << "HP: " << playerCharacter.getCharacterHP() << endl;
  502. playerCharacterFileOUT << "SP: " << playerCharacter.getCharacterSP() << endl;
  503. playerCharacterFileOUT << "Strength: " << playerCharacter.getCharacterStr() << endl;
  504. playerCharacterFileOUT << "Agility: " << playerCharacter.getCharacterAgi() << endl;
  505. playerCharacterFileOUT << "Vitality: " << playerCharacter.getCharacterVit() << endl;
  506. playerCharacterFileOUT << "Dexterity: " << playerCharacter.getCharacterDex() << endl;
  507. playerCharacterFileOUT << "Intelligence: " << playerCharacter.getCharacterInt() << endl;
  508. playerCharacterFileOUT << "Luck: " << playerCharacter.getCharacterLuk() << endl;
  509.  
  510. playerCharacterFileOUT << "\n**********************" << endl;
  511.  
  512. playerCharacterFileOUT << "Character Equipment: " << endl;
  513.  
  514. playerCharacterFileOUT << "\n**********************" << endl;
  515.  
  516. playerCharacterFileOUT << "\n" << "Equipped Weapon: " << playerCharacter.getEquippedWeapon() << endl;
  517. playerCharacterFileOUT << "\n" << "Equipped Weapon Level: " << playerCharacter.getWeaponLevel() << endl;
  518. playerCharacterFileOUT << "\n" << "Equipped Second Weapon: " << playerCharacter.getEquippedSecondWeapon() << endl;
  519. playerCharacterFileOUT << "\n" << "Equipped Second Weapon Level: " << playerCharacter.getSecondWeaponLevel() << endl;
  520. playerCharacterFileOUT << "\n" << "Equipped Armor: " << playerCharacter.getTorsoArmor() << endl;
  521. playerCharacterFileOUT << "\n" << "Equipped Armor Level: " << playerCharacter.getArmorLvl() << endl;
  522. playerCharacterFileOUT << "\n" << "Equipped Helm: " << playerCharacter.getHeadArmor() << endl;
  523. playerCharacterFileOUT << "\n" << "Equipped Helm Level: " << playerCharacter.getHeadArmorLvl() << endl;
  524. playerCharacterFileOUT << "\n" << "Equipped Bracer: " << playerCharacter.getArmBracer() << endl;
  525. playerCharacterFileOUT << "\n" << "Equipped Bracer Level: " << playerCharacter.getArmBracerLvl() << endl;
  526. playerCharacterFileOUT << "\n" << "Equipped Leg Armor: " << playerCharacter.getLegArmor() << endl;
  527. playerCharacterFileOUT << "\n" << "Equipped Leg Armor Level: " << playerCharacter.getLegArmorLvl() << endl;
  528. playerCharacterFileOUT << "\n" << "Equipped Sign: " << playerCharacter.getSigilEquipped() << endl;
  529. playerCharacterFileOUT << "\n" << "Equipped Sign Level: " << playerCharacter.getSigilLvl() << endl;
  530. playerCharacterFileOUT << "\n**********************\n" << endl;
  531.  
  532. playerCharacterFileOUT << "Character Body: " << endl;
  533. playerCharacterFileOUT << "\n**********************\n" << endl;
  534. playerCharacterFileOUT << "\n" << "Equipped Right Weapon Arm: " << playerCharacter.getRightWeaponArmEquipped() << endl;
  535. playerCharacterFileOUT << "\n" << "Equipped Left Weapon Arm: " << playerCharacter.getLeftWeaponArmEquipped() << endl;
  536. playerCharacterFileOUT << "\n" << "Equipped Torso Armor: " << playerCharacter.getTorsoArmor() << endl;
  537. playerCharacterFileOUT << "\n" << "Equipped HeadGear: " << playerCharacter.getHeadArmor() << endl;
  538. playerCharacterFileOUT << "\n" << "Equipped Leg Armor: " << playerCharacter.getLegArmor() << endl;
  539. playerCharacterFileOUT << "\n" << "Equipped Sign: " << playerCharacter.getSigilEquipped() << endl;
  540. playerCharacterFileOUT << "\n" << "Equipped Bracer: " << playerCharacter.getArmBracer() << endl;
  541. playerCharacterFileOUT << "\n**********************\n" << endl;
  542.  
  543. playerCharacterFileOUT.close();
  544.  
  545. cout << "\nCharacter Created! " << endl;
  546.  
  547. playerCharacterMetaFileOUT.open("PlayerCharacterMetaFile.txt");
  548.  
  549. playerCharacterMetaFileOUT << playerCharacter.getName() << " ";
  550. playerCharacterMetaFileOUT << playerCharacter.getCharacterClass() << " ";
  551. playerCharacterMetaFileOUT << playerCharacter.getCharacterWeapon() << " ";
  552. playerCharacterMetaFileOUT << playerCharacter.getArmorType() << " ";
  553. playerCharacterMetaFileOUT << playerCharacter.getArmType() << " ";
  554. playerCharacterMetaFileOUT << playerCharacter.getLegType() << " ";
  555. playerCharacterMetaFileOUT << playerCharacter.getEquippedWeapon() << " ";
  556. playerCharacterMetaFileOUT << playerCharacter.getEquippedSecondWeapon() << " ";
  557. playerCharacterMetaFileOUT << playerCharacter.getTorsoArmor() << " ";
  558. playerCharacterMetaFileOUT << playerCharacter.getHeadArmor() << " ";
  559. playerCharacterMetaFileOUT << playerCharacter.getArmBracer() << " ";
  560. playerCharacterMetaFileOUT << playerCharacter.getLegArmor() << " ";
  561. playerCharacterMetaFileOUT << playerCharacter.getSigilEquipped() << " ";
  562. playerCharacterMetaFileOUT << playerCharacter.getCharacterRace() << " ";
  563.  
  564. if (playerCharacter.getCharacterRace() == "Feral")
  565. {
  566. playerCharacterMetaFileOUT << playerCharacter.getFeralType() << " ";
  567. }
  568.  
  569. playerCharacterMetaFileOUT << playerCharacter.getLevel() << " ";
  570. playerCharacterMetaFileOUT << playerCharacter.getJobLevel() << " ";
  571. playerCharacterMetaFileOUT << playerCharacter.getCharacterHP() << " ";
  572. playerCharacterMetaFileOUT << playerCharacter.getCharacterSP() << " ";
  573. playerCharacterMetaFileOUT << playerCharacter.getCharacterStr() << " ";
  574. playerCharacterMetaFileOUT << playerCharacter.getCharacterAgi() << " ";
  575. playerCharacterMetaFileOUT << playerCharacter.getCharacterVit() << " ";
  576. playerCharacterMetaFileOUT << playerCharacter.getCharacterInt() << " ";
  577. playerCharacterMetaFileOUT << playerCharacter.getCharacterDex() << " ";
  578. playerCharacterMetaFileOUT << playerCharacter.getCharacterLuk() << " ";
  579. playerCharacterMetaFileOUT << playerCharacter.getArmorLvl() << " ";
  580. playerCharacterMetaFileOUT << playerCharacter.getHeadArmorLvl() << " ";
  581. playerCharacterMetaFileOUT << playerCharacter.getArmBracerLvl() << " ";
  582. playerCharacterMetaFileOUT << playerCharacter.getLegArmorLvl() << " ";
  583. playerCharacterMetaFileOUT << playerCharacter.getWeaponLevel() << " ";
  584. playerCharacterMetaFileOUT << playerCharacter.getSecondWeaponLevel() << " ";
  585. playerCharacterMetaFileOUT << playerCharacter.getSigilLvl() << " ";
  586.  
  587. playerCharacterMetaFileOUT.close();
  588. }
  589.  
  590. //If player chooses to not elevate to next class, output all information to PC Metadata File
  591. else if (tolower(userInput) == 'n')
  592. {
  593. cout << "Character Created! " << endl;
  594.  
  595. playerCharacterMetaFileOUT.open("PlayerCharacterMetaFile.txt");
  596.  
  597. playerCharacterMetaFileOUT << playerCharacter.getName() << " ";
  598. playerCharacterMetaFileOUT << playerCharacter.getCharacterClass() << " ";
  599. playerCharacterMetaFileOUT << playerCharacter.getCharacterWeapon() << " ";
  600. playerCharacterMetaFileOUT << playerCharacter.getArmorType() << " ";
  601. playerCharacterMetaFileOUT << playerCharacter.getArmType() << " ";
  602. playerCharacterMetaFileOUT << playerCharacter.getLegType() << " ";
  603. playerCharacterMetaFileOUT << playerCharacter.getEquippedWeapon() << " ";
  604. playerCharacterMetaFileOUT << playerCharacter.getEquippedSecondWeapon() << " ";
  605. playerCharacterMetaFileOUT << playerCharacter.getTorsoArmor() << " ";
  606. playerCharacterMetaFileOUT << playerCharacter.getHeadArmor() << " ";
  607. playerCharacterMetaFileOUT << playerCharacter.getArmBracer() << " ";
  608. playerCharacterMetaFileOUT << playerCharacter.getLegArmor() << " ";
  609. playerCharacterMetaFileOUT << playerCharacter.getSigilEquipped() << " ";
  610. playerCharacterMetaFileOUT << playerCharacter.getCharacterRace() << " ";
  611.  
  612. if (playerCharacter.getCharacterRace() == "Feral")
  613. {
  614. playerCharacterMetaFileOUT << playerCharacter.getFeralType() << " ";
  615. }
  616.  
  617. playerCharacterMetaFileOUT << playerCharacter.getLevel() << " ";
  618. playerCharacterMetaFileOUT << playerCharacter.getJobLevel() << " ";
  619. playerCharacterMetaFileOUT << playerCharacter.getCharacterHP() << " ";
  620. playerCharacterMetaFileOUT << playerCharacter.getCharacterSP() << " ";
  621. playerCharacterMetaFileOUT << playerCharacter.getCharacterStr() << " ";
  622. playerCharacterMetaFileOUT << playerCharacter.getCharacterAgi() << " ";
  623. playerCharacterMetaFileOUT << playerCharacter.getCharacterVit() << " ";
  624. playerCharacterMetaFileOUT << playerCharacter.getCharacterInt() << " ";
  625. playerCharacterMetaFileOUT << playerCharacter.getCharacterDex() << " ";
  626. playerCharacterMetaFileOUT << playerCharacter.getCharacterLuk() << " ";
  627. playerCharacterMetaFileOUT << playerCharacter.getArmorLvl() << " ";
  628. playerCharacterMetaFileOUT << playerCharacter.getHeadArmorLvl() << " ";
  629. playerCharacterMetaFileOUT << playerCharacter.getArmBracerLvl() << " ";
  630. playerCharacterMetaFileOUT << playerCharacter.getLegArmorLvl() << " ";
  631. playerCharacterMetaFileOUT << playerCharacter.getWeaponLevel() << " ";
  632. playerCharacterMetaFileOUT << playerCharacter.getSecondWeaponLevel() << " ";
  633. playerCharacterMetaFileOUT << playerCharacter.getSigilLvl() << " ";
  634. playerCharacterMetaFileOUT.close();
  635. }
  636.  
  637. //Display class skills and also output to Profile text file
  638. if (playerCharacter.getPrevClass() == "Null")
  639. {
  640. playerCharacter.setClassSkills();
  641. playerCharacter.getClassSkills();
  642. }
  643.  
  644. if (playerCharacter.getCharacterClass() == "Gladiator")
  645. {
  646. playerCharacter.setSecondClassSkills();
  647. playerCharacter.getSecondClassSkills();
  648. }
  649.  
  650. else if (playerCharacter.getCharacterClass() == "BladeDancer")
  651. {
  652. playerCharacter.setSecondClassSkills();
  653. playerCharacter.getSecondClassSkills();
  654. }
  655.  
  656. else if (playerCharacter.getCharacterClass() == "Alchemist")
  657. {
  658. playerCharacter.setSecondClassSkills();
  659. playerCharacter.getSecondClassSkills();
  660. }
  661.  
  662. else if (playerCharacter.getCharacterClass() == "Engineer")
  663. {
  664. playerCharacter.setSecondClassSkills();
  665. playerCharacter.getSecondClassSkills();
  666. }
  667.  
  668. else if (playerCharacter.getCharacterClass() == "Monk")
  669. {
  670. playerCharacter.setSecondClassSkills();
  671. playerCharacter.getSecondClassSkills();
  672. }
  673.  
  674. else if (playerCharacter.getCharacterClass() == "Dominator")
  675. {
  676. playerCharacter.setSecondClassSkills();
  677. playerCharacter.getSecondClassSkills();
  678. }
  679.  
  680. else if (playerCharacter.getCharacterClass() == "Desperado")
  681. {
  682. playerCharacter.setSecondClassSkills();
  683. playerCharacter.getSecondClassSkills();
  684. }
  685.  
  686. else if (playerCharacter.getCharacterClass() == "Mercenary")
  687. {
  688. playerCharacter.setSecondClassSkills();
  689. playerCharacter.getSecondClassSkills();
  690. }
  691.  
  692. else if (playerCharacter.getCharacterClass() == "Shinobi")
  693. {
  694. playerCharacter.setSecondClassSkills();
  695. playerCharacter.getSecondClassSkills();
  696. }
  697.  
  698. else if (playerCharacter.getCharacterClass() == "Rebel")
  699. {
  700. playerCharacter.setSecondClassSkills();
  701. playerCharacter.getSecondClassSkills();
  702. }
  703.  
  704. else if (playerCharacter.getCharacterClass() == "Raider")
  705. {
  706. playerCharacter.setSecondClassSkills();
  707. playerCharacter.getSecondClassSkills();
  708. }
  709.  
  710. else if (playerCharacter.getCharacterClass() == "Savager")
  711. {
  712. playerCharacter.setSecondClassSkills();
  713. playerCharacter.getSecondClassSkills();
  714. }
  715.  
  716. else if (playerCharacter.getCharacterClass() == "Shaman")
  717. {
  718. playerCharacter.setSecondClassSkills();
  719. playerCharacter.getSecondClassSkills();
  720. }
  721.  
  722. else if (playerCharacter.getCharacterClass() == "SoulWielder")
  723. {
  724. playerCharacter.setSecondClassSkills();
  725. playerCharacter.getSecondClassSkills();
  726. }
  727.  
  728. else if (playerCharacter.getCharacterClass() == "BeastKaiser")
  729. {
  730. playerCharacter.setSecondClassSkills();
  731. playerCharacter.getSecondClassSkills();
  732. }
  733.  
  734. else if (playerCharacter.getCharacterClass() == "ShotMeister")
  735. {
  736. playerCharacter.setSecondClassSkills();
  737. playerCharacter.getSecondClassSkills();
  738. }
  739.  
  740. else if (playerCharacter.getCharacterClass() == "Knight")
  741. {
  742. playerCharacter.setSecondClassSkills();
  743. playerCharacter.getSecondClassSkills();
  744. }
  745.  
  746. else if (playerCharacter.getCharacterClass() == "Templar")
  747. {
  748. playerCharacter.setSecondClassSkills();
  749. playerCharacter.getSecondClassSkills();
  750. }
  751.  
  752. else if (playerCharacter.getCharacterClass() == "Occulter")
  753. {
  754. playerCharacter.setSecondClassSkills();
  755. playerCharacter.getSecondClassSkills();
  756. }
  757.  
  758. else if (playerCharacter.getCharacterClass() == "Sorcerer")
  759. {
  760. playerCharacter.setSecondClassSkills();
  761. playerCharacter.getSecondClassSkills();
  762. }
  763.  
  764. else if (playerCharacter.getCharacterClass() == "ShadowWalker")
  765. {
  766. playerCharacter.setSecondClassSkills();
  767. playerCharacter.getSecondClassSkills();
  768. }
  769.  
  770. else if (playerCharacter.getCharacterClass() == "Executioner")
  771. {
  772. playerCharacter.setSecondClassSkills();
  773. playerCharacter.getSecondClassSkills();
  774. }
  775. }
  776.  
  777. //If player chooses to upload created character, call function to upload from Metadata file
  778. else if (userInput == 'u')
  779. {
  780. characterUploader();
  781. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:10:10: fatal error: GameCharacterCreatorHeader.h: No such file or directory
 #include "GameCharacterCreatorHeader.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
stdout
Standard output is empty