From 7f88498616b4046b4ac6ace70a62beb2968ca7e0 Mon Sep 17 00:00:00 2001 From: Marcel Alencar Date: Thu, 24 Oct 2019 14:01:14 -0300 Subject: [PATCH] Added a option to TokenLock that blocks move only and allow rotation --- TokenLock/TokenLock.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/TokenLock/TokenLock.js b/TokenLock/TokenLock.js index 66314ce..4bee072 100644 --- a/TokenLock/TokenLock.js +++ b/TokenLock/TokenLock.js @@ -132,6 +132,10 @@ const TokenLock = (() => { // eslint-disable-line no-unused-vars switch(args.shift()) { case 'lock': state.TokenLock.locked=true; + if (args.includes('--moveOnly')) { + state.TokenLock.lockedMoveOnly=true; + } + sendChat('TokenLock','/w gm ' + getCommandOption_ToggleLock() ); @@ -140,6 +144,7 @@ const TokenLock = (() => { // eslint-disable-line no-unused-vars case 'unlock': state.TokenLock.locked=false; + state.TokenLock.lockedMoveOnly=false; sendChat('TokenLock','/w gm ' + getCommandOption_ToggleLock() ); @@ -215,11 +220,11 @@ const TokenLock = (() => { // eslint-disable-line no-unused-vars ); if('' !== obj.get('controlledby')) { - obj.set({left: prev.left, top: prev.top, rotation: prev.rotation}); + obj.set({left: prev.left, top: prev.top, rotation: (state.TokenLock.lockedMoveOnly ? obj.rotation : prev.rotation)}); } else if('' !== obj.get('represents') ) { let character = getObj('character',obj.get('represents')); if( character && character.get('controlledby') ) { - obj.set({left: prev.left, top: prev.top, rotation: prev.rotation}); + obj.set({left: prev.left, top: prev.top, rotation: (state.TokenLock.lockedMoveOnly ? obj.rotation : prev.rotation)}); } } } @@ -251,7 +256,8 @@ const TokenLock = (() => { // eslint-disable-line no-unused-vars config: { allowMoveOnTurn: false }, - locked: false + locked: false, + lockedMoveOnly: false }; } }