#include "prc_alterations"
void main()
{
    object oItem = GetInventoryDisturbItem();
    object oPC = GetLastDisturbed();
    if(GetPlotFlag(oItem))
    {
        FloatingTextStringOnCreature("You cannot sacrifice plot items.", oPC, FALSE);
        ActionGiveItem(oItem, oPC);
        return;
    }
    if(!GetIdentified(oItem) && !GetPRCSwitch(PRC_SAMURAI_ALLOW_UNIDENTIFIED_SACRIFICE))
    {
        FloatingTextStringOnCreature("You cannot sacrifice unidentified items.", oPC, FALSE);
        ActionGiveItem(oItem, oPC);
        return;
    }
    if(GetStolenFlag(oItem) && !GetPRCSwitch(PRC_SAMURAI_ALLOW_STOLEN_SACRIFICE))
    {
        FloatingTextStringOnCreature("You cannot sacrifice stolen items.", oPC, FALSE);
        ActionGiveItem(oItem, oPC);
        return;
    }
    SetIdentified(oItem, TRUE);
    int iValue = GetGoldPieceValue(oItem);
    if(GetPRCSwitch(PRC_SAMURAI_SACRIFICE_SCALAR_x100))
        iValue *= FloatToInt(IntToFloat(iValue)*(IntToFloat(GetPRCSwitch(PRC_SAMURAI_SACRIFICE_SCALAR_x100))/100.0));
    DestroyObject(oItem);
    if (iValue > 0)
    {
        int iCurrentValue = GetPersistantLocalInt(oPC, "CODI_SAMURAI");
        SetPersistantLocalInt(oPC, "CODI_SAMURAI", iCurrentValue + iValue);
        FloatingTextStringOnCreature("Your sacrifice is accepted. You now have " + IntToString(iCurrentValue + iValue) + " gold in sacrifices.", oPC);
    }
}