// VoiceOver actor for Killing FLoor SinglePlay class KFVoiceOver extends Trigger; var () Sound VoiceOverSound; function Touch( actor Other ) { local int i; if( IsRelevant( Other ) ) { Other = FindInstigator( Other ); if ( ReTriggerDelay > 0 ) { if ( Level.TimeSeconds - TriggerTime < ReTriggerDelay ) return; TriggerTime = Level.TimeSeconds; } // Broadcast the Trigger message to all matching actors. TriggerEvent(Event, self, Other.Instigator); if ( (Pawn(Other) != None) && (Pawn(Other).Controller != None) ) { // Play Voice over from Touching Pawn PlayOwnedSound(VoiceOverSound, SLOT_Talk,TransientSoundVolume,,TransientSoundRadius,,false); for ( i=0;i<4;i++ ) if ( Pawn(Other).Controller.GoalList[i] == self ) { Pawn(Other).Controller.GoalList[i] = None; break; } } if( (Message != "") && (Other.Instigator != None) ) // Send a string message to the toucher. Other.Instigator.ClientMessage( Message ); if( bTriggerOnceOnly ) // Ignore future touches. SetCollision(False); else if ( RepeatTriggerTime > 0 ) SetTimer(RepeatTriggerTime, false); } } function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, class damageType, optional int HitIndex) { if ( bInitiallyActive && (TriggerType == TT_Shoot) && (Damage >= DamageThreshold) && (instigatedBy != None) ) { if ( ReTriggerDelay > 0 ) { if ( Level.TimeSeconds - TriggerTime < ReTriggerDelay ) return; TriggerTime = Level.TimeSeconds; } // Broadcast the Trigger message to all matching actors. TriggerEvent(Event, self, instigatedBy); if( Message != "" ) // Send a string message to the toucher. instigatedBy.Instigator.ClientMessage( Message ); // Play Voice over from Touching Pawn PlayOwnedSound(VoiceOverSound, SLOT_Talk,TransientSoundVolume,,TransientSoundRadius,,false); if( bTriggerOnceOnly ) // Ignore future touches. SetCollision(False); if ( (AIController(instigatedBy.Controller) != None) && (instigatedBy.Controller.Target == self) ) instigatedBy.Controller.StopFiring(); } } defaultproperties { bFullVolume=True SoundVolume=255 SoundRadius=2000.000000 TransientSoundVolume=255.000000 TransientSoundRadius=2000.000000 }