home *** CD-ROM | disk | FTP | other *** search
/ POWERdrive for you 1998 June / Pdr0698.iso / VOLLVERS / POWERMAN / PANEL.WDL < prev    next >
Text File  |  1998-03-13  |  6KB  |  252 lines

  1. SKILL fps {}
  2. BMAP hint,<hint.pcx>;
  3.  
  4.  
  5. ////////////////////////////////////////// Debugger
  6.  
  7. OVLY cannon1_0 <canon1.pcx>,0,0,68,82;
  8. OVLY cannon1_1 <canon1.pcx>,68,0,68,80;  // Verschiebung -2
  9. OVLY cannon1_2 <canon1.pcx>,136,0,68,79; // -3
  10. OVLY cannon1_3 <canon1.pcx>,204,0,68,80; // -2
  11. OVLY cannon1_5 <canon1.pcx>,68,82,68,82;
  12. OVLY vorspann1 <vor1.pcx>;
  13. OVLY vorspann2 <vor2.pcx>;
  14. OVLY vorspann3 <vor3.pcx>;
  15. OVLY vorspann4 <vor4.pcx>;
  16. OVLY vorspann5 <vor5.pcx>;
  17. OVLY vorspann6 <vor6.pcx>;
  18.  
  19. OVERLAY vorspann1_ovl { POS_X 0; POS_Y 0; OVLYS vorspann1; }
  20. OVERLAY vorspann2_ovl { POS_X 0; POS_Y 0; OVLYS vorspann2; }
  21. OVERLAY vorspann3_ovl { POS_X 0; POS_Y 0; OVLYS vorspann3; }
  22. OVERLAY vorspann4_ovl { POS_X 0; POS_Y 0; OVLYS vorspann4; }
  23. OVERLAY vorspann5_ovl { POS_X 0; POS_Y 0; OVLYS vorspann5; }
  24. OVERLAY vorspann6_ovl { POS_X 0; POS_Y 0; OVLYS vorspann6; }
  25. OVERLAY cannon0 { POS_X 27; POS_Y 250; FLAGS ABSPOS; OVLYS cannon1_0; } 
  26. OVERLAY cannon1 { POS_X 25; POS_Y 252; FLAGS ABSPOS; OVLYS cannon1_1; } 
  27. OVERLAY cannon2 { POS_X 24; POS_Y 253; FLAGS ABSPOS; OVLYS cannon1_2; } 
  28. OVERLAY cannon3 { POS_X 25; POS_Y 252; FLAGS ABSPOS; OVLYS cannon1_3; } 
  29. OVERLAY cannon5 { POS_X 27; POS_Y 250; FLAGS ABSPOS; OVLYS cannon1_5; } 
  30.  
  31. SOUND twaeng,<E_gun2.wav>;
  32.  
  33.  
  34.  
  35. ACTION init_fire {
  36.     SET LAYERS.13,cannon0;
  37.     SET IF_CTRL,fire2;
  38.     SET IF_LEFT,fire2;
  39.  
  40. }
  41.  
  42. BMAP flash_1,<knallig.pcx>,0,0,16,16;
  43. BMAP flash_2,<knallig.pcx>,16,0,16,16;
  44. BMAP flash_3,<knallig.pcx>,32,0,16,16;
  45. BMAP flash_4,<knallig.pcx>,48,0,16,16;
  46.  
  47. BMAP wolke_1,<knallig.pcx>,124,0,20,20;
  48. BMAP wolke_2,<knallig.pcx>,144,0,20,20;
  49. BMAP wolke_3,<knallig.pcx>,164,0,20,20;
  50. BMAP wolke_4,<knallig.pcx>,184,0,20,20;
  51. BMAP wolke_5,<knallig.pcx>,204,0,20,20;
  52.  
  53. TEXTURE flash_tex {
  54.     SCALE_XY 12,12;
  55.     CYCLES 4;
  56.     BMAPS flash_1,flash_2,flash_3,flash_4;
  57.     DELAY 1,1,1,1;
  58.     FLAGS ONESHOT;
  59.     AMBIENT 1;     // Blitz leuchtet auch in dunklen Regionen!
  60. }
  61.  
  62. TEXTURE wolke_tex {
  63.     SCALE_XY 12,12;
  64.     CYCLES 5;
  65.     BMAPS wolke_1,wolke_2,wolke_3,wolke_4,wolke_5;
  66.     DELAY 2,2,2,2,2;
  67.     FLAGS ONESHOT;
  68.     AMBIENT 0.5;     // Wolke leuchtet auch in dunklen Regionen!
  69. }
  70.  
  71. ACTOR flash1 {
  72.     TEXTURE flash_tex;
  73.     FLAGS GROUND,INVISIBLE,PASSABLE;
  74. }
  75.  
  76. ACTOR flash2 {
  77.     TEXTURE flash_tex;
  78.     FLAGS GROUND,INVISIBLE,PASSABLE;
  79. }
  80.  
  81. ACTOR flash3 {
  82.     TEXTURE flash_tex;
  83.     FLAGS GROUND,INVISIBLE,PASSABLE;
  84. }
  85.  
  86. ACTOR flash4 {
  87.     TEXTURE flash_tex;
  88.     FLAGS GROUND,INVISIBLE,PASSABLE;
  89. }
  90.  
  91. ACTOR flash5 {
  92.     TEXTURE flash_tex;
  93.     FLAGS GROUND,INVISIBLE,PASSABLE;
  94. }
  95.  
  96. ACTOR flash6 {
  97.     TEXTURE flash_tex;
  98.     FLAGS GROUND,INVISIBLE,PASSABLE;
  99. }
  100.  
  101. ACTOR flash7 {
  102.     TEXTURE flash_tex;
  103.     FLAGS GROUND,INVISIBLE,PASSABLE;
  104. }
  105.  
  106. ACTOR flash8 {
  107.     TEXTURE flash_tex;
  108.     FLAGS GROUND,INVISIBLE,PASSABLE;
  109. }
  110. SKILL hgt {}
  111. SKILL hdist {}
  112.  
  113. ACTION init_flash {
  114.     SET MY.TEXTURE,flash_tex;
  115.     SET MY.PLAY,1;              // Animation starten
  116.     RULE MY.DIST = hdist - 0.5;  // Trefferdistanz
  117.     RULE MY.HEIGHT = 
  118.          PLAYER_Z + - 0.83 * hdist * PLAYER_TILT + 0.4 * RANDOM - 1.2;
  119.     DROP MY;        // Flash vor getroffenem Objekt plazieren
  120.     SET MY.SPEED,0.3;  // Blitz kommt auf Player zu.
  121.     SET MY.TARGET,FOLLOW;
  122.     SET MY.EACH_TICK,NULL;
  123.     SET MY.EACH_CYCLE,init_wolke;   // Nach Animation steigt Wolke auf.
  124. }
  125.  
  126. ACTION init_wolke {
  127.     SET MY.TEXTURE,wolke_tex;
  128.     SET MY.PLAY,1;
  129.     SET MY.EACH_TICK,wolke_auf;
  130.     SET MY.EACH_CYCLE,flash_weg;
  131. }
  132.  
  133. ACTION wolke_auf {       // Wolke aufsteigen lassen
  134.     ADDT MY.HEIGHT,0.4;
  135. }
  136.  
  137. ACTION flash_weg {       // Wolke verschwindet
  138.     SET MY.INVISIBLE,1;
  139. }
  140.  
  141. ACTION schuss_alle {
  142.     SET LAYERS.13,NULL;
  143.     SET schuss,0;
  144.     PLAY_SOUND leer,0.5;
  145. }
  146.  
  147. SOUND vorsp <vorspann.wav>;
  148.  
  149. ACTION vorspann {
  150.     SET LAYERS.16,vorspann1_ovl;
  151.     WAITT 48;
  152.     SET LAYERS.16,vorspann2_ovl;
  153.     WAITT 4;
  154.     SET LAYERS.16,vorspann3_ovl;
  155.     WAITT 4;
  156.     SET LAYERS.16,vorspann4_ovl;
  157.     WAITT 4;
  158.     SET LAYERS.16,vorspann5_ovl;
  159.     PLAY_SOUND vorsp,0.5;
  160.     WAITT 80;
  161.     SET LAYERS.16,vorspann6_ovl;
  162.     WAITT 80;
  163.     SET LAYERS.16,NULL;
  164. }
  165.  
  166. ACTION fire2 {
  167.       fire_loop:
  168.     IF_EQUAL schuss,0;
  169.     BRANCH schuss_alle;
  170.     SET LAYERS.13,cannon1;
  171.     SET_ALL dungeon.AMBIENT,0.1;  // Lichtblitz
  172.     SET SHOOT_RANGE,1000;
  173.     PLAY_SOUND twaeng,0.3;
  174.     ADDT schuss,-3;
  175.     SHOOT;                  // Schuss auf 200 Steps Distanz
  176.     IF_EQUAL HIT_DIST,0;    // Nichts getroffen?
  177.           GOTO fire_weiter;
  178.     SET hdist,HIT_DIST;     // Trefferdistanz speichern
  179.     
  180.     IF_EQUAL flash1.INVISIBLE,0;  // Ist flash 1 noch irgendwo aktiv?
  181.       GOTO set_flash2;            // Dann flash2 benutzen. 
  182.     SET flash1.INVISIBLE,0;       // sonst flash1 jetzt aktivieren
  183.     SET flash1.EACH_TICK,init_flash;
  184.       GOTO fire_weiter;
  185.       
  186. set_flash2:
  187.         IF_EQUAL flash2.INVISIBLE,0;
  188.       GOTO set_flash3;
  189.     SET flash2.INVISIBLE,0;
  190.     SET flash2.EACH_TICK,init_flash;
  191.       GOTO fire_weiter;             
  192.                 
  193. set_flash3:
  194.         IF_EQUAL flash3.INVISIBLE,0;
  195.       GOTO set_flash4;
  196.     SET flash3.INVISIBLE,0;
  197.     SET flash3.EACH_TICK,init_flash;
  198.       GOTO fire_weiter;        
  199.      
  200.     
  201.     set_flash4:
  202.         IF_EQUAL flash4.INVISIBLE,0;
  203.       GOTO set_flash5;
  204.     SET flash4.INVISIBLE,0;
  205.     SET flash4.EACH_TICK,init_flash;
  206.       GOTO fire_weiter;
  207.  
  208. set_flash5:
  209.         IF_EQUAL flash5.INVISIBLE,0;
  210.       GOTO set_flash6;
  211.     SET flash5.INVISIBLE,0;
  212.     SET flash5.EACH_TICK,init_flash;
  213.       GOTO fire_weiter;
  214.  
  215. set_flash6:
  216.         IF_EQUAL flash6.INVISIBLE,0;
  217.       GOTO set_flash7;
  218.     SET flash6.INVISIBLE,0;
  219.     SET flash6.EACH_TICK,init_flash;
  220.       GOTO fire_weiter;
  221.  
  222. set_flash7:
  223.         IF_EQUAL flash7.INVISIBLE,0;
  224.       GOTO set_flash8;
  225.     SET flash7.INVISIBLE,0;
  226.     SET flash7.EACH_TICK,init_flash;
  227.       GOTO fire_weiter;
  228.  
  229. set_flash8:
  230.         SET flash8.INVISIBLE,0;
  231.     SET flash8.EACH_TICK,init_flash;
  232.  
  233.       fire_weiter:
  234.     WAITT 2;
  235.     SET LAYERS.13,cannon2;
  236.     SET_ALL dungeon.AMBIENT,0;
  237.     WAITT 1;
  238.     SET LAYERS.13,cannon3;
  239.     WAITT 1;
  240.     SET LAYERS.13,cannon5;
  241.     WAITT 1;
  242.     SET LAYERS.13,cannon0;
  243.     WAITT 1;
  244.     IF_EQUAL KEY_CTRL,1;      // Taste noch gedrⁿckt?
  245.       GOTO fire_loop;         // dann weiterfeuern!
  246.     IF_EQUAL MOUSE_LEFT,1;
  247.       GOTO fire_loop;
  248. }
  249.     
  250.                  
  251.     
  252.