1 $frame die1 die2 draw duck duckwalk duckjump duckidle idle
2 $frame jump pain1 pain2 shoot taunt run runbackwards
3 $frame strafeleft straferight dead1 dead2 forwardright
4 $frame forwardleft backright backleft
6 //Begin change by Supajoe on 11:44 PM EST 11/16/03 (Subject: Player animations)
7 void player_run (void);
8 void player_stand (void)
10 if (self.movement_x || self.movement_y) // ?
14 if (self.attack_finished > time)
16 else if (self.pain_finished > time)
17 self.frame = self.pain_frame;
18 else self.frame = $idle;
20 self.think = player_stand;
21 self.nextthink = time + 0.05;
25 void player_run (void)
27 if (!self.movement_x && !self.movement_y) // ?
31 if (self.movement_x > 0 && self.movement_y == 0)
33 else if (self.movement_x < 0 && self.movement_y == 0)
34 self.frame = $runbackwards;
35 else if (self.movement_x == 0 && self.movement_y > 0)
36 self.frame = $straferight;
37 else if (self.movement_x == 0 && self.movement_y < 0)
38 self.frame = $strafeleft;
39 else if (self.movement_x > 0 && self.movement_y > 0)
40 self.frame = $forwardright;
41 else if (self.movement_x > 0 && self.movement_y < 0)
42 self.frame = $forwardleft;
43 else if (self.movement_x < 0 && self.movement_y > 0)
44 self.frame = $backright;
45 else if (self.movement_x < 0 && self.movement_y < 0)
46 self.frame = $backleft;
47 else if (self.attack_finished > time)
49 else if (self.pain_finished > time)
50 self.frame = self.pain_frame;
52 self.think = player_run;
53 self.nextthink = time + 0.05;
56 //End change by Supajoe on 11:44 PM EST 11/16/03 (Subject: Player animations)
58 void PlayerWeaponThrow (void)
68 self.origin = backup.origin - '0 0 24';
70 self.velocity_z = 300;
71 self.velocity_x = -100 + (random() * 200);
72 self.velocity_y = -100 + (random() * 200);
75 if (backup.weapon == IT_LASER)
77 else if (backup.weapon == IT_UZI)
79 else if (backup.weapon == IT_SHOTGUN)
81 else if (backup.weapon == IT_GRENADE_LAUNCHER)
82 weapon_grenadelauncher ();
83 else if (backup.weapon == IT_ELECTRO)
85 else if (backup.weapon == IT_CRYLINK)
87 else if (backup.weapon == IT_NEX)
89 else if (backup.weapon == IT_HAGAR)
91 else if (backup.weapon == IT_ROCKET_LAUNCHER)
92 weapon_rocketlauncher ();
96 stuffcmd(self, "chase_active 1");
97 setmodel (self, "models/gibs/gib1.mdl");
100 void PlayerHurt (vector hitloc, float damage)
102 te_blood (hitloc, '0 0 20', floor (damage / 2));
104 if (self.pain_finished < time) //Don't switch pain sequences like crazy
107 self.pain_frame = $pain1;
108 else self.pain_frame = $pain2;
110 self.pain_finished = time + 0.5; //Supajoe
114 void PlayerDie (vector hitloc, float damage)
116 self.avelocity = '0 0 0';
117 self.movetype = MOVETYPE_TOSS;
118 self.weaponmodel = "";
119 self.view_ofs = '0 0 -8';
120 self.deadflag = DEAD_DYING;
121 self.solid = SOLID_NOT;
122 self.flags = self.flags - (self.flags & FL_ONGROUND);
123 self.death_time = time + 1;
124 self.dead_angles = self.angles;
125 self.dead_angles_x = 0;
126 self.deadflag = DEAD_DEAD;
129 te_bloodshower (self.origin + self.mins, self.origin + self.maxs, 600, 500);
130 vel = normalize (self.origin - hitloc) * damage * 4; // blow gibs away from impact point
132 vel_z = vel_z * 2; // more vertical
135 PlayerWeaponThrow ();