5 Commits

7 changed files with 40 additions and 10 deletions

View File

@@ -1,3 +1,15 @@
## v1.2.2
### Bugfix
- Disabled features are now less likely to interfere with other modules, increasing compatibility.
- This module can now be used together with the `Arms Reach` module if the `Toggle Secret Doors` feature is disabled in the settings.
### Other
- Warn the user about incompatibility if they use this module together with `Arms Reach` and have incompatible features enabled.
## v1.2.1
### Other
- Verified compatibility with 0.7.9
## v1.2.0
### New features
- Draw outlines around Door Control icons to increase their visibility

View File

@@ -28,6 +28,7 @@
},
"ui": {
"messages": {
"armsReachIncompatiblilty": "You have the modules Smart Doors and Arms Reach activated. Those modules are known to conflict with each other. To resolve the conflict please disable either the \"Toggle Secret Doors\" setting of Smart Doors or the \"Hotkey 'e' for interaction\" setting of Arms Reach.",
"migrating": "Migrating Smart Doors to version {version}. Please don't close the application.",
"migrationDone": "Smart Doors successfully migrated to version {version}.",
"unknownVersion": "Smart Doors migration failed with the error: Unkown Version {version}. Please report this to the Smart Doors issue tracker. To prevent possible data loss don't use this plugin until this error is fixed."

View File

@@ -2,10 +2,16 @@
"name": "smart-doors",
"title": "Smart Doors",
"description": "Makes doors smarter. Allows doors to synchronize across multiple scenes and sends chat messages when players try to open locked doors.",
"version": "1.2.0",
"version": "1.2.2",
"minimumCoreVersion" : "0.7.7",
"compatibleCoreVersion" : "0.7.8",
"author": "Manuel Vögele",
"compatibleCoreVersion" : "0.7.9",
"authors": [
{
"name": "Manuel Vögele",
"email": "develop@manuel-voegele.de",
"discord": "Stäbchenfisch#5107"
}
],
"esmodules": [
"src/main.js"
],
@@ -18,7 +24,7 @@
],
"url": "https://github.com/manuelVo/foundryvtt-smart-doors",
"manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-smart-doors/master/module.json",
"download": "https://github.com/manuelVo/foundryvtt-smart-doors/archive/v1.2.0.zip",
"download": "https://github.com/manuelVo/foundryvtt-smart-doors/archive/v1.2.2.zip",
"readme": "https://github.com/manuelVo/foundryvtt-smart-doors/blob/master/README.md",
"changelog": "https://github.com/manuelVo/foundryvtt-smart-doors/blob/master/CHANGELOG.md",
"bugs": "https://github.com/manuelVo/foundryvtt-smart-doors/issues"

View File

@@ -26,13 +26,13 @@ export function onRenderChatMessage(message, html, data) {
// Creates a chat message stating that a player tried to open a locked door
export function onDoorLeftClick() {
const state = this.wall.data.ds
const states = CONST.WALL_DOOR_STATES
// Check if this feature is enabled
if (!game.settings.get(settingsKey, "lockedDoorAlert"))
return false
const state = this.wall.data.ds
const states = CONST.WALL_DOOR_STATES
// Only create messages when the door is locked.
if (state != states.LOCKED)
return false

View File

@@ -3,7 +3,7 @@ import * as Util from "../util.js"
// Inject settings for synchronized doors
export function onRederWallConfig(wallConfig, html, data) {
if (data.isDoor && game.settings.get(settingsKey, "synchronizedDoors")) {
if (game.settings.get(settingsKey, "synchronizedDoors") && data.isDoor) {
// Inject settings
const synchronizedSettings = `
<p class="notes">${game.i18n.localize("smart-doors.ui.synchronizedDoors.description")}</p>

View File

@@ -2,7 +2,7 @@ import {settingsKey} from "../settings.js"
// Toggles between normal and secret doors
export function onDoorLeftClick(event) {
if (event.data.originalEvent.ctrlKey && game.user.isGM && game.settings.get(settingsKey, "toggleSecretDoors")) {
if (game.settings.get(settingsKey, "toggleSecretDoors") && event.data.originalEvent.ctrlKey && game.user.isGM) {
const types = CONST.WALL_DOOR_TYPES
const newtype = this.wall.data.door === types.DOOR ? types.SECRET : types.DOOR
this.wall.update({door: newtype})

View File

@@ -8,7 +8,7 @@ import * as SynchronizedDoors from "./features/synchronized_doors.js"
import * as ToggleSecretDoor from "./features/toggle_secret_door.js"
import {performMigrations} from "./migration.js"
import {registerSettings} from "./settings.js"
import {registerSettings, settingsKey} from "./settings.js"
Hooks.once("init", () => {
registerSettings()
@@ -20,6 +20,17 @@ Hooks.once("init", () => {
Hooks.once("ready", () => {
performMigrations()
// Check if arms-reach module is active and conflicting features are enabled
if (game.user.isGM && game.modules.get("arms-reach")?.active) {
// Our toggle-secret-door and arms-reach's hotkeyDoorInteraction conflict. Check if both are enabled.
if (game.settings.get(settingsKey, "toggleSecretDoors") && game.settings.get("arms-reach", "hotkeyDoorInteraction")) {
// Inform the user that they have incompatible features enabled
const incopatibilityMessage = game.i18n.localize("smart-doors.ui.messages.armsReachIncompatiblilty")
console.warn("Smart Doors | " + incopatibilityMessage)
ui.notifications.warn(incopatibilityMessage, {permanent: true})
}
}
})
Hooks.on("renderChatMessage", LockedDoorAlert.onRenderChatMessage)