home *** CD-ROM | disk | FTP | other *** search
/ Quake 'em / QUAKEEM.BIN / quake / programs / watermon / watermon.dif next >
Encoding:
Text File  |  1981-01-07  |  7.3 KB  |  271 lines

  1. diff -u ./client.qc ./client.qc
  2. --- ./client.qc    Wed Jul 24 23:51:22 1996
  3. +++ ./client.qc    Wed Jan  7 06:09:56 1981
  4. @@ -802,35 +802,8 @@
  5.  */
  6.  .float    dmgtime;
  7.  
  8. -void() WaterMove =
  9. +void() water_checks =
  10.  {
  11. -//dprint (ftos(self.waterlevel));
  12. -    if (self.movetype == MOVETYPE_NOCLIP)
  13. -        return;
  14. -    if (self.health < 0)
  15. -        return;
  16. -
  17. -    if (self.waterlevel != 3)
  18. -    {
  19. -        if (self.air_finished < time)
  20. -            sound (self, CHAN_VOICE, "player/gasp2.wav", 1, ATTN_NORM);
  21. -        else if (self.air_finished < time + 9)
  22. -            sound (self, CHAN_VOICE, "player/gasp1.wav", 1, ATTN_NORM);
  23. -        self.air_finished = time + 12;
  24. -        self.dmg = 2;
  25. -    }
  26. -    else if (self.air_finished < time)
  27. -    {    // drown!
  28. -        if (self.pain_finished < time)
  29. -        {
  30. -            self.dmg = self.dmg + 2;
  31. -            if (self.dmg > 15)
  32. -                self.dmg = 10;
  33. -            T_Damage (self, world, world, self.dmg);
  34. -            self.pain_finished = time + 1;
  35. -        }
  36. -    }
  37. -    
  38.      if (!self.waterlevel)
  39.      {
  40.          if (self.flags & FL_INWATER)
  41. @@ -878,6 +851,37 @@
  42.          self.flags = self.flags + FL_INWATER;
  43.          self.dmgtime = 0;
  44.      }
  45. +
  46. +void() WaterMove =
  47. +{
  48. +//dprint (ftos(self.waterlevel));
  49. +    if (self.movetype == MOVETYPE_NOCLIP)
  50. +        return;
  51. +    if (self.health < 0)
  52. +        return;
  53. +
  54. +    if (self.waterlevel != 3)
  55. +    {
  56. +        if (self.air_finished < time)
  57. +            sound (self, CHAN_VOICE, "player/gasp2.wav", 1, ATTN_NORM);
  58. +        else if (self.air_finished < time + 9)
  59. +            sound (self, CHAN_VOICE, "player/gasp1.wav", 1, ATTN_NORM);
  60. +        self.air_finished = time + 12;
  61. +        self.dmg = 2;
  62. +    }
  63. +    else if (self.air_finished < time)
  64. +    {    // drown!
  65. +        if (self.pain_finished < time)
  66. +        {
  67. +            self.dmg = self.dmg + 2;
  68. +            if (self.dmg > 15)
  69. +                self.dmg = 10;
  70. +            T_Damage (self, world, world, self.dmg);
  71. +            self.pain_finished = time + 1;
  72. +        }
  73. +    }
  74. +    
  75. +    water_checks();
  76.      
  77.      if (! (self.flags & FL_WATERJUMP) )
  78.          self.velocity = self.velocity - 0.8*self.waterlevel*frametime*self.velocity;
  79. diff -u ./demon.qc ./demon.qc
  80. --- ./demon.qc    Wed Jul 24 23:51:22 1996
  81. +++ ./demon.qc    Wed Jan  7 03:55:19 1981
  82. @@ -201,6 +201,8 @@
  83.  
  84.      setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX);
  85.      self.health = 300;
  86. +    self.air_finished = time + 12;
  87. +    self.dmg = 2;                    // initial water damage
  88.  
  89.      self.th_stand = demon1_stand1;
  90.      self.th_walk = demon1_walk1;
  91. diff -u ./dog.qc ./dog.qc
  92. --- ./dog.qc    Wed Jul 24 23:51:22 1996
  93. +++ ./dog.qc    Wed Jan  7 03:55:46 1981
  94. @@ -350,6 +350,8 @@
  95.  
  96.      setsize (self, '-32 -32 -24', '32 32 40');
  97.      self.health = 25;
  98. +        self.air_finished = time + 12;
  99. +        self.dmg = 2;                   // initial water damage
  100.  
  101.      self.th_stand = dog_stand1;
  102.      self.th_walk = dog_walk1;
  103. diff -u ./enforcer.qc ./enforcer.qc
  104. --- ./enforcer.qc    Wed Jul 24 23:51:22 1996
  105. +++ ./enforcer.qc    Wed Jan  7 03:55:56 1981
  106. @@ -339,6 +339,8 @@
  107.  
  108.      setsize (self, '-16 -16 -24', '16 16 40');
  109.      self.health = 80;
  110. +        self.air_finished = time + 12;
  111. +        self.dmg = 2;                   // initial water damage
  112.  
  113.      self.th_stand = enf_stand1;
  114.      self.th_walk = enf_walk1;
  115. diff -u ./hknight.qc ./hknight.qc
  116. --- ./hknight.qc    Wed Jul 24 23:51:23 1996
  117. +++ ./hknight.qc    Wed Jan  7 03:56:14 1981
  118. @@ -427,6 +427,8 @@
  119.  
  120.      setsize (self, '-16 -16 -24', '16 16 40');
  121.      self.health = 250;
  122. +        self.air_finished = time + 12;
  123. +        self.dmg = 2;                   // initial water damage
  124.  
  125.      self.th_stand = hknight_stand1;
  126.      self.th_walk = hknight_walk1;
  127. diff -u ./knight.qc ./knight.qc
  128. --- ./knight.qc    Wed Jul 24 23:51:23 1996
  129. +++ ./knight.qc    Wed Jan  7 03:56:26 1981
  130. @@ -258,6 +258,8 @@
  131.  
  132.      setsize (self, '-16 -16 -24', '16 16 40');
  133.      self.health = 75;
  134. +        self.air_finished = time + 12;
  135. +        self.dmg = 2;                   // initial water damage
  136.  
  137.      self.th_stand = knight_stand1;
  138.      self.th_walk = knight_walk1;
  139. diff -u ./monsters.qc ./monsters.qc
  140. --- ./monsters.qc    Wed Jul 24 23:51:23 1996
  141. +++ ./monsters.qc    Wed Jan  7 06:09:25 1981
  142. @@ -66,6 +66,23 @@
  143.  
  144.  //============================================================================
  145.  
  146. +float() monster_drown_check =
  147. +{
  148. +    if (self.air_finished < time)
  149. +    {       // drown!
  150. +        if (self.pain_finished < time)
  151. +        {
  152. +            self.dmg = self.dmg + 2;
  153. +            if (self.dmg > 15)
  154. +                self.dmg = 10;
  155. +            T_Damage (self, world, world, self.dmg);
  156. +            self.pain_finished = time + 1;
  157. +            return TRUE;
  158. +        }
  159. +    }
  160. +return FALSE;
  161. +}
  162. +
  163.  void() walkmonster_start_go =
  164.  {
  165.  local string    stemp;
  166. @@ -91,10 +108,18 @@
  167.      
  168.      self.flags = self.flags | FL_MONSTER;
  169.      
  170. +    water_checks();
  171. +
  172. +    if (self.air_finished - 2 <= time)
  173. +    {
  174. +        self.velocity = '0 0 20';    // what an ugly hack
  175. +    }
  176. +
  177.      if (self.target)
  178.      {
  179.          self.goalentity = self.movetarget = find(world, targetname, self.target);
  180. -        self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
  181. +        if (self.waterlevel <= 3)
  182. +            self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
  183.          if (!self.movetarget)
  184.          {
  185.              dprint ("Monster can't find target at ");
  186. diff -u ./ogre.qc ./ogre.qc
  187. --- ./ogre.qc    Wed Jul 24 23:51:23 1996
  188. +++ ./ogre.qc    Wed Jan  7 03:56:39 1981
  189. @@ -440,6 +440,8 @@
  190.  
  191.      setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX);
  192.      self.health = 200;
  193. +        self.air_finished = time + 12;
  194. +        self.dmg = 2;                   // initial water damage
  195.  
  196.      self.th_stand = ogre_stand1;
  197.      self.th_walk = ogre_walk1;
  198. diff -u ./shalrath.qc ./shalrath.qc
  199. --- ./shalrath.qc    Wed Jul 24 23:51:23 1996
  200. +++ ./shalrath.qc    Wed Jan  7 03:56:51 1981
  201. @@ -225,6 +225,8 @@
  202.      setmodel (self, "progs/shalrath.mdl");
  203.      setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX);
  204.      self.health = 400;
  205. +        self.air_finished = time + 12;
  206. +        self.dmg = 2;                   // initial water damage
  207.  
  208.      self.th_stand = shal_stand;
  209.      self.th_walk = shal_walk1;
  210. diff -u ./shambler.qc ./shambler.qc
  211. --- ./shambler.qc    Wed Jul 24 23:51:24 1996
  212. +++ ./shambler.qc    Wed Jan  7 03:57:02 1981
  213. @@ -354,6 +354,8 @@
  214.  
  215.      setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX);
  216.      self.health = 600;
  217. +        self.air_finished = time + 12;
  218. +        self.dmg = 2;                   // initial water damage
  219.  
  220.      self.th_stand = sham_stand1;
  221.      self.th_walk = sham_walk1;
  222. diff -u ./soldier.qc ./soldier.qc
  223. --- ./soldier.qc    Wed Jul 24 23:51:24 1996
  224. +++ ./soldier.qc    Wed Jan  7 03:57:11 1981
  225. @@ -272,6 +272,8 @@
  226.  
  227.      setsize (self, '-16 -16 -24', '16 16 40');
  228.      self.health = 30;
  229. +        self.air_finished = time + 12;
  230. +        self.dmg = 2;                   // initial water damage
  231.  
  232.      self.th_stand = army_stand1;
  233.      self.th_walk = army_walk1;
  234. diff -u ./tarbaby.qc ./tarbaby.qc
  235. --- ./tarbaby.qc    Wed Jul 24 23:51:24 1996
  236. +++ ./tarbaby.qc    Wed Jan  7 03:57:25 1981
  237. @@ -209,6 +209,8 @@
  238.  
  239.      setsize (self, '-16 -16 -24', '16 16 40');
  240.      self.health = 80;
  241. +        self.air_finished = time + 12;
  242. +        self.dmg = 2;                   // initial water damage
  243.  
  244.      self.th_stand = tbaby_stand1;
  245.      self.th_walk = tbaby_walk1;
  246. Only in krhqc: tmp
  247. diff -u ./wizard.qc ./wizard.qc
  248. --- ./wizard.qc    Wed Jul 24 23:51:24 1996
  249. +++ ./wizard.qc    Wed Jan  7 03:57:35 1981
  250. @@ -398,6 +398,8 @@
  251.  
  252.      setsize (self, '-16 -16 -24', '16 16 40');
  253.      self.health = 80;
  254. +        self.air_finished = time + 12;
  255. +        self.dmg = 2;                   // initial water damage
  256.  
  257.      self.th_stand = wiz_stand1;
  258.      self.th_walk = wiz_walk1;
  259. diff -u ./zombie.qc ./zombie.qc
  260. --- ./zombie.qc    Wed Jul 24 23:51:24 1996
  261. +++ ./zombie.qc    Wed Jan  7 03:57:50 1981
  262. @@ -497,6 +497,8 @@
  263.  
  264.      setsize (self, '-16 -16 -24', '16 16 40');
  265.      self.health = 60;
  266. +        self.air_finished = time + 12;
  267. +        self.dmg = 2;                   // initial water damage
  268.  
  269.      self.th_stand = zombie_stand1;
  270.      self.th_walk = zombie_walk1;
  271.