Fixed a bug where the round wouldn't end if all CTs died
This commit is contained in:
parent
f986f42c76
commit
d8577accf0
5 changed files with 43 additions and 16 deletions
|
@ -35,6 +35,21 @@ void Entities_UseTargets( void ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Entities_UseTargets_Delay( float fDelay ) {
|
||||||
|
static void Entities_UseTargets_Delay_Think( void ) {
|
||||||
|
entity eOld = self;
|
||||||
|
self = self.owner;
|
||||||
|
Entities_UseTargets();
|
||||||
|
remove( eOld );
|
||||||
|
}
|
||||||
|
|
||||||
|
entity eTimer = spawn();
|
||||||
|
eTimer.owner = self;
|
||||||
|
eTimer.think = Entities_UseTargets_Delay_Think;
|
||||||
|
eTimer.nextthink = time + fDelay;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
====================
|
====================
|
||||||
Entities_Remove
|
Entities_Remove
|
||||||
|
|
|
@ -138,7 +138,6 @@ void FuncButton_Arrived( void ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Entities_UseTargets();
|
|
||||||
self.think = FuncButton_MoveBack;
|
self.think = FuncButton_MoveBack;
|
||||||
self.nextthink = ( self.ltime + self.wait );
|
self.nextthink = ( self.ltime + self.wait );
|
||||||
}
|
}
|
||||||
|
@ -188,7 +187,6 @@ void FuncButton_MoveAway( void ) {
|
||||||
|
|
||||||
self.state = STATE_UP;
|
self.state = STATE_UP;
|
||||||
Entities_MoveToDestination ( self.pos2, self.speed, FuncButton_Arrived );
|
Entities_MoveToDestination ( self.pos2, self.speed, FuncButton_Arrived );
|
||||||
Entities_UseTargets();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -204,6 +202,12 @@ void FuncButton_Trigger( void ) {
|
||||||
|
|
||||||
sound( self, CHAN_VOICE, self.noise, 1.0, ATTN_NORM );
|
sound( self, CHAN_VOICE, self.noise, 1.0, ATTN_NORM );
|
||||||
FuncButton_MoveAway();
|
FuncButton_MoveAway();
|
||||||
|
|
||||||
|
if ( self.delay ) {
|
||||||
|
Entities_UseTargets_Delay( self.delay );
|
||||||
|
} else {
|
||||||
|
Entities_UseTargets();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -88,17 +88,13 @@ void FuncDoor_Arrived( void ) {
|
||||||
sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM );
|
sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !( self.spawnflags & SF_MOV_USE ) ) {
|
if ( ( self.spawnflags & SF_MOV_USE ) ) {
|
||||||
self.touch = FuncDoor_Touch;
|
self.touch = FuncDoor_Touch;
|
||||||
}
|
}
|
||||||
if ( self.wait < 0 ) {
|
if ( self.wait < 0 ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( self.target ) {
|
|
||||||
Entities_UseTargets();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !( self.spawnflags & SF_MOV_TOGGLE ) ) {
|
if ( !( self.spawnflags & SF_MOV_TOGGLE ) ) {
|
||||||
self.think = FuncDoor_MoveBack;
|
self.think = FuncDoor_MoveBack;
|
||||||
self.nextthink = ( self.ltime + self.wait );
|
self.nextthink = ( self.ltime + self.wait );
|
||||||
|
@ -111,14 +107,10 @@ FuncDoor_Returned
|
||||||
====================
|
====================
|
||||||
*/
|
*/
|
||||||
void FuncDoor_Returned( void ) {
|
void FuncDoor_Returned( void ) {
|
||||||
if ( !( self.spawnflags & SF_MOV_USE ) ) {
|
if ( ( self.spawnflags & SF_MOV_USE ) ) {
|
||||||
self.touch = FuncDoor_Touch;
|
self.touch = FuncDoor_Touch;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( self.target ) {
|
|
||||||
Entities_UseTargets();
|
|
||||||
}
|
|
||||||
|
|
||||||
self.state = STATE_LOWERED;
|
self.state = STATE_LOWERED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +127,7 @@ void FuncDoor_MoveBack( void ) {
|
||||||
sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM );
|
sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !( self.spawnflags & SF_MOV_USE ) ) {
|
if ( ( self.spawnflags & SF_MOV_USE ) ) {
|
||||||
self.touch = __NULL__;
|
self.touch = __NULL__;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,6 +174,12 @@ void FuncDoor_Trigger( void ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( self.delay ) {
|
||||||
|
Entities_UseTargets_Delay( self.delay );
|
||||||
|
} else {
|
||||||
|
Entities_UseTargets();
|
||||||
|
}
|
||||||
|
|
||||||
FuncDoor_MoveAway();
|
FuncDoor_MoveAway();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,7 +192,7 @@ void FuncDoor_Touch( void ) {
|
||||||
if ( other.classname == "player" ) {
|
if ( other.classname == "player" ) {
|
||||||
FuncDoor_Trigger();
|
FuncDoor_Trigger();
|
||||||
|
|
||||||
if ( !( self.spawnflags & SF_MOV_USE ) ) {
|
if ( ( self.spawnflags & SF_MOV_USE ) ) {
|
||||||
self.touch = __NULL__;
|
self.touch = __NULL__;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -240,6 +238,10 @@ void func_door( void ) {
|
||||||
self.blocked = FuncDoor_Blocked;
|
self.blocked = FuncDoor_Blocked;
|
||||||
self.vUse = FuncDoor_Trigger;
|
self.vUse = FuncDoor_Trigger;
|
||||||
|
|
||||||
|
if ( self.wait == -1 ) {
|
||||||
|
self.spawnflags = self.spawnflags | SF_MOV_TOGGLE;
|
||||||
|
}
|
||||||
|
|
||||||
if ( !self.speed ) {
|
if ( !self.speed ) {
|
||||||
self.speed = 100;
|
self.speed = 100;
|
||||||
}
|
}
|
||||||
|
@ -248,7 +250,7 @@ void func_door( void ) {
|
||||||
self.dmg = 2;
|
self.dmg = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !( self.spawnflags & SF_MOV_USE ) ) {
|
if ( ( self.spawnflags & SF_MOV_USE ) ) {
|
||||||
self.touch = FuncDoor_Touch;
|
self.touch = FuncDoor_Touch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -152,6 +152,12 @@ void FuncDoorRotate_Trigger( void ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
FuncDoorRotate_RotateAway();
|
FuncDoorRotate_RotateAway();
|
||||||
|
|
||||||
|
if ( self.delay ) {
|
||||||
|
Entities_UseTargets_Delay( self.delay );
|
||||||
|
} else {
|
||||||
|
Entities_UseTargets();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -42,7 +42,7 @@ void Player_Death( void ) {
|
||||||
} else if ( self.team == TEAM_CT ) {
|
} else if ( self.team == TEAM_CT ) {
|
||||||
iAlivePlayers_CT--;
|
iAlivePlayers_CT--;
|
||||||
|
|
||||||
if ( iAlivePlayers_T == 0 ) {
|
if ( iAlivePlayers_CT == 0 ) {
|
||||||
Rules_RoundOver( TEAM_T );
|
Rules_RoundOver( TEAM_T );
|
||||||
}
|
}
|
||||||
} else if ( self.team == TEAM_VIP ) {
|
} else if ( self.team == TEAM_VIP ) {
|
||||||
|
|
Loading…
Reference in a new issue