This commit is contained in:
Adam Goldsmith 2020-09-29 00:27:45 -04:00
parent 7dc6fef054
commit 9cefa10bd4
3852 changed files with 42049 additions and 31869 deletions

View File

@ -22,51 +22,9 @@ CameraStates:
- null
- null
- null
Date: 7/13/2020 3:27:20 PM
Date: 7/28/2020 4:35:36 AM
DecalPallet: []
Decals:
- CustomDecal:
ImageURL: http://cloud-3.steamusercontent.com/ugc/762723517668191286/060F6D064234DEF36A1D03D7F1948C5AD0048210/
Name: coreback
Size: 1.0
Transform:
posX: 19.712471
posY: 1.45593762
posZ: -27.474596
rotX: 89.92599
rotY: 119.6785
rotZ: 0.0
scaleX: 4.5454545
scaleY: 1.0
scaleZ: 1.0
- CustomDecal:
ImageURL: http://cloud-3.steamusercontent.com/ugc/762723517668188427/E36A08E64A32CBF0E49CE9FF4E736DFD15E1ED44/
Name: coreback
Size: 1.0
Transform:
posX: 18.1265659
posY: 1.45798874
posZ: -28.0173264
rotX: 89.92867
rotY: 119.678604
rotZ: 0.0
scaleX: 3.37662339
scaleY: 1.0
scaleZ: 1.0
- CustomDecal:
ImageURL: http://cloud-3.steamusercontent.com/ugc/762723517668195080/B2A3C1CD2F5103D2116FFFAC88FAEAAC92A12CEF/
Name: arrow
Size: 1.5
Transform:
posX: 20.0233021
posY: 1.45641136
posZ: -24.394371
rotX: 89.92867
rotY: 119.678604
rotZ: 0.0
scaleX: 2.78571415
scaleY: 1.5
scaleZ: 1.5
- CustomDecal:
ImageURL: http://cloud-3.steamusercontent.com/ugc/778493489662313324/9E134E04126C4F4B046B4B9F32BB3076D2A6BA99/
Name: Skills
@ -381,9 +339,9 @@ Hands:
rotX: 0.0
rotY: 90.0
rotZ: 0.0
scaleX: 22.6416988
scaleX: 22.6553268
scaleY: 7.002465
scaleZ: 6.961483
scaleZ: 6.96757
- Color: Orange
Transform:
posX: -65.72001
@ -392,9 +350,9 @@ Hands:
rotX: 0.0
rotY: 90.0
rotZ: 0.0
scaleX: 22.64157
scaleX: 22.6551952
scaleY: 7.0
scaleZ: 6.961432
scaleZ: 6.96751833
- Color: Red
Transform:
posX: -27.96
@ -537,9 +495,9 @@ ObjectStates:
- !include 'unpacked/BlockRectangle 612072.yaml'
- !include 'unpacked/Custom_Model_Infinite_Bag Clue tokens 11e0cf.yaml'
- !include 'unpacked/Custom_Model_Infinite_Bag Doom tokens b015d8.yaml'
- !include 'unpacked/Custom_Token Doom counter 85c4c6.yaml'
- !include 'unpacked/Custom_Token Agenda Deck 85c4c6.yaml'
- !include 'unpacked/Custom_Model_Bag Arkhamdb bag b85d6d.yaml'
- !include 'unpacked/Custom_Token Playmat Swapper b7b45b.yaml'
- !include 'unpacked/Custom_Token 2 or more Cultist Tokens b7b45b.yaml'
- !include 'unpacked/Custom_Tile 2eca7c.yaml'
- !include 'unpacked/Custom_Tile fb09d4.yaml'
- !include 'unpacked/3DText 65eb7e.yaml'
@ -569,8 +527,6 @@ ObjectStates:
- !include 'unpacked/Custom_Tile ArkhamDBTile 928c8e.yaml'
- !include 'unpacked/Custom_Token Playarea 721ba2.yaml'
- !include 'unpacked/Custom_Model 4ee1f2.yaml'
- !include 'unpacked/Custom_Model_Bag The Side Missions 791837.yaml'
- !include 'unpacked/Custom_Model_Bag Campaign Guides fb8135.yaml'
- !include 'unpacked/Custom_Model_Bag Rulebooks, Guides and Tablets 304ffc.yaml'
- !include 'unpacked/Custom_Model f18c2d.yaml'
- !include 'unpacked/Custom_Model 4be4a3.yaml'
@ -604,8 +560,6 @@ ObjectStates:
- !include 'unpacked/Custom_Model_Infinite_Bag Damage Tokens 480bda.yaml'
- !include 'unpacked/Custom_Model_Infinite_Bag Resource tokens 9fadf9.yaml'
- !include 'unpacked/Custom_Model_Infinite_Bag Connection markers 170f10.yaml'
- !include 'unpacked/Custom_Model_Bag Return to The Path to Carcosa e9889a.yaml'
- !include 'unpacked/Custom_Model_Bag Return to the Night of the Zealot 56270d.yaml'
- !include 'unpacked/BlockRectangle fd45ba.yaml'
- !include 'unpacked/BlockRectangle 598e49.yaml'
- !include 'unpacked/Custom_Model_Bag Weakness decks 750fdd.yaml'
@ -632,7 +586,6 @@ ObjectStates:
- !include 'unpacked/Custom_Model_Bag Rogue d46fae.yaml'
- !include 'unpacked/Custom_Model_Bag Neutral 065f29.yaml'
- !include 'unpacked/Custom_Model_Bag Rogue eaf093.yaml'
- !include 'unpacked/Custom_Model_Bag Return to The Dunwich Legacy ce9130.yaml'
- !include 'unpacked/Custom_Model_Bag Encounter Sets fcfa7f.yaml'
- !include 'unpacked/Custom_Model_Bag Survivor 9c814b.yaml'
- !include 'unpacked/Custom_Model_Bag Guardian 1d802b.yaml'
@ -659,9 +612,6 @@ ObjectStates:
- !include 'unpacked/Custom_Model_Bag Guardian 402f5d.yaml'
- !include 'unpacked/Custom_Model_Bag Guardian cd002a.yaml'
- !include 'unpacked/Custom_Model_Bag Chaos Bag fea079.yaml'
- !include 'unpacked/Custom_Model_Bag Core 5579e4.yaml'
- !include 'unpacked/Custom_Model_Bag The Dunwich Legacy df7121.yaml'
- !include 'unpacked/Custom_Model_Bag The Path to Carcosa 1b887c.yaml'
- !include 'unpacked/Custom_Model_Bag Core 2585f4.yaml'
- !include 'unpacked/Custom_Model_Bag The Dunwich Legacy 5889dd.yaml'
- !include 'unpacked/Custom_Model_Bag The Path to Carcosa 899c3a.yaml'
@ -670,9 +620,6 @@ ObjectStates:
- !include 'unpacked/Custom_Model_Bag The Dream-Eaters a34f34.yaml'
- !include 'unpacked/Custom_Model_Bag Promo Investigators 35fb9c.yaml'
- !include 'unpacked/Custom_Model_Bag Chaos Token Reserve 106418.yaml'
- !include 'unpacked/Custom_Tile b9140e.yaml'
- !include 'unpacked/Custom_Model_Bag The Forgotten Age 0ff458.yaml'
- !include 'unpacked/Custom_Model_Bag The Dream-Eaters 5bb330.yaml'
- !include 'unpacked/Custom_Model Neutral 99d430.yaml'
- !include 'unpacked/Custom_Model Neutral b79001.yaml'
- !include 'unpacked/Custom_Model Neutral fb83a7.yaml'
@ -686,7 +633,6 @@ ObjectStates:
- !include 'unpacked/Custom_Model Neutral b28feb.yaml'
- !include 'unpacked/Custom_Model Neutral 6ed29f.yaml'
- !include 'unpacked/3DText 134348.yaml'
- !include 'unpacked/Custom_Model_Bag The Circle Undone 48d634.yaml'
- !include 'unpacked/Custom_Model 032300.yaml'
- !include 'unpacked/Custom_Model 1769ed.yaml'
- !include 'unpacked/Custom_Model 37be78.yaml'
@ -694,16 +640,26 @@ ObjectStates:
- !include 'unpacked/Custom_Model_Bag Clue Counter Swapper d919d6.yaml'
- !include 'unpacked/Custom_Model_Bag The Symphony of Erich Zann 18aa54.yaml'
- !include 'unpacked/Custom_Token Master Clue Counter 4a3aa4.yaml'
- !include 'unpacked/Notecard SCE 1.4071 - 7132020 e9be99.yaml'
- !include 'unpacked/Custom_Token Doom counter 19768a.yaml'
- !include 'unpacked/Custom_Token Resources 3f22e5.yaml'
- !include 'unpacked/Custom_Token Resources 4111de.yaml'
- !include 'unpacked/Custom_Token Resources 891403.yaml'
- !include 'unpacked/Custom_Token Resources db85d6.yaml'
- !include 'unpacked/Notecard Special Thanks 78d5f9.yaml'
- !include 'unpacked/Custom_Model_Bag The Circle Undone 63e097.yaml'
- !include 'unpacked/Custom_Model_Bag Core 64a613.yaml'
- !include 'unpacked/Custom_Model_Bag The Dunwich Legacy 2898f6.yaml'
- !include 'unpacked/Custom_Model_Bag The Forgotten Age 0bcf19.yaml'
- !include 'unpacked/Custom_Model_Bag The Path to Carcosa aca04c.yaml'
- !include 'unpacked/Custom_Model_Bag The Dream-Eaters a16a1a.yaml'
- !include 'unpacked/Custom_Model_Bag The Side Missions d466d6.yaml'
- !include 'unpacked/Custom_Model_Bag Return to The Dunwich Legacy ce9130.yaml'
- !include 'unpacked/Custom_Model_Bag Return to The Path to Carcosa e9889a.yaml'
- !include 'unpacked/Custom_Model_Bag Return to the Night of the Zealot 56270d.yaml'
- !include 'unpacked/Notecard SCE 1.4072 - 7282020 - Page 1 cc50ee.yaml'
- !include 'unpacked/Custom_Tile b9140e.yaml'
PlayArea: 1.0
Rules: ''
SaveName: Arkham SCE 1.4071
SaveName: Arkham SCE 1.4072
Sky: Sky_Museum
SkyURL: https://i.imgur.com/GkQqaOF.jpg
SnapPoints:
@ -1170,7 +1126,7 @@ SnapPoints:
Rotation:
x: 359.9201
y: 269.981476
z: 0.0169178676
z: 0.0169179961
- Position:
x: -21.2858257
y: 1.50565612

