Aschent89 / tdn-bug-tracking

Repo intended for tracking bugs found on The Dragon's Neck NWN PW.
1 stars 0 forks source link

Rapier does not seem to be adding Precise Strike damage bonus. #240

Open Aschent89 opened 5 months ago

Aschent89 commented 5 months ago

Generated from player-support: https://discord.com/channels/460557954148597782/1242895796278399057

image

Aschent89 commented 5 months ago

@kevincbryan Some notes here:

What I recommend doing is spinning up a Swashbuckler in your local dev instance, validate that you can repro the issue, and then review where in the function things are going awry. If you hit a problem, let us know and we can assist!

kevincbryan commented 5 months ago

I think I see where the problem is on this. IsEligibleForSwashbucklerAbilities() checks for medium armor or heavy armor on the chest, it checks for shields in the right or left hand, and then it checks the weapon size of the main hand. It never checks if the weapon equipped is a rapier or other potential finessable main-hand weapon.

However, there is some ambiguity in game rules, in NWN by default, rapiers are not finessable by small sized characters. Should they be precise strikeable for small sized characters? We should be able to set it up either way, but if rapier halflings shouldn't be a thing, we should update the wiki accordingly.

Aschent89 commented 5 months ago

I think I see where the problem is on this. IsEligibleForSwashbucklerAbilities() checks for medium armor or heavy armor on the chest, it checks for shields in the right or left hand, and then it checks the weapon size of the main hand. It never checks if the weapon equipped is a rapier or other potential finessable main-hand weapon.

However, there is some ambiguity in game rules, in NWN by default, rapiers are not finessable by small sized characters. Should they be precise strikeable for small sized characters? We should be able to set it up either way, but if rapier halflings shouldn't be a thing, we should update the wiki accordingly.

Halflings should not be able to precise strike or finesse rapiers due to size. Otherwise go ahead and make the change and test locally to validate that your fix has worked.

kevincbryan commented 5 months ago

Okay, I got this working and got it pushed to my branch if you want to take a look at the fix. If the PC is bigger than a halfling it checks if a rapier is equipped.

Although looking at this, I noticed another bug that is present. The weapon size check only checks the size of the weapon in the right hand. A character can equip a rapier in their right hand and a long sword in their left hand and get the damage bonus on both.

I assume that isn't intended. I can fix it while I'm already working on this bug, but I would like some clarification on how it should be fixed.

If someone has a valid weapon right hand and an invalid weapon left, should:

  1. The valid weapon gets the damage bonus, the invalid weapon does not.
  2. Neither weapon gets the damage bonus.

If the weapons validness is tracked seperately should we also allow a bonus for valid left hand weapons with invalid right hand weapons?