1
2void() bubble_bob;
3
4/*
5==============================================================================
6
7PLAYER
8
9==============================================================================
10*/
11
12$cd /raid/quake/id1/models/player_4
13$origin 0 -6 24
14$base base              
15$skin skin
16
17//
18// running
19//
20$frame axrun1 axrun2 axrun3 axrun4 axrun5 axrun6
21
22$frame rockrun1 rockrun2 rockrun3 rockrun4 rockrun5 rockrun6
23
24//
25// standing
26//
27$frame stand1 stand2 stand3 stand4 stand5
28
29$frame axstnd1 axstnd2 axstnd3 axstnd4 axstnd5 axstnd6
30$frame axstnd7 axstnd8 axstnd9 axstnd10 axstnd11 axstnd12
31
32
33//
34// pain
35//
36$frame axpain1 axpain2 axpain3 axpain4 axpain5 axpain6
37
38$frame pain1 pain2 pain3 pain4 pain5 pain6
39
40
41//
42// death
43//
44
45$frame axdeth1 axdeth2 axdeth3 axdeth4 axdeth5 axdeth6
46$frame axdeth7 axdeth8 axdeth9
47
48$frame deatha1 deatha2 deatha3 deatha4 deatha5 deatha6 deatha7 deatha8
49$frame deatha9 deatha10 deatha11
50
51$frame deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8
52$frame deathb9
53
54$frame deathc1 deathc2 deathc3 deathc4 deathc5 deathc6 deathc7 deathc8
55$frame deathc9 deathc10 deathc11 deathc12 deathc13 deathc14 deathc15
56
57$frame deathd1 deathd2 deathd3 deathd4 deathd5 deathd6 deathd7
58$frame deathd8 deathd9
59
60$frame deathe1 deathe2 deathe3 deathe4 deathe5 deathe6 deathe7
61$frame deathe8 deathe9
62
63//
64// attacks
65//
66$frame nailatt1 nailatt2
67
68$frame light1 light2
69
70$frame rockatt1 rockatt2 rockatt3 rockatt4 rockatt5 rockatt6
71
72$frame shotatt1 shotatt2 shotatt3 shotatt4 shotatt5 shotatt6
73
74$frame axatt1 axatt2 axatt3 axatt4 axatt5 axatt6
75
76$frame axattb1 axattb2 axattb3 axattb4 axattb5 axattb6
77
78$frame axattc1 axattc2 axattc3 axattc4 axattc5 axattc6
79
80$frame axattd1 axattd2 axattd3 axattd4 axattd5 axattd6
81
82
83/*
84==============================================================================
85PLAYER
86==============================================================================
87*/
88
89void() player_run;
90
91void()  player_stand1 =[        $axstnd1,       player_stand1   ]
92{
93	self.weaponframe=0;
94	if (self.velocity_x || self.velocity_y)
95	{
96		self.walkframe=0;
97		player_run();
98		return;
99	}
100
101	if (self.weapon == IT_AXE)
102	{
103		if (self.walkframe >= 12)
104			self.walkframe = 0;
105		self.frame = $axstnd1 + self.walkframe;
106	}
107	else
108	{
109		if (self.walkframe >= 5)
110			self.walkframe = 0;
111		self.frame = $stand1 + self.walkframe;
112	}
113	self.walkframe = self.walkframe + 1;    
114};
115
116void()  player_run =[   $rockrun1,      player_run      ]
117{
118	self.weaponframe=0;
119	if (!self.velocity_x && !self.velocity_y)
120	{
121		self.walkframe=0;
122		player_stand1();
123		return;
124	}
125
126	if (self.weapon == IT_AXE)
127	{
128		if (self.walkframe == 6)
129			self.walkframe = 0;
130		self.frame = $axrun1 + self.walkframe;
131	}
132	else
133	{
134		if (self.walkframe == 6)
135			self.walkframe = 0;
136		self.frame = self.frame + self.walkframe;
137	}
138	self.walkframe = self.walkframe + 1;
139};
140
141void()muzzleflash =
142{
143	WriteByte (MSG_MULTICAST, SVC_MUZZLEFLASH);
144	WriteEntity (MSG_MULTICAST, self);
145	multicast (self.origin, MULTICAST_PVS);
146};
147
148
149void()  player_shot1 =  [$shotatt1, player_shot2        ] {self.weaponframe=1;muzzleflash();};
150void()  player_shot2 =  [$shotatt2, player_shot3        ] {self.weaponframe=2;};
151void()  player_shot3 =  [$shotatt3, player_shot4        ] {self.weaponframe=3;};
152void()  player_shot4 =  [$shotatt4, player_shot5        ] {self.weaponframe=4;};
153void()  player_shot5 =  [$shotatt5, player_shot6        ] {self.weaponframe=5;};
154void()  player_shot6 =  [$shotatt6, player_run  ] {self.weaponframe=6;};
155
156void()  player_axe1 =   [$axatt1, player_axe2   ] {self.weaponframe=1;};
157void()  player_axe2 =   [$axatt2, player_axe3   ] {self.weaponframe=2;};
158void()  player_axe3 =   [$axatt3, player_axe4   ] {self.weaponframe=3;W_FireAxe();};
159void()  player_axe4 =   [$axatt4, player_run    ] {self.weaponframe=4;};
160
161void()  player_axeb1 =  [$axattb1, player_axeb2 ] {self.weaponframe=5;};
162void()  player_axeb2 =  [$axattb2, player_axeb3 ] {self.weaponframe=6;};
163void()  player_axeb3 =  [$axattb3, player_axeb4 ] {self.weaponframe=7;W_FireAxe();};
164void()  player_axeb4 =  [$axattb4, player_run   ] {self.weaponframe=8;};
165
166void()  player_axec1 =  [$axattc1, player_axec2 ] {self.weaponframe=1;};
167void()  player_axec2 =  [$axattc2, player_axec3 ] {self.weaponframe=2;};
168void()  player_axec3 =  [$axattc3, player_axec4 ] {self.weaponframe=3;W_FireAxe();};
169void()  player_axec4 =  [$axattc4, player_run   ] {self.weaponframe=4;};
170
171void()  player_axed1 =  [$axattd1, player_axed2 ] {self.weaponframe=5;};
172void()  player_axed2 =  [$axattd2, player_axed3 ] {self.weaponframe=6;};
173void()  player_axed3 =  [$axattd3, player_axed4 ] {self.weaponframe=7;W_FireAxe();};
174void()  player_axed4 =  [$axattd4, player_run   ] {self.weaponframe=8;};
175
176
177//============================================================================
178
179void() player_nail1   =[$nailatt1, player_nail2  ] 
180{
181	muzzleflash();
182
183	if (!self.button0 || intermission_running || self.impulse)
184		{player_run ();return;}
185	self.weaponframe = self.weaponframe + 1;
186	if (self.weaponframe == 9)
187		self.weaponframe = 1;
188	SuperDamageSound();
189	W_FireSpikes (4);
190	self.attack_finished = time + 0.2;
191};
192void() player_nail2   =[$nailatt2, player_nail1  ]
193{
194	muzzleflash();
195
196	if (!self.button0 || intermission_running || self.impulse)
197		{player_run ();return;}
198	self.weaponframe = self.weaponframe + 1;
199	if (self.weaponframe == 9)
200		self.weaponframe = 1;
201	SuperDamageSound();
202	W_FireSpikes (-4);
203	self.attack_finished = time + 0.2;
204};
205
206//============================================================================
207
208void() player_light1   =[$light1, player_light2  ] 
209{
210	muzzleflash();
211
212	if (!self.button0 || intermission_running)
213		{player_run ();return;}
214	self.weaponframe = self.weaponframe + 1;
215	if (self.weaponframe == 5)
216		self.weaponframe = 1;
217	SuperDamageSound();
218	W_FireLightning();
219	self.attack_finished = time + 0.2;
220};
221void() player_light2   =[$light2, player_light1  ]
222{
223	muzzleflash();
224
225	if (!self.button0 || intermission_running)
226		{player_run ();return;}
227	self.weaponframe = self.weaponframe + 1;
228	if (self.weaponframe == 5)
229		self.weaponframe = 1;
230	SuperDamageSound();
231	W_FireLightning();
232	self.attack_finished = time + 0.2;
233};
234
235//============================================================================
236
237
238void() player_rocket1   =[$rockatt1, player_rocket2  ] {self.weaponframe=1;
239	muzzleflash();};
240void() player_rocket2   =[$rockatt2, player_rocket3  ] {self.weaponframe=2;};
241void() player_rocket3   =[$rockatt3, player_rocket4  ] {self.weaponframe=3;};
242void() player_rocket4   =[$rockatt4, player_rocket5  ] {self.weaponframe=4;};
243void() player_rocket5   =[$rockatt5, player_rocket6  ] {self.weaponframe=5;};
244void() player_rocket6   =[$rockatt6, player_run  ] {self.weaponframe=6;};
245void(float num_bubbles) DeathBubbles;
246
247void() PainSound =
248{
249local float             rs;
250
251	if (self.health < 0)
252		return;
253
254	if (damage_attacker.classname == "teledeath")
255	{
256		sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
257		return;
258	}
259
260// water pain sounds
261	if (self.watertype == CONTENT_WATER && self.waterlevel == 3)
262	{
263		DeathBubbles(1);
264		if (random() > 0.5)
265			sound (self, CHAN_VOICE, "player/drown1.wav", 1, ATTN_NORM);
266		else
267			sound (self, CHAN_VOICE, "player/drown2.wav", 1, ATTN_NORM);
268		return;
269	}
270
271// slime pain sounds
272	if (self.watertype == CONTENT_SLIME)
273	{
274// FIX ME       put in some steam here
275		if (random() > 0.5)
276			sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
277		else
278			sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
279		return;
280	}
281
282	if (self.watertype == CONTENT_LAVA)
283	{
284		if (random() > 0.5)
285			sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
286		else
287			sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
288		return;
289	}
290
291	if (self.pain_finished > time)
292	{
293		self.axhitme = 0;
294		return;
295	}
296	self.pain_finished = time + 0.5;
297
298// don't make multiple pain sounds right after each other
299
300// ax pain sound
301	if (self.axhitme == 1)
302	{
303		self.axhitme = 0;
304		sound (self, CHAN_VOICE, "player/axhit1.wav", 1, ATTN_NORM);
305		return;
306	}
307	
308
309	rs = rint((random() * 5) + 1);
310
311	self.noise = "";
312	if (rs == 1)
313		self.noise = "player/pain1.wav";
314	else if (rs == 2)
315		self.noise = "player/pain2.wav";
316	else if (rs == 3)
317		self.noise = "player/pain3.wav";
318	else if (rs == 4)
319		self.noise = "player/pain4.wav";
320	else if (rs == 5)
321		self.noise = "player/pain5.wav";
322	else
323		self.noise = "player/pain6.wav";
324
325	sound (self, CHAN_VOICE, self.noise, 1, ATTN_NORM);
326	return;
327};
328
329void()  player_pain1 =  [       $pain1, player_pain2    ] {PainSound();self.weaponframe=0;};
330void()  player_pain2 =  [       $pain2, player_pain3    ] {};
331void()  player_pain3 =  [       $pain3, player_pain4    ] {};
332void()  player_pain4 =  [       $pain4, player_pain5    ] {};
333void()  player_pain5 =  [       $pain5, player_pain6    ] {};
334void()  player_pain6 =  [       $pain6, player_run      ] {};
335
336void()  player_axpain1 =        [       $axpain1,       player_axpain2  ] {PainSound();self.weaponframe=0;};
337void()  player_axpain2 =        [       $axpain2,       player_axpain3  ] {};
338void()  player_axpain3 =        [       $axpain3,       player_axpain4  ] {};
339void()  player_axpain4 =        [       $axpain4,       player_axpain5  ] {};
340void()  player_axpain5 =        [       $axpain5,       player_axpain6  ] {};
341void()  player_axpain6 =        [       $axpain6,       player_run      ] {};
342
343void() player_pain =
344{
345	if (self.weaponframe)
346		return;
347
348	if (self.invisible_finished > time)
349		return;         // eyes don't have pain frames
350
351	if (self.weapon == IT_AXE)
352		player_axpain1 ();
353	else
354		player_pain1 ();
355};
356
357void() player_diea1;
358void() player_dieb1;
359void() player_diec1;
360void() player_died1;
361void() player_diee1;
362void() player_die_ax1;
363
364void() DeathBubblesSpawn =
365{
366local entity    bubble;
367	if (self.owner.waterlevel != 3)
368		return;
369	bubble = spawn();
370	setmodel (bubble, "progs/s_bubble.spr");
371	setorigin (bubble, self.owner.origin + '0 0 24');
372	bubble.movetype = MOVETYPE_NOCLIP;
373	bubble.solid = SOLID_NOT;
374	bubble.velocity = '0 0 15';
375	bubble.nextthink = time + 0.5;
376	bubble.think = bubble_bob;
377	bubble.classname = "bubble";
378	bubble.frame = 0;
379	bubble.cnt = 0;
380	setsize (bubble, '-8 -8 -8', '8 8 8');
381	self.nextthink = time + 0.1;
382	self.think = DeathBubblesSpawn;
383	self.air_finished = self.air_finished + 1;
384	if (self.air_finished >= self.bubble_count)
385		remove(self);
386};
387
388void(float num_bubbles) DeathBubbles =
389{
390local entity    bubble_spawner;
391	
392	bubble_spawner = spawn();
393	setorigin (bubble_spawner, self.origin);
394	bubble_spawner.movetype = MOVETYPE_NONE;
395	bubble_spawner.solid = SOLID_NOT;
396	bubble_spawner.nextthink = time + 0.1;
397	bubble_spawner.think = DeathBubblesSpawn;
398	bubble_spawner.air_finished = 0;
399	bubble_spawner.owner = self;
400	bubble_spawner.bubble_count = num_bubbles;
401	return;
402};
403
404
405void() DeathSound =
406{
407local float             rs;
408
409	// water death sounds
410	if (self.waterlevel == 3)
411	{
412		DeathBubbles(5);
413		sound (self, CHAN_VOICE, "player/h2odeath.wav", 1, ATTN_NONE);
414		return;
415	}
416	
417	rs = rint ((random() * 4) + 1);
418	if (rs == 1)
419		self.noise = "player/death1.wav";
420	if (rs == 2)
421		self.noise = "player/death2.wav";
422	if (rs == 3)
423		self.noise = "player/death3.wav";
424	if (rs == 4)
425		self.noise = "player/death4.wav";
426	if (rs == 5)
427		self.noise = "player/death5.wav";
428
429	sound (self, CHAN_VOICE, self.noise, 1, ATTN_NONE);
430	return;
431};
432
433
434void() PlayerDead =
435{
436	self.nextthink = -1;
437// allow respawn after a certain time
438	self.deadflag = DEAD_DEAD;
439};
440
441vector(float dm) VelocityForDamage =
442{
443	local vector v;
444
445	if (vlen(damage_inflictor.velocity)>0)
446	{
447		v = 0.5 * damage_inflictor.velocity;
448		v = v + (25 * normalize(self.origin-damage_inflictor.origin));
449		v_z = 100 + 240 * random();
450		v_x = v_x + (200 * crandom());
451		v_y = v_y + (200 * crandom());
452		//dprint ("Velocity gib\n");                
453	}
454	else
455	{
456		v_x = 100 * crandom();
457		v_y = 100 * crandom();
458		v_z = 200 + 100 * random();
459	}
460
461	//v_x = 100 * crandom();
462	//v_y = 100 * crandom();
463	//v_z = 200 + 100 * random();
464
465	if (dm > -50)
466	{
467	//      dprint ("level 1\n");
468		v = v * 0.7;
469	}
470	else if (dm > -200)
471	{
472	//      dprint ("level 3\n");
473		v = v * 2;
474	}
475	else
476		v = v * 10;
477
478	return v;
479};
480
481void(string gibname, float dm) ThrowGib =
482{
483	local   entity new;
484
485	new = spawn();
486	new.origin = self.origin;
487	setmodel (new, gibname);
488	setsize (new, '0 0 0', '0 0 0');
489	new.velocity = VelocityForDamage (dm);
490	new.movetype = MOVETYPE_BOUNCE;
491	new.solid = SOLID_NOT;
492	new.avelocity_x = random()*600;
493	new.avelocity_y = random()*600;
494	new.avelocity_z = random()*600;
495	new.think = SUB_Remove;
496	new.ltime = time;
497	new.nextthink = time + 10 + random()*10;
498	new.frame = 0;
499	new.flags = 0;
500};
501
502void(string gibname, float dm) ThrowHead =
503{
504	setmodel (self, gibname);
505	self.frame = 0;
506	self.nextthink = -1;
507	self.movetype = MOVETYPE_BOUNCE;
508	self.takedamage = DAMAGE_NO;
509	self.solid = SOLID_NOT;
510	self.view_ofs = '0 0 8';
511	setsize (self, '-16 -16 0', '16 16 56');
512	self.velocity = VelocityForDamage (dm);
513	self.origin_z = self.origin_z - 24;
514	self.flags = self.flags - (self.flags & FL_ONGROUND);
515	self.avelocity = crandom() * '0 600 0';
516};
517
518
519void() GibPlayer =
520{
521	ThrowHead ("progs/h_player.mdl", self.health);
522	ThrowGib ("progs/gib1.mdl", self.health);
523	ThrowGib ("progs/gib2.mdl", self.health);
524	ThrowGib ("progs/gib3.mdl", self.health);
525
526	self.deadflag = DEAD_DEAD;
527
528	if (damage_attacker.classname == "teledeath")
529	{
530		sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
531		return;
532	}
533
534	if (damage_attacker.classname == "teledeath2")
535	{
536		sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
537		return;
538	}
539		
540	if (random() < 0.5)
541		sound (self, CHAN_VOICE, "player/gib.wav", 1, ATTN_NONE);
542	else
543		sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NONE);
544};
545
546void() PlayerDie =
547{
548	local   float   i;
549	local	string	s;	
550	self.items = self.items - (self.items & IT_INVISIBILITY);
551
552	if ((stof(infokey(world,"dq"))) != 0)
553	{
554		if (self.super_damage_finished > 0)
555		{
556			DropQuad (self.super_damage_finished - time);
557			bprint (PRINT_LOW, self.netname);
558			if (deathmatch == 4)
559				bprint (PRINT_LOW, " lost an OctaPower with ");
560			else
561				bprint (PRINT_LOW, " lost a quad with ");
562			s = ftos(rint(self.super_damage_finished - time));
563			bprint (PRINT_LOW, s);
564			bprint (PRINT_LOW, " seconds remaining\n");
565		}
566	}
567
568	if ((stof(infokey(world,"dr"))) != 0)
569	{
570		if (self.invisible_finished > 0)
571		{
572			bprint (PRINT_LOW, self.netname);
573			bprint (PRINT_LOW, " lost a ring with ");
574			s = ftos(rint(self.invisible_finished - time));
575			bprint (PRINT_LOW, s);
576			bprint (PRINT_LOW, " seconds remaining\n");
577			DropRing (self.invisible_finished - time);
578		}
579	}
580
581	self.invisible_finished = 0;    // don't die as eyes
582	self.invincible_finished = 0;
583	self.super_damage_finished = 0;
584	self.radsuit_finished = 0;
585	self.modelindex = modelindex_player;    // don't use eyes
586
587	DropBackpack();
588	
589	self.weaponmodel="";
590	self.view_ofs = '0 0 -8';
591	self.deadflag = DEAD_DYING;
592	self.solid = SOLID_NOT;
593	self.flags = self.flags - (self.flags & FL_ONGROUND);
594	self.movetype = MOVETYPE_TOSS;
595	if (self.velocity_z < 10)
596		self.velocity_z = self.velocity_z + random()*300;
597
598	if (self.health < -40)
599	{
600		GibPlayer ();
601		return;
602	}
603
604	DeathSound();
605	
606	self.angles_x = 0;
607	self.angles_z = 0;
608	
609	if (self.weapon == IT_AXE)
610	{
611		player_die_ax1 ();
612		return;
613	}
614	
615	i = cvar("temp1");
616	if (!i)
617		i = 1 + floor(random()*6);
618	
619	if (i == 1)
620		player_diea1();
621	else if (i == 2)
622		player_dieb1();
623	else if (i == 3)
624		player_diec1();
625	else if (i == 4)
626		player_died1();
627	else
628		player_diee1();
629
630};
631
632void() set_suicide_frame =
633{       // used by klill command and diconnect command
634	if (self.model != "progs/player.mdl")
635		return; // allready gibbed
636	self.frame = $deatha11;
637	self.solid = SOLID_NOT;
638	self.movetype = MOVETYPE_TOSS;
639	self.deadflag = DEAD_DEAD;
640	self.nextthink = -1;
641};
642
643
644void()  player_diea1    =       [       $deatha1,       player_diea2    ] {};
645void()  player_diea2    =       [       $deatha2,       player_diea3    ] {};
646void()  player_diea3    =       [       $deatha3,       player_diea4    ] {};
647void()  player_diea4    =       [       $deatha4,       player_diea5    ] {};
648void()  player_diea5    =       [       $deatha5,       player_diea6    ] {};
649void()  player_diea6    =       [       $deatha6,       player_diea7    ] {};
650void()  player_diea7    =       [       $deatha7,       player_diea8    ] {};
651void()  player_diea8    =       [       $deatha8,       player_diea9    ] {};
652void()  player_diea9    =       [       $deatha9,       player_diea10   ] {};
653void()  player_diea10   =       [       $deatha10,      player_diea11   ] {};
654void()  player_diea11   =       [       $deatha11,      player_diea11 ] {PlayerDead();};
655
656void()  player_dieb1    =       [       $deathb1,       player_dieb2    ] {};
657void()  player_dieb2    =       [       $deathb2,       player_dieb3    ] {};
658void()  player_dieb3    =       [       $deathb3,       player_dieb4    ] {};
659void()  player_dieb4    =       [       $deathb4,       player_dieb5    ] {};
660void()  player_dieb5    =       [       $deathb5,       player_dieb6    ] {};
661void()  player_dieb6    =       [       $deathb6,       player_dieb7    ] {};
662void()  player_dieb7    =       [       $deathb7,       player_dieb8    ] {};
663void()  player_dieb8    =       [       $deathb8,       player_dieb9    ] {};
664void()  player_dieb9    =       [       $deathb9,       player_dieb9    ] {PlayerDead();};
665
666void()  player_diec1    =       [       $deathc1,       player_diec2    ] {};
667void()  player_diec2    =       [       $deathc2,       player_diec3    ] {};
668void()  player_diec3    =       [       $deathc3,       player_diec4    ] {};
669void()  player_diec4    =       [       $deathc4,       player_diec5    ] {};
670void()  player_diec5    =       [       $deathc5,       player_diec6    ] {};
671void()  player_diec6    =       [       $deathc6,       player_diec7    ] {};
672void()  player_diec7    =       [       $deathc7,       player_diec8    ] {};
673void()  player_diec8    =       [       $deathc8,       player_diec9    ] {};
674void()  player_diec9    =       [       $deathc9,       player_diec10   ] {};
675void()  player_diec10   =       [       $deathc10,      player_diec11   ] {};
676void()  player_diec11   =       [       $deathc11,      player_diec12   ] {};
677void()  player_diec12   =       [       $deathc12,      player_diec13   ] {};
678void()  player_diec13   =       [       $deathc13,      player_diec14   ] {};
679void()  player_diec14   =       [       $deathc14,      player_diec15   ] {};
680void()  player_diec15   =       [       $deathc15,      player_diec15 ] {PlayerDead();};
681
682void()  player_died1    =       [       $deathd1,       player_died2    ] {};
683void()  player_died2    =       [       $deathd2,       player_died3    ] {};
684void()  player_died3    =       [       $deathd3,       player_died4    ] {};
685void()  player_died4    =       [       $deathd4,       player_died5    ] {};
686void()  player_died5    =       [       $deathd5,       player_died6    ] {};
687void()  player_died6    =       [       $deathd6,       player_died7    ] {};
688void()  player_died7    =       [       $deathd7,       player_died8    ] {};
689void()  player_died8    =       [       $deathd8,       player_died9    ] {};
690void()  player_died9    =       [       $deathd9,       player_died9    ] {PlayerDead();};
691
692void()  player_diee1    =       [       $deathe1,       player_diee2    ] {};
693void()  player_diee2    =       [       $deathe2,       player_diee3    ] {};
694void()  player_diee3    =       [       $deathe3,       player_diee4    ] {};
695void()  player_diee4    =       [       $deathe4,       player_diee5    ] {};
696void()  player_diee5    =       [       $deathe5,       player_diee6    ] {};
697void()  player_diee6    =       [       $deathe6,       player_diee7    ] {};
698void()  player_diee7    =       [       $deathe7,       player_diee8    ] {};
699void()  player_diee8    =       [       $deathe8,       player_diee9    ] {};
700void()  player_diee9    =       [       $deathe9,       player_diee9    ] {PlayerDead();};
701
702void()  player_die_ax1  =       [       $axdeth1,       player_die_ax2  ] {};
703void()  player_die_ax2  =       [       $axdeth2,       player_die_ax3  ] {};
704void()  player_die_ax3  =       [       $axdeth3,       player_die_ax4  ] {};
705void()  player_die_ax4  =       [       $axdeth4,       player_die_ax5  ] {};
706void()  player_die_ax5  =       [       $axdeth5,       player_die_ax6  ] {};
707void()  player_die_ax6  =       [       $axdeth6,       player_die_ax7  ] {};
708void()  player_die_ax7  =       [       $axdeth7,       player_die_ax8  ] {};
709void()  player_die_ax8  =       [       $axdeth8,       player_die_ax9  ] {};
710void()  player_die_ax9  =       [       $axdeth9,       player_die_ax9  ] {PlayerDead();};
711