home *** CD-ROM | disk | FTP | other *** search
/ The Amiga Game Guide / AmigaGameGuide_CD.iso / Amiga / PD-Games / WormWars / source / engine.h < prev    next >
Text File  |  1977-12-31  |  9KB  |  230 lines

  1. /* $Filename:    WormWars/Source/engine.h $
  2.  * $VER:         WormWars 5.6 $
  3.  * $Description: Constants for game engine $
  4.  *
  5.  * © Copyright 2000 James R. Jacobs.
  6.  */
  7.  
  8. #define GOATMOVE             5 // assert (GOATMOVE != 0);
  9. #define NOSE                 2 // if (NOSE > PROTECTORS) nose disabled
  10. #define NOSEDISTANCE         4
  11. #define WORMQUEUELIMIT      15
  12. #define DOGQUEUELIMIT      120
  13. #define SECONDSPERLEVEL    120 // assert (SECONDSPERLEVEL <= 599);
  14. #define UNDRIFT              5 // assert (UNDRIFT != 0);
  15.  
  16. // dog dormancy
  17.  
  18. #define DORMANT              0
  19. #define AWAKENING            1
  20. #define CHASING             10
  21.  
  22. // frequencies
  23.  
  24. #define FREQ_CLOUD           1
  25. #define FREQ_DRIP            1
  26. #define FREQ_MAX            70
  27. #define FREQ_DEC             2
  28. #define FREQ_MIN            10
  29. #define FREQ_TELEPORT      240
  30.  
  31. #define BONUSCLOUDSPEED      7
  32. #define BONUSDRIPSPEED      11
  33. #define BONUSFRAGSPEED       9
  34. #define BONUSMISSILESPEED    9
  35. #define CLOUDSPEED           9
  36. #define DOGSPEED             8
  37. #define DRIPSPEED           13
  38. #define FRAGSPEED           10
  39. #define GOATSPEED           19
  40. #define MAGNETSPEED          9
  41. #define MISSILESPEED        12
  42. #define ORBSPEED            11
  43. #define PENGUINSPEED        23
  44. #define TIMEBOMBSPEED       60
  45.  
  46. // population limits
  47.  
  48. #define CREATURES           60
  49. #define MAGNETS             20
  50. #define PROTECTORS           2 // <=4!
  51.  
  52. // vampirism
  53.  
  54. #define GOATBLOOD            1
  55. #define ORBBLOOD             1
  56. #define PENGUINBLOOD         1
  57.  
  58. // jump distances
  59.  
  60. #define FASTDISTANCE         5
  61. #define NORMALDISTANCE       4
  62. #define SLOWDISTANCE         3
  63.  
  64. // skill points
  65.  
  66. #define EMPTYPOINT           1
  67. #define TAILBONUS            1
  68. #define TURNTOSILVER         5
  69. #define TURNTOGOLD          10
  70. #define SILVERPOINT         10
  71. #define TIMEBONUS           10
  72. #define ENCLOSUREPOINT      10
  73. #define TELPOINT            20
  74. #define GOLDPOINT           20
  75. #define HITSHOT             50
  76. #define KILLGOAT            50
  77. #define KILLPENGUIN         50
  78. #define KILLWORM           100
  79. #define BOMBOVEREDGE       100
  80. #define SKULLPOINT         100
  81. #define LETTERPOINT        100
  82. #define DRIPBONUS          100
  83. #define LEVELBONUS         100
  84.  
  85. // pain ratings
  86.  
  87. #define DOGPAIN         5
  88. #define DRIPPAIN        5
  89. #define HEADPAIN        5
  90. #define MISSILEPAIN     5
  91. #define ORBPAIN         5
  92. #define PROTECTORPAIN    5
  93. #define REMNANTPAIN     5
  94. #define TELEPORTPAIN    5
  95. #define WORMFIREPAIN    5
  96. #define WHIRLWINDPAIN   5
  97.  
  98. #define BOMBPAIN        3
  99. #define CLOUDPAIN       3
  100. #define FRAGMENTPAIN    3
  101. #define LIGHTNINGPAIN    3
  102. #define OTHERTAILPAIN    3
  103. #define PENGUINPAIN     3
  104. #define PENGUINPAIN     3
  105.  
  106. #define GOATPAIN        2
  107. #define METALPAIN        2
  108. #define SLAYERPAIN        2
  109. #define SLIMEPAIN        2
  110.  
  111. #define STONEPAIN        1
  112. #define TAILPAIN        1
  113. #define WOODPAIN        1
  114.  
  115. // objects
  116.  
  117. #define BOMBADD             5    // in squares radius
  118. #define BOMBRAND        25
  119. #define CLOCKADD        10    // in seconds
  120. #define CLOCKRAND        20
  121. #define ICEADD             5    // in VERYSLOWs
  122. #define ICERAND             5
  123. #define MODEADD            30    // in VERYSLOWs
  124. #define MODERAND        40
  125. #define TREASUREADD         5    // in seconds
  126. #define TREASURERAND     5
  127.  
  128. MODULE  void changefield(void);
  129. MODULE  void clearletters(void);
  130. MODULE  void death(void);
  131. MODULE  void fastloop(void);
  132. MODULE  void killall(void);
  133. MODULE  void magnetloop(void);
  134. MODULE  void newfield(void);
  135. MODULE  void newhiscores(void);
  136. MODULE  void orientworms(void);
  137. MODULE  void slowloop(void);
  138.  
  139. MODULE  void bombblast(SBYTE triggerer, SBYTE player, SBYTE centrex, SBYTE centrey);
  140. MODULE  void bouncegoat(SBYTE which, SBYTE x, SBYTE y);
  141. MODULE  void __inline change(SBYTE x, SBYTE y, UBYTE image);
  142. MODULE  void cloudbullet(UBYTE which, SBYTE x, SBYTE y, SBYTE deltay);
  143. MODULE  void copyfield(SBYTE source, SBYTE destination);
  144. MODULE  void createmissile(UBYTE player);
  145. MODULE  void creatureloop(SBYTE which);
  146. MODULE  void dogqueue(SBYTE which, SBYTE deltax, SBYTE deltay);
  147. MODULE  void drawcause(SBYTE player, SBYTE state);
  148. MODULE  void drawletter(SBYTE player, SBYTE letter, SBYTE state);
  149. MODULE  void explosion(SBYTE x, SBYTE y, SBYTE exceptionx, SBYTE exceptiony);
  150. MODULE  void newlevel(SBYTE player);
  151. MODULE  void orbscore(SBYTE which, ULONG score);
  152. MODULE  void orbsplit(SBYTE which);
  153. MODULE  void putletter(SBYTE player);
  154. MODULE  void ramming(SBYTE player);
  155. MODULE  void reflect(UBYTE which);
  156. MODULE  void turnworm(SBYTE player, SBYTE deltax, SBYTE deltay);
  157. MODULE  void wormbullet(SBYTE player);
  158. MODULE  void wormletter(SBYTE player, SBYTE thissy);
  159. MODULE  void wormloop(SBYTE player);
  160.  
  161. MODULE void dogdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  162. MODULE void dogdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  163. MODULE void dogfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  164. MODULE void dogmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  165. MODULE void dogorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  166. MODULE void dogpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  167. MODULE void dogwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  168. MODULE void dripfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  169. MODULE void dripmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  170. MODULE void driporb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  171. MODULE void drippenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  172. MODULE void dripwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  173. MODULE void fragfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  174. MODULE void fragorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  175. MODULE void fragmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  176. MODULE void fragpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  177. MODULE void fragwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  178. MODULE void missilemissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  179. MODULE void missilepenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  180. MODULE void missilewhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  181. MODULE void orborb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  182. MODULE void orbmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  183. MODULE void orbpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  184. MODULE void orbwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  185. MODULE void penguinwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  186. MODULE void whirlwindwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  187. MODULE void wormdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  188. MODULE void wormdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  189. MODULE void wormfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  190. MODULE void wormmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  191. MODULE void wormorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  192. MODULE void wormpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  193. MODULE void wormwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  194. MODULE void wormworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  195. MODULE void protdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  196. MODULE void protdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  197. MODULE void protfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  198. MODULE void protmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  199. MODULE void protorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  200. MODULE void protpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  201. MODULE void protwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  202. MODULE void protworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  203. MODULE void protprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  204. MODULE void clouddog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  205. MODULE void clouddrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  206. MODULE void cloudfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  207. MODULE void cloudmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  208. MODULE void cloudorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  209. MODULE void cloudpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  210. MODULE void cloudwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  211. MODULE void cloudworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  212. MODULE void cloudprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  213. MODULE void cloudcloud(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
  214.  
  215. MODULE SWORD atleast(SWORD value, SWORD minimum);
  216. MODULE ABOOL blocked(SBYTE which, SBYTE deltax, SBYTE deltay);
  217. MODULE ABOOL bounceorb(SBYTE which, SBYTE x, SBYTE y);
  218. MODULE SBYTE bsign(SBYTE value);
  219. MODULE ABOOL findempty(SBYTE* x, SBYTE* y, SBYTE first, SBYTE last);
  220. MODULE SBYTE onlyworm(ABOOL alive);
  221. MODULE SBYTE slowdown(SBYTE speed);
  222. MODULE SBYTE speedup(SBYTE speed, ABOOL nitro);
  223. MODULE ULONG squareblast(SBYTE type, SBYTE player, SBYTE thissy, SBYTE x, SBYTE y);
  224. MODULE UBYTE whichcreature(SBYTE x, SBYTE y, UBYTE species, UBYTE exception);
  225. MODULE SBYTE whichteleport(SBYTE x, SBYTE y);
  226. MODULE ULONG wormobject(UBYTE player, SBYTE x, SBYTE y);
  227. MODULE SWORD wsign(SWORD value);
  228.  
  229. // Must have blank line at EOF.
  230.