39 lines
1.0 KiB
Ucode
39 lines
1.0 KiB
Ucode
//=============================================================================
|
|
// UseTriggerSE: prevents message spamming and using by monsters
|
|
//=============================================================================
|
|
class UseTriggerSE extends UseTrigger;
|
|
|
|
var(UseTrigger) float MessageCooldown;
|
|
var(UseTrigger) bool bAllowUsingByAI;
|
|
var transient float NextMessageTime;
|
|
|
|
function bool SelfTriggered()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
function UsedBy( Pawn user )
|
|
{
|
|
TriggerEvent(Event, self, user);
|
|
}
|
|
|
|
function Touch( Actor Other )
|
|
{
|
|
if ( Pawn(Other) != None ) {
|
|
// Send a string message to the toucher.
|
|
if( Message != "" && Level.TimeSeconds > NextMessageTime ) {
|
|
Pawn(Other).ClientMessage( Message );
|
|
NextMessageTime = Level.TimeSeconds + MessageCooldown;
|
|
}
|
|
|
|
if ( bAllowUsingByAI && AIController(Pawn(Other).Controller) != None )
|
|
UsedBy(Pawn(Other));
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
MessageCooldown=5.000000
|
|
Texture=Texture'Engine.SubActionTrigger'
|
|
}
|