diff --git a/config.json b/config.json index e1e364ce1..c2b621ac6 100644 --- a/config.json +++ b/config.json @@ -107,7 +107,6 @@ "ChaosBagStatTracker.766620", "Blesstokens.afa06b", "Cursetokens.bd0253", - "TokenRemover.0a5a29", "TokenSpawnTool.36b4ee", "OfficialStandaloneChallengeScenarios.0ef5c8", "TarotDeck.77f1e5", @@ -176,6 +175,11 @@ "PlayerCards.2d30ee", "TokenRemover.39b175", "TokenRemover.2ba7a5", + "TokenRemover.0a5a29", + "TokenDiscardZone.457de3", + "TokenDiscardZone.457de4", + "TokenDiscardZone.457de5", + "TokenDiscardZone.457de6", "Decoration-Map.6161b4", "RulebooksGuidesandTablets.fcfa7f", "TableDivider.612072", @@ -218,4 +222,4 @@ "Turns_path": "Turns.json", "VersionNumber": "v13.2.2", "XmlUI": "\u003cInclude src=\"Global/Global.xml\"/\u003e" -} +} \ No newline at end of file diff --git a/objects/HandTrigger.0285cc.json b/objects/HandTrigger.0285cc.json index d8eff7f5a..68ad32ce5 100644 --- a/objects/HandTrigger.0285cc.json +++ b/objects/HandTrigger.0285cc.json @@ -32,13 +32,13 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": -30.5, + "posX": -30.35, "posY": 6, - "posZ": 36.053, + "posZ": 36.6, "rotX": 0, "rotY": 180, "rotZ": 0, - "scaleX": 21.96, + "scaleX": 22, "scaleY": 7, "scaleZ": 5 }, diff --git a/objects/HandTrigger.5fe087.json b/objects/HandTrigger.5fe087.json index 0ea988e6e..a919b3b1b 100644 --- a/objects/HandTrigger.5fe087.json +++ b/objects/HandTrigger.5fe087.json @@ -32,13 +32,13 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": -65.7, + "posX": -65, "posY": 6, - "posZ": -15.5, + "posZ": -16.1, "rotX": 0, "rotY": 90, "rotZ": 0, - "scaleX": 22.96, + "scaleX": 22, "scaleY": 7, "scaleZ": 5 }, diff --git a/objects/HandTrigger.a70eee.json b/objects/HandTrigger.a70eee.json index 9fcb112aa..89cc2fa15 100644 --- a/objects/HandTrigger.a70eee.json +++ b/objects/HandTrigger.a70eee.json @@ -32,13 +32,13 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": -65.7, + "posX": -65, "posY": 6, - "posZ": 15.5, + "posZ": 16.1, "rotX": 0, "rotY": 90, "rotZ": 0, - "scaleX": 22.96, + "scaleX": 22, "scaleY": 7, "scaleZ": 5 }, diff --git a/objects/HandTrigger.be2f17.json b/objects/HandTrigger.be2f17.json index ac40365cd..b741630b9 100644 --- a/objects/HandTrigger.be2f17.json +++ b/objects/HandTrigger.be2f17.json @@ -32,13 +32,13 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": -30.5, + "posX": -30.35, "posY": 6, - "posZ": -36.364, + "posZ": -36.6, "rotX": 0, "rotY": 0, "rotZ": 0, - "scaleX": 21.96, + "scaleX": 22, "scaleY": 7, "scaleZ": 5 }, diff --git a/objects/Playermat2Orange.bd0ff4.json b/objects/Playermat2Orange.bd0ff4.json index a0c7a9a19..a11274e26 100644 --- a/objects/Playermat2Orange.bd0ff4.json +++ b/objects/Playermat2Orange.bd0ff4.json @@ -353,9 +353,9 @@ "Sticky": true, "Tooltip": false, "Transform": { - "posX": -54.999, + "posX": -55, "posY": 1.45, - "posZ": -16.098, + "posZ": -16.1, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/TokenDiscardZone.457de3.json b/objects/TokenDiscardZone.457de3.json new file mode 100644 index 000000000..9062944f8 --- /dev/null +++ b/objects/TokenDiscardZone.457de3.json @@ -0,0 +1,46 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "a": 0.5098, + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "457de3", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": true, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "ScriptingTrigger", + "Nickname": "TokenDiscardZone", + "Snap": true, + "Sticky": true, + "Tooltip": false, + "Transform": { + "posX": -65, + "posY": 1.5, + "posZ": 16.1, + "rotX": 0, + "rotY": 90, + "rotZ": 0, + "scaleX": 22, + "scaleY": 0.5, + "scaleZ": 5 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/TokenDiscardZone.457de4.json b/objects/TokenDiscardZone.457de4.json new file mode 100644 index 000000000..991c92005 --- /dev/null +++ b/objects/TokenDiscardZone.457de4.json @@ -0,0 +1,46 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "a": 0.5098, + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "457de4", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": true, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "ScriptingTrigger", + "Nickname": "TokenDiscardZone", + "Snap": true, + "Sticky": true, + "Tooltip": false, + "Transform": { + "posX": -65, + "posY": 1.5, + "posZ": -16.1, + "rotX": 0, + "rotY": 90, + "rotZ": 0, + "scaleX": 22, + "scaleY": 0.5, + "scaleZ": 5 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/TokenDiscardZone.457de5.json b/objects/TokenDiscardZone.457de5.json new file mode 100644 index 000000000..2a85afc90 --- /dev/null +++ b/objects/TokenDiscardZone.457de5.json @@ -0,0 +1,46 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "a": 0.5098, + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "457de5", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": true, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "ScriptingTrigger", + "Nickname": "TokenDiscardZone", + "Snap": true, + "Sticky": true, + "Tooltip": false, + "Transform": { + "posX": -30.35, + "posY": 1.5, + "posZ": 36.6, + "rotX": 0, + "rotY": 180, + "rotZ": 0, + "scaleX": 22, + "scaleY": 0.5, + "scaleZ": 5 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/TokenDiscardZone.457de6.json b/objects/TokenDiscardZone.457de6.json new file mode 100644 index 000000000..5100327c3 --- /dev/null +++ b/objects/TokenDiscardZone.457de6.json @@ -0,0 +1,46 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "a": 0.5098, + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "457de6", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": true, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "ScriptingTrigger", + "Nickname": "TokenDiscardZone", + "Snap": true, + "Sticky": true, + "Tooltip": false, + "Transform": { + "posX": -30.35, + "posY": 1.5, + "posZ": -36.6, + "rotX": 0, + "rotY": 0, + "rotZ": 0, + "scaleX": 22, + "scaleY": 0.5, + "scaleZ": 5 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/src/core/GUIDReferenceHandler.ttslua b/src/core/GUIDReferenceHandler.ttslua index 53b3c7d9c..6aa81cd8f 100644 --- a/src/core/GUIDReferenceHandler.ttslua +++ b/src/core/GUIDReferenceHandler.ttslua @@ -8,6 +8,7 @@ local GuidReferences = { InvestigatorSkillTracker = "e598c2", Playermat = "8b081b", ResourceCounter = "4406f0", + TokenDiscardZone = "457de3", Trash = "147e80" }, Orange = { @@ -19,6 +20,7 @@ local GuidReferences = { InvestigatorSkillTracker = "b4a5f7", Playermat = "bd0ff4", ResourceCounter = "816d84", + TokenDiscardZone = "457de4", Trash = "f7b6c8" }, Green = { @@ -30,6 +32,7 @@ local GuidReferences = { InvestigatorSkillTracker = "af7ed7", Playermat = "383d8b", ResourceCounter = "cd15ac", + TokenDiscardZone = "457de5", Trash = "5f896a" }, Red = { @@ -41,6 +44,7 @@ local GuidReferences = { InvestigatorSkillTracker = "e74881", Playermat = "0840d5", ResourceCounter = "a4b60d", + TokenDiscardZone = "457de6", Trash = "4b8594" }, Mythos = { diff --git a/src/core/Global.ttslua b/src/core/Global.ttslua index 06005c074..9ee7283da 100644 --- a/src/core/Global.ttslua +++ b/src/core/Global.ttslua @@ -187,6 +187,19 @@ function tryObjectEnterContainer(container, object) return true end +-- TTS event for objects that enter zones +-- used to detect the "token discard zones" beneath the hand zones +function onObjectEnterZone(zone, enteringObj) + if zone.getName() ~= "TokenDiscardZone" then return end + if tokenChecker.isChaosToken(enteringObj) then return end + + if enteringObj.type == "Tile" and enteringObj.getMemo() and enteringObj.getLock() == false then + local matcolor = playmatApi.getMatColorByPosition(enteringObj.getPosition()) + local trash = guidReferenceApi.getObjectByOwnerAndType(matcolor, "Trash") + trash.putObject(enteringObj) + end +end + --------------------------------------------------------- -- chaos token drawing --------------------------------------------------------- diff --git a/src/util/TokenRemover.ttslua b/src/util/TokenRemover.ttslua index 8e7bc84bc..d1a76c00e 100644 --- a/src/util/TokenRemover.ttslua +++ b/src/util/TokenRemover.ttslua @@ -1,5 +1,4 @@ local zone = nil -local tokenChecker = require("core/token/TokenChecker") -- general code function onSave() @@ -18,10 +17,11 @@ function enable() local scale = self.getScale() zone = spawnObject({ type = "ScriptingTrigger", - position = self.getPosition() + Vector(0, 2.5 + 0.11, 0), + position = self.getPosition() + Vector(0, 3.5 + 0.11, 0), rotation = self.getRotation(), - scale = { scale.x * 2, 5, scale.z * 2 } + scale = { scale.x * 2, 7, scale.z * 2 } }) + zone.setName("TokenDiscardZone") setMenu(false) end @@ -40,13 +40,6 @@ function setMenu(isEnabled) end end -function onObjectEnterScriptingZone(entering, object) - if zone ~= entering then return end - if object == self or object.type == "Deck" or object.type == "Card" then return end - if tokenChecker.isChaosToken(object) then return end - object.destruct() -end - function onPickUp() disable() end