Files
dsrc/sku.0/sys.server/compiled/game/script/data_item/dropoff.script
T
2013-09-10 23:17:15 -07:00

78 lines
1.7 KiB
Plaintext

/**
* Copyright (c)2000-2002 Sony Online Entertainment Inc.
* All Rights Reserved
*
* Title: dropoff.script
* Description: script to be attached to all data items
* @author $Author:$
* @version $Revision:$
*/
/***** INCLUDES ********************************************************/
include library.loot;
/***** INHERITS ********************************************************/
inherits item.container.add_only;
/***** CONSTANTS *******************************************************/
const string_id SID_DATA_ONLY = new string_id("error_message","data_only");
/***** TRIGGERS ********************************************************/
trigger OnAboutToReceiveItem(obj_id srcContainer, obj_id transferer, obj_id item)
{
if ( isPlayer(transferer) )
{
if ( !loot.isFactionalDataItem(item) )
{
sendSystemMessage(transferer, SID_DATA_ONLY);
return SCRIPT_OVERRIDE;
}
}
return SCRIPT_CONTINUE;
}
trigger OnReceivedItem(obj_id srcContainer, obj_id transferer, obj_id item)
{
if ( isPlayer(transferer) )
{
if ( loot.isFactionalDataItem(item) )
{
if ( !loot.redeemFactionCoupon(getContainedBy(self), transferer, item) )
{
debugSpeakMsg(transferer, "redeem failed: returning coupon to source container!");
putIn(item, srcContainer);
}
return SCRIPT_CONTINUE;
}
}
return SCRIPT_CONTINUE;
}
trigger OnClosedContainer(obj_id who)
{
obj_id[] contents = getContents(self);
if ( (contents == null) || (contents.length == 0) )
{
}
else
{
for ( int i = 0; i < contents.length; i++ )
{
destroyObject(contents[i]);
}
}
return SCRIPT_CONTINUE;
}
/***** FUNCTIONS *******************************************************/
/***** MESSAGEHANDLERS *************************************************/