Guest User

Untitled

a guest
May 21st, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 6.99 KB | None | 0 0
  1. diff -up Cataclysm-clean/player.cpp Cataclysm-current/player.cpp
  2. --- Cataclysm-clean/player.cpp  2011-12-15 12:51:58.000000000 +0400
  3. +++ Cataclysm-current/player.cpp    2012-01-11 00:06:18.134374900 +0400
  4. @@ -1202,11 +1202,14 @@ void player::disp_morale()
  5.   werase(w);
  6.   delwin(w);
  7.  }
  8. -
  9. +
  10.  
  11.  void player::disp_status(WINDOW *w)
  12.  {
  13. + nc_color skillColor = c_ltgray;
  14. + int mor = morale_level();
  15.   mvwprintz(w, 1, 0, c_ltgray, "Weapon: %s", weapname().c_str());
  16. +
  17.   if (weapon.is_gun()) {
  18.         if (recoil >= 36)
  19.     mvwprintz(w, 1, 30, c_red,    "Recoil");
  20. @@ -1218,36 +1221,123 @@ void player::disp_status(WINDOW *w)
  21.     mvwprintz(w, 1, 30, c_ltgray, "Recoil");
  22.   }
  23.  
  24. + skill primarySkill = sk_null;
  25. + skill secondarySkill = sk_null;
  26. + std::string temp;
  27. + if (!weapon.is_gun()){
  28. + primarySkill = sk_melee;
  29. +      if (unarmed_attack())
  30. +  secondarySkill = sk_unarmed;
  31. + else if (weapon.is_cutting_weapon())
  32. +  secondarySkill = sk_cutting;
  33. + else if (weapon.is_bashing_weapon())
  34. +  secondarySkill = sk_bashing;
  35. + else secondarySkill = sk_null;
  36. + } else {
  37. + primarySkill = sk_gun;
  38. + secondarySkill = dynamic_cast<it_gun*>(weapon.type)->skill_used;
  39. + };
  40. +
  41. + if (primarySkill) {
  42. +  temp = skill_name(primarySkill);
  43. +  if (temp.length() > 8)
  44. +   temp = temp.substr(0, 7);
  45. +  temp += ": ";
  46. +  mvwprintz(w, 2, 0, c_ltgray, temp.c_str());
  47. +       if (sklevel[primarySkill] > 20)
  48. +   mvwprintz(w, 2, 9, c_white, "*****");
  49. +  else if (sklevel[primarySkill] > 15)
  50. +   skillColor = c_ltred;
  51. +  else if (sklevel[primarySkill] > 10)
  52. +   skillColor = c_yellow;
  53. +  else if (sklevel[primarySkill] > 5)
  54. +   skillColor = c_ltgreen;
  55. +  else if (sklevel[primarySkill] > 0)
  56. +   skillColor = c_ltgray;
  57. +  for(int i = 0; i < (sklevel[primarySkill] % 5); i++)
  58. +   mvwprintz(w, 2, 9 + i, skillColor, "*");
  59. + }
  60. +
  61. + if (secondarySkill) {
  62. +  temp = skill_name(secondarySkill);
  63. +  if (temp.length() > 8)
  64. +   temp = temp.substr(0, 7);
  65. +  temp += ": ";
  66. +  mvwprintz(w, 2, 15, c_ltgray, temp.c_str());
  67. +       if (sklevel[secondarySkill] > 20)
  68. +   mvwprintz(w, 2, 24, c_white, "*****");
  69. +  else if (sklevel[secondarySkill] > 15)
  70. +   skillColor = c_ltred;
  71. +  else if (sklevel[secondarySkill] > 10)
  72. +   skillColor = c_yellow;
  73. +  else if (sklevel[secondarySkill] > 5)
  74. +   skillColor = c_ltgreen;
  75. +  else if (sklevel[secondarySkill] > 0)
  76. +   skillColor = c_ltgray;
  77. +  for(int i = 0; i < (sklevel[secondarySkill] % 5); i++)
  78. +   mvwprintz(w, 2, 24 + i, skillColor, "*");
  79. + }
  80. +
  81. + //dodge level
  82. + mvwprintz(w, 2, 30, c_ltgray, "Dg: ");
  83. +      if (sklevel[sk_dodge] > 20)
  84. +  mvwprintz(w, 2, 34, c_white, "*****");
  85. + else if (sklevel[sk_dodge] > 15)
  86. +  skillColor = c_ltred;
  87. + else if (sklevel[sk_dodge] > 10)
  88. +  skillColor = c_yellow;
  89. + else if (sklevel[sk_dodge] > 5)
  90. +  skillColor = c_ltgreen;
  91. + else if (sklevel[sk_dodge] > 0)
  92. +  skillColor = c_ltgray;
  93. + for(int i = 0; i < (sklevel[sk_dodge] % 5); i++)
  94. +   mvwprintz(w, 2, 34 + i, skillColor, "*");
  95. +
  96.        if (hunger > 2800)
  97. -  mvwprintz(w, 2, 0, c_red,    "Starving!");
  98. +  mvwprintz(w, 3, 0, c_red,    "Starving!");
  99.   else if (hunger > 1400)
  100. -  mvwprintz(w, 2, 0, c_ltred,  "Near starving");
  101. +  mvwprintz(w, 3, 0, c_ltred,  "Near starving");
  102.   else if (hunger > 300)
  103. -  mvwprintz(w, 2, 0, c_ltred,  "Famished");
  104. +  mvwprintz(w, 3, 0, c_ltred,  "Famished");
  105.   else if (hunger > 100)
  106. -  mvwprintz(w, 2, 0, c_yellow, "Very hungry");
  107. +  mvwprintz(w, 3, 0, c_yellow, "Very hungry");
  108.   else if (hunger > 40)
  109. -  mvwprintz(w, 2, 0, c_yellow, "Hungry");
  110. +  mvwprintz(w, 3, 0, c_yellow, "Hungry");
  111.   else if (hunger < 0)
  112. -  mvwprintz(w, 2, 0, c_green,  "Full");
  113. +  mvwprintz(w, 3, 0, c_green,  "Full");
  114.  
  115.        if (thirst > 520)
  116. -  mvwprintz(w, 2, 15, c_ltred,  "Parched");
  117. +  mvwprintz(w, 3, 15, c_ltred,  "Parched");
  118.   else if (thirst > 240)
  119. -  mvwprintz(w, 2, 15, c_ltred,  "Dehydrated");
  120. +  mvwprintz(w, 3, 15, c_ltred,  "Dehydrated");
  121.   else if (thirst > 80)
  122. -  mvwprintz(w, 2, 15, c_yellow, "Very thirsty");
  123. +  mvwprintz(w, 3, 15, c_yellow, "Very thirsty");
  124.   else if (thirst > 40)
  125. -  mvwprintz(w, 2, 15, c_yellow, "Thirsty");
  126. +  mvwprintz(w, 3, 15, c_yellow, "Thirsty");
  127.   else if (thirst < 0)
  128. -  mvwprintz(w, 2, 15, c_green,  "Slaked");
  129. +  mvwprintz(w, 3, 15, c_green,  "Slaked");
  130.  
  131.        if (fatigue > 575)
  132. -  mvwprintz(w, 2, 30, c_red,    "Exhausted");
  133. +  mvwprintz(w, 3, 30, c_red,    "Exhausted");
  134.   else if (fatigue > 383)
  135. -  mvwprintz(w, 2, 30, c_ltred,  "Dead tired");
  136. +  mvwprintz(w, 3, 30, c_ltred,  "Dead tired");
  137.   else if (fatigue > 191)
  138. -  mvwprintz(w, 2, 30, c_yellow, "Tired");
  139. +  mvwprintz(w, 3, 30, c_yellow, "Tired");
  140. +
  141. +
  142. + //Morale indicator
  143. +      if (mor < -100)
  144. +  mvwprintz(w, 3, 41, c_red,     "Suicidal");
  145. + else if (mor < -25)
  146. +  mvwprintz(w, 3, 41, c_ltred,   "Unhappy");
  147. + else if (mor < 0)
  148. +  mvwprintz(w, 3, 41, c_yellow,  "Blue");
  149. + else if (mor > 100)
  150. +  mvwprintz(w, 3, 41, c_ltgreen, "Overjoyed");
  151. + else if (mor > 25)
  152. +  mvwprintz(w, 3, 41, c_green,   "Happy");
  153. + else if (mor > 0)
  154. +  mvwprintz(w, 3, 41, c_yellow,  "Lively");
  155.  
  156.   mvwprintz(w, 2, 41, c_white, "XP: ");
  157.   nc_color col_xp = c_dkgray;
  158. @@ -1258,17 +1348,17 @@ void player::disp_status(WINDOW *w)
  159.   mvwprintz(w, 2, 45, col_xp, "%d", xp_pool);
  160.  
  161.        if (pain - pkill >= 50)
  162. -  mvwprintz(w, 3, 0, c_red,    "Excrutiating pain!");
  163. +  mvwprintz(w, 4, 0, c_red,    "Excrutiating pain!");
  164.   else if (pain - pkill >= 40)
  165. -  mvwprintz(w, 3, 0, c_ltred,  "Extreme pain");
  166. +  mvwprintz(w, 4, 0, c_ltred,  "Extreme pain");
  167.   else if (pain - pkill >= 30)
  168. -  mvwprintz(w, 3, 0, c_ltred,  "Intense pain");
  169. +  mvwprintz(w, 4, 0, c_ltred,  "Intense pain");
  170.   else if (pain - pkill >= 20)
  171. -  mvwprintz(w, 3, 0, c_yellow, "Heavy pain");
  172. +  mvwprintz(w, 4, 0, c_yellow, "Heavy pain");
  173.   else if (pain - pkill >= 10)
  174. -  mvwprintz(w, 3, 0, c_yellow, "Moderate pain");
  175. +  mvwprintz(w, 4, 0, c_yellow, "Moderate pain");
  176.   else if (pain - pkill >   0)
  177. -  mvwprintz(w, 3, 0, c_yellow, "Minor pain");
  178. +  mvwprintz(w, 4, 0, c_yellow, "Minor pain");
  179.  
  180.   nc_color col_str = c_white, col_dex = c_white, col_int = c_white,
  181.            col_per = c_white, col_spd = c_white;
  182. @@ -1294,11 +1384,11 @@ void player::disp_status(WINDOW *w)
  183.   if (current_speed() > 100)
  184.    col_spd = c_green;
  185.  
  186. - mvwprintz(w, 3, 20, col_str, "Str %s%d", str_cur >= 10 ? "" : " ", str_cur);
  187. - mvwprintz(w, 3, 27, col_dex, "Dex %s%d", dex_cur >= 10 ? "" : " ", dex_cur);
  188. - mvwprintz(w, 3, 34, col_int, "Int %s%d", int_cur >= 10 ? "" : " ", int_cur);
  189. - mvwprintz(w, 3, 41, col_per, "Per %s%d", per_cur >= 10 ? "" : " ", per_cur);
  190. - mvwprintz(w, 3, 48, col_spd, "Spd %s%d", spd_cur >= 10 ? "" : " ", spd_cur);
  191. + mvwprintz(w, 4, 20, col_str, "Str %s%d", str_cur >= 10 ? "" : " ", str_cur);
  192. + mvwprintz(w, 4, 27, col_dex, "Dex %s%d", dex_cur >= 10 ? "" : " ", dex_cur);
  193. + mvwprintz(w, 4, 34, col_int, "Int %s%d", int_cur >= 10 ? "" : " ", int_cur);
  194. + mvwprintz(w, 4, 41, col_per, "Per %s%d", per_cur >= 10 ? "" : " ", per_cur);
  195. + mvwprintz(w, 4, 48, col_spd, "Spd %s%d", spd_cur >= 10 ? "" : " ", spd_cur);
  196.  
  197.  }
Add Comment
Please, Sign In to add comment