#include "pws_nodropunique"

void main()
{
    //
    // DMs are allowed to drop ANY item (including no-drop)
    //
    object oPC = GetModuleItemLostBy();

    if (GetIsObjectValid(oPC) == TRUE) {
        if (GetIsDM(oPC)) return;


        //
        // DMs are allowed to take ANY item (including no-drop)
        //
        object oItemLost = GetModuleItemLost();
        object oItemPossessor = GetItemPossessor(oItemLost);

        if (GetIsDM(oItemPossessor)) return;

        //
        // Non-DMs
        //
        CheckForNoDrop();
    }
}