commit
e4d9421a2d
@ -13,7 +13,7 @@
|
|||||||
},
|
},
|
||||||
"Rotation": {
|
"Rotation": {
|
||||||
"x": 64.34,
|
"x": 64.34,
|
||||||
"y": 90.33,
|
"y": 90,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"Zoomed": false
|
"Zoomed": false
|
||||||
|
@ -209,6 +209,11 @@
|
|||||||
"Type": 0,
|
"Type": 0,
|
||||||
"URL": "https://i.imgur.com/AFuB9II.png"
|
"URL": "https://i.imgur.com/AFuB9II.png"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Name": "Inv-Kohaku",
|
||||||
|
"Type": 0,
|
||||||
|
"URL": "http://cloud-3.steamusercontent.com/ugc/2279451480492739312/E59E79D4CFCFE60190BFD69B7FFBF1601DA3FAA5/"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"Name": "TitleGradient",
|
"Name": "TitleGradient",
|
||||||
"Type": 0,
|
"Type": 0,
|
||||||
|
@ -12,7 +12,7 @@ tourCardTemplate = {
|
|||||||
position = "0 300 30",
|
position = "0 300 30",
|
||||||
showAnimation = "FadeIn",
|
showAnimation = "FadeIn",
|
||||||
hideAnimation = "FadeOut",
|
hideAnimation = "FadeOut",
|
||||||
active=false,
|
active = false
|
||||||
},
|
},
|
||||||
children = {
|
children = {
|
||||||
{
|
{
|
||||||
@ -22,7 +22,7 @@ tourCardTemplate = {
|
|||||||
height = 120,
|
height = 120,
|
||||||
width = 80,
|
width = 80,
|
||||||
rectAlignment = "UpperLeft",
|
rectAlignment = "UpperLeft",
|
||||||
offsetXY = "-80 0",
|
offsetXY = "-80 0"
|
||||||
-- Image will be set when the card is updated
|
-- Image will be set when the card is updated
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -46,8 +46,8 @@ tourCardTemplate = {
|
|||||||
height = 215,
|
height = 215,
|
||||||
width = 330,
|
width = 330,
|
||||||
rectAlignment = "MiddleCenter",
|
rectAlignment = "MiddleCenter",
|
||||||
image = "SpeechBubble",
|
image = "SpeechBubble"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
tag = "Text",
|
tag = "Text",
|
||||||
@ -64,7 +64,7 @@ tourCardTemplate = {
|
|||||||
resizeTextMaxSize = 32,
|
resizeTextMaxSize = 32,
|
||||||
color = "#050505",
|
color = "#050505",
|
||||||
alignment = "UpperLeft",
|
alignment = "UpperLeft",
|
||||||
horizontalOverflow = "wrap",
|
horizontalOverflow = "wrap"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -76,7 +76,7 @@ tourCardTemplate = {
|
|||||||
rectAlignment = "LowerRight",
|
rectAlignment = "LowerRight",
|
||||||
offsetXY = "-5 -45",
|
offsetXY = "-5 -45",
|
||||||
image = "NextArrow"
|
image = "NextArrow"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
tag = "Image",
|
tag = "Image",
|
||||||
@ -88,6 +88,6 @@ tourCardTemplate = {
|
|||||||
offsetXY = "35 -45",
|
offsetXY = "35 -45",
|
||||||
image = "Exit"
|
image = "Exit"
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,11 @@ do
|
|||||||
-- Default (0) position for the camera, as defined in the mod. If we don't recreate this position
|
-- Default (0) position for the camera, as defined in the mod. If we don't recreate this position
|
||||||
-- EXACTLY when exiting the tour then camera controls get weird
|
-- EXACTLY when exiting the tour then camera controls get weird
|
||||||
local DEFAULT_CAMERA_POS = {
|
local DEFAULT_CAMERA_POS = {
|
||||||
position = { x = -22.265, y = -2.5, z = 5.2575},
|
position = { x = -22.26, y = -2.5, z = 5.26 },
|
||||||
pitch=64.343,
|
pitch = 64.34,
|
||||||
yaw=90.333,
|
yaw = 90,
|
||||||
distance=104.7}
|
distance = 104
|
||||||
|
}
|
||||||
|
|
||||||
-- Global XML coordinates where we can present a card
|
-- Global XML coordinates where we can present a card
|
||||||
local SCREEN_POSITIONS = {
|
local SCREEN_POSITIONS = {
|
||||||
@ -37,11 +38,13 @@ do
|
|||||||
east = "600 0 0",
|
east = "600 0 0",
|
||||||
west = "-600 0 0",
|
west = "-600 0 0",
|
||||||
south = "0 -300 0",
|
south = "0 -300 0",
|
||||||
|
|
||||||
-- Northwest is only used by the Mandy card, move it a little right than standard so it's
|
-- Northwest is only used by the Mandy card, move it a little right than standard so it's
|
||||||
-- closer to the importer
|
-- closer to the importer
|
||||||
northwest = "-500 300 0",
|
northwest = "-500 300 0",
|
||||||
northeast = "600 300 0",
|
northeast = "600 300 0",
|
||||||
southwest = "-600 -300 0",
|
southwest = "-600 -300 0",
|
||||||
|
|
||||||
-- Used by the Diana and Wini cards referencing the bottom-right global controls, moved a little
|
-- Used by the Diana and Wini cards referencing the bottom-right global controls, moved a little
|
||||||
-- closer to them
|
-- closer to them
|
||||||
southeast = "730 -365 0"
|
southeast = "730 -365 0"
|
||||||
@ -63,6 +66,7 @@ do
|
|||||||
-- the movement is done, but the delay seems to handle it
|
-- the movement is done, but the delay seems to handle it
|
||||||
Player[playerColor].setCameraMode("ThirdPerson")
|
Player[playerColor].setCameraMode("ThirdPerson")
|
||||||
Player[playerColor].lookAt(DEFAULT_CAMERA_POS)
|
Player[playerColor].lookAt(DEFAULT_CAMERA_POS)
|
||||||
|
|
||||||
-- Initial camera rotation is painfully slow. White and Orange players are likely oriented
|
-- Initial camera rotation is painfully slow. White and Orange players are likely oriented
|
||||||
-- correctly, but need a longer start delay for Green and Red
|
-- correctly, but need a longer start delay for Green and Red
|
||||||
local delay = 0.5
|
local delay = 0.5
|
||||||
@ -72,16 +76,8 @@ do
|
|||||||
end
|
end
|
||||||
Wait.time(function()
|
Wait.time(function()
|
||||||
internal.createTourCard(playerColor)
|
internal.createTourCard(playerColor)
|
||||||
-- XML update to add the new card takes a few frames to load, wait for it to finish then
|
-- XML update to add the new card takes a few frames to load, wait for it to finish then create the hook
|
||||||
-- create the hook
|
Wait.condition(function() internal.createCameraHook(playerColor) end, function() return not Global.UI.loading end)
|
||||||
Wait.condition(
|
|
||||||
function()
|
|
||||||
internal.createCameraHook(playerColor)
|
|
||||||
end,
|
|
||||||
function()
|
|
||||||
return not Global.UI.loading
|
|
||||||
end
|
|
||||||
)
|
|
||||||
end, delay)
|
end, delay)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -208,7 +204,7 @@ do
|
|||||||
posY = HOOK_CAMERA_HOME.y,
|
posY = HOOK_CAMERA_HOME.y,
|
||||||
posZ = HOOK_CAMERA_HOME.z,
|
posZ = HOOK_CAMERA_HOME.z,
|
||||||
rotX = 0,
|
rotX = 0,
|
||||||
rotY = 270.0,
|
rotY = 270,
|
||||||
rotZ = 0,
|
rotZ = 0,
|
||||||
scaleX = 0.1,
|
scaleX = 0.1,
|
||||||
scaleY = 0.1,
|
scaleY = 0.1,
|
||||||
@ -245,9 +241,8 @@ do
|
|||||||
---@param playerColor String Player color to create the card for
|
---@param playerColor String Player color to create the card for
|
||||||
internal.createTourCard = function(playerColor)
|
internal.createTourCard = function(playerColor)
|
||||||
-- Make sure the card doesn't exist before we create a new one
|
-- Make sure the card doesn't exist before we create a new one
|
||||||
if Global.UI.getAttributes(internal.getUiId(CARD_ID, playerColor)) ~= nil then
|
if Global.UI.getAttributes(internal.getUiId(CARD_ID, playerColor)) ~= nil then return end
|
||||||
return
|
|
||||||
end
|
|
||||||
tourCardTemplate.attributes.id = internal.getUiId(CARD_ID, playerColor)
|
tourCardTemplate.attributes.id = internal.getUiId(CARD_ID, playerColor)
|
||||||
tourCardTemplate.children[1].attributes.id = internal.getUiId(LEFT_NARRATOR_ID, playerColor)
|
tourCardTemplate.children[1].attributes.id = internal.getUiId(LEFT_NARRATOR_ID, playerColor)
|
||||||
tourCardTemplate.children[2].attributes.id = internal.getUiId(RIGHT_NARRATOR_ID, playerColor)
|
tourCardTemplate.children[2].attributes.id = internal.getUiId(RIGHT_NARRATOR_ID, playerColor)
|
||||||
|
@ -10,7 +10,7 @@ TOUR_SCRIPT = {
|
|||||||
narrator = "Darrell",
|
narrator = "Darrell",
|
||||||
text = "Cameras can be tricky things. Best you leave handling it to the professionals during the tour. Don't try to move the camera until the tour is complete.\n\nOnce we're done, remember you can use the 'p' key to switch back to third-person mode, and the spacebar to reset the position.",
|
text = "Cameras can be tricky things. Best you leave handling it to the professionals during the tour. Don't try to move the camera until the tour is complete.\n\nOnce we're done, remember you can use the 'p' key to switch back to third-person mode, and the spacebar to reset the position.",
|
||||||
position = "center",
|
position = "center",
|
||||||
speakerSide = "right",
|
speakerSide = "right"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Daisy",
|
narrator = "Daisy",
|
||||||
@ -26,7 +26,7 @@ TOUR_SCRIPT = {
|
|||||||
objReferenceData = { owner = "Mythos", type = "DeckImporter" },
|
objReferenceData = { owner = "Mythos", type = "DeckImporter" },
|
||||||
distanceFromObj = -5,
|
distanceFromObj = -5,
|
||||||
position = "northwest",
|
position = "northwest",
|
||||||
skipCentering = true,
|
skipCentering = true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Daniela",
|
narrator = "Daniela",
|
||||||
@ -42,16 +42,17 @@ TOUR_SCRIPT = {
|
|||||||
objReferenceData = { owner = "Mythos", type = "CampaignThePathToCarcosa" },
|
objReferenceData = { owner = "Mythos", type = "CampaignThePathToCarcosa" },
|
||||||
distanceFromObj = 20,
|
distanceFromObj = 20,
|
||||||
position = "northwest",
|
position = "northwest",
|
||||||
|
skipCentering = true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Diana",
|
narrator = "Diana",
|
||||||
text = "These symbols on the bottom right are a repository of arcane knowledge, containing all the official content to download plus some deviously creative works from fans. One should beware those who seem too fond of the darkness, but you cannot deny the quality of their efforts.\n\nDon't see anything here? Only promoted players can access these.",
|
text = "These symbols on the bottom right are a repository of arcane knowledge, containing all the official content to download plus some deviously creative works from fans. One should beware those who seem too fond of the darkness, but you cannot deny the quality of their efforts.\n\nDon't see anything here? Only promoted players can access these.",
|
||||||
position = "southeast",
|
position = "southeast"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Winifred",
|
narrator = "Winifred",
|
||||||
text = "No good aviator would fly a plane she didn't know and hadn't tweaked a bit herself. The gear icon contains settings to customize your play experience, from alternate ways to track your clues to a variety of helpers to streamline the game.\n\nEverything here is optional, but who doesn't want to go as fast as they can? Just remember that all settings affect all players, so strap in and trust your pilot!",
|
text = "No good aviator would fly a plane she didn't know and hadn't tweaked a bit herself. The gear icon contains settings to customize your play experience, from alternate ways to track your clues to a variety of helpers to streamline the game.\n\nEverything here is optional, but who doesn't want to go as fast as they can? Just remember that all settings affect all players, so strap in and trust your pilot!",
|
||||||
position = "southeast",
|
position = "southeast"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Amina",
|
narrator = "Amina",
|
||||||
@ -65,6 +66,7 @@ TOUR_SCRIPT = {
|
|||||||
text = "The evils that lurk in this world are out there, creeping ever closer. When they find you, this will easily draw a card from the encounter deck. The deck will even reshuffle itself when needed, for the enemies we face are unending.",
|
text = "The evils that lurk in this world are out there, creeping ever closer. When they find you, this will easily draw a card from the encounter deck. The deck will even reshuffle itself when needed, for the enemies we face are unending.",
|
||||||
showPos = { x = -35, y = -20, z = 28 },
|
showPos = { x = -35, y = -20, z = 28 },
|
||||||
position = "west",
|
position = "west",
|
||||||
|
skipCentering = true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
narrator = "Jacqueline",
|
narrator = "Jacqueline",
|
||||||
@ -74,6 +76,14 @@ TOUR_SCRIPT = {
|
|||||||
skipCentering = true,
|
skipCentering = true,
|
||||||
speakerSide = "right"
|
speakerSide = "right"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
narrator = "Kohaku",
|
||||||
|
text = "Folklorists, immersed in the rich narratives of blessings and curses, explore the essence of human beliefs. You can use this tool to control the amount of bless and curse tokens in the chaos bag. It will also display the amount in the bag (+ sealed on cards) for you. Remember to remove bless / curse tokens with this after resolving them.",
|
||||||
|
objReferenceData = { owner = "Mythos", type = "BlessCurseManager" },
|
||||||
|
position = "center",
|
||||||
|
skipCentering = true,
|
||||||
|
speakerSide = "left"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
narrator = "Preston",
|
narrator = "Preston",
|
||||||
text = "I can afford to buy what I need, but for those less well-off we've provided an endless pool of tokens to track your game. Simply drag one out of the pools here.\n\nResources are my favorite of course, but damage and horror are as inevitable as taxes. I leave those to my bookkeeper though. Those tokens can work like counters, use the number keys to change the value.",
|
text = "I can afford to buy what I need, but for those less well-off we've provided an endless pool of tokens to track your game. Simply drag one out of the pools here.\n\nResources are my favorite of course, but damage and horror are as inevitable as taxes. I leave those to my bookkeeper though. Those tokens can work like counters, use the number keys to change the value.",
|
||||||
@ -87,5 +97,5 @@ TOUR_SCRIPT = {
|
|||||||
text = "That's the end of the tour, but there's much more to discover if you look in the right places. Some cards have helpers on the right-click menu, and every new version adds new content and functions.\n\nDon't be afraid to explore, and best of luck out there! We'll all need it...",
|
text = "That's the end of the tour, but there's much more to discover if you look in the right places. Some cards have helpers on the right-click menu, and every new version adds new content and functions.\n\nDon't be afraid to explore, and best of luck out there! We'll all need it...",
|
||||||
position = "center",
|
position = "center",
|
||||||
speakerSide = "right"
|
speakerSide = "right"
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user