death-save / combat-utility-belt

Combat Utility Belt module for Foundry Virtual Tabletop
https://deathsave.dev
GNU General Public License v3.0
53 stars 58 forks source link

TidySheet5e shows error notification if Exhaustion mapping in Tidysheet does not match CUB #683

Closed gris-x closed 2 years ago

gris-x commented 2 years ago

Describe the bug When updating temp HP on my character, I get a bunch of error messages

To Reproduce Steps to reproduce the behavior:

  1. Go to character token
  2. Open char sheet
  3. Update temporary hp
  4. See error

Expected behavior No error message showing up

Screenshots If applicable, add screenshots to help explain your problem.

image

Environment Info (please complete the following information):

Additional context from F12

5 enhanced-conditions.js:1414 Combat Utility Belt - Enhanced Conditions | ENHANCED_CONDITIONS.RemoveCondition.Failed.NoMapping

gris-x commented 2 years ago

CUB v 1.9.1

CaosFR commented 2 years ago

Same error and environnement when I modify anything in a character sheet of my players (PC). Zero problem on monster character sheet (NPC). If I disable combat-utility-belt it's ok. If I just disable Condition Lab the problem persist.

Update : If I disable "Tidy5e Sheet" module, the problem look be solve (but I dont want disable it :) ). If I use the defaut 5e sheet with the module enable the problem persist . Are they any incompatibility ?

Console enhanced-conditions.js:1414 Combat Utility Belt - Enhanced Conditions | ENHANCED_CONDITIONS.RemoveCondition.Failed.NoMapping

gris-x commented 2 years ago

it seems to be linked to the custom exhaustion condition in Tidy sheet setup under GM Options. setting no exhaustion automation seems to fix it.

eclarke12 commented 2 years ago

Most likely this is related to translation issues.

CaosFR commented 2 years ago

Most likely this is related to translation issues.

Yes it's should be that, I'm french and my game is translate. My previous CUB bug was a translation issues to. Instead of the quick fix of gris-x (thanks for the tip) can we do something or we have to wait you for a update ?

eclarke12 commented 2 years ago

I think maybe the Exhaustion in TidySheet is hardcoded to English? Is your Exhaustion in your Condition Lab in French?

My guess is something like:

  1. Change HP
  2. TidySheet check for Exhaustion using hardcoded English name
  3. TidySheet sees CUB installed and uses CUB to try to remove condition
  4. Fails because name does not match

I will try to take a look at the TidySheet code.

CaosFR commented 2 years ago

@eclarke12 Thanks for your help. Yes my condition Lab is in French.

I have follow your advise and find the hardcoded name of Exhaustion in TidySheet. In French it's "Fatigue 1" to "Fatigue 6". I have modify the Condition Lab to match with it and the NoMapping error message it's solve.

After that, I have a new error in the console log (F12) when I modify Exhaustion in the PC sheet (others modifications are ok), see below :

Uncaught (in promise) 
TypeError: Cannot read properties of null (reading 'drawShape')
[Detected 1 package: combat-utility-belt]
    at SmoothGraphics.drawShape (SmoothGraphics.ts:526:1)
    at SmoothGraphics.drawRoundedRect (SmoothGraphics.ts:475:1)
    at Token5e._drawEffect (token.js:149:12)
    at async Promise.all (index 0)
    at async Token5e.drawEffects (foundry.js:38383:7)
  | drawShape | @ | SmoothGraphics.ts:526
  | drawRoundedRect | @ | SmoothGraphics.ts:475
  | _drawEffect | @ | token.js:149
  | await in _drawEffect (async) |   |  
  | _onEmbeddedDocumentChange | @ | foundry.js:13827
  | _onCreateEmbeddedDocuments | @ | foundry.js:13792
  | _handleCreateEmbeddedDocuments | @ | foundry.js:10078
  | _createEmbeddedDocuments | @ | foundry.js:9967
  | await in _createEmbeddedDocuments (async) |   |  
  | create | @ | backend.mjs:95
  | await in create (async) |   |  
  | createDocuments | @ | document.mjs:338
  | createEmbeddedDocuments | @ | document.mjs:522
  | addCondition | @ | enhanced-conditions.js:1230
  | updateExhaustion | @ | exhaustion.js:174
  | (anonymous) | @ | exhaustion.js:186
  | _call | @ | foundry.js:294
  | callAll | @ | foundry.js:253
  | callback | @ | foundry.js:10313
  | (anonymous) | @ | foundry.js:10251
  | _handleUpdateDocuments | @ | foundry.js:10251
  | _updateDocuments | @ | foundry.js:10131
  | await in _updateDocuments (async) |   |  
  | update | @ | backend.mjs:154
  | await in update (async) |   |  
  | updateDocuments | @ | document.mjs:373
  | update | @ | document.mjs:456
  | (anonymous) | @ | tidy5e-sheet.js:129
  | dispatch | @ | jquery.min.js:2
  | v.handle | @ | jquery.min.js:2
eclarke12 commented 2 years ago

@CaosFR I'm not sure about that last error. Can you confirm you've configured your CUB and TidySheet as follows (replacing Exhaustion with Fatigue): Open the Tidy Sheet - Sheet Settings Ensure the Exhaustion is set to Custom Set the custom Exhaustion name to match CUB Condition Lab image

CaosFR commented 2 years ago

@eclarke12 Yes, I confirm. I had configured like you say, see below Capture

I have make some search, the problem come from Automated Animations (AA*) module (https://github.com/otigon/automated-jb2a-animations). I realy dont know why. I have disable and enable "Autoplay Video Preview" and the problem is solve. Strange side effect.. Capture

In any case thanks you very mush for your time and help.