Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e17845dd57 | |||
| ff6769f6a4 | |||
| 869fedd128 | |||
| 2a9d7e7acb |
@@ -1,3 +1,11 @@
|
||||
## 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
|
||||
|
||||
@@ -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."
|
||||
|
||||
12
module.json
12
module.json
@@ -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.1",
|
||||
"version": "1.2.2",
|
||||
"minimumCoreVersion" : "0.7.7",
|
||||
"compatibleCoreVersion" : "0.7.9",
|
||||
"author": "Manuel Vögele",
|
||||
"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.1.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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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})
|
||||
|
||||
13
src/main.js
13
src/main.js
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user