Files
dsrc/sku.0/sys.server/compiled/game/script/object/destroy_message.script
T

37 lines
979 B
Plaintext

trigger OnIncapacitated( obj_id attacker )
{
sendMessages( self );
return SCRIPT_CONTINUE;
}
trigger OnDestroy()
{
sendMessages( self );
return SCRIPT_CONTINUE;
}
trigger OnObjectDisabled(obj_id killer)
{
sendMessages( self );
return SCRIPT_CONTINUE;
}
void sendMessages( obj_id object )
{
if (!hasObjVar( object, "destroyMessageList" ))
return;
string[] destroyMessageNames = getStringArrayObjVar( object, "destroyMessageList.handlerNames" );
float[] destroyMessageDelays = getFloatArrayObjVar( object, "destroyMessageList.delays" );
obj_id[] destroyMessageRecipients = getObjIdArrayObjVar( object, "destroyMessageList.recipients" );
removeObjVar( object, "destroyMessageList" );
dictionary parms = new dictionary();
parms.put( "object", object );
for ( int i = 0; i < destroyMessageNames.length; i++ )
messageTo( destroyMessageRecipients[i], destroyMessageNames[i], parms, destroyMessageDelays[i], isObjectPersisted( destroyMessageRecipients[i] ));
}