commit
8395438b30
@ -3,7 +3,6 @@
|
||||
"ComponentTags_path": "ComponentTags.json",
|
||||
"CustomUIAssets_path": "CustomUIAssets.json",
|
||||
"DecalPallet_path": "DecalPallet.json",
|
||||
"Decals": [],
|
||||
"GameComplexity": "",
|
||||
"GameMode": "Arkham Horror LCG - Super Complete Edition",
|
||||
"GameType": "",
|
||||
@ -132,6 +131,7 @@
|
||||
"EdgeoftheEarth.895eaa",
|
||||
"TheDream-Eaters.a16a1a",
|
||||
"TheFeastofHemlockVale.c740af",
|
||||
"TheDrownedCity.938aab",
|
||||
"ReturntoTheCircleUndone.757324",
|
||||
"OtherDoominPlay.652ff3",
|
||||
"Playermat1White.8b081b",
|
||||
@ -176,8 +176,7 @@
|
||||
"Decoration-Ammo.b43845",
|
||||
"Decoration-Ammo.d35ee9",
|
||||
"VictoryDisplay.6ccd6d",
|
||||
"OfficialReleasesOverview.8e22bb",
|
||||
"Fan-MadeExpansionOverview.de7cae",
|
||||
"BuyersGuide.b5ecc1",
|
||||
"OptionPanelSource.830bd0",
|
||||
"SoundCube.3c988f",
|
||||
"TokenSpawningReference.f8b3a7",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"0": {
|
||||
"body": "Welcome to Arkham Horror LCG - Super Complete Edition!\n\nMake sure to take the tour that can be started with the token in the middle of the main playarea. Some basic notes:\n\nDECKBUILDING\n- All currently existing investigators and player cards are accessible via the player card panel in the upper left corner of the table.\n\n- On the leftside underneath the Investigators, you will find the ArkhamDB Deckimporter. Insert your deck ID and it will build the deck automatically for you.\n\nSCENARIOS \u0026 SETUP\n- Arkham Horror LCG comes with a core campaign (Night of the Zealot) and several expansions. Within each box you will find all the cards required for each scenario setup, as well as a the official campaign guide PDF.\n\n2. Each scenario is setup differently, and while some of the work has been prepared beforehand (such as building encounter decks), you will have to refer to the Campaign Guide for specific instructions on how to set up each scenario.\n\nINVESTIGATOR PLAYMAT AND GAMEPLAY\n- Playermats are scripted to automate most of the gameplay for you.",
|
||||
"color": "Grey",
|
||||
"id": 1,
|
||||
"id": 0,
|
||||
"title": "Basic Intro",
|
||||
"visibleColor": {
|
||||
"b": 0.5,
|
||||
@ -13,7 +13,7 @@
|
||||
"1": {
|
||||
"body": "The server host can enable or disable cards in hands being hidden from other players by going to the menu at the top of the TTS screen, clicking options, and choosing Hands. The \"Disable\" setting reveals all player hands to all players, while the \"Default\" setting means that each player can only see the cards in their own hand.",
|
||||
"color": "Grey",
|
||||
"id": 2,
|
||||
"id": 1,
|
||||
"title": "How to Hide Hands",
|
||||
"visibleColor": {
|
||||
"b": 0.5,
|
||||
|
@ -39,9 +39,9 @@
|
||||
},
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -19.5,
|
||||
"posX": -2.6,
|
||||
"posY": 1.697,
|
||||
"posZ": -87,
|
||||
"posZ": -52,
|
||||
"rotX": 90,
|
||||
"rotY": 90,
|
||||
"rotZ": 0,
|
||||
|
@ -10,22 +10,16 @@
|
||||
"g": 0,
|
||||
"r": 0
|
||||
},
|
||||
"CustomImage": {
|
||||
"CustomTile": {
|
||||
"Stackable": false,
|
||||
"Stretch": true,
|
||||
"Thickness": 0.1,
|
||||
"Type": 0
|
||||
},
|
||||
"ImageScalar": 1,
|
||||
"ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/2460726979851338290/FD3A124A45AFAACAB85E34060B09B52FE798E991/",
|
||||
"ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/2460726979851337461/C6A08EA4A71B37F9C27E2545037F557D65BBF521/",
|
||||
"WidthScale": 0
|
||||
"CustomPDF": {
|
||||
"PDFPage": 0,
|
||||
"PDFPageOffset": 0,
|
||||
"PDFPassword": "",
|
||||
"PDFUrl": "https://steamusercontent-a.akamaihd.net/ugc/2369545214002116550/E767153EDE2129C09FA16ECB856C33D3C356C322/"
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "8e22bb",
|
||||
"GUID": "b5ecc1",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
@ -33,24 +27,24 @@
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScript": "",
|
||||
"LuaScript": "require(\"util/BuyersGuide\")",
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Custom_Tile",
|
||||
"Nickname": "Official Releases Overview",
|
||||
"Name": "Custom_PDF",
|
||||
"Nickname": "Buyer's Guide",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -1.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -55,
|
||||
"posZ": -71.5,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
"scaleX": 13,
|
||||
"scaleX": 6.5,
|
||||
"scaleY": 1,
|
||||
"scaleZ": 13
|
||||
"scaleZ": 6.5
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
@ -56,7 +56,7 @@
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -65,
|
||||
"posZ": -52,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
|
@ -1,57 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 0,
|
||||
"g": 0,
|
||||
"r": 0
|
||||
},
|
||||
"CustomImage": {
|
||||
"CustomTile": {
|
||||
"Stackable": false,
|
||||
"Stretch": true,
|
||||
"Thickness": 0.1,
|
||||
"Type": 0
|
||||
},
|
||||
"ImageScalar": 1,
|
||||
"ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/2460726979851342612/65DEC18BEFEFB1117CFEAAE9AB15B442AE8B557B/",
|
||||
"ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/2460726979851342006/859CF14CE18A4F8C2AFDADA3E69E1B6864154696/",
|
||||
"WidthScale": 0
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "de7cae",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScript": "",
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Custom_Tile",
|
||||
"Nickname": "Fan-Made Expansion Overview",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -1.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -75,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
"scaleX": 13,
|
||||
"scaleY": 1,
|
||||
"scaleZ": 13
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -44,9 +44,9 @@
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -26,
|
||||
"posX": -9,
|
||||
"posY": 1.481,
|
||||
"posZ": -87,
|
||||
"posZ": -52,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
|
@ -27,6 +27,11 @@
|
||||
"Name": "OtherCards",
|
||||
"Type": 0,
|
||||
"URL": "https://steamusercontent-a.akamaihd.net/ugc/2446096169989812196/B5C491331EB348C261F561DC7A19968ECF9FC74A/"
|
||||
},
|
||||
{
|
||||
"Name": "TheDrownedCity",
|
||||
"Type": 0,
|
||||
"URL": "https://steamusercontent-a.akamaihd.net/ugc/2369545214002978835/12B417B2D54F76D9451D8152F6BBE5C2FEDB4853/"
|
||||
}
|
||||
],
|
||||
"Description": "",
|
||||
|
69
objects/TheDrownedCity.938aab.json
Normal file
69
objects/TheDrownedCity.938aab.json
Normal file
@ -0,0 +1,69 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"a": 0.27451,
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"CustomMesh": {
|
||||
"CastShadows": true,
|
||||
"ColliderURL": "",
|
||||
"Convex": true,
|
||||
"CustomShader": {
|
||||
"FresnelStrength": 0,
|
||||
"SpecularColor": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"SpecularIntensity": 0,
|
||||
"SpecularSharpness": 2
|
||||
},
|
||||
"DiffuseURL": "https://steamusercontent-a.akamaihd.net/ugc/2369545213997868328/C9BCD9CFF1036A4236DF87099E944F5C1BB43937/",
|
||||
"MaterialIndex": 3,
|
||||
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj",
|
||||
"NormalURL": "",
|
||||
"TypeIndex": 0
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "the_drowned_city",
|
||||
"GUID": "938aab",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScript": "require(\"core/DownloadBox\")",
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Custom_Model",
|
||||
"Nickname": "The Drowned City",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"CampaignBox"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -91,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
"scaleX": 1,
|
||||
"scaleY": 0.14,
|
||||
"scaleZ": 1
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -56,7 +56,7 @@
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -91,
|
||||
"posZ": -78,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
|
@ -54,9 +54,9 @@
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posX": 35.4,
|
||||
"posY": 1.481,
|
||||
"posZ": -52,
|
||||
"posZ": -91,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
|
@ -56,7 +56,7 @@
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.481,
|
||||
"posZ": -78,
|
||||
"posZ": -65,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
|
@ -375,12 +375,35 @@ function createXML(showOtherCardsButton)
|
||||
}
|
||||
}
|
||||
|
||||
-- add "The Drowned City" cycle button
|
||||
local TDCButtonXml = {
|
||||
tag = "Panel",
|
||||
attributes = {
|
||||
position = "58.1 65.5 -11",
|
||||
rotation = "0 0 180",
|
||||
height = "225",
|
||||
width = "225",
|
||||
scale = "0.1 0.1 1",
|
||||
onClick = "spawnTDC"
|
||||
},
|
||||
children = {
|
||||
tag = "Image",
|
||||
attributes = { image = "TheDrownedCity" }
|
||||
}
|
||||
}
|
||||
|
||||
-- center the button if it's the only one
|
||||
if not showOtherCardsButton then
|
||||
TDCButtonXml.attributes.position = "44.25 65.5 -11"
|
||||
end
|
||||
table.insert(xmlTable, TDCButtonXml)
|
||||
|
||||
-- add the "Additional Cards" button if cards without cycle were detected
|
||||
if showOtherCardsButton then
|
||||
local otherCardsButtonXml = {
|
||||
tag = "Panel",
|
||||
attributes = {
|
||||
position = "44.25 65.5 -11",
|
||||
position = "31.45 65.5 -11",
|
||||
rotation = "0 0 180",
|
||||
height = "225",
|
||||
width = "225",
|
||||
@ -403,6 +426,10 @@ function spawnOtherCards()
|
||||
spawnCycle("Other")
|
||||
end
|
||||
|
||||
function spawnTDC()
|
||||
spawnCycle("The Drowned City")
|
||||
end
|
||||
|
||||
function toggleHelp(_, playerColor, _)
|
||||
if helpVisibleToPlayers[playerColor] then
|
||||
helpVisibleToPlayers[playerColor] = nil
|
||||
@ -604,6 +631,7 @@ end
|
||||
-- Spawns the defined starter deck for the given investigator's.
|
||||
---@param investigatorName string Name of the investigator, matching a key in InvestigatorPanelData
|
||||
function spawnStarterDeck(investigatorName, investigatorData, position)
|
||||
if not investigatorData.starterDeck then return end
|
||||
for _, spawnSpec in ipairs(buildCommonSpawnSpec(investigatorName, investigatorData, position, true)) do
|
||||
spawnBag.spawn(spawnSpec)
|
||||
end
|
||||
@ -707,6 +735,11 @@ function spawnCycle(cycle)
|
||||
end
|
||||
local cardList = allCardsBagApi.getCardsByCycle(cycle, sortByMetadata, includeNoLevelCards)
|
||||
|
||||
if #cardList == 0 then
|
||||
printToAll("Didn't find any cards for '" .. cycle .. "'.")
|
||||
return
|
||||
end
|
||||
|
||||
prepareToPlaceCards()
|
||||
local rowCount = spawnInvestigators(cycle)
|
||||
|
||||
|
@ -3,13 +3,13 @@ BONDED_CARD_LIST = {
|
||||
"06277", -- Wish Eater
|
||||
"06019", -- Bloodlust
|
||||
"06022", -- Pendant of the Queen
|
||||
"05317", -- Blood-rite
|
||||
"05317", -- Blood-Rite
|
||||
"06113", -- Essence of the Dream
|
||||
"06028", -- Stars Are Right
|
||||
"06025", -- Guardian of the Crystallizer
|
||||
"06028", -- Stars Are Right
|
||||
"06283", -- Unbound Beast
|
||||
"06032", -- Zeal
|
||||
"06031", -- Hope
|
||||
"06032", -- Zeal
|
||||
"06033", -- Augur
|
||||
"06331", -- Dream Parasite
|
||||
"06015a", -- Dream-Gate
|
||||
@ -30,24 +30,24 @@ BONDED_CARD_LIST = {
|
||||
}
|
||||
|
||||
UPGRADE_SHEET_LIST = {
|
||||
"09040-c", -- Alchemical Distillation
|
||||
"09023-c", -- Custom Modifications
|
||||
"09059-c", -- Damning Testimony
|
||||
"09041-c", -- Emperical Hypothesis
|
||||
"09060-c", -- Friends in Low Places
|
||||
"09101-c", -- Grizzled
|
||||
"09061-c", -- Honed Instinct
|
||||
"09021-c", -- Hunter's Armor
|
||||
"09119-c", -- Hyperphysical Shotcaster
|
||||
"09079-c", -- Living Ink
|
||||
"09100-c", -- Makeshift Trap
|
||||
"09099-c", -- Pocket Multi Tool
|
||||
"09081-c", -- Power Word
|
||||
"09040-c", -- Alchemical Distillation
|
||||
"09023-c", -- Custom Modifications
|
||||
"09059-c", -- Damning Testimony
|
||||
"09041-c", -- Emperical Hypothesis
|
||||
"09060-c", -- Friends in Low Places
|
||||
"09101-c", -- Grizzled
|
||||
"09061-c", -- Honed Instinct
|
||||
"09021-c", -- Hunter's Armor
|
||||
"09119-c", -- Hyperphysical Shotcaster
|
||||
"09079-c", -- Living Ink
|
||||
"09100-c", -- Makeshift Trap
|
||||
"09099-c", -- Pocket Multi Tool
|
||||
"09081-c", -- Power Word
|
||||
"09081-t-c", -- Power Word (Taboo)
|
||||
"09022-c", -- Runic Axe
|
||||
"09022-c", -- Runic Axe
|
||||
"09022-t-c", -- Runic Axe (Taboo)
|
||||
"09080-c", -- Summoned Servitor
|
||||
"09042-c", -- Raven's Quill
|
||||
"09080-c", -- Summoned Servitor
|
||||
"09042-c", -- Raven's Quill
|
||||
}
|
||||
|
||||
EVOLVED_WEAKNESSES = {
|
||||
@ -212,6 +212,14 @@ INVESTIGATOR_GROUPS = {
|
||||
"Alessandra Zorzi",
|
||||
"Kōhaku Narukami",
|
||||
"Hank Samson"
|
||||
--[[},
|
||||
["The Drowned City"] = {
|
||||
"Marion Tavares",
|
||||
"Lucius Galloway",
|
||||
"Agatha Crane",
|
||||
"Michael McGlen",
|
||||
"Gloria Goldberg",
|
||||
"George Barnaby"]]
|
||||
}
|
||||
}
|
||||
|
||||
@ -575,6 +583,37 @@ INVESTIGATORS["Hank Samson"] = {
|
||||
signatures = { "10017", "10018" },
|
||||
starterDeck = "3893788"
|
||||
}
|
||||
-- The Drowned City
|
||||
INVESTIGATORS["Marion Tavares"] = {
|
||||
cards = { "10001" },
|
||||
minicards = { "10001-m" },
|
||||
signatures = { "10002", "10002", "10003" }
|
||||
}
|
||||
INVESTIGATORS["Lucius Galloway"] = {
|
||||
cards = { "10015" },
|
||||
minicards = { "10015-m" },
|
||||
signatures = { "10017", "10018" }
|
||||
}
|
||||
INVESTIGATORS["Agatha Crane"] = {
|
||||
cards = { "10007", "10008" },
|
||||
minicards = { "10007-m", "10008-m" },
|
||||
signatures = { "10009", "10010" }
|
||||
}
|
||||
INVESTIGATORS["Michael McGlen"] = {
|
||||
cards = { "11011" },
|
||||
minicards = { "11011-m" },
|
||||
signatures = { "11012", "11013" }
|
||||
}
|
||||
INVESTIGATORS["Gloria Goldberg"] = {
|
||||
cards = { "11014" },
|
||||
minicards = { "11014-m" },
|
||||
signatures = { "11015", "11015", "11015", "11016", "11016", "11016" }
|
||||
}
|
||||
INVESTIGATORS["George Barnaby"] = {
|
||||
cards = { "10017" },
|
||||
minicards = { "10017-m" },
|
||||
signatures = {}
|
||||
}
|
||||
-- PnP content
|
||||
INVESTIGATORS["Subject 5U-21"] = {
|
||||
cards = { "89001" },
|
||||
|
9
src/util/BuyersGuide.ttslua
Normal file
9
src/util/BuyersGuide.ttslua
Normal file
@ -0,0 +1,9 @@
|
||||
function onPlayerAction(_, action, targets)
|
||||
if action == Player.Action.FlipOver and #targets == 1 and targets[1] == self then
|
||||
local page = self.Book.getPage()
|
||||
self.Book.setPage((page + 1) % 4)
|
||||
return false
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
Loading…
Reference in New Issue
Block a user