Aschbourne_PRC8/_module/nss/_use_commodity.nss
GetOffMyYarn 7f75e229f9 Adds and Changes
Added missing crafting maps, removed unnecessary maps, changed a few miscellaneous things.
2024-09-14 13:52:39 -04:00

116 lines
4.7 KiB
Plaintext

#include "nw_i0_plot"
void main()
{
object oPC = OBJECT_SELF;
object oItem = GetLocalObject(oPC,"oActivateTarget");
string sItemTag = GetTag(oItem);
string sItemResRef= GetResRef(oItem);
string sItemName = GetName(oItem);
int iTotal = GetNumItems(oPC,sItemTag);
DeleteLocalObject(oPC,"oActivateTarget");
if (GetLocalInt(oPC,"iAmInCommodityArea")!=99)
{
FloatingTextStringOnCreature("You do not have access to commodities at this location.",oPC,FALSE);
CreateItemOnObject("_uoa_commodity_e",oPC,1);
return;
}
SendMessageToPC(oPC,"Attempting to fill commodity bundle with "+IntToString(iTotal)+" "+sItemName+".");
int iAmCommodity=0;
if (GetStringLeft(sItemTag,5)=="ITEM_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="SEED_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="MEAT_") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="FLOWER_") iAmCommodity=1;
if (GetStringLeft(sItemTag,11)=="scrl_blank_") iAmCommodity=1;
if (GetStringLeft(sItemTag,11)=="papr_blank_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="PELT_") iAmCommodity=1;
if (GetStringLeft(sItemTag,6)=="CURED_") iAmCommodity=1;
if (GetStringLeft(sItemTag,13)=="item_parchmen") iAmCommodity=1;
if (GetStringLeft(sItemTag,4)=="DYE_") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="essence") iAmCommodity=1;
if (GetStringLeft(sItemTag,12)=="HARDLEATHER_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="FISH_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="GRIT_") iAmCommodity=1;
if (GetStringLeft(sItemTag,13)=="item_chlorine") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="pulp_") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="CURED_R") iAmCommodity=1;
if (GetStringLeft(sItemTag,9)=="SaltBlock") iAmCommodity=1;
if (GetStringLeft(sItemTag,12)=="SOFTLEATHER_") iAmCommodity=1;
if (GetStringLeft(sItemTag,9)=="spell_ink") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="THREAD_") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="TANNED_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="food_") iAmCommodity=1;
if (GetStringLeft(sItemTag,6)=="GLASS_") iAmCommodity=1;
if (GetStringLeft(sItemTag,6)=="MACID_") iAmCommodity=1;
if (GetStringLeft(sItemTag,6)=="SACID_") iAmCommodity=1;
if (GetStringLeft(sItemTag,7)=="VSACID_") iAmCommodity=1;
if (GetStringLeft(sItemTag,8)=="WACID_") iAmCommodity=1;
if (GetStringLeft(sItemTag,4)=="GEM_") iAmCommodity=1;
if (GetStringLeft(sItemTag,9)=="GEMSTONE_") iAmCommodity=1;
if (GetStringLeft(sItemTag,11)=="CLOTH_DYED_") iAmCommodity=1;
if (GetStringLeft(sItemTag,13)=="item_mushroom") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="ACID_") iAmCommodity=1;
if (GetStringLeft(sItemTag,6)=="INGOT_") iAmCommodity=1;
if (GetStringLeft(sItemTag,4)=="ORE_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="WOOD_") iAmCommodity=1;
if (GetStringLeft(sItemTag,5)=="AMMO_") iAmCommodity=1;
if (GetStringLeft(sItemTag,15)=="WEAP_N_SHURIKEN") iAmCommodity=1;
if (GetStringLeft(sItemTag,16)=="WEAP_EX_SHURIKEN") iAmCommodity=1;
if (GetStringLeft(sItemTag,18)=="WEAP_POOR_SHURIKEN") iAmCommodity=1;
int iStack=1;
int iBaseType = GetBaseItemType(oItem);
if (iBaseType==BASE_ITEM_ARROW) iStack=99;
if (iBaseType==BASE_ITEM_BOLT) iStack=99;
if (iBaseType==BASE_ITEM_BULLET) iStack=99;
if (iBaseType==BASE_ITEM_DART) iStack=50;
if (iBaseType==BASE_ITEM_GEM) iStack=10;
if (iBaseType==BASE_ITEM_GRENADE) iStack=10;
if (iBaseType==BASE_ITEM_POTIONS) iStack=10;
if (iBaseType==BASE_ITEM_SCROLL) iStack=10;
if (iBaseType==BASE_ITEM_SHURIKEN) iStack=50;
if (iBaseType==BASE_ITEM_SPELLSCROLL) iStack=10;
if (iAmCommodity==0)
{
FloatingTextStringOnCreature("This is not a valid commodity!",oPC,FALSE);
CreateItemOnObject("_uoa_commodity_e",oPC,1);
return;
}
object oDeed = CreateItemOnObject("_uoa_commodity_f",oPC,1);
SetLocalString(oDeed,"sItemTag",sItemTag);
SetLocalString(oDeed,"sItemResRef",sItemResRef);
SetLocalString(oDeed,"sItemName",sItemName);
object oGone = GetFirstItemInInventory(oPC);
float fDelay = 2.0;
int iCounter;
if (oGone!=OBJECT_INVALID)
{
while (oGone!=OBJECT_INVALID)
{
if (GetTag(oGone)==sItemTag)
{
if (GetLocalInt(oGone,"iAmCounted")==0)
{
SetLocalInt(oGone,"iAmCounted",99);
iCounter=iCounter+GetNumStackedItems(oGone);
DestroyObject(oGone,fDelay);
fDelay=fDelay+0.2;
}
}
oGone = GetNextItemInInventory(oPC);
if (oGone==OBJECT_INVALID) break;
}
}
SetLocalInt(oDeed,"iNumberStored",iCounter);
SetLocalInt(oDeed,"iStack",iStack);
DelayCommand(fDelay+0.5,SendMessageToPC(oPC,"Successfully added "+IntToString(iCounter)+" "+sItemName+" to the bundle."));
}