Skip to content

Implementing DnD 3.5 buckler mechanics for 2h weapons

UtranUtran Member Posts: 1
Hello everyone.

On the DnD 3.5 wiki there is an entry about the buckler (shield, base 1 AC).
Link:
https://www.dandwiki.com/wiki/SRD:Buckler

In the description there is interesting note:

This small metal shield is worn strapped to your forearm. You can use a bow or crossbow without penalty while carrying it. You can also use your shield arm to wield a weapon (whether you are using an off-hand weapon or using your off hand to help wield a two-handed weapon), but you take a –1 penalty on attack rolls while doing so. This penalty stacks with those that may apply for fighting with your off hand and for fighting with two weapons. In any case, if you use a weapon in your off hand, you don’t get the buckler’s AC bonus for the rest of the round.

You can’t bash someone with a buckler.


The fun part is the bow/crossbow and a 2h weapon.
Any idea on how to make it actually a thing in the game? Usually the slot for the left hand is locked when using a 2h weapon (greataxe, greatsword, crossbow, bow, etc). Any ideas on a workaround to implement this mechanic?

Cheers!

Comments

  • TerrorbleTerrorble Member Posts: 179
    I like the idea, but you're right, the left-hand slot is locked for all the mentioned scenarios. So, I think having a visual either on your inventory sheet or on your avatar in-game that shows a buckler being equipped while using one of those weapons is probably not feasible.

    I think you can simulate the bonus by checking if you have a buckler, then adding the bonus when you equip the weapons in
    x2_mod_def_equ.

    Here's a rough outline:
    
        object oItem = GetPCItemLastEquipped();
        object oPC   = GetPCItemLastEquippedBy();
    
    int nType = GetBaseItemType(oItem);
    effect eBucklerBonus;
    int nShield = 1;//can check if the buckler has bonuses if necessary but for now it's 1
    
    if( GetItemPossessedBy(OBJECT_SELF,"buckler") != OBJECT_INVALID )//do we have an item in our inventory tagged "buckler"?
    {
    
        switch( nType )//are we equipping a 2-handed weapon, bow or xbow?
        {
            case BASE_ITEM_GREATAXE:
            case BASE_ITEM_GREATSWORD:
            case BASE_ITEM_HALBERD:
            case BASE_ITEM_HEAVYFLAIL:
            case BASE_ITEM_QUARTERSTAFF:
            case BASE_ITEM_SCYTHE:
            case BASE_ITEM_SHORTSPEAR:
            case BASE_ITEM_TRIDENT:
            case BASE_ITEM_LONGBOW:
            case BASE_ITEM_SHORTBOW:
            case BASE_ITEM_HEAVYCROSSBOW:
            case BASE_ITEM_LIGHTCROSSBOW:
            {
                 //create a shield bonus effect and make it supernatural so it can't be dispelled
                  eBucklerBonus = SupernaturalEffect(EffectACIncrease(nShield, AC_SHIELD_ENCHANTMENT_BONUS));
    
                  //tag the effect so we can identify it later and remove it
                  eBucklerBonus = TagEffect(eBucklerBonus,"BUCKLER_BONUS");
    
                  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBucklerBonus,oPC);
            }
        default: break;
        }
    }
    

    Then in x2_mod_def_unequ you can remove the effect when you unequip a weapon.

    I'm not sure how I would do losing the AC bonus if you've made an attack with an off-hand weapon, though.
  • RifkinRifkin Member Posts: 143
    Actually this is possible if you changed the PC's size category. That being said, it has implications on Dodge AC, as well as AB when considering knockdowns.
Sign In or Register to comment.