theripper93 / better-roofs Goto Github PK
View Code? Open in Web Editor NEWA Foundry VTT module to improve roof behaviour
License: MIT License
A Foundry VTT module to improve roof behaviour
License: MIT License
Hi,
Can you add the translate French in you module, see the file in Att.
Thank you
Traduire module Better Roof.txt
Hi I'm guessing what is seen in the pic below is a bug but thought I'd ask 1st if it is intended behavior?
If it is intended, I'd like to request/suggest that only what is in the token's line of sight be visible. In other words, basically like real life, if I see a tiny bit of my neighbors house through the window, I wouldn't know the entire shape of their home.
If this is intended for some purpose I just haven't figured out yet, maybe the option to toggle view styles would be nice.
Otherwise, great mod, thanks for all the work on this and others recently!
Foundry 0.8.8; BR 0.9.9.1; Win10; Tested with Electron app and Chrome
Entire 2nd roof is visible when only a small sliver should be able to be seen. Tile correctly goes back to unseen what token moves out of window line of sight:
Hi, great module! Would it be possible to have a full town map with all visible roofs/streets/everything... and by the time I enter a door... walls and sight are activated (closed rooms are hidden)...
The problem is that I have a couple of buildings players can explore... and if they have projected shadows with sight activated... they spot them quickly! And I don't want to trace contour of every town building! Am I missing something?
Love the module! But, as a GM, I am greatly distracted by the semi-translucent rooftops once gameplay has moved indoors. Works great when tokens are selected - roofs are completely invisible. I wish I could completely hide them when no tokens are selected. If there is a way to do this already, my apologies.
**I have disabled all other modules: **True
**Module(s) **Better Roofs
**Conflicting Module(s) **
**Foundry and System version **Foundry 11.313 Dragonbane 1.4.0
Something to note is that I'm running Swedish localization of foundry.
(My guess is that this is the issue.)
**OS, Hosting, Browser (if applicable) **Ubuntu 23.04 lxc container in proxmox, My own server, Google chrome Version 117.0.5938.149 (Official Build) (arm64) on Mac
**Short description of bug **the module doesn't load, none of the UI shows up or any configuration for it
**Simple steps to reproduce the bug **
Start a new world with dragonbane, enable better roofs and the mandatory module.
I am experiencing some odd behavior from the better-roofs module. I tried looking through already opened tickets to see if someone has had this issue, especially because I am inclined to be believe it is user error (sorry) and I am missing a checkbox somewhere, but could not find anything.
Environment
Foundry 0.8.9
Better-Roofs 1.3.3
Lib-Wrapper 1.10.8.0
SFRPG System 0.14.3
All additional modules disabled
Steps
Enabled "Advanced Settings" in Better-Roofs module settings
Created scene with "Token Vision" and "Fog of War Exploration"
I set a building with interior and external walls. Marked external wall for the appropriate walls.
Walled off the entire map with the GUI button.
Placed Roof tile as an overhead tile.
Set better-roofs mode to "Show"
Set occlusion mode to "Fade"
Defined Polygon since it had not picked up the external walls correctly.
Expected Behavior
Overhead tile should show through fog of war
Actual Behavior
View of tile is blocked behind external walls:
Steps taken to fix
Updated from version 1.3.2 to 1.3.3 today. Same behavior
Disabled all modules except Better-Roofs (and dependency). Same behavior
Hey there!
It would be really cool to be able to check a box to add the option to hide a roof on mouseover, if a token below the roof is selected.
This is useful for maps with many roofs such as a dense forest etc.
Better-Roofs/scripts/helpers.js
Line 16 in 568e7a2
It seems as though, with Better Roofs enabled and Mask Mode activated, invisible walls are treated like normal walls when it comes to viewing beneath the mask.
How my walls are set up, as well
Would be useful if it could distinguish so I could put windows my players can't just wander their way through.
Edit: It also seems to apply to open doors, as well.
Hello folks, I’ve been playing around with Better Roofs and unfortunately run into an issue: when exploring one layer, it also reveals the fog of war on other layers.
Example with pictures:
Here my test PC is standing next to a fortified wall.
Using the stairs, he walks up the wall.
And when he gets back down, the fog of war below the wall is revealed.
This are the current Overhead settings (though I have tried multiple different ones).
I hope that either I'm making a mistake or that this is a fixable issue, because this looks like a very promising module though not revealing the fog of war is a necessity for my campaign and it would be quite a bummer if I cannot use it.
Thanks in advance :)
I have a Player Role set to Observer for all PC Tokens, and when a Roof is set to "Show Tile Through Fog", it doesn't. Vision stops at the wall lines drawn.
I get a lot of errors using Better-Roofs, Levels and Wall Heights together
FoundryVTT: 0.8.8
Better-Roofs: 0.9.8
Levels: 1.4.2
Wall-Height: 3.5.3.9
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
collection.mjs:106 Uncaught (in promise) Error: The key undefined does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)
collection.mjs:106 Uncaught (in promise) Error: The key undefined does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)
collection.mjs:106 Uncaught (in promise) Error: The key undefined does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)
VM926:8 TypeError: Cannot read property 'los' of undefined
at betterRoofsHelpers.computeShowHideTile (helpers.js:67)
at main.js:32
at Array.forEach (<anonymous>)
at main.js:22
at Function._call (eval at <anonymous> (listeners.js:56), <anonymous>:4:14)
at Function.callAll (foundry.js:153)
at SightLayer.restrictVisibility (foundry.js:39322)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39217)
at PerceptionManager._update (foundry.js:36161)
_call @ VM926:8
display.min.js:8 Uncaught (in promise) TypeError: Cannot set property filters of #<r> which has only a getter
at r.e.destroy (display.min.js:8)
at r.e.destroy (display.min.js:8)
at r.destroy (sprite.min.js:8)
at e.destroy (display.min.js:8)
at foundry.js:18432
at Array.forEach (<anonymous>)
at BackgroundLayer.tearDown (foundry.js:18432)
at BackgroundLayer.tearDown (foundry.js:19533)
at BackgroundLayer.tearDown (foundry.js:38370)
at Canvas.tearDown (foundry.js:17433)
helpers.js:339 Uncaught (in promise) TypeError: Cannot read property '1' of undefined
at Token5e._levelsTokenIsVisible (helpers.js:339)
at x.🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:549)
at Token5e.🎁Token.prototype.isVisible#getter (libWrapper-wrapper.js:322)
at SightLayer.restrictVisibility (foundry.js:39313)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39293)
at PerceptionManager._update (foundry.js:36161)
at PerceptionManager.update (foundry.js:36070)
at PerceptionManager.initialize (foundry.js:36079)
at Canvas._initialize (foundry.js:17564)
helpers.js:339 Uncaught TypeError: Cannot read property '1' of undefined
at Token5e._levelsTokenIsVisible (helpers.js:339)
at x.🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:549)
at Token5e.🎁Token.prototype.isVisible#getter (libWrapper-wrapper.js:322)
at SightLayer.restrictVisibility (foundry.js:39313)
at SightLayer.ConditionalVisibility._sightLayer.restrictVisibility (ConditionalVisibility.js:46)
at SightLayer.refresh (foundry.js:39293)
at PerceptionManager._update (foundry.js:36161)
at foundry.js:36134
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.