assault cannon tweaks

This commit is contained in:
Finny Merrill 2004-02-04 03:01:51 +00:00
parent d2569ca4ba
commit 685a1968f4
2 changed files with 22 additions and 10 deletions

View file

@ -582,7 +582,7 @@ void() player_nail4 =[ $nailatt2, player_nail1 ]
// Cannon powering up // Cannon powering up
void() player_assaultcannonup1 =[$nailatt1, player_assaultcannonup2 ] void() player_assaultcannonup1 =[$nailatt1, player_assaultcannonup2 ]
{ {
if ((!self.button0) || (self.ammo_shells < 1) || intermission_running) if ((!self.button0) || (self.ammo_shells < 1) || intermission_running || !(self.flags & FL_ONGROUND))
{ {
// Let him/her walk again // Let him/her walk again
// if (!self.is_haxxxoring) //- OfN already checked on TeamFortress_SetSpeed() { // if (!self.is_haxxxoring) //- OfN already checked on TeamFortress_SetSpeed() {
@ -623,7 +623,7 @@ void() player_assaultcannonup1 =[$nailatt1, player_assaultcannonup2 ]
// Cannon powering up 2 // Cannon powering up 2
void() player_assaultcannonup2 =[$nailatt1, player_assaultcannonup1 ] void() player_assaultcannonup2 =[$nailatt1, player_assaultcannonup1 ]
{ {
if ((!self.button0) || (self.ammo_shells < 1) || intermission_running) if ((!self.button0) || (self.ammo_shells < 1) || intermission_running || !(self.flags & FL_ONGROUND))
{ {
// Let him/her walk again // Let him/her walk again
// if (!self.is_haxxxoring) //- OfN already checked on TeamFortress_SetSpeed() { // if (!self.is_haxxxoring) //- OfN already checked on TeamFortress_SetSpeed() {
@ -661,7 +661,7 @@ void() player_assaultcannonup2 =[$nailatt1, player_assaultcannonup1 ]
// Cannon Firing // Cannon Firing
void() player_assaultcannon1 =[$nailatt1, player_assaultcannon2 ] void() player_assaultcannon1 =[$nailatt1, player_assaultcannon2 ]
{ {
local string st; // local string st;
muzzleflash(); muzzleflash();
@ -688,6 +688,8 @@ void() player_assaultcannon1 =[$nailatt1, player_assaultcannon2 ]
W_FireAssaultCannon(); W_FireAssaultCannon();
// Shake the screen // Shake the screen
// Not with idlescale -GR
#if 0
stuffcmd(self, "v_idlescale "); stuffcmd(self, "v_idlescale ");
if (self.heat < 5) if (self.heat < 5)
st = ftos(self.heat * 4); st = ftos(self.heat * 4);
@ -695,6 +697,17 @@ void() player_assaultcannon1 =[$nailatt1, player_assaultcannon2 ]
st = "20"; st = "20";
stuffcmd(self, st); stuffcmd(self, st);
stuffcmd(self, "\n"); stuffcmd(self, "\n");
#else
local vector off = self.v_angle;
off_x -= (random () * 2) + 2;
off_y -= (random () * 2) - 1;
msg_entity = self;
WriteByte (MSG_ONE, SVC_SETANGLE);
WriteAngleV (MSG_ONE, off);
#endif
Attack_Finished(0.1); Attack_Finished(0.1);
}; };
@ -723,8 +736,11 @@ void() player_assaultcannon2 =[$nailatt2, player_assaultcannon1 ]
// increase the heat of the cannon // increase the heat of the cannon
self.heat = self.heat + 0.1; self.heat = self.heat + 0.1;
// Shake the screen // Shake the screen
// Not with idlescale
#if 0
stuffcmd(self, "v_idlescale 0\n"); stuffcmd(self, "v_idlescale 0\n");
stuffcmd(self, "bf\n"); stuffcmd(self, "bf\n");
#endif
Attack_Finished(0.1); Attack_Finished(0.1);
}; };

View file

@ -1124,11 +1124,7 @@ void(float shotcount, vector dir, vector spread) FireBullets =
if (trace_fraction == 1.0) if (trace_fraction == 1.0)
TraceAttack (0, direction); TraceAttack (0, direction);
else if (self.current_weapon & WEAP_ASSAULT_CANNON) //WK Sinth's bugfix else
TraceAttack (8, direction); //WK(12) (6) Reversed from 2.5
else if (self.current_weapon & WEAP_LIGHT_ASSAULT)
TraceAttack (3, direction);
else
TraceAttack (6, direction); //WK 4 TraceAttack (6, direction); //WK 4
shotcount--; shotcount--;
@ -1445,7 +1441,7 @@ void() W_FireAssaultCannon =
self.currentammo = self.ammo_shells = self.ammo_shells - 1; self.currentammo = self.ammo_shells = self.ammo_shells - 1;
dir = aim (self, 100000); dir = aim (self, 100000);
deathmsg = DMSG_ASSAULTCANNON; deathmsg = DMSG_ASSAULTCANNON;
FireBullets (5, dir, '0.15 0.10 0'); FireBullets (7, dir, '0.08 0.05 0');
}; };
/* /*
@ -1477,7 +1473,7 @@ void() W_FireLightAssault =
if (CheckForReload() == TRUE) if (CheckForReload() == TRUE)
return; return;
FireBullets (5, dir, '0.05 0.05 0'); FireBullets (7, dir, '0.15 0.15 0');
Attack_Finished(0.2); Attack_Finished(0.2);
}; };