192 lines
6.6 KiB
Plaintext
192 lines
6.6 KiB
Plaintext
|
|
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();
|
|
|
|
|
|
}
|
|
}
|