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

87 lines
2.0 KiB
Plaintext

include library.utils;
include library.features;
const string[] COLLECTOR_EDITION_ITEMS =
{ "object/tangible/wearables/goggles/goggles_s01.iff",
"object/tangible/wearables/goggles/goggles_s02.iff",
"object/tangible/wearables/goggles/goggles_s03.iff" };
const string[] JP_COLLECTOR_EDITION_ITEMS =
{ "object/tangible/wearables/goggles/goggles_s04.iff",
"object/tangible/wearables/goggles/goggles_s05.iff",
"object/tangible/wearables/goggles/goggles_s06.iff" };
commandHandler createNewGoggles()
{
boolean createFailed = false;
if (features.isCollectorEdition(self) || features.isJPCollectorEdition(self))
{
if (features.isCollectorEdition(self))
{
obj_id[] allItems = utils.getAllItemsInBankAndInventory(self);
obj_id inventory = getObjectInSlot(self, "inventory");
for ( int i = 0; i < COLLECTOR_EDITION_ITEMS.length; i++ )
{
if (checkItems(allItems, COLLECTOR_EDITION_ITEMS[i]))
continue;
obj_id newItem = createObject( COLLECTOR_EDITION_ITEMS[i], inventory, "" );
if ( !isIdValid( newItem ) )
{
createFailed = true;
}
}
}
if (features.isJPCollectorEdition(self))
{
obj_id[] allItems = utils.getAllItemsInBankAndInventory(self);
obj_id inventory = getObjectInSlot(self, "inventory");
for ( int i = 0; i < JP_COLLECTOR_EDITION_ITEMS.length; i++ )
{
if (checkItems(allItems, JP_COLLECTOR_EDITION_ITEMS[i]))
continue;
obj_id newItem = createObject( JP_COLLECTOR_EDITION_ITEMS[i], inventory, "" );
if ( !isIdValid( newItem ) )
{
createFailed = true;
}
}
}
}
else
{
sendSystemMessage (self, new string_id ("error_message", "create_goggle_non_se"));
}
if (createFailed)
{
sendSystemMessage (self, new string_id ("error_message", "create_goggle_fail"));
}
return SCRIPT_CONTINUE;
}
boolean checkItems(obj_id[] itemList, string template)
{
for( int i = 0; i < itemList.length; i++ )
{
string itemTemplate = getTemplateName(itemList[i]);
if(itemTemplate == template)
{
return true;
}
}
return false;
}