Blindfold removal fix
[slashemextended.git] / src / borg.c
blob65a1e50ca916f7079fc8df77121666a79ab522bd
1 /* the nethack cyborg! */
2 /* by proudft@ccnet.com */
4 #include "hack.h"
5 #include "func_tab.h"
7 #ifdef BORG
8 #define HP_TRACK 25
9 #define HP_TREND 3
11 char borg_on=0;
12 char borg_line[80] = {0};
13 int predicted_hp;
15 void adjust_hp_list(void) {
16 static int hp_list[HP_TRACK] = {0};
17 int l;
18 int hp_diff;
19 for (l=0;l<HP_TRACK-1;l++) {
20 hp_list[l+1] = hp_list[l];
22 hp_list[0] = u.uhp;
23 hp_diff = 0;
24 /* for (l=0;l<HP_TREND;l++) {
25 hp_diff += (hp_list[l] - u.uhpmax);
27 hp_diff /= HP_TREND;
28 predicted_hp = u.uhp - hp_diff;*/
29 predicted_hp = u.uhp - ((hp_list[0] - u.uhpmax)*2);
32 char borg_input(void) {
33 delay_output();
34 delay_output();
35 delay_output(); // 150ms delay
37 char c;
38 adjust_hp_list();
39 if (predicted_hp <= 0 || (u.uhp < u.uhpmax / 8)) pline("Emergency!");
41 /* He's quite lame for now... */
42 c = rand()%9 + '1';
43 if (c == '5') c = '.';
44 sprintf(borg_line,"%c",c);
45 return ('.');
47 #endif