Lankhmar_PRC8/_module/nss/item_strip.nss

192 lines
6.6 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 12:54:47 -04:00
void DeMagnitizePC(object oPC)
{
effect eEffect = GetFirstEffect(oPC);
while (GetIsEffectValid(eEffect) == TRUE)
{
RemoveEffect(oPC, eEffect);
eEffect = GetNextEffect(oPC);
}
}
void main()
{
object oPC = GetEnteringObject();
BlackScreen(oPC);
DelayCommand(1.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
DeMagnitizePC(oPC);
object oContainer = GetObjectByTag("splshchst"); //NEW CONTAINER -
object oArea = OBJECT_INVALID;
object oItem = GetFirstObjectInArea(oArea);
while (GetIsObjectValid(oItem) == TRUE)
{
if (GetObjectType(oItem) == OBJECT_TYPE_ITEM)
{
CopyItem(oItem, oContainer);
SetPlotFlag(oItem, FALSE);
DestroyObject(oItem, 0.1);
}
oItem = GetNextObjectInArea(oArea);
}
//if this is the main PC - who has had the dream
if (GetLocalInt(oPC, "nPCNumber") == 1)
{
object oGear = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC);
object oGear2;
//object oContainer = GetObjectByTag("q2a_pc_equip");//OLD CONTAINER - IN PC START ROOM
int nGold = 0;
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BELT, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_NECK, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetFirstItemInInventory(oPC);
while (oGear != OBJECT_INVALID)
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
oGear = GetNextItemInInventory(oPC);
}
//Get Rid of Gold
TakeGoldFromCreature(GetGold(oPC), oPC, TRUE);
//Do the following only the first time the area is entered
if (GetLocalInt(OBJECT_SELF, "nSaved") == 1)
return;
SetLocalInt(OBJECT_SELF, "nSaved", 1);
// DoSinglePlayerAutoSave();
}
}