View File

@ -29,9 +29,9 @@ Text:
fontSize: 56
Tooltip: true
Transform:
posX: 39.39425
posY: 1.42316091
posZ: -13.2722178
posX: 39.3946762
posY: 1.4231075
posZ: -13.2727737
rotX: 90.0
rotY: 90.00001
rotZ: 0.0

View File

@ -29,9 +29,9 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -26.7898464
posY: 1.35639262
posZ: 84.40225
posX: -26.789669
posY: 1.356366
posZ: 84.40253
rotX: 89.97202
rotY: 90.00013
rotZ: 0.0

View File

@ -29,9 +29,9 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -48.9212875
posY: 1.25339818
posZ: 71.39148
posX: -48.9213257
posY: 1.25340545
posZ: 71.39162
rotX: 90.0
rotY: 90.0000458
rotZ: 0.0

View File

@ -29,8 +29,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -17.92574
posY: 1.265749
posX: -17.9255486
posY: 1.26572251
posZ: 77.58879
rotX: 90.0
rotY: 89.8333054

View File

@ -29,8 +29,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -17.961113
posY: 1.26404178
posX: -17.9608765
posY: 1.2640152
posZ: 71.80051
rotX: 90.0
rotY: 89.8333054

View File

@ -29,8 +29,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -17.9069958
posY: 1.26135135
posX: -17.9067516
posY: 1.26132488
posZ: 62.5420074
rotX: 90.0
rotY: 89.8333054

View File

@ -31,8 +31,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: 74.8978043
posY: 1.2936492
posX: 74.89868
posY: 1.29354274
posZ: 61.10519
rotX: 90.0
rotY: 90.52323

View File

@ -29,8 +29,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -26.7738724
posY: 1.35470581
posX: -26.7737637
posY: 1.35467923
posZ: 78.61316
rotX: 89.97202
rotY: 90.00013

View File

@ -29,8 +29,8 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -17.8952579
posY: 1.26271451
posX: -17.8950787
posY: 1.26268768
posZ: 67.18368
rotX: 90.0
rotY: 89.8333054

View File

@ -29,9 +29,9 @@ Text:
fontSize: 64
Tooltip: true
Transform:
posX: -17.91745
posY: 1.26780427
posZ: 84.57041
posX: -17.9172764
posY: 1.26777756
posZ: 84.5706
rotX: 90.0
rotY: 89.8333054
rotZ: 0.0

