CArtHandler.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. #include "CArtHandler.h"
  2. #include <fstream>
  3. #include <iostream>
  4. void CArtHandler::loadArtifacts()
  5. {
  6. std::ifstream inp("ARTRAITS.TXT", std::ios::in);
  7. std::string dump;
  8. for(int i=0; i<44; ++i)
  9. {
  10. inp>>dump;
  11. }
  12. inp.ignore();
  13. int numberlet = 0; //numer of artifact
  14. while(!inp.eof())
  15. {
  16. CArtifact nart;
  17. nart.number=numberlet++;
  18. char * read = new char[10000]; //here we'll have currently read character
  19. inp.getline(read, 10000);
  20. int eol=0; //end of looking
  21. std::string ss = std::string(read);
  22. for(int i=0; i<200; ++i)
  23. {
  24. if(ss[i]=='\t')
  25. {
  26. nart.name = ss.substr(0, i);
  27. eol=i+1;
  28. break;
  29. }
  30. }
  31. for(int i=eol; i<eol+200; ++i)
  32. {
  33. if(ss[i]=='\t')
  34. {
  35. nart.price = atoi(ss.substr(eol, i).c_str());
  36. eol=i+1;
  37. break;
  38. }
  39. }
  40. if(ss[eol]=='x')
  41. nart.spellBook = true;
  42. else
  43. nart.spellBook = false;
  44. eol+=2;
  45. if(ss[eol]=='x')
  46. nart.warMachine4 = true;
  47. else
  48. nart.warMachine4 = false;
  49. eol+=2;
  50. if(ss[eol]=='x')
  51. nart.warMachine3 = true;
  52. else
  53. nart.warMachine3 = false;
  54. eol+=2;
  55. if(ss[eol]=='x')
  56. nart.warMachine2 = true;
  57. else
  58. nart.warMachine2 = false;
  59. eol+=2;
  60. if(ss[eol]=='x')
  61. nart.warMachine1 = true;
  62. else
  63. nart.warMachine1 = false;
  64. eol+=2;
  65. if(ss[eol]=='x')
  66. nart.misc5 = true;
  67. else
  68. nart.misc5 = false;
  69. eol+=2;
  70. if(ss[eol]=='x')
  71. nart.misc4 = true;
  72. else
  73. nart.misc4 = false;
  74. eol+=2;
  75. if(ss[eol]=='x')
  76. nart.misc3 = true;
  77. else
  78. nart.misc3 = false;
  79. eol+=2;
  80. if(ss[eol]=='x')
  81. nart.misc2 = true;
  82. else
  83. nart.misc2 = false;
  84. eol+=2;
  85. if(ss[eol]=='x')
  86. nart.misc1 = true;
  87. else
  88. nart.misc1 = false;
  89. eol+=2;
  90. if(ss[eol]=='x')
  91. nart.feet = true;
  92. else
  93. nart.feet = false;
  94. eol+=2;
  95. if(ss[eol]=='x')
  96. nart.lRing = true;
  97. else
  98. nart.lRing = false;
  99. eol+=2;
  100. if(ss[eol]=='x')
  101. nart.rRing = true;
  102. else
  103. nart.rRing = false;
  104. eol+=2;
  105. if(ss[eol]=='x')
  106. nart.torso = true;
  107. else
  108. nart.torso = false;
  109. eol+=2;
  110. if(ss[eol]=='x')
  111. nart.lHand = true;
  112. else
  113. nart.lHand = false;
  114. eol+=2;
  115. if(ss[eol]=='x')
  116. nart.rHand = true;
  117. else
  118. nart.rHand = false;
  119. eol+=2;
  120. if(ss[eol]=='x')
  121. nart.neck = true;
  122. else
  123. nart.neck = false;
  124. eol+=2;
  125. if(ss[eol]=='x')
  126. nart.shoulders = true;
  127. else
  128. nart.shoulders = false;
  129. eol+=2;
  130. if(ss[eol]=='x')
  131. nart.head = true;
  132. else
  133. nart.head = false;
  134. eol+=2;
  135. switch(ss[eol])
  136. {
  137. case 'J':
  138. nart.aClass = EartClass::JartClass;
  139. break;
  140. case 'N':
  141. nart.aClass = EartClass::NartClass;
  142. break;
  143. case 'R':
  144. nart.aClass = EartClass::RartClass;
  145. break;
  146. case 'S':
  147. nart.aClass = EartClass::SartClass;
  148. break;
  149. case 'T':
  150. nart.aClass = EartClass::TartClass;
  151. break;
  152. }
  153. eol+=2;
  154. nart.description = ss.substr(eol, ss.size());
  155. inp.getline(read, 10000);
  156. inp.getline(read, 10000);
  157. ss = std::string(read);
  158. nart.desc2 = ss;
  159. }
  160. }