SHARE
TWEET

Untitled

a guest Jan 31st, 2016 15 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PLAYER.QC
  2. /////////
  3.  
  4.  
  5. void() bubble_bob;
  6. .float gatlingsound;
  7.  
  8. /*
  9. ==============================================================================
  10.  
  11. PLAYER
  12.  
  13. ==============================================================================
  14. */
  15.  
  16. $cd id1/models/player_4
  17. $origin 0 -6 24
  18. $base base     
  19. $skin skin
  20.  
  21. //
  22. // running
  23. //
  24. $frame axrun1 axrun2 axrun3 axrun4 axrun5 axrun6
  25.  
  26. $frame rockrun1 rockrun2 rockrun3 rockrun4 rockrun5 rockrun6
  27.  
  28. //
  29. // standing
  30. //
  31. $frame stand1 stand2 stand3 stand4 stand5
  32.  
  33. $frame axstnd1 axstnd2 axstnd3 axstnd4 axstnd5 axstnd6
  34. $frame axstnd7 axstnd8 axstnd9 axstnd10 axstnd11 axstnd12
  35.  
  36.  
  37. //
  38. // pain
  39. //
  40. $frame axpain1 axpain2 axpain3 axpain4 axpain5 axpain6
  41.  
  42. $frame pain1 pain2 pain3 pain4 pain5 pain6
  43.  
  44.  
  45. //
  46. // death
  47. //
  48.  
  49. $frame axdeth1 axdeth2 axdeth3 axdeth4 axdeth5 axdeth6
  50. $frame axdeth7 axdeth8 axdeth9
  51.  
  52. $frame deatha1 deatha2 deatha3 deatha4 deatha5 deatha6 deatha7 deatha8
  53. $frame deatha9 deatha10 deatha11
  54.  
  55. $frame deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8
  56. $frame deathb9
  57.  
  58. $frame deathc1 deathc2 deathc3 deathc4 deathc5 deathc6 deathc7 deathc8
  59. $frame deathc9 deathc10 deathc11 deathc12 deathc13 deathc14 deathc15
  60.  
  61. $frame deathd1 deathd2 deathd3 deathd4 deathd5 deathd6 deathd7
  62. $frame deathd8 deathd9
  63.  
  64. $frame deathe1 deathe2 deathe3 deathe4 deathe5 deathe6 deathe7
  65. $frame deathe8 deathe9
  66.  
  67. //
  68. // attacks
  69. //
  70. $frame nailatt1 nailatt2
  71.  
  72. $frame light1 light2
  73.  
  74. $frame rockatt1 rockatt2 rockatt3 rockatt4 rockatt5 rockatt6
  75.  
  76. $frame shotatt1 shotatt2 shotatt3 shotatt4 shotatt5 shotatt6
  77.  
  78. $frame axatt1 axatt2 axatt3 axatt4 axatt5 axatt6
  79.  
  80. $frame axattb1 axattb2 axattb3 axattb4 axattb5 axattb6
  81.  
  82. $frame axattc1 axattc2 axattc3 axattc4 axattc5 axattc6
  83.  
  84. $frame axattd1 axattd2 axattd3 axattd4 axattd5 axattd6
  85.  
  86.  
  87. /*
  88. ==============================================================================
  89. PLAYER
  90. ==============================================================================
  91. */
  92.  
  93. void() player_run;
  94.  
  95. void()  player_stand1 =[    $axstnd1,   player_stand1   ]
  96. {
  97.     self.weaponframe=0;
  98.     if (self.velocity_x || self.velocity_y)
  99.     {
  100.         self.walkframe=0;
  101.         player_run();
  102.         return;
  103.     }
  104.  
  105.     if (self.weapon == IT_AXE)
  106.     {
  107.         if (self.walkframe >= 12)
  108.             self.walkframe = 0;
  109.         self.frame = $axstnd1 + self.walkframe;
  110.     }
  111.     else
  112.     {
  113.         if (self.walkframe >= 5)
  114.             self.walkframe = 0;
  115.         self.frame = $stand1 + self.walkframe;
  116.     }
  117.     self.walkframe = self.walkframe + 1;   
  118. };
  119.  
  120. void()  player_run =[   $rockrun1,  player_run  ]
  121. {
  122.     self.weaponframe=0;
  123.     if (!self.velocity_x && !self.velocity_y)
  124.     {
  125.         self.walkframe=0;
  126.         player_stand1();
  127.         return;
  128.     }
  129.  
  130.     if (self.weapon == IT_AXE)
  131.     {
  132.         if (self.walkframe == 6)
  133.             self.walkframe = 0;
  134.         self.frame = $axrun1 + self.walkframe;
  135.     }
  136.     else
  137.     {
  138.         if (self.walkframe == 6)
  139.             self.walkframe = 0;
  140.         self.frame = self.frame + self.walkframe;
  141.     }
  142.     self.walkframe = self.walkframe + 1;
  143. };
  144.  
  145.  
  146. void()  player_shot1 =  [$shotatt1, player_shot2    ] {self.weaponframe=1;
  147. self.effects = self.effects | EF_MUZZLEFLASH;};
  148. void()  player_shot2 =  [$shotatt2, player_shot3    ] {self.weaponframe=2;};
  149. void()  player_shot3 =  [$shotatt3, player_shot4    ] {self.weaponframe=3;};
  150. void()  player_shot4 =  [$shotatt4, player_shot5    ] {self.weaponframe=4;};
  151. void()  player_shot5 =  [$shotatt5, player_shot6    ] {self.weaponframe=5;};
  152. void()  player_shot6 =  [$shotatt6, player_run  ] {self.weaponframe=6;};
  153.  
  154. void()  player_axe1 =   [$axatt1, player_axe2   ] {self.weaponframe=1;};
  155. void()  player_axe2 =   [$axatt2, player_axe3   ] {self.weaponframe=2;};
  156. void()  player_axe3 =   [$axatt3, player_axe4   ] {self.weaponframe=3;W_FireAxe();};
  157. void()  player_axe4 =   [$axatt4, player_run    ] {self.weaponframe=4;};
  158.  
  159. void()  player_axeb1 =  [$axattb1, player_axeb2 ] {self.weaponframe=5;};
  160. void()  player_axeb2 =  [$axattb2, player_axeb3 ] {self.weaponframe=6;};
  161. void()  player_axeb3 =  [$axattb3, player_axeb4 ] {self.weaponframe=7;W_FireAxe();};
  162. void()  player_axeb4 =  [$axattb4, player_run   ] {self.weaponframe=8;};
  163.  
  164. void()  player_axec1 =  [$axattc1, player_axec2 ] {self.weaponframe=1;};
  165. void()  player_axec2 =  [$axattc2, player_axec3 ] {self.weaponframe=2;};
  166. void()  player_axec3 =  [$axattc3, player_axec4 ] {self.weaponframe=3;W_FireAxe();};
  167. void()  player_axec4 =  [$axattc4, player_run   ] {self.weaponframe=4;};
  168.  
  169. void()  player_axed1 =  [$axattd1, player_axed2 ] {self.weaponframe=5;};
  170. void()  player_axed2 =  [$axattd2, player_axed3 ] {self.weaponframe=6;};
  171. void()  player_axed3 =  [$axattd3, player_axed4 ] {self.weaponframe=7;W_FireAxe();};
  172. void()  player_axed4 =  [$axattd4, player_run   ] {self.weaponframe=8;};
  173.  
  174.  
  175. //============================================================================
  176.  
  177. void() player_nail1   =[$nailatt1, player_nail2  ]
  178. {
  179.     self.effects = self.effects | EF_MUZZLEFLASH;
  180.  
  181.     if (!self.button0)
  182.         {player_run ();return;}
  183.     self.weaponframe = self.weaponframe + 1;
  184.     if (self.weaponframe == 9)
  185.         self.weaponframe = 1;
  186.     SuperDamageSound();
  187.     W_FireSpikes (4);
  188.     self.attack_finished = time + 0.2;
  189. };
  190. void() player_nail2   =[$nailatt2, player_nail1  ]
  191. {
  192.     self.effects = self.effects | EF_MUZZLEFLASH;
  193.  
  194.     if (!self.button0)
  195.         {player_run ();return;}
  196.     self.weaponframe = self.weaponframe + 1;
  197.     if (self.weaponframe == 9)
  198.         self.weaponframe = 1;
  199.     SuperDamageSound();
  200.     W_FireSpikes (-4);
  201.     self.attack_finished = time + 0.2;
  202. };
  203.  
  204. //============================================================================
  205.  
  206. void() player_inf1   =[$nailatt1, player_inf2  ]
  207. {
  208.     self.effects = self.effects | EF_MUZZLEFLASH;
  209.  
  210.     if ((!self.button0) || !W_CheckNoAmmo())
  211.         {player_run ();return;}
  212.     self.nextthink = time + 0.05;
  213.     self.weaponframe = self.weaponframe + 1;
  214.     if (self.weaponframe == 17)
  215.         self.weaponframe = 1;
  216.     SuperDamageSound();
  217.     W_FireInfantry ();
  218.     self.attack_finished = time + 0.1;
  219. };
  220. void() player_inf2   =[$nailatt1, player_inf3  ]
  221. {
  222.  
  223.     if ((!self.button0) || !W_CheckNoAmmo())
  224.         {player_run ();return;}
  225.     self.nextthink = time + 0.05;
  226.     self.weaponframe = self.weaponframe + 1;
  227.     if (self.weaponframe == 17)
  228.         self.weaponframe = 1;
  229.     self.attack_finished = time + 0.1;
  230. };
  231. void() player_inf3   =[$nailatt2, player_inf4  ]
  232. {
  233.     self.effects = self.effects | EF_MUZZLEFLASH;
  234.  
  235.     if ((!self.button0) || !W_CheckNoAmmo())
  236.         {player_run ();return;}
  237.     self.nextthink = time + 0.05;
  238.     self.weaponframe = self.weaponframe + 1;
  239.     if (self.weaponframe == 17)
  240.         self.weaponframe = 1;
  241.     SuperDamageSound();
  242.     W_FireInfantry();
  243.     self.attack_finished = time + 0.1;
  244. };
  245. void() player_inf4   =[$nailatt2, player_inf1  ]
  246. {
  247.  
  248.     if ((!self.button0) || !W_CheckNoAmmo())
  249.         {player_run ();return;}
  250.     self.nextthink = time + 0.05;
  251.     self.weaponframe = self.weaponframe + 1;
  252.     if (self.weaponframe == 17)
  253.         self.weaponframe = 1;
  254.     self.attack_finished = time + 0.1;
  255. };
  256.  
  257. //============================================================================
  258.  
  259. void() player_gatldown1   =[$nailatt1, player_gatldown2  ]
  260. {
  261.  
  262.     //if ((!self.button0) || !W_CheckNoAmmo())
  263.         //{player_run ();return;}
  264.     //if (self.t_width < time)
  265.         //{
  266.     sound (self, CHAN_WEAPON, "weapons/mingn3.wav", 1, ATTN_NORM);
  267.         //self.t_width = time + 2.55;
  268.         //}
  269.     self.weaponframe = self.weaponframe + 1;
  270.     self.attack_finished = time + 0.9;
  271.     if (self.weaponframe == 37)
  272.         player_run(); //self.weaponframe =
  273. };
  274.  
  275. void() player_gatldown2   =[$nailatt1, player_gatldown2  ]
  276. {
  277.  
  278.     //if ((!self.button0) || !W_CheckNoAmmo())
  279.         //{player_run ();return;}  
  280.     self.weaponframe = self.weaponframe + 1;
  281.     if (self.weaponframe == 37)
  282.         player_run(); //self.weaponframe = 1
  283. };
  284.  
  285. void() player_gatlup1   =[$light1, player_gatlup2  ]
  286. {
  287.  
  288.     //if ((!self.button0) || !W_CheckNoAmmo())
  289.         //{player_run ();return;}
  290.     //W_GatlingSpinUp();
  291.     self.weaponframe = 1;
  292.     sound (self, CHAN_WEAPON, "weapons/mingn1.wav", 1, ATTN_NORM);
  293.     self.attack_finished = time + 0.9;
  294.     self.weaponframe = self.weaponframe + 1;
  295.  
  296. };
  297.  
  298. void() player_gatlup2   =[$light1, player_gatlup3  ]
  299. {
  300.  
  301.     //if ((!self.button0) || !W_CheckNoAmmo())
  302.         //{player_run ();return;}
  303.     self.weaponframe = self.weaponframe + 1;
  304.     //if (self.weaponframe == 10)
  305.         //self.weaponframe = 1;
  306. };
  307.  
  308. void() player_gatlup3   =[$light1, player_gatlup4  ]
  309. {
  310.  
  311.     //if ((!self.button0) || !W_CheckNoAmmo())
  312.         //{player_run ();return;}
  313.     self.weaponframe = self.weaponframe + 1;
  314.     //if (self.weaponframe == 10)
  315.         //self.weaponframe = 1;
  316. };
  317.  
  318. void() player_gatlup4   =[$light1, player_gatlup5  ]
  319. {
  320.  
  321.     //if ((!self.button0) || !W_CheckNoAmmo())
  322.         //{player_run ();return;}
  323.     self.weaponframe = self.weaponframe + 1;
  324.     //if (self.weaponframe == 10)
  325.         //self.weaponframe = 1;
  326. };
  327.  
  328. void() player_gatlup5   =[$light1, player_gatlup6  ]
  329. {
  330.  
  331.     //if ((!self.button0) || !W_CheckNoAmmo())
  332.         //{player_run ();return;}
  333.     self.weaponframe = self.weaponframe + 1;
  334.     //if (self.weaponframe == 10)
  335.         //self.weaponframe = 1;
  336. };
  337.  
  338. void() player_gatlup6   =[$light1, player_gatlup7  ]
  339. {
  340.  
  341.     //if ((!self.button0) || !W_CheckNoAmmo())
  342.         //{player_run ();return;}
  343.     self.weaponframe = self.weaponframe + 1;
  344.     //if (self.weaponframe == 10)
  345.         //self.weaponframe = 1;
  346. };
  347.  
  348. void() player_gatlup7   =[$light1, player_gatlup8  ]
  349. {
  350.  
  351.     //if ((!self.button0) || !W_CheckNoAmmo())
  352.         //{player_run ();return;}
  353.     self.weaponframe = self.weaponframe + 1;
  354.     self.attack_finished = time + 0.9;
  355.     //if (self.weaponframe == 10)
  356.         //self.weaponframe = 1;
  357. };
  358.  
  359. void() player_gatlup8   =[$light1, player_gatlshot1   ]
  360. {
  361.  
  362.     //if ((!self.button0) || !W_CheckNoAmmo())
  363.         //{player_run ();return;}
  364.     self.weaponframe = self.weaponframe + 1;
  365.     self.attack_finished = time + 0.9;
  366.  
  367.     self.gatlingsound = TRUE;
  368.  
  369.     //if (self.weaponframe == 10)
  370.         //self.weaponframe = 1;
  371. };
  372.  
  373. void() player_gatlshot1   =[$nailatt1, player_gatlshot2  ]
  374. {
  375.  
  376.     if ((!self.button0) || (self.currentammo <= 0))
  377.         {player_gatldown1 ();self.weaponframe = 18;return;} //return; to add
  378.  
  379.  
  380.     self.effects = self.effects | EF_MUZZLEFLASH;
  381.     self.nextthink = time + 0.05;
  382.     self.attack_finished = time + 0.9;
  383.     self.weaponframe = self.weaponframe + 1;
  384.     if (self.weaponframe == 18)
  385.         self.weaponframe = 10;
  386.     SuperDamageSound();
  387.     W_FireGatling();
  388.     self.punchangle_x = -3;
  389.  
  390.     if(self.gatlingsound == TRUE)
  391.         sound (self, CHAN_WEAPON, "weapons/mingn2.wav", 1, ATTN_NORM);
  392.     //else
  393.     //{
  394.     //player_gatldown1();
  395.     //}
  396. };
  397.  
  398. void() player_gatlshot2   =[$nailatt1, player_gatlshot3  ]
  399. {
  400.  
  401.     if ((!self.button0) || (self.currentammo <= 0))
  402.         {player_gatldown1 ();self.weaponframe = 18;return;}
  403.  
  404.     self.effects = self.effects | EF_MUZZLEFLASH;
  405.     self.nextthink = time + 0.05;
  406.     self.attack_finished = time + 0.9;
  407.     self.weaponframe = self.weaponframe + 1;
  408.     if (self.weaponframe == 18)
  409.         self.weaponframe = 10;
  410.     SuperDamageSound();
  411.     W_FireGatling();
  412.     //else
  413.     //{
  414.     //player_gatldown1();
  415.     //}
  416. };
  417.  
  418. void() player_gatlshot3   =[$nailatt2, player_gatlshot4  ]
  419. {
  420.  
  421.     if ((!self.button0) || (self.currentammo <= 0))
  422.         {player_gatldown1 ();self.weaponframe = 18;return;}
  423.  
  424.     self.effects = self.effects | EF_MUZZLEFLASH;
  425.     self.nextthink = time + 0.05;
  426.     self.attack_finished = time + 0.9;
  427.     self.weaponframe = self.weaponframe + 1;
  428.     if (self.weaponframe == 18)
  429.         self.weaponframe = 10;
  430.     SuperDamageSound();
  431.     W_FireGatling();
  432.     self.punchangle_x = -3;
  433. };
  434.  
  435. void() player_gatlshot4   =[$nailatt2, player_gatlshot5  ]
  436. {
  437.  
  438.     if ((!self.button0) || (self.currentammo <= 0))
  439.         {player_gatldown1 ();self.weaponframe = 18;return;}
  440.  
  441.     self.effects = self.effects | EF_MUZZLEFLASH;
  442.     self.nextthink = time + 0.05;
  443.     self.attack_finished = time + 0.9;
  444.     self.weaponframe = self.weaponframe + 1;
  445.     if (self.weaponframe == 18)
  446.         self.weaponframe = 10;
  447.     SuperDamageSound();
  448.     W_FireGatling();
  449. };
  450.  
  451. void() player_gatlshot5   =[$nailatt1, player_gatlshot6  ]
  452. {
  453.  
  454.     if ((!self.button0) || (self.currentammo <= 0))
  455.         {player_gatldown1 ();self.weaponframe = 18;return;} //return; to add
  456.  
  457.     self.effects = self.effects | EF_MUZZLEFLASH;
  458.     self.nextthink = time + 0.05;
  459.     self.attack_finished = time + 0.9;
  460.     self.weaponframe = self.weaponframe + 1;
  461.     if (self.weaponframe == 18)
  462.         self.weaponframe = 10;
  463.     SuperDamageSound();
  464.     W_FireGatling();
  465.     self.punchangle_x = -3;
  466.     //else
  467.     //{
  468.     //player_gatldown1();
  469.     //}
  470. };
  471.  
  472. void() player_gatlshot6   =[$nailatt1, player_gatlshot7  ]
  473. {
  474.  
  475.     if ((!self.button0) || (self.currentammo <= 0))
  476.         {player_gatldown1 ();self.weaponframe = 18;return;}
  477.  
  478.     self.effects = self.effects | EF_MUZZLEFLASH;
  479.     self.nextthink = time + 0.05;
  480.     self.attack_finished = time + 0.9;
  481.     self.weaponframe = self.weaponframe + 1;
  482.     if (self.weaponframe == 18)
  483.         self.weaponframe = 10;
  484.     SuperDamageSound();
  485.     W_FireGatling();
  486.     //else
  487.     //{
  488.     //player_gatldown1();
  489.     //}
  490. };
  491.  
  492. void() player_gatlshot7   =[$nailatt2, player_gatlshot8  ]
  493. {
  494.  
  495.     if ((!self.button0) || (self.currentammo <= 0))
  496.         {player_gatldown1 ();self.weaponframe = 18;return;}
  497.  
  498.     self.effects = self.effects | EF_MUZZLEFLASH;
  499.     self.nextthink = time + 0.05;
  500.     self.attack_finished = time + 0.9;
  501.     self.weaponframe = self.weaponframe + 1;
  502.     if (self.weaponframe == 18)
  503.         self.weaponframe = 10;
  504.     SuperDamageSound();
  505.     W_FireGatling();
  506.     self.punchangle_x = -3;
  507.  
  508. };
  509.  
  510. void() player_gatlshot8   =[$nailatt2, player_gatlshot1  ]
  511. {
  512.  
  513.     if ((!self.button0) || (self.currentammo <= 0))
  514.         {player_gatldown1 ();self.weaponframe = 18;return;}
  515.  
  516.     self.effects = self.effects | EF_MUZZLEFLASH;
  517.     self.nextthink = time + 0.05;
  518.     self.attack_finished = time + 0.9;
  519.     self.weaponframe = self.weaponframe + 1;
  520.     if (self.weaponframe == 18)
  521.         self.weaponframe = 10;
  522.     SuperDamageSound();
  523.     W_FireGatling();
  524.  
  525. if(self.gatlingsound == TRUE)
  526.             self.gatlingsound = FALSE;
  527.         else
  528.             self.gatlingsound = TRUE;
  529.  
  530. };
  531.  
  532.  
  533.  
  534. //============================================================================
  535.  
  536. void() player_bfgprep1   =[$light1, player_bfgprep2  ]
  537. {
  538.  
  539.     self.weaponframe = 1;
  540.     sound (self, CHAN_WEAPON, "weapons/bfgprep.wav", 1, ATTN_NORM);
  541.     self.attack_finished = time + 0.7;
  542.     self.weaponframe = self.weaponframe + 1;
  543.  
  544. };
  545.  
  546. void() player_bfgprep2   =[$light1, player_bfgprep3  ]
  547. {
  548.     self.weaponframe = self.weaponframe + 1;
  549. };
  550.  
  551. void() player_bfgprep3   =[$light1, player_bfgprep4  ]
  552. {
  553.     self.weaponframe = self.weaponframe + 1;
  554. };
  555.  
  556. void() player_bfgprep4   =[$light1, player_bfgprep5  ]
  557. {
  558.     self.weaponframe = self.weaponframe + 1;
  559. };
  560.  
  561. void() player_bfgprep5   =[$light1, player_bfgprep6  ]
  562. {
  563.     self.weaponframe = self.weaponframe + 1;
  564. };
  565.  
  566. void() player_bfgprep6   =[$light1, player_bfgshot1  ]
  567. {
  568.     self.weaponframe = self.weaponframe + 1;
  569. };
  570.  
  571. void() player_bfgshot1   =[$rockatt1, player_bfgshot2  ]
  572. {
  573.  
  574.     self.effects = self.effects | EF_MUZZLEFLASH;
  575.     self.attack_finished = time + 1.3;
  576.     self.weaponframe = self.weaponframe + 1;
  577.  
  578.     SuperDamageSound();
  579.     W_Bfg_Fire();
  580.     self.punchangle_x = -4;
  581.  
  582.     //if (self.weaponframe == 21)
  583.         //sound (self, CHAN_WEAPON, "weapons/bfgcrank.wav", 1, ATTN_NORM);
  584. };
  585.  
  586. void() player_bfgshot2   =[$rockatt1, player_bfgshot3  ] {self.weaponframe = self.weaponframe + 1;};
  587. void() player_bfgshot3   =[$rockatt2, player_bfgshot4  ] {self.weaponframe = self.weaponframe + 1;};
  588. void() player_bfgshot4   =[$rockatt3, player_bfgshot5  ] {self.weaponframe = self.weaponframe + 1;};
  589. void() player_bfgshot5   =[$rockatt4, player_bfgshot6  ] {self.weaponframe = self.weaponframe + 1;};
  590. void() player_bfgshot6   =[$rockatt5, player_bfgshot7  ] {self.weaponframe = self.weaponframe + 1;};
  591. void() player_bfgshot7   =[$rockatt6, player_bfgshot8  ] {self.weaponframe = self.weaponframe + 1;};
  592. void() player_bfgshot8   =[$light1, player_bfgshot9  ] {self.weaponframe = self.weaponframe + 1;};
  593. void() player_bfgshot9   =[$light1, player_bfgshot10  ] {self.weaponframe = self.weaponframe + 1;};
  594. void() player_bfgshot10   =[$light1, player_bfgcrank1  ] {self.weaponframe = self.weaponframe + 1;};
  595.  
  596. void() player_bfgcrank1   =[$light1, player_bfgcrank2  ] {sound (self, CHAN_WEAPON, "weapons/bfgcrank.wav", 1, ATTN_NORM); self.weaponframe = self.weaponframe + 1;};
  597. void() player_bfgcrank2   =[$light1, player_bfgcrank3  ] {self.weaponframe = self.weaponframe + 1;};
  598. void() player_bfgcrank3   =[$light1, player_run  ] {self.weaponframe = self.weaponframe + 1;};
  599.  
  600.  
  601. //============================================================================
  602.  
  603. void() player_light1   =[$light1, player_light2  ]
  604. {
  605.     self.effects = self.effects | EF_MUZZLEFLASH;
  606.  
  607.     if (!self.button0)
  608.         {player_run ();return;}
  609.     self.weaponframe = self.weaponframe + 1;
  610.     if (self.weaponframe == 5)
  611.         self.weaponframe = 1;
  612.     SuperDamageSound();
  613.     W_FireLightning();
  614.     self.attack_finished = time + 0.2;
  615. };
  616. void() player_light2   =[$light2, player_light1  ]
  617. {
  618.     self.effects = self.effects | EF_MUZZLEFLASH;
  619.  
  620.     if (!self.button0)
  621.         {player_run ();return;}
  622.     self.weaponframe = self.weaponframe + 1;
  623.     if (self.weaponframe == 5)
  624.         self.weaponframe = 1;
  625.     SuperDamageSound();
  626.     W_FireLightning();
  627.     self.attack_finished = time + 0.2;
  628. };
  629.  
  630. //============================================================================
  631.  
  632.  
  633. void() player_rocket1   =[$rockatt1, player_rocket2  ] {self.weaponframe=1;
  634. self.effects = self.effects | EF_MUZZLEFLASH;};
  635. void() player_rocket2   =[$rockatt2, player_rocket3  ] {self.weaponframe=2;};
  636. void() player_rocket3   =[$rockatt3, player_rocket4  ] {self.weaponframe=3;};
  637. void() player_rocket4   =[$rockatt4, player_rocket5  ] {self.weaponframe=4;};
  638. void() player_rocket5   =[$rockatt5, player_rocket6  ] {self.weaponframe=5;};
  639. void() player_rocket6   =[$rockatt6, player_run  ] {self.weaponframe=6;};
  640. void(float num_bubbles) DeathBubbles;
  641.  
  642. void() PainSound =
  643. {
  644. local float     rs;
  645.  
  646.     if (self.health < 0)
  647.         return;
  648.  
  649.     if (damage_attacker.classname == "teledeath")
  650.     {
  651.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  652.         return;
  653.     }
  654.  
  655. // water pain sounds
  656.     if (self.watertype == CONTENT_WATER && self.waterlevel == 3)
  657.     {
  658.         DeathBubbles(1);
  659.         if (random() > 0.5)
  660.             sound (self, CHAN_VOICE, "player/drown1.wav", 1, ATTN_NORM);
  661.         else
  662.             sound (self, CHAN_VOICE, "player/drown2.wav", 1, ATTN_NORM);
  663.         return;
  664.     }
  665.  
  666. // slime pain sounds
  667.     if (self.watertype == CONTENT_SLIME)
  668.     {
  669. // FIX ME   put in some steam here
  670.         if (random() > 0.5)
  671.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  672.         else
  673.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  674.         return;
  675.     }
  676.  
  677.     if (self.watertype == CONTENT_LAVA)
  678.     {
  679.         if (random() > 0.5)
  680.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  681.         else
  682.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  683.         return;
  684.     }
  685.  
  686.     if (self.pain_finished > time)
  687.     {
  688.         self.axhitme = 0;
  689.         return;
  690.     }
  691.     self.pain_finished = time + 0.5;
  692.  
  693. // don't make multiple pain sounds right after each other
  694.  
  695. // ax pain sound
  696.     if (self.axhitme == 1)
  697.     {
  698.         self.axhitme = 0;
  699.         sound (self, CHAN_VOICE, "player/axhit1.wav", 1, ATTN_NORM);
  700.         return;
  701.     }
  702.    
  703.  
  704.     rs = rint((random() * 5) + 1);
  705.  
  706.     self.noise = "";
  707.     if (rs == 1)
  708.         self.noise = "player/pain1.wav";
  709.     else if (rs == 2)
  710.         self.noise = "player/pain2.wav";
  711.     else if (rs == 3)
  712.         self.noise = "player/pain3.wav";
  713.     else if (rs == 4)
  714.         self.noise = "player/pain4.wav";
  715.     else if (rs == 5)
  716.         self.noise = "player/pain5.wav";
  717.     else
  718.         self.noise = "player/pain6.wav";
  719.  
  720.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NORM);
  721.     return;
  722. };
  723.  
  724. void()  player_pain1 =  [   $pain1, player_pain2    ] {PainSound();self.weaponframe=0;};
  725. void()  player_pain2 =  [   $pain2, player_pain3    ] {};
  726. void()  player_pain3 =  [   $pain3, player_pain4    ] {};
  727. void()  player_pain4 =  [   $pain4, player_pain5    ] {};
  728. void()  player_pain5 =  [   $pain5, player_pain6    ] {};
  729. void()  player_pain6 =  [   $pain6, player_run  ] {};
  730.  
  731. void()  player_axpain1 =    [   $axpain1,   player_axpain2  ] {PainSound();self.weaponframe=0;};
  732. void()  player_axpain2 =    [   $axpain2,   player_axpain3  ] {};
  733. void()  player_axpain3 =    [   $axpain3,   player_axpain4  ] {};
  734. void()  player_axpain4 =    [   $axpain4,   player_axpain5  ] {};
  735. void()  player_axpain5 =    [   $axpain5,   player_axpain6  ] {};
  736. void()  player_axpain6 =    [   $axpain6,   player_run  ] {};
  737.  
  738. void() player_pain =
  739. {
  740.     if (self.weaponframe)
  741.         return;
  742.  
  743.     if (self.invisible_finished > time)
  744.         return;     // eyes don't have pain frames
  745.  
  746.     if (self.weapon == IT_AXE)
  747.         player_axpain1 ();
  748.     else
  749.         player_pain1 ();
  750. };
  751.  
  752. void() player_diea1;
  753. void() player_dieb1;
  754. void() player_diec1;
  755. void() player_died1;
  756. void() player_diee1;
  757. void() player_die_ax1;
  758.  
  759. void() DeathBubblesSpawn =
  760. {
  761. local entity    bubble;
  762.     if (self.owner.waterlevel != 3)
  763.         return;
  764.     bubble = spawn();
  765.     setmodel (bubble, "progs/s_bubble.spr");
  766.     setorigin (bubble, self.owner.origin + '0 0 24');
  767.     bubble.movetype = MOVETYPE_NOCLIP;
  768.     bubble.solid = SOLID_NOT;
  769.     bubble.velocity = '0 0 15';
  770.     bubble.nextthink = time + 0.5;
  771.     bubble.think = bubble_bob;
  772.     bubble.classname = "bubble";
  773.     bubble.frame = 0;
  774.     bubble.cnt = 0;
  775.     setsize (bubble, '-8 -8 -8', '8 8 8');
  776.     self.nextthink = time + 0.1;
  777.     self.think = DeathBubblesSpawn;
  778.     self.air_finished = self.air_finished + 1;
  779.     if (self.air_finished >= self.bubble_count)
  780.         remove(self);
  781. };
  782.  
  783. void(float num_bubbles) DeathBubbles =
  784. {
  785. local entity    bubble_spawner;
  786.    
  787.     bubble_spawner = spawn();
  788.     setorigin (bubble_spawner, self.origin);
  789.     bubble_spawner.movetype = MOVETYPE_NONE;
  790.     bubble_spawner.solid = SOLID_NOT;
  791.     bubble_spawner.nextthink = time + 0.1;
  792.     bubble_spawner.think = DeathBubblesSpawn;
  793.     bubble_spawner.air_finished = 0;
  794.     bubble_spawner.owner = self;
  795.     bubble_spawner.bubble_count = num_bubbles;
  796.     return;
  797. };
  798.  
  799.  
  800. void() DeathSound =
  801. {
  802. local float     rs;
  803.  
  804.     // water death sounds
  805.     if (self.waterlevel == 3)
  806.     {
  807.         DeathBubbles(20);
  808.         sound (self, CHAN_VOICE, "player/h2odeath.wav", 1, ATTN_NONE);
  809.         return;
  810.     }
  811.    
  812.     rs = rint ((random() * 4) + 1);
  813.     if (rs == 1)
  814.         self.noise = "player/death1.wav";
  815.     if (rs == 2)
  816.         self.noise = "player/death2.wav";
  817.     if (rs == 3)
  818.         self.noise = "player/death3.wav";
  819.     if (rs == 4)
  820.         self.noise = "player/death4.wav";
  821.     if (rs == 5)
  822.         self.noise = "player/death5.wav";
  823.  
  824.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NONE);
  825.     return;
  826. };
  827.  
  828.  
  829. void() PlayerDead =
  830. {
  831.     self.nextthink = -1;
  832. // allow respawn after a certain time
  833.     self.deadflag = DEAD_DEAD;
  834. };
  835.  
  836. vector(float dm) VelocityForDamage =
  837. {
  838.     local vector v;
  839.  
  840.     v_x = 100 * crandom();
  841.     v_y = 100 * crandom();
  842.     v_z = 200 + 100 * random();
  843.  
  844.     if (dm > -50)
  845.     {
  846. //      dprint ("level 1\n");
  847.         v = v * 0.7;
  848.     }
  849.     else if (dm > -200)
  850.     {
  851. //      dprint ("level 3\n");
  852.         v = v * 2;
  853.     }
  854.     else
  855.         v = v * 10;
  856.  
  857.     return v;
  858. };
  859.  
  860. void(string gibname, float dm) ThrowGib =
  861. {
  862.     local   entity new;
  863.  
  864.     new = spawn();
  865.     new.origin = self.origin;
  866.     setmodel (new, gibname);
  867.     setsize (new, '0 0 0', '0 0 0');
  868.     new.velocity = VelocityForDamage (dm);
  869.     new.movetype = MOVETYPE_BOUNCE;
  870.     new.solid = SOLID_NOT;
  871.     new.avelocity_x = random()*600;
  872.     new.avelocity_y = random()*600;
  873.     new.avelocity_z = random()*600;
  874.     new.think = SUB_Remove;
  875.     new.ltime = time;
  876.     new.nextthink = time + 10 + random()*10;
  877.     new.frame = 0;
  878.     new.flags = 0;
  879. };
  880.  
  881. void(string gibname, float dm) ThrowHead =
  882. {
  883.     setmodel (self, gibname);
  884.     self.frame = 0;
  885.     self.nextthink = -1;
  886.     self.movetype = MOVETYPE_BOUNCE;
  887.     self.takedamage = DAMAGE_NO;
  888.     self.solid = SOLID_NOT;
  889.     self.view_ofs = '0 0 8';
  890.     setsize (self, '-16 -16 0', '16 16 56');
  891.     self.velocity = VelocityForDamage (dm);
  892.     self.origin_z = self.origin_z - 24;
  893.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  894.     self.avelocity = crandom() * '0 600 0';
  895. };
  896.  
  897.  
  898. void() GibPlayer =
  899. {
  900.     ThrowHead ("progs/h_player.mdl", self.health);
  901.     ThrowGib ("progs/gib1.mdl", self.health);
  902.     ThrowGib ("progs/gib2.mdl", self.health);
  903.     ThrowGib ("progs/gib3.mdl", self.health);
  904.  
  905.     self.deadflag = DEAD_DEAD;
  906.  
  907.     if (damage_attacker.classname == "teledeath")
  908.     {
  909.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  910.         return;
  911.     }
  912.  
  913.     if (damage_attacker.classname == "teledeath2")
  914.     {
  915.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  916.         return;
  917.     }
  918.        
  919.     if (random() < 0.5)
  920.         sound (self, CHAN_VOICE, "player/gib.wav", 1, ATTN_NONE);
  921.     else
  922.         sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NONE);
  923. };
  924.  
  925. void() PlayerDie =
  926. {
  927.     local   float   i;
  928.    
  929.     self.items = self.items - (self.items & IT_INVISIBILITY);
  930.     self.invisible_finished = 0;    // don't die as eyes
  931.     self.invincible_finished = 0;
  932.     self.super_damage_finished = 0;
  933.     self.radsuit_finished = 0;
  934.     self.modelindex = modelindex_player;    // don't use eyes
  935.  
  936.     if (deathmatch || coop)
  937.         DropBackpack();
  938.    
  939.     self.weaponmodel="";
  940.     self.view_ofs = '0 0 -8';
  941.     self.deadflag = DEAD_DYING;
  942.     self.solid = SOLID_NOT;
  943.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  944.     self.movetype = MOVETYPE_TOSS;
  945.     if (self.velocity_z < 10)
  946.         self.velocity_z = self.velocity_z + random()*300;
  947.  
  948.     if (self.health < -40)
  949.     {
  950.         GibPlayer ();
  951.         return;
  952.     }
  953.  
  954.     DeathSound();
  955.    
  956.     self.angles_x = 0;
  957.     self.angles_z = 0;
  958.    
  959.     if (self.weapon == IT_AXE)
  960.     {
  961.         player_die_ax1 ();
  962.         return;
  963.     }
  964.    
  965.     i = cvar("temp1");
  966.     if (!i)
  967.         i = 1 + floor(random()*6);
  968.    
  969.     if (i == 1)
  970.         player_diea1();
  971.     else if (i == 2)
  972.         player_dieb1();
  973.     else if (i == 3)
  974.         player_diec1();
  975.     else if (i == 4)
  976.         player_died1();
  977.     else
  978.         player_diee1();
  979.  
  980. };
  981.  
  982. void() set_suicide_frame =
  983. {   // used by klill command and diconnect command
  984.     if (self.model != "progs/player.mdl")
  985.         return; // allready gibbed
  986.     self.frame = $deatha11;
  987.     self.solid = SOLID_NOT;
  988.     self.movetype = MOVETYPE_TOSS;
  989.     self.deadflag = DEAD_DEAD;
  990.     self.nextthink = -1;
  991. };
  992.  
  993.  
  994. void()  player_diea1    =   [   $deatha1,   player_diea2    ] {};
  995. void()  player_diea2    =   [   $deatha2,   player_diea3    ] {};
  996. void()  player_diea3    =   [   $deatha3,   player_diea4    ] {};
  997. void()  player_diea4    =   [   $deatha4,   player_diea5    ] {};
  998. void()  player_diea5    =   [   $deatha5,   player_diea6    ] {};
  999. void()  player_diea6    =   [   $deatha6,   player_diea7    ] {};
  1000. void()  player_diea7    =   [   $deatha7,   player_diea8    ] {};
  1001. void()  player_diea8    =   [   $deatha8,   player_diea9    ] {};
  1002. void()  player_diea9    =   [   $deatha9,   player_diea10   ] {};
  1003. void()  player_diea10   =   [   $deatha10,  player_diea11   ] {};
  1004. void()  player_diea11   =   [   $deatha11,  player_diea11 ] {PlayerDead();};
  1005.  
  1006. void()  player_dieb1    =   [   $deathb1,   player_dieb2    ] {};
  1007. void()  player_dieb2    =   [   $deathb2,   player_dieb3    ] {};
  1008. void()  player_dieb3    =   [   $deathb3,   player_dieb4    ] {};
  1009. void()  player_dieb4    =   [   $deathb4,   player_dieb5    ] {};
  1010. void()  player_dieb5    =   [   $deathb5,   player_dieb6    ] {};
  1011. void()  player_dieb6    =   [   $deathb6,   player_dieb7    ] {};
  1012. void()  player_dieb7    =   [   $deathb7,   player_dieb8    ] {};
  1013. void()  player_dieb8    =   [   $deathb8,   player_dieb9    ] {};
  1014. void()  player_dieb9    =   [   $deathb9,   player_dieb9    ] {PlayerDead();};
  1015.  
  1016. void()  player_diec1    =   [   $deathc1,   player_diec2    ] {};
  1017. void()  player_diec2    =   [   $deathc2,   player_diec3    ] {};
  1018. void()  player_diec3    =   [   $deathc3,   player_diec4    ] {};
  1019. void()  player_diec4    =   [   $deathc4,   player_diec5    ] {};
  1020. void()  player_diec5    =   [   $deathc5,   player_diec6    ] {};
  1021. void()  player_diec6    =   [   $deathc6,   player_diec7    ] {};
  1022. void()  player_diec7    =   [   $deathc7,   player_diec8    ] {};
  1023. void()  player_diec8    =   [   $deathc8,   player_diec9    ] {};
  1024. void()  player_diec9    =   [   $deathc9,   player_diec10   ] {};
  1025. void()  player_diec10   =   [   $deathc10,  player_diec11   ] {};
  1026. void()  player_diec11   =   [   $deathc11,  player_diec12   ] {};
  1027. void()  player_diec12   =   [   $deathc12,  player_diec13   ] {};
  1028. void()  player_diec13   =   [   $deathc13,  player_diec14   ] {};
  1029. void()  player_diec14   =   [   $deathc14,  player_diec15   ] {};
  1030. void()  player_diec15   =   [   $deathc15,  player_diec15 ] {PlayerDead();};
  1031.  
  1032. void()  player_died1    =   [   $deathd1,   player_died2    ] {};
  1033. void()  player_died2    =   [   $deathd2,   player_died3    ] {};
  1034. void()  player_died3    =   [   $deathd3,   player_died4    ] {};
  1035. void()  player_died4    =   [   $deathd4,   player_died5    ] {};
  1036. void()  player_died5    =   [   $deathd5,   player_died6    ] {};
  1037. void()  player_died6    =   [   $deathd6,   player_died7    ] {};
  1038. void()  player_died7    =   [   $deathd7,   player_died8    ] {};
  1039. void()  player_died8    =   [   $deathd8,   player_died9    ] {};
  1040. void()  player_died9    =   [   $deathd9,   player_died9    ] {PlayerDead();};
  1041.  
  1042. void()  player_diee1    =   [   $deathe1,   player_diee2    ] {};
  1043. void()  player_diee2    =   [   $deathe2,   player_diee3    ] {};
  1044. void()  player_diee3    =   [   $deathe3,   player_diee4    ] {};
  1045. void()  player_diee4    =   [   $deathe4,   player_diee5    ] {};
  1046. void()  player_diee5    =   [   $deathe5,   player_diee6    ] {};
  1047. void()  player_diee6    =   [   $deathe6,   player_diee7    ] {};
  1048. void()  player_diee7    =   [   $deathe7,   player_diee8    ] {};
  1049. void()  player_diee8    =   [   $deathe8,   player_diee9    ] {};
  1050. void()  player_diee9    =   [   $deathe9,   player_diee9    ] {PlayerDead();};
  1051.  
  1052. void()  player_die_ax1  =   [   $axdeth1,   player_die_ax2  ] {};
  1053. void()  player_die_ax2  =   [   $axdeth2,   player_die_ax3  ] {};
  1054. void()  player_die_ax3  =   [   $axdeth3,   player_die_ax4  ] {};
  1055. void()  player_die_ax4  =   [   $axdeth4,   player_die_ax5  ] {};
  1056. void()  player_die_ax5  =   [   $axdeth5,   player_die_ax6  ] {};
  1057. void()  player_die_ax6  =   [   $axdeth6,   player_die_ax7  ] {};
  1058. void()  player_die_ax7  =   [   $axdeth7,   player_die_ax8  ] {};
  1059. void()  player_die_ax8  =   [   $axdeth8,   player_die_ax9  ] {};
  1060. void()  player_die_ax9  =   [   $axdeth9,   player_die_ax9  ] {PlayerDead();};
RAW Paste Data
Challenge yourself this year...
Learn something new in 2017
Top