Guest User

Untitled

a guest
May 27th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 21.98 KB | None | 0 0
  1. diff -cpw Cataclysm-clean/color.h Cataclysm-current/color.h
  2. *** Cataclysm-clean/color.h 2012-01-17 16:23:32.000000000 +0400
  3. --- Cataclysm-current/color.h   2012-01-18 12:57:53.270421800 +0400
  4. *************** c_ltgreen_red = COLOR_PAIR(25) | A_BOLD,
  5. *** 84,90 ****
  6.   c_ltblue_red  = COLOR_PAIR(26) | A_BOLD,
  7.   c_ltcyan_red  = COLOR_PAIR(27) | A_BOLD,
  8.   c_pink_red    = COLOR_PAIR(28) | A_BOLD,
  9. ! c_yellow_red  = COLOR_PAIR(29) | A_BOLD
  10.  
  11.   };
  12.  
  13. --- 84,91 ----
  14.   c_ltblue_red  = COLOR_PAIR(26) | A_BOLD,
  15.   c_ltcyan_red  = COLOR_PAIR(27) | A_BOLD,
  16.   c_pink_red    = COLOR_PAIR(28) | A_BOLD,
  17. ! c_yellow_red  = COLOR_PAIR(29) | A_BOLD,
  18. ! tmp_color = COLOR_PAIR(31)
  19.  
  20.   };
  21.  
  22. diff -cpw Cataclysm-clean/game.cpp Cataclysm-current/game.cpp
  23. *** Cataclysm-clean/game.cpp    2012-01-17 16:23:32.000000000 +0400
  24. --- Cataclysm-current/game.cpp  2012-01-18 12:57:53.694249900 +0400
  25. *************** game::game()
  26. *** 38,43 ****
  27. --- 38,44 ----
  28.  
  29.    m = map(&itypes, &mapitems, &traps); // Init the root map with our vectors
  30.  
  31. +  showmon = true; //Show monsters by default. UIOverhaul mod
  32.   // Set up the main UI windows.
  33.   // Aw hell, we getting ncursey up in here!
  34.    w_terrain = newwin(SEEY * 2 + 1, SEEX * 2 + 1, 0, 0);
  35. *************** game::game()
  36. *** 46,56 ****
  37.    werase(w_minimap);
  38.    w_HP = newwin(14, 7, 7, SEEX * 2 + 1);
  39.    werase(w_HP);
  40. !  w_moninfo = newwin(12, 48, 0, SEEX * 2 + 8);
  41.    werase(w_moninfo);
  42. !  w_messages = newwin(9, 48, 12, SEEX * 2 + 8);
  43.    werase(w_messages);
  44. !  w_status = newwin(4, 55, 21, SEEX * 2 + 1);
  45.    werase(w_status);
  46.   // Even though we may already have 'd', nextinv will be incremented as needed
  47.    nextinv = 'd';
  48. --- 47,59 ----
  49.    werase(w_minimap);
  50.    w_HP = newwin(14, 7, 7, SEEX * 2 + 1);
  51.    werase(w_HP);
  52. !  w_moninfo = newwin(8, 14, 0, SEEX * 2 + 42);
  53.    werase(w_moninfo);
  54. !  w_monmap = newwin(8, 34, 0, SEEX * 2 + 8);
  55. !  werase(w_monmap);
  56. !  w_messages = newwin(20, 48, 0, SEEX * 2 + 8);
  57.    werase(w_messages);
  58. !  w_status = newwin(5, 55, 20, SEEX * 2 + 1);
  59.    werase(w_status);
  60.   // Even though we may already have 'd', nextinv will be incremented as needed
  61.    nextinv = 'd';
  62. *************** game::~game()
  63. *** 96,101 ****
  64. --- 99,105 ----
  65.    delwin(w_terrain);
  66.    delwin(w_minimap);
  67.    delwin(w_HP);
  68. +  delwin(w_monmap);
  69.    delwin(w_moninfo);
  70.    delwin(w_messages);
  71.    delwin(w_status);
  72. *************** void game::get_input()
  73. *** 1250,1256 ****
  74.      add_msg("Ignoring enemy!");
  75.      run_mode = 1;
  76.     }
  77. !  }
  78.   }
  79.  
  80.   int& game::scent(int x, int y)
  81. --- 1254,1261 ----
  82.      add_msg("Ignoring enemy!");
  83.      run_mode = 1;
  84.     }
  85. !  } else if (ch == 'N')
  86. !   showmon = !showmon;
  87.   }
  88.  
  89.   int& game::scent(int x, int y)
  90. *************** void game::draw()
  91. *** 1983,1988 ****
  92. --- 1988,1994 ----
  93.    werase(w_terrain);
  94.    draw_ter();
  95.    draw_footsteps();
  96. +  write_msg();
  97.    mon_info();
  98.    // Draw Status
  99.    draw_HP();
  100. *************** void game::draw()
  101. *** 1993,2008 ****
  102.  
  103.    oter_id cur_ter = cur_om.ter((levx + int(MAPSIZE / 2)) / 2,
  104.                                 (levy + int(MAPSIZE / 2)) / 2);
  105. !  std::string tername = oterlist[cur_ter].name;
  106. !  if (tername.length() > 14)
  107. !   tername = tername.substr(0, 14);
  108. !  mvwprintz(w_status, 0,  0, oterlist[cur_ter].color, tername.c_str());
  109.    if (levz < 0)
  110.     mvwprintz(w_status, 0, 18, c_ltgray, "Underground");
  111.    else
  112.     mvwprintz(w_status, 0, 18, weather_data[weather].color,
  113.                                weather_data[weather].name.c_str());
  114. !  nc_color col_temp = c_blue;
  115.    if (temperature >= 90)
  116.     col_temp = c_red;
  117.    else if (temperature >= 75)
  118. --- 1999,2032 ----
  119.  
  120.    oter_id cur_ter = cur_om.ter((levx + int(MAPSIZE / 2)) / 2,
  121.                                 (levy + int(MAPSIZE / 2)) / 2);
  122. !  // Powerlevel
  123. !   nc_color col_temp = c_blue;
  124. !
  125. !   if (u.max_power_level == 0)
  126. !    mvwprintz(w_status, 0, 0, c_ltgray, " --   ");
  127. !   else {
  128. !    if (u.power_level == u.max_power_level)
  129. !     col_temp = c_blue;
  130. !    else if (u.power_level >= u.max_power_level * .5)
  131. !     col_temp = c_ltblue;
  132. !    else if (u.power_level > 0)
  133. !     col_temp = c_yellow;
  134. !    else
  135. !     col_temp = c_red;
  136. !    if (u.power_level >= 100)
  137. !     mvwprintz(w_status, 0, 0, col_temp, "%d     ", u.power_level);
  138. !    else if (u.power_level >= 10)
  139. !     mvwprintz(w_status, 10, 0, col_temp, " %d    ", u.power_level);
  140. !    else
  141. !     mvwprintz(w_status, 0, 0, col_temp, "  %d    ", u.power_level);
  142. !   }
  143. !
  144.    if (levz < 0)
  145.     mvwprintz(w_status, 0, 18, c_ltgray, "Underground");
  146.    else
  147.     mvwprintz(w_status, 0, 18, weather_data[weather].color,
  148.                                weather_data[weather].name.c_str());
  149. !  col_temp = c_blue;
  150.    if (temperature >= 90)
  151.     col_temp = c_red;
  152.    else if (temperature >= 75)
  153. *************** void game::draw()
  154. *** 2019,2026 ****
  155.    if (run_mode != 0)
  156.     mvwprintz(w_status, 2, 51, c_red, "SAFE");
  157.    wrefresh(w_status);
  158. -  // Draw messages
  159. -  write_msg();
  160.   }
  161.  
  162.   bool game::isBetween(int test, int down, int up)
  163. --- 2043,2048 ----
  164. *************** void game::refresh_all()
  165. *** 2088,2095 ****
  166.    draw_minimap();
  167.    //wrefresh(w_HP);
  168.    draw_HP();
  169. -  wrefresh(w_moninfo);
  170.    wrefresh(w_messages);
  171.    refresh();
  172.   }
  173.  
  174. --- 2110,2118 ----
  175.    draw_minimap();
  176.    //wrefresh(w_HP);
  177.    draw_HP();
  178.    wrefresh(w_messages);
  179. +  wrefresh(w_moninfo);
  180. +  wrefresh(w_monmap);
  181.    refresh();
  182.   }
  183.  
  184. *************** bool vector_has(std::vector<int> vec, in
  185. *** 2482,2496 ****
  186. --- 2505,2533 ----
  187.    return false;
  188.   }
  189.  
  190. + int vector_num(std::vector <int> vec, int test)
  191. + {
  192. +  for (int i = 0; i < vec.size(); i++) {
  193. +   if (vec[i] == test)
  194. +    return i;
  195. +  }
  196. +  return -1;
  197. + }
  198. +
  199. +
  200.   void game::mon_info()
  201.   {
  202. +  if (!showmon)
  203. +   return;
  204.    werase(w_moninfo);
  205. +  werase(w_monmap);
  206.    int buff;
  207.    int newseen = 0;
  208.   // 0 1 2
  209.   // 3 4 5
  210.   // 6 7 8
  211.    std::vector<int> unique_types[10];
  212. +  std::vector<int> unique_numbers[10];
  213.    int direction;
  214.    for (int i = 0; i < z.size(); i++) {
  215.     if (u_see(&(z[i]), buff)) {
  216. *************** void game::mon_info()
  217. *** 2519,2526 ****
  218.        direction = 4;
  219.      }
  220.  
  221. !    if (!vector_has(unique_types[direction], z[i].type->id))
  222.       unique_types[direction].push_back(z[i].type->id);
  223.     }
  224.    }
  225.    for (int i = 0; i < active_npc.size(); i++) {
  226. --- 2556,2571 ----
  227.        direction = 4;
  228.      }
  229.  
  230. !    if (!vector_has(unique_types[direction], z[i].type->id)) {
  231.        unique_types[direction].push_back(z[i].type->id);
  232. +     unique_numbers[direction].push_back(1);
  233. +    }
  234. +    else {
  235. +     int x = vector_num(unique_types[direction], z[i].type->id);
  236. +     unique_numbers[direction][x]++;
  237. +    }
  238. +    if (!vector_has(unique_types[9], z[i].type->id))
  239. +     unique_types[9].push_back(z[i].type->id);
  240.     }
  241.    }
  242.    for (int i = 0; i < active_npc.size(); i++) {
  243. *************** void game::mon_info()
  244. *** 2550,2555 ****
  245. --- 2595,2602 ----
  246.        direction = 4;
  247.      }
  248.      unique_types[direction].push_back(-1 - i);
  249. +    unique_numbers[direction].push_back(1);
  250. +    unique_types[9].push_back(-1 - i);
  251.     }
  252.    }
  253.  
  254. *************** void game::mon_info()
  255. *** 2566,2589 ****
  256.  
  257.  
  258.    mostseen = newseen;
  259. -  int line = 0;
  260.    nc_color tmpcol;
  261.    for (int i = 0; i < 9; i++) {
  262. !   if (unique_types[i].size() > 0) {
  263. !    switch(i) {
  264. !     case 0: mvwprintz(w_moninfo, line, 0, c_magenta, "NORTHWEST");    break;
  265. !     case 1: mvwprintz(w_moninfo, line, 0, c_magenta, "NORTH");        break;
  266. !     case 2: mvwprintz(w_moninfo, line, 0, c_magenta, "NORTHEAST");    break;
  267. !     case 3: mvwprintz(w_moninfo, line, 0, c_magenta, "WEST");     break;
  268. !     case 4: mvwprintz(w_moninfo, line, 0, c_magenta, "NEARBY");       break;
  269. !     case 5: mvwprintz(w_moninfo, line, 0, c_magenta, "EAST");     break;
  270. !     case 6: mvwprintz(w_moninfo, line, 0, c_magenta, "SOUTHWEST");    break;
  271. !     case 7: mvwprintz(w_moninfo, line, 0, c_magenta, "SOUTH");        break;
  272. !     case 8: mvwprintz(w_moninfo, line, 0, c_magenta, "SOUTHEAST");    break;
  273. !    }
  274. !    line++;
  275. !   }
  276. !   for (int j = 0; j < unique_types[i].size() && line < 12; j++) {
  277.      buff = unique_types[i][j];
  278.      if (buff < 0) {
  279.       switch (active_npc[(buff + 1) * -1].attitude) {
  280. --- 2613,2641 ----
  281.  
  282.  
  283.    mostseen = newseen;
  284.    nc_color tmpcol;
  285. +  for(int cnt = 0; cnt < 16; cnt++) {
  286. +   mvwputch(w_moninfo, 2, cnt, c_ltgray , LINE_OXOX);
  287. +   mvwputch(w_moninfo, 5, cnt, c_ltgray , LINE_OXOX);
  288. +  }
  289. +  for(int cnt = 0; cnt < 8; cnt++) {
  290. +   mvwputch(w_moninfo, cnt, 4, c_ltgray , LINE_XOXO);
  291. +   mvwputch(w_moninfo, cnt, 9, c_ltgray , LINE_XOXO);
  292. +  }
  293. +  mvwputch(w_moninfo, 2, 4, c_ltgray , LINE_XXXX);
  294. +  mvwputch(w_moninfo, 5, 4, c_ltgray , LINE_XXXX);
  295. +  mvwputch(w_moninfo, 2, 9, c_ltgray , LINE_XXXX);
  296. +  mvwputch(w_moninfo, 5, 9, c_ltgray , LINE_XXXX);
  297. +  int PosX, PosY;
  298.    for (int i = 0; i < 9; i++) {
  299. !   for (int j = 0; j < unique_types[i].size() && j < 8; j++) {
  300. !    //Top Left corner of direction window area
  301. !    PosX  = (i % 3) * 5;
  302. !    PosY  = (i / 3) * 3;
  303. !    //Actual position of cursor
  304. !    PosX += j % 4;
  305. !    PosY += j / 4;
  306. !
  307.      buff = unique_types[i][j];
  308.      if (buff < 0) {
  309.       switch (active_npc[(buff + 1) * -1].attitude) {
  310. *************** void game::mon_info()
  311. *** 2592,2607 ****
  312.        case NPCATT_DEFEND: tmpcol = c_green;   break;
  313.        default:            tmpcol = c_pink;    break;
  314.       }
  315. !     mvwputch (w_moninfo, line, 0, tmpcol, '@');
  316. !     mvwprintw(w_moninfo, line, 2, active_npc[(buff + 1) * -1].name.c_str());
  317.      } else {
  318. !     mvwputch (w_moninfo, line, 0, mtypes[buff]->color, mtypes[buff]->sym);
  319. !     mvwprintw(w_moninfo, line, 2, mtypes[buff]->name.c_str());
  320.      }
  321. !    line++;
  322.     }
  323.    }
  324.    wrefresh(w_moninfo);
  325.    refresh();
  326.   }
  327.  
  328. --- 2644,2718 ----
  329.        case NPCATT_DEFEND: tmpcol = c_green;   break;
  330.        default:            tmpcol = c_pink;    break;
  331.       }
  332. !     mvwputch (w_moninfo, PosY, PosX, tmpcol, '@');
  333.      } else {
  334. !     int BG_color, FG_color;
  335. !     switch(unique_numbers[i][j]) {
  336. !      case 1:
  337. !      case 2:  BG_color = COLOR_BLACK;  break;
  338. !      case 3:
  339. !      case 4:
  340. !      case 5:
  341. !      case 6:
  342. !      case 7:
  343. !      case 8:  BG_color = COLOR_GREEN; break;
  344. !      case 9:
  345. !      case 10:
  346. !      case 11:
  347. !      case 12:
  348. !      case 13:
  349. !      case 14:
  350. !      case 15: BG_color = COLOR_YELLOW; break;
  351. !      default: BG_color = COLOR_RED; break;
  352.       }
  353. !     switch(color_to_int(mtypes[buff]->color)) {
  354. !      case 0:  FG_color = 0; break;
  355. !      case 1:  FG_color = 15; break;
  356. !      case 2:  FG_color = 7; break;
  357. !      case 3:  FG_color = 8; break;
  358. !      case 4:  FG_color = 1; break;
  359. !      case 5:  FG_color = 2; break;
  360. !      case 6:  FG_color = 4; break;
  361. !      case 7:  FG_color = 6; break;
  362. !      case 8:  FG_color = 5; break;
  363. !      case 9:  FG_color = 3; break;
  364. !      case 10: FG_color = 9; break;
  365. !      case 11: FG_color = 10; break;
  366. !      case 12: FG_color = 12; break;
  367. !      case 13: FG_color = 14; break;
  368. !      case 14: FG_color = 13; break;
  369. !      case 15: FG_color = 11; break;
  370. !      default: FG_color = 8; break;
  371. !     }
  372. !     //If background color isn't black and
  373. !     //foreground color is same as background or lighter version of it
  374. !     if ( (BG_color!=0) && (BG_color == (FG_color % 8)) ) {
  375. !      BG_color = FG_color;
  376. !      FG_color = 0;
  377. !     }
  378. !     init_pair(31, FG_color, BG_color);
  379. !     mvwputch (w_moninfo, PosY, PosX, tmp_color, mtypes[buff]->sym);
  380. !    }
  381. !   }
  382. !  }
  383. !  for (int i = 0; i < unique_types[9].size() && i < 8; i++) {
  384. !    buff = unique_types[9][i];
  385. !    if (buff < 0) {
  386. !     switch (active_npc[(buff + 1) * -1].attitude) {
  387. !      case NPCATT_KILL:   tmpcol = c_red;     break;
  388. !      case NPCATT_FOLLOW: tmpcol = c_ltgreen; break;
  389. !      case NPCATT_DEFEND: tmpcol = c_green;   break;
  390. !      default:            tmpcol = c_pink;    break;
  391. !     }
  392. !     mvwputch (w_monmap, i, 0, tmpcol, '@');
  393. !     mvwprintw(w_monmap, i, 2, active_npc[(buff + 1) * -1].name.c_str());
  394. !    } else {
  395. !     mvwputch (w_monmap, i, 0, mtypes[buff]->color, mtypes[buff]->sym);
  396. !     mvwprintw(w_monmap, i, 2, mtypes[buff]->name.c_str());
  397.      }
  398.    }
  399.    wrefresh(w_moninfo);
  400. +  wrefresh(w_monmap);
  401.    refresh();
  402.   }
  403.  
  404. *************** bool game::game_quit()
  405. *** 5993,6006 ****
  406.   void game::write_msg()
  407.   {
  408.    werase(w_messages);
  409. !  int size = 7;
  410.    for (int i = size; i > 0; i--) {
  411.     if (messages.size() >= i) {
  412.      if (curmes >= i)
  413. !     mvwprintz(w_messages, size - (i - 1), 0, c_ltred,
  414.                 messages[messages.size() - i].c_str());
  415.      else
  416. !     mvwprintz(w_messages, size - (i - 1), 0, c_dkgray,
  417.                 messages[messages.size() - i].c_str());
  418.     }
  419.    }
  420. --- 6104,6117 ----
  421.   void game::write_msg()
  422.   {
  423.    werase(w_messages);
  424. !  int size = 20;// - 8 * !!showmon;
  425.    for (int i = size; i > 0; i--) {
  426.     if (messages.size() >= i) {
  427.      if (curmes >= i)
  428. !     mvwprintz(w_messages, size - i, 0, c_ltred,
  429.                 messages[messages.size() - i].c_str());
  430.      else
  431. !     mvwprintz(w_messages, size - i, 0, c_dkgray,
  432.                 messages[messages.size() - i].c_str());
  433.     }
  434.    }
  435. diff -cpw Cataclysm-clean/game.h Cataclysm-current/game.h
  436. *** Cataclysm-clean/game.h  2012-01-17 16:23:32.000000000 +0400
  437. --- Cataclysm-current/game.h    2012-01-18 12:57:54.077062400 +0400
  438. *************** class game
  439. *** 183,193 ****
  440. --- 183,195 ----
  441.     std::vector<item> items_dragged;
  442.     int weight_dragged; // Computed once, when you start dragging
  443.     bool debugmon;
  444. +   bool showmon; //UIOverhaul mod
  445.   // Display data... TODO: Make this more portable?
  446.     WINDOW *w_terrain;
  447.     WINDOW *w_minimap;
  448.     WINDOW *w_HP;
  449.     WINDOW *w_moninfo;
  450. +   WINDOW *w_monmap;
  451.     WINDOW *w_messages;
  452.     WINDOW *w_status;
  453.  
  454. diff -cpw Cataclysm-clean/player.cpp Cataclysm-current/player.cpp
  455. *** Cataclysm-clean/player.cpp  2012-01-17 16:23:32.000000000 +0400
  456. --- Cataclysm-current/player.cpp    2012-01-18 12:57:54.513585900 +0400
  457. *************** void player::disp_morale()
  458. *** 1284,1289 ****
  459. --- 1284,1292 ----
  460.  
  461.   void player::disp_status(WINDOW *w, game *g)
  462.   {
  463. +  nc_color skillColor = c_ltgray;
  464. +  int mor = morale_level();
  465. +  int tmp = 0;
  466.    mvwprintz(w, 1, 0, c_ltgray, "Weapon: %s", weapname().c_str());
  467.    if (weapon.is_gun()) {
  468.          if (recoil >= 36)
  469. *************** void player::disp_status(WINDOW *w, game
  470. *** 1296,1331 ****
  471.      mvwprintz(w, 1, 30, c_ltgray, "Recoil");
  472.    }
  473.  
  474.         if (hunger > 2800)
  475. !   mvwprintz(w, 2, 0, c_red,    "Starving!");
  476.    else if (hunger > 1400)
  477. !   mvwprintz(w, 2, 0, c_ltred,  "Near starving");
  478.    else if (hunger > 300)
  479. !   mvwprintz(w, 2, 0, c_ltred,  "Famished");
  480.    else if (hunger > 100)
  481. !   mvwprintz(w, 2, 0, c_yellow, "Very hungry");
  482.    else if (hunger > 40)
  483. !   mvwprintz(w, 2, 0, c_yellow, "Hungry");
  484.    else if (hunger < 0)
  485. !   mvwprintz(w, 2, 0, c_green,  "Full");
  486.  
  487.         if (thirst > 520)
  488. !   mvwprintz(w, 2, 15, c_ltred,  "Parched");
  489.    else if (thirst > 240)
  490. !   mvwprintz(w, 2, 15, c_ltred,  "Dehydrated");
  491.    else if (thirst > 80)
  492. !   mvwprintz(w, 2, 15, c_yellow, "Very thirsty");
  493.    else if (thirst > 40)
  494. !   mvwprintz(w, 2, 15, c_yellow, "Thirsty");
  495.    else if (thirst < 0)
  496. !   mvwprintz(w, 2, 15, c_green,  "Slaked");
  497.  
  498.         if (fatigue > 575)
  499. !   mvwprintz(w, 2, 30, c_red,    "Exhausted");
  500.    else if (fatigue > 383)
  501. !   mvwprintz(w, 2, 30, c_ltred,  "Dead tired");
  502.    else if (fatigue > 191)
  503. !   mvwprintz(w, 2, 30, c_yellow, "Tired");
  504.  
  505.    mvwprintz(w, 2, 41, c_white, "XP: ");
  506.    nc_color col_xp = c_dkgray;
  507. --- 1299,1427 ----
  508.      mvwprintz(w, 1, 30, c_ltgray, "Recoil");
  509.    }
  510.  
  511. +  skill primarySkill = sk_null;
  512. +  skill secondarySkill = sk_null;
  513. +  std::string temp;
  514. +  if (!weapon.is_gun()){
  515. +  primarySkill = sk_melee;
  516. +       if (unarmed_attack())
  517. +   secondarySkill = sk_unarmed;
  518. +  else if (weapon.is_cutting_weapon())
  519. +   secondarySkill = sk_cutting;
  520. +  else if (weapon.is_bashing_weapon())
  521. +   secondarySkill = sk_bashing;
  522. +  else secondarySkill = sk_null;
  523. +  } else {
  524. +  primarySkill = sk_gun;
  525. +  secondarySkill = dynamic_cast<it_gun*>(weapon.type)->skill_used;
  526. +  };
  527. +
  528. +  if (primarySkill) {
  529. +   temp = skill_name(primarySkill);
  530. +   if (temp.length() > 8)
  531. +    temp = temp.substr(0, 7);
  532. +   temp += ": ";
  533. +   mvwprintz(w, 2, 0, c_ltgray, temp.c_str());
  534. +        if (sklevel[primarySkill] > 20)
  535. +    mvwprintz(w, 2, 9, c_white, "*****");
  536. +   else if (sklevel[primarySkill] > 15)
  537. +    skillColor = c_ltred;
  538. +   else if (sklevel[primarySkill] > 10)
  539. +    skillColor = c_yellow;
  540. +   else if (sklevel[primarySkill] > 5)
  541. +    skillColor = c_ltgreen;
  542. +   else if (sklevel[primarySkill] > 0)
  543. +    skillColor = c_ltgray;
  544. +   if (sklevel[primarySkill] > 0)
  545. +    tmp = ((sklevel[primarySkill] - 1) % 5) + 1;
  546. +   else tmp = 0;
  547. +   for(int i = 0; i < tmp; i++)
  548. +    mvwprintz(w, 2, 9 + i, skillColor, "*");
  549. +  }
  550. +
  551. +  if (secondarySkill) {
  552. +   temp = skill_name(secondarySkill);
  553. +   if (temp.length() > 8)
  554. +    temp = temp.substr(0, 7);
  555. +   temp += ": ";
  556. +   mvwprintz(w, 2, 15, c_ltgray, temp.c_str());
  557. +        if (sklevel[secondarySkill] > 20)
  558. +    mvwprintz(w, 2, 24, c_white, "*****");
  559. +   else if (sklevel[secondarySkill] > 15)
  560. +    skillColor = c_ltred;
  561. +   else if (sklevel[secondarySkill] > 10)
  562. +    skillColor = c_yellow;
  563. +   else if (sklevel[secondarySkill] > 5)
  564. +    skillColor = c_ltgreen;
  565. +   else if (sklevel[secondarySkill] > 0)
  566. +    skillColor = c_ltgray;
  567. +   if (sklevel[secondarySkill] > 0)
  568. +    tmp = ((sklevel[secondarySkill] - 1) % 5) + 1;
  569. +   for(int i = 0; i < tmp; i++)
  570. +    mvwprintz(w, 2, 24 + i, skillColor, "*");
  571. +  }
  572. +
  573. +  //dodge level
  574. +  mvwprintz(w, 2, 30, c_ltgray, "Dg: ");
  575. +       if (sklevel[sk_dodge] > 20)
  576. +   mvwprintz(w, 2, 34, c_white, "*****");
  577. +  else if (sklevel[sk_dodge] > 15)
  578. +   skillColor = c_ltred;
  579. +  else if (sklevel[sk_dodge] > 10)
  580. +   skillColor = c_yellow;
  581. +  else if (sklevel[sk_dodge] > 5)
  582. +   skillColor = c_ltgreen;
  583. +  else if (sklevel[sk_dodge] > 0)
  584. +   skillColor = c_ltgray;
  585. +  if (sklevel[sk_dodge] > 0)
  586. +    tmp = ((sklevel[sk_dodge] - 1) % 5) + 1;
  587. +  for(int i = 0; i < tmp; i++)
  588. +    mvwprintz(w, 2, 34 + i, skillColor, "*");
  589. +
  590.         if (hunger > 2800)
  591. !   mvwprintz(w, 3, 0, c_red,    "Starving!");
  592.    else if (hunger > 1400)
  593. !   mvwprintz(w, 3, 0, c_ltred,  "Near starving");
  594.    else if (hunger > 300)
  595. !   mvwprintz(w, 3, 0, c_ltred,  "Famished");
  596.    else if (hunger > 100)
  597. !   mvwprintz(w, 3, 0, c_yellow, "Very hungry");
  598.    else if (hunger > 40)
  599. !   mvwprintz(w, 3, 0, c_yellow, "Hungry");
  600.    else if (hunger < 0)
  601. !   mvwprintz(w, 3, 0, c_green,  "Full");
  602.  
  603.         if (thirst > 520)
  604. !   mvwprintz(w, 3, 15, c_ltred,  "Parched");
  605.    else if (thirst > 240)
  606. !   mvwprintz(w, 3, 15, c_ltred,  "Dehydrated");
  607.    else if (thirst > 80)
  608. !   mvwprintz(w, 3, 15, c_yellow, "Very thirsty");
  609.    else if (thirst > 40)
  610. !   mvwprintz(w, 3, 15, c_yellow, "Thirsty");
  611.    else if (thirst < 0)
  612. !   mvwprintz(w, 3, 15, c_green,  "Slaked");
  613.  
  614.         if (fatigue > 575)
  615. !   mvwprintz(w, 3, 30, c_red,    "Exhausted");
  616.    else if (fatigue > 383)
  617. !   mvwprintz(w, 3, 30, c_ltred,  "Dead tired");
  618.    else if (fatigue > 191)
  619. !   mvwprintz(w, 3, 30, c_yellow, "Tired");
  620. !
  621. !  //Morale indicator
  622. !       if (mor < -100)
  623. !   mvwprintz(w, 3, 41, c_red,     "Suicidal");
  624. !  else if (mor < -25)
  625. !   mvwprintz(w, 3, 41, c_ltred,   "Unhappy");
  626. !  else if (mor < 0)
  627. !   mvwprintz(w, 3, 41, c_yellow,  "Blue");
  628. !  else if (mor > 100)
  629. !   mvwprintz(w, 3, 41, c_ltgreen, "Overjoyed");
  630. !  else if (mor > 25)
  631. !   mvwprintz(w, 3, 41, c_green,   "Happy");
  632. !  else if (mor > 0)
  633. !   mvwprintz(w, 3, 41, c_yellow,  "Lively");
  634.  
  635.    mvwprintz(w, 2, 41, c_white, "XP: ");
  636.    nc_color col_xp = c_dkgray;
  637. *************** void player::disp_status(WINDOW *w, game
  638. *** 1336,1352 ****
  639.    mvwprintz(w, 2, 45, col_xp, "%d", xp_pool);
  640.  
  641.         if (pain - pkill >= 50)
  642. !   mvwprintz(w, 3, 0, c_red,    "Excrutiating pain!");
  643.    else if (pain - pkill >= 40)
  644. !   mvwprintz(w, 3, 0, c_ltred,  "Extreme pain");
  645.    else if (pain - pkill >= 30)
  646. !   mvwprintz(w, 3, 0, c_ltred,  "Intense pain");
  647.    else if (pain - pkill >= 20)
  648. !   mvwprintz(w, 3, 0, c_yellow, "Heavy pain");
  649.    else if (pain - pkill >= 10)
  650. !   mvwprintz(w, 3, 0, c_yellow, "Moderate pain");
  651.    else if (pain - pkill >   0)
  652. !   mvwprintz(w, 3, 0, c_yellow, "Minor pain");
  653.  
  654.    nc_color col_str = c_white, col_dex = c_white, col_int = c_white,
  655.             col_per = c_white, col_spd = c_white;
  656. --- 1432,1448 ----
  657.    mvwprintz(w, 2, 45, col_xp, "%d", xp_pool);
  658.  
  659.         if (pain - pkill >= 50)
  660. !   mvwprintz(w, 4, 0, c_red,    "Excrutiating pain!");
  661.    else if (pain - pkill >= 40)
  662. !   mvwprintz(w, 4, 0, c_ltred,  "Extreme pain");
  663.    else if (pain - pkill >= 30)
  664. !   mvwprintz(w, 4, 0, c_ltred,  "Intense pain");
  665.    else if (pain - pkill >= 20)
  666. !   mvwprintz(w, 4, 0, c_yellow, "Heavy pain");
  667.    else if (pain - pkill >= 10)
  668. !   mvwprintz(w, 4, 0, c_yellow, "Moderate pain");
  669.    else if (pain - pkill >   0)
  670. !   mvwprintz(w, 4, 0, c_yellow, "Minor pain");
  671.  
  672.    nc_color col_str = c_white, col_dex = c_white, col_int = c_white,
  673.             col_per = c_white, col_spd = c_white;
  674. *************** void player::disp_status(WINDOW *w, game
  675. *** 1372,1382 ****
  676.    if (spd_cur > 100)
  677.     col_spd = c_green;
  678.  
  679. !  mvwprintz(w, 3, 20, col_str, "Str %s%d", str_cur >= 10 ? "" : " ", str_cur);
  680. !  mvwprintz(w, 3, 27, col_dex, "Dex %s%d", dex_cur >= 10 ? "" : " ", dex_cur);
  681. !  mvwprintz(w, 3, 34, col_int, "Int %s%d", int_cur >= 10 ? "" : " ", int_cur);
  682. !  mvwprintz(w, 3, 41, col_per, "Per %s%d", per_cur >= 10 ? "" : " ", per_cur);
  683. !  mvwprintz(w, 3, 48, col_spd, "Spd %s%d", spd_cur >= 10 ? "" : " ", spd_cur);
  684.  
  685.   }
  686.  
  687. --- 1468,1478 ----
  688.    if (spd_cur > 100)
  689.     col_spd = c_green;
  690.  
  691. !  mvwprintz(w, 4, 20, col_str, "Str %s%d", str_cur >= 10 ? "" : " ", str_cur);
  692. !  mvwprintz(w, 4, 27, col_dex, "Dex %s%d", dex_cur >= 10 ? "" : " ", dex_cur);
  693. !  mvwprintz(w, 4, 34, col_int, "Int %s%d", int_cur >= 10 ? "" : " ", int_cur);
  694. !  mvwprintz(w, 4, 41, col_per, "Per %s%d", per_cur >= 10 ? "" : " ", per_cur);
  695. !  mvwprintz(w, 4, 48, col_spd, "Spd %s%d", spd_cur >= 10 ? "" : " ", spd_cur);
  696.  
  697.   }
Add Comment
Please, Sign In to add comment