View File

@ -30,9 +30,9 @@ Text:
fontSize: 56
Tooltip: true
Transform:
posX: -5.14156771
posY: 1.30310118
posZ: -69.05916
posX: -5.141308
posY: 1.30304754
posZ: -69.0603561
rotX: 90.0
rotY: 90.1663742
rotZ: 0.0

View File

@ -26,7 +26,7 @@ Transform:
posY: 1.45272863
posZ: 70.5374
rotX: 359.983215
rotY: 5.10148566e-05
rotY: 5.101496e-05
rotZ: 0.0221881457
scaleX: 0.09185542
scaleY: 0.112467624

View File

@ -1,8 +1,8 @@
Autoraise: true
ColorDiffuse:
b: 0.141101241
g: 0.141101241
r: 0.141101241
b: 0.1411004
g: 0.1411004
r: 0.1411004
CustomMesh:
CastShadows: true
ColliderURL: ''

View File

@ -1,8 +1,8 @@
Autoraise: true
ColorDiffuse:
b: 0.141101241
g: 0.141101241
r: 0.141101241
b: 0.1411004
g: 0.1411004
r: 0.1411004
CustomMesh:
CastShadows: true
ColliderURL: ''

View File

@ -44,7 +44,7 @@ Transform:
posZ: -31.9828682
rotX: 359.918152
rotY: 269.674561
rotZ: 0.0173962452
rotZ: 0.0173962954
scaleX: 0.325000376
scaleY: 0.325000376
scaleZ: 0.325000376

View File

@ -1,8 +1,8 @@
Autoraise: true
ColorDiffuse:
b: 0.141101241
g: 0.141101241
r: 0.141101241
b: 0.1411004
g: 0.1411004
r: 0.1411004
CustomMesh:
CastShadows: true
ColliderURL: ''

View File

@ -45,7 +45,7 @@ Transform:
posZ: 9.560504
rotX: 359.9201
rotY: 269.999023
rotZ: 0.0168923773
rotZ: 0.0168925077
scaleX: 0.325000077
scaleY: 0.325000077
scaleZ: 0.325000077

View File

@ -253,11 +253,11 @@ Sticky: true
Tooltip: true
Transform:
posX: -47.76499
posY: 1.61429274
posY: 1.61429286
posZ: 21.0344219
rotX: 359.9201
rotY: 270.004669
rotZ: 0.01688506
rotY: 270.0058
rotZ: 0.01688353
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,12 +252,12 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -47.7642174
posY: 1.601157
posZ: -23.5712948
posX: -47.76427
posY: 1.60115707
posZ: -23.5713482
rotX: 359.9201
rotY: 269.9925
rotZ: 0.0169054065
rotY: 269.990234
rotZ: 0.0169115718
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,12 +252,12 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -47.76443
posY: 1.60188413
posZ: -21.102581
posX: -47.7645378
posY: 1.60188437
posZ: -21.1026344
rotX: 359.9201
rotY: 269.995148
rotZ: 0.0168994572
rotY: 269.993073
rotZ: 0.01689083
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -254,10 +254,10 @@ Tooltip: true
Transform:
posX: -47.7645073
posY: 1.61465478
posZ: 22.265873
posZ: 22.2659225
rotX: 359.9201
rotY: 269.995148
rotZ: 0.0169023182
rotY: 269.9942
rotZ: 0.0169039723
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,12 +252,12 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -20.1420631
posX: -20.14209
posY: 1.56388879
posZ: -19.3594627
rotX: 0.0168667231
rotY: 179.999283
rotZ: 0.079884
posZ: -19.3595161
rotX: 0.0168638527
rotY: 180.00235
rotZ: 0.07988522
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,11 +252,11 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -17.7868061
posY: 1.57197773
posZ: 19.2608624
posX: -17.786808
posY: 1.57197785
posZ: 19.2608929
rotX: 359.9831
rotY: 359.971222
rotY: 359.973358
rotZ: 359.920135
scaleX: 0.45
scaleY: 0.6

View File

@ -254,10 +254,10 @@ Tooltip: true
Transform:
posX: -18.9032955
posY: 1.5621618
posZ: -19.3595657
rotX: 0.01687532
rotY: 179.992523
rotZ: 0.07988324
posZ: -19.3595924
rotX: 0.0168715883
rotY: 179.993484
rotZ: 0.07987957
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -253,11 +253,11 @@ Sticky: true
Tooltip: true
Transform:
posX: -17.6732578
posY: 1.5604471
posZ: -19.35935
rotX: 0.0168618448
rotY: 180.002182
rotZ: 0.07987842
posY: 1.560447
posZ: -19.3593769
rotX: 0.0168523863
rotY: 180.005692
rotZ: 0.0798826441
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -253,10 +253,10 @@ Sticky: true
Tooltip: true
Transform:
posX: -19.0252037
posY: 1.57370424
posZ: 19.260952
posY: 1.57370436
posZ: 19.2610054
rotX: 359.9831
rotY: 359.9622
rotY: 359.9611
rotZ: 359.920135
scaleX: 0.45
scaleY: 0.6

View File

@ -252,12 +252,12 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -47.76611
posY: 1.615021
posZ: 23.5026379
posX: -47.7661629
posY: 1.61502123
posZ: 23.5026913
rotX: 359.9201
rotY: 269.9965
rotZ: 0.0168874785
rotY: 269.994659
rotZ: 0.01689911
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,12 +252,12 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -47.7644157
posY: 1.60151947
posZ: -22.3409863
posX: -47.7645226
posY: 1.60151958
posZ: -22.34104
rotX: 359.9201
rotY: 270.006958
rotZ: 0.0168810952
rotY: 270.008545
rotZ: 0.0168787912
scaleX: 0.45
scaleY: 0.6
scaleZ: 0.45

View File

@ -252,11 +252,11 @@ States:
Sticky: true
Tooltip: true
Transform:
posX: -20.2555523
posX: -20.2555733
posY: 1.57541955
posZ: 19.2608414
posZ: 19.2608681
rotX: 359.9831
rotY: 359.968475
rotY: 359.969482
rotZ: 359.920135
scaleX: 0.45
scaleY: 0.6

File diff suppressed because it is too large Load Diff

View File

