rott/kf_sources/ScrnTestGroundsUtil/Classes/UseTriggerSE.uc
2026-07-14 20:27:09 +07:00

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'
}