Pot.c
class Pot : Bottle_Base
{
void Pot();
void ~Pot();
override bool IsContainer()
{
return true;
}
override bool IsCookware()
{
return true;
}
override string GetPouringSoundset()
{
return "emptyVessle_Pot_SoundSet";
}
override string GetEmptyingLoopSoundsetHard()
{
return "pour_HardGround_Pot_SoundSet";
}
override string GetEmptyingLoopSoundsetSoft()
{
return "pour_SoftGround_Pot_SoundSet";
}
override string GetEmptyingLoopSoundsetWater()
{
return "pour_Water_Pot_SoundSet";
}
override string GetEmptyingEndSoundsetHard()
{
return "pour_End_HardGround_Pot_SoundSet";
}
override string GetEmptyingEndSoundsetSoft()
{
return "pour_End_SoftGround_Pot_SoundSet";
}
override string GetEmptyingEndSoundsetWater()
{
return "pour_End_Water_Pot_SoundSet";
}
override bool CanPutInCargo( EntityAI parent )
{
if ( !super.CanPutInCargo( parent ) )
return false;
if ( parent && IsCargoException4x3( parent ) )
return false;
//is 'parent' somewhere in cargo?
if (parent && !parent.GetInventory().AreChildrenAccessible())
return false;
return true;
}
override bool CanReceiveItemIntoCargo( EntityAI item )
{
if ( !super.CanReceiveItemIntoCargo( item ) )
return false;
if ( IsCargoException4x3( item ) )
return false;
//is 'this' somewhere in cargo?
if (!GetInventory().AreChildrenAccessible())
return false;
//can 'this' be attached to the item (->assumed smaller size than item)?
int slotId;
for (int i = 0; i < GetInventory().GetSlotIdCount(); i++)
{
slotId = GetInventory().GetSlotId(i);
if (item.GetInventory().HasAttachmentSlot(slotId))
{
//Print("CanReceiveItemIntoCargo | item " + item + " matches in slot name: " + InventorySlots.GetSlotName(slotId) + " of " + this);
return false;
}
}
return true;
}
override bool CanLoadItemIntoCargo( EntityAI item )
{
if ( !super.CanLoadItemIntoCargo( item ) )
return false;
if ( IsCargoException4x3( item ) )
return false;
//can 'this' be attached to the item (->assumed smaller size than item)?
int slotId;
for (int i = 0; i < GetInventory().GetSlotIdCount(); i++)
{
slotId = GetInventory().GetSlotId(i);
if (item.GetInventory().HasAttachmentSlot(slotId))
{
//Print("CanLoadItemIntoCargo | item " + item + " matches in slot name: " + InventorySlots.GetSlotName(slotId) + " of " + this);
return false;
}
}
return true;
}
override bool IsOpen()
{
return true;
}
override bool CanHaveWetness()
{
return true;
}
override float GetQuantityNormalizedScripted()
{
return 1.0;
}
override void SetActions()
{
super.SetActions();
RemoveAction(ActionDrink);
RemoveAction(ActionEmptyBottleBase);
AddAction(ActionDrinkCookingPot);
AddAction(ActionEmptyCookingPot);
}
}