#include "prc_alterations"
#include "inc_utility"
#include "prc_feat_const"

void main()
{
    object oPC = OBJECT_SELF;
    object oWeap ;
    int iEquip = GetLocalInt(oPC, "ONEQUIP");
    int iLevel = (iEquip == 1) ? 0:1;

    SetCompositeAttackBonus(oPC, "WeoponMasteryBow", 0);
    SetCompositeAttackBonus(oPC, "WeoponMasteryXBow", 0);
    SetCompositeAttackBonus(oPC, "WeoponMasteryShur", 0);

    if (iEquip ==1)
      oWeap = GetItemLastUnequipped();
    else
      oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC);

    int iType = GetBaseItemType(oWeap);

    
    switch (iType)
    {
       case BASE_ITEM_LONGBOW:
       case BASE_ITEM_SHORTBOW:
         if ( GetHasFeat(FEAT_BOWMASTERY, oPC)) SetCompositeAttackBonus(oPC, "WeoponMasteryBow", iLevel);
         break;
       case BASE_ITEM_LIGHTCROSSBOW:
       case BASE_ITEM_HEAVYCROSSBOW:
         if ( GetHasFeat(FEAT_XBOWMASTERY, oPC)) SetCompositeAttackBonus(oPC, "WeoponMasteryXBow", iLevel);
         break;
       case BASE_ITEM_SHURIKEN:
         if ( GetHasFeat(FEAT_SHURIKENMASTERY, oPC)) SetCompositeAttackBonus(oPC, "WeoponMasteryShur", iLevel);
         break;
    }
}