Disable automatic location connections for some scenarios
The excluded scenarios have very complex connection limitations beyond what's on the cards; we should handle them eventually, but for now we just don't draw the connections for those scenarios.
This commit is contained in:
parent
e562716d30
commit
2239133013
@ -35,6 +35,10 @@ local SHIFT_EXCLUSION = {
|
|||||||
["f182ee"] = true,
|
["f182ee"] = true,
|
||||||
["721ba2"] = true
|
["721ba2"] = true
|
||||||
}
|
}
|
||||||
|
local LOC_LINK_EXCLUDE_SCENARIOS = {
|
||||||
|
["Devil Reef"] = true,
|
||||||
|
["The Witching Hour"] = true,
|
||||||
|
}
|
||||||
|
|
||||||
local INVESTIGATOR_COUNTER_GUID = "f182ee"
|
local INVESTIGATOR_COUNTER_GUID = "f182ee"
|
||||||
local PLAY_AREA_ZONE_GUID = "a2f932"
|
local PLAY_AREA_ZONE_GUID = "a2f932"
|
||||||
@ -119,7 +123,7 @@ end
|
|||||||
function onObjectPickUp(player, object)
|
function onObjectPickUp(player, object)
|
||||||
-- onCollisionExit fires first, so we have to check the card to see if it's a location we should
|
-- onCollisionExit fires first, so we have to check the card to see if it's a location we should
|
||||||
-- be tracking
|
-- be tracking
|
||||||
if isInPlayArea(object) and object.getGMNotes() ~= nil and object.getGMNotes() ~= "" then
|
if showLocationLinks() and isInPlayArea(object) and object.getGMNotes() ~= nil and object.getGMNotes() ~= "" then
|
||||||
local pickedUpGuid = object.getGUID()
|
local pickedUpGuid = object.getGUID()
|
||||||
local metadata = JSON.decode(object.getGMNotes())
|
local metadata = JSON.decode(object.getGMNotes())
|
||||||
if (metadata.type == "Location") then
|
if (metadata.type == "Location") then
|
||||||
@ -157,7 +161,7 @@ end
|
|||||||
function maybeTrackLocation(card)
|
function maybeTrackLocation(card)
|
||||||
-- Collision checks for any part of the card overlap, but our other tracking is centerpoint
|
-- Collision checks for any part of the card overlap, but our other tracking is centerpoint
|
||||||
-- Ignore any collision where the centerpoint isn't in the area
|
-- Ignore any collision where the centerpoint isn't in the area
|
||||||
if isInPlayArea(card) then
|
if showLocationLinks() and isInPlayArea(card) then
|
||||||
local metadata = JSON.decode(card.getGMNotes()) or { }
|
local metadata = JSON.decode(card.getGMNotes()) or { }
|
||||||
if metadata.type == "Location" then
|
if metadata.type == "Location" then
|
||||||
locations[card.getGUID()] = metadata
|
locations[card.getGUID()] = metadata
|
||||||
@ -187,6 +191,11 @@ end
|
|||||||
-- but does not draw those connections. This should often be followed by a call to
|
-- but does not draw those connections. This should often be followed by a call to
|
||||||
-- drawConnections()
|
-- drawConnections()
|
||||||
function rebuildConnectionList()
|
function rebuildConnectionList()
|
||||||
|
if not showLocationLinks() then
|
||||||
|
locationConnections = { }
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local iconCardList = { }
|
local iconCardList = { }
|
||||||
|
|
||||||
-- Build a list of cards with each icon as their location ID
|
-- Build a list of cards with each icon as their location ID
|
||||||
@ -268,6 +277,10 @@ end
|
|||||||
|
|
||||||
-- Draws the lines for connections currently in locationConnections.
|
-- Draws the lines for connections currently in locationConnections.
|
||||||
function drawConnections()
|
function drawConnections()
|
||||||
|
if not showLocationLinks() then
|
||||||
|
locationConnections = { }
|
||||||
|
return
|
||||||
|
end
|
||||||
local cardConnectionLines = { }
|
local cardConnectionLines = { }
|
||||||
|
|
||||||
for originGuid, targetGuids in pairs(locationConnections) do
|
for originGuid, targetGuids in pairs(locationConnections) do
|
||||||
@ -422,4 +435,11 @@ end
|
|||||||
|
|
||||||
function onScenarioChanged(scenarioName)
|
function onScenarioChanged(scenarioName)
|
||||||
currentScenario = scenarioName
|
currentScenario = scenarioName
|
||||||
|
if not showLocationLinks() then
|
||||||
|
broadcastToAll("Automatic location connections not available for this scenario")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function showLocationLinks()
|
||||||
|
return not LOC_LINK_EXCLUDE_SCENARIOS[currentScenario]
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user