@ -1668,12 +1668,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: -70.0170746
posY: 3.33641124
posZ: -82.17888
rotX: 0.020802753
rotY: 270.018
rotZ: 180.0168
posX: -63.7548141
posY: 1.54271615
posZ: -62.682312
rotX: 0.02080278
rotY: 270.0179
rotZ: 180.016785
scaleX: 1.0
scaleY: 1.0
scaleZ: 1.0

View File

@ -1,69 +0,0 @@
Autoraise: true
ColorDiffuse:
b: 0.9999998
g: 0.992160261
r: 0.9999998
ContainedObjects:
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF Read or Die Campaign
Guide 7f7fb0.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Blob that Ate Everything
36b4eb.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Dream-Eaters Campaign
Guide c3844b.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Circle Undone Campaign
Guide dc5b5b.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Forgotten Age Campaign
Guide 267216.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF Return To The Path
to Carcosa Insert 9351c7.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Path to Carcosa
Campaign Guide 00daab.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF Return To The Dunwich
Legacy Insert 125ce8.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF The Dunwich Legacy
Campaign Guide 61f17f.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF Return to Night of
the Zealot Insert 97895b.yaml'
- !include 'Custom_Model_Bag Campaign Guides fb8135/Custom_PDF Night of the Zealot
Campaign Guide 267216.yaml'
CustomMesh:
CastShadows: true
ColliderURL: ''
Convex: true
DiffuseURL: http://cloud-3.steamusercontent.com/ugc/261595502467721730/095E7CEF808A49B0B246EE8568BFEBB1353ED349/
MaterialIndex: 1
MeshURL: http://cloud-3.steamusercontent.com/ugc/261595502467703250/80F7204D58C573B7C96BCD42D398A7DAFFB06A14/
NormalURL: http://cloud-3.steamusercontent.com/ugc/261595502467703918/7FBE2844BB3E57E816D0B4698AF1C7A458B82932/
TypeIndex: 6
Description: All campaign guide PDF files can be found in here, along with inserts
for the "return to" versions.
DragSelectable: true
GMNotes: ''
GUID: fb8135
Grid: true
GridProjection: false
Hands: false
HideWhenFaceDown: false
IgnoreFoW: false
Locked: true
LuaScript: ''
LuaScriptState: ''
MaterialIndex: -1
MeasureMovement: false
MeshIndex: -1
Name: Custom_Model_Bag
Nickname: Campaign Guides
Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 24.5373287
posY: 3.34153748
posZ: -23.0566654
rotX: 359.9205
rotY: 299.9948
rotZ: 359.9737
scaleX: 0.3000005
scaleY: 0.3000005
scaleZ: 0.3000005
XmlUI: ''

View File

@ -5,21 +5,21 @@ ColorDiffuse:
r: 1.0
ContainedObjects:
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 1d1c68.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile be93cf.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 163ca4.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 6a68fe.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 1699e6.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 73747d.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 6a68fe.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile d1ebf6.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 8da6ff.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile d1ebf6.yaml'
- !include 'Custom_Model_Bag Chaos Bag fea079/Custom_Tile 163ca4.yaml'
CustomMesh:
CastShadows: true
ColliderURL: ''
@ -58,9 +58,9 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 1.75534332
posY: 1.57838881
posZ: -14.1875582
posX: 1.755357
posY: 1.57838917
posZ: -14.1875954
rotX: 359.931335
rotY: 315.0091
rotZ: 359.955139

View File

@ -11,7 +11,7 @@ CustomImage:
Type: 2
ImageScalar: 1.0
ImageSecondaryURL: ''
ImageURL: https://i.imgur.com/stbBxtx.png
ImageURL: https://i.imgur.com/btEtVfd.png
WidthScale: 0.0
Description: ''
DragSelectable: true

View File

@ -58,12 +58,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 28.0526276
posY: 1.44377768
posZ: -19.959547
rotX: 0.114719048
rotY: 315.0035
rotZ: 359.828247
posX: 25.6348152
posY: 1.45231152
posZ: -22.5251026
rotX: 359.930054
rotY: 315.000183
rotZ: 359.954
scaleX: 3.0
scaleY: 3.0
scaleZ: 3.0

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 24.1588631
posY: 2.22407436
posZ: -20.2432365
rotX: 359.964447
rotY: 270.030182
rotZ: 0.0737733245
posX: 49.9627
posY: 3.16233325
posZ: -56.43326
rotX: 0.0208029915
rotY: 270.0303
rotZ: 0.0167782474
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 23.8521843
posY: 2.15267277
posZ: -17.96813
rotX: 0.4986479
rotY: 270.013367
rotZ: 354.597351
posX: 49.800045
posY: 3.162248
posZ: -56.8287
rotX: 0.0207943283
rotY: 270.028656
rotZ: 0.016792655
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 24.4811134
posY: 3.05983543
posZ: -22.7639542
rotX: 359.9201
rotY: 270.0239
rotZ: 0.0168402344
posX: 48.7671051
posY: 3.1618607
posZ: -57.26332
rotX: 0.02079467
rotY: 270.023743
rotZ: 0.01677478
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 26.796236
posY: 2.224739
posZ: -19.3734741
rotX: 359.95166
rotY: 270.0019
rotZ: 359.84137
posX: 40.87691
posY: 3.371062
posZ: -41.6443062
rotX: 359.9201
rotY: 270.000336
rotZ: 0.0168707632
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 26.0832577
posY: 2.127194
posZ: -19.5760612
rotX: 359.9201
rotY: 270.01474
rotZ: 0.01685645
posX: 48.7192459
posY: 3.16205573
posZ: -55.67527
rotX: 0.0207974
rotY: 270.014771
rotZ: 0.01677397
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -32,12 +32,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 16.5730629
posY: 2.459789
posZ: -31.93437
posX: 21.2130928
posY: 3.155581
posZ: -47.66386
rotX: 359.9201
rotY: 270.020782
rotZ: 0.0168403331
rotY: 270.0209
rotZ: 0.0168419052
scaleX: 0.81
scaleY: 1.0
scaleZ: 0.81

View File

@ -73,11 +73,11 @@ Sticky: true
Tooltip: true
Transform:
posX: -9.742425
posY: 1.30773151
posY: 1.30773139
posZ: -49.81
rotX: 0.0208094586
rotX: 0.0208095033
rotY: 270.003174
rotZ: 0.0167717338
rotZ: 0.0167716742
scaleX: 0.5
scaleY: 0.139652729
scaleZ: 0.5

View File

@ -1,273 +0,0 @@
function updateSave()
local data_to_save = {["ml"]=memoryList}
saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memoryList = loaded_data.ml
else
--Set up information for if there is no saved saved data
memoryList = {}
end
if next(memoryList) == nil then
createSetupButton()
else
createMemoryActionButtons()
end
end
--Beginning Setup
--Make setup button
function createSetupButton()
self.createButton({
label="Setup", click_function="buttonClick_setup", function_owner=self,
position={0,5,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
end
--Triggered by setup button,
function buttonClick_setup()
memoryListBackup = duplicateTable(memoryList)
memoryList = {}
self.clearButtons()
createButtonsOnAllObjects()
createSetupActionButtons()
end
--Creates selection buttons on objects
function createButtonsOnAllObjects()
local howManyButtons = 0
for _, obj in ipairs(getAllObjects()) do
if obj ~= self then
local dummyIndex = howManyButtons
--On a normal bag, the button positions aren't the same size as the bag.
globalScaleFactor = 1.25 * 1/self.getScale().x
--Super sweet math to set button positions
local selfPos = self.getPosition()
local objPos = obj.getPosition()
local deltaPos = findOffsetDistance(selfPos, objPos, obj)
local objPos = rotateLocalCoordinates(deltaPos, self)
objPos.x = -objPos.x * globalScaleFactor
objPos.y = objPos.y * globalScaleFactor
objPos.z = objPos.z * globalScaleFactor
--Offset rotation of bag
local rot = self.getRotation()
rot.y = -rot.y + 180
--Create function
local funcName = "selectButton_" .. howManyButtons
local func = function() buttonClick_selection(dummyIndex, obj) end
self.setVar(funcName, func)
self.createButton({
click_function=funcName, function_owner=self,
position=objPos, rotation=rot, height=1000, width=1000,
color={0.75,0.25,0.25,0.6},
})
howManyButtons = howManyButtons + 1
end
end
end
--Creates submit and cancel buttons
function createSetupActionButtons()
self.createButton({
label="Cancel", click_function="buttonClick_cancel", function_owner=self,
position={1.5,5,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Submit", click_function="buttonClick_submit", function_owner=self,
position={-1.2,5,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Reset", click_function="buttonClick_reset", function_owner=self,
position={-4,5,6}, rotation={0,0,0}, height=500, width=1000,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
end
--During Setup
--Checks or unchecks buttons
function buttonClick_selection(index, obj)
local color = {0,1,0,0.6}
if memoryList[obj.getGUID()] == nil then
self.editButton({index=index, color=color})
--Adding pos/rot to memory table
local pos, rot = obj.getPosition(), obj.getRotation()
--I need to add it like this or it won't save due to indexing issue
memoryList[obj.getGUID()] = {
pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},
rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},
lock=obj.getLock()
}
obj.highlightOn({0,1,0})
else
color = {0.75,0.25,0.25,0.6}
self.editButton({index=index, color=color})
memoryList[obj.getGUID()] = nil
obj.highlightOff()
end
end
--Cancels selection process
function buttonClick_cancel()
memoryList = memoryListBackup
self.clearButtons()
if next(memoryList) == nil then
createSetupButton()
else
createMemoryActionButtons()
end
removeAllHighlights()
broadcastToAll("Selection Canceled", {1,1,1})
end
--Saves selections
function buttonClick_submit()
if next(memoryList) == nil then
broadcastToAll("You cannot submit without any selections.", {0.75, 0.25, 0.25})
else
self.clearButtons()
createMemoryActionButtons()
local count = 0
for guid in pairs(memoryList) do
count = count + 1
local obj = getObjectFromGUID(guid)
if obj ~= nil then obj.highlightOff() end
end
broadcastToAll(count.." Objects Saved", {1,1,1})
updateSave()
end
end
--Resets bag to starting status
function buttonClick_reset()
memoryList = {}
self.clearButtons()
createSetupButton()
removeAllHighlights()
broadcastToAll("Tool Reset", {1,1,1})
updateSave()
end
--After Setup
--Creates recall and place buttons
function createMemoryActionButtons()
self.createButton({
label="Place", click_function="buttonClick_place", function_owner=self,
position={1.35,1,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Recall", click_function="buttonClick_recall", function_owner=self,
position={-1.25,1,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
-- self.createButton({
-- label="Setup", click_function="buttonClick_setup", function_owner=self,
-- position={-6,1,0}, rotation={0,90,0}, height=500, width=1200,
-- font_size=350, color={0,0,0}, font_color={1,1,1}
-- })
end
--Sends objects from bag/table to their saved position/rotation
function buttonClick_place()
local bagObjList = self.getObjects()
for guid, entry in pairs(memoryList) do
local obj = getObjectFromGUID(guid)
--If obj is out on the table, move it to the saved pos/rot
if obj ~= nil then
obj.setPositionSmooth(entry.pos)
obj.setRotationSmooth(entry.rot)
obj.setLock(entry.lock)
else
--If obj is inside of the bag
for _, bagObj in ipairs(bagObjList) do
if bagObj.guid == guid then
local item = self.takeObject({
guid=guid, position=entry.pos, rotation=entry.rot,
})
item.setLock(entry.lock)
break
end
end
end
end
broadcastToAll("Objects Placed", {1,1,1})
end
--Recalls objects to bag from table
function buttonClick_recall()
for guid, entry in pairs(memoryList) do
local obj = getObjectFromGUID(guid)
if obj ~= nil then self.putObject(obj) end
end
broadcastToAll("Objects Recalled", {1,1,1})
end
--Utility functions
--Find delta (difference) between 2 x/y/z coordinates
function findOffsetDistance(p1, p2, obj)
local deltaPos = {}
local bounds = obj.getBounds()
deltaPos.x = (p2.x-p1.x)
deltaPos.y = (p2.y-p1.y) + (bounds.size.y - bounds.offset.y)
deltaPos.z = (p2.z-p1.z)
return deltaPos
end
--Used to rotate a set of coordinates by an angle
function rotateLocalCoordinates(desiredPos, obj)
local objPos, objRot = obj.getPosition(), obj.getRotation()
local angle = math.rad(objRot.y)
local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)
local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)
--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}
return {x=x, y=desiredPos.y, z=z}
end
--Coroutine delay, in seconds
function wait(time)
local start = os.time()
repeat coroutine.yield(0) until os.time() > start + time
end
--Duplicates a table (needed to prevent it making reference to the same objects)
function duplicateTable(oldTable)
local newTable = {}
for k, v in pairs(oldTable) do
newTable[k] = v
end
return newTable
end
--Moves scripted highlight from all objects
function removeAllHighlights()
for _, obj in ipairs(getAllObjects()) do
obj.highlightOff()
end
end
--Round number (num) to the Nth decimal (dec)
function round(num, dec)
local mult = 10^(dec or 0)
return math.floor(num * mult + 0.5) / mult
end

View File

@ -0,0 +1,503 @@
-- Utility memory bag by Directsun
-- Version 2.5.2
-- Fork of Memory Bag 2.0 by MrStump
function updateSave()
local data_to_save = {["ml"]=memoryList}
saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
function combineMemoryFromBagsWithin()
local bagObjList = self.getObjects()
for _, bagObj in ipairs(bagObjList) do
local data = bagObj.lua_script_state
if data ~= nil then
local j = JSON.decode(data)
if j ~= nil and j.ml ~= nil then
for guid, entry in pairs(j.ml) do
memoryList[guid] = entry
end
end
end
end
end
function updateMemoryWithMoves()
memoryList = memoryListBackup
--get the first transposed object's coordinates
local obj = getObjectFromGUID(moveGuid)
-- p1 is where needs to go, p2 is where it was
local refObjPos = memoryList[moveGuid].pos
local deltaPos = findOffsetDistance(obj.getPosition(), refObjPos, nil)
local movedRotation = obj.getRotation()
for guid, entry in pairs(memoryList) do
memoryList[guid].pos.x = entry.pos.x - deltaPos.x
memoryList[guid].pos.y = entry.pos.y - deltaPos.y
memoryList[guid].pos.z = entry.pos.z - deltaPos.z
-- memoryList[guid].rot.x = movedRotation.x
-- memoryList[guid].rot.y = movedRotation.y
-- memoryList[guid].rot.z = movedRotation.z
end
--theList[obj.getGUID()] = {
-- pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},
-- rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},
-- lock=obj.getLock()
--}
moveList = {}
end
function onload(saved_data)
fresh = true
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memoryList = loaded_data.ml
else
--Set up information for if there is no saved saved data
memoryList = {}
end
moveList = {}
moveGuid = nil
if next(memoryList) == nil then
createSetupButton()
else
fresh = false
createMemoryActionButtons()
end
end
--Beginning Setup
--Make setup button
function createSetupButton()
self.createButton({
label="Setup", click_function="buttonClick_setup", function_owner=self,
position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
end
--Triggered by Transpose button
function buttonClick_transpose()
moveGuid = nil
broadcastToAll("Select one object and move it- all objects will move relative to the new location", {0.75, 0.75, 1})
memoryListBackup = duplicateTable(memoryList)
memoryList = {}
moveList = {}
self.clearButtons()
createButtonsOnAllObjects(true)
createSetupActionButtons(true)
end
--Triggered by setup button,
function buttonClick_setup()
memoryListBackup = duplicateTable(memoryList)
memoryList = {}
self.clearButtons()
createButtonsOnAllObjects(false)
createSetupActionButtons(false)
end
function getAllObjectsInMemory()
local objTable = {}
local curObj = {}
for guid in pairs(memoryListBackup) do
curObj = getObjectFromGUID(guid)
table.insert(objTable, curObj)
end
return objTable
-- return getAllObjects()
end
--Creates selection buttons on objects
function createButtonsOnAllObjects(move)
local howManyButtons = 0
local objsToHaveButtons = {}
if move == true then
objsToHaveButtons = getAllObjectsInMemory()
else
objsToHaveButtons = getAllObjects()
end
for _, obj in ipairs(objsToHaveButtons) do
if obj ~= self then
local dummyIndex = howManyButtons
--On a normal bag, the button positions aren't the same size as the bag.
globalScaleFactor = 1 * 1/self.getScale().x
--Super sweet math to set button positions
local selfPos = self.getPosition()
local objPos = obj.getPosition()
local deltaPos = findOffsetDistance(selfPos, objPos, obj)
local objPos = rotateLocalCoordinates(deltaPos, self)
objPos.x = -objPos.x * globalScaleFactor
objPos.y = objPos.y * globalScaleFactor + 4
objPos.z = objPos.z * globalScaleFactor
--Offset rotation of bag
local rot = self.getRotation()
rot.y = -rot.y + 180
--Create function
local funcName = "selectButton_" .. howManyButtons
local func = function() buttonClick_selection(dummyIndex, obj, move) end
local color = {0.75,0.25,0.25,0.6}
local colorMove = {0,0,1,0.6}
if move == true then
color = colorMove
end
self.setVar(funcName, func)
self.createButton({
click_function=funcName, function_owner=self,
position=objPos, rotation=rot, height=1000, width=1000,
color=color,
})
howManyButtons = howManyButtons + 1
end
end
end
--Creates submit and cancel buttons
function createSetupActionButtons(move)
self.createButton({
label="Cancel", click_function="buttonClick_cancel", function_owner=self,
position={-1.25,0.1,-6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Submit", click_function="buttonClick_submit", function_owner=self,
position={-1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
if move == false then
self.createButton({
label="Add", click_function="buttonClick_add", function_owner=self,
position={1.25,0.3,-6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={0.25,1,0.25}
})
if fresh == false then
self.createButton({
label="Set New", click_function="buttonClick_setNew", function_owner=self,
position={1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={0.75,0.75,1}
})
self.createButton({
label="Remove", click_function="buttonClick_remove", function_owner=self,
position={1.25,0.3,-7}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,0.25,0.25}
})
end
end
self.createButton({
label="Reset", click_function="buttonClick_reset", function_owner=self,
position={-1.25,0.3,-8}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
end
--During Setup
--Checks or unchecks buttons
function buttonClick_selection(index, obj, move)
local colorMove = {0,0,1,0.6}
local color = {0,1,0,0.6}
previousGuid = selectedGuid
selectedGuid = obj.getGUID()
theList = memoryList
if move == true then
theList = moveList
if previousGuid ~= nil and previousGuid ~= selectedGuid then
local prevObj = getObjectFromGUID(previousGuid)
prevObj.highlightOff()
self.editButton({index=previousIndex, color=colorMove})
theList[previousGuid] = nil
end
previousIndex = index
end
if theList[selectedGuid] == nil then
self.editButton({index=index, color=color})
--Adding pos/rot to memory table
local pos, rot = obj.getPosition(), obj.getRotation()
--I need to add it like this or it won't save due to indexing issue
theList[obj.getGUID()] = {
pos={x=round(pos.x,4), y=round(pos.y,4), z=round(pos.z,4)},
rot={x=round(rot.x,4), y=round(rot.y,4), z=round(rot.z,4)},
lock=obj.getLock()
}
obj.highlightOn({0,1,0})
else
color = {0.75,0.25,0.25,0.6}
if move == true then
color = colorMove
end
self.editButton({index=index, color=color})
theList[obj.getGUID()] = nil
obj.highlightOff()
end
end
--Cancels selection process
function buttonClick_cancel()
memoryList = memoryListBackup
moveList = {}
self.clearButtons()
if next(memoryList) == nil then
createSetupButton()
else
createMemoryActionButtons()
end
removeAllHighlights()
broadcastToAll("Selection Canceled", {1,1,1})
moveGuid = nil
end
--Saves selections
function buttonClick_submit()
fresh = false
if next(moveList) ~= nil then
for guid in pairs(moveList) do
moveGuid = guid
end
if memoryListBackup[moveGuid] == nil then
broadcastToAll("Item selected for moving is not already in memory", {1, 0.25, 0.25})
else
broadcastToAll("Moving all items in memory relative to new objects position!", {0.75, 0.75, 1})
self.clearButtons()
createMemoryActionButtons()
local count = 0
for guid in pairs(moveList) do
moveGuid = guid
count = count + 1
local obj = getObjectFromGUID(guid)
if obj ~= nil then obj.highlightOff() end
end
updateMemoryWithMoves()
updateSave()
buttonClick_place()
end
elseif next(memoryList) == nil and moveGuid == nil then
memoryList = memoryListBackup
broadcastToAll("No selections made.", {0.75, 0.25, 0.25})
end
combineMemoryFromBagsWithin()
self.clearButtons()
createMemoryActionButtons()
local count = 0
for guid in pairs(memoryList) do
count = count + 1
local obj = getObjectFromGUID(guid)
if obj ~= nil then obj.highlightOff() end
end
broadcastToAll(count.." Objects Saved", {1,1,1})
updateSave()
moveGuid = nil
end
function combineTables(first_table, second_table)
for k,v in pairs(second_table) do first_table[k] = v end
end
function buttonClick_add()
fresh = false
combineTables(memoryList, memoryListBackup)
broadcastToAll("Adding internal bags and selections to existing memory", {0.25, 0.75, 0.25})
combineMemoryFromBagsWithin()
self.clearButtons()
createMemoryActionButtons()
local count = 0
for guid in pairs(memoryList) do
count = count + 1
local obj = getObjectFromGUID(guid)
if obj ~= nil then obj.highlightOff() end
end
broadcastToAll(count.." Objects Saved", {1,1,1})
updateSave()
end
function buttonClick_remove()
broadcastToAll("Removing Selected Entries From Memory", {1.0, 0.25, 0.25})
self.clearButtons()
createMemoryActionButtons()
local count = 0
for guid in pairs(memoryList) do
count = count + 1
memoryListBackup[guid] = nil
local obj = getObjectFromGUID(guid)
if obj ~= nil then obj.highlightOff() end
end
broadcastToAll(count.." Objects Removed", {1,1,1})
memoryList = memoryListBackup
updateSave()
end
function buttonClick_setNew()
broadcastToAll("Setting new position relative to items in memory", {0.75, 0.75, 1})
self.clearButtons()
createMemoryActionButtons()
local count = 0
for _, obj in ipairs(getAllObjects()) do
guid = obj.guid
if memoryListBackup[guid] ~= nil then
count = count + 1
memoryListBackup[guid].pos = obj.getPosition()
memoryListBackup[guid].rot = obj.getRotation()
memoryListBackup[guid].lock = obj.getLock()
end
end
broadcastToAll(count.." Objects Saved", {1,1,1})
memoryList = memoryListBackup
updateSave()
end
--Resets bag to starting status
function buttonClick_reset()
fresh = true
memoryList = {}
self.clearButtons()
createSetupButton()
removeAllHighlights()
broadcastToAll("Tool Reset", {1,1,1})
updateSave()
end
--After Setup
--Creates recall and place buttons
function createMemoryActionButtons()
self.createButton({
label="Place", click_function="buttonClick_place", function_owner=self,
position={1.35,1,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Recall", click_function="buttonClick_recall", function_owner=self,
position={-1.25,1,6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
self.createButton({
label="Setup", click_function="buttonClick_setup", function_owner=self,
position={0,0.1,-6}, rotation={0,0,0}, height=500, width=1200,
font_size=350, color={0,0,0}, font_color={1,1,1}
})
--- self.createButton({
--- label="Move", click_function="buttonClick_transpose", function_owner=self,
--- position={-2.8,0.3,0}, rotation={0,0,0}, height=350, width=800,
--- font_size=250, color={0,0,0}, font_color={0.75,0.75,1}
--- })
end
--Sends objects from bag/table to their saved position/rotation
function buttonClick_place()
local bagObjList = self.getObjects()
for guid, entry in pairs(memoryList) do
local obj = getObjectFromGUID(guid)
--If obj is out on the table, move it to the saved pos/rot
if obj ~= nil then
obj.setPositionSmooth(entry.pos)
obj.setRotationSmooth(entry.rot)
obj.setLock(entry.lock)
else
--If obj is inside of the bag
for _, bagObj in ipairs(bagObjList) do
if bagObj.guid == guid then
local item = self.takeObject({
guid=guid, position=entry.pos, rotation=entry.rot, smooth=false
})
item.setLock(entry.lock)
break
end
end
end
end
broadcastToAll("Objects Placed", {1,1,1})
end
--Recalls objects to bag from table
function buttonClick_recall()
for guid, entry in pairs(memoryList) do
local obj = getObjectFromGUID(guid)
if obj ~= nil then self.putObject(obj) end
end
broadcastToAll("Objects Recalled", {1,1,1})
end
--Utility functions
--Find delta (difference) between 2 x/y/z coordinates
function findOffsetDistance(p1, p2, obj)
local yOffset = 0
if obj ~= nil then
local bounds = obj.getBounds()
yOffset = (bounds.size.y - bounds.offset.y)
end
local deltaPos = {}
deltaPos.x = (p2.x-p1.x)
deltaPos.y = (p2.y-p1.y) + yOffset
deltaPos.z = (p2.z-p1.z)
return deltaPos
end
--Used to rotate a set of coordinates by an angle
function rotateLocalCoordinates(desiredPos, obj)
local objPos, objRot = obj.getPosition(), obj.getRotation()
local angle = math.rad(objRot.y)
local x = desiredPos.x * math.cos(angle) - desiredPos.z * math.sin(angle)
local z = desiredPos.x * math.sin(angle) + desiredPos.z * math.cos(angle)
--return {x=objPos.x+x, y=objPos.y+desiredPos.y, z=objPos.z+z}
return {x=x, y=desiredPos.y, z=z}
end
function rotateMyCoordinates(desiredPos, obj)
local angle = math.rad(obj.getRotation().y)
local x = desiredPos.x * math.sin(angle)
local z = desiredPos.z * math.cos(angle)
return {x=x, y=desiredPos.y, z=z}
end
--Coroutine delay, in seconds
function wait(time)
local start = os.time()
repeat coroutine.yield(0) until os.time() > start + time
end
--Duplicates a table (needed to prevent it making reference to the same objects)
function duplicateTable(oldTable)
local newTable = {}
for k, v in pairs(oldTable) do
newTable[k] = v
end
return newTable
end
--Moves scripted highlight from all objects
function removeAllHighlights()
for _, obj in ipairs(getAllObjects()) do
obj.highlightOff()
end
end
--Round number (num) to the Nth decimal (dec)
function round(num, dec)
local mult = 10^(dec or 0)
return math.floor(num * mult + 0.5) / mult
end

View File

@ -4,10 +4,12 @@ ColorDiffuse:
g: 1.0
r: 1.0
ContainedObjects:
- !include 'Custom_Model_Bag Core 5579e4/Custom_Model_Bag 3 The Devourer Below 2130f0.yaml'
- !include 'Custom_Model_Bag Core 5579e4/Custom_Model_Bag 1 The Gathering 667111.yaml'
- !include 'Custom_Model_Bag Core 5579e4/Custom_Model_Bag 2 The Midnight Masks c38c96.yaml'
- !include 'Custom_Model_Bag Core 5579e4/Custom_Tile Night of the Zealot Campaign
- !include 'Custom_Model_Bag Core 64a613/Custom_PDF Night of the Zealot Campaign Guide
267216.yaml'
- !include 'Custom_Model_Bag Core 64a613/Custom_Model_Bag 3 The Devourer Below 2130f0.yaml'
- !include 'Custom_Model_Bag Core 64a613/Custom_Model_Bag 1 The Gathering 667111.yaml'
- !include 'Custom_Model_Bag Core 64a613/Custom_Model_Bag 2 The Midnight Masks c38c96.yaml'
- !include 'Custom_Model_Bag Core 64a613/Custom_Tile Night of the Zealot Campaign
Log e0c3e7.yaml'
CustomMesh:
CastShadows: true
@ -29,15 +31,15 @@ CustomMesh:
Description: ''
DragSelectable: true
GMNotes: ''
GUID: 5579e4
GUID: 64a613
Grid: true
GridProjection: false
Hands: false
HideWhenFaceDown: false
IgnoreFoW: false
Locked: false
LuaScript: !include 'Custom_Model_Bag Core 5579e4.ttslua'
LuaScriptState: '{"ml":{"2130f0":{"lock":false,"pos":{"x":12.11,"y":1.4624,"z":-7.5798},"rot":{"x":359.9201,"y":270.0006,"z":0.0169}},"667111":{"lock":false,"pos":{"x":12.1101,"y":1.4668,"z":7.2458},"rot":{"x":359.9201,"y":269.9997,"z":0.0169}},"c38c96":{"lock":false,"pos":{"x":12.11,"y":1.4646,"z":-0.0592},"rot":{"x":359.9201,"y":270.0097,"z":0.0169}},"e0c3e7":{"lock":false,"pos":{"x":-1.4655,"y":1.4756,"z":-26.9304},"rot":{"x":359.9201,"y":269.9995,"z":0.0169}}}}'
LuaScript: !include 'Custom_Model_Bag Core 64a613.ttslua'
LuaScriptState: '{"ml":{"2130f0":{"lock":false,"pos":{"x":12.11,"y":1.4624,"z":-7.5798},"rot":{"x":359.9201,"y":270.0006,"z":0.0169}},"267216":{"lock":false,"pos":{"x":0.2703,"y":1.4896,"z":28.777},"rot":{"x":359.9201,"y":270.0025,"z":0.0169}},"667111":{"lock":false,"pos":{"x":12.1101,"y":1.4668,"z":7.2458},"rot":{"x":359.9201,"y":269.9997,"z":0.0169}},"c38c96":{"lock":false,"pos":{"x":12.11,"y":1.4646,"z":-0.0592},"rot":{"x":359.9201,"y":270.0097,"z":0.0169}},"e0c3e7":{"lock":false,"pos":{"x":-1.4655,"y":1.4756,"z":-26.9304},"rot":{"x":359.9201,"y":269.9995,"z":0.0169}}}}'
MaterialIndex: -1
MeasureMovement: false
MeshIndex: -1
@ -47,12 +49,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 51.7487373
posY: 1.41776729
posZ: 28.5305367
posX: 51.74796
posY: 1.417767
posZ: 28.5300655
rotX: 359.920135
rotY: 269.9856
rotZ: 0.0168927535
rotY: 269.999634
rotZ: 0.0168727953
scaleX: 1.0
scaleY: 0.139652729
scaleZ: 1.0

View File

@ -64,12 +64,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 12.1490088
posY: 1.46675181
posZ: 7.26669359
posX: 12.1101017
posY: 1.46676016
posZ: 7.2458
rotX: 359.920135
rotY: 269.999146
rotZ: 0.0168755725
rotY: 269.999664
rotZ: 0.0168742985
scaleX: 2.21
scaleY: 0.46
scaleZ: 2.42

View File

@ -89,12 +89,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 12.1489086
posY: 1.46455407
posZ: -0.0311367083
rotX: 359.9201
rotY: 270.0229
rotZ: 0.016841989
posX: 12.1100006
posY: 1.464609
posZ: -0.0592006147
rotX: 359.920135
rotY: 270.0097
rotZ: 0.016859632
scaleX: 2.21
scaleY: 0.46
scaleZ: 2.42

View File

@ -69,12 +69,12 @@ Snap: true
Sticky: true
Tooltip: true
Transform:
posX: 12.1489086
posY: 1.462356
posZ: -7.544354
posX: 12.11
posY: 1.46239471
posZ: -7.579802
rotX: 359.920135
rotY: 270.000854
rotZ: 0.0168729518
rotY: 270.0006
rotZ: 0.01687231
scaleX: 2.21
scaleY: 0.46
scaleZ: 2.42

Some files were not shown because too many files have changed in this diff Show More