Merge pull request #249 from argonui/soundcube

Adding soundcube
This commit is contained in:
Chr1Z 2023-04-13 01:13:22 +02:00 committed by GitHub
commit ef9e63b9de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 122 additions and 42 deletions

View File

@ -190,7 +190,8 @@
"ArkhamSCE300-1272023-Page1.f873a8", "ArkhamSCE300-1272023-Page1.f873a8",
"VictoryDisplay.6ccd6d", "VictoryDisplay.6ccd6d",
"CampaignOverview.e03c01", "CampaignOverview.e03c01",
"OptionPanelSource.830bd0" "OptionPanelSource.830bd0",
"SoundCube.3c988f"
], ],
"PlayArea": 1, "PlayArea": 1,
"PlayerCounts": [ "PlayerCounts": [

View File

@ -0,0 +1,55 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 0,
"g": 0.86837,
"r": 1
},
"CustomAssetbundle": {
"AssetbundleSecondaryURL": "",
"AssetbundleURL": "http://cloud-3.steamusercontent.com/ugc/2037356539985233174/FB2785745105BDFB2903346BEA6D090B7A4609AC/",
"LoopingEffectIndex": 0,
"MaterialIndex": 2,
"TypeIndex": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "3c988f",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Custom_Assetbundle",
"Nickname": "SoundCube",
"Snap": true,
"Sticky": true,
"Tags": [
"SoundCube"
],
"Tooltip": true,
"Transform": {
"posX": 78,
"posY": 1.645,
"posZ": -27,
"rotX": 0,
"rotY": 0,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -3,20 +3,20 @@ Cleans up the table for the next scenario in a campaign:
- sets counters to default values (resources and doom) or trauma values (health and sanity, if not disabled) from campaign log - sets counters to default values (resources and doom) or trauma values (health and sanity, if not disabled) from campaign log
- puts everything on playmats and hands into respective trashcans - puts everything on playmats and hands into respective trashcans
- use the IGNORE_TAG to exclude objects from tidying (default: "CleanUpHelper_Ignore")]] - use the IGNORE_TAG to exclude objects from tidying (default: "CleanUpHelper_Ignore")]]
local tokenSpawnTrackerApi = require("core/token/TokenSpawnTrackerApi") local tokenSpawnTrackerApi = require("core/token/TokenSpawnTrackerApi")
local soundCubeApi = require("core/SoundCubeApi")
local playmatApi = require("playermat/PlaymatApi") local playmatApi = require("playermat/PlaymatApi")
-- these objects will be ignored -- these objects will be ignored
local IGNORE_GUIDS = { local IGNORE_GUIDS = {
-- big playmat, change image panel and investigator counter -- big playmat, change image panel and investigator counter
"b7b45b"; "f182ee"; "721ba2"; "b7b45b", "f182ee", "721ba2",
-- bless/curse manager -- bless/curse manager
"afa06b"; "bd0253"; "5933fb"; "afa06b", "bd0253", "5933fb",
-- stuff on agenda/act playmat -- stuff on agenda/act playmat
"85c4c6"; "4a3aa4"; "fea079"; "b015d8"; "11e0cf"; "9f334f"; "70b9f6"; "0a5a29"; "85c4c6", "4a3aa4", "fea079", "b015d8", "11e0cf", "9f334f", "70b9f6", "0a5a29",
-- doom/location token bag -- doom/location token bag
"47ffc3"; "170f10"; "47ffc3", "170f10",
-- table -- table
"4ee1f2" "4ee1f2"
} }
@ -25,42 +25,42 @@ local IGNORE_GUIDS = {
local IGNORE_TAG = "CleanUpHelper_ignore" local IGNORE_TAG = "CleanUpHelper_ignore"
-- colors and order for following tables -- colors and order for following tables
local COLORS = { "White"; "Orange"; "Green"; "Red"; "Agenda" } local COLORS = { "White", "Orange", "Green", "Red", "Agenda" }
-- counter GUIDS (4x damage and 4x horror) -- counter GUIDS (4x damage and 4x horror)
local DAMAGE_HORROR_GUIDS = { local DAMAGE_HORROR_GUIDS = {
"eb08d6"; "e64eec"; "1f5a0a"; "591a45"; "eb08d6", "e64eec", "1f5a0a", "591a45",
"468e88"; "0257d9"; "7b5729"; "beb964"; "468e88", "0257d9", "7b5729", "beb964",
} }
local RESET_VALUES = {} local RESET_VALUES = {}
-- GUIDS of objects (in order of ownership relating to 'COLORS') -- GUIDS of objects (in order of ownership relating to 'COLORS')
local PLAYERMAT_GUIDS = { "8b081b"; "bd0ff4"; "383d8b"; "0840d5" } local PLAYERMAT_GUIDS = { "8b081b", "bd0ff4", "383d8b", "0840d5" }
local RESOURCE_GUIDS = { "4406f0"; "816d84"; "cd15ac"; "a4b60d" } local RESOURCE_GUIDS = { "4406f0", "816d84", "cd15ac", "a4b60d" }
local TRACKER_GUIDS = { "e598c2"; "b4a5f7"; "af7ed7"; "e74881" } local TRACKER_GUIDS = { "e598c2", "b4a5f7", "af7ed7", "e74881" }
local CLUE_GUIDS = { "d86b7c"; "1769ed"; "032300"; "37be78" } local CLUE_GUIDS = { "d86b7c", "1769ed", "032300", "37be78" }
local CLUE_CLICKER_GUIDS = { "db85d6"; "3f22e5"; "891403"; "4111de" } local CLUE_CLICKER_GUIDS = { "db85d6", "3f22e5", "891403", "4111de" }
local TRASHCAN_GUIDS = { "147e80"; "f7b6c8"; "5f896a"; "4b8594"; "70b9f6" } local TRASHCAN_GUIDS = { "147e80", "f7b6c8", "5f896a", "4b8594", "70b9f6" }
-- values for physics.cast (4 entries for player zones, 5th entry for agenda/act deck, 6th for campaign log) -- values for physics.cast (4 entries for player zones, 5th entry for agenda/act deck, 6th for campaign log)
local PHYSICS_POSITION = { local PHYSICS_POSITION = {
{ -54.5, 2, 21 }; { -54.5, 2, 21 },
{ -54.5, 2, -21 }; { -54.5, 2, -21 },
{ -27.0, 2, 26 }; { -27.0, 2, 26 },
{ -27.0, 2, -26 }; { -27.0, 2, -26 },
{ -02.0, 2, 10 }; { -02.0, 2, 10 },
{ -00.0, 2, -27 } { -00.0, 2, -27 }
} }
local PHYSICS_ROTATION = { 270, 270, 0, 180, 270, 0 } local PHYSICS_ROTATION = { 270, 270, 0, 180, 270, 0 }
local PHYSICS_SCALE = { local PHYSICS_SCALE = {
{ 36.6, 1, 14.5 }; { 36.6, 1, 14.5 },
{ 36.6, 1, 14.5 }; { 36.6, 1, 14.5 },
{ 34.0, 1, 14.5 }; { 34.0, 1, 14.5 },
{ 34.0, 1, 14.5 }; { 34.0, 1, 14.5 },
{ 55.0, 1, 13.5 }; { 55.0, 1, 13.5 },
{ 05.0, 1, 05.0 } { 05.0, 1, 05.0 }
} }
@ -160,6 +160,7 @@ function cleanUp(_, color)
printToAll("Clean up started!", "Orange") printToAll("Clean up started!", "Orange")
printToAll("Resetting counters...", "White") printToAll("Resetting counters...", "White")
soundCubeApi.playSoundByName("Vacuum")
ignoreCustomDataHelper() ignoreCustomDataHelper()
getTrauma() getTrauma()
updateCounters(DAMAGE_HORROR_GUIDS, RESET_VALUES, "Damage / Horror") updateCounters(DAMAGE_HORROR_GUIDS, RESET_VALUES, "Damage / Horror")
@ -179,7 +180,6 @@ end
--------------------------------------------------------- ---------------------------------------------------------
-- modular functions, called by other functions -- modular functions, called by other functions
--------------------------------------------------------- ---------------------------------------------------------
function updateCounters(tableOfGUIDs, tableOfNewValues, info) function updateCounters(tableOfGUIDs, tableOfNewValues, info)
if tonumber(tableOfNewValues) then if tonumber(tableOfNewValues) then
local value = tableOfNewValues local value = tableOfNewValues
@ -234,8 +234,8 @@ end
-- read values for trauma from campaign log if enabled -- read values for trauma from campaign log if enabled
function getTrauma() function getTrauma()
RESET_VALUES = { RESET_VALUES = {
0; 0; 0; 0; 0, 0, 0, 0,
0; 0; 0; 0 0, 0, 0, 0
} }
-- stop here if trauma import is disabled -- stop here if trauma import is disabled

View File

@ -34,6 +34,7 @@ local hideTitleSplashWaitFunctionId = nil
local playmatApi = require("playermat/PlaymatApi") local playmatApi = require("playermat/PlaymatApi")
local tokenManager = require("core/token/TokenManager") local tokenManager = require("core/token/TokenManager")
local playAreaAPI = require("core/PlayAreaApi") local playAreaAPI = require("core/PlayAreaApi")
local soundCubeApi = require("core/SoundCubeApi")
local mythosAreaApi = require("core/MythosAreaApi") local mythosAreaApi = require("core/MythosAreaApi")
local tokenArrangerApi = require("accessories/TokenArrangerApi") local tokenArrangerApi = require("accessories/TokenArrangerApi")
local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi")
@ -1029,5 +1030,7 @@ function titleSplash(scenarioName)
UI.hide('title_splash') UI.hide('title_splash')
hideTitleSplashWaitFunctionId = nil hideTitleSplashWaitFunctionId = nil
end, 4) end, 4)
soundCubeApi.playSoundByName("Deep Bell")
end end
end end

View File

@ -0,0 +1,21 @@
do
local SoundCubeApi = {}
-- this table links the name of a trigger effect to its index
local soundIndices = {
["Vacuum"] = 0,
["Deep Bell"] = 1
}
function playTriggerEffect(index)
getObjectsWithTag("SoundCube")[1].AssetBundle.playTriggerEffect(index)
end
-- plays the by name requested sound
---@param soundName String Name of the sound to play
SoundCubeApi.playSoundByName = function(soundName)
playTriggerEffect(soundIndices[soundName])
end
return SoundCubeApi
end