home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 5.14 / 2000-11_-_Disc_5.14.iso / Goodies / 3DGameStudio / Adeptus / actions.wdl < prev    next >
Text File  |  2000-02-04  |  5KB  |  270 lines

  1. //@
  2. # VR GAMES                       WDL-Script                      Project: DEMO ADEPTUS
  3. #
  4. # Auftraggeber   : Conitec GmbH
  5. #
  6. #*********************************************************************
  7. # Module        : actions.wdl - Kundenversion
  8. # Version       : 2.0 (Made with WDL-STUDIO)
  9. # Date          :  19.8.99
  10. # Responsible   : Harald Schmidt
  11. # Description   : Conitec Demo-RPG
  12. # *********************************************************************
  13. //@
  14. //
  15. BMAP blood_splash_map <redspots.pcx>;
  16. ///////// player skills /////////////////
  17. ///Experiencepoints
  18. SKILL gem_exp {VAL 150;}
  19. SKILL cynth_exp {VAL 80;}
  20. SKILL m_sc_exp {VAL 250;}
  21. SKILL sc_exp {VAL 450;}
  22. SKILL STAT {}
  23. SKILL p_hp {VAL 20;}
  24. SKILL p_akt_hp {VAL 20;}
  25. SKILL p_mana {VAL 0;}
  26. SKILL p_akt_mana {VAL 0;}
  27. SKILL p_str {VAL 20;}
  28. SKILL p_akt_str {VAL 20;}
  29. SKILL p_gew {VAL 20;}
  30. SKILL p_mut {VAL 20;}
  31. SKILL p_int {VAL 20;}
  32. SKILL p_exp {VAL 0;}
  33. SKILL next_exp {VAL 1000;}
  34. SKILL p_lvl {VAL 1;}
  35. SKILL p_bon {VAL 0;}
  36. ////////////Skills Monster ////////////////
  37. SKILL sc_str {VAL 12;}#scorpio stats
  38. SKILL sc_gew {VAL 12;}
  39. SKILL sc_mut {VAL 12;}
  40. SKILL sc_int {VAL 12;}
  41. SKILL HP_TEST {}
  42. SKILL STR {}
  43. SKILL GEW {}
  44. SKILL MUT {}
  45. SKILL INT {}
  46. SKILL ATT {}
  47. SKILL DEF {}
  48. SKILL P_DEF {}
  49. SKILL P_ATT {}
  50. SKILL p_hp_minus {}
  51. SKILL hp_minus {}
  52. SKILL dead {}
  53. SKILL life_pan_hp {}
  54. SKILL life_pan_str {}
  55. SKILL life_pan_mana {}
  56. STRING name, "                    ";
  57.  
  58. PANEL blood_pan
  59. {
  60.     POS_X 3;
  61.     POS_Y 4;
  62.     LAYER 2;
  63.     BMAP blood_splash_map;
  64.     FLAGS REFRESH, OVERLAY;
  65. }
  66.  
  67. ACTION create_stats
  68. {
  69.     p_hp = 20 + RANDOM (5);
  70.     p_akt_hp = p_hp;
  71.     p_str = 15 + RANDOM (25);
  72.     p_akt_str = p_str;
  73.     p_gew = 15 + RANDOM (25);
  74.     p_mut = 15 + RANDOM (25);
  75.     p_int = 15 + RANDOM (25);
  76.     p_bon = 10;
  77.     p_exp = 0;
  78.     p_lvl = 1;
  79.     next_exp = 1000;
  80. }
  81.  
  82. ACTION stats_time
  83. {
  84.     IF (p_akt_hp < p_hp)
  85.     {
  86.         p_akt_hp += 0.03;
  87.     }
  88.     IF (p_akt_str < p_str)
  89.     {
  90.         p_akt_str += 0.03;
  91.     }
  92.     life_pan_hp = 90 - p_akt_hp;
  93.     life_pan_str = 90 - p_akt_str;
  94.     life_pan_mana = 90 - p_akt_mana;
  95. }
  96.  
  97. ACTION player_stats
  98. {
  99.     WHILE (1) {
  100.         CALL stats_time;
  101.         WAIT 1;
  102.     }
  103. }
  104.  
  105.  
  106. ACTION hp_cheat
  107. {
  108.     SET p_akt_hp, p_hp;
  109.     SET p_akt_str, p_str;
  110. }
  111.  
  112. ACTION bonus_hp
  113. {
  114.     IF (p_bon > 0)
  115.     {
  116.         p_hp += 1;
  117.         p_akt_hp += 1;
  118.         p_bon += -1;
  119.     }
  120.     ELSE
  121.     {
  122.         CALL close_all;
  123.     }
  124. }
  125.  
  126. ACTION bonus_str
  127. {
  128.     IF (p_bon > 0)
  129.     {
  130.         p_str += 1;
  131.         p_akt_str += 1;
  132.         p_bon += -1;
  133.     }
  134.     ELSE
  135.     {
  136.         CALL close_all;
  137.     }
  138. }
  139. ACTION bonus_gew
  140. {
  141.     IF (p_bon > 0)
  142.     {
  143.         p_gew += 1;
  144.         p_bon += -1;
  145.     }
  146.     ELSE
  147.     {
  148.         CALL close_all;
  149.     }
  150. }
  151. ACTION bonus_mut
  152. {
  153.     IF (p_bon > 0)
  154.     {
  155.         p_mut += 1;
  156.         p_bon += -1;
  157.     }
  158.     ELSE
  159.     {
  160.         CALL close_all;
  161.     }
  162. }
  163. ACTION bonus_int
  164. {
  165.     IF (p_bon > 0)
  166.     {
  167.         p_int += 1;
  168.         p_bon += -1;
  169.     }
  170.     ELSE
  171.     {
  172.         CALL close_all;
  173.     }
  174. }
  175. ACTION check_exp
  176. {
  177.     p_exp += give_exp;
  178.     IF (p_exp >= next_exp)
  179.     {
  180.         CALL next_level;
  181.     }
  182.     SET give_exp, 0;
  183. }
  184. ACTION next_level
  185. {
  186.     IF (next_exp == 5000)
  187.     {
  188.         SET next_exp, 8000;
  189.         SET p_lvl, 4;
  190.     }
  191.     IF (next_exp == 2500)
  192.     {
  193.         SET next_exp, 5000;
  194.         SET p_lvl, 3;
  195.     }
  196.     IF (next_exp == 1000)
  197.     {
  198.         SET next_exp, 2500;
  199.         SET p_lvl, 2;
  200.     }
  201.     p_bon += 10;
  202.     CALL new_lvl_text;
  203.     CALL show_char;
  204. }
  205. ACTION sc_att_probe
  206. {
  207.     SET STR, sc_str;
  208.     SET MUT, sc_mut;
  209.     SET GEW, sc_gew;
  210.     CALL player_defense;
  211. }
  212. ACTION sc_def_probe
  213. {
  214.     SET INT, sc_int;
  215.     SET MUT, sc_mut;
  216.     SET GEW, sc_gew;
  217.     CALL player_attack;
  218. }
  219. ACTION player_defense
  220. {
  221.     ATT =  (STR + MUT + GEW) / 3; #NPC Attack
  222.     P_DEF =  (p_mut + p_gew + p_int) / 3; #Player Defense
  223.     p_hp_minus = RANDOM (ATT / P_DEF * 10); #Fight
  224.     p_hp_minus = INT (p_hp_minus);
  225.     p_akt_hp = p_akt_hp - p_hp_minus;
  226.     IF (p_hp_minus > 0)
  227.     {
  228.         CALL player_hit;
  229.     }
  230. }
  231. ACTION player_attack
  232. {
  233.     DEF =  (GEW + MUT + INT) / 3; #NPC Defense
  234.     P_ATT =  (p_mut + p_gew + p_str) / 3; #Player Attack
  235.     hp_minus = RANDOM (P_ATT / DEF * 10); #Fight
  236.     hp_minus = INT (hp_minus);
  237.     MY._HEALTH = MY._HEALTH - hp_minus;
  238.     HP_TEST = MY._HEALTH;
  239.     IF (MY._HEALTH <= 0)
  240.     {
  241.         MY._STATE = DEAD;
  242.     }
  243. }
  244. ACTION fball_hit
  245. {
  246.     p_akt_hp -= 5;
  247.     CALL player_hit;
  248. }
  249. //
  250. ACTION player_hit
  251. {
  252.     IF (p_akt_hp <= 0)
  253.     {
  254.         BRANCH player_dead;
  255.     }
  256.     IF (PLAYER.BUSY)
  257.     {
  258.         RETURN;
  259.     }
  260.     SET PLAYER.BUSY, TRUE;
  261.     PLAY_SOUND hurt_snd, 40;
  262.     SET blood_pan.TRANSPARENT, TRUE;
  263.     SET blood_pan.VISIBLE, TRUE;
  264.     WAIT 1;
  265.     SET blood_pan.TRANSPARENT, FALSE;
  266.     WAIT 1;
  267.     SET blood_pan.TRANSPARENT, TRUE;
  268.     SET blood_pan.VISIBLE, FALSE;
  269.     SET PLAYER.BUSY, FALSE;
  270. }