From f3c9f3af0b7fd539570d5a1ac5cfe3c550ab6056 Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Sun, 10 Mar 2024 09:56:22 -0400 Subject: [PATCH] 3.7.0 --- unpacked.ttslua | 846 ++--- unpacked.xml | 2 - unpacked.yaml | 76 +- .../Bag Additional Player Cards 2cba6b.ttslua | 88 +- unpacked/Bag All Player Cards 15bb07.ttslua | 7 +- unpacked/Bag All Player Cards 15bb07.yaml | 153 +- .../Card 21 or Bust 5210c2.yaml | 2 +- ...ef183.yaml => Card Absolution aef183.yaml} | 12 +- .../Card Abyssal Rot bbeac6.yaml | 6 +- ... e91c5e.yaml => Card Accursed e91c5e.yaml} | 12 +- ...oc c9fb2f.yaml => Card Ad Hoc c9fb2f.yaml} | 12 +- .../Card Aember Rot 3e6219.yaml | 6 +- ... Card Aetheric Current (Yoth) 84ad64.yaml} | 12 +- ...rd Aetheric Current (Yuggoth) 84ad65.yaml} | 12 +- ...yaml => Card Alessandra Zorzi 54eaa5.yaml} | 16 +- ....yaml => Card Ancestral Token c1fb1f.yaml} | 12 +- ...aml => Card Antediluvian Hymn ba4746.yaml} | 8 +- .../Card Antiquary (3) 452db2.yaml | 4 +- .../Card Archive of Conduits (4) 098132.yaml | 2 +- .../Card Archive of Conduits (4) 1fdf4c.yaml | 2 +- .../Card Archive of Conduits (4) 4b1b99.yaml | 2 +- .../Card Archive of Conduits (4) 88ff66.yaml | 2 +- .../Card Archive of Conduits 8023f5.yaml | 2 +- .../Card Arm Injury 8f1420.yaml | 4 +- .../Card Astronomical Atlas (3) 804397.yaml | 2 +- .../Card Back Injury f6c482.yaml | 6 +- .../Card Bandages b460e1.yaml | 2 +- .../Card Bangle of Jinxes (1) a65852.yaml | 2 +- ... c4dfa2.yaml => Card Bank Job c4dfa2.yaml} | 8 +- ...e 019526.yaml => Card Beguile 019526.yaml} | 12 +- .../Card Bewitching (3) db335c.yaml | 6 +- ....yaml => Card Bianca Die Katz 897a94.yaml} | 10 +- .../Card Bianca Die Katz 992ccd.yaml | 8 +- ...3.yaml => Card Bide Your Time 24d3b3.yaml} | 8 +- .../Card Black Market (2) 20da53.yaml | 2 +- ...d.yaml => Card Blackmail File de456d.yaml} | 12 +- .../Card Blade of Yoth c61a83.yaml | 6 +- .../Card Blessed Blade (4) 9401f4.yaml | 6 +- ...Card Blood Will Have Blood (2) e81f1e.yaml | 2 +- .../Card Blur (1) 5be76d.yaml | 4 +- .../Card Blur (4) 5ade28.yaml | 4 +- .../Card Bob Jenkins 419b0c.yaml | 4 +- ...> Card Book of Living Myths c5fb1f.ttslua} | 222 +- ...l => Card Book of Living Myths c5fb1f.xml} | 36 +- ... => Card Book of Living Myths c5fb1f.yaml} | 16 +- .../Card Brand of Cthugha (1) 0fff60.yaml | 4 +- .../Card Brand of Cthugha (4) 200b64.yaml | 4 +- .../Card British Bull Dog (2) 7b7050.yaml | 6 +- ...yaml => Card British Bull Dog 9b76a0.yaml} | 8 +- .../Card Broken Diadem (5) b6d35d.yaml | 6 +- .../Card Bruiser (3) 8ec9cb.yaml | 4 +- .../Card Burden of Destiny 45c19e.yaml | 4 +- .../Card Buried Secrets 28080d.yaml | 4 +- .../Card Burn After Reading (1) eedd0b.yaml | 2 +- .../Card Butterfly Swords (2) 5779d3.yaml | 2 +- .../Card Butterfly Swords (5) 0a312f.yaml | 2 +- .../Card Call for Backup (2) 1d1901.yaml | 4 +- .../Card Call the Beyond (2) 0dd070.yaml | 6 +- ... 847ed6.yaml => Card Cat Mask 847ed6.yaml} | 12 +- .../Card Cheat the System (1) f6d572.yaml | 2 +- .../Card Chemistry Set da9727.yaml | 10 +- .../Card Cleaning Kit (3) 94c3e1.yaml | 6 +- ...668.yaml => Card Cleaning Kit d07668.yaml} | 8 +- .../Card Close the Circle (1) d02825.yaml | 2 +- .../Card Combat Training (3) 36efa2.yaml | 2 +- ...5de.yaml => Card Confound (3) 9965de.yaml} | 12 +- ...yaml => Card Control Variable 133868.yaml} | 12 +- .../Card Counterespionage (1) fad52a.yaml | 2 +- .../Card Crafty (3) fa994a.yaml | 4 +- ...d Crystalline Elder Sign (3) 949ca2.ttslua | 504 +-- .../Card Cyclopean Hammer (5) 4df3b9.yaml | 4 +- .../Card Damned bad8cb.yaml | 6 +- .../Card Daniela Reyes 444830.yaml | 4 +- .../Card Dark Horse (5) d00e4d.yaml | 10 +- .../Card Dark Ritual 272e6c.ttslua | 574 ++-- .../Card Dauntless Spirit (1) adc8b6.yaml | 2 +- .../Card Dawn Star (1) 8b15d7.yaml | 6 +- .../Card Day of Reckoning e701af.ttslua | 346 +- .../Card Defensive Stance (1) 62e4f4.yaml | 2 +- ...2a0ba5.yaml => Card Devil (2) 2a0ba5.yaml} | 12 +- ....yaml => Card Diabolical Luck 1fea59.yaml} | 8 +- .../Card Directive 07e7bd.yaml | 2 +- .../Card Directive 2d9256.yaml | 2 +- .../Card Dirty Deeds (3) aa2d6a.yaml | 6 +- .../Card Discipline 081db4.yaml | 4 +- .../Card Discipline 3247da.yaml | 4 +- .../Card Discipline 5ff3bd.yaml | 4 +- .../Card Discipline e8d38d.yaml | 4 +- .../Card Divination (1) 658588.yaml | 4 +- .../Card Divination (4) 58f2af.yaml | 4 +- .../Card Dodge (2) 9ab750.yaml | 2 +- .../Card Down the Rabbit Hole b925fc.yaml | 2 +- .../Card Dr. Charles West III 72efed.yaml | 10 +- .../Card Dragon Pole 331b58.yaml | 2 +- ...aa.yaml => Card Drain Essence 9965aa.yaml} | 12 +- .../Card Earthly Serenity (1) 1d6d47.yaml | 4 +- .../Card Earthly Serenity (4) 57f037.yaml | 4 +- ...=> Card Elaborate Distraction d1422e.yaml} | 8 +- ....yaml => Card Eldritch Tongue e8765a.yaml} | 12 +- .../Card Empirical Hypothesis 62c67d.ttslua | 94 +- .../Card Enchanted Bow (2) f85d4e.yaml | 4 +- .../Card Eon Chart (1) be4332.yaml | 4 +- .../Card Eon Chart (4) d3ad2d.yaml | 4 +- .../Card Esoteric Method (1) 9250e1.yaml | 6 +- .../Card Ethereal Form (2) e58c7b.yaml | 6 +- .../Card Ethereal Slip (2) 39cb5b.yaml | 4 +- .../Card Ethereal Slip 31539a.yaml | 4 +- .../Card Ethereal Weaving (3) 697efd.yaml | 6 +- .../Card Evanescent Ascension 9e763b.yaml | 6 +- .../Card Eyes of Valusia (4) e7bfbe.yaml | 6 +- ...aml => Card Failed Experiment acd281.yaml} | 12 +- .../Card Fake Credentials (4) 7ebb67.yaml | 6 +- ...yaml => Card Fake Credentials acd38d.yaml} | 12 +- ....yaml => Card False Surrender adf28e.yaml} | 12 +- .../Card Family Inheritance 394603.ttslua | 451 ++- .../Card Fang of Tyr'thrha (4) e2dc13.yaml | 2 +- .../Card Favor of the Moon (1) 542a70.ttslua | 390 +-- .../Card Favor of the Sun (1) 1e6a06.ttslua | 456 +-- .../Card Fend Off (3) 0c2449.yaml | 2 +- .../Card Final Rhapsody 561775.yaml | 2 +- .../Card Fine Tuning (1) 103fbd.yaml | 10 +- .../Card Fire Axe (2) 326ec3.yaml | 6 +- .../Card Fire Extinguisher (3) fb019d.yaml | 2 +- .../Card Flurry of Blows (5) 9e7bc8.yaml | 6 +- ...f the Outer Gods (4) (Taboo) 453fd1.ttslua | 424 +-- ... Flute of the Outer Gods (4) 3cc1e2.ttslua | 672 ++-- ....yaml => Card Flux Stabilizer 55990a.yaml} | 14 +- .../Card Forced Learning fa06f9.yaml | 2 +- .../Card Foresight (1) c09a15.yaml | 2 +- ... 4144cd.yaml => Card Fox Mask 4144cd.yaml} | 12 +- .../Card Gabriel Carillo (1) 7e1088.yaml | 6 +- .../Card Gang Up (1) 09cc35.yaml | 2 +- .../Card Geared Up 028cf7.yaml | 2 +- .../Card Gené Beauregard (3) 255aa3.yaml | 4 +- .../Card Get behind me! 76270e.yaml | 2 +- .../Card Greed 0ca36f.yaml | 4 +- ...ift df75d7.yaml => Card Grift df75d7.yaml} | 12 +- .../Card Grounded (3) edb064.yaml | 2 +- ....yaml => Card Guided by Faith aef282.yaml} | 12 +- ...Card Hand-Eye Coordination (1) 102fcd.yaml | 10 +- ... Card Hank Samson (Assistant) 3764ce.yaml} | 16 +- ... => Card Hank Samson (Warden) 3764cf.yaml} | 16 +- ...64cd.yaml => Card Hank Samson 3764cd.yaml} | 16 +- .../Card Hasty Repairs 0821d5.yaml | 10 +- ...a0d3.yaml => Card Hatchet (1) 2ea0d3.yaml} | 12 +- .../Card Healing Words (3) f2726b.yaml | 2 +- .../Card Heavy Furs 275450.yaml | 4 +- .../Card Hiking Boots (1) b03e83.yaml | 2 +- .../Card Hit me! 431c15.yaml | 4 +- ...p aef182.yaml => Card Hold Up aef182.yaml} | 12 +- .../Card Holy Spear (5) 28289a.ttslua | 902 ++--- .../Card Hunting Jacket (2) 5355fa.yaml | 6 +- ...ml => Card I'll Pay You Back! 40e1ca.yaml} | 12 +- .../Card Ice Pick (1) 8b065c.yaml | 4 +- .../Card Ice Pick (3) 70f9f7.yaml | 4 +- .../Card In the Thick of It bdd102.yaml | 4 +- .../Card Indebted b2ef43.yaml | 6 +- .../Card Jeremiah Kirby 98e5f5.yaml | 2 +- ...ard Jim Culver (Parallel Back) aba863.yaml | 2 +- ...rd Jim Culver (Parallel Front) c5fc80.yaml | 2 +- .../Card Jim Culver (Parallel) 72bf31.yaml | 2 +- .../Card Jim's Trumpet 7dfd5f.yaml | 2 +- .../Card Join the Caravan (1) 6367dd.yaml | 2 +- .../Card Jury-Rig 29d06d.yaml | 2 +- ...0) f5beb5.yaml => Card Katana f5beb5.yaml} | 8 +- ...22.yaml => Card Kate Winthrop ce2322.yaml} | 16 +- .../Card Keep Faith (2) 73e4ee.yaml | 6 +- .../Card Keeper of the Key 014086.yaml | 6 +- ...7.yaml => Card Kōhaku Narukami 54eaa7.yaml} | 16 +- .../Card Leg Injury 46b4a0.yaml | 4 +- ...1fb6.yaml => Card Lightfooted fe1fb6.yaml} | 8 +- .../Card Lily Chen cc21e0.yaml | 4 +- .../Card Livre d'Eibon 55001f.yaml | 4 +- .../Card Long Shot dc8c4d.yaml | 10 +- .../Card Maimed Hand cb14d3.yaml | 6 +- .../Card Mariner's Compass (2) 596053.yaml | 6 +- ... b533db.yaml => Card Matchbox b533db.yaml} | 8 +- .../Card Mechanic's Wrench 598ba0.yaml | 4 +- .../Card Medical Student e419b4.yaml | 4 +- .../Card Medical Texts (2) 0d3bfa.yaml | 2 +- .../Card Meditative Trance ef46e9.yaml | 2 +- .../Card Mesmeric Influence (1) b13946.yaml | 6 +- .../Card Michael Leigh (5) 573765.yaml | 4 +- .../Card Microscope (4) fbd296.yaml | 6 +- .../Card Microscope 48be49.yaml | 10 +- .../Card Miracle Wish (5) d78d4a.yaml | 6 +- .../Card Mob Goons fc1506.yaml | 6 +- .../Card Money Talks (2) 67eb69.yaml | 2 +- .../Card Monterey Jack 46b145.yaml | 4 +- ...2ad21.yaml => Card Mouse Mask 32ad21.yaml} | 12 +- .../Card Moxie (3) 6b3a27.yaml | 2 +- .../Card Nephthys (4) 5659d1.ttslua | 464 +-- .../Card Nkosi Mabati (3) 6c5628.yaml | 4 +- .../Card Norman Withers e0a155.yaml | 4 +- ... => Card Occult Reliquary (3) acd0c2.yaml} | 12 +- .../Card Occult Theory (1) 49a338.yaml | 2 +- ...uda 860c1e.yaml => Card Ofuda 860c1e.yaml} | 15 +- .../Card Old Shotgun (2) 7eb1ec.yaml | 4 +- .../Card Olive McBride (2) 9683d2.yaml | 10 +- .../Card On the Hunt (3) a336de.yaml | 2 +- .../Card On the Trail (1) 4e4179.yaml | 4 +- .../Card On the Trail (3) b94090.yaml | 4 +- .../Card Panic 93e52d.yaml | 4 +- .../Card Parallel Fates (2) 583026.yaml | 2 +- ...bc.yaml => Card Pelt Shipment aa11bc.yaml} | 12 +- ...1.yaml => Card Persistence (1) 2cf51.yaml} | 12 +- .../Card Pitchfork 45a724.yaml | 10 +- .../Card Plucky (3) 7a2fe9.yaml | 2 +- .../Card Pocket Telescope 98eb87.yaml | 4 +- .../Card Poisoned 819f52.yaml | 6 +- ...r Word Upgrade Sheet (Taboo) ebce85.ttslua | 94 +- .../Card Precious Memento (4) 358be4.yaml | 4 +- .../Card Precious Memento (4) f69d3f.yaml | 4 +- ...Card Prismatic Spectacles (2) 3adcf5.yaml} | 12 +- ...ard Professor William Webb (2) 1905cf.yaml | 4 +- .../Card Professor William Webb cc8571.yaml | 4 +- .../Card Prophesiae Profana (5) 55999d.yaml | 2 +- .../Card Prophetic (3) 0e64cb.yaml | 4 +- ...ard Protecting the Anirniq (2) 91204c.yaml | 4 +- .../Card Protective Gear (2) 9a5cb1.yaml | 4 +- ...d Protective Incantation (1) 0fd4ae.ttslua | 598 ++-- ...yaml => Card Providential (2) 2cf42a.yaml} | 12 +- ... 294d6a.yaml => Card Purified 294d6a.yaml} | 12 +- .../Card Pushed to the Limit e0f396.yaml | 10 +- .../Card Putrescent Rot 2d1e60.yaml | 6 +- .../Card Quickdraw Holster (4) 859736.yaml | 4 +- .../Card Radiant Smite (1) 92c295.ttslua | 396 +-- .../Card Ravenous Myconid (4) ab2752.yaml | 10 +- .../Card Ravenous Myconid (4) baa926.yaml | 9 +- .../Card Ravenous Myconid (4) df93ca.yaml | 10 +- .../Card Ravenous Myconid 0aa967.yaml | 14 +- .../Card Read the Signs (2) 5ce4d4.yaml | 6 +- .../Card Relic of Ages e27a30.yaml | 2 +- .../Card Rite of Sanctification 974743.ttslua | 614 ++-- .../Card Rod of Animalism (1) 0fc42c.yaml | 4 +- .../Card Rod of Carnamagos (2) d8ef99.yaml | 6 +- ...aml => Card Rod of Carnamagos 66ec64.yaml} | 8 +- ...ic Axe Upgrade Sheet (Taboo) 4d729b.ttslua | 88 +- .../Card Savant (1) 5e3aac.yaml | 2 +- .../Card Scarlet Rot fe476c.yaml | 6 +- .../Card Schoffner's Catalogue 699a99.yaml | 2 +- .../Card Scientific Theory (3) 158450.yaml | 2 +- .../Card Scout Ahead 927d34.yaml | 2 +- ....yaml => Card Scrimshaw Charm c1fb2e.yaml} | 12 +- ...croll of Secrets (3) (Taboo) 84a7df.ttslua | 157 +- ...croll of Secrets (3) (Taboo) c127f1.ttslua | 293 +- .../Card Scroll of Secrets (3) 0b12ac.ttslua | 151 +- .../Card Scroll of Secrets (3) 194d88.ttslua | 189 +- ...rd Scroll of Secrets (Taboo) b383b8.ttslua | 151 +- .../Card Scroll of Secrets 230835.ttslua | 279 +- .../Card Seal of the Elders (5) d2b649.yaml | 6 +- ...Seal of the Seventh Sign (5) 9cbac1.ttslua | 684 ++-- .../Card Second Wind (2) c3c979.yaml | 6 +- .../Card Serpents of Yig 678391.ttslua | 708 ++-- .../Card Servant of Brass 06bc7e.yaml | 6 +- .../Card Shards of the Void (3) b10a71.ttslua | 1052 +++--- .../Card Shield of Faith (2) 06abe0.ttslua | 262 +- .../Card Short Supply e5f541.ttslua | 168 +- .../Card Short Supply e5f541.yaml | 2 +- .../Card Shrewd Dealings c70129.yaml | 4 +- .../Card Sled Dog 852697.yaml | 4 +- .../Card Sledgehammer (4) ae3ff5.yaml | 4 +- .../Card Sledgehammer 78fdc7.yaml | 4 +- .../Card Sleuth (3) 1bdb15.yaml | 4 +- .../Card Snipe (1) 79cbc6.yaml | 4 +- ...dd242.yaml => Card Snitch (2) add242.yaml} | 12 +- .../Card Sparrow Mask 975d79.yaml | 10 +- ...aml => Card Speak to the Dead c763aa.yaml} | 12 +- .../Card Spectral Razor (2) b38ded.yaml | 6 +- .../Card Stall for Time 7b6ed1.yaml | 10 +- .../Card Steady-Handed (1) 9181f7.yaml | 6 +- ...yaml => Card Stir the Pot (5) add252.yaml} | 12 +- ...479.yaml => Card Stir the Pot c25479.yaml} | 8 +- ...ad2.yaml => Card Stouthearted 265ad2.yaml} | 12 +- .../Card Strength in Numbers (1) 4e6d80.yaml | 2 +- ....yaml => Card Strong-Armed (1) 294d6.yaml} | 12 +- .../Card Stupor a42bcf.yaml | 4 +- .../Card Survey the Area (1) 6aa5dc.yaml | 2 +- ...> Card Survival Technique (2) 2ea0d4.yaml} | 12 +- .../Card Sweeping Kick (1) b4d67b.yaml | 2 +- .../Card Talisman of Protection 7b4b0c.yaml | 4 +- ...5c06a.yaml => Card Task Force a5c06a.yaml} | 8 +- ...b.yaml => Card Testing Sprint a4846b.yaml} | 8 +- .../Card The Black Fan (3) 3eafd5.yaml | 2 +- ...Card The Chthonian Stone (3) a775ad.ttslua | 1054 +++--- .../Card The Chthonian Stone fc4ce8.ttslua | 468 +-- .../Card The Codex of Ages df9809.ttslua | 858 ++--- .../Card The Council's Coffer (2) 0e39c2.yaml | 2 +- .../Card The Harbinger e9fef2.yaml | 4 +- ...> Card The Key of Solomon (4) ae54c6.yaml} | 12 +- .../Card The Red Clock (2) 814c79.yaml | 2 +- .../Card The Red Clock (5) 696894.yaml | 2 +- .../Card The Silver Moth 2c6dc1.yaml | 6 +- ...yaml => Card Thorough Inquiry c6b644.yaml} | 8 +- ... Card Throw the Book at Them! d617ab.yaml} | 12 +- .../Card Tinker 102fbd.yaml | 10 +- .../Card Toe to Toe 58288b.yaml | 2 +- ...ml => Card Token of Faith (3) 2ea0d1.yaml} | 12 +- ...5dd.yaml => Card Transmogrify 9965dd.yaml} | 12 +- .../Card True Magick (5) 79870f.yaml | 2 +- .../Card Trusty Bullwhip ca9a60.yaml | 4 +- .../Card Twilight Diadem a2f8f8.yaml | 6 +- .../Card Uncanny Growth 6543e6.yaml | 10 +- .../Card Underworld Support 8190ac.yaml | 2 +- .../Card Unearth the Ancients (2) 3a4edd.yaml | 2 +- .../Card Unrelenting (1) 45386d.ttslua | 758 ++--- .../Card Unscrupulous Loan (3) 57b95d.yaml | 4 +- .../Card Untimely Transaction (1) 69289f.yaml | 2 +- ... add233.yaml => Card Vamp (3) add233.yaml} | 12 +- ...Vamp add232.yaml => Card Vamp add232.yaml} | 12 +- .../Card Vengeful Shade 73bc8e.yaml | 2 +- .../Card Virescent Rot 2edbdd.yaml | 6 +- .../Card Vow of Drzytelech c4bc35.yaml | 6 +- ...d9.yaml => Card Weeping Yurei 541bd9.yaml} | 12 +- .../Card Well Connected (3) 170127.ttslua | 148 +- .../Card Well Connected 66b7d5.ttslua | 216 +- ...c33.yaml => Card Well-Dressed c6ac33.yaml} | 12 +- .../Card Well-Funded 96fbfa.yaml | 10 +- .../Card Where's Pa 9aba43.yaml | 10 +- ...1f.yaml => Card Wicked Athame c9fb1f.yaml} | 12 +- ....yaml => Card Wilson Richards 55eab5.yaml} | 16 +- .../Card Winds of Power (1) bcdfde.yaml | 2 +- ...975d89.yaml => Card Wolf Mask 975d89.yaml} | 12 +- .../Card Written in the Stars 320bbe.yaml | 2 +- .../Card Wrong Place, Right Time d5944e.yaml | 10 +- ... 541ba9.yaml => Card Zamacona 541ba9.yaml} | 14 +- ...l Distillation Upgrade Sheet 156166.ttslua | 208 +- ... Modifications Upgrade Sheet 4104bf.ttslua | 94 +- ...ning Testimony Upgrade Sheet dc4a62.ttslua | 88 +- ...cal Hypothesis Upgrade Sheet 0c46a7.ttslua | 216 +- ... in Low Places Upgrade Sheet 9fb3b9.ttslua | 88 +- ...ustom Grizzled Upgrade Sheet ef8f08.ttslua | 88 +- ...Honed Instinct Upgrade Sheet ba0e34.ttslua | 94 +- ...Hunter's Armor Upgrade Sheet d2d01b.ttslua | 94 +- ...cal Shotcaster Upgrade Sheet a4eec2.ttslua | 700 ++-- ...stom Hypnotic Gaze (2) (Taboo) e2bc50.yaml | 55 + ...tom Living Ink Upgrade Sheet 19a05b.ttslua | 148 +- ...Makeshift Trap Upgrade Sheet 64dfce.ttslua | 700 ++-- ...Custom Old Keyring (3) (Taboo) e7d989.yaml | 58 + ...CardCustom Pay Day (1) (Taboo) 9f0b35.yaml | 55 + ...ket Multi Tool Upgrade Sheet d706e7.ttslua | 206 +- ...tom Power Word Upgrade Sheet 0d9481.ttslua | 220 +- ...stom Runic Axe Upgrade Sheet be427d.ttslua | 88 +- ...dCustom Scavenging (2) (Taboo) ff4aeb.yaml | 56 + .../CardCustom Scavenging (Taboo) 1b76c8.yaml | 56 + ...moned Servitor Upgrade Sheet 5397a6.ttslua | 216 +- ...he Raven Quill Upgrade Sheet 23b96a.ttslua | 700 ++-- ...del_Bag 01 Night of the Zealot 56a91d.yaml | 44 +- ...odel_Bag 02 The Dunwich Legacy 38d1cd.yaml | 44 +- ...del_Bag 03 The Path to Carcosa 06a742.yaml | 44 +- ..._Model_Bag 06A The Dream-Quest f03c2d.yaml | 44 +- ...odel_Bag 06B The Web of Dreams 1bac4d.yaml | 44 +- ...Model_Bag 08 Edge of the Earth e32dc3.yaml | 44 +- ...g 10 The Feast of Hemlock Vale 2e50cf.yaml | 44 +- ...ustom_Model_Bag C1 Dark Matter 3a08d9.yaml | 44 +- ...del_Bag C2 Alice in Wonderland ed1d0c.yaml | 44 +- ...l_Bag C3 Cyclopean Foundations f72800.yaml | 44 +- .../Custom_Tile Hand Helper 450688.ttslua | 330 +- ...Custom_Tile Search Assistant 17aed0.ttslua | 88 +- ...Custom_Token Clean Up Helper 26cf4b.ttslua | 1126 +++---- ...stom_Token Displacement Tool 0f1374.ttslua | 88 +- ...Infinite_Bag Attachment Helper 7f4976.yaml | 7 +- .../Card The Devil · XV 8328fd.ttslua | 6 +- .../Card The Fool · 0 01cd9f.ttslua | 6 +- .../Card The Hierophant · V 2f9064.ttslua | 6 +- ...tangle Placeholder Box Dummy a93466.ttslua | 4 +- .../CardCustom New Player Back 85145d.yaml | 51 - ...ecker_white Token Spawn Tool 36b4ee.ttslua | 1201 ++++--- ...Assetbundle_Bag Barkham Horror 308439.yaml | 6 +- ...Model The Matter of Britain 194cc5.ttslua | 4 +- .../Custom_Model Clue Counter 032300.ttslua | 106 +- .../Custom_Model Clue Counter 1769ed.ttslua | 106 +- .../Custom_Model Clue Counter 37be78.ttslua | 106 +- .../Custom_Model Clue Counter d86b7c.ttslua | 106 +- ...odel CoreNight of the Zealot 64a613.ttslua | 4 +- ...stom_Model Edge of the Earth 895eaa.ttslua | 4 +- ... Return to The Circle Undone 757324.ttslua | 4 +- ...Return to The Dunwich Legacy ce9130.ttslua | 4 +- ... Return to The Forgotten Age 479ff3.ttslua | 4 +- ...eturn to The Path to Carcosa e9889a.ttslua | 4 +- ...n to the Night of the Zealot 56270d.ttslua | 4 +- ...stom_Model The Circle Undone 63e097.ttslua | 4 +- ...ustom_Model The Dream-Eaters a16a1a.ttslua | 4 +- ...tom_Model The Dunwich Legacy 2898f6.ttslua | 10 +- ...el The Feast of Hemlock Vale c740af.ttslua | 4 +- ...stom_Model The Forgotten Age 0bcf19.ttslua | 4 +- ...del The Innsmouth Conspiracy 465aab.ttslua | 10 +- ...om_Model The Path to Carcosa aca04c.ttslua | 10 +- ...ustom_Model The Scarlet Keys 300fcc.ttslua | 4 +- .../Custom_Model All or Nothing 72ab92.ttslua | 10 +- .../Custom_Model Bad Blood 451eaa.ttslua | 4 +- .../Custom_Model By the Book cc7eb3.ttslua | 10 +- .../Custom_Model Laid to Rest e2dd57.ttslua | 4 +- .../Custom_Model Read or Die 9e73fa.ttslua | 4 +- ...Custom_Model Red Tide Rising 5302f2.ttslua | 10 +- ...tom_Model Relics of the Past 0d6da1.ttslua | 10 +- ...Model_Bag Fan-Made Accessories aa8b38.yaml | 2 + ...om Additional Victory Points 958bc0.ttslua | 195 ++ ...tom Additional Victory Points 958bc0.yaml} | 28 +- ...tom_Model Custom Data Helper 2547b3.ttslua | 2 +- ...om_Tile Subject 5U-21 Helper 1335e8.ttslua | 142 +- ...m_Model Carnevale of Horrors 23dd51.ttslua | 4 +- ..._Model Curse of the Rougarou db7039.ttslua | 4 +- ...stom_Model Fortune and Folly 0dce91.ttslua | 10 +- ...Model Guardians of the Abyss ee987d.ttslua | 4 +- ...el Machinations Through Time 3c4f3c.ttslua | 4 +- ...urder at the Excelsior Hotel 01d780.ttslua | 4 +- ...The Blob that Ate Everything 4dee5a.ttslua | 4 +- ...del The Labyrinths of Lunacy 4c173f.ttslua | 4 +- ...The Meddling of Meowlathotep d02940.ttslua | 4 +- ..._Model War of the Outer Gods fc7674.ttslua | 4 +- unpacked/Custom_Model_Bag Trash f7b6c8.ttslua | 6 +- ...l_Infinite_Bag Resource tokens 0168ae.yaml | 52 + ...l_Infinite_Bag Resource tokens 9fadf9.yaml | 52 + ...l_Infinite_Bag Resource tokens fd617a.yaml | 54 +- ..._Tile ArkhamDB Deck Importer a28140.ttslua | 2947 +++++++++-------- ...le Campaign ImporterExporter 334ee3.ttslua | 234 +- ...Tile Campaign ImporterExporter 334ee3.yaml | 8 +- ...ustom_Tile Chaos Bag Manager 023240.ttslua | 176 +- .../Custom_Tile Mythos Area 9f334f.ttslua | 636 ++-- .../Custom_Tile Player Cards 2d30ee.ttslua | 2456 +++++++------- ...ustom_Tile Playermat 1 White 8b081b.ttslua | 892 ++--- ...stom_Tile Playermat 2 Orange bd0ff4.ttslua | 774 ++--- ...ustom_Tile Playermat 3 Green 383d8b.ttslua | 1582 ++++----- .../Custom_Tile Playermat 4 Red 0840d5.ttslua | 1824 +++++----- .../Custom_Tile Search-A-Card 24051a.ttslua | 240 +- ...tom_Token BlessCurse Manager 5933fb.ttslua | 272 +- unpacked/Custom_Token Damage e64eec.ttslua | 6 +- .../Custom_Token Doom Counter 85c4c6.ttslua | 6 +- .../Custom_Token Drawing Tool 280086.ttslua | 6 +- ..._Token Instruction Generator 240522.ttslua | 142 +- ...om_Token Instruction Generator 240522.yaml | 7 +- ...om_Token Master Clue Counter 4a3aa4.ttslua | 178 +- ...tom_Token Other Doom in Play 652ff3.ttslua | 214 +- unpacked/Custom_Token Play Area 721ba2.ttslua | 1515 +++++---- ..._Token Playmat Image Swapper b7b45b.ttslua | 145 +- unpacked/Custom_Token SCED Tour 0e5aa8.ttslua | 340 +- .../Custom_Token Token Arranger 022907.ttslua | 63 +- ...Custom_Token Victory Display 6ccd6d.ttslua | 502 +-- unpacked/Deck Tarot Deck 77f1e5.yaml | 28 +- ...m SCE 3.6.0 - 2162024 - Page 1 2d0dbb.yaml | 192 -- ...am SCE 3.7.0 - 352024 - Page 1 6657b6.yaml | 145 + ...k Navigation Overlay Handler 797ede.ttslua | 88 +- ...piece_white Game Key Handler fce69c.ttslua | 1105 +++--- 444 files changed, 21985 insertions(+), 21347 deletions(-) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Absolution aef183.yaml => Card Absolution aef183.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Accursed e91c5e.yaml => Card Accursed e91c5e.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Ad Hoc c9fb2f.yaml => Card Ad Hoc c9fb2f.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Aetheric Current (Yoth) 84ad64.yaml => Card Aetheric Current (Yoth) 84ad64.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Aetheric Current (Yuggoth) 84ad65.yaml => Card Aetheric Current (Yuggoth) 84ad65.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Alessandra Zorzi 54eaa5.yaml => Card Alessandra Zorzi 54eaa5.yaml} (82%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Ancestral Token c1fb1f.yaml => Card Ancestral Token c1fb1f.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Antediluvian Hymn (0) ba4746.yaml => Card Antediluvian Hymn ba4746.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{Card Bank Job (0) c4dfa2.yaml => Card Bank Job c4dfa2.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Beguile 019526.yaml => Card Beguile 019526.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{Card Bianca Die Katz (0) 897a94.yaml => Card Bianca Die Katz 897a94.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{Card Bide Your Time (0) 24d3b3.yaml => Card Bide Your Time 24d3b3.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Blackmail File de456d.yaml => Card Blackmail File de456d.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Book of Living Myths c5fb1f.ttslua => Card Book of Living Myths c5fb1f.ttslua} (92%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Book of Living Myths c5fb1f.xml => Card Book of Living Myths c5fb1f.xml} (52%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Book of Living Myths c5fb1f.yaml => Card Book of Living Myths c5fb1f.yaml} (82%) rename unpacked/Bag All Player Cards 15bb07/{Card British Bull Dog (0) 9b76a0.yaml => Card British Bull Dog 9b76a0.yaml} (87%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Cat Mask 847ed6.yaml => Card Cat Mask 847ed6.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{Card Cleaning Kit (0) d07668.yaml => Card Cleaning Kit d07668.yaml} (87%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Confound (3) 9965de.yaml => Card Confound (3) 9965de.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Control Variable 133868.yaml => Card Control Variable 133868.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Devil (2) 2a0ba5.yaml => Card Devil (2) 2a0ba5.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Diabolical Luck (0) 1fea59.yaml => Card Diabolical Luck 1fea59.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Drain Essence 9965aa.yaml => Card Drain Essence 9965aa.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Elaborate Distraction (0) d1422e.yaml => Card Elaborate Distraction d1422e.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Eldritch Tongue e8765a.yaml => Card Eldritch Tongue e8765a.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Failed Experiment acd281.yaml => Card Failed Experiment acd281.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Fake Credentials acd38d.yaml => Card Fake Credentials acd38d.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom False Surrender adf28e.yaml => Card False Surrender adf28e.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Flux Stabilizer 55990a.yaml => Card Flux Stabilizer 55990a.yaml} (76%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Fox Mask 4144cd.yaml => Card Fox Mask 4144cd.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Grift df75d7.yaml => Card Grift df75d7.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Guided by Faith aef282.yaml => Card Guided by Faith aef282.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Hank Samson (Assistant) 3764ce.yaml => Card Hank Samson (Assistant) 3764ce.yaml} (74%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Hank Samson (Warden) 3764cf.yaml => Card Hank Samson (Warden) 3764cf.yaml} (74%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Hank Samson 3764cd.yaml => Card Hank Samson 3764cd.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Hatchet (1) 2ea0d3.yaml => Card Hatchet (1) 2ea0d3.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Hold Up aef182.yaml => Card Hold Up aef182.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom I'll Pay You Back! 40e1ca.yaml => Card I'll Pay You Back! 40e1ca.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Katana (0) f5beb5.yaml => Card Katana f5beb5.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Kate Winthrop ce2322.yaml => Card Kate Winthrop ce2322.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Kōhaku Narukami 54eaa7.yaml => Card Kōhaku Narukami 54eaa7.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Lightfooted (0) fe1fb6.yaml => Card Lightfooted fe1fb6.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{Card Matchbox (0) b533db.yaml => Card Matchbox b533db.yaml} (87%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Mouse Mask 32ad21.yaml => Card Mouse Mask 32ad21.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Occult Reliquary (3) acd0c2.yaml => Card Occult Reliquary (3) acd0c2.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Ofuda 860c1e.yaml => Card Ofuda 860c1e.yaml} (72%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Pelt Shipment aa11bc.yaml => Card Pelt Shipment aa11bc.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Persistence (1) 2cf51.yaml => Card Persistence (1) 2cf51.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Prismatic Spectacles (2) 3adcf5.yaml => Card Prismatic Spectacles (2) 3adcf5.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Providential (2) 2cf42a.yaml => Card Providential (2) 2cf42a.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Purified 294d6a.yaml => Card Purified 294d6a.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{Card Rod of Carnamagos (0) 66ec64.yaml => Card Rod of Carnamagos 66ec64.yaml} (89%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Scrimshaw Charm c1fb2e.yaml => Card Scrimshaw Charm c1fb2e.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Snitch (2) add242.yaml => Card Snitch (2) add242.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Speak to the Dead c763aa.yaml => Card Speak to the Dead c763aa.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Stir the Pot (5) add252.yaml => Card Stir the Pot (5) add252.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Stir the Pot (0) c25479.yaml => Card Stir the Pot c25479.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Stouthearted 265ad2.yaml => Card Stouthearted 265ad2.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Strong-Armed (1) 294d6.yaml => Card Strong-Armed (1) 294d6.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Survival Technique (2) 2ea0d4.yaml => Card Survival Technique (2) 2ea0d4.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{Card Task Force (0) a5c06a.yaml => Card Task Force a5c06a.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{Card Testing Sprint (0) a4846b.yaml => Card Testing Sprint a4846b.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom The Key of Solomon (4) ae54c6.yaml => Card The Key of Solomon (4) ae54c6.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{Card Thorough Inquiry (0) c6b644.yaml => Card Thorough Inquiry c6b644.yaml} (86%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Throw the Book at Them! d617ab.yaml => Card Throw the Book at Them! d617ab.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Token of Faith (3) 2ea0d1.yaml => Card Token of Faith (3) 2ea0d1.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Transmogrify 9965dd.yaml => Card Transmogrify 9965dd.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Vamp (3) add233.yaml => Card Vamp (3) add233.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Vamp add232.yaml => Card Vamp add232.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Weeping Yurei 541bd9.yaml => Card Weeping Yurei 541bd9.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Well-Dressed c6ac33.yaml => Card Well-Dressed c6ac33.yaml} (83%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Wicked Athame c9fb1f.yaml => Card Wicked Athame c9fb1f.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Wilson Richards 55eab5.yaml => Card Wilson Richards 55eab5.yaml} (84%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Wolf Mask 975d89.yaml => Card Wolf Mask 975d89.yaml} (85%) rename unpacked/Bag All Player Cards 15bb07/{CardCustom Zamacona 541ba9.yaml => Card Zamacona 541ba9.yaml} (82%) create mode 100644 unpacked/Bag All Player Cards 15bb07/CardCustom Hypnotic Gaze (2) (Taboo) e2bc50.yaml create mode 100644 unpacked/Bag All Player Cards 15bb07/CardCustom Old Keyring (3) (Taboo) e7d989.yaml create mode 100644 unpacked/Bag All Player Cards 15bb07/CardCustom Pay Day (1) (Taboo) 9f0b35.yaml create mode 100644 unpacked/Bag All Player Cards 15bb07/CardCustom Scavenging (2) (Taboo) ff4aeb.yaml create mode 100644 unpacked/Bag All Player Cards 15bb07/CardCustom Scavenging (Taboo) 1b76c8.yaml delete mode 100644 unpacked/CardCustom New Player Back 85145d.yaml create mode 100644 unpacked/Custom_Model_Bag Fan-Made Accessories aa8b38/CardCustom Additional Victory Points 958bc0.ttslua rename unpacked/{CardCustom New Encounter Back 5d5637.yaml => Custom_Model_Bag Fan-Made Accessories aa8b38/CardCustom Additional Victory Points 958bc0.yaml} (56%) delete mode 100644 unpacked/Notecard Arkham SCE 3.6.0 - 2162024 - Page 1 2d0dbb.yaml create mode 100644 unpacked/Notecard Arkham SCE 3.7.0 - 352024 - Page 1 6657b6.yaml diff --git a/unpacked.ttslua b/unpacked.ttslua index 582336bb1..98fbd8b66 100644 --- a/unpacked.ttslua +++ b/unpacked.ttslua @@ -44,6 +44,40 @@ end)(nil) __bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) require("core/Global") end) +__bundle_register("accessories/TokenArrangerApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local TokenArrangerApi = {} + local guidReferenceApi = require("core/GUIDReferenceApi") + + -- local function to call the token arranger, if it is on the table + ---@param functionName string Name of the function to cal + ---@param argument? table Parameter to pass + local function callIfExistent(functionName, argument) + local tokenArranger = guidReferenceApi.getObjectByOwnerAndType("Mythos", "TokenArranger") + if tokenArranger ~= nil then + tokenArranger.call(functionName, argument) + end + end + + -- updates the token modifiers with the provided data + ---@param fullData table Contains the chaos token metadata + TokenArrangerApi.onTokenDataChanged = function(fullData) + callIfExistent("onTokenDataChanged", fullData) + end + + -- deletes already laid out tokens + TokenArrangerApi.deleteCopiedTokens = function() + callIfExistent("deleteCopiedTokens") + end + + -- updates the laid out tokens + TokenArrangerApi.layout = function() + Wait.time(function() callIfExistent("layout") end, 0.1) + end + + return TokenArrangerApi +end +end) __bundle_register("chaosbag/BlessCurseManagerApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local BlessCurseManagerApi = {} @@ -104,93 +138,48 @@ do return BlessCurseManagerApi end end) -__bundle_register("util/SearchLib", function(require, _LOADED, __bundle_register, __bundle_modules) +__bundle_register("core/GUIDReferenceApi", function(require, _LOADED, __bundle_register, __bundle_modules) do - local SearchLib = {} - local filterFunctions = { - isActionToken = function(x) return x.getDescription() == "Action Token" end, - isCard = function(x) return x.type == "Card" end, - isDeck = function(x) return x.type == "Deck" end, - isCardOrDeck = function(x) return x.type == "Card" or x.type == "Deck" end, - isClue = function(x) return x.memo == "clueDoom" and x.is_face_down == false end, - isTileOrToken = function(x) return x.type == "Tile" end - } + local GUIDReferenceApi = {} - -- performs the actual search and returns a filtered list of object references - ---@param pos tts__Vector Global position - ---@param rot? tts__Vector Global rotation - ---@param size table Size - ---@param filter? string Name of the filter function - ---@param direction? table Direction (positive is up) - ---@param maxDistance? number Distance for the cast - local function returnSearchResult(pos, rot, size, filter, direction, maxDistance) - local filterFunc - if filter then - filterFunc = filterFunctions[filter] - end - local searchResult = Physics.cast({ - origin = pos, - direction = direction or { 0, 1, 0 }, - orientation = rot or { 0, 0, 0 }, - type = 3, - size = size, - max_distance = maxDistance or 0 + local function getGuidHandler() + return getObjectFromGUID("123456") + end + + ---@param owner string Parent object for this search + ---@param type string Type of object to search for + ---@return any: Object reference to the matching object + GUIDReferenceApi.getObjectByOwnerAndType = function(owner, type) + return getGuidHandler().call("getObjectByOwnerAndType", { owner = owner, type = type }) + end + + -- returns all matching objects as a table with references + ---@param type string Type of object to search for + ---@return table: List of object references to matching objects + GUIDReferenceApi.getObjectsByType = function(type) + return getGuidHandler().call("getObjectsByType", type) + end + + -- returns all matching objects as a table with references + ---@param owner string Parent object for this search + ---@return table: List of object references to matching objects + GUIDReferenceApi.getObjectsByOwner = function(owner) + return getGuidHandler().call("getObjectsByOwner", owner) + end + + -- sends new information to the reference handler to edit the main index + ---@param owner string Parent of the object + ---@param type string Type of the object + ---@param guid string GUID of the object + GUIDReferenceApi.editIndex = function(owner, type, guid) + return getGuidHandler().call("editIndex", { + owner = owner, + type = type, + guid = guid }) - - -- filtering the result - local objList = {} - for _, v in ipairs(searchResult) do - if not filter or filterFunc(v.hit_object) then - table.insert(objList, v.hit_object) - end - end - return objList end - -- searches the specified area - SearchLib.inArea = function(pos, rot, size, filter) - return returnSearchResult(pos, rot, size, filter) - end - - -- searches the area on an object - SearchLib.onObject = function(obj, filter) - pos = obj.getPosition() - size = obj.getBounds().size:setAt("y", 1) - return returnSearchResult(pos, _, size, filter) - end - - -- searches the specified position (a single point) - SearchLib.atPosition = function(pos, filter) - size = { 0.1, 2, 0.1 } - return returnSearchResult(pos, _, size, filter) - end - - -- searches below the specified position (downwards until y = 0) - SearchLib.belowPosition = function(pos, filter) - direction = { 0, -1, 0 } - maxDistance = pos.y - return returnSearchResult(pos, _, size, filter, direction, maxDistance) - end - - return SearchLib -end -end) -__bundle_register("core/OptionPanelApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local OptionPanelApi = {} - - -- loads saved options - ---@param options table Set a new state for the option table - OptionPanelApi.loadSettings = function(options) - return Global.call("loadSettings", options) - end - - ---@return any: Table of option panel state - OptionPanelApi.getOptions = function() - return Global.getTable("optionPanel") - end - - return OptionPanelApi + return GUIDReferenceApi end end) __bundle_register("core/Global", function(require, _LOADED, __bundle_register, __bundle_modules) @@ -236,18 +225,12 @@ local bagSearchers = {} local hideTitleSplashWaitFunctionId = nil -- online functionality related variables -local MOD_VERSION = "3.6.0" +local MOD_VERSION = "3.7.0" local SOURCE_REPO = 'https://raw.githubusercontent.com/chr1z93/loadable-objects/main' local library, requestObj, modMeta local acknowledgedUpgradeVersions = {} local contentToShow = "campaigns" local currentListItem = 1 -local xmlVisibility = { - downloadWindow = false, - optionPanel = false, - playAreaGallery = false, - updateNotification = false -} local tabIdTable = { tab1 = "campaigns", tab2 = "scenarios", @@ -821,7 +804,7 @@ function setChaosBagState(tokenList) -- reset bless / curse manager blessCurseManagerApi.removeTakenTokensAndReset() - printToAll("Chaos bag set to chosen difficulty.", "Green") + printToAll("Chaos Bag set to chosen difficulty.", "Green") end -- spawns the specified chaos token and puts it into the chaos bag @@ -948,7 +931,7 @@ end -- click function for the "Custom URL" button in the playarea image gallery function onClick_customUrl(player) - onClick_toggleUi(_, "playareaGallery") + changeWindowVisibilityForColor(player.color, "playareaGallery") Wait.time(function() player.showInputDialog("Enter a custom URL for the playarea image", "", function(newURL) playAreaApi.updateSurface(newURL) @@ -966,47 +949,41 @@ end -- the download button on the placeholder objects calls this to directly initiate a download ---@param params table contains url and guid of replacement object function placeholder_download(params) + function downloadCoroutine() + -- show progress bar + UI.setAttribute('download_progress', 'active', true) + + -- update progress bar + while requestObj do + UI.setAttribute('download_progress', 'percentage', requestObj.download_progress * 100) + coroutine.yield(0) + end + UI.setAttribute('download_progress', 'percentage', 100) + + -- wait 30 frames + for i = 1, 30 do + coroutine.yield(0) + end + + -- hide progress bar + UI.setAttribute('download_progress', 'active', false) + + -- hide download window + changeWindowVisibilityForColor(params.player.color, "downloadWindow", false) + return 1 + end + local url = SOURCE_REPO .. '/' .. params.url requestObj = WebRequest.get(url, function (request) contentDownloadCallback(request, params) end) startLuaCoroutine(Global, 'downloadCoroutine') end -function downloadCoroutine() - -- show progress bar - UI.setAttribute('download_progress', 'active', true) - - -- update progress bar - while requestObj do - UI.setAttribute('download_progress', 'percentage', requestObj.download_progress * 100) - coroutine.yield(0) - end - UI.setAttribute('download_progress', 'percentage', 100) - - -- wait 30 frames - for i = 1, 30 do - coroutine.yield(0) - end - - -- hide progress bar - UI.setAttribute('download_progress', 'active', false) - - -- hide download window - if xmlVisibility.downloadWindow then - xmlVisibility.downloadWindow = false - UI.hide('downloadWindow') - end - return 1 -end - -- spawns a bag that contains every object from the library -function onClick_downloadAll() +function onClick_downloadAll(player) broadcastToAll("Download initiated - this will take a few minutes!") -- hide download window - if xmlVisibility.downloadWindow then - xmlVisibility.downloadWindow = false - UI.hide('downloadWindow') - end + changeWindowVisibilityForColor(player.color, "downloadWindow", false) startLuaCoroutine(Global, "coroutineDownloadAll") end @@ -1022,9 +999,9 @@ function coroutineDownloadAll() "rotX": 0, "rotY": 270, "rotZ": 0, - "scaleX": 1.0, - "scaleY": 1.0, - "scaleZ": 1.0 + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 }, "Nickname": "{{NICKNAME}}", "Bag": { @@ -1071,11 +1048,11 @@ function coroutineDownloadAll() end -- spawns a placeholder box for the selected object -function onClick_spawnPlaceholder() +function onClick_spawnPlaceholder(player) -- get object references local item = library[contentToShow][currentListItem] local dummy = guidReferenceApi.getObjectByOwnerAndType("Mythos", "PlaceholderBoxDummy") - + -- error handling if not item.boxsize or item.boxsize == "" or not item.boxart or item.boxart == "" then print("Error loading object.") @@ -1103,7 +1080,7 @@ function onClick_spawnPlaceholder() rotation = {0, 270, 0}, scale = scaleTable[item.boxsize], }) - + placeholder.setCustomObject({ mesh = meshTable[item.boxsize], diffuse = item.boxart, @@ -1122,39 +1099,84 @@ function onClick_spawnPlaceholder() Player.getPlayers()[1].pingTable(spawnPos) -- hide download window - if xmlVisibility.downloadWindow then - xmlVisibility.downloadWindow = false - UI.hide('downloadWindow') - end + changeWindowVisibilityForColor(player.color, "downloadWindow", false) end -- toggles the visibility of the respective UI ---@param player tts__Player Player that triggered this ----@param title string Name of the UI to toggle -function onClick_toggleUi(player, title) - if title == "Navigation Overlay" then +---@param windowId string Name of the UI to toggle +function onClick_toggleUi(player, windowId) + if windowId == "Navigation Overlay" then navigationOverlayApi.cycleVisibility(player.color) return - -- hide the playareaGallery if visible - elseif title == "downloadWindow" and xmlVisibility.playAreaGallery then - onClick_toggleUi(_, "playAreaGallery") - -- hide the downloadWindow if visible - elseif title == "playAreaGallery" and xmlVisibility.downloadWindow then - onClick_toggleUi(_, "downloadWindow") end - if xmlVisibility[title] then - -- small delay to allow button click sounds to play - Wait.time(function() UI.hide(title) end, 0.1) - else - UI.show(title) + -- hide the playAreaGallery if visible + if windowId == "downloadWindow" then + changeWindowVisibilityForColor(player.color, "playAreaGallery", false) + -- hide the downloadWindow if visible + elseif windowId == "playAreaGallery" then + changeWindowVisibilityForColor(player.color, "downloadWindow", false) end - xmlVisibility[title] = not xmlVisibility[title] + + changeWindowVisibilityForColor(player.color, windowId) +end + +-- toggles the visibility of the specific window for the specified color +---@param color string Player color to toggle the visibility for +---@param windowId string ID of the XML element +---@param overrideState? boolean Forcefully sets the new visibility +---@return boolean visible Returns the new state of the visibility +function changeWindowVisibilityForColor(color, windowId, overrideState) + -- current state + local colorString = UI.getAttribute(windowId, "visibility") or "" + + -- parse the visibility string + local visible = false + local viewers = {} + for str in string.gmatch(colorString, "%a+") do + table.insert(viewers, str) + if str == color then + visible = true + end + end + + -- add / remove the color as viewer + if visible == true then + removeValueFromTable(viewers, color) + elseif visible == false then + table.insert(viewers, color) + end + visible = not visible + + -- resolve override + if overrideState == true and visible == false then + table.insert(viewers, color) + visible = true + elseif overrideState == false and visible == true then + removeValueFromTable(viewers, color) + visible = false + end + + -- construct new string + local newColorString = "" + for _, viewer in ipairs(viewers) do + newColorString = newColorString .. viewer .. "|" + end + + -- remove last delimiter + newColorString = newColorString:sub(1, -2) + + -- update the visibility of the XML + UI.setAttribute(windowId, "visibility", newColorString) + UI.setAttribute(windowId, "active", newColorString ~= "") + + return visible end -- forwards the call to the onClick function -function togglePlayAreaGallery() - onClick_toggleUi(_, "playAreaGallery") +function togglePlayAreaGallery(playerColor) + changeWindowVisibilityForColor(playerColor, "playareaGallery") end -- updates the preview window @@ -1266,12 +1288,31 @@ function updateDownloadItemList() end contentList.attributes.height = #contentList.children * 27 - UI.setXmlTable(globalXml) + updateGlobalXml(globalXml) -- select the first item Wait.time(onClick_select, 0.2) end +-- this helper function updates the global XML while preserving the visibility of windows +function updateGlobalXml(newXml) + -- preserve visibility settings for these elements + local windowIdList = { + "playAreaGallery", + "downloadWindow", + "optionPanel" + } + + -- get current state and update newXml + for _, windowId in ipairs(windowIdList) do + local element = getXmlTableElementById(newXml, windowId) + element.attributes.active = UI.getAttribute(windowId, "active") + element.attributes.visibility = UI.getAttribute(windowId, "visibility") + end + + UI.setXmlTable(newXml) +end + -- called after the webrequest of downloading an item -- deletes the placeholder and spawns the downloaded item function contentDownloadCallback(request, params) @@ -1563,23 +1604,13 @@ function applyOptionPanelChange(id, state) -- option: Show hand helper for each player elseif id == "showHandHelper" then - local helperName = "Hand Helper" - local spawnData = playmatApi.getHelperSpawnData("All", helperName) - local i = 0 - for color, data in pairs(spawnData) do - i = i + 1 - optionPanel[id][i] = spawnOrRemoveHelper(state, helperName, data.position, data.rotation, color) - end + spawnOrRemoveHelperForPlayermats("Hand Helper", state) + optionPanel[id] = state -- option: Show search assistant for each player elseif id == "showSearchAssistant" then - local helperName = "Search Assistant" - local spawnData = playmatApi.getHelperSpawnData("All", helperName) - local i = 0 - for color, data in pairs(spawnData) do - i = i + 1 - optionPanel[id][i] = spawnOrRemoveHelper(state, helperName, data.position, data.rotation, color) - end + spawnOrRemoveHelperForPlayermats("Search Assistant", state) + optionPanel[id] = state -- option: Show attachment helper elseif id == "showAttachmentHelper" then @@ -1595,6 +1626,15 @@ function applyOptionPanelChange(id, state) end end +-- spawns or removes a helper object for all playermats +---@param helperName string Name of the helper object +---@param state boolean Contains the state of the option: true = spawn it, false = remove it +function spawnOrRemoveHelperForPlayermats(helperName, state) + for color, data in pairs(playmatApi.getHelperSpawnData("All", helperName)) do + spawnOrRemoveHelper(state, helperName, data.position, data.rotation, color) + end +end + -- handler for spawn / remove functions of helper objects ---@param state boolean Contains the state of the option: true = spawn it, false = remove it ---@param name string Name of the helper object @@ -1603,14 +1643,11 @@ end ---@param owner? string Owner of the object (defaults to "Mythos") ---@return string|nil GUID GUID of the spawnedObj (or nil if object was removed) function spawnOrRemoveHelper(state, name, position, rotation, owner) - if (type(state) == "table" and #state == 0) then - return removeHelperObject(name) - elseif state then + if state then Player.getPlayers()[1].pingTable(position) local spawnedGUID = spawnHelperObject(name, position, rotation).getGUID() local cleanName = name:gsub("%s+", "") guidReferenceApi.editIndex(owner or "Mythos", cleanName, spawnedGUID) - return spawnedGUID else return removeHelperObject(name) end @@ -1621,7 +1658,7 @@ end ---@param position tts__Vector Desired position of the object ---@param rotation? tts__Vector Desired rotation of the object (defaults to object's rotation) function spawnHelperObject(name, position, rotation) - local sourceBag = guidReferenceApi.getObjectByOwnerAndType("Mythos","OptionPanelSource") + local sourceBag = guidReferenceApi.getObjectByOwnerAndType("Mythos", "OptionPanelSource") -- error handling for missing sourceBag if not sourceBag then @@ -1650,41 +1687,24 @@ end -- removes the specified tool (by name) ---@param name string Object that should be removed function removeHelperObject(name) - -- links objects name to the respective option name (to grab the GUID for removal) - local referenceTable = { - ["Clean Up Helper"] = "showCleanUpHelper", - ["Hand Helper"] = "showHandHelper", - ["Search Assistant"] = "showSearchAssistant", - ["Displacement Tool"] = "showDisplacementTool", - ["Attachment Helper"] = "showAttachmentHelper", - ["CYOA Campaign Guides"] = "showCYOA" - } - - local data = optionPanel[referenceTable[name]] - - -- if there is a GUID stored, remove that object - if type(data) == "string" then - local obj = getObjectFromGUID(data) - if obj then obj.destruct() end - - -- if it is a table (e.g. for the "Hand Helper", remove all of them) - elseif type(data) == "table" then - for _, guid in pairs(data) do - local obj = getObjectFromGUID(guid) - if obj then obj.destruct() end - end + local cleanName = name:gsub("%s+", "") + for _, obj in pairs(guidReferenceApi.getObjectsByType(cleanName)) do + obj.destruct() end end -- loads saved options +---@param newOptions table Contains the new state for the option panel function loadSettings(newOptions) - -- TO-DO: instead of overriding, keep original table and only add new data - -- this will ensure that new options aren't set to nil when importing an old state - optionPanel = newOptions - updateOptionPanelState() - for id, state in pairs(optionPanel) do - applyOptionPanelChange(id, state) + for id, state in pairs(newOptions) do + if optionPanel[id] ~= state then + optionPanel[id] = state + applyOptionPanelChange(id, state) + end end + + -- update XML UI state + updateOptionPanelState() end -- loads the default options @@ -1701,7 +1721,8 @@ function onClick_defaultSettings() -- clean reset of variables optionPanel = { cardLanguage = "en", - playAreaConnectionColor = { 0.4, 0.4, 0.4, 1 }, + changePlayAreaImage = false, + playAreaConnectionColor = { a = 1, b = 0.4, g = 0.4, r = 0.4 }, playAreaConnections = true, playAreaSnapTags = true, showAttachmentHelper = false, @@ -1709,8 +1730,8 @@ function onClick_defaultSettings() showCYOA = false, showDisplacementTool = false, showDrawButton = false, - showHandHelper = {}, - showSearchAssistant = {}, + showHandHelper = false, + showSearchAssistant = false, showTitleSplash = true, useClueClickers = false, useResourceCounters = "disabled", @@ -1810,41 +1831,109 @@ function onClick_notification(_, parameter) end UI.hide("FinnIcon") UI.hide("updateNotification") - xmlVisibility["updateNotification"] = false end -end) -__bundle_register("accessories/TokenArrangerApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local TokenArrangerApi = {} - local guidReferenceApi = require("core/GUIDReferenceApi") - -- local function to call the token arranger, if it is on the table - ---@param functionName string Name of the function to cal - ---@param argument? table Parameter to pass - local function callIfExistent(functionName, argument) - local tokenArranger = guidReferenceApi.getObjectByOwnerAndType("Mythos", "TokenArranger") - if tokenArranger ~= nil then - tokenArranger.call(functionName, argument) +--------------------------------------------------------- +-- Utility functions +--------------------------------------------------------- + +function removeValueFromTable(t, val) + for i, v in ipairs(t) do + if v == val then + table.remove(t, i) + break end end +end +end) +__bundle_register("core/MythosAreaApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local MythosAreaApi = {} + local guidReferenceApi = require("core/GUIDReferenceApi") - -- updates the token modifiers with the provided data - ---@param fullData table Contains the chaos token metadata - TokenArrangerApi.onTokenDataChanged = function(fullData) - callIfExistent("onTokenDataChanged", fullData) + local function getMythosArea() + return guidReferenceApi.getObjectByOwnerAndType("Mythos", "MythosArea") end - -- deletes already laid out tokens - TokenArrangerApi.deleteCopiedTokens = function() - callIfExistent("deleteCopiedTokens") + ---@return any: Table of chaos token metadata (if provided through scenario reference card) + MythosAreaApi.returnTokenData = function() + return getMythosArea().call("returnTokenData") + end + + ---@return any: Object reference to the encounter deck + MythosAreaApi.getEncounterDeck = function() + return getMythosArea().call("getEncounterDeck") end - -- updates the laid out tokens - TokenArrangerApi.layout = function() - Wait.time(function() callIfExistent("layout") end, 0.1) + -- draw an encounter card for the requesting mat + ---@param mat tts__Object Playermat that triggered this + ---@param alwaysFaceUp boolean Whether the card should be drawn face-up + MythosAreaApi.drawEncounterCard = function(mat, alwaysFaceUp) + getMythosArea().call("drawEncounterCard", {mat = mat, alwaysFaceUp = alwaysFaceUp}) end - return TokenArrangerApi + -- reshuffle the encounter deck + MythosAreaApi.reshuffleEncounterDeck = function() + getMythosArea().call("reshuffleEncounterDeck") + end + + return MythosAreaApi +end +end) +__bundle_register("core/NavigationOverlayApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local NavigationOverlayApi = {} + local guidReferenceApi = require("core/GUIDReferenceApi") + + local function getNOHandler() + return guidReferenceApi.getObjectByOwnerAndType("Mythos", "NavigationOverlayHandler") + end + + -- copies the visibility for the Navigation overlay + ---@param startColor string Color of the player to copy from + ---@param targetColor string Color of the targeted player + NavigationOverlayApi.copyVisibility = function(startColor, targetColor) + getNOHandler().call("copyVisibility", { + startColor = startColor, + targetColor = targetColor + }) + end + + -- changes the Navigation Overlay view ("Full View" --> "Play Areas" --> "Closed" etc.) + ---@param playerColor string Color of the player to update the visibility for + NavigationOverlayApi.cycleVisibility = function(playerColor) + getNOHandler().call("cycleVisibility", playerColor) + end + + -- loads the specified camera for a player + ---@param player tts__Player Player whose camera should be moved + ---@param camera number|string If number: Index of the camera view to load | If string: Color of the playermat to swap to + NavigationOverlayApi.loadCamera = function(player, camera) + getNOHandler().call("loadCameraFromApi", { + player = player, + camera = camera + }) + end + + return NavigationOverlayApi +end +end) +__bundle_register("core/OptionPanelApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local OptionPanelApi = {} + + -- loads saved options + ---@param options table Set a new state for the option table + OptionPanelApi.loadSettings = function(options) + return Global.call("loadSettings", options) + end + + ---@return any: Table of option panel state + OptionPanelApi.getOptions = function() + return Global.getTable("optionPanel") + end + + return OptionPanelApi end end) __bundle_register("core/PlayAreaApi", function(require, _LOADED, __bundle_register, __bundle_modules) @@ -1964,6 +2053,33 @@ do return PlayAreaApi end end) +__bundle_register("core/SoundCubeApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local SoundCubeApi = {} + local guidReferenceApi = require("core/GUIDReferenceApi") + + -- this table links the name of a trigger effect to its index + local soundIndices = { + ["Vacuum"] = 0, + ["Deep Bell"] = 1, + ["Dark Souls"] = 2 + } + + ---@param index number Index of the sound effect to play + local function playTriggerEffect(index) + local SoundCube = guidReferenceApi.getObjectByOwnerAndType("Mythos", "SoundCube") + SoundCube.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 +end) __bundle_register("core/token/TokenChecker", function(require, _LOADED, __bundle_register, __bundle_modules) do local CHAOS_TOKEN_NAMES = { @@ -2002,144 +2118,6 @@ do return TokenChecker end end) -__bundle_register("core/GUIDReferenceApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local GUIDReferenceApi = {} - - local function getGuidHandler() - return getObjectFromGUID("123456") - end - - ---@param owner string Parent object for this search - ---@param type string Type of object to search for - ---@return any: Object reference to the matching object - GUIDReferenceApi.getObjectByOwnerAndType = function(owner, type) - return getGuidHandler().call("getObjectByOwnerAndType", { owner = owner, type = type }) - end - - -- returns all matching objects as a table with references - ---@param type string Type of object to search for - ---@return table: List of object references to matching objects - GUIDReferenceApi.getObjectsByType = function(type) - return getGuidHandler().call("getObjectsByType", type) - end - - -- returns all matching objects as a table with references - ---@param owner string Parent object for this search - ---@return table: List of object references to matching objects - GUIDReferenceApi.getObjectsByOwner = function(owner) - return getGuidHandler().call("getObjectsByOwner", owner) - end - - -- sends new information to the reference handler to edit the main index - ---@param owner string Parent of the object - ---@param type string Type of the object - ---@param guid string GUID of the object - GUIDReferenceApi.editIndex = function(owner, type, guid) - return getGuidHandler().call("editIndex", { - owner = owner, - type = type, - guid = guid - }) - end - - return GUIDReferenceApi -end -end) -__bundle_register("core/NavigationOverlayApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local NavigationOverlayApi = {} - local guidReferenceApi = require("core/GUIDReferenceApi") - - local function getNOHandler() - return guidReferenceApi.getObjectByOwnerAndType("Mythos", "NavigationOverlayHandler") - end - - -- copies the visibility for the Navigation overlay - ---@param startColor string Color of the player to copy from - ---@param targetColor string Color of the targeted player - NavigationOverlayApi.copyVisibility = function(startColor, targetColor) - getNOHandler().call("copyVisibility", { - startColor = startColor, - targetColor = targetColor - }) - end - - -- changes the Navigation Overlay view ("Full View" --> "Play Areas" --> "Closed" etc.) - ---@param playerColor string Color of the player to update the visibility for - NavigationOverlayApi.cycleVisibility = function(playerColor) - getNOHandler().call("cycleVisibility", playerColor) - end - - -- loads the specified camera for a player - ---@param player tts__Player Player whose camera should be moved - ---@param camera number|string If number: Index of the camera view to load | If string: Color of the playermat to swap to - NavigationOverlayApi.loadCamera = function(player, camera) - getNOHandler().call("loadCameraFromApi", { - player = player, - camera = camera - }) - end - - return NavigationOverlayApi -end -end) -__bundle_register("core/SoundCubeApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local SoundCubeApi = {} - local guidReferenceApi = require("core/GUIDReferenceApi") - - -- this table links the name of a trigger effect to its index - local soundIndices = { - ["Vacuum"] = 0, - ["Deep Bell"] = 1, - ["Dark Souls"] = 2 - } - - ---@param index number Index of the sound effect to play - local function playTriggerEffect(index) - local SoundCube = guidReferenceApi.getObjectByOwnerAndType("Mythos", "SoundCube") - SoundCube.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 -end) -__bundle_register("core/MythosAreaApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local MythosAreaApi = {} - local guidReferenceApi = require("core/GUIDReferenceApi") - - local function getMythosArea() - return guidReferenceApi.getObjectByOwnerAndType("Mythos", "MythosArea") - end - - ---@return any: Table of chaos token metadata (if provided through scenario reference card) - MythosAreaApi.returnTokenData = function() - return getMythosArea().call("returnTokenData") - end - - ---@return any: Object reference to the encounter deck - MythosAreaApi.getEncounterDeck = function() - return getMythosArea().call("getEncounterDeck") - end - - -- draw an encounter card for the requesting mat - ---@param mat tts__Object Playermat that triggered this - ---@param alwaysFaceUp boolean Whether the card should be drawn face-up - MythosAreaApi.drawEncounterCard = function(mat, alwaysFaceUp) - getMythosArea().call("drawEncounterCard", {mat = mat, alwaysFaceUp = alwaysFaceUp}) - end - - return MythosAreaApi -end -end) __bundle_register("core/token/TokenManager", function(require, _LOADED, __bundle_register, __bundle_modules) do local guidReferenceApi = require("core/GUIDReferenceApi") @@ -2272,8 +2250,8 @@ do local playerCardData local locationData - local TokenManager = { } - local internal = { } + local TokenManager = {} + local internal = {} -- Spawns tokens for the card. This function is built to just throw a card at it and let it do -- the work once a card has hit an area where it might spawn tokens. It will check to see if @@ -2364,7 +2342,7 @@ do if shiftDown ~= nil then -- Copy the offsets to make sure we don't change the static values local baseOffsets = offsets - offsets = { } + offsets = {} -- get a vector for the shifting (downwards local to the card) local shiftDownVector = Vector(0, 0, shiftDown):rotateOver("y", card.getRotation().y) @@ -2382,7 +2360,7 @@ do if subType == nil then subType = "" end - + -- this is used to load the correct state for additional resource tokens (e.g. "Ammo") local callback = nil local stateID = stateTable[string.lower(subType)] @@ -2415,9 +2393,7 @@ do local tokenTemplate = tokenTemplates[loadTokenType] -- Take ONLY the Y-value for rotation, so we don't flip the token coming out of the bag - local rot = Vector(tokenTemplate.Transform.rotX, - 270, - tokenTemplate.Transform.rotZ) + local rot = Vector(tokenTemplate.Transform.rotX, 270, tokenTemplate.Transform.rotZ) if rotation ~= nil then rot.y = rotation.y end @@ -2519,7 +2495,7 @@ do -- Shift each spawned group after the first down so they don't pile on each other TokenManager.spawnTokenGroup(card, useInfo.token, tokenCount, (i - 1) * 0.8, useInfo.type) end - + tokenSpawnTrackerApi.markTokensSpawned(card.getGUID()) end @@ -2578,7 +2554,7 @@ do end if ((card.is_face_down and locationData.clueSide == 'back') - or (not card.is_face_down and locationData.clueSide == 'front')) then + or (not card.is_face_down and locationData.clueSide == 'front')) then if locationData.type == 'fixed' then return locationData.value elseif locationData.type == 'perPlayer' then @@ -2592,7 +2568,7 @@ do -- Gets the right uses structure for this card, based on metadata and face up/down state ---@param card tts__Object Card to pull the uses from internal.getUses = function(card) - local metadata = JSON.decode(card.getGMNotes()) or { } + local metadata = JSON.decode(card.getGMNotes()) or {} if metadata.type == "Location" then if card.is_face_down and metadata.locationBack ~= nil then return metadata.locationBack.uses @@ -2611,12 +2587,13 @@ do ---@param count number How many clues? ---@return table: Array of global positions to spawn the clues at internal.buildClueOffsets = function(card, count) - local pos = card.getPosition() - local cluePositions = { } + local cluePositions = {} for i = 1, count do local row = math.floor(1 + (i - 1) / 4) local column = (i - 1) % 4 - table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column)) + local cluePos = card.positionToWorld(Vector(-0.825 + 0.55 * column, 0, -1.5 + 0.55 * row)) + cluePos.y = cluePos.y + 0.05 + table.insert(cluePositions, cluePos) end return cluePositions end @@ -2669,6 +2646,42 @@ do return TokenManager end end) +__bundle_register("core/token/TokenSpawnTrackerApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local TokenSpawnTracker = {} + local guidReferenceApi = require("core/GUIDReferenceApi") + + local function getSpawnTracker() + return guidReferenceApi.getObjectByOwnerAndType("Mythos", "TokenSpawnTracker") + end + + TokenSpawnTracker.hasSpawnedTokens = function(cardGuid) + return getSpawnTracker().call("hasSpawnedTokens", cardGuid) + end + + TokenSpawnTracker.markTokensSpawned = function(cardGuid) + return getSpawnTracker().call("markTokensSpawned", cardGuid) + end + + TokenSpawnTracker.resetTokensSpawned = function(cardGuid) + return getSpawnTracker().call("resetTokensSpawned", cardGuid) + end + + TokenSpawnTracker.resetAllAssetAndEvents = function() + return getSpawnTracker().call("resetAllAssetAndEvents") + end + + TokenSpawnTracker.resetAllLocations = function() + return getSpawnTracker().call("resetAllLocations") + end + + TokenSpawnTracker.resetAll = function() + return getSpawnTracker().call("resetAll") + end + + return TokenSpawnTracker +end +end) __bundle_register("playermat/PlaymatApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local PlaymatApi = {} @@ -2946,40 +2959,75 @@ do return PlaymatApi end end) -__bundle_register("core/token/TokenSpawnTrackerApi", function(require, _LOADED, __bundle_register, __bundle_modules) +__bundle_register("util/SearchLib", function(require, _LOADED, __bundle_register, __bundle_modules) do - local TokenSpawnTracker = {} - local guidReferenceApi = require("core/GUIDReferenceApi") + local SearchLib = {} + local filterFunctions = { + isActionToken = function(x) return x.getDescription() == "Action Token" end, + isCard = function(x) return x.type == "Card" end, + isDeck = function(x) return x.type == "Deck" end, + isCardOrDeck = function(x) return x.type == "Card" or x.type == "Deck" end, + isClue = function(x) return x.memo == "clueDoom" and x.is_face_down == false end, + isTileOrToken = function(x) return x.type == "Tile" end + } - local function getSpawnTracker() - return guidReferenceApi.getObjectByOwnerAndType("Mythos", "TokenSpawnTracker") + -- performs the actual search and returns a filtered list of object references + ---@param pos tts__Vector Global position + ---@param rot? tts__Vector Global rotation + ---@param size table Size + ---@param filter? string Name of the filter function + ---@param direction? table Direction (positive is up) + ---@param maxDistance? number Distance for the cast + local function returnSearchResult(pos, rot, size, filter, direction, maxDistance) + local filterFunc + if filter then + filterFunc = filterFunctions[filter] + end + local searchResult = Physics.cast({ + origin = pos, + direction = direction or { 0, 1, 0 }, + orientation = rot or { 0, 0, 0 }, + type = 3, + size = size, + max_distance = maxDistance or 0 + }) + + -- filtering the result + local objList = {} + for _, v in ipairs(searchResult) do + if not filter or filterFunc(v.hit_object) then + table.insert(objList, v.hit_object) + end + end + return objList end - TokenSpawnTracker.hasSpawnedTokens = function(cardGuid) - return getSpawnTracker().call("hasSpawnedTokens", cardGuid) + -- searches the specified area + SearchLib.inArea = function(pos, rot, size, filter) + return returnSearchResult(pos, rot, size, filter) end - TokenSpawnTracker.markTokensSpawned = function(cardGuid) - return getSpawnTracker().call("markTokensSpawned", cardGuid) + -- searches the area on an object + SearchLib.onObject = function(obj, filter) + pos = obj.getPosition() + size = obj.getBounds().size:setAt("y", 1) + return returnSearchResult(pos, _, size, filter) end - TokenSpawnTracker.resetTokensSpawned = function(cardGuid) - return getSpawnTracker().call("resetTokensSpawned", cardGuid) + -- searches the specified position (a single point) + SearchLib.atPosition = function(pos, filter) + size = { 0.1, 2, 0.1 } + return returnSearchResult(pos, _, size, filter) end - TokenSpawnTracker.resetAllAssetAndEvents = function() - return getSpawnTracker().call("resetAllAssetAndEvents") + -- searches below the specified position (downwards until y = 0) + SearchLib.belowPosition = function(pos, filter) + direction = { 0, -1, 0 } + maxDistance = pos.y + return returnSearchResult(pos, _, size, filter, direction, maxDistance) end - TokenSpawnTracker.resetAllLocations = function() - return getSpawnTracker().call("resetAllLocations") - end - - TokenSpawnTracker.resetAll = function() - return getSpawnTracker().call("resetAll") - end - - return TokenSpawnTracker + return SearchLib end end) return __bundle_require("__root") \ No newline at end of file diff --git a/unpacked.xml b/unpacked.xml index c80a6b4cb..09a97a89e 100644 --- a/unpacked.xml +++ b/unpacked.xml @@ -73,7 +73,6 @@ diff --git a/unpacked.yaml b/unpacked.yaml index 830459d06..b13b24214 100644 --- a/unpacked.yaml +++ b/unpacked.yaml @@ -224,7 +224,7 @@ CustomUIAssets: - Name: box-cover-mask-wide Type: 0 URL: http://cloud-3.steamusercontent.com/ugc/2115061298538827369/A20C2ECB8ECDC1B0AD8B2B38F68CA1C1F5E07D37/ -Date: Fri Feb 16 18:27:41 UTC 2024 +Date: Mon Mar 4 23:52:37 CET 2024 DecalPallet: - ImageURL: http://cloud-3.steamusercontent.com/ugc/1474319121424323663/BC5570ECF747F1B30224461B576E8B0FE7FA5F33/ Name: Achivement Checkmark @@ -233,7 +233,7 @@ DecalPallet: Name: Victory Display Size: 15 Decals: [] -EpochTime: 1708108061 +EpochTime: 1709592757 GameComplexity: '' GameMode: Arkham Horror LCG - Super Complete Edition GameType: '' @@ -284,7 +284,7 @@ Lighting: LutIndex: 0 ReflectionIntensity: 1 LuaScript: !include 'unpacked.ttslua' -LuaScriptState: '{"acknowledgedUpgradeVersions":[],"chaosTokensGUID":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaConnections":true,"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":[],"showSearchAssistant":[],"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}}' +LuaScriptState: '{"acknowledgedUpgradeVersions":[],"chaosTokensGUID":[],"optionPanel":{"cardLanguage":"en","changePlayAreaImage":false,"playAreaConnectionColor":{"a":1,"b":0.4,"g":0.4,"r":0.4},"playAreaConnections":true,"playAreaSnapTags":true,"showAttachmentHelper":false,"showCleanUpHelper":false,"showCYOA":false,"showDisplacementTool":false,"showDrawButton":false,"showHandHelper":false,"showSearchAssistant":false,"showTitleSplash":true,"useClueClickers":false,"useResourceCounters":"disabled","useSnapTags":true}}' MusicPlayer: AudioLibrary: - Item1: http://cloud-3.steamusercontent.com/ugc/784110538847453001/4481D1CC5684FCF04AB143954DEFE09E94BF5CEB/ @@ -546,9 +546,7 @@ ObjectStates: - !include 'unpacked/Custom_Tile Tokencache_Curse 16a9a7.yaml' - !include 'unpacked/Custom_Tile Tokencache_Frost b2b7be.yaml' - !include 'unpacked/BlockSquare Physics Detector b300d8.yaml' -- !include 'unpacked/CardCustom New Player Back 85145d.yaml' -- !include 'unpacked/CardCustom New Encounter Back 5d5637.yaml' -- !include 'unpacked/Notecard Arkham SCE 3.6.0 - 2162024 - Page 1 2d0dbb.yaml' +- !include 'unpacked/Notecard Arkham SCE 3.7.0 - 352024 - Page 1 6657b6.yaml' PlayArea: 1 PlayerCounts: - 0 @@ -556,7 +554,7 @@ PlayerCounts: PlayingTime: - 0 - 0 -SaveName: Arkham SCE - 3.6.0 +SaveName: Arkham SCE - 3.7.0 Sky: Sky_Museum SkyURL: https://i.imgur.com/GkQqaOF.jpg SnapPoints: @@ -624,70 +622,6 @@ SnapPoints: x: -3.85 y: 1.58 z: -10.39 -- Position: - x: -45.3 - y: 1.48 - z: 31.67 -- Position: - x: -45.3 - y: 1.48 - z: 29.73 -- Position: - x: -45.3 - y: 1.48 - z: 27.8 -- Position: - x: -45.3 - y: 1.48 - z: 25.86 -- Position: - x: -45.3 - y: 1.48 - z: 23.93 -- Position: - x: -45.3 - y: 1.48 - z: 21.99 -- Position: - x: -45.3 - y: 1.48 - z: 20.06 -- Position: - x: -45.3 - y: 1.48 - z: -20.62 -- Position: - x: -45.3 - y: 1.48 - z: -22.55 -- Position: - x: -45.3 - y: 1.48 - z: -24.49 -- Position: - x: -45.3 - y: 1.48 - z: -26.43 -- Position: - x: -45.3 - y: 1.48 - z: -28.36 -- Position: - x: -45.3 - y: 1.48 - z: -30.3 -- Position: - x: -45.3 - y: 1.48 - z: -32.23 -- Position: - x: -28.64 - y: 1.48 - z: -38.65 - Rotation: - x: 0 - y: 315 - z: 0 - Position: x: -56.24 y: 1.49 diff --git a/unpacked/Bag Additional Player Cards 2cba6b.ttslua b/unpacked/Bag Additional Player Cards 2cba6b.ttslua index a9d8e79fc..47165bc67 100644 --- a/unpacked/Bag Additional Player Cards 2cba6b.ttslua +++ b/unpacked/Bag Additional Player Cards 2cba6b.ttslua @@ -61,6 +61,50 @@ function onLoad() self.addContextMenuItem("Update card index", function() allCardsBagApi.rebuildIndexForHotfix() end) end end) +__bundle_register("core/GUIDReferenceApi", function(require, _LOADED, __bundle_register, __bundle_modules) +do + local GUIDReferenceApi = {} + + local function getGuidHandler() + return getObjectFromGUID("123456") + end + + ---@param owner string Parent object for this search + ---@param type string Type of object to search for + ---@return any: Object reference to the matching object + GUIDReferenceApi.getObjectByOwnerAndType = function(owner, type) + return getGuidHandler().call("getObjectByOwnerAndType", { owner = owner, type = type }) + end + + -- returns all matching objects as a table with references + ---@param type string Type of object to search for + ---@return table: List of object references to matching objects + GUIDReferenceApi.getObjectsByType = function(type) + return getGuidHandler().call("getObjectsByType", type) + end + + -- returns all matching objects as a table with references + ---@param owner string Parent object for this search + ---@return table: List of object references to matching objects + GUIDReferenceApi.getObjectsByOwner = function(owner) + return getGuidHandler().call("getObjectsByOwner", owner) + end + + -- sends new information to the reference handler to edit the main index + ---@param owner string Parent of the object + ---@param type string Type of the object + ---@param guid string GUID of the object + GUIDReferenceApi.editIndex = function(owner, type, guid) + return getGuidHandler().call("editIndex", { + owner = owner, + type = type, + guid = guid + }) + end + + return GUIDReferenceApi +end +end) __bundle_register("playercards/AllCardsBagApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local AllCardsBagApi = {} @@ -137,48 +181,4 @@ do return AllCardsBagApi end end) -__bundle_register("core/GUIDReferenceApi", function(require, _LOADED, __bundle_register, __bundle_modules) -do - local GUIDReferenceApi = {} - - local function getGuidHandler() - return getObjectFromGUID("123456") - end - - ---@param owner string Parent object for this search - ---@param type string Type of object to search for - ---@return any: Object reference to the matching object - GUIDReferenceApi.getObjectByOwnerAndType = function(owner, type) - return getGuidHandler().call("getObjectByOwnerAndType", { owner = owner, type = type }) - end - - -- returns all matching objects as a table with references - ---@param type string Type of object to search for - ---@return table: List of object references to matching objects - GUIDReferenceApi.getObjectsByType = function(type) - return getGuidHandler().call("getObjectsByType", type) - end - - -- returns all matching objects as a table with references - ---@param owner string Parent object for this search - ---@return table: List of object references to matching objects - GUIDReferenceApi.getObjectsByOwner = function(owner) - return getGuidHandler().call("getObjectsByOwner", owner) - end - - -- sends new information to the reference handler to edit the main index - ---@param owner string Parent of the object - ---@param type string Type of the object - ---@param guid string GUID of the object - GUIDReferenceApi.editIndex = function(owner, type, guid) - return getGuidHandler().call("editIndex", { - owner = owner, - type = type, - guid = guid - }) - end - - return GUIDReferenceApi -end -end) return __bundle_require("__root") \ No newline at end of file diff --git a/unpacked/Bag All Player Cards 15bb07.ttslua b/unpacked/Bag All Player Cards 15bb07.ttslua index 3b546d88f..2a191bd9d 100644 --- a/unpacked/Bag All Player Cards 15bb07.ttslua +++ b/unpacked/Bag All Player Cards 15bb07.ttslua @@ -41,6 +41,9 @@ local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = ( return require, loaded, register, modules end)(nil) +__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) +require("playercards/AllCardsBag") +end) __bundle_register("playercards/AllCardsBag", function(require, _LOADED, __bundle_register, __bundle_modules) local cardIdIndex = { } local classAndLevelIndex = { } @@ -176,7 +179,6 @@ end function buildSupplementalIndexes() for cardId, card in pairs(cardIdIndex) do - local cardData = card.data local cardMetadata = card.metadata -- If the ID key and the metadata ID don't match this is a duplicate card created by an -- alternate_id, and we should skip it @@ -414,7 +416,4 @@ function isBasicWeakness(cardMetadata) and cardMetadata.basicWeaknessCount > 0 end end) -__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) -require("playercards/AllCardsBag") -end) return __bundle_require("__root") \ No newline at end of file diff --git a/unpacked/Bag All Player Cards 15bb07.yaml b/unpacked/Bag All Player Cards 15bb07.yaml index 754baef77..5368c1952 100644 --- a/unpacked/Bag All Player Cards 15bb07.yaml +++ b/unpacked/Bag All Player Cards 15bb07.yaml @@ -25,47 +25,47 @@ ContainedObjects: 46b147.yaml' - !include 'Bag All Player Cards 15bb07/Card If it bleeds... acf2b0.yaml' - !include 'Bag All Player Cards 15bb07/Card Beat Cop (2) 7001be.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Weeping Yurei 541bd9.yaml' +- !include 'Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.yaml' +- !include 'Bag All Player Cards 15bb07/Card Weeping Yurei 541bd9.yaml' - !include "Bag All Player Cards 15bb07/CardCustom K\u014Dhaku Narukami cea427.yaml" -- !include "Bag All Player Cards 15bb07/CardCustom K\u014Dhaku Narukami 54eaa7.yaml" -- !include 'Bag All Player Cards 15bb07/CardCustom Ad Hoc c9fb2f.yaml' +- !include "Bag All Player Cards 15bb07/Card K\u014Dhaku Narukami 54eaa7.yaml" +- !include 'Bag All Player Cards 15bb07/Card Ad Hoc c9fb2f.yaml' - !include 'Bag All Player Cards 15bb07/Card Hasty Repairs 0821d5.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom Wilson Richards ceb426.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Wilson Richards 55eab5.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Ancestral Token c1fb1f.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yoth) 84ad64.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yuggoth) 84ad65.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Failed Experiment acd281.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Flux Stabilizer 55990a.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Kate Winthrop ce2322.yaml' +- !include 'Bag All Player Cards 15bb07/Card Wilson Richards 55eab5.yaml' +- !include 'Bag All Player Cards 15bb07/Card Ancestral Token c1fb1f.yaml' +- !include 'Bag All Player Cards 15bb07/Card Aetheric Current (Yoth) 84ad64.yaml' +- !include 'Bag All Player Cards 15bb07/Card Aetheric Current (Yuggoth) 84ad65.yaml' +- !include 'Bag All Player Cards 15bb07/Card Failed Experiment acd281.yaml' +- !include 'Bag All Player Cards 15bb07/Card Flux Stabilizer 55990a.yaml' +- !include 'Bag All Player Cards 15bb07/Card Kate Winthrop ce2322.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom Kate Winthrop ce2323.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Hatchet (1) 2ea0d3.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Token of Faith (3) 2ea0d1.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Transmogrify 9965dd.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Absolution aef183.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Confound (3) 9965de.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Strong-Armed (1) 294d6.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Survival Technique (2) 2ea0d4.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Scrimshaw Charm c1fb2e.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Vamp (3) add233.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Well-Dressed c6ac33.yaml' +- !include 'Bag All Player Cards 15bb07/Card Hatchet (1) 2ea0d3.yaml' +- !include 'Bag All Player Cards 15bb07/Card Token of Faith (3) 2ea0d1.yaml' +- !include 'Bag All Player Cards 15bb07/Card Transmogrify 9965dd.yaml' +- !include 'Bag All Player Cards 15bb07/Card Absolution aef183.yaml' +- !include 'Bag All Player Cards 15bb07/Card Confound (3) 9965de.yaml' +- !include 'Bag All Player Cards 15bb07/Card Strong-Armed (1) 294d6.yaml' +- !include 'Bag All Player Cards 15bb07/Card Survival Technique (2) 2ea0d4.yaml' +- !include 'Bag All Player Cards 15bb07/Card Scrimshaw Charm c1fb2e.yaml' +- !include 'Bag All Player Cards 15bb07/Card Vamp (3) add233.yaml' +- !include 'Bag All Player Cards 15bb07/Card Well-Dressed c6ac33.yaml' - !include 'Bag All Player Cards 15bb07/Card Fine Tuning (1) 103fbd.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Prismatic Spectacles (2) 3adcf5.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Drain Essence 9965aa.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Fake Credentials acd38d.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Cat Mask 847ed6.yaml' +- !include 'Bag All Player Cards 15bb07/Card Prismatic Spectacles (2) 3adcf5.yaml' +- !include 'Bag All Player Cards 15bb07/Card Drain Essence 9965aa.yaml' +- !include 'Bag All Player Cards 15bb07/Card Fake Credentials acd38d.yaml' +- !include 'Bag All Player Cards 15bb07/Card Cat Mask 847ed6.yaml' - !include 'Bag All Player Cards 15bb07/Card Hard Times 876557.yaml' - !include 'Bag All Player Cards 15bb07/Card Pete''s Guitar 876557.yaml' - !include 'Bag All Player Cards 15bb07/Card Ashcan Pete (Parallel Front) 5294c3.yaml' - !include 'Bag All Player Cards 15bb07/Card Ashcan Pete (Parallel Back) 5294c3.yaml' - !include 'Bag All Player Cards 15bb07/Card Ashcan Pete (Parallel) 5294c3.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Eldritch Tongue e8765a.yaml' +- !include 'Bag All Player Cards 15bb07/Card Eldritch Tongue e8765a.yaml' - !include 'Bag All Player Cards 15bb07/Card Tinker 102fbd.yaml' - !include 'Bag All Player Cards 15bb07/Card Hand-Eye Coordination (1) 102fcd.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom False Surrender adf28e.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Purified 294d6a.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom The Key of Solomon (4) ae54c6.yaml' +- !include 'Bag All Player Cards 15bb07/Card False Surrender adf28e.yaml' +- !include 'Bag All Player Cards 15bb07/Card Purified 294d6a.yaml' +- !include 'Bag All Player Cards 15bb07/Card The Key of Solomon (4) ae54c6.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom The Necronomicon 5b2e10.yaml' - !include 'Bag All Player Cards 15bb07/Card Roland''s .38 Special 4edb91.yaml' - !include 'Bag All Player Cards 15bb07/Card Stubborn Detective 4ea68b.yaml' @@ -1505,6 +1505,11 @@ ContainedObjects: - !include 'Bag All Player Cards 15bb07/Card Amina Zidane 458edc.yaml' - !include 'Bag All Player Cards 15bb07/Card Amina Zidane 4c2a3d.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom The Raven Quill Upgrade Sheet 23b96a.yaml' +- !include 'Bag All Player Cards 15bb07/CardCustom Hypnotic Gaze (2) (Taboo) e2bc50.yaml' +- !include 'Bag All Player Cards 15bb07/CardCustom Old Keyring (3) (Taboo) e7d989.yaml' +- !include 'Bag All Player Cards 15bb07/CardCustom Pay Day (1) (Taboo) 9f0b35.yaml' +- !include 'Bag All Player Cards 15bb07/CardCustom Scavenging (2) (Taboo) ff4aeb.yaml' +- !include 'Bag All Player Cards 15bb07/CardCustom Scavenging (Taboo) 1b76c8.yaml' - !include 'Bag All Player Cards 15bb07/Card Deck of Possibilities fefdfa.yaml' - !include "Bag All Player Cards 15bb07/Card Isamara Ordo\xF1ez 860cd7.yaml" - !include 'Bag All Player Cards 15bb07/Card Jenny Barnes 48b174.yaml' @@ -1617,77 +1622,77 @@ ContainedObjects: - !include 'Bag All Player Cards 15bb07/Card Final Rhapsody 561775.yaml' - !include 'Bag All Player Cards 15bb07/Card Jim Culver (Parallel Back) aba863.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom The Beyond 37ab47.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Devil (2) 2a0ba5.yaml' +- !include 'Bag All Player Cards 15bb07/Card Devil (2) 2a0ba5.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom Alessandra Zorzi cea425.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Alessandra Zorzi 54eaa5.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Zamacona 541ba9.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Wicked Athame c9fb1f.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Wolf Mask 975d89.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Beguile 019526.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Ofuda 860c1e.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Providential (2) 2cf42a.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Vamp add232.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom I''ll Pay You Back! 40e1ca.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Occult Reliquary (3) acd0c2.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Grift df75d7.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Guided by Faith aef282.yaml' +- !include 'Bag All Player Cards 15bb07/Card Alessandra Zorzi 54eaa5.yaml' +- !include 'Bag All Player Cards 15bb07/Card Zamacona 541ba9.yaml' +- !include 'Bag All Player Cards 15bb07/Card Wicked Athame c9fb1f.yaml' +- !include 'Bag All Player Cards 15bb07/Card Wolf Mask 975d89.yaml' +- !include 'Bag All Player Cards 15bb07/Card Beguile 019526.yaml' +- !include 'Bag All Player Cards 15bb07/Card Ofuda 860c1e.yaml' +- !include 'Bag All Player Cards 15bb07/Card Providential (2) 2cf42a.yaml' +- !include 'Bag All Player Cards 15bb07/Card Vamp add232.yaml' +- !include 'Bag All Player Cards 15bb07/Card I''ll Pay You Back! 40e1ca.yaml' +- !include 'Bag All Player Cards 15bb07/Card Occult Reliquary (3) acd0c2.yaml' +- !include 'Bag All Player Cards 15bb07/Card Grift df75d7.yaml' +- !include 'Bag All Player Cards 15bb07/Card Guided by Faith aef282.yaml' - !include 'Bag All Player Cards 15bb07/CardCustom Hank Samson 3764cc.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Hank Samson 3764cd.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Hank Samson (Assistant) 3764ce.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Hank Samson (Warden) 3764cf.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Hold Up aef182.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Pelt Shipment aa11bc.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Stir the Pot (5) add252.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Snitch (2) add242.yaml' +- !include 'Bag All Player Cards 15bb07/Card Hank Samson 3764cd.yaml' +- !include 'Bag All Player Cards 15bb07/Card Hank Samson (Assistant) 3764ce.yaml' +- !include 'Bag All Player Cards 15bb07/Card Hank Samson (Warden) 3764cf.yaml' +- !include 'Bag All Player Cards 15bb07/Card Hold Up aef182.yaml' +- !include 'Bag All Player Cards 15bb07/Card Pelt Shipment aa11bc.yaml' +- !include 'Bag All Player Cards 15bb07/Card Stir the Pot (5) add252.yaml' +- !include 'Bag All Player Cards 15bb07/Card Snitch (2) add242.yaml' - !include 'Bag All Player Cards 15bb07/Card Where''s Pa 9aba43.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Persistence (1) 2cf51.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Stouthearted 265ad2.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Control Variable 133868.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Blackmail File de456d.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Speak to the Dead c763aa.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Accursed e91c5e.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Throw the Book at Them! d617ab.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Fox Mask 4144cd.yaml' -- !include 'Bag All Player Cards 15bb07/CardCustom Mouse Mask 32ad21.yaml' -- !include 'Bag All Player Cards 15bb07/Card Task Force (0) a5c06a.yaml' +- !include 'Bag All Player Cards 15bb07/Card Persistence (1) 2cf51.yaml' +- !include 'Bag All Player Cards 15bb07/Card Stouthearted 265ad2.yaml' +- !include 'Bag All Player Cards 15bb07/Card Control Variable 133868.yaml' +- !include 'Bag All Player Cards 15bb07/Card Blackmail File de456d.yaml' +- !include 'Bag All Player Cards 15bb07/Card Speak to the Dead c763aa.yaml' +- !include 'Bag All Player Cards 15bb07/Card Accursed e91c5e.yaml' +- !include 'Bag All Player Cards 15bb07/Card Throw the Book at Them! d617ab.yaml' +- !include 'Bag All Player Cards 15bb07/Card Fox Mask 4144cd.yaml' +- !include 'Bag All Player Cards 15bb07/Card Mouse Mask 32ad21.yaml' +- !include 'Bag All Player Cards 15bb07/Card Task Force a5c06a.yaml' - !include 'Bag All Player Cards 15bb07/Card Microscope (4) fbd296.yaml' - !include 'Bag All Player Cards 15bb07/Card Back Injury f6c482.yaml' -- !include 'Bag All Player Cards 15bb07/Card Lightfooted (0) fe1fb6.yaml' +- !include 'Bag All Player Cards 15bb07/Card Lightfooted fe1fb6.yaml' - !include 'Bag All Player Cards 15bb07/Card Bewitching (3) db335c.yaml' - !include 'Bag All Player Cards 15bb07/Card Flurry of Blows (5) 9e7bc8.yaml' - !include 'Bag All Player Cards 15bb07/Card British Bull Dog (2) 7b7050.yaml' -- !include 'Bag All Player Cards 15bb07/Card Bianca Die Katz (0) 897a94.yaml' +- !include 'Bag All Player Cards 15bb07/Card Bianca Die Katz 897a94.yaml' - !include 'Bag All Player Cards 15bb07/Card Dirty Deeds (3) aa2d6a.yaml' - !include 'Bag All Player Cards 15bb07/Card Esoteric Method (1) 9250e1.yaml' -- !include 'Bag All Player Cards 15bb07/Card Katana (0) f5beb5.yaml' +- !include 'Bag All Player Cards 15bb07/Card Katana f5beb5.yaml' - !include 'Bag All Player Cards 15bb07/Card Ethereal Weaving (3) 697efd.yaml' - !include 'Bag All Player Cards 15bb07/Card Putrescent Rot 2d1e60.yaml' - !include 'Bag All Player Cards 15bb07/Card Ravenous Myconid (4) df93ca.yaml' - !include 'Bag All Player Cards 15bb07/Card Second Wind (2) c3c979.yaml' - !include 'Bag All Player Cards 15bb07/Card Fire Axe (2) 326ec3.yaml' -- !include 'Bag All Player Cards 15bb07/Card Stir the Pot (0) c25479.yaml' +- !include 'Bag All Player Cards 15bb07/Card Stir the Pot c25479.yaml' - !include 'Bag All Player Cards 15bb07/Card Keeper of the Key 014086.yaml' -- !include 'Bag All Player Cards 15bb07/Card Bide Your Time (0) 24d3b3.yaml' -- !include 'Bag All Player Cards 15bb07/Card Thorough Inquiry (0) c6b644.yaml' +- !include 'Bag All Player Cards 15bb07/Card Bide Your Time 24d3b3.yaml' +- !include 'Bag All Player Cards 15bb07/Card Thorough Inquiry c6b644.yaml' - !include 'Bag All Player Cards 15bb07/Card Steady-Handed (1) 9181f7.yaml' - !include 'Bag All Player Cards 15bb07/Card Dawn Star (1) 8b15d7.yaml' - !include 'Bag All Player Cards 15bb07/Card Seal of the Elders (5) d2b649.yaml' - !include 'Bag All Player Cards 15bb07/Card Keep Faith (2) 73e4ee.yaml' - !include 'Bag All Player Cards 15bb07/Card Mariner''s Compass (2) 596053.yaml' -- !include 'Bag All Player Cards 15bb07/Card Bank Job (0) c4dfa2.yaml' +- !include 'Bag All Player Cards 15bb07/Card Bank Job c4dfa2.yaml' - !include 'Bag All Player Cards 15bb07/Card Abyssal Rot bbeac6.yaml' - !include 'Bag All Player Cards 15bb07/Card Maimed Hand cb14d3.yaml' -- !include 'Bag All Player Cards 15bb07/Card Testing Sprint (0) a4846b.yaml' +- !include 'Bag All Player Cards 15bb07/Card Testing Sprint a4846b.yaml' - !include 'Bag All Player Cards 15bb07/Card Blade of Yoth c61a83.yaml' - !include 'Bag All Player Cards 15bb07/Card Call the Beyond (2) 0dd070.yaml' - !include 'Bag All Player Cards 15bb07/Card Gabriel Carillo (1) 7e1088.yaml' -- !include 'Bag All Player Cards 15bb07/Card Diabolical Luck (0) 1fea59.yaml' -- !include 'Bag All Player Cards 15bb07/Card Cleaning Kit (0) d07668.yaml' +- !include 'Bag All Player Cards 15bb07/Card Diabolical Luck 1fea59.yaml' +- !include 'Bag All Player Cards 15bb07/Card Cleaning Kit d07668.yaml' - !include 'Bag All Player Cards 15bb07/Card Evanescent Ascension 9e763b.yaml' -- !include 'Bag All Player Cards 15bb07/Card Matchbox (0) b533db.yaml' -- !include 'Bag All Player Cards 15bb07/Card British Bull Dog (0) 9b76a0.yaml' +- !include 'Bag All Player Cards 15bb07/Card Matchbox b533db.yaml' +- !include 'Bag All Player Cards 15bb07/Card British Bull Dog 9b76a0.yaml' - !include 'Bag All Player Cards 15bb07/Card Twilight Diadem a2f8f8.yaml' -- !include 'Bag All Player Cards 15bb07/Card Rod of Carnamagos (0) 66ec64.yaml' +- !include 'Bag All Player Cards 15bb07/Card Rod of Carnamagos 66ec64.yaml' - !include 'Bag All Player Cards 15bb07/Card Spectral Razor (2) b38ded.yaml' - !include 'Bag All Player Cards 15bb07/Card Ethereal Form (2) e58c7b.yaml' - !include 'Bag All Player Cards 15bb07/Card Cleaning Kit (3) 94c3e1.yaml' @@ -1696,7 +1701,7 @@ ContainedObjects: - !include 'Bag All Player Cards 15bb07/Card Fake Credentials (4) 7ebb67.yaml' - !include 'Bag All Player Cards 15bb07/Card Hunting Jacket (2) 5355fa.yaml' - !include 'Bag All Player Cards 15bb07/Card Dark Horse (5) d00e4d.yaml' -- !include 'Bag All Player Cards 15bb07/Card Antediluvian Hymn (0) ba4746.yaml' +- !include 'Bag All Player Cards 15bb07/Card Antediluvian Hymn ba4746.yaml' - !include 'Bag All Player Cards 15bb07/Card Aember Rot 3e6219.yaml' - !include 'Bag All Player Cards 15bb07/Card The Silver Moth 2c6dc1.yaml' - !include 'Bag All Player Cards 15bb07/Card Scarlet Rot fe476c.yaml' @@ -1711,7 +1716,7 @@ ContainedObjects: - !include 'Bag All Player Cards 15bb07/Card Bianca Die Katz 992ccd.yaml' - !include 'Bag All Player Cards 15bb07/Card Servant of Brass 06bc7e.yaml' - !include 'Bag All Player Cards 15bb07/Card Read the Signs (2) 5ce4d4.yaml' -- !include 'Bag All Player Cards 15bb07/Card Elaborate Distraction (0) d1422e.yaml' +- !include 'Bag All Player Cards 15bb07/Card Elaborate Distraction d1422e.yaml' Description: '' DragSelectable: true GMNotes: '' diff --git a/unpacked/Bag All Player Cards 15bb07/Card 21 or Bust 5210c2.yaml b/unpacked/Bag All Player Cards 15bb07/Card 21 or Bust 5210c2.yaml index 785851b60..f4b1d8a27 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card 21 or Bust 5210c2.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card 21 or Bust 5210c2.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Absolution aef183.yaml b/unpacked/Bag All Player Cards 15bb07/Card Absolution aef183.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Absolution aef183.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Absolution aef183.yaml index 9bd528207..2605d81bb 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Absolution aef183.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Absolution aef183.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 125300 +CardID: 917316 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '1253': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2278324186529136565/AE4B753BBB284EB12A0BDE36CEA3CD763C835AC0/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Absolution SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Abyssal Rot bbeac6.yaml b/unpacked/Bag All Player Cards 15bb07/Card Abyssal Rot bbeac6.yaml index c8a82a664..eaffc0882 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Abyssal Rot bbeac6.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Abyssal Rot bbeac6.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94732 +CardID: 917408 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Accursed e91c5e.yaml b/unpacked/Bag All Player Cards 15bb07/Card Accursed e91c5e.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Accursed e91c5e.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Accursed e91c5e.yaml index 451893ece..5e0ec3669 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Accursed e91c5e.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Accursed e91c5e.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 20100 +CardID: 917417 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '201': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2172484009070977509/27A8CCF2BC48CAD909180D64177E86B8232F66C6/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Accursed SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Ad Hoc c9fb2f.yaml b/unpacked/Bag All Player Cards 15bb07/Card Ad Hoc c9fb2f.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Ad Hoc c9fb2f.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Ad Hoc c9fb2f.yaml index 1b47bfae7..6191f3d0d 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Ad Hoc c9fb2f.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Ad Hoc c9fb2f.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 9100 +CardID: 917300 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '91': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2223150865961116295/72473371D0DB68709B4B1B9343A748510A1BB30A/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Ad Hoc SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Aember Rot 3e6219.yaml b/unpacked/Bag All Player Cards 15bb07/Card Aember Rot 3e6219.yaml index 33d90d477..21cabe075 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Aember Rot 3e6219.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Aember Rot 3e6219.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94733 +CardID: 917409 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yoth) 84ad64.yaml b/unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yoth) 84ad64.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yoth) 84ad64.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yoth) 84ad64.yaml index ba640e5c8..09eee19f2 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yoth) 84ad64.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yoth) 84ad64.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 1700 +CardID: 917303 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '17': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2279448008875866961/175F57B97C6DEC14F1F6E6420A318A76D38FFE8A/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Aetheric Current (Yoth) SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yuggoth) 84ad65.yaml b/unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yuggoth) 84ad65.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yuggoth) 84ad65.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yuggoth) 84ad65.yaml index 9b5f1c867..8786c8544 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Aetheric Current (Yuggoth) 84ad65.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Aetheric Current (Yuggoth) 84ad65.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 12700 +CardID: 917302 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '127': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2279448008875867121/DD34A54C059F9DE340A3C54406A276D202D1C329/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Aetheric Current (Yuggoth) SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Alessandra Zorzi 54eaa5.yaml b/unpacked/Bag All Player Cards 15bb07/Card Alessandra Zorzi 54eaa5.yaml similarity index 82% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Alessandra Zorzi 54eaa5.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Alessandra Zorzi 54eaa5.yaml index 663d3612a..001e75fa8 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Alessandra Zorzi 54eaa5.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Alessandra Zorzi 54eaa5.yaml @@ -3,20 +3,20 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 1100 +CardID: 117303 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '11': + '1173': BackIsHidden: true - BackURL: http://cloud-3.steamusercontent.com/ugc/2172484009071330094/3AEFB558D789BC525F50DCC0217FA17627EB91BF/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2172484009071330266/6DD06B74E6DD4F473AB47C39DD17DF9FAD8B1455/ - NumHeight: 1 - NumWidth: 1 + BackURL: http://cloud-3.steamusercontent.com/ugc/2424696374430631817/A15FFE0907238AB578CFEB119974545A4408E3A1/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430631996/4C0628EA8BAEB615CBF9575C1B2F0389EED9C4B7/ + NumHeight: 2 + NumWidth: 4 Type: 0 - UniqueBack: false + UniqueBack: true Description: The Countess DragSelectable: true GMNotes: "{\n \"id\": \"10009\",\n \"type\": \"Investigator\",\n \"class\": \"Rogue\",\n @@ -39,7 +39,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Alessandra Zorzi SidewaysCard: true Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Ancestral Token c1fb1f.yaml b/unpacked/Bag All Player Cards 15bb07/Card Ancestral Token c1fb1f.yaml similarity index 84% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Ancestral Token c1fb1f.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Ancestral Token c1fb1f.yaml index a945daaac..f07f33a84 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Ancestral Token c1fb1f.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Ancestral Token c1fb1f.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 4900 +CardID: 917311 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '49': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2279447674651244606/B2275AD213AF8DD0B65170BD4E5E5E98E233A6C7/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -34,7 +34,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Ancestral Token SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn (0) ba4746.yaml b/unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn ba4746.yaml similarity index 86% rename from unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn (0) ba4746.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn ba4746.yaml index 1aadce6fb..39d624700 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn (0) ba4746.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Antediluvian Hymn ba4746.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94737 +CardID: 917415 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 @@ -35,7 +35,7 @@ LuaScript: '' LuaScriptState: '' MeasureMovement: false Name: Card -Nickname: Antediluvian Hymn (0) +Nickname: Antediluvian Hymn SidewaysCard: false Snap: true Sticky: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Antiquary (3) 452db2.yaml b/unpacked/Bag All Player Cards 15bb07/Card Antiquary (3) 452db2.yaml index 7c9b03d17..b874aac3e 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Antiquary (3) 452db2.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Antiquary (3) 452db2.yaml @@ -3,7 +3,7 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 378962 +CardID: 378953 ColorDiffuse: b: 0.71324 g: 0.71324 @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 098132.yaml b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 098132.yaml index f8c0d5670..a333720d2 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 098132.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 098132.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 1fdf4c.yaml b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 1fdf4c.yaml index b08b27103..ab385fbff 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 1fdf4c.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 1fdf4c.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 4b1b99.yaml b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 4b1b99.yaml index 3f237b881..97f29269d 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 4b1b99.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 4b1b99.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 88ff66.yaml b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 88ff66.yaml index da6d6eace..dda6c6bb0 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 88ff66.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits (4) 88ff66.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits 8023f5.yaml b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits 8023f5.yaml index 3c8830976..37123c924 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits 8023f5.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Archive of Conduits 8023f5.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Arm Injury 8f1420.yaml b/unpacked/Bag All Player Cards 15bb07/Card Arm Injury 8f1420.yaml index 20ea4096f..80c119e54 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Arm Injury 8f1420.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Arm Injury 8f1420.yaml @@ -3,7 +3,7 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 378917 +CardID: 378959 ColorDiffuse: b: 0.71324 g: 0.71324 @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Astronomical Atlas (3) 804397.yaml b/unpacked/Bag All Player Cards 15bb07/Card Astronomical Atlas (3) 804397.yaml index faf68b238..1331e42f6 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Astronomical Atlas (3) 804397.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Astronomical Atlas (3) 804397.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Back Injury f6c482.yaml b/unpacked/Bag All Player Cards 15bb07/Card Back Injury f6c482.yaml index e26a04bc7..b37622142 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Back Injury f6c482.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Back Injury f6c482.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94760 +CardID: 917458 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bandages b460e1.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bandages b460e1.yaml index 383985ca6..bb907a669 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bandages b460e1.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bandages b460e1.yaml @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bangle of Jinxes (1) a65852.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bangle of Jinxes (1) a65852.yaml index aa40e7496..24db3b896 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bangle of Jinxes (1) a65852.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bangle of Jinxes (1) a65852.yaml @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bank Job (0) c4dfa2.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bank Job c4dfa2.yaml similarity index 86% rename from unpacked/Bag All Player Cards 15bb07/Card Bank Job (0) c4dfa2.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Bank Job c4dfa2.yaml index 6cdcd933d..3d693e37c 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bank Job (0) c4dfa2.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bank Job c4dfa2.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94723 +CardID: 917361 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ NumHeight: 7 NumWidth: 10 Type: 0 @@ -35,7 +35,7 @@ LuaScript: '' LuaScriptState: '' MeasureMovement: false Name: Card -Nickname: Bank Job (0) +Nickname: Bank Job SidewaysCard: false Snap: true Sticky: true diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Beguile 019526.yaml b/unpacked/Bag All Player Cards 15bb07/Card Beguile 019526.yaml similarity index 83% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Beguile 019526.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Beguile 019526.yaml index 0916b06c8..6ce952f03 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Beguile 019526.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Beguile 019526.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 200 +CardID: 917305 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '2': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2172484009071331078/3553DC91D67F802BAFFE9F674DBE991C2D439867/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Beguile SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bewitching (3) db335c.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bewitching (3) db335c.yaml index 13d216344..d3dee04f8 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bewitching (3) db335c.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bewitching (3) db335c.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94728 +CardID: 917401 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz (0) 897a94.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 897a94.yaml similarity index 86% rename from unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz (0) 897a94.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 897a94.yaml index 0a1a20b28..a9ad919d2 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz (0) 897a94.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 897a94.yaml @@ -3,21 +3,21 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94720 +CardID: 917354 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ NumHeight: 7 NumWidth: 10 Type: 0 UniqueBack: false -Description: Singing Your Songs +Description: Singing Your Song DragSelectable: true GMNotes: "{\n \"id\": \"10062\",\n \"type\": \"Asset\",\n \"slot\": \"Ally\",\n \ \"class\": \"Rogue\",\n \"cost\": 2,\n \"level\": 0,\n \"traits\": \"Ally. @@ -37,7 +37,7 @@ LuaScript: '' LuaScriptState: '' MeasureMovement: false Name: Card -Nickname: Bianca "Die Katz" (0) +Nickname: Bianca "Die Katz" SidewaysCard: false Snap: true Sticky: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 992ccd.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 992ccd.yaml index faa156016..b8a9fe69c 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 992ccd.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bianca Die Katz 992ccd.yaml @@ -3,21 +3,21 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94721 +CardID: 917355 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ NumHeight: 7 NumWidth: 10 Type: 0 UniqueBack: false -Description: '' +Description: Enemy DragSelectable: true GMNotes: "{\n \"id\": \"10063\",\n \"type\": \"Enemy\",\n \"traits\": \"Humanoid. Criminal. Socialite.\",\n \"victory\": 0,\n \"cycle\": \"The Feast of Hemlock diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bide Your Time (0) 24d3b3.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bide Your Time 24d3b3.yaml similarity index 85% rename from unpacked/Bag All Player Cards 15bb07/Card Bide Your Time (0) 24d3b3.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Bide Your Time 24d3b3.yaml index 592ea7349..4f101db29 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bide Your Time (0) 24d3b3.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bide Your Time 24d3b3.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94755 +CardID: 917451 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9174': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632751/4F8200D4B672882FF609D4B1B9D438C61AF20447/ NumHeight: 7 NumWidth: 10 Type: 0 @@ -34,7 +34,7 @@ LuaScript: '' LuaScriptState: '' MeasureMovement: false Name: Card -Nickname: Bide Your Time (0) +Nickname: Bide Your Time SidewaysCard: false Snap: true Sticky: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Black Market (2) 20da53.yaml b/unpacked/Bag All Player Cards 15bb07/Card Black Market (2) 20da53.yaml index 53c958815..ce4a45e1b 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Black Market (2) 20da53.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Black Market (2) 20da53.yaml @@ -12,7 +12,7 @@ CustomDeck: '3790': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126491470/A7FAFA92C08268717F79B2B1C83F8C23DFA6C534/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578722/34A938F2AE5FCEDEF07D645346F9A6570FFF98E4/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Blackmail File de456d.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blackmail File de456d.yaml similarity index 84% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Blackmail File de456d.yaml rename to unpacked/Bag All Player Cards 15bb07/Card Blackmail File de456d.yaml index c60667c31..500094670 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Blackmail File de456d.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blackmail File de456d.yaml @@ -3,18 +3,18 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 9400 +CardID: 917356 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '94': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2195002645128569861/7143A7BF20E37A069E170A21D77C16C91D81374D/ - NumHeight: 1 - NumWidth: 1 + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ + NumHeight: 7 + NumWidth: 10 Type: 0 UniqueBack: false Description: '' @@ -33,7 +33,7 @@ Locked: false LuaScript: '' LuaScriptState: '' MeasureMovement: false -Name: CardCustom +Name: Card Nickname: Blackmail File SidewaysCard: false Snap: true diff --git a/unpacked/Bag All Player Cards 15bb07/Card Blade of Yoth c61a83.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blade of Yoth c61a83.yaml index 9da403822..318fecd60 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Blade of Yoth c61a83.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blade of Yoth c61a83.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94707 +CardID: 917328 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Blessed Blade (4) 9401f4.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blessed Blade (4) 9401f4.yaml index 208b23f66..e31212111 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Blessed Blade (4) 9401f4.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blessed Blade (4) 9401f4.yaml @@ -3,16 +3,16 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 94705 +CardID: 917326 ColorDiffuse: b: 0.71324 g: 0.71324 r: 0.71324 CustomDeck: - '947': + '9173': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/2286207513864999779/940B69318E315879D88F91454332BB6D0DFB03B6/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430632272/9A953338B599473C1631AA82F75004CE941DA8B0/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Blood Will Have Blood (2) e81f1e.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blood Will Have Blood (2) e81f1e.yaml index 9ee958120..e7950b80b 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Blood Will Have Blood (2) e81f1e.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blood Will Have Blood (2) e81f1e.yaml @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Blur (1) 5be76d.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blur (1) 5be76d.yaml index 73a2cce61..92c4da83c 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Blur (1) 5be76d.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blur (1) 5be76d.yaml @@ -3,7 +3,7 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 378947 +CardID: 378938 ColorDiffuse: b: 0.71324 g: 0.71324 @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Blur (4) 5ade28.yaml b/unpacked/Bag All Player Cards 15bb07/Card Blur (4) 5ade28.yaml index ddac27aca..3789cc91a 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Blur (4) 5ade28.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Blur (4) 5ade28.yaml @@ -3,7 +3,7 @@ AltLookAngle: y: 0 z: 0 Autoraise: true -CardID: 378949 +CardID: 378940 ColorDiffuse: b: 0.71324 g: 0.71324 @@ -12,7 +12,7 @@ CustomDeck: '3789': BackIsHidden: true BackURL: http://cloud-3.steamusercontent.com/ugc/2342503777940352139/A2D42E7E5C43D045D72CE5CFC907E4F886C8C690/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126493809/0EE7F5B9B916B56425CAC1C46F7FCEF9DBF55112/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430579575/1F73F1B9316F11895AAD6A82B9AF2E2398FAD2F6/ NumHeight: 7 NumWidth: 10 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/Card Bob Jenkins 419b0c.yaml b/unpacked/Bag All Player Cards 15bb07/Card Bob Jenkins 419b0c.yaml index a89af910c..fd76d5e5f 100644 --- a/unpacked/Bag All Player Cards 15bb07/Card Bob Jenkins 419b0c.yaml +++ b/unpacked/Bag All Player Cards 15bb07/Card Bob Jenkins 419b0c.yaml @@ -11,8 +11,8 @@ ColorDiffuse: CustomDeck: '3795': BackIsHidden: true - BackURL: http://cloud-3.steamusercontent.com/ugc/1625226898126523297/2C981A8D79F76E3533ADD355F8AF406EA72B5162/ - FaceURL: http://cloud-3.steamusercontent.com/ugc/1625226898126522542/E29FEBE196344F3DEE457BE957E9AF18310C6F39/ + BackURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578166/C21CC0E4ADE06C11419F36BAEDED0BDBFF8DE5E3/ + FaceURL: http://cloud-3.steamusercontent.com/ugc/2424696374430578395/F97B770FB90EA18B46F58614CCE0016406E3E777/ NumHeight: 2 NumWidth: 5 Type: 0 diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.ttslua b/unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.ttslua similarity index 92% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.ttslua rename to unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.ttslua index 53d5ca34f..51595cf49 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.ttslua +++ b/unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.ttslua @@ -41,6 +41,9 @@ local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = ( return require, loaded, register, modules end)(nil) +__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) +require("playercards/cards/BookofLivingMyths") +end) __bundle_register("chaosbag/ChaosBagApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local ChaosBagApi = {} @@ -172,6 +175,116 @@ do return GUIDReferenceApi end end) +__bundle_register("playercards/cards/BookofLivingMyths", function(require, _LOADED, __bundle_register, __bundle_modules) +local chaosBagApi = require("chaosbag/ChaosBagApi") +local guidReferenceApi = require("core/GUIDReferenceApi") +local playmatApi = require("playermat/PlaymatApi") + +function onLoad(savedData) + self.addContextMenuItem("Enable Helper", createButtons) + if savedData ~= "" then + local loadedData = JSON.decode(savedData) + if loadedData.loopId then + createButtons() + end + end +end + +function deleteButtons() + self.clearContextMenu() + self.addContextMenuItem("Enable Helper", createButtons) + self.UI.setAttribute("inactives", "active", false) + self.UI.setAttribute("actives", "active", false) + if loopId then Wait.stop(loopId) end + loopId = nil + self.script_state = JSON.encode({ loopId = loopId }) +end + +-- create buttons and begin monitoring chaos bag for curse and bless tokens +function createButtons() + self.clearContextMenu() + self.addContextMenuItem("Clear Helper", deleteButtons) + self.UI.setAttribute("inactives", "active", true) + self.UI.setAttribute("actives", "active", true) + loopId = Wait.time(maybeUpdateButtonState, 1, -1) + self.script_state = JSON.encode({ loopId = loopId }) +end + +function resolveToken(player, _, tokenType) + local matColor + if player.color == "Black" then + matColor = playmatApi.getMatColorByPosition(self.getPosition()) + else + matColor = playmatApi.getMatColor(player.color) + end + + local mat = guidReferenceApi.getObjectByOwnerAndType(matColor, "Playermat") + chaosBagApi.drawChaosToken(mat, true, tokenType) +end + +-- count tokens in the bag and show appropriate buttons +function maybeUpdateButtonState() + local numInBag = getBlessCurseInBag() + local state = { Bless = false, Curse = false } + + if numInBag.Bless >= numInBag.Curse and numInBag.Bless > 0 then + state.Bless = true + end + + if numInBag.Curse >= numInBag.Bless and numInBag.Curse > 0 then + state.Curse = true + end + + setUiState(state) +end + +function getBlessCurseInBag() + local numInBag = { Bless = 0, Curse = 0 } + local chaosBag = chaosBagApi.findChaosBag() + + for _, v in ipairs(chaosBag.getObjects()) do + if v.name == "Bless" then + numInBag.Bless = numInBag.Bless + 1 + elseif v.name == "Curse" then + numInBag.Curse = numInBag.Curse + 1 + end + end + + return numInBag +end + +function setUiState(params) + -- set bless state + if params.Bless then + self.UI.show("Bless") + self.UI.hide("inactiveBless") + else + self.UI.show("inactiveBless") + self.UI.hide("Bless") + end + + -- set curse state + if params.Curse then + self.UI.show("Curse") + self.UI.hide("inactiveCurse") + else + self.UI.show("inactiveCurse") + self.UI.hide("Curse") + end +end + +function errorMessage() + local numInBag = getBlessCurseInBag() + + if numInBag.Bless == 0 and numInBag.Curse == 0 then + broadcastToAll("There are no Bless or Curse tokens in the chaos bag.", "Red") + elseif numInBag.Bless > numInBag.Curse then + broadcastToAll("There are more Bless tokens than Curse tokens in the chaos bag.", "Red") + else + broadcastToAll("There are more Curse tokens than Bless tokens in the chaos bag.", "Red") + end +end +end) __bundle_register("playermat/PlaymatApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local PlaymatApi = {} @@ -520,113 +633,4 @@ do return SearchLib end end) -__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) -require("playercards/cards/BookofLivingMyths") -end) -__bundle_register("playercards/cards/BookofLivingMyths", function(require, _LOADED, __bundle_register, __bundle_modules) -local chaosBagApi = require("chaosbag/ChaosBagApi") -local guidReferenceApi = require("core/GUIDReferenceApi") -local playmatApi = require("playermat/PlaymatApi") - -function onSave() - return JSON.encode({ loopId = loopId }) -end - -function onLoad(savedData) - self.addContextMenuItem("Enable Helper", createButtons) - if savedData ~= "" then - local loadedData = JSON.decode(savedData) - if loadedData.loopId then - createButtons() - end - end -end - -function deleteButtons() - self.UI.setAttribute("inactives", "active", false) - self.UI.setAttribute("actives", "active", false) - self.clearContextMenu() - self.addContextMenuItem("Enable Helper", createButtons) - Wait.stop(loopId) - loopId = nil -end - --- Create buttons and begin monitoring chaos bag for curse and bless tokens -function createButtons() - self.clearContextMenu() - self.addContextMenuItem("Clear Helper", deleteButtons) - self.UI.setAttribute("inactives", "active", true) - self.UI.setAttribute("actives", "active", true) - self.UI.show("inactiveBless") - self.UI.show("inactiveCurse") - self.UI.hide("Bless") - self.UI.hide("Curse") - currentState = "Empty" - loopId = Wait.time(countBlessCurse, 1, -1) -end - -function resolveToken(_, _, tokenType) - local closestMatColor = playmatApi.getMatColorByPosition(self.getPosition()) - local mat = guidReferenceApi.getObjectByOwnerAndType(closestMatColor, "Playermat") - chaosBagApi.drawChaosToken(mat, true, tokenType) -end - --- count tokens in the bag and show appropriate buttons -function countBlessCurse() - local numInBag = { Bless = 0, Curse = 0 } - local chaosBag = chaosBagApi.findChaosBag() - local tokens = {} - for _, v in ipairs(chaosBag.getObjects()) do - if v.name == "Bless" then - numInBag.Bless = numInBag.Bless + 1 - elseif v.name == "Curse" then - numInBag.Curse = numInBag.Curse + 1 - end - end - - if numInBag.Bless > numInBag.Curse then - if currentState ~= "More Bless" then - self.UI.show("Bless") - self.UI.hide("inactiveBless") - self.UI.show("inactiveCurse") - self.UI.hide("Curse") - end - currentState = "More Bless" - elseif numInBag.Curse > numInBag.Bless then - if currentState ~= "More Curse" then - self.UI.show("Curse") - self.UI.hide("inactiveCurse") - self.UI.show("inactiveBless") - self.UI.hide("Bless") - end - currentState = "More Curse" - elseif numInBag.Curse == 0 then - if currentState ~= "Empty" then - self.UI.show("inactiveBless") - self.UI.hide("Bless") - self.UI.show("inactiveCurse") - self.UI.hide("Curse") - end - currentState = "Empty" - else - if currentState ~= "Equal" then - self.UI.show("Bless") - self.UI.hide("inactiveBless") - self.UI.show("Curse") - self.UI.hide("inactiveCurse") - end - currentState = "Equal" - end -end - -function errorMessage () - if currentState == "Empty" then - broadcastToAll("There are no Bless or Curse tokens in the chaos bag.","Red") - elseif currentState == "More Bless" then - broadcastToAll("There are more Bless tokens than Curse tokens in the chaos bag.","Red") - else - broadcastToAll("There are more Curse tokens than Bless tokens in the chaos bag.","Red") - end -end -end) return __bundle_require("__root") \ No newline at end of file diff --git a/unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.xml b/unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.xml similarity index 52% rename from unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.xml rename to unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.xml index acdc975e2..734ed66a8 100644 --- a/unpacked/Bag All Player Cards 15bb07/CardCustom Book of Living Myths c5fb1f.xml +++ b/unpacked/Bag All Player Cards 15bb07/Card Book of Living Myths c5fb1f.xml @@ -4,10 +4,20 @@ font="font_teutonic-arkham" fontSize="300" iconWidth="400" - iconAlignment="Right"/> + iconAlignment="Right" + text="Resolve"/> + + + + +