From d94c5c6cc057853b70f8b96cc813ed8a736cc1f2 Mon Sep 17 00:00:00 2001 From: yhqe Date: Sun, 28 Jun 2026 11:30:57 -0500 Subject: [PATCH] first commit --- .gitignore | 60 + EXCLUSIVES.md | 106 + assets/BurbankBigCondensed-Black.ttf | Bin 0 -> 221204 bytes assets/Fortnite_Master_Exclusive_List.txt | 178 + assets/font_test.png | Bin 0 -> 3649 bytes checker/.gitignore | 1 + checker/README.md | 27 + checker/accounts/placeholder.txt | 0 checker/badges/alpha1.png | Bin 0 -> 3644 bytes checker/badges/alpha2.png | Bin 0 -> 5234 bytes checker/badges/alpha3.png | Bin 0 -> 10092 bytes checker/badges/epic.png | Bin 0 -> 7234 bytes checker/badges/icon/alpha1.png | Bin 0 -> 10067 bytes checker/badges/icon/alpha2.png | Bin 0 -> 13968 bytes checker/badges/icon/alpha3.png | Bin 0 -> 29193 bytes checker/badges/icon/epic.png | Bin 0 -> 9108 bytes checker/commands.py | 2002 +++ checker/cosmetic.py | 24 + checker/cosmetic_icons/Backblings.png | Bin 0 -> 4142 bytes checker/cosmetic_icons/Emotes.png | Bin 0 -> 3392 bytes checker/cosmetic_icons/Exclusives.png | Bin 0 -> 15487 bytes checker/cosmetic_icons/Gliders.png | Bin 0 -> 4648 bytes checker/cosmetic_icons/Outfits.png | Bin 0 -> 2958 bytes checker/cosmetic_icons/Pickaxes.png | Bin 0 -> 4468 bytes checker/cosmetic_icons/Popular.png | Bin 0 -> 9203 bytes checker/cosmetic_icons/WantedStar.png | Bin 0 -> 10273 bytes checker/cosmetic_icons/Wraps.png | Bin 0 -> 14496 bytes checker/epic_auth.py | 690 + checker/exclusive.txt | 415 + checker/homebase_data.txt | 14823 ++++++++++++++++ checker/img/logo.png | Bin 0 -> 7283 bytes checker/img/styles/legacy.png | Bin 0 -> 3131282 bytes checker/img/styles/modern.png | Bin 0 -> 3047655 bytes checker/img/styles/origin.png | Bin 0 -> 3356133 bytes checker/img/styles/rift.png | Bin 0 -> 2914990 bytes checker/img/styles/storm.png | Bin 0 -> 3346994 bytes checker/most_wanted.txt | 148 + checker/renderer.py | 1 + checker/styles/kayy/font.ttf | Bin 0 -> 112796 bytes checker/styles/kayy/rarity/common.png | Bin 0 -> 2505 bytes checker/styles/kayy/rarity/dark.png | Bin 0 -> 33192 bytes checker/styles/kayy/rarity/dc.png | Bin 0 -> 24184 bytes checker/styles/kayy/rarity/epic.png | Bin 0 -> 14704 bytes checker/styles/kayy/rarity/frozen.png | Bin 0 -> 19984 bytes checker/styles/kayy/rarity/gaminglegends.png | Bin 0 -> 29022 bytes checker/styles/kayy/rarity/icon.png | Bin 0 -> 35253 bytes checker/styles/kayy/rarity/lava.png | Bin 0 -> 31472 bytes checker/styles/kayy/rarity/legendary.png | Bin 0 -> 21016 bytes checker/styles/kayy/rarity/marvel.png | Bin 0 -> 15344 bytes checker/styles/kayy/rarity/mythic.png | Bin 0 -> 18843 bytes checker/styles/kayy/rarity/rare.png | Bin 0 -> 18621 bytes checker/styles/kayy/rarity/shadow.png | Bin 0 -> 1466 bytes checker/styles/kayy/rarity/slurp.png | Bin 0 -> 8160 bytes checker/styles/kayy/rarity/starwars.png | Bin 0 -> 13280 bytes checker/styles/kayy/rarity/uncommon.png | Bin 0 -> 18799 bytes checker/styles/legacy/font.ttf | Bin 0 -> 22208 bytes checker/styles/legacy/rarity/common.png | Bin 0 -> 36284 bytes checker/styles/legacy/rarity/dark.png | Bin 0 -> 31448 bytes checker/styles/legacy/rarity/dc.png | Bin 0 -> 28671 bytes checker/styles/legacy/rarity/epic.png | Bin 0 -> 36396 bytes checker/styles/legacy/rarity/frozen.png | Bin 0 -> 26682 bytes .../styles/legacy/rarity/gaminglegends.png | Bin 0 -> 28929 bytes checker/styles/legacy/rarity/icon.png | Bin 0 -> 21355 bytes checker/styles/legacy/rarity/lava.png | Bin 0 -> 30326 bytes checker/styles/legacy/rarity/legendary.png | Bin 0 -> 38578 bytes checker/styles/legacy/rarity/marvel.png | Bin 0 -> 21368 bytes checker/styles/legacy/rarity/mythic.png | Bin 0 -> 41405 bytes checker/styles/legacy/rarity/rare.png | Bin 0 -> 43190 bytes checker/styles/legacy/rarity/shadow.png | Bin 0 -> 15797 bytes checker/styles/legacy/rarity/slurp.png | Bin 0 -> 17901 bytes checker/styles/legacy/rarity/starwars.png | Bin 0 -> 17587 bytes checker/styles/legacy/rarity/uncommon.png | Bin 0 -> 32691 bytes checker/styles/raika/font.ttf | Bin 0 -> 113160 bytes checker/styles/raika/rarity/common.png | Bin 0 -> 5836 bytes checker/styles/raika/rarity/dark.png | Bin 0 -> 31448 bytes checker/styles/raika/rarity/dc.png | Bin 0 -> 28671 bytes checker/styles/raika/rarity/epic.png | Bin 0 -> 2037 bytes checker/styles/raika/rarity/frozen.png | Bin 0 -> 26682 bytes checker/styles/raika/rarity/gaminglegends.png | Bin 0 -> 28929 bytes checker/styles/raika/rarity/icon.png | Bin 0 -> 21355 bytes checker/styles/raika/rarity/lava.png | Bin 0 -> 30326 bytes checker/styles/raika/rarity/legendary.png | Bin 0 -> 1954 bytes checker/styles/raika/rarity/marvel.png | Bin 0 -> 21368 bytes checker/styles/raika/rarity/mythic.png | Bin 0 -> 8810 bytes checker/styles/raika/rarity/rare.png | Bin 0 -> 8693 bytes checker/styles/raika/rarity/shadow.png | Bin 0 -> 15797 bytes checker/styles/raika/rarity/slurp.png | Bin 0 -> 17901 bytes checker/styles/raika/rarity/starwars.png | Bin 0 -> 17587 bytes checker/styles/raika/rarity/uncommon.png | Bin 0 -> 5637 bytes checker/styles/rift/font.ttf | Bin 0 -> 112796 bytes checker/styles/rift/rarity/common.png | Bin 0 -> 1979 bytes checker/styles/rift/rarity/dark.png | Bin 0 -> 31448 bytes checker/styles/rift/rarity/dc.png | Bin 0 -> 1984 bytes checker/styles/rift/rarity/epic.png | Bin 0 -> 1981 bytes checker/styles/rift/rarity/frozen.png | Bin 0 -> 26682 bytes checker/styles/rift/rarity/gaminglegends.png | Bin 0 -> 28929 bytes checker/styles/rift/rarity/icon.png | Bin 0 -> 1955 bytes checker/styles/rift/rarity/lava.png | Bin 0 -> 30326 bytes checker/styles/rift/rarity/legendary.png | Bin 0 -> 1831 bytes checker/styles/rift/rarity/marvel.png | Bin 0 -> 1789 bytes checker/styles/rift/rarity/mythic.png | Bin 0 -> 1973 bytes checker/styles/rift/rarity/rare.png | Bin 0 -> 1971 bytes checker/styles/rift/rarity/shadow.png | Bin 0 -> 15797 bytes checker/styles/rift/rarity/slurp.png | Bin 0 -> 17901 bytes checker/styles/rift/rarity/starwars.png | Bin 0 -> 14418 bytes checker/styles/rift/rarity/uncommon.png | Bin 0 -> 1857 bytes checker/styles/storm/font.ttf | Bin 0 -> 112796 bytes checker/styles/storm/rarity/common.png | Bin 0 -> 15435 bytes checker/styles/storm/rarity/dark.png | Bin 0 -> 104253 bytes checker/styles/storm/rarity/dc.png | Bin 0 -> 24184 bytes checker/styles/storm/rarity/epic.png | Bin 0 -> 27881 bytes checker/styles/storm/rarity/frozen.png | Bin 0 -> 19984 bytes checker/styles/storm/rarity/gaminglegends.png | Bin 0 -> 29022 bytes checker/styles/storm/rarity/icon.png | Bin 0 -> 35253 bytes checker/styles/storm/rarity/lava.png | Bin 0 -> 31472 bytes checker/styles/storm/rarity/legendary.png | Bin 0 -> 25742 bytes checker/styles/storm/rarity/marvel.png | Bin 0 -> 30679 bytes checker/styles/storm/rarity/mythic.png | Bin 0 -> 33438 bytes checker/styles/storm/rarity/rare.png | Bin 0 -> 27333 bytes checker/styles/storm/rarity/shadow.png | Bin 0 -> 1466 bytes checker/styles/storm/rarity/slurp.png | Bin 0 -> 8160 bytes checker/styles/storm/rarity/starwars.png | Bin 0 -> 13280 bytes checker/styles/storm/rarity/uncommon.png | Bin 0 -> 30529 bytes checker/telegram_bot.py | 112 + checker/user.py | 75 + checker/users/placeholder.txt | 0 checker/utils.py | 35 + package-lock.json | 1470 ++ package.json | 20 + pnpm-lock.yaml | 849 + src/add-icons.js | 249 + src/bot.js | 2029 +++ src/verify.js | 402 + start.bat | 4 + 134 files changed, 23720 insertions(+) create mode 100644 .gitignore create mode 100644 EXCLUSIVES.md create mode 100644 assets/BurbankBigCondensed-Black.ttf create mode 100644 assets/Fortnite_Master_Exclusive_List.txt create mode 100644 assets/font_test.png create mode 100644 checker/.gitignore create mode 100644 checker/README.md create mode 100644 checker/accounts/placeholder.txt create mode 100644 checker/badges/alpha1.png create mode 100644 checker/badges/alpha2.png create mode 100644 checker/badges/alpha3.png create mode 100644 checker/badges/epic.png create mode 100644 checker/badges/icon/alpha1.png create mode 100644 checker/badges/icon/alpha2.png create mode 100644 checker/badges/icon/alpha3.png create mode 100644 checker/badges/icon/epic.png create mode 100644 checker/commands.py create mode 100644 checker/cosmetic.py create mode 100644 checker/cosmetic_icons/Backblings.png create mode 100644 checker/cosmetic_icons/Emotes.png create mode 100644 checker/cosmetic_icons/Exclusives.png create mode 100644 checker/cosmetic_icons/Gliders.png create mode 100644 checker/cosmetic_icons/Outfits.png create mode 100644 checker/cosmetic_icons/Pickaxes.png create mode 100644 checker/cosmetic_icons/Popular.png create mode 100644 checker/cosmetic_icons/WantedStar.png create mode 100644 checker/cosmetic_icons/Wraps.png create mode 100644 checker/epic_auth.py create mode 100644 checker/exclusive.txt create mode 100644 checker/homebase_data.txt create mode 100644 checker/img/logo.png create mode 100644 checker/img/styles/legacy.png create mode 100644 checker/img/styles/modern.png create mode 100644 checker/img/styles/origin.png create mode 100644 checker/img/styles/rift.png create mode 100644 checker/img/styles/storm.png create mode 100644 checker/most_wanted.txt create mode 100644 checker/renderer.py create mode 100644 checker/styles/kayy/font.ttf create mode 100644 checker/styles/kayy/rarity/common.png create mode 100644 checker/styles/kayy/rarity/dark.png create mode 100644 checker/styles/kayy/rarity/dc.png create mode 100644 checker/styles/kayy/rarity/epic.png create mode 100644 checker/styles/kayy/rarity/frozen.png create mode 100644 checker/styles/kayy/rarity/gaminglegends.png create mode 100644 checker/styles/kayy/rarity/icon.png create mode 100644 checker/styles/kayy/rarity/lava.png create mode 100644 checker/styles/kayy/rarity/legendary.png create mode 100644 checker/styles/kayy/rarity/marvel.png create mode 100644 checker/styles/kayy/rarity/mythic.png create mode 100644 checker/styles/kayy/rarity/rare.png create mode 100644 checker/styles/kayy/rarity/shadow.png create mode 100644 checker/styles/kayy/rarity/slurp.png create mode 100644 checker/styles/kayy/rarity/starwars.png create mode 100644 checker/styles/kayy/rarity/uncommon.png create mode 100644 checker/styles/legacy/font.ttf create mode 100644 checker/styles/legacy/rarity/common.png create mode 100644 checker/styles/legacy/rarity/dark.png create mode 100644 checker/styles/legacy/rarity/dc.png create mode 100644 checker/styles/legacy/rarity/epic.png create mode 100644 checker/styles/legacy/rarity/frozen.png create mode 100644 checker/styles/legacy/rarity/gaminglegends.png create mode 100644 checker/styles/legacy/rarity/icon.png create mode 100644 checker/styles/legacy/rarity/lava.png create mode 100644 checker/styles/legacy/rarity/legendary.png create mode 100644 checker/styles/legacy/rarity/marvel.png create mode 100644 checker/styles/legacy/rarity/mythic.png create mode 100644 checker/styles/legacy/rarity/rare.png create mode 100644 checker/styles/legacy/rarity/shadow.png create mode 100644 checker/styles/legacy/rarity/slurp.png create mode 100644 checker/styles/legacy/rarity/starwars.png create mode 100644 checker/styles/legacy/rarity/uncommon.png create mode 100644 checker/styles/raika/font.ttf create mode 100644 checker/styles/raika/rarity/common.png create mode 100644 checker/styles/raika/rarity/dark.png create mode 100644 checker/styles/raika/rarity/dc.png create mode 100644 checker/styles/raika/rarity/epic.png create mode 100644 checker/styles/raika/rarity/frozen.png create mode 100644 checker/styles/raika/rarity/gaminglegends.png create mode 100644 checker/styles/raika/rarity/icon.png create mode 100644 checker/styles/raika/rarity/lava.png create mode 100644 checker/styles/raika/rarity/legendary.png create mode 100644 checker/styles/raika/rarity/marvel.png create mode 100644 checker/styles/raika/rarity/mythic.png create mode 100644 checker/styles/raika/rarity/rare.png create mode 100644 checker/styles/raika/rarity/shadow.png create mode 100644 checker/styles/raika/rarity/slurp.png create mode 100644 checker/styles/raika/rarity/starwars.png create mode 100644 checker/styles/raika/rarity/uncommon.png create mode 100644 checker/styles/rift/font.ttf create mode 100644 checker/styles/rift/rarity/common.png create mode 100644 checker/styles/rift/rarity/dark.png create mode 100644 checker/styles/rift/rarity/dc.png create mode 100644 checker/styles/rift/rarity/epic.png create mode 100644 checker/styles/rift/rarity/frozen.png create mode 100644 checker/styles/rift/rarity/gaminglegends.png create mode 100644 checker/styles/rift/rarity/icon.png create mode 100644 checker/styles/rift/rarity/lava.png create mode 100644 checker/styles/rift/rarity/legendary.png create mode 100644 checker/styles/rift/rarity/marvel.png create mode 100644 checker/styles/rift/rarity/mythic.png create mode 100644 checker/styles/rift/rarity/rare.png create mode 100644 checker/styles/rift/rarity/shadow.png create mode 100644 checker/styles/rift/rarity/slurp.png create mode 100644 checker/styles/rift/rarity/starwars.png create mode 100644 checker/styles/rift/rarity/uncommon.png create mode 100644 checker/styles/storm/font.ttf create mode 100644 checker/styles/storm/rarity/common.png create mode 100644 checker/styles/storm/rarity/dark.png create mode 100644 checker/styles/storm/rarity/dc.png create mode 100644 checker/styles/storm/rarity/epic.png create mode 100644 checker/styles/storm/rarity/frozen.png create mode 100644 checker/styles/storm/rarity/gaminglegends.png create mode 100644 checker/styles/storm/rarity/icon.png create mode 100644 checker/styles/storm/rarity/lava.png create mode 100644 checker/styles/storm/rarity/legendary.png create mode 100644 checker/styles/storm/rarity/marvel.png create mode 100644 checker/styles/storm/rarity/mythic.png create mode 100644 checker/styles/storm/rarity/rare.png create mode 100644 checker/styles/storm/rarity/shadow.png create mode 100644 checker/styles/storm/rarity/slurp.png create mode 100644 checker/styles/storm/rarity/starwars.png create mode 100644 checker/styles/storm/rarity/uncommon.png create mode 100644 checker/telegram_bot.py create mode 100644 checker/user.py create mode 100644 checker/users/placeholder.txt create mode 100644 checker/utils.py create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src/add-icons.js create mode 100644 src/bot.js create mode 100644 src/verify.js create mode 100644 start.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0e5aa1c --- /dev/null +++ b/.gitignore @@ -0,0 +1,60 @@ +# Node +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnp/ +.pnp.js +dist/ +build/ +out/ +coverage/ + +# pnpm (keep pnpm-lock.yaml) +pnpm-debug.log* + +# Logs +logs/ +*.log + +# Environment +.env +.env.* + +# Editor directories and files +.vscode/ +.idea/ +*.suo +*.ntvs* +*.njsproj +*.sln + +# Python +__pycache__/ +*.py[cod] +*$py.class +venv/ +.venv/ +env/ +pip-wheel-metadata/ +*.egg-info/ +.pytest_cache/ +.mypy_cache/ +.coverage +htmlcov/ + +# Secrets and keys +*.pem +*.key +*.crt +secrets.* + +# OS files +.DS_Store +Thumbs.db +Desktop.ini +ehthumbs.db + +# Misc caches +.cache/ +.parcel-cache/ diff --git a/EXCLUSIVES.md b/EXCLUSIVES.md new file mode 100644 index 0000000..583e779 --- /dev/null +++ b/EXCLUSIVES.md @@ -0,0 +1,106 @@ +ALL EXCLUSIVE AND OG ITEMS THAT ARE SUPPOSED TO BE LABELED MYTHIC IN THE SKIN CHECK! +Season 1 exclusives +Season 2 Battle Pass exclusives +Promotional exclusives (Samsung, Nintendo, PlayStation, Xbox, Twitch Prime, Intel, NVIDIA, etc.) +Founder exclusives +Tournament exclusives +Creator/Search for Survivors exclusives +Limited-time challenge exclusives + +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +OG Skins +Renegade Raider +Aerial Assault Trooper +Black Knight +Blue Squire +Royale Knight +Sparkle Specialist +The Reaper +Elite Agent +Omega (fully upgraded) +Purple Skull Trooper +Pink Ghoul Trooper +Exclusive Skins +Galaxy +IKONIK +Glow +Wonder +Honor Guard +Eon +Dark Vertex +Double Helix +Neo Versa +Royale Bomber +Wildcat +Stealth Reflex +Reflex (original) +Rogue Spider Knight +Huntmaster Saber +Surf Strider +Blue Team Leader +Blue Striker +Carbon Commando +Prodigy +Cloud Striker +Fixer +Point Patroller +Trailblazer +OG Pickaxes +Raider's Revenge +Aerial Assault One +AC/DC +Trusty No. 2 +Party Animal +OG / Exclusive Emotes +Fresh +Rambunctious +Tidy +Floss +Take the L +Orange Justice +Ride the Pony +Pony Up +Scenario +Evasive Maneuvers +Widow's Pirouette +Hot Marat +Kiss the Cup +Rare Banners +Battle Bus Banner +Alpha Tester Banner +Founder's Banners +Frostnite 128 Banner +FNCS Champion Banners +World Cup Finalist Banners +Fall Skirmish Banner +Summer Skirmish Banner +Galaxy Banner +IKONIK Banner +Glow Banner +Wonder Banner +Honor Guard Banner +EON Banner +Dark Vertex Banner +Double Helix Banner +Neo Versa Banner +Wildcat Banner +Search for Survivors Creator Banners +PewDiePie Banner +VanossGaming Banner +Muselk Banner +Jesse Cox Banner +Dhalucard Banner +Folagor03 Banner +Ionix_TV Banner +JesusAVGN Banner +OrkPod Banner +Rare Emoticons +Founder Emoticons +Galaxy Emoticon +IKONIK Emoticon +Glow Emoticon +Wonder Emoticon +Honor Guard Emoticon +Twitch Prime Emoticons +Early Battle Pass Emoticons \ No newline at end of file diff --git a/assets/BurbankBigCondensed-Black.ttf b/assets/BurbankBigCondensed-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..af695a76616df2f24910ec0e560404e8cf06eee8 GIT binary patch literal 221204 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%0D@Qx~pW_|U@d-IaOQp}XE&l(T5_qWA8u zy8F$=vlj1Nd}B$&lDA7{lw7zc@1CBe=F+mImr8R=cbEREY+BjTvOh0tT=whbbC(}l z{>h4(6>qPcwesp^&d%yd=rnIK=rsGY&ZH{c7*Sx#=T1#rn=9ZUQ zuD52jHnm=D%WT`*cB8$e{bc*EHYRS|xbdZq$d0m(ogHs(3g1+@Y5%4dHoe;!-8r}O zQ0MPAhi}f=T(fy5+_D67Q?Iujjt2TkTsL zwm!4y0I>fI-IUw<&%Gj?w^pzV&TaNzf$-*a}>51!k zxaaz@rN_=34?6y(nrMe_H4}Amb1S-xAfeFr-PoZdHTg?!k;<%^}?@Tezx%0jn7^= zKji$3^G)Y3Ua((y_`+My4SjC@bA1;_UEF-}_s`FL{=%j3OZAuD{YK_D4u0eM3rk-( z`OWZeKJ?8`UhI1Dy>Bi2*14BPytMnZEk?Q7p@_|Dtk&H3)}?+y80!}osia>>ij zy!_rPNw1W>((}rVSLeNY-<9qwk6t-=rRPfDl}lG%x$@SPUtM|c z^--^vyng)kAAUde`|-uiLLk9&T6?Z^mAOe+al5<40rG zHNdslcQn=~u|ruZkC|OjxjdC^8WV$D?q6o z*)IF5q@VcP%_gj7H=6}^2;3s@Vc>5!_aaNSn`@IODjF&;hPXVbF zF9RP!%I;O@LkwU!R(sWSV*OW5m%t8i<5j`rRdchn_kz+_&Bx^GQ5pY~z~27LvWg8b zvHvRIQPj>B8_)G$1H35h=lkD6`w~auFGf;EfGY%+_kSPl3h7@hutp&8K|k;TY?7X4 zf$c^ldVnDycm=q*{~f?B(z8w0yx#~%&kkvK8!>3_lDQ8{8?>MYv;ZEI_E)6;sI2g$ z^c_hiD&_)q17pyub?rpOgNJ(teq9g?sR0T#Xh4xQgpjnt)BHwk(0Y05`Km z`r$FqhMxq4o?vDyW|aueC4zH_Fo_1U@J5A|bA03@C~KTp{fWjyIjsb_r~fp631! z(BC3G?b6eM@1~TPo1|y65sCH|>E9+jJHV3?vs-%LkEqg41= zYGg`Jj?5+ZN`-r+!o5=Ch|D72O2IeICErR7@~sr#HwC1x10{|&S=|SQP-2b9k2K@{NEa`s_5cv||3Tdz67A#QmD9l|68;<}??mr4>m-ZNGkA-Jj39Vp1ZG0u} zjKu)bu2;gY32TARO6VusPsrRO0(%9XmAU7oeL>)Jvcg4~MO|G9T?JNR<13*Re?@x* z>}Vyp@d+R@7C>t6O0oBqChdJC`12xQGvu-o{CO6T{8fb=S>#2b|3H(YMO7sP_P za^Y&Zk%%$n;yKH~)yrtx!R>NbI@{!GIk?K6Oli~7%VBZsUn1+&V)t_6iT>XJ(p#1r zM~x)FUYXS=JD!#C=cVU@z~^M-MOoo_X}`=Bz~OfQOP~Yg;P4xOE2Le{G4K!A7aS(6 z6o``%+Bg{jI;5vc)~O~|%x3_d;C4Cekv%SHuQz6+-30EHOOz=Wxs)U4;X1U(a#&(G zAfs@(dB4CNvf55)X}S4;z;4-bm$Y|F`$1_xByf+who%1!+4oWD`Le*h0{6+){nBO} zFE<|-ctGGm+4l))9};+2#?z;jn_m$;k3t{HO?+1u@R;;dE6R~il1rzg=d{45WaJqc z`8DaGXD&C-O8cDf`Dx6m5Pw?%e|rt>Wax7RwBjwmG1ATeRu#|(_UC}x70`$4fKSMn zBam+eq|bhO+6s7njyx|{F9@W+tw2u2bzWwVma8$wRlo|c7bJTXke;?ed~5|Qj#qcc+-_+zzp4-) zTVXydZTi>>WUyTSF=^AsR)~+S!0!WbJiTj$$rxH;o)AdCS|Pbg1+py8eHw5za;*;m z6W~u)BhS1J$hfu|-pmG=BUhIoa;-+>`YYg3nRQ;SUJ%HPbTzp5KHw$Jh5xw>$oRfm z;`?gBe6{%q$0J634EUH40!WQo4Q#Ih63^A<8MM~`tM>tk)f&NS4gBq2(H;$acn2y1 za4hy+BXNHX@Vt&T@mwQW(;A8UYs9av0nS{Feszt}Cu`ELu0h-#e*ts}WCU4b?v^oo;U_DB`ELM;d8J@pDUqU5w6{{Uw-WgC zDz&!~RB$}=hf2}mO3?B?+DrPM2V|tElo(MdIZP#_z@DQrt5?>cK37U6Qz@BDB`EqS zdM<*lN=O7yXsHzZD@87qB9}_Z-zrUdj7s?Sj{*0Bu1ZM921w~t@+63}8S~q<2L1C| zV>I?%i-<;eRC?$?*BbPnYgyZY2juv5GJc(mUnk?&VSFI^IewjtUx&Yiro*7VIY8HS zKx&r*v=Cl`TpWVG1Nh^r;O`Lp9l-ws^bmgs@V@~_?Q#hI4&cvzYL`Q(aENwQiCn5= zuPX5BI?l$=3#9a`giBS}l*kjUcDfYr4s>O4#gv`2Y!NU&$c{-~# z&PxAzX&hjn5{ zb)tuL;tlG=n(D;k)j?Zsm~}#3o#;%RXiL4=NWExFJ@n+dSq}|)1CZXJ9)92&AY)m* z!P7*&&{Z#|iF#1?UGy;W){9NmgVL*LGse}+X`&t)!quqZ^%C9cD_sV#l+}*%A1~9q*4B!}n83Ho} zPVe81{#rzTx8&Y#gI4SYS2>p%Y&ZBr=#ZW&?gA}+5wJ#9b_%55b3;qH7o(CJIX2f}CC3eJu+1FXEn4b^ zesahA1rui1Zj;%yTe536WPKFvUDCf>_F{JJHXo8*m|eS}16-5YwcBKN?KYWRyP?U1 z`{XLKYqwO%+>%|pO=j0_@eFR0*|pnbcI}3qb2Zwy8~XDs;894*E!nkOvTHXa#W5!Y zGP`!0r)Br2WF)g|x5@0s>(R!%dPSH9yUIXc8~c1WvMlpRD33|&FSY2$wnVoI=!zNJ5HJ`@# zW}&nh9+ho+)Mn@^+oZi2-V#tKZ3d<9qFsuWn?Wzz^o`9zZ?pJ>X7LHl;uD(1H#WmJ za(tbv!~DM)^x6PPZ?pKuX377XK`-~BZ)_HNn?Wzv=lQN#sBV^1K(oZ_W~s6^i=Szh zsNF2Sv03~~vz!8&p+8)WzOh+O0nJh;X@+m)UOWplOJr}B%1JYPBl}rDX$F@_Bjaof zJWPz)B7UO|u#9;`<~}MtUlz!C*8!Ol z&;8Q#n83#c9uRo2|JS(6vuy{w1mR)$q7HZow!hMU36NP_2mAw9qkrgte;`(;WXx%S z%DHhr( z`AnyHr%v%so#K}|#V>V=U+NS)?G(S%DSoL_{8A@$;D*@=iC+h#U+NUU)CoI{L7Tp) zQ+!b;Wc?o6n}Jm)s3T;q(kWi3Q@l{8c%e@5J%^330l~u7wQx*)G1!5 zODO6Rin@fNE}^JPDC!c5x`d)Gp{PqJ>Jo~&grY8?s7om75{kNnqAsDRODO6Rin@fN zE}^JPDC!c5x`d)Gp{PqJ>Jo~&grY8?s7om75{kNnqAsDRODO6Rin@fNEs~RLk(^`; zPAgXtM|q~+0*VNE0^K4peG6!L5p7o2w}^+?B2i$AWF}jH=Na@fGuZ+RF9U9awrmk? z*&;c~7SWI`z~PL!RrcK~`)-wex5~a-W#6r`?^fA&tL(c~_T4J`Zk2tv%D!7=->tIm zR@rx}?7LO=-75QTm3_C$zT2?c2j(`cb{&w_=51K>T|icww_&wwfSZB&Hmvp$V7K(M zR{vdebaWxMRMU3S?nyKI+TcF4JVhn$6X$hmumoV#~`d)Lezz~L$&&)qvj z$99Nz?Z93ipoccT1AE;7JXG z;SWfj{{V0cLi+^heE`<+F{mQd-D36K!sl+W{cf@SZn6DtvHfo0OgA_aVs?v-cf-a% zK$~8xTln7%tgxC$p?TkN-6aO;+HQ@3!e8yw?EW=h>+(cNOv-I5!0%PFZ_?01*o zwo9IB!;JgQ`MPdxAse1(HJ%a5X!FCU@y@7t# zKpp{xLjb$6?;}F#BjD%9Xj2dOLIbY>QUmuw1KG|H$h$v#k=w9`8n_qs1&9cX9>IC9 zXy9Jp{4si{fqPL|!J49hd*!apURc~^^icQqVhyf9-P(q#`lSh?-Lu}2OGa^?h_l|CpxxIv}>Q(_&%}mePZML#K!lDjqej1-zPS{ zPi%aj*!X^t>3-3u{o<4Ni(c&)z1lC@zF)L`zsP;R$bG+P`+jiX2EKVtZQn1L><0(f z=GkFCB*->v1^Y$Y_d^P7^F**;^nAbQ`F_D|zeo_@W5=umg4F@R>VRN%K(IO>SRD|o z4hU8U1gisr)d9ikfM9h%usR@E9T2Pz2v!FKs{?}70m15kV0A#SIv`jb09L?3usR@E z9T2Pz0;{W#9Ao7{iCG7+`?Kajv4Vrx3;o!IkXm<8tl*$n!9mf$gR;v(S^pr`zlu+2xSza!7VLB)c4vT@J}Ehh&#Svdbaa<&f-hNOn0S zyBv~T4#_TuMaK?{jvW>qJ1jbO7<*ka51Z7n!=ht{vEvQ2>GKbZjvW>qJ1jbO7<+w; zepUhx3&#$NjvW>qJ1jbOMD{u&dmWLzj>uj|WUnK#*Adz4i0pMl_BtYa9g)3`$X-We zuOqV85!vgA>~%!;IwE@=1>dgW)cw3b(sC5*zXiw|0&;3ZmZQiV*xn-j%xsTJwr~^? z_C@na;nkDEr5>rD^ho`r2VUZg*#j>@$off-!TL#$oR4~>e$peSq#miC^ho`rN9rd% zavJJEmiQ6AdC&SukJL|kkTJ4{^^+c{pY*`PU}b1BA?qhSI1TYC>nAx(j)bg z9`Nlgw0S1#5zpBJ?y=4KNspX~dW7~KnA-@Kk1SBNsrV|dZd2RBlVLWsh{*n{iFwZ5!Yn>q(|;f_DKDt2lc~9 z^ss)?BlVLWsh{*n{iFxkFZs;+$uY@5j!6b`44N5(9%dlNBm+4H$-am-GmvBA|Bs3P zKZY8k%{&I_d<@78ZDM2Qm8vA)SZ+aPs)xbg}ReM z-ASSDq)>NKs5>dtofPU$3Uw!ix|2fPNulnfPP`uDr-ZswLft8$?vzk>N~k*})SVLQP6>6VB||t34Y_8XhK3L_t2r&U zd0MiX(^%hz9@fuKOIC9l>qnx^tmZVdf>)V?oyN)>!>r~sbmJPdob}$PKm{T1f;|N) z0HqH06e`R?X!EI(r@+0dfP7NxDe&r9K%Uf|0y_$IuT+P6r8?A$sLd64=c^ak-T?eIaKQ7u zun0cidlit?pQJv#hkC^m_KGL$ z1-IExPuMHfpBeG<$1U^i^@UO=Bza{45eofT_6E3u5fQxt<=E24bQ zN-R4ovFxnGva=G)&PpshE3pjEx+B)`S$9I7WzIq(gp6fpC6=9)Saw!o*;$EYXC;=M zl~{IGV%b@VWoIRpot0R2R$|#%iDl=Y58-&rUpe&ioLKZZNbq0LZjpXIxq1%X={g`Q zFz3XFp95#u&wBOKn0pzJr|hT2S3fPD`Du7&_Tc=EZ^_tIxBiAE+W5}5r>$_uc9N&f z-v^rOX$Kft#sW`!h%wUW^t1zw7~^qIJIF{dzUFBMq9u{*=E%mg+jq!1Lo_3@W8&~dWM;U=}ZoFYg4dLrvD&yKbZDov& zd&ko@jqtcXd)fiUx_Hym9%AIgS9#ijMr!=yo^}xWU-Gnrjr-&O=xK)-_7P2`eR<%sj)f zuXo!FS%lyT`;oyP?}WK;%Ka~&vmxC>KcK4W;!lbXAU0b zV?ljeThp{jlR7#&GV4j5%S&BmwR?l#)iy^%gJv4~2d`(J=WcAXm%3})Ivg!d`yy90 znP#6|*Wz?;a5lEtZ1a~aD=oG!SUh)GY1z^R#ijO=rAy{6n^RV5zkBv7`{E^K_M&3@ z(&DmZOBWZA;>XPDhQst)8s1cDGjpsoM62hR!keqE5T3v6aL?{x`ADUQ0S!J#?ho zJKgPe5+qA;LYo_FJMC@GmJO}sziiZ?$<4g=azF$UakR8`xFIvH<{4ju-CFG6xgB~? zU~h4>Vp-Q_Zd2pjh&5a7)$YbdXLXws6zPpy9UGkXMyIR=?ez?_Z*X+ltDNcfs`fTJ zC~tJPVUrCmJuw|h)70W>#OmqZUD)2}s&TsQHLljC2Fxc-u0}^gx_wT`vUEGK1)tie zq(IZr*lBInQI9XY3L6G+iyK=s0Ab9rRu(=vZ|06D4QACj8=Wlh-1!S&sQxnA`8?=IPmXNG%?KN&;t7w8Hje%-lsf{%?-QHxWWLtYnqj1bS#@V>h z+2C$++S?le8?}T7Bbsi{&d$rXuYxEVIvedv-Hw`cdx;x#Evc=Ag4m1Po9x*I1?kq1 zbXb0agEok%Qzz#ZWMs+ZWtpX!vomeB>`Z&Hqq_cPj)){7id(6s1M0QOwV{0j6~5KA z$t&g0*VG0#1VEj4_>|U`L&e?D-q7aC(0YzVeGIp^H`UR@VFc)`a@w2PTdM0}+1gxW z9{6f0BhANAUF~kE@t7yD^-{DEh7cV9*n&di+`)N&#rMpmSvsL_`4mAjymiHWE;WPjp%M^ zcgiKN|7fwh=v+Pf00o#R=3}uMl7;Z+YUmXIX`yMkFM0w<*77N`h-NbUU@M$Im?;{v z!CB*S*yk{I=Na#ctg+MB4t zP3~6uu)!8Sn2(fSbvr|*);KzL&%Q0_bi)3{r{HgEdzIH(flLD~lS>W^r!1S0U})E^ z)fHsseeV7PwxiS1gu=(xI~wcop}n!e+1d(4sYO_V=rZAOJWU_7TI=a`!KxM~B1<)< zRUy1Um=e9bE)Wu?24-)<-E@!kBZy1PZ2>`^81y-EvV4>1;{f+V zGTlfv8A&~kKpYbjhD>`I^O6ltM`LTc=!bKYV*{L7y4G20&<1ynrtp>+SQuMT5$dc% z9wT85vIj2#T^)P-Va9e7Fr6NTb!*;?#5OZJvZ~FHfMD` zydk*U+TPUUZfPURF68lUhDH}O5DANmi8_)ZiWQk1E;crF-g2@5$aap5v&z!YTQWOxSmi-9rkzzVCV#QYa~{I24`b+OJ|cr2wWP>he5sp>RtoA zLh9=E5uitBX4>Sb3X-q*ZSon*!V%JnTU{-5DHJbMxn*!jgCv0~L!Vcf!F=XuH{n_( z5xN~B!b))Of`P=yS)w(*^OZ0gvMgWYUJC(PX;XbD+rC=rM*?mm(I&N-9Qi> z^)3WvvQ2iVakM$ePzw?0#AND(hpU1nE`JVsl3GfntA1mQ*ODLK8rNKEPTi};z$8^Btd^8<_quZk&^NQRiv&FnQV)@rX3#NjrIVY)2L!y zaJ97_7=ZRE+Wl^Hxf^s813N7NYV^Pi-|0+;i)sfM?|+{1#C%U+hYdrgbQY~eMz-oR zi^fY3N1{bvBc~rqj<%<*qXj3?8l2ia!qZ14|8%gnxsMB_yISIgK36>fCv)Pb&S1GZu+BF7D+2FMM>AJQjmqI96#{yrC*dl(4E zgJc;@o_Y&6w!yJpJdb5Nq!tGo7?o(Y3$cd5lWOEf7-C+HM5D^pfOHlC$<>B)R;zed zoEVw9R<}1ekV@$EMI~OULg%yK&O^h9ILUQDXs?fFE#1}1X&<=iRIU-SLa7ji^ zzfOVGz%5nd7>8nnr-d_LtFyVCsSHo380TuN#_<*C!yP&{z~exN(bv!}&ehYUomB%E zOueh3F_S`QGl<0mZ;zagTiW4^so|8}O_TgWEk?As#4%9UJYI7(O++hIuDrH2Vf@o~C^mjH3pK?ZPWEwmC!OQF|+*V_4elPx{R(`z|v?S*UI4Gr!N zx&toRj`SaV+vp^VGjQIdq_VTDd}kVio;^Ry+KU?v+~f{U%g*LB4AY0ERy{4}?@SZJ za`O0{Z%vYw@@1v$9B;2)Dm(wPG5D;dvU8-Ekuw-AQ0L*?&D4C>S~58!(~~V>0o1HhS5=)H|zHJ~@q6jBGJB0^+-V zc-MM6K2>3rMq@oj6v=oycExuC@o7C)aAM7NtmeST`M{=K)>wcUHPUVq+_>_zzq6iO z#ybItfnJ?!R%4H8UWx|dqp=|exR-Bk2KKS$E=PY0)^y1zyKp8Ol#xT(puytRKfdz7 z8FuVI9y;)k6gvc?4Z;<24&O2Y^zp}z`!6?hXc92zTwbx`ZVkCcxi;bx>CD9YQT5Df zv_EgPTS=c9(guy0hWkR3j1KuP6MAFGjXE+|ZkdpR8~StWxoyCg+T^ccdi>|%XU8)T zlpS@p6s=mcI)r0R^eh79)n2JmXY0Tlr|d&nx8XPHZSrqEzGt`$D-;WF7K3m6R0iE# zfIhx^r3CFI(mx0N?7183t-{~M=r6^b}{-Xxy6FnY*4odeRCm2yO)j<;i5w zi>OcaUhNvp13P#`%X5Nzw894Xf-#s=gum2D+LI+AeyT(7=gXzmE0@+ma-sfpqOTo) z^}hUTVP);mh7lTXO0o^uwLpJpAKDIl6g3QxGP&`^vEzD{tq>P#j~jn!Zx(I?*C#hg zTMPbbKShjaUG$c;JaUWJx{S@jJ@SjbWupgA?n&)##D7k-I9kidpW;@mv;kM_GRlV+ z>6<-hMLR}1L|RptLH>SpGXOPxc`nEO^?$g7}F+*J9`JyV)c^_(nD-( zWQQiKtoPTmb)2A0bDcS`on_Lpc&qiP4RbZ;G&d;+YMei>?2t#jV5GHxZOwme^MiHE zqWEUq$zi?EV4QvW#I-+PcYGd4bGHsSQIg!#;%qHG(ck@jTxkPsA{EYW6-!<}^0pI{jIVSccCgw1!eE+Jy6#y=@Skr7qCsbp-!>in)p%zZsE* zSeJo+x%h2w{Wo8H^7trV{2^bo{`vedHQAq9N}f7pX{*mC(Ej~x!_u-_ zd4roZVxav}BdM=WV9Go}d&xH8Ev=Y5Wbe)EP|D0|8h}fajA<8K*{1w_HvD-UB@Ws6 zFVDzFYZca`$D!XP221goUYnyz(5AI8iqzsi9na{S-QYG?DZqamIdB#BF!s|ft$3(+ zooY;m{0bmHW-r$4WzapmNerGP(;G{e<1lV9gTlA;zkp@$r&q@D7UEKuw zsG+nQZI#p=(mB|kttjE|EB;ZxN;zsPuzWr7pd<%+TjmHk!VCIc;@5x?_zpc}P<3y9hH=WVxHMCUeuc?o;Y;sxaq(7&8`)REm>>sTdL@Ci%v;ZrMJKAbAcRvg3 zfifZ$#Dm(*8N|*3t#@Ee>Qa@rk2?8}<$jYe*FPT{s9lycd{IGrl1W079hlJLlf#S= zK0h{?cRHHUvgwN~pFG(2&=zzQV$8Sr)gkLs*DWtVi(~FjYW<~6+-HlmY9CH429L2~ zkrmf&jT?)ABpc)Ott26CmpW`@@rrm9~^1L0GgYYWm2c<)%>$>fB#DF#;BL~-zHDeXXRY}GSyO|uJW9zuQ1CZMXmTx zdzD&z;<-s%9E``xs0W?Yg~QI&qbC23;dyyrj3%l|Zg% zor(TyHsy=`gT16Bi<@&GOP<7)Cn@4c-#9QYurRkgsP+J5LKAh5_Decjg(up#XwSm4 zy3WtY5$>kFt>y}6y2WGqr1-^oFqp^Wxc|A4(rE;DNgKTh?Lu4jXG_4s>x*My=_55j zYr{a^Y3s3gV)5H&KaJx5C@~#B83X+@D)LuH9Bb~)vLe>BlUw`DTl++EkMgD#>PW`( zP^U;xYc6e|LDscwR`ZuOMQvfVQ_t0YlhqCSB8$skT(4<^pU-h^_w*61&?!oids&&c zkHhpK^|;CypmmuXXp%Y1YN;pWGAST;`HA{hjeq*=ud6NGPv?cYYUGn7V~Czf58U|$ zqk+HQ(x>acN5{>Up`~o){p7>ooJIRe(&MZ4TK=s-u=LsNz!*uLa|>sE8HP`)mM`{Y zSH6=dYtz);8vJMZ39UcWjcRBLb4A*Q_I{f8pD%67^Rx0-eO@V(lp(RAC zvaH%a3%C3N`J<~Xx2EKa+*|NvZroGLnKn%Qq?~kaV%e|GUWu2_V-Jo>8fQYySIc+Z z?3)?mzPP0^j_Z>Vb%j=;JtA?^S-g)QdvCI44-kg_K3)H%|j&*Jovyj#d<$J(5x zQF~c!N32I!S(~;Ltr1p^rL~nba7|vbY{#NyaCV|2ojyy_j}1JjTXs|fe$rMf4IRu8 zN}k#6WUr^N_VsLx3Q z@8!CoXXLRj?ppl);*=40%8Ob{-P9EkYaO2tV^+m1NoPpD+CBBc@=#jyc@`m7))mW- z@J=OTHuZ@)6Ho7!SGZLsq;cTd{#@1gYHelKuX$iee#(FxnDq{30REYiJ_QW6LMx*B zbi*fI>ug6`p%v>>1|zej^}bmH*R`}lXR}uBNn0RB)D!Ki=%p-aldt?unu%^2dy*uz5peuTmHV1 z_*i>s+I6LaI9R7e9}j$5ce9_+cJ}%DZSjVlN>>7FftTKc80aiP--Xfj2Xa93L{nw? zBux$VP}dK11;LjkTDbyi+?o^Gds`Cab^nuzrhK5L&~msUwZhWnsnYsiFraGo;uHF*4ZZ3uGiE#2|WtA zMIT0eWqhF(Y92DySd|!`-TO3?+Dsmk4=ZGSTDh*m-mKXcmmSCBWH2c5h7IKp|% z=;=Q-_ZzSpV<08Y%vt+lJ&tF1?qZ$L{YUxdSFFZc@@HnqlYx%UmR@N8tR<^=xOois z(f*8;QJo!A>xsQ(d7r-%SJB)fMV7?$8nhW--eAe!@`#Kv{&(rASzK+PhFbpD-%oSi zzzAg7TQ=^Sv3)lvy7hgaMc9M>gdUIUEW=8Cy1}~pQ;Ms^%(}xe&3nf!^b6@9sq>wC ztSpCdhF;I&k#&EU-i(^)!-!tQ(ngDB?ThrCqW`bnhx5M|`TxJWMP(xMo9_iu%d~VX zNovVi-cV-%v=^PzP%pK=wd|cX?w^_HPXnWg)@Ey;f%Y*tdQ!VBY^f*AWSBo$UV|3L zh{$@j_Sm#Z=5hX-oPja4dCR(JH}p%sJEnY^k96_mXUCmzULQ!CMb+Tg=ugcZVm+a_ zzoqY~Tl?wtK6^htwfBE#KcDTe7O2l4yo*0@Cx5K+ai877DjRo_ZyxQ>hitk2kMrRl z$BVe|nI)Yo5wE{5AuYlGH!veE);`eKILb87JC8@c-5iyP03x`N`%_2@r!l=a$@_TB#%2t?w?=PtZHm!8%!eVnn<-r@p!3V&O&W^p8u{`M`&{ z10#HQ*sKcV=hH(EG6&e{Gtg&0H{?$>GaP1j%;;|Yl&H?{7*pwqKI;k7!A}_!VclCl zf6SOi4bySD2G7(m`{dm~&yTa?cRF+Ay(EKxc>ym+F)=E@_!r~fjO)f9j6WLh8Sfi^ zHvYr-(70jzyYZ3nC*uR-cg7IBF(t?dHbM-%=LGLJ847O|ZbTT7MihR1emLHh5^Ka6 z@x}zK;PE>&x3q|MGaRmDptj* zcr`*Ls6;hVjZ&jkl1f%~HAan9De5*gPK`JIswSvZb-PMa6IHs(P?>6y%2L@XN9C$K z<5Oj*d{v+(t0`(K-evQD)E%l&O;MpfN-EDlL z7ON$yMBSs7s!~;^mZ{}xg<7drsd81JR;x9tQms|%ltWdiYE`40s#evhdgW4IQtMTN z+MpVhTQ#X>)uLKen`&1ZRfpQ7I@M-%uj*1;)O~8J+NQRv`_&G$Q$3)%)h@MLJ*Xa1 zd(^|~5%sA0vf8Wmsr~9P^|(5q4yq^AA$3?CQD0F<)sw169aG2E33XDPQm55Z>WuoT z`kLxhed??_r=C{NsIRMM)p>P6J*O_J=hY?k4fTThrg~9*OTDDNt-hnatG=gRRzV&0%J^8DU16QD(F`+>9|} z%{VjO9APGyiRMUilsVc=GLucaImR4orkJ;xdvbFNuz&NJ^c=bH=6h2~x6BJ*x@ zvAM)7!Eb{u#cyzy;a4A*<2M;s;ui$V@e5|F@!MOK_{FJp_Y5jPnajoQ+TW1Q|1}-tLE46t~9(~3-6qI+I+_Ry7{bm-n?KwXI?a)H!qprFkdjg zX})NF%Y4cFw)q|NyXN=Im(5qqSIx`jYvvX6b@Th?8|Itl56mALzc;QK|2$;zvPFxA z6t}my!|{zEm%D~vr^5SOYJxU6s_}k_Fnl3@gM;6OZEOo}Z**nlJp_z|wJW^W04i6uyeF#8I!hEOvu{phSgYmUfndJ0L zs`E`6TIYvhSiSE;Fy6HxlU$xjU-DfWy54V65Z?4ajyGtE8~iUd>PwCKQlsCcVeSE3 zz!w_1Sx}3f(4r@__)Q3El}ll*erUA%UvJZM+Wh<4HOJcr?A7ietlh)$cH#JDS>CqU z%e8<-YiEbxpY*e#*FwXGK^Q*atHt=9t*ezo@B*8S&QLV;7HsKFg3;nO9E5i;)Hnmm z*4CS~wE=i%0sb`vmvGSrXBb~ahOa>KHDBSIoh|N6e1VPcNOHFfgR%L2!keIcpCa1o z@xm?N=kQv*FUkKSzVzt(I1KOd@qLPD<+pMDK0EnZG~eg&MtpbH_c2ni!WVGed}$Q$ ziXdM8pNW~@=O~SvUr(f9H=u*~`E^7PL%+{a8b|*gjip~tq~Ph-5nh9De>z$+@y;H; z^J^$QoA(19q4gn>@89AOt0Sxv46&vOy`B$Yq}6JZPEUK7rqP-r^m#v!Hfs*)vgT-- ztWTOAYm(67`4EY(KjXz6cp)9XWnb-R3dd_%8XOy}kHhedZ6{vOQrjjM<&(Vijvphc zU{dRyZPw*T&u8y|VeD{Pm&4_g_hM)(-ZNCsb%ybcHr`LcRp2XngB-GF;OtCCLt9{x zz&Qfv3M>{lPvD&b=L=jQaG}7v1TGSIx4^{$mk2Boc#puP0!sy!30x*{xxf_yR|;Gu zuw0-+V3ojXfi(i10&4}<39J|B68I&7>jgFl+#s+~pj%**z-ECh0$T;P32Ya*QDBF_ zO#(XwZYCTGXT#U($d)$kY1nVmzJ|>RKX1d&!@T}R4-}8XW|+t4=(hGcY=?^9(SybF zNOO*OHQf}y$>z{Gcx4Y>5F;Fm@C)lQPKS1B;^kQI_`2zx9Z~G_i@Y?f*z%106z3TrkX&+{offe2eQ`M|yR>!)By^&Lh`!-lLmdtcRBRD~?}IBy0HRMKV$6 zMsm$RKay+9yfoT$y2RdyWrN6FHh|n^K5_@-R-78<$**+V&nzU*k}X$xw;Z-=z`8mK zlQHF9TEl%gnOs52Y}tZN(byZ|7=*B6z`}S13i1RF4D;l3y6uM^-ZO!Cgb_Bpu>kpk zG^>4kReKQ{ij>`FwSM`aOwl=^H1P%k3sapUvNysx2vfc)Me-S54fiFHdI=xmo}7~1 zVV=BFhSd42)-TQErAYr&lN}L$>88wec`=N@o1Cme1uqSA`J-iX`S9?hsT>sMNmXTS zzjT$KBmGlWcGz^iQm}_%;sfZeo z4RgUTPev?@yM2r61X+4@lFVkLf1)hcbh50QUaW_<`fG|`A}wq9C(|-fC)9GyKdF{$ z?OqyfI>%;jMEf9e@k$mya@&364oJv3HO!Ng>$aaANOCS)c6zrQ);VBZow>`H&0bo= zeTlqYQ=e$r4v~xwjbLVT{L4%Ze?xT^$03rzNrTxN$1ro_7@f7Tr871Tl57nPn?6}{ z+)yiN;|H5g*krz=*5%5^i+?AFTCJ&8D>vV2<>Xkcd~aXAcSg<>>uPS6x0UT}dFSTl zS$+B5R&IgSm+RfPz`MtkTRoTD7ptk>m8W{K%J;3}-6P*x50+xdJm114JIlLDzBMB|%UUlx%j(N2u;ylG zdFOg1lkLN_z}hV<-*s z?~L+>4X+!o64+g6Hs3ph%NHEiu9=Ui2=9g@*;glEO;EW`r#X zTOPJK>`2(<@Qm=B@VfBX;q$^5hHnW!8vb(l+3-sdUPMYndc^jKJrM^YPDWgc3`BN~ zERC#)tdE=)xiE5hM4pIjjC?05B`Py&SX6z~l&G0ei=tLVZHn3!T^3y( zeIzC?=1|P(Kt|wv;7V*x?6KIBamV84#~(>3OxTogFyUNcTH@Hm&55rjr6r9|nxFK1 zhlL$BBxfa8bqsVI-*HFBD;=+<dDkMmB*P5Z^(ZAe9O~?Yv#2V_|7JRo)7T7O$6WD1k{*ouc$TG-csM- zegkn1@U76#*$e-vYp>|}*Iv^L*vWq^F$nQ^j+Z zN`yJ9dm<;ae}wuz%=1)J-#5(pj&k0PoLul}oSdo1`98Ea^V%BqOMI;Xi_B<9jT#7Tphj<*5t&99Bfz+rSUf#IeOvhKIAfnk z35oQ)aMN2VmY9bqsezb#gPihKaD4vG7rTMjr|4NZ%j8qiv*zv*#!t@Hl9P3x!pV7B zat<~pc&cdqp=gll#B!`CM02e0Mnhpx@kAG!9lo&@&rwL01=Ez-?3ZmXwhm#OI+ z&Am+zPzO2BM^3^uC-~woq!n_Oo}8@33EJ>bH0L1ykdYK_8V+9!Z)2=mkA7=J(pQka zg3*cQTh@nY{YUuTbrRpHK8%~p{YP<+Q`UaMex_1%H#JuGz-8ik;(Flr@2aK1S&JYj5fM!6HGYNO(&Kp$`yWLaI%Oi4S@|u_Pq?`jAju=2%PqjpQFtnvo`j zo$;s#NPLpd$^HIko{Gn1H6n)4;~bll^( z8Mv9aCvdY&oLQ9Y>Bq?zTt(_>ggi!$CWS?b89{xSEuazP6Jc_W(98C*jwMJ75Q#MlIEs;fS@LS86wdS*1L0n#(coSYMY=;*M;l;vRgOoRhf@86ERsq|(G|N6eYflSG5yWG2tS z|0GV%v2K~wCy)+@%*pagI3q_+(Okyt{{r#k{LIjdm-DN?#q)QGyOlD#s7`Q77i!WK zKLeL}?KM@1&-w6bIQST9Wuyd|ae!!N`Q2Dc?PVIxGysZz#H_#Xa`c;0Pfc_QbOiI#5S z#GwH4w29I#Q5yZh{iiswPwa?=^v$PD=>hL^)My#^R@(+VIdziL(#UNhvE-aesWW^? zssQ#&C(7zV3#CW8Q$JhJQ^9%$f_01F_ZtE1mk6Ulq(0WRu-c-)wwS)_hReVj>PK#c z^!Q+&hvUYOdOH3$uKi4{$KODyoFdLSXs^jRZS-*yeY}@GPC(-{a!%HH?;%PN8%R#+ zeUy945vQnsg5ij{wEij6@0`$%JtHSpewy=aQ9 z#Rf3kK^o2m!`iTxN)!Cjgl#jC{KdkWgOjtc<&0`M2V2fyk~6U71Z+8(TF#}Gv#&Yl z8d-0~o>p}wk8bGy?$Lzkxm*{iRd6p0MQX|o=JA*Y!p+;}ReF0h?4iAJ=yW`Z1lXYqJ*Kq4_-@W!W zx>`=sgmd7)FzV5Xvb#{OO{e)0wZ|z^*mCif!~g!ncvf zkBGCI@E=S4ja_$wy1&3EUV`fa@X8@Dg!Kde^btklry@Q%xk~5Ks^EF%xPX-J>^4l?N!Y<4d&Xl$@i~1LW zjWM(6E#yT*P?o-CPB;{+QD(TDS^Z_4oICq9Y%=K&PAg}OJJGgKjxyuBk(=et20P;^ zNpcs?+#vmczl|Djo-cE>K}wOg7&ubw(?GLz`IwxoO)1NzR5aY(l=O$H^^| zutIVl!!PiR>|+ErfPK%D^b#eVq9opgC`D{nX_Lq_8TXa6X*H!8xdz5r?ATv2>nsOb z>AHdEAXl1qqPAktDq_L6@MQ(R+soidw3D2OYfEknmV7B#GVd>@N0F%1M0zydjE&W4 zqR%9CW3bL5Aujt;zS%quDTW7a|BKWWK5U>j8sNVMW>*CDcmp1MBdB}Cl5aA6W;I<4 z@5ou?BD+M+AhRhyj~w>E>+)77l5?7o1*a^x(Wk4KPp0pP^DV-^L;M8#FM`=0!COxR zb!js4TJ+%exc?FL3+X`nW+`t1Vu8OwO5x2Ljg@eNjF;ubrt8Kmjb5LG+k>?*QKcgx zDr6+&J&QMnbd?m+kw)Wwh`dA>iu9UDz2(hvuIhjcyvj^FYtHTD9S0ehWMsv6saHNc zkwVXGWo|E*(;JQCqSa>PkydE43Cm>pB)qu20GSVvANS!&V zv(VS0n9fGJ1A8d?I$r1Mu*N=@rqTBBv}Th(*%-qS@^A#I6sb6Isfs6V9^B3&AJ6TpfJj!Oy>Fx=!U7Ez&@o1B+w_?%Nx<&0G7 z%-a|BmT{3WkvY2!pEFR+38;2#HZV4qX^X6jSW8Gwf0px2<#bay+w@T*B|_tJ9R4Xp zlWg_o(pEXoc>&=@{_-rRm&$pia$2dJRVrtc%GsoHGO3(PYGpB}jdSMcHyN{UUE5<$ z6_pc2Wu7G)`$yg~MIVc7l6PFIi;vUZL-gP&M*k|MG*F7js|My=vmHinNluOYDp z7$`0kETZ8k5o}y&x$ouz1>>06wE}8h&3X&de-wI+qfYPWtzlXN+ zfwd?V2O@Sl+7Ev@&n|V6)Xq!H)<)A?Rt|}MAnyeMIXM`vWgN)2(adS7k(H^9{F=L^?y>?G z)I-hnmv;@3rIDPk$#1`riEolmXk0|ci`@waFm`fY@wd5`vxo zm&wW6D$%ALw*JxPMAT?BUOKkODYGWGhWqun1DsJhl2T-yFP6|IR(54gT~>DO>Yc3U zu4kMM;ABNN6x(}pA+=QV<~@Ci-^wpw#r>^or*Lmvdj-G2xF()oyVi8A5$q+9CRRD` z*oWN6kDQy(%u245`Wjb==TlOnkfR2T+`mSB8cp4(p~Ml~q>l}WHTl{n09qw|U`jM$^6kcTAL7s(=0m-k z?=2Flc`(8aJSiVCt(8_v`>ihtWW_`3CAr_3_NriuSVJ@ImD0GE!ps;8YCp|=Pd^8O zB=JJ`lG6RyP#3%YNzVSYJuTyzC{O0u@S3#tPw+7#(cG?Jd9BKcuwx+HN{bVvPYllr zFAFa!;dc47dJ^T8TtJJl0@hg z-j?|g`ihA!a{QGR9<)3Y%C*@~LGvQ%$n^zsKP6A(A#(pUI9R9=Oe9y3r{I6MIQ4slbUe$LP|HL!N-ec85}Q6~;ml^) z-x7)bkZ`!3kre(3$!D9&%xA(SuS2HYElF?pF3`*~rf#O)a3OSx7RgMM5q<+a!t_c6 z@1~)T^pez4Mo40qPbfe0(9+sa8pkKDW&{y=4)u}blkOzF-3MEv>*k-d zS9r>lZE8gJCXT^_Ei;H{uLv1qGslP~bHbz(joeOqO$&)5tu-U;lTfoI`k z(S3a2=U{DurQEJ(_|f#R)o;>rDPMY4?)OqAb|rUW;fmBkvPez9U!xX3zV)FZe1}!CFu{E9lK1`b*MCS@L1VNDe;4z=B90gdX05Z)zy{2~Ya- zG2?4AkDz88r8aWk($DRT9+BILA$%0&bbOd+xGxF zlO;xQ9Hd{&d^7qN{HC8~j&C!T^c_6YgbqkST9{rpTolxkQj)Zt^6rp*Wk-(IiLMu! zA-RhsD?KdttQ<%Wn{au5lG(+Ixr~c>GVfAm)`@(V6lh&Ycwg)l|ELrie)h>(+G}kV zNoRQ5)I_A0)dMp6c zH(E?W<;hn$JAa+_nv`N+h2AVhCm5T?*cv9a&B>R~ZQqiUyjjcD%wAK&rl1}&xf(>; z3(A#7Y8bLctI2F4qR5j_d)*n*8W#pgq-V2l=S|7>Boyb6| zrAS6jA`$Pv2+L>~&NTKQEky%}-DJjBMvFCW)4tb?d~Tprs}j zm}#@Mj7S-psV%8n?rvD=L|Tc|N0(tWHn&*TJgh8`UKO4Wgt+I1Io(=-$O&1O3F(2> zse<#^#E@EuP7-T}Q4Pu(nC7h3|YaC1_jNv6PiE zX|MgX+=US7tsBj$7AqnYyDgudlm6lRPtn!Qv)%R?93@h~T024M&{ihz4io+1YgL?XWum^Jg4-1My?Get(^`aT40H?bQirc|a!^UDSfKdDq^Ix@j40=J;N~8<*y9aRk5B zbU&5{Zq{SL_=cO@w9Zo-lIg~Ea#Fsh2e%Bjt-}9pef+W73O87L?S*%5M>)l}1DsI*_Y{cci8XfRE%y&>spf3WDU*K zo;*V`)o26iCbcnbHMN%>4Sj5TMLNqnwe4SLE(PmGnYP}+gpz~R0@4;I1tGFZ5DE<@ zxINErZM4oISR*M7KH+n z%~<|=OWtmr+P1EPq_OkJjCwGCJJNCuadsO8w*%QcLXq635PF-wv`doOaSp!C38%{X zx_@+9ml`4OlEGqIbXtg?Z>>JU_o0tS2`5c6Ij-!)JZI7{At`R3iW^yc#A-IYgdk>&C|Nr*46 z%fQqm7-sHS_ijt~x7ege18ISLA0yU8dmn#aoA$Ps;4eB{-T`GyWo^X158C#dIn5}y zybs>7UvcnecN1I9j=Pb=b|%TF$?CVP*qBw*piXL$I=%sr)h^%Tt>12HGwQZB(LWXV zWUGw7a2@gkc9wj1brSnV#@DQJwakf7zGi;kWHdtY-i?oRxRv)oCrgng_Kip^iW`ri z@Z+s~Zk$6X^{wU^g~%SGIfPFn&CS!ujJnFdV9suUaW1b3uaody|*n@+gKTDulRQnZu(!^DBt_Z zny1{04G?OtXe-+I?}F{+Un0zFe$#GNY;S5OP@a)RMrKNH+0`9u zXN8`mHRd~=chRgHMYR@s@OOM|MY8?Dh>Jv$+N975sgEU@4MM(;Ng>ZNBifU!{H{sl zpwYkbW*y4QuKAi=jl7b0cj6;u@f$g}#!ki}ZKZTs8JBh$M;d;uOIp@Bg0Y=88%*+U zr{Ao1fE9*{Qm!@+`5wwXn`)R| z6geXOFRK!!B|&*5ZIag6w^F%hG;IoL9j*yW@->r6(({qnhJ(#4Ff|n$M8?Y0mD;D6 zdYjnhV!75no7J^ozscxI3!6t-qDZMy2jkoRmN;@J@1G`x)WM{bwn&aR@|2W3+Z;?9 z`^IWV&gNlYxdiKAo=twiS~TC=v^Ksi&EDJE*qYedTfF5evcbl(tuf!b_{*d85Z?rO zq~*CKo7=mCpW5L%ldsgTxsIZTy?5&S zZY%vl`vn;&k{UfToGTA6drn#s=VV0*hXXVm76^o?n&{3^#tba@ty)AB9+ElHO) zb8j28<6^I^V+4EN1eklNOVHA?oM+Qe^WZP7?D(6wVx`>lLvI>M6f7mk&!&&{P9VK&IMmi${z>vPsgL1S!DN)}_y(oCu^(i;E@+Xq&a*WV zd{?o#wgk(J@M)%&fcJ7|II5j-Apg*OywO(VMoUBos3ARHzij_Rn~z`{+6dCoES!e z+1ds1;2f6FTl<)n-CEREu}Eu2r>!w+12g?2eJLOM!u+1W_G+uVeZUPlJ{YHU4y_Si zcJJ}_x)w`of-Um3n6WCmt{fR>(Q@y(Zp|~WrGWRGXG>N$yz{m0x)z7{nWVvXpGRNTif_d8(T`%p&XLZ7^co@wh)|0&J%Xh@` zi)aZKjbncW_JM3y+m&KYAEI4Wdco=To<5L&#mZXFO=cmn#SUt=tlBQ&1BQycLSj*C z`GsO|tr9K|{njLCHML#qkW6I#ivOMoXONTpLRx++BKF1y?IZOw{~I&oXr5$7OMMx; z7ko9g@0HipU-;TU(odEXL>_z)C6%qYw9x*RN30NPEaPI@EAK&}H57?^^EQyiX86Ir z($?3^+OhfPxtX;xo8>p_^6OW=wWIy!Ls+X{$ zS1F=t&mI6j%dggNYA;f$|F7_~eUEErblV?i=#_wc593e1mP05v0Y^+R(fXtxx$&kl2!gtXTb} zyf4@mwjR6d+a)a%Thq2tzPT5hQ^@v2>l_5R{telm>-%)y!oyO5;Odj?6(Yac5AIWO zqpA_!the3y+k)RH?fZh;5wh3!R)Mz1_r2x$CrNGWt3O4~t$W~4QOf(2r_0UnQzdSx zSjN}B5z6{xNFT|%h3vu5y#7dgT94QDI@e!b`xd!B_Mh>dcJa+mus!l^zwGy8e@`L* zf(q%GHhz&S`bzqWUXkx$M0>UD<<+`({)}z9VNqxmX(4*U>e-ZL`D{kmH>Nk&ETWyR z|9lWzEY_k=r|@L-i?tcATfb^ue~{q36$vk&isnX#?38BU192nmHG87^M)LM5*19)> zE&jl1VzbXei)3oMx$V`ujc?OhERp8Bw)6foqsA_LulnRV-oLI1?e*4m(f@Rh!q2jw zO#8E~HNU#GYCi`z{`>W0?fv#z6O>~&u4EhI`$6mhsgregzIJy$#~XL|Er*zSi!FqO zVRpwAIqhFdHvhaPH?&ssyMHKizBy)(V5pHdsZ(apE{XYL?6Onl-HLDetv(N>c>jIV zUaTwXEY_0wR@>j+Pz`S`zgY=s_50+TrwHZy{`poyx4zy=joO&Kx03Arh$Fw{y_H`O zeIRG!?Q|HkO@9B}UVGXLZ&$+KPTl?_Y2?3l@A=b)MbTalz2`D-BLf*%`+J1jNc@+X zL?l#j4gDq!Xk+|t5?g}&Dg5{CB>U3_+xNK8uU2kWR(m|(dj7UXZkGR_GfZrZ&^wI1 zxBU=$t8KR~@Q3?tO1mlE#|W|(6RfXoHFa+un@~HN`@>gJu_)vl6=SW~U*b&zF~6BL zv*d%<2mE@D#w;$c%xnocM9VhQtrXS#pKIp#}z0+Oy|F`zGC)e(D|Gw+|?EhPhZV~|Hy{sj9 zD|S?~#=1dHt>Jf{qIDj391%_1Vqe`j`*+Wqw~#`spK#o5hWI5YKbPP6RJ`JtJd zmzu|!mHC`kS)_)k;hg0>k#m;UanklT)mHVloU*-*^N)9PTKgWgSM5{(z$uo$Pz}0+ zPSbbmuDZJ}(4~5muG95;j2^4+*B{ao^n>~#JyCx|Pu5fPBYLWSOh2w?=#S}{`iuIT z`v1ImFTqRnQoa6OnOEdy~D7dQ-edys6$a z?=f$>_qg|jH{1J!H^=*=H`n`=x4?Va`?U9r_gU|A-cs-L-ZJkC-g56t-j}`A-dDXf z-q*c#-Ujd6-gmui-gfW%-VZpb(^Gxu37It=R7Z0f_+6ac*@ZqypjXPxiMT`PlWO{+ zP>tt*Kvin4dP;pneM&7=A63iLSJlVW*Xg0B>7#F|Me1A7r`2Dp@2JIU3w`!kdhKWG z^QNaZs9&lV2s^G`BJ4lZCHnKf)&J6$|EJT{&vb^aQU9T9>8SvH^(g)MnEr(BsXqzj z=_jH7`YAnM=j#RfGrCYO(Mxr?{(|1F2kRaBFe!ecU($>8DX*jctk=owr2oOY%d6D; zy(({%KJSh8M(fMcZv984Rhah!^*AHmfq#Qks$MEtx&LC$R-Bqm&*Z2F)g1gG+E(EOIXt-56UWK9QQ!(R z8W%$;v7GCgz=}ZfD;!&_N>nLr zDKoVUW#Cb=loV%DNGhR@(Ns;|m5E}MFFP~+egiIqY96+ARQ7+-1_X6k8@lebWuA&azi zjc111k4F#NK9*d<%&J<8)U*8^73_2A3+Zzqk+(vzrvGhuarA$3b1!wIr|xO)t8R>d zjKNbB`=l9#dx9fjd#@j3A){fbz>G?$FUzjuu274z7+2{J>DfWZo0+P!8mmUDN7WSW z1~CU8QXf-yG5_k+RA$^=AR~x7Sj|wg%=gGoFkkOi^=g`Wgu4p$uo@-**K2muk!6Y* zd^?tv+^y{9|NC>iV$?CA@yj?5J73Xgz+{k6>sdJDAzjGM*vsw=+P-)<3$T z84()gxn^FdHb>h(TV&3-BQNt&X5{rG|2q>t5INJ9Zz%HWL-gUNkV2X}1^0VM&j*kf4^aHH^Pw2v*GdChQwFQ0sCZe!G5-yS0 z574jDL*k@w>}MFcOO1tY{HdZ0X`$3bDAcRculCudZRzjOD1_n;rRRmJP5;~S?xp`n z274;hA0hvvjDU>6lVm){j6!H6Z12gK$Y@x4(2Po`FK5DCEj4Vp6YE7ttejcM^L}XZ z3?%t1w0Ayp@(E^YE}FDEdi)7==-tS6g)Eg%e{@zc61^{aH=TPq%d4jeQOMbly9=GJ z(D1jziMPjnc2xXVJ0hWeZ)yGYV->8tZ;piGhH?mvt>B^YyM6>iBUxi+Q_Fa^Jp)3c z8}dV=EMxphW=C72?Vl}@&K-G~k1`{#r-^2E3MZ&GCC39uj89<0{pEii#m*F6p>Y8< zR@W+T*zh_e>a0iR&4$CnrHR+BAq5ojG#n0%CZ5=tNxm@bU?gD_v0}+BQ8eZwkIb5< zW}EB$N9BI8xvqNjktZKh8_jjgv{@f}Tx~PgozrH2;^S(Mx$c`j_mM}{L32Gultt{_nB&NNJg|2CrTxAa0 zYZxsSi(Bl<(496t5xRR&Y-^|=x-1D+k*aKQ#&0sH|TFN>64<~iB5{nj4qBI z9{phS%;-hYtD-kW?}|PYeKPv>=&Lbe7b&$Q`puZ+nB17*F;ij|#;lFm5pyJ_A?EEs zY9K#Q8<-YY9C$XcD{w4u9>X>*wm7yvc1G-y*bT9JVqc8C5EmYo9#pSi0bhJ}Lr>m*SsX3|DsS{J@rmjfcoVqvlMCygRyt~rwD!i-quBmq|ylc%} z+wMAe*Xg@1cMf#U>|EY?T<4jcmvmm=c~|G7of|q|?ULLjr%QF0iCyM)S8xPCF$$accmXqZ%Dt|J-K^M_v-EwyU*>uqWk9Vd%K_Lej&rlNXsb9sLhy~u`pvz z#``ueBBLf_a>l%j6&af{_GBE(Xvlc8M?#NYJ<5BG?J>Q_q8@8{ zJlA7?kC%H~$W)oBnYo$OnGa^p&Rm+gK67X0;mk9cmwQI{Oz&CTv$p4yp7VRI?76w; z^F5FEJlFGTucTgCy()T*>oud-;$CZeZR>TQ*U4Uu_jvboz9;XVVfReDXU;v#?%8n9 zu6vH$bM~GqS%IvKtkSHytf^TGvQ}kn$=aLsV%GVrw|gh|&hA~=dwlPiy`Sm5uJ`ud z2Ya9DeK9*cJ1sjudwBMw?77*?vo~h%&OVy`YIakfxIUSE%KFsznbv1vpVfV~_Sx6x zM4#9DypxlXlao`GGa+YI&XSyGb9Uq$$~m2Lsc&T8u6+yp*7Tihdm?9M&f=UkIa_n~ z<{Zyy$Z6^u=$lUX@V*oK&hERU@4CL*`tI+0qVM^>S923`GjmIGYjY>(&dptxyFPbE z?!nxXxfgQZ>6hFut6zD)`hHXU&F{CO-^PBs`W^0fy5Ge-FE2GOC$BPZT;BA&g?X#; zHs|fhJDPVk?{fdh{%QU5`d9a#(0^wC#r@ax-`am~|Kt4|`ZwhV^3(GR^M~h8%%7dV zB!6B0w*3A1C-TqdUoA)|$Sf!=s4bXWFt=b?!TN$71qTaG7F;NJr!cuNtFXMVzHn;c z{K6H58w+<89xgmxc(KSUN-fGMsw^5;G`(nH(W;`&MSF^l7M(4+TpU@PR-9K{T|A+9 zX7OU%6Gh95))#Fr+F$fyQA5!cVstLfDXu84FP>67w|Hssy5i@G_ZA;3K3jaL#4AZD z$to!;sV$jQGP~rNk~Jk;O7@f-DLGxzSn^J3QfX#sap~~V2TNy`E-GDBx~X(m>7mk- zrLUJ>9S}DleL((z>H*^iOdqgdz={DI2J9GcV8Dq1=LR&DMVFP%!cj~-)O}(yuuP&%R zs7Cdl>Z1BD*4o}se^ggkZ);NjquylI?W%f9y{-OFy`!#arM32Sm=4zwI#NgJXdS~E zT&#}M@j5|2trzOQVqNXidNJ#6&*;yx^7c8_-afCFvHG^0b<7p|OM0dLvRNTv#{Xp;3Kh(SQkMwT+W4%ZJy?$Q*MDNu<)%)~6=>7U<`hfnqKB#}859wdBdiN`R zM8BYq>SOxX`Zz0jFY15NCs@yWS^u*>ssBZv(*LSY>wnW{^eg(T{&)SV{tw-tf2+^w z-|6%EHT}B&y}qFTpd0mn>Wlin^dkvfM$guTR9713`L@xX=0GMvU1Sq|=0)c0yK;vGgJ#FFGM}$5`4& z$UZ0J!7-Lvms2^$(gxCOaMJV|W9j;qMT`jqX)$RQ`_t54vNUEEA+wy2ll6wi%phcj z6SA+~(3r`DOm;#x*BcsBOGvE~vb^5Vm{LMYosik}hQ?$QlI?_yuQxO%jgT}aq`cnH zm}o+xosf)rOHE4G%Wqsl+!j$E8Kg^uT=IvEZnRW?o{;lS$cfR0>R%@0WhdnM(T3^| z5^~T9**Mxz{Z2x5Iw4C(8>)w^aK5^Yo@uF`k;C~z#*Q{rzl4w_PDtr!L-n%>ku{a( zmX7XfseU3M6P*zG`T?r1C#2pVQun&0`f5U|osi>ohUzN_k^c-ems7XfQhgyI@?CvP z$oe`%_34D9J0Z{18LAHuV&9mooQbHLZfP_lhx6xFXFsDG2x)La3hNAwW_)n|G@a`V zjXq4sVSmV|cPx!&&f$D%MxC=X8VQ5*ha4ScX!K@6Haj6ZM;RKuhLAN*$huL6Ml+^3 ze{PFL85+HekY!HD)KP{;&n0B86H+tE&}ily&YxS}C_|%}b2xuU$|yslnR7T_NbOZi zqcaJ~bV6ROH8eVbkOU{>aIK-bca+BYbK72PsO};m7oCtbwT9|mCFE5nWI?T=x)X$) za6%^68mc=^$Z;oRSgoPDLxdc1LUL*i)iLLA{<KGrKKjgWQhU%seGQ|m5HPTSsBtj-RA@fEWsvAehI45M{NJDj%gj6~q zRU-}64=c{$iWlN)8R~qLJIaOn56f+Cw57}R1 zXw(5h4mcrOY7C7+ALIOKR@4|8g%-y7L*~>N8bx2@{2>!+42_yk$b2WHqQ=lDG!xFB zCbP!Ss0oBja6+PM42>E_$S{A%h>Mm+6%tbDguFb$(5MVTGMtdTBMgm-BP7lV*)+mX z?VC#De03YK%u+2{2Imi%HNsFWeU0;nj2mI77Ac1Fhm?&lREvFt^M|C5FjTvRkS$I~ z_y|L_a6HbJX7~k5wTuGJAM)aGL$wPCS>S~18E&X{8X?o1kPX8P)s7`(tP`?ixS?8P z70zGIjNyiAs|cxbLh6Sbs?8-N*9j>eZm701A)TF&wBd$o!wCs@LNJ$wMqW}H=c~be z=PivqL&zB?~unshZ(9t`r~}%-20}bn&pHncS6qIYp8~~fb*w0bg!YBg@i10 zLbly&s0Im(^QT#Tub~=70p|~yf3Kk$WIWCvGU;AJHOP3JKcxCzLp8{FoIfP{UPCn= zA)XVGaIc{emy!OL{UOy?ERDdf!ufKmK5c0P5((!IIZ$nA1QH4757}C6Xv8i;cKJfW zt5+JDr*!o^2cK6h^c?te4nC<`XcPD*2Om}~v37I_@PiWmKe^DR}6)!8EKp!?=@72amM-axS>LfGR}urT@f037W}M(pQ(a| zo&-PX;D@T9p^QAvpU?IxXy_jBJr2IM3L3fms)B~D17GLh)2g7ME5KJccwH4V zbTRm12QRLIhRySS3`o1AK>r@2-T}z&BJvRg62% zSO3bTLRD+Q*E;yDN~mfH_!0*nUkO#s0iWaG6_rrcWbnxj-m4O-sspcc@VH8-it)nv z>NEI?P!;nL=f}?shN{xR(;fWKV5lk?JlVmw4~D8D!6O}f?O>>i@x}S`Uo;pR^0v}A zKR#_RG~@#K1qZJi3=Kge;{5T82SY=6Pr~`}u7jZ==t-O(4<8H-*$uwik5@Db4cP*| z#lc^$fQD=a-|XP~Dxe|j!Ph(ZmI`Rda`5F2zOn)uG9P@tgU_pghD-yW=HQbmpmO91 z&R746VM0R~N1Pwet$>Cw?{I!Rr2-nlyufpNvL6zu8oIn1CK~Uup@FNbsbP!beJoxhtK5GzE`5gFj4nBSmRQW9UvkqP{2&$x? zasG094T37^XPh688w6F-&p01menqHqJotDAKT{4>4g(+N;D^eg$};dW2j5-}RWgro z{`}XLLzQXZX%4=q9IA{4k9P2B<=T?HpEnR1JQIATgHIX=4So>(K?ff;5E_i0!uj*b9S99B1}}E-l!4ITOz=!UUiP-o z;3V)Q2R~N^4Q5{8eEF9h6RLPqX`CP5T?SQL0>9+o8_J-H*TG+R@TFx?#Yym!4nC_4 zs-XXI{`|+6K^62r&W~4=K^2?8H#vB(GN@t=_!y@PKb0990gS2+0E0Z;|<3g@f;fJH(Th2Vt_K5YP0kpZ6J;B^C_ ziUjZk2QMA~4MLCL{P}ks01ZNq;QV;_0BF!D@Kb)gv{7i#VerEa{&Fca=y~wx9eiIY zG-w<6HV5BQ3Jux_zR|%~mO_IV7o4v?rSpUaJp=xX4-YGy1PxOf*AhF7Z+?fDE(BfZ zp!ucwrSm}NIcQpGTIn>O;rwV_ab3w`(8UhQj{!<% zgU)u)jN*)v$)J-RG*BEUnE*P$j}~1ix>8aPTJNA|i_Vt74>(^PijEW=DM9k${OGQt zT_x}X&W~;=+E9`On&qI&ik6k6f~Gp?oT51;k)V+dIiuZ!VgRXbb8HF>7SAec?&~b(1ikb5`e-0Ie6~!|_ zXF6zBVOB9CkMqY(DoiRK2RhD=7F;d3T3iEKLrW8kmMmuP2L2c1hrE&ha#RbJh zj6BYdrWd5QfkqcZ7r_rWU)=o5`In1Mf}V8HGx=wV4uc+c(8KwMi}rx-anPOlJNpNe z#`*JIpTE9nHE~xv=+gY9MbCgf$hKU&_uybwu? z^P|1`_bS{1y2U{g`X>~w1zqb$^WMyRvv4WsQU`6wYbaa=L%&P?E)_I_Hah6(ey0o0fSz&CL;VgF90NV( zpga2QDA)(O&q1H<_iVv-(CrSoq~DT)&7hkdbXLDv1!1_*O(;M^;{5fk>Q_~; z5_F}5=Jd-cSOmJrK~wsr6wCshvQYdK>0~u z{zc+mbmH=(()_caXB{*yH!dIjhV$jyx2bPa{(jK?4*F`}SM!-!IDg!ueUIjE1l{PM zyZi3WUj@3#K{xi@n7;&ciGwchyF7nB=zIsA+jnk0BZTvpHmUEV{HdT*9dvl#;rYxV zTuWT9Z+>4i3(k*q?Td`W`LXD}j4sZHtk0z!WG>DZug{q_up>DKiFeS6w>t-Yi1Vl2l(P+Nn}e;)fp>8Jcnflv z+c-ZqEoTMT3I`jT125tH@hWoWfz5NU?40Rf(;X}&XA0O92U9r{!6y2#?8Y{*Q#lie zH^GT_Cutn)xz9P`opa(H=yMY6q=Rkma|G;& zgFV}4FW6oOTiRzk*meh-(+A$b`Rd$zQlGV8YaOhn54?f%$1CmwZ{Yk`MxTXX3mq)3 z54r*8i zu;mU`mCab<{PA+L=YY*|u+G`jz@|A^csApP^QG-|DVsTs^J8bSE5Iro>_|3x0q2jm zJDc&q`LRve8DJR>wlX^zEZM;pWQT)=JJ__|?b(POhlB0xy$NiSgKg-IY{&WP(sOz5 zrC>`PY+mpAVDlYpO79t9GaRh0_e8LX4p!E?4y?|>di5R#Hq612dNYkc+4 z>onMD2dl|C26oKBinI2E?RT(@tes#x9V{-3d5QCt+vCkF#uDep&Sh-^+vH#`W-*pH zf4qHJj3v&GJ(tB;;{4d!EXES&$DYYzEOCBpRu-}o=f@t*8V)wx!G>j3f>kSM@ZGfN!6n(NLMFL5=fGRAZvU0Wv%WJ4HE5-lfk^k zspek@>x?TPR~&?Sp5dS8I-?1s$%(_f&+yNCopBcAtP_X%o#CI~I^zV$2`A1GkRuKP zCuR6KNoO1YInYj=-Nf1L#MuV2%|SMSY;urwAnP1tHOOiQSpl-bK^B87c96Lsa~)(h z$ZQ9h2{O|`W`WFdkk)Y~6KAp$XB@~l2Z28`{QRji%0bGVILMR?zf92?c_4XCoLrDx z2gw1+aga=qOb1B=Npp}4kPHV&2T6C3WRPSB!HUd?^dsG`Dvk5;YWIsE7agPlq`^T> zf}C`a;~>W!@tKA)5?LHl3x<5`DEyej$)ext~K`KBh z93&qk-$8nT^l}h%R(HS7(%q3-IDc7iLU)%F2<=Xk7O9nvM8f%zMvz7afj80}-bhCx z;rywNfgE#?10V++WDm$52iXp?-9fg3Y;}-LAe$UyEy!92VNBDVF-=FG;rumx2ILtB znFlh@L1uu=a1bO(x+84}zdp_+kV#Ieu^?j|WEjXW2Pp$7bC6t+TnEVj$#9SqkQ4`r z28s3~-QHFj=WBbnOCXmVBFIE1PCZDygH(f5J4h)=se_;kx;eU_TP8@R69-+;EzLm~_ioO(cS`_CaN>9% zUNho#ZBi8~T19zv{Ogwg(t5S}DRyiN{-4(VH&*_6%dT)8uuwwl8~J;$)?N0EA2T~@EMlS`pWVIR2B-Vfzp zp+7#KnlFh<73*BNHN1Bhw?ZSV%98tc)DaAL=GVPL7-&IXiNGk*gxt zMQ)7T8o48KPvri{!;!}$Pez`NJRf;6vMKVNsK}^sN+#5qs~U1kGdGu#GVw9(FxJ1(dp4y z(RtCO(Ut5@Q6D`adUEvi=-JWpqZdanW1ot3(Ho<;M(>E;6TLtBaP)C@tT-EeKKf#G zQ}jDAkueD|sWIs>SuuGrr7@N4Tu~o0A!c&S^qAQ(^J5mrEQ?tcvo2<1%vScY*b}oq z=5WmMn3FMQW6sB1jA@E_ClDP-4s;DGqPscXIUWmOMdo|9B3&bVIrNw2&<-`@nmB&@b)v{y8#JH(( zGvnsQEsR?dw<2y$-1@l9aogf{v4_UNxTA3=;!ejk#9fHH9CtO|ix0#n$EUHYMoxTT ze0h9zd~N)=_=)jT<7dXtjb9kQgnc&F#IKLv9KS7oSNz`igYie>PsE>&Z-~DTe>whY zf|n3TNKQyg$V|vdC`>3%s7|O&7{^{5Qxj$;%uQIBuq0tc!kUEj37ZqPCG1Mr%kCUU z6HX+YPH0HDkZ?KSYND4INK8&lOUz`yj>5$9#OlP_#Bqre6Q?H5Oq`pzFmXxZ3U=^V zpSU@3TjH+7y@>}Ck0zc-Je}B(cp>pJdwO_Dfu!W5w4}_W9KOUYPpamRT;q}^vdhQJ zq`658la?f{NLrJ$K528(wxnH2dy@{b@5hOx(@70U7m_X~UG3m?2y{s9kk%oyLk>HE zly|7^P}^aAhshmgbeP*=QHNz6Rfd^ORhYi4BE52+BiNr2U;noXc!PP4 z(f=*J{;dipUbt7K$Fo1=qudQ;Z_QD98h6#~v00}dKy2&inOD?rQWTJx)Kt-AMhgen8Kntf$p@{WbiB>O*=h{$HsH z`s?_M)Q9yt{7JhyO{|joW{to_f^{C#A|3x)T{|){M^_ZrQ^q16h{ayT(>T$gl z|I2EI{#*Q2>SOvj{I95)`g{1R)f0Lf{#Vs3{df3l)W`L9`mmV)@6#St!oT=wk1FNA z{Io|6;2-_8N0srve%hl3^6!4yqssY@KkZS2_@_VZQ5F2(pZ2K1{Oh0gs7n6(PkYo5 zb^xF~s)~I8Xpb7oZUD4LRkJ4m?NRr#GXU*T!`L5y_Ne>VB|ye}IC}-q9yNj;189$` zVc!7SqeilO0PRt=>>)sV)F^fmpgsJ<{;Sd+_DEPG?a@C}i}Y3eAFIXs9sHlD&v@+d zqxY$2ya@b%QOmvV_@~uMFB88}ebp-_{jb=Q;D7M9vnRn@_`hU-g8#*z%Ps}v$A9(r z=xg{-vReW9s(Jb+lCOG7?~{Dh3;O3?0RJ%iiALcc(LeK|@sH{wp8Q+?*ZP>3g8z^D z1uq%@m_F)t#GkMKMe3uDvoC1|{)_tGyq@^K(f{i8!2gs!E%j78^jR+p|DW{ly#oA~ z^nZFK_$TxqydwMsx>4Gpcd3O^f4xV2TI#FMsxO;#Khb~m2J!qy^}O+Ss=t!<>HTVn z)K~9NPfPpt&(!Cn-umb2v(g@YL@ky2>lf5Askc6=z99A1$JFPgJ^GaTqSRaetNN1E zSO1$@A@$e4SF5C+`VVTg)KCAX`ij(-eIF9_oA^J{N&0R4-RzJ1fB1i|lTrC$>;loz z)A)OJiWi3eQ{Bl6$NvYN>P6xo(06$;_y=`oFBbn7x{DWwe@Lf!>@3P&5qEnD_=j~@ zFA@J&m=a0&zt-tqC;a2OyO)ap8=c|Zh5w@N;dRFUC!Oha!9SsUdTIDC>0aL5_%G{w zysr5Fth2ms_$PI5FCG7k&h~oYzoPqi_u&7#&hdKVzpDFs+4%pVbG<(J4Z5F~gMUuv zdAaz%)BU}E_~&)LmxuqFF7W!}zpe|teEbXie4!BkqAvDI@&8Mgcmwb+@nf?x{5SLf zZy^2^UFKEbH|c?1CFB2FdX|1=?}#5szpCHSv-GPvum4{9RlTO4mwr{R>%G#i>i7Dm z(y!_QyWrBV>JR#W^s8#r2c=)tf9hXIzp9J+ko2qiFa1mDS9M7rmVQ-l=wC^{sz2&q zOTVfs`ndF~`fvRk=~vaHUzC1T|D*p&`c=KDPe{M2|J5%^zpAVHW$9P-mi}kySM|0& zDgDY`zh|Uh)jRqX=~s3i`FGQ=O22CQRqOvS{p#rk)35Zb>DO@mJJYWb?Bpx`8mV71 z{TiiTH~ku|FPMIf(HBj>2K0ZKevQ?aOuxqIH%!0A>no;T6WA4`lHIp@8m)p(QN4^- zL8qvDj8;LXs4P#k3OYsgHd+OpqOy%vL8qubMysGxRF2Uq=oHo0Xccsd$~9VL7I#vH z(Oaerqqj^MMsJxijNUS37`zr@8`Zs5H>zP) zH?n_@(T!@j)s1R|)s3pg>P9uv>PGgMG`dlZvbs^#S>32cx9CRp%{01^okxvsWZyTV z8`)9Q=tg!KG`f*pVT^866Y`9jc!zv@zIU!9Ak8&nu3pRWKU6} z8`V^NbfbC{AKj>?;iDVXWBBMsH60(_s2;~hH>w%<=ti^CDY{Y3z}tgc{}C#z$ltCu`HZ6x6vfL0u9E>XO)?E{U_cgdLBpef^W5Z4hsD3p*kjJDWY8td7A(Vqb5o zYeWZNBdNc_$3|jrcVj!Lh4`X_L^p^I659uxNiD|5hGO@3qm#7QK^~NSs%kZ(u)EDrv)!38X=r%1n3EjqWqtR_T10UU{d*Gwn zwAg0oHjT|Ax=oAjLbqwrUFbHQg^zACdy8S~spULl>!~l|W8*uMm#T)M8trGj$0*I#Y{ng3i>~ zCh}gUBJr^?)$`!!P+i6|?`JB&GrCj{q-H%s?`Nu4=>1IH6M8>WS)unc)jRZl#tvM; z_cPTe^nRvtLhom)Z|MC@&-Z1YzZ@4$Y ztMNv%esnwgmVHgH)nC`^^f&agoX)Ube@k!B-_{%TU+Yc!J9@MJ8@)w;S8vsStDn=~ z)7$jlar(dyd1LqqyPEwA`;#^5|Iu&h|J7IZHT{m~c@bW~i}Iqq?p}u1)9c}7dRbn9 zS0XBV@lUR>}ziX={? z=~-z)S=y#btDG0>~-NLw)sLb}WoK^L3-~egCXkO-I-d?*(T^yrX7cz02s6w)V!8{q|(H zy%)_cc{`Y$W}iG}Ve?LT%&=&r@&ex0f;;9RYk#6SVL&IKixZKai_p1ANXfm1!z z=OPQjIT52jCt(yY&sQz|4>SVCnL-(x1TEhu+;AjP$$Ruk&cvb!KPT3fO9Vou+EsoE6!dLJ+ zpykR48x0o-54->`*nJVrK8Uizp~PYpWGO2Q*Y8be_aHQT2sY<6kaAk(hU|^<<+YgA zjn=uzE`_1IQm~!}U?Epy)y{*8#q7WM8CF)l=-Wrp?wjcB zi%8sXdgF1!7qYwHvwEw{Q*h7B73miw7tdibtI&GfiIn5r&SPvo#GF&iF?kF63_3Up z{`<0ugLAvkN5X?$h!>8O{Dx9U#J|C!QM^Y+A>XptRZ;e0F2>$`5?k~8%tx7(vL~en zFN98-d6oMHM)MTADktf`LDFD7B5f*>lvS+C=gAo@yrYR|dRjkCIXkc`WSlj!L?+=v zt`YR#ykKwfL=Odbm?X@jXMZm~Yg|9Y7Y?|7^dra#WKK%>g2o030<{MO6UmhF* z>BY}rXRt>lxW~K98{)G%_AC5o-f659`8D4yh!l~0Kg)Z8LYDJAv`I6VeK#e|68#(V zT&bGO^XK%7__A-j-IG(wT8hoVzL(&d_aUjz=eb5OGv){P?3C6n!vZn;ViFb&54G@* zaE#R93#=?EcFjC1c|iBdmG=(0A7<{q$Tgg~X5^aOvqEQd2KSN7<>8?{K}~*N;@w1{ zP0mYN#&U#kyxhU*@HKY<-oF-Lvz|a2Ht!&6(teru7=<>Io)a1=SKevlUgoMcGgb4R zCiknk%C6*f>}e|be^vJJFIQ<(=5Ciid1 z3_!of5m%_MT)i4|FS%;3POhw}N@%u0?lbqj&Ap64IPb^i>?pa{-?X}ydv*lHew8|` zXAMT4Cz+Y*>2EPlCBKK|%6hDXP1Zfc*WdQ|uAMwTs*MJbd%e->aPBqQQ_}o3*9i3J z@}P#1_HPR6c##Ggoxs(TF^WbKd=ZOPG|-pL?3a%E4(q$h%y)^c(J&H!sJVYsuB`iV z<$E@+o*7@{iQs=@@Ir&jScmf-Z#0_R>n+y4;69R&>AIiQai+Jw%bKym^2n345Z_Ib zx5#^qUX%ObT*I0rUs$u;(`Y{lzgMp4LbHbdT0WXiYn=f6HpL!bUT) zfY=|C6s$~3>Y3*Ld*=QLbH9yi81-YcL8qt_#m-lI7oU_2I84s!gf$cpXgrfIbACsv#Cd& H{`&s|J{K_Y literal 0 HcmV?d00001 diff --git a/assets/Fortnite_Master_Exclusive_List.txt b/assets/Fortnite_Master_Exclusive_List.txt new file mode 100644 index 0000000..ddb798a --- /dev/null +++ b/assets/Fortnite_Master_Exclusive_List.txt @@ -0,0 +1,178 @@ +FORTNITE OG / EXCLUSIVE / PROMOTIONAL / STW / CREATOR BANNER MASTER LIST + +======================== YOUTUBER / CREATOR BANNERS +======================== - PewDiePie Banner - VanossGaming Banner - +Muselk Banner - Jesse Cox Banner - Dhalucard Banner - Folagor03 Banner - +Ionix_TV Banner - JesusAVGN Banner - OrkPod Banner + +======================== SAVE THE WORLD EXCLUSIVE BANNERS +======================== - Founder’s Banner - Ultimate Founder’s +Banner - Challenge the Horde Banner - Horde Bash Banner - Frostnite +Banner - Frostnite 128 Banner - Hit the Road Banner - Endurance Banner - +Mythic Storm King Banner - Survive the Storm Banner - Canny Valley +Endurance Banner - Plankerton Endurance Banner - Stonewood Endurance +Banner - Twine Peaks Endurance Banner + +======================== OG SKINS ======================== - Renegade +Raider - Aerial Assault Trooper - Black Knight - Blue Squire - Royale +Knight - Sparkle Specialist - The Reaper - Elite Agent - Omega (Max +Lights) - Carbide (Max Lights) - Purple Skull Trooper - Pink Ghoul +Trooper + +======================== EXCLUSIVE SKINS ======================== - +Galaxy - IKONIK - Glow - Honor Guard - Wonder - EON - Dark Vertex - +Double Helix - Neo Versa - Royale Bomber - Wildcat - Reflex - Stealth +Reflex - Rogue Spider Knight - Huntmaster Saber - Blue Team Leader - +Blue Striker - Carbon Commando - Prodigy - Cloud Striker - Fixer - Point +Patroller - Trailblazer - Havoc - Rose Team Leader - Warpaint + +======================== EXCLUSIVE PICKAXES ======================== - +Raider’s Revenge - Aerial Assault One - Merry Mint Axe - Stellar Axe - +Resonator - Razor Edge - Pinpoint - Angular Axe - Tenderizer - AC/DC - +Trusty No. 2 - Party Animal + +======================== EXCLUSIVE EMOTES ======================== - +Scenario - Levitate - Pony Up - Ride The Pony - Fresh - Rambunctious - +Tidy - Floss - Take The L - Orange Justice - Evasive Maneuvers - Widow’s +Pirouette - Hot Marat - Kiss The Cup + +======================== SAMSUNG GALAXY BUNDLE +======================== - Galaxy - Galactic Disc - Stellar Axe - +Discovery + +======================== IKONIK BUNDLE ======================== - +IKONIK - Scenario + +======================== GLOW BUNDLE ======================== - Glow - +Levitate + +======================== EON BUNDLE ======================== - EON - +Resonator - Aurora + +======================== DARK VERTEX BUNDLE ======================== - +Dark Vertex - Dark Deflector - Razor Edge - Dark Forerunner + +======================== DOUBLE HELIX BUNDLE ======================== - +Double Helix - Telemetry - Pinpoint - Rotor + +======================== NEO VERSA BUNDLE ======================== - Neo +Versa - Neo Phrenzy + +======================== ROYALE BOMBER BUNDLE ======================== - +Royale Bomber - Royale Air + +======================== REFLEX BUNDLE ======================== - +Reflex - Response Unit - Angular Axe - Pivot + +======================== STEALTH REFLEX BUNDLE +======================== - Stealth Reflex - Stealth Response Unit + +======================== WILDCAT BUNDLE ======================== - +Wildcat - Sleek Strike + +======================== ROGUE SPIDER KNIGHT BUNDLE +======================== - Rogue Spider Knight - Time Keeper + +======================== FOUNDER EXCLUSIVES ======================== - +Rose Team Leader - Warpaint - Pony Up - Founder’s Umbrella - Founder’s +Gliders - Founder’s Pickaxes - Founder’s Banners + +======================== RARE BANNERS ======================== - Alpha +Tester Banner - Battle Bus Banner - Founder’s Banner - FNCS Champion +Banner - World Cup Banner - Fall Skirmish Banner - Summer Skirmish +Banner - Galaxy Banner - IKONIK Banner - Glow Banner - Wonder Banner - +Honor Guard Banner - EON Banner - Dark Vertex Banner - Double Helix +Banner - Neo Versa Banner - Wildcat Banner + + +extra stuff IGNORE THAT IT SAYS MISSING JUST ADD THEM TO EITHER OG OR EXCLUSIVE LIST + + +Missing Exclusive Skins +Honor Guard +Wonder +Surf Strider +Gildedguy +Tart Tycoon +Various FNCS reward skins/styles +Platform-exclusive reskins +Crew Pack exclusive legacy styles +Missing Pickaxes +Crowbar (High Stakes) +Instigator +Founder-exclusive pickaxes +STW event pickaxes +Galaxy Cup pickaxes +Tournament reward pickaxes +Missing Gliders +Snowflake Umbrella +Mako +Founder's Gliders +Exclusive bundle gliders +Tournament gliders +Missing Banners +Many Search for Survivors creator banners +Alpha Tester variants +Early STW event banners +Dungeon banners +Ventures banners +Holiday event banners +Tournament placement banners +Missing Emoticons +Founder emoticons +Samsung emoticons +Wonder emoticons +Honor Guard emoticons +Twitch Prime emoticons +Early Battle Pass emoticons +Missing Wraps +Stealth Black +Magma +Star Scout +Competitive reward wraps +Platform-exclusive wraps +Missing Sprays +Tournament sprays +World Cup sprays +FNCS sprays +STW sprays +Missing Loading Screens +Galaxy loading screens +Wildcat loading screens +Tournament loading screens +STW exclusive loading screens +Missing Back Blings + +There are dozens of exclusive back blings tied to: + +Samsung bundles +Xbox bundles +Nintendo bundles +PlayStation bundles +Founder packs +Twitch Prime packs +Intel/NVIDIA promotions +Missing OG Progression Items +Max Omega Lights +Max Carbide Lights +Corrupted Scratch levels +Golden Peely +Fully Enlightened Chapter 2 skins +Holo Foil Marvel skins +Rainbow Foil Marvel skins +Gold Agent styles +Missing STW Exclusives + +This is a huge category: + +Founder heroes +Founder schematics +Founder banners +Event banners +Challenge the Horde rewards +Survive the Storm rewards +Frostnite rewards +Endurance rewards +Mythic Storm King rewards + +If your goal is a checker that's com diff --git a/assets/font_test.png b/assets/font_test.png new file mode 100644 index 0000000000000000000000000000000000000000..c07c837d9d281405aa28a6683cba3cab48172cc4 GIT binary patch literal 3649 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 Y5BP!K`*-wMKKutw4bA^3GjP50FA(ZF-T(jq literal 0 HcmV?d00001 diff --git a/checker/badges/alpha2.png b/checker/badges/alpha2.png new file mode 100644 index 0000000000000000000000000000000000000000..1761426eea616f0cd4577cc6a6d7815634693edf GIT binary patch literal 5234 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 t5m5U0hz;N@M~08nL0X3@{|hjo8EXIl literal 0 HcmV?d00001 diff --git a/checker/badges/icon/alpha1.png b/checker/badges/icon/alpha1.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8c74d8a0668fa077d313c2625450a412e116bc GIT binary patch literal 10067 zcmeI2RaBH;`0w8thLReFmIet0q$EUQ=te^67}@~ouAv2_hwc_dLJ*{fMnJkjKuV;g zd(QmMxjh%>{`@ay&Ae+p@9e#HJ>T!=*-_eB$|U#h-va=EL{&vW7XU!mpCEt$5Bp{6 z`q2&mSO8T8*%#iRJ+nDC${!gRcXbuhr0);HjA2^}=fMya6&4rLKLYX}q(lcLL^-YU z7y}QJ^Uivl?(i8%naSxb{TO#{KZ5`o+(3{3TyR4{WbAP8 zq4QepwgM7@wnq|p(}G~gNcy~&T;K!tg3mYi8cu^ri&H_55V*xWMAt5Wjd+n#9 z07B#lKz=BI4I~qj{;UO20sQgaBO|ea-rxTjd9cC3E5dMyb znMsU@d+{^m2K?IbT}rmmQz6$N1tv*vIQTszm1raxFrEFV{|RN0z|Y6Wr>kee?zO*^ zSfm_3fc;e1bkwP0=ZYnYoYpzL0(8IUYd1AFbMWzLKDKCM zcz)I*stRQRJy4aOGaDKj(g^zF^!i=mszgAXSqNb%4mr4Hd%a@eWQce+h z_K0C|Z>~)aJp`QBjGN@$(C%%wFaeRLI(dp^w*E*Z>mHT*J zY;a#M`{w)8_na84Pm!iZD+Pf__HdVFc~ ztI0!GM@P^WPn%j!$I!rlE0!cy*HBx0LqsFNAG?8)s($jO(XL(N5>fX@Q}LiYnXNIe z`1k8?D;9!;9`smNaJO-7hY5kv@7FpZ1u;?`E!8pce#r{5x1i7i` zP~kBBe0LjT7?M4!r%ldsp3Eue)t!rtt*z03|J}{y`0OM%&yK+(x8D^Ed%igk-i_{V zEd^vMQp%Xph^CF7CNUjtGD@Y@%eS%_?6#bWv()tq7 zlAM*rLwkMjt68kqbjb{FEkEK4@Acc)deS)6?&++TxVYaQ4#yE9hrP?bq7%)2tu19dl3TboKO#9B|?oWjMVK7E{LTi+X!D4$-tUkvSY7 z@e0{pZql2Zm%LTl6M=(i{9<(*k<0BwG>`immIHbE;u!U$fs<3r%a<>=jk!sPYVXLrIV(NvevT`IbDd~Vr`$gFYX)zYy5SI`gSE}L7^Z*$qFL^75JY6b{&9agG z9g;tcIr*zs(*4Z;qMG5UtHS=TW-fMi_H8$R|3!Y>Y?&bQMm(IS2r2l?{Nwhg0`5fL zJiZ-uL^AhJ{r)WEAK-n()BkKf0=qFpx$ULd(+@gF@uSvlHxHL7#Ktm2|hr&XumVBd~xSh zVk#aa%Orh|N$x`UH%%Wq`Zc^yOy>l*dp1CE=w*A61d`IV>qkK(%#(Zq}`JU79Z|^ z7&HAVjvIFtY{J18RjW`8VJDm2t1@a{d-4MQEf;`|7R-S_}NV^)E$KmgCAcvoW3BqR++n++5ZE6)P zxXo(gwW6l{vP7M9V*cSLd0Mbc^W zMvIy<0 zpI+-(?9mWj8#)i&_n27&KorO0n@7?!9SWqhE~&C)|M&w837_qeF>)6ymZ2KV`E0cIR4^_cpT`- zCZ)33+S=;s85N=2(?tlRCPg|LblROAeeIf_h>8s~<$4GOo%xSdrn>L(Cjbew^0Bcv z^i!4cERX=ILfLxB4JhOl;Z{OKwJtID&EeT{ja#J9RaEcD@*oZW6od2-vgR?%6NMz8 z+6fU+?>M{9*lfFy>iC8mGy;FLa{5n;ARR?rM@KkIldoZD_hF-#cvumu3>NF748IN! zYt6Oz)Vh0kJXB?|>TDoa)5}Y&hO7Q@<=u6u?4`h<5Vnas764-umT0^{v}y zSE9{!3kVqL4vKtW$c{9Nuw;ETbu}797O2V%#vW9iS?NPES6l2Gf2yjh1>OkK55sE= z2?pRT8NZ2G1j1mz(u$#ei{H$<%gd3#$5Sa&cN`seJ8}eY8L~kI2U$E}OIp?rB=@VD zgxrKY;W!`#DZB(3qXD92W>?pcevf&q9f}ppx<^4a$X~%Vl7=z}o_w$Ia3Y#VIiT^? zFYV49a)ak!LNpy=oUr}yM@7Z48PvlvA`lGi&g$3|aM){6YZr?cAhBwlLdKEVvc!?l zi}wGWD4QBbxNExys(=V)r5U7goj>w*d`KfqUt$UiU?R=rOfWxPua# zDj*E@a}Ybd^mkoBgQjF_pxo53(F5WxmhX2Va^%G@aizWmdY(HLTW$_!g@7VxRA}9C zIbFGKTcN2jbG_P**caE`1#2}f1d3$jCj)liGP5v9Pr*F-~KC{--at zV7)5=+=pV-RTgU$;1E$fvin0g(Cjv&RpK3{o6uoIps?y`pEBN6BCFh&eT7CNB?>c+ z++e1LpAW~#WRfC!@f0Qg!P1hqHzU3#01QjfG1PpzOujWWT$FDT@R9@(AA_ZEC#%`$ zcvi-Rxc*G6kM|0EqE_&5_Z|9W{Zoom>SM!e;?>5$fI{hIG@YzUV?NL=9WGY6tTO4C z;Y5s89aey&1b;9q$p=q3#KQkyIA(fuHolei`0f5JIq3yhK7Y4jH$REih#8M#C7w9-Wd??7y6DNqSF)J|%)F1!G<}XPqUML>Wtc~} z_9-SCzYSH>5^}bEm&p!C?7?5%M+pkp*x71Ha86NEn=v*$>U+*$pn!~3qqQT&F0~;` zCtv%D#n0vCI*;3@J*!^6p1QeO7{;rTbaVX!(QF9tx_frn6?7-t_Vg;&w9S9+3Fa01 zSk3QuyaL20Wc|;B&h$=|`cM{zf0S3DVEFwMtz>|dQQ|@SwTv}U8*pEyaMs|VZH8Yu$WVC0C5 z1N^J+>6>6ND-^EiJ^il#q@qO#z1X`1pd!TH%@>CJiJVVll%US`LP$xc?ne0D_DC(Y zOcMv^#$WS+ENwzvPA_BrOo<{qQS1U_sPd2BRhAa+a@m5>;-8m)k5UdRwcTC4-N+!Y zB{Pk45Roa3X9Vq>FkZKM+oA|~P3ng*n| zRhZWrd+yDb*l`p-oOtm%9~!nJ2t&V6;SkN0Kz6UbeR$rZPOWZjU4(jxD*xp@*~2>T z9uzTuS*PI`pDXtIX!|EmqqM(SL?v<5tA!xzH;3QO>^X`{ig6!Op1w7BQJFw;OJ7`G zqWbk~?a9RUg!VNvitUIj2N0vFnH3Dm$FZCs9V(LXJyLo1tF5H|wo|bN3RHIRhBD>-%Ays9eRR~%+rbNi#(=Wp*_tnRnMfuJ~xQZnpPKCxu{r?urEa3!l88o`k2F@^_4 z*I4&W+A)urQ)o8rW;^^fTjtsEo%xa7=*GE6R@gXdb>Hxr+`z}mO8u-fG{a-erjU={5m0Va-}e>PuY<)henLNcKfZ_^wp z;v+owCJnL?E;w}Ux15$#!tv=?*~BJ&#LA-mnb*Or)$O@jmdw!LNb-K$JEMhKeY(F0 zP9O{x(;8HFIy$jIv#xIYvP4(H3g7x!?$dP-b+XKZW?A#$t;qv1F2 zPbuID8MZR$pNU`#Xbr#`^`Z#2#A34MeVTN#ecS*56v4d`)G90A0-9bKls9a-JFZF!c_1jmo1d;kdu->+a~Bg*PxVD-Cy4Jah%Wlo`Kp zizG5ZfCYdzA|wb$MS?g=9&6FW9W>n{_#}xP^uHL}W?#Q-G@1$#Ma_FbUW7_w)J;>JfCXNGw!v znN=F1({o6_-rwKXH+iM3LCXrB4q`u7ULP+}uO|U1DJiWF%?WQ4wCr8PxX}4YP}loG zmhLF3xIzd3M%rc!0(UL@>9ixh`;NRR84T%!1A`;p&SG*P2$@p7O#=J-wC7#>%(Z|% zj)L`v+ux`76G+dn+CResbI0~wUv=Y@AI!2Rs1=hC_FBBXBUn-cXhkV0DY?ODuDYw5 zh|W$qMIZs3z;DO4#m}Puhz>K3scyhz)| zN{cs3?ab`Rs`Cn+6=-@bd@nc$mKD_LHr5t!Jy}<(bMTGE@V>%2ZH!td7>t^fYAyu{QAa%)Q!)Jz{nm^UZoG*5|-h9h9yA;av!X}j^ z%fv$`7T|q7?YaC(ya*D&I$`z^rM#X@#l;y}*WlTBvAf}%XH+$^oi)M;HCU4FMzosG zk=UErbkp{Nr|BD0&LVX9R@_@x%H0Cfw!^+b?HH}JNQ6N0o>RQr!yM=yVMfl2x zTfDk@bzqBn?Btm{IW<#mM6qm{XMFQSLgEby^~Va1gu#jPjT#|2plN6Cm@j6vq7}lL z8EIO8vAUG+Cslw;gm5L76O_LJOY=FmfvGV8H`}W)=>vOGk1xFo?bFr zz4s2~-f6mV*l;ie%4aoJvIb?5$hOidAwbCcLx8u>DsKB=MnjQZfe6ps`dLo)!O>*? zrOAjaM+h-p!pPyN<+l~i%mG<;GFyhyE5sqifoaf_b7GC6s?3}1&sCEGfH&km8*b^w z`4-mUDa60jc=+3pBI|Xhmh|-Do7I%B??dODutv!i^qw?M?5j?jcJ|LavBo0jS*hhD zpnu(~9g{Pk$-^7l5%ulu%%{e?%F4$jeF7>;qk8EQ;kOV{T0BOXz-$NtXY~O<4}UTM z#uGYp!{3wX{rN9!vhIcLv(d&+da=zGt-0>wiNZX}P@4O$Zmt|$3kWTy91CHd2=cMH zTKgg)j);De30n;dIWWA{N(6C_uPkNxJC{b8B^D;$_t`1g##}w#2 zD$AT_c$(T)%(vt~576_$38y&XB&w@Dvqaz4 z&nN%t9butMwkR<-52f>LS#?>NGM{M1GOjlfyLZA$N$ajrvDXJ%r6|+t zFV`#6(2N?JOXaty+`T?OSg!hz-Z=nD68s*YnL|LM(fPQ+7u?09@*+WDr5W&O6tfz6 zqw?9-Mco$$2OEE#G^U=>Y~#)&Ljyl6B^=Oc2Z6KDb2vk0o*#=Kc^ zSRXBrf5XA#fBaBYp1nRlzy0#`IUnqlkDn(EYh3@D&p7&-=xA}IkgI2Qk+a=BAX z8r~_EjDFaAx8D{GL0DgJ4+gM;F4O`9=f>d!lUBX4Dv_@_jsrZsbMj-t=rTI&@pHhL**G00ecns_fN!(Yk{njPI9)har+ zR_A++?sKBog5^}08QBS7D1_qi^gzj8TNsLO@+TJzc6QU!g!$g>fUl?bapunRMylVsC z9L(jQs+T1VzZpsfGn2QmcEE^a+K0roH9LA}-<+SLf*mKXe z2*BlPArLl{N7e$fL|2-Sih}n1AYjO=f7E z^aahxLRrKOd+InsJ+N|XT9Bv-Tw0T!)~hDMMGlz0GHY`;%J^yC?D=zYi|eDD&K=SW zuK6;y!l+fLX~tdMMaKnYFrTHt1&AB>1cJ3PeZMu7M*WC|K)EW@lOu8@H-8H9@1X!q znYuf!=eZgxi7cllZ$C3!Uth%nI_D3|3!k7sjk@(_w{N3^s^& z_oD^NAUS|mj-;($;z|_;9gOp}&8zhV>ZQis{Nfo5Vo$JGW2|jaLCG*^VTVn6L!*LG z6KQLmEVvK>vrMOCw#%Y?XtT5I#7&;`7tty0>CTl>@k>It1KT#Cjk#CnmA}TZtdEHL zae6l4=yCip)18{(O$gtQ>IImcbv1RDs*OXm$>McFXbsMrjC^|n(9pMI(MVBl?0vpYxLR3YkKgx&vDrb7&Filk?+`W+JNwm!)sBj9VxT zX}D5-N(U9d)w5tI-x%TaX@#Cs5ZCJ*S&j4*^wsU&v--#>V$UnLqfG*a4`C4&x7!A; zN0X|-4Fzam9GQz_C6kJ8?UJB}Q_9JDXPpQob>O`hKp<~}T?vUbf*-~R5gs$!@1-w^ z`LiREp`pJ6yvLFhlX72=))_X^EVkoz;a%Wkt1Jc0b0IJiw{6i1RvG>0xIBPJTMUNuv6i*%LV!R}K=ezuFJ`yGfyjVU`k{h{hVuQV_hQ}8v1c_A zD&i{1n3q8gxfS0K;Ahh8f8>-W-r47TkUOi?EZAL3#MXeMCqq`0$X)y zSN(6g;!{G&ZcT*(3tQp9zb4z~y-ms{c4~kQOL&8-kxz!JyJa7>h0dbTZ`DJko1@SC zp`x=$7mDnRcMP*1sV~Ki)|g4)&aX*#;JciVc-iVi1Oc{U1pN^Cn?Lak1r#GljC_KI{vS&gGEABF zD$A-~RQ;u9%FzWqWrmH+5`v!GG4o(GJm%=KV`Sq;7ncy1SKLsBm~xXubFr6M6{3cW zIC>H04n`WRcizbPT;1yV{5uLa`9$L-g|%uRR_dEwRMTY|0N|7UcNgGSgV^6^GM}P` zW$t`Ujrs$8w$$kYBp)fpL>Je7(c{|>o^|SpK-}A6Apb%Ex0Ww@@$yBvSqh_$KqO@d z3?3GNHvOv0_D$>R(rw&znLsi3=!rkXwAJ$^-7S(hHRW;g*~`7JJ_~l`6`!6g-P#YB z=HvjLnFbT9 z;`_0_q&UACo@ty}T-Km`C3;fsaYCN&-19fdmgB#g#zi+2zZ;GI(!nN;!vc7xyKE0M zyvG%bLdG1n-~8i`2IeK^ZDy{UZ8XpCKd;E?qvSdfcV3Fdl^5`^V*!Op;Z&b0mqk(; zy?y)HRfH;)oA5c}-tNE#&znX8hYi*4S_(VEcbzSCeq!iQifK)O1fVk) z)IwK%)>>2~uL{iW@Xz7&UdzkNyZ$}m_@)IEV(Rx6YM+Zi-V?@u$>{ z&cZH!KJ!odqMhRXnqAKZ5iPCQvvRI^#L=HwVmP_LK>!B`Qr9^0CmH+PY_}NyNy_I+AqpdK z7S6Qqs~yuUKI5|O3>E+ z*A*e2!*nsPT=cRO6P^YR9+Npun*C})cBNk@3xOv{AgWg#9n+yF54>voy~-nyAIi^d zm_L1uMcm`?2T+EzAbgO9h6cAXe>#aaefjs6;esimeUgG2ri)+LlKFoHxBA06(qnjN zbI40R;12a=O7t%6xO+qN-q+yq~(Q%P&N}<_F2ycBb;#g zaYrbCZuEBM8;Q7+aXn^jgI`ql{aF$C54aqU?rRT)1)TDN(6#*aBXWQG=EqIhiqj-Pi z=WznKfCvD2D}s^q?|%f>D9NZ&SC@%@;!imhwhVFLl9rUL5T)wTebazH zLXKRZN1d{R^`VE0Q1m@<4Ry%kf4*doZ|I5~M1jqfoGSv+1m794o^!z@9UIAsRYMwR zOG*m*4AHDb!@0-#781@s>Fjm4$T3TAQv z?9CGdn6&6Uasg`^zqf`P$*>_pu+2djl*mC1*egcPenho_3TOznIYRLdY~Xj;B(-uz uZFl<~Nr-KZ!kJd_e>(X8>j(y8@OwLAs88`r>#&#Q098dTg-SU@$o~SLFgW-C literal 0 HcmV?d00001 diff --git a/checker/badges/icon/alpha2.png b/checker/badges/icon/alpha2.png new file mode 100644 index 0000000000000000000000000000000000000000..9b938ebca3d46f748a181c6cbbb56f9c2729dcae GIT binary patch literal 13968 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 s->*7 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 literal 0 HcmV?d00001 diff --git a/checker/badges/icon/epic.png b/checker/badges/icon/epic.png new file mode 100644 index 0000000000000000000000000000000000000000..95342b0956ebef1b71ea34357723ef057e8657d5 GIT binary patch literal 9108 zcmch7^;cA1)c2iXkO7I2ZUzLAk`R$*=#Ua5lTM3ar#P^{DiPCFa{joDkYKkBeHeT&Krk|IuI`nqiXQWdWHV*)O*w zqzRoYXL#6ew_TkqeaT3>dAM(1Sv*?u+WFb`mD~iUi3R_M6dq52ZWvs zfcV89JNP38(9vhbTo@LVUmSp}LO6Ob!Ss><1jZ92K@DGpfM7_XdKek>GcE{*7$C-R z_&-~4>?h`@_<21J zaq%*8JLfP;n%zYs|9DW58xQ_v+~51FR;w!5Bt*0AY z1>tz(&#biR(_E-`%WiPO6d5^L!EE*)-cO;v5R<0Tcao9$j)&=nK8AP)c1E#%JXO-$ z42J{&FS0!ZGDLlvb=|)CBjB)95gR_Ci?2J^wUs~M$YIV4Cih}uSan3_NZQLo84l}K z1gtYZMunC2`Ey+8x2Vp^vZFfrR1t!CV2Wpv`xGII^4& z4ub;ztxo{ZCLRqT*njmY3<@qTFUJ*~h=or;zX(0C2Ql0M2zU6ZECf7`@$c!UVj>t6 z0}MxUSw7(b{DuE}6`ML96ggC zqSNSpcM7LLB`Ke|qETr{aWU7s>$(%svSy+PqDOu$`14b0Q&AHGSHoAh-dvp@=&Yt& zoidk-S9lZ7ryfS_{kmQ6J(-2PFRPP7mZ${zxA)S^rgxp+>3VaE34}jTC>s5vti@># zEPl5p8(5;%e39W}zVq_SzqZ$5OxQtDYp8@X@{qfm3mu#uF>kejX8rcq2m|?_=jX1& zsFxo2`1q{eFEvNEOX+%PsA;Ec3%!HHwtiiVyBU0}l=c0XKhd5vEHv_lNRwDMpKUGk zah=*{6MW=X+E3LE+wbY=Y1@nE#Rx8=P4g5sFyO`C6nfT>e`m0AOE$sfOLNKkOxuVH&^6%v4zm`RQ?hxyi zYy0_$d7X~SPD=`%*}!z!8DQ^ov0%_wBvtXfaHQ6GM_2UycXuMcUP(@OCJ*ivYGGnk z6AW-YCC>^;U~nW4e<*nRcrl)JJuRULdOe&m< z-leHq;4=B#-o{WZUI|{}yiAs3)P7jG#(PiA?~FY3HfPppajp2VLJ+N`@1P7!{acuy z=g}0SjVX%=8!LV(VM+mjt3NX}F&pd+ZI7gxXwzj2CEaju|H`gvm#wO-`U9Pgh;39vwg!1BB?r20;+i z1{zO90E3e5j3IY{+#RK;IGY++CpDs7ZZdU_zbeIEIjiVqpMD~ zxZZ@wY+jvDVRFbfaDO&fC>)*TP*xfS43IwnMf`sn5*cCWxGH-6eye9_Y7Xbr2k|W9 z(c0!ZdXDS;YGjOhs$>bz@q}k&@ygPVym7A`FO!=842*^Fgnd=Pzf~eaUe#jQ}NsnWa9M&0B-LTi6 zDPI=4a@#7Zawep4z=#C40fn4aZj;48pP%Idwi3M%zMhBA9)7DnuD5L)ww9lIR6fsr zkEVG!qs-fb4Fdla38M#|hBCDJoZ89weWVn$BY#E-HH5
    7_>qgMFd<%UAR&;2P4 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', '#', '+', '-', '=', '|', '{', '}', '.', '!'] + for char in escape_chars: + text = text.replace(char, f"\\{char}") + + return text + +class FortniteCache: + def __init__(self): + self.cache = {} + self.cache_dir = "cache" + if not os.path.exists(self.cache_dir): + os.makedirs(self.cache_dir) + + self.load_cache_from_directory() + + def load_cache_from_directory(self): + for filename in os.listdir(self.cache_dir): + if filename.endswith(".png"): + id = os.path.splitext(filename)[0] + file_path = os.path.join(self.cache_dir, filename) + try: + image = Image.open(file_path).convert('RGBA') + self.cache[id] = image + except Exception as e: + continue + + def get_cosmetic_icon_from_cache(self, url, id): + if not url: + print(f"Error: No URL provided for ID: {id}") + return None + + cache_path = os.path.join(self.cache_dir, f"{id}.png") + if id in self.cache: + return self.cache[id] + + if os.path.exists(cache_path): + # getting the icon from filesystem + try: + image = Image.open(cache_path).convert('RGBA') + self.cache[id] = image + return image + except Exception as e: + print(f"Error loading {cache_path}: {e}") + + try: + # downloading the icon from url + with urllib.request.urlopen(url) as response: + image_data = response.read() + image = Image.open(BytesIO(image_data)).convert('RGBA') + try: + image.save(cache_path) + except Exception as e: + print(f"Error saving {cache_path}: {e}") + + self.cache[id] = image + return image + except Exception as e: + print(f"Error downloading image from {url}: {e}") + return None + +# global members +fortnite_cache = FortniteCache() + +available_styles = [ + {"ID": 0, "name": "Rift", "image": "img/styles/rift.png"}, + {"ID": 1, "name": "Easy", "image": "img/styles/easy.png"}, + {"ID": 2, "name": "Raika", "image": "img/styles/raika.png"}, + {"ID": 3, "name": "kayy", "image": "img/styles/kayy.png"}, + {"ID": 4, "name": "Storm", "image": "img/styles/storm.png"} +] + +avaliable_badges = [ + {"name": "Alpha Tester 1", "data": "alpha_tester_1_badge", "data2": "alpha_tester_1_badge_active", "image": "badges/icon/alpha1.png"}, + {"name": "Alpha Tester 2", "data": "alpha_tester_2_badge", "data2": "alpha_tester_2_badge_active", "image": "badges/icon/alpha2.png"}, + {"name": "Alpha Tester 3", "data": "alpha_tester_3_badge", "data2": "alpha_tester_3_badge_active", "image": "badges/icon/alpha3.png"}, + {"name": "Epic Games", "data": "epic_badge", "data2": "epic_badge_active", "image": "badges/icon/epic.png"} +] + +locker_categories = ['AthenaCharacter', 'AthenaBackpack', 'AthenaPickaxe', 'AthenaDance', 'AthenaGlider', 'AthenaPopular', 'AthenaExclusive'] +# global members + + + +def draw_gradient_text(gradient_type, draw, position, text, font, fill=(255, 255, 255)): + """ + Draw text with a rainbow gradient at a given position. + + :param gradient_type: The gradient we use to render the text as. + :param draw: ImageDraw object to draw on. + :param position: Tuple (x, y) of the position where the text starts. + :param text: Text to draw. + :param font: Font object to use for the text. + :param fill: the color in RGB in base to draw + """ + + num_colors = len(text) + if gradient_type == 0: + # white text(no gradient) + gradient_colors = [(255, 255, 255)] * num_colors + + elif gradient_type == 1: + # rainbow gradient + gradient_colors = [ + tuple(int(c * 255) for c in colorsys.hsv_to_rgb(i / num_colors, 1, 1)) + for i in range(num_colors) + ] + + elif gradient_type == 2: + # golden gradient + gradient_colors = [ + tuple(int(c * 255) for c in colorsys.hsv_to_rgb(0.13, 0.5 + (i / num_colors) * 0.5, 0.8 + (i / num_colors) * 0.2)) + for i in range(num_colors) + ] + + elif gradient_type == 3: + # silver gradient + gradient_colors = [ + tuple(int(c * 255) for c in colorsys.hsv_to_rgb(0, 0 + (i / num_colors) * 0.2, 0.6 + (i / num_colors) * 0.4)) + for i in range(num_colors) + ] + + x, y = position + for i, char in enumerate(text): + color = gradient_colors[i] + char_width = font.getbbox(char)[2] + draw.text((x, y), char, font=font, fill=color) + x += char_width + + +def render_rift_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding = 30 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width) + image_height = int(thumbnail_height + 5 + thumbnail_width * num_rows + 180) + font_path = 'styles/rift/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (0, 0, 0)) + + # custom background + custom_background_path = f"users/backgrounds/{user_data['ID']}.png" + if os.path.isfile(custom_background_path): + custom_background = Image.open(custom_background_path).resize((image_width, image_height), Image.Resampling.BILINEAR) + image.paste(custom_background, (0, 0)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + # top + icon_logo = Image.open(f'cosmetic_icons/{header}.png') + icon_logo.thumbnail((thumbnail_width, thumbnail_height)) + image.paste(icon_logo, (5, 0), mask=icon_logo) + draw.text((thumbnail_width + 12, 14), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(0, 0, 0)) # shadow + draw.text((thumbnail_width + 12, 82), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((thumbnail_width + 8, 10), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(255, 255, 255)) + draw.text((thumbnail_width + 8, 78), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(200, 200, 200)) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/rift/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/rift/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 28), (0, 0, 0, 100)) + photo.paste(box, (0, new_img.size[1] - 28), mask=box) + + if header != "Exclusives" and cosmetic.cosmetic_id in popular_cosmetics: + star_image = Image.open('cosmetic_icons/WantedStar.png').resize((128, 128), Image.BILINEAR) + photo.paste(star_image, (0, 0), star_image.convert("RGBA")) + + x = thumbnail_width * current_column + y = thumbnail_width + thumbnail_height * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name.upper() + max_text_width = thumbnail_width - 10 + max_text_height = 20 + + # fixed font size + font_size = 16 + offset = 9 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset += 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - padding + offset)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%B %d, %Y') + + # custom logo + custom_logo_path = f"users/logos/{user_data['ID']}.png" + if os.path.isfile(custom_logo_path): + custom_logo = Image.open(custom_logo_path).resize((150, 150), Image.Resampling.BILINEAR) + image.paste(custom_logo, (10, image_height - 165), mask=custom_logo) + else: + # original logo if not found + logo = Image.open('img/logo.png').resize((150, 150), Image.Resampling.BILINEAR) + image.paste(logo, (10, image_height - 165), mask=logo) + + draw.text((174, image_height - 40 * 3 - 24), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 40 * 3 - 28), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + draw.text((174, image_height - 40 * 2 - 24), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw_gradient_text(user_data['gradient_type'], draw, (170, image_height - 40 * 2 - 28), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40)) + # badges + font_size = 40 + font = ImageFont.truetype(font_path, font_size) + username_width = font.getbbox(f"@{user_data['username']}")[2] + offset_badge = 170 + username_width + 8 + + if user_data['epic_badge_active'] == True and user_data['epic_badge'] == True: + # epic games badge(special people only) + alpha_badge = Image.open('badges/epic.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_3_badge_active'] == True and user_data['alpha_tester_3_badge'] == True: + # alpha tester 3 badge + alpha_badge = Image.open('badges/alpha3.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_2_badge_active'] == True and user_data['alpha_tester_2_badge'] == True: + # alpha tester 2 badge + alpha_badge = Image.open('badges/alpha2.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_1_badge_active'] == True and user_data['alpha_tester_1_badge'] == True: + # alpha tester 1 badge + alpha_badge = Image.open('badges/alpha1.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + draw.text((174, image_height - 61), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 65), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + image.save(nametosave) + +def render_easy_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding_height = 10 + padding_width = 50 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width + padding_width * 2) + image_height = int(padding_width + (padding_height + thumbnail_width) * num_rows + padding_width * 2) + font_path = 'styles/easy/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (58, 58, 58)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + # cosmetics count + cosmetics = '{} count: {}'.format(header, len(arr)) + max_text_width = image_width - 20 + max_text_height = 40 + min_font_size = 10 + + font_size = 40 + while True: + bbox = draw.textbbox((0, 0), cosmetics, font=font) + text_width = bbox[2] - bbox[0] + text_height = bbox[3] - bbox[1] + + if text_width > max_text_width or font_size > image_height - 2: + font_size -= 1 + if font_size < min_font_size: + font_size = min_font_size + break + font = ImageFont.truetype(font_path, font_size) + else: + break + + + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), cosmetics, font=font) + text_width = bbox[2] - bbox[0] + text_x = (image_width - text_width) // 2 + draw.text((text_x, 9), cosmetics, font=font, fill=(255, 255, 255)) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull_old.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/easy/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/easy/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 20), (0, 0, 0, 75)) + photo.paste(box, (0, new_img.size[1] - 40), mask=box) + + border = Image.open(f'styles/easy/border/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + photo.paste(border, mask=border) + + x = padding_width + thumbnail_width * current_column + y = padding_width + (thumbnail_height + padding_height) * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name + max_text_width = thumbnail_width - 10 + max_text_height = 20 + offset_y = 38 + font_size = 18 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset_y -= 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - offset_y)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%d/%m/%Y') + footer = 'Submitted by @{} on {}'.format(user_data['username'], current_date) + max_text_width = image_width - 20 + max_text_height = 40 + min_font_size = 15 + + font_size = 40 + while True: + bbox = draw.textbbox((0, 0), footer, font=font) + text_width = bbox[2] - bbox[0] + text_height = bbox[3] - bbox[1] + + if text_width > max_text_width or font_size > image_height - 2: + font_size -= 1 + if font_size < min_font_size: + font_size = min_font_size + break + + font = ImageFont.truetype(font_path, font_size) + else: + break + + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), footer, font=font) + text_width = bbox[2] - bbox[0] + text_x = (image_width - text_width) // 2 + text_y = image_height - font_size - 52 + draw.text((text_x, text_y), footer, font=font, fill=(255, 255, 255)) + + # bot advertisment + footer2 = 't.me/RiftCheckerBot' + max_text_width = image_width - 20 + max_text_height = 40 + min_font_size = 15 + + font_size = 40 + while True: + bbox = draw.textbbox((0, 0), footer2, font=font) + text_width = bbox[2] - bbox[0] + text_height = bbox[3] - bbox[1] + + if text_width > max_text_width or font_size > image_height - 2: + font_size -= 1 + if font_size < min_font_size: + font_size = min_font_size + break + + font = ImageFont.truetype(font_path, font_size) + else: + break + + + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), footer2, font=font) + text_width = bbox[2] - bbox[0] + text_x = (image_width - text_width) // 2 + text_y = image_height - font_size - 8 + draw.text((text_x, text_y), footer2, font=font, fill=(255, 255, 255)) + + image.save(nametosave) + +def render_raika_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding = 30 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width) + image_height = int(thumbnail_height + 5 + thumbnail_width * num_rows + 180) + font_path = 'styles/raika/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (0, 0, 0)) + + # custom background + custom_background_path = f"users/backgrounds/{user_data['ID']}.png" + if os.path.isfile(custom_background_path): + custom_background = Image.open(custom_background_path).resize((image_width, image_height), Image.Resampling.BILINEAR) + image.paste(custom_background, (0, 0)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + # top + icon_logo = Image.open(f'cosmetic_icons/{header}.png') + icon_logo.thumbnail((thumbnail_width, thumbnail_height)) + image.paste(icon_logo, (5, 0), mask=icon_logo) + draw.text((thumbnail_width + 12, 14), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(0, 0, 0)) # shadow + draw.text((thumbnail_width + 12, 82), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((thumbnail_width + 8, 10), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(255, 255, 255)) + draw.text((thumbnail_width + 8, 78), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(200, 200, 200)) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull_old.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/raika/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/raika/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 28), (0, 0, 0, 100)) + photo.paste(box, (0, new_img.size[1] - 28), mask=box) + + if header != "Exclusives" and cosmetic.cosmetic_id in popular_cosmetics: + star_image = Image.open('cosmetic_icons/WantedStar.png').resize((128, 128), Image.BILINEAR) + photo.paste(star_image, (0, 0), star_image.convert("RGBA")) + + x = thumbnail_width * current_column + y = thumbnail_width + thumbnail_height * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name.upper() + max_text_width = thumbnail_width - 10 + max_text_height = 20 + + # fixed font size + font_size = 16 + offset = 6 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset += 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - padding + offset)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%B %d, %Y') + + # custom logo + custom_logo_path = f"users/logos/{user_data['ID']}.png" + if os.path.isfile(custom_logo_path): + custom_logo = Image.open(custom_logo_path).resize((150, 150), Image.Resampling.BILINEAR) + image.paste(custom_logo, (10, image_height - 165), mask=custom_logo) + else: + # original logo if not found + logo = Image.open('img/logo.png').resize((150, 150), Image.Resampling.BILINEAR) + image.paste(logo, (10, image_height - 165), mask=logo) + + draw.text((174, image_height - 40 * 3 - 24), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 40 * 3 - 28), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + draw.text((174, image_height - 40 * 2 - 24), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw_gradient_text(user_data['gradient_type'], draw, (170, image_height - 40 * 2 - 28), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40)) + + # badges + font_size = 40 + font = ImageFont.truetype(font_path, font_size) + username_width = font.getbbox(f"@{user_data['username']}")[2] + offset_badge = 170 + username_width + 8 + + if user_data['epic_badge_active'] == True and user_data['epic_badge'] == True: + # epic games badge(special people only) + alpha_badge = Image.open('badges/epic.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_3_badge_active'] == True and user_data['alpha_tester_3_badge'] == True: + # alpha tester 3 badge + alpha_badge = Image.open('badges/alpha3.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_2_badge_active'] == True and user_data['alpha_tester_2_badge'] == True: + # alpha tester 2 badge + alpha_badge = Image.open('badges/alpha2.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_1_badge_active'] == True and user_data['alpha_tester_1_badge'] == True: + # alpha tester 1 badge + alpha_badge = Image.open('badges/alpha1.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + draw.text((174, image_height - 61), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 65), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + image.save(nametosave) + +def render_kayy_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding = 30 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width) + image_height = int(thumbnail_width * num_rows + 180) + font_path = 'styles/kayy/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (0, 0, 0)) + + # custom background + custom_background_path = f"users/backgrounds/{user_data['ID']}.png" + if os.path.isfile(custom_background_path): + custom_background = Image.open(custom_background_path).resize((image_width, image_height), Image.Resampling.BILINEAR) + image.paste(custom_background, (0, 0)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull_old.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/kayy/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/kayy/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 28), (0, 0, 0, 100)) + photo.paste(box, (0, new_img.size[1] - 28), mask=box) + + if header != "Exclusives" and cosmetic.cosmetic_id in popular_cosmetics: + star_image = Image.open('cosmetic_icons/WantedStar.png').resize((128, 128), Image.BILINEAR) + photo.paste(star_image, (0, 0), star_image.convert("RGBA")) + + x = thumbnail_width * current_column + y = thumbnail_height * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name.upper() + max_text_width = thumbnail_width - 10 + max_text_height = 20 + + # fixed font size + font_size = 16 + offset = 9 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset += 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - padding + offset)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%d/%m/%Y') + + # custom logo + custom_logo_path = f"users/logos/{user_data['ID']}.png" + if os.path.isfile(custom_logo_path): + custom_logo = Image.open(custom_logo_path).resize((150, 150), Image.Resampling.BILINEAR) + image.paste(custom_logo, (10, image_height - 165), mask=custom_logo) + else: + # original logo if not found + logo = Image.open('img/logo.png').resize((150, 150), Image.Resampling.BILINEAR) + image.paste(logo, (10, image_height - 165), mask=logo) + + draw.text((174, image_height - 40 * 3 - 24), 'Objects Total: {}'.format(len(arr)), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) # shadow + draw.text((170, image_height - 40 * 3 - 28), 'Objects Total: {}'.format(len(arr)), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + draw.text((174, image_height - 40 * 2 - 24), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) # shadow + draw_gradient_text(user_data['gradient_type'], draw, (170, image_height - 40 * 2 - 28), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40)) + + # badges + font_size = 40 + font = ImageFont.truetype(font_path, font_size) + username_width = font.getbbox(f"@{user_data['username']}")[2] + offset_badge = 170 + username_width + 8 + + if user_data['epic_badge_active'] == True and user_data['epic_badge'] == True: + # epic games badge(special people only) + alpha_badge = Image.open('badges/epic.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_3_badge_active'] == True and user_data['alpha_tester_3_badge'] == True: + # alpha tester 3 badge + alpha_badge = Image.open('badges/alpha3.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_2_badge_active'] == True and user_data['alpha_tester_2_badge'] == True: + # alpha tester 2 badge + alpha_badge = Image.open('badges/alpha2.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_1_badge_active'] == True and user_data['alpha_tester_1_badge'] == True: + # alpha tester 1 badge + alpha_badge = Image.open('badges/alpha1.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + draw.text((offset_badge + 10, image_height - 40 * 2 - 26), '| {}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((offset_badge + 8, image_height - 40 * 2 - 28), '| {}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + draw.text((174, image_height - 61), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 65), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + image.save(nametosave) + +def render_storm_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding = 30 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width) + image_height = int(thumbnail_width * num_rows + 180) + font_path = 'styles/storm/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (0, 0, 0)) + + # custom background + custom_background_path = f"users/backgrounds/{user_data['ID']}.png" + if os.path.isfile(custom_background_path): + custom_background = Image.open(custom_background_path).resize((image_width, image_height), Image.Resampling.BILINEAR) + image.paste(custom_background, (0, 0)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull_old.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/storm/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/storm/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 28), (0, 0, 0, 100)) + photo.paste(box, (0, new_img.size[1] - 28), mask=box) + + if header != "Exclusives" and cosmetic.cosmetic_id in popular_cosmetics: + star_image = Image.open('cosmetic_icons/WantedStar.png').resize((128, 128), Image.BILINEAR) + photo.paste(star_image, (0, 0), star_image.convert("RGBA")) + + x = thumbnail_width * current_column + y = thumbnail_height * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name.upper() + max_text_width = thumbnail_width - 10 + max_text_height = 20 + + # fixed font size + font_size = 16 + offset = 9 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset += 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - padding + offset)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%d %B %Y') + + # custom logo + custom_logo_path = f"users/logos/{user_data['ID']}.png" + if os.path.isfile(custom_logo_path): + custom_logo = Image.open(custom_logo_path).resize((150, 150), Image.Resampling.BILINEAR) + image.paste(custom_logo, (10, image_height - 165), mask=custom_logo) + else: + # original logo if not found + logo = Image.open('img/logo.png').resize((150, 150), Image.Resampling.BILINEAR) + image.paste(logo, (10, image_height - 165), mask=logo) + + draw.text((174, image_height - 40 * 3 - 24), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 40 * 3 - 28), '{}'.format(current_date), font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + draw.text((174, image_height - 40 * 2 - 24), 'Submitted by ', font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw_gradient_text(0, draw, (170, image_height - 40 * 2 - 28), 'Submitted by ', font=ImageFont.truetype(font_path, 40)) + + # badges + font_size = 40 + font = ImageFont.truetype(font_path, font_size) + submit_width = font.getbbox(f"Submitted by")[2] + offset_submit = 170 + submit_width + 8 + username_width = font.getbbox(f"Submitted by @{user_data['username']}")[2] + offset_badge = 170 + username_width + 8 + + if user_data['epic_badge_active'] == True and user_data['epic_badge'] == True: + # epic games badge(special people only) + alpha_badge = Image.open('badges/epic.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_3_badge_active'] == True and user_data['alpha_tester_3_badge'] == True: + # alpha tester 3 badge + alpha_badge = Image.open('badges/alpha3.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_2_badge_active'] == True and user_data['alpha_tester_2_badge'] == True: + # alpha tester 2 badge + alpha_badge = Image.open('badges/alpha2.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + if user_data['alpha_tester_1_badge_active'] == True and user_data['alpha_tester_1_badge'] == True: + # alpha tester 1 badge + alpha_badge = Image.open('badges/alpha1.png').resize((40, 40), Image.BILINEAR) + image.paste(alpha_badge, (offset_badge, image_height - 40 * 2 - 28), alpha_badge.convert("RGBA")) + offset_badge += 45 + + draw.text((offset_submit + 2, image_height - 40 * 2 - 26), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw_gradient_text(user_data['gradient_type'], draw, (offset_submit, image_height - 40 * 2 - 28), '@{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 40)) + draw.text((174, image_height - 61), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((170, image_height - 65), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 40), fill=(255, 255, 255)) + image.save(nametosave) + +def render_aqua_style(header:str, user_data: json, arr: list[str], nametosave:str) -> None: + # calculating cosmetics per row + cosmetic_per_row = 6 + total_cosmetics = len(arr) + num_rows = math.ceil(total_cosmetics / cosmetic_per_row) + if total_cosmetics > 30: + num_rows = int(math.sqrt(total_cosmetics)) + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + while cosmetic_per_row * num_rows < total_cosmetics: + num_rows += 1 + cosmetic_per_row = math.ceil(total_cosmetics / num_rows) + + # setup for our image, thumbnails + padding = 30 + padding_height = 2 + thumbnail_width = 128 + thumbnail_height = 128 + image_width = int(cosmetic_per_row * thumbnail_width) + image_height = int(thumbnail_height + 5 + (num_rows * (padding_height + thumbnail_height)) + 140) + font_path = 'styles/aqua/font.ttf' + font_size = 16 + font = ImageFont.truetype(font_path, font_size) + image = Image.new('RGB', (image_width, image_height), (0, 0, 0)) + + current_row = 0 + current_column = 0 + sortarray = ['mythic', 'legendary', 'dark', 'slurp', 'starwars', 'marvel', 'lava', 'frozen', 'gaminglegends', 'shadow', 'icon', 'dc', 'epic', 'rare', 'uncommon', 'common'] + arr.sort(key=lambda x: sortarray.index(x.rarity_value)) + + # had some issues with exclusives rendering in wrong order, so i'm sorting them + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Error: 'exclusive.txt' or 'most_wanted.txt' not found.") + exclusive_cosmetics = [] + popular_cosmetics = [] + + mythic_items = [item for item in arr if item.rarity_value == 'mythic'] + other_items = [item for item in arr if item.rarity_value != 'mythic'] + mythic_items.sort( + key=lambda x: exclusive_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in exclusive_cosmetics else float('inf') + ) + + if header == "Popular": + other_items.sort( + key=lambda x: popular_cosmetics.index(x.cosmetic_id) + if x.cosmetic_id in popular_cosmetics else float('inf') + ) + + arr = mythic_items + other_items + draw = ImageDraw.Draw(image) + + # top + icon_logo = Image.open(f'cosmetic_icons/{header}.png').resize((128, 128), Image.Resampling.BILINEAR) + icon_logo.thumbnail((thumbnail_width, thumbnail_height)) + image.paste(icon_logo, (10, 5), mask=icon_logo) + draw.text((162, 30), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(0, 0, 0)) # shadow + draw.text((166, 87), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(0, 0, 0)) # shadow + draw.text((162, 26), '{}'.format(len(arr)), font=ImageFont.truetype(font_path, 70), fill=(255, 255, 255)) + draw.text((166, 83), '{}'.format(header), font=ImageFont.truetype(font_path, 40), fill=(167, 167, 167)) + + special_items = { + "CID_029_Athena_Commando_F_Halloween": "cache/pink_ghoul.png", + "CID_030_Athena_Commando_M_Halloween": "cache/purple_skull_old.png", + "CID_116_Athena_Commando_M_CarbideBlack": "cache/omega_max.png", + "CID_694_Athena_Commando_M_CatBurglar": "cache/gold_midas.png", + "CID_693_Athena_Commando_M_BuffCat": "cache/gold_cat.png", + "CID_691_Athena_Commando_F_TNTina": "cache/gold_tntina.png", + "CID_690_Athena_Commando_F_Photographer": "cache/gold_skye.png", + "CID_701_Athena_Commando_M_BananaAgent": "cache/gold_peely.png", + "CID_315_Athena_Commando_M_TeriyakiFish": "cache/worldcup_fish.png", + "CID_971_Athena_Commando_M_Jupiter_S0Z6M": "cache/black_masterchief.png", + "CID_028_Athena_Commando_F": "cache/og_rene.png", + "CID_017_Athena_Commando_M": "cache/og_aat.png" + } + + for cosmetic in arr: + special_icon = False + is_banner = cosmetic.is_banner + photo = None + if cosmetic.rarity_value.lower() == "mythic" and cosmetic.cosmetic_id in special_items: + special_icon = True + icon_path = special_items[cosmetic.cosmetic_id] + if os.path.exists(icon_path): + try: + photo = Image.open(icon_path) + except Exception as e: + special_icon = False + else: + special_icon = False + else: + photo = fortnite_cache.get_cosmetic_icon_from_cache(cosmetic.small_icon, cosmetic.cosmetic_id) + + if is_banner: + scaled_width = int(photo.width * 1.5) + scaled_height = int(photo.height * 1.5) + photo = photo.resize((scaled_width, scaled_height), Image.Resampling.LANCZOS) + x_offset = 32 + y_offset = 10 + + new_img = Image.open(f'styles/aqua/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA') + new_img.paste(photo, (x_offset, y_offset), mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + else: + new_img = Image.open(f'styles/aqua/rarity/{cosmetic.rarity_value.lower()}.png').convert('RGBA').resize(photo.size) + new_img.paste(photo, mask=photo) + photo = new_img + photo.thumbnail((thumbnail_width, thumbnail_height)) + + # black box for cosmetic name + box = Image.new('RGBA', (128, 27), (0, 0, 0, 100)) + photo.paste(box, (0, new_img.size[1] - 27), mask=box) + + if header != "Exclusives" and cosmetic.cosmetic_id in popular_cosmetics: + star_image = Image.open('cosmetic_icons/WantedStar.png').resize((128, 128), Image.BILINEAR) + photo.paste(star_image, (0, 0), star_image.convert("RGBA")) + + x = thumbnail_width * current_column + y = thumbnail_width + (thumbnail_height + padding_height) * current_row + image.paste(photo, (x, y)) + + name = cosmetic.name.upper() + max_text_width = thumbnail_width - 10 + max_text_height = 20 + + # fixed font size + font_size = 16 + offset = 6 + while True: + font = ImageFont.truetype(font_path, font_size) + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + name_height = bbox[3] - bbox[1] + + if name_width > max_text_width or name_height > max_text_height: + font_size -= 1 + offset += 0.5 + else: + break + + # cosmetic name + bbox = draw.textbbox((0, 0), name, font=font) + name_width = bbox[2] - bbox[0] + draw.text((x + (thumbnail_width - name_width) // 2, y + (thumbnail_height - padding + offset)), name, font=font, fill=(255, 255, 255)) + + # make the cosmetics show ordered in rows(cosmetic_per_row is hardcoded) + current_column += 1 + if current_column >= cosmetic_per_row: + current_row += 1 + current_column = 0 + + # footer + current_date = datetime.now().strftime('%d %B %Y') + + # custom logo + custom_logo_path = f"users/logos/{user_data['ID']}.png" + if os.path.isfile(custom_logo_path): + custom_logo = Image.open(custom_logo_path).resize((125, 125), Image.Resampling.BILINEAR) + image.paste(custom_logo, (25, image_height - 140), mask=custom_logo) + else: + # original logo if not found + logo = Image.open('img/logo.png').resize((125, 125), Image.Resampling.BILINEAR) + image.paste(logo, (25, image_height - 140), mask=logo) + + draw.text((179, image_height - 114), '{}'.format(current_date), font=ImageFont.truetype(font_path, 30), fill=(0, 0, 0)) # shadow + draw.text((175, image_height - 118), '{}'.format(current_date), font=ImageFont.truetype(font_path, 30), fill=(255, 255, 255)) + draw.text((179, image_height - 84), 'Submitted By: @{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 30), fill=(0, 0, 0)) # shadow + draw.text((175, image_height - 88), 'Submitted By: @{}'.format(user_data['username']), font=ImageFont.truetype(font_path, 30), fill=(255, 255, 255)) + draw.text((179, image_height - 31), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 20), fill=(0, 0, 0)) # shadow + draw.text((175, image_height - 55), "t.me/RiftCheckerBot", font=ImageFont.truetype(font_path, 20), fill=(255, 255, 255)) + image.save(nametosave) + + + +def command_start(bot, message): + if message.chat.type != "private": + return + + user = RiftUser(message.from_user.id, message.from_user.username) + user_data = user.register() + if not user_data: + bot.reply_to(message, "You have already used this command, you don't have to use it anymore!") + return + + bot.reply_to(message, f''' +What is Rift Checker Bot? +> Rift checker is provably safe open-sourced telegram fortnite skin checker bot, it visualises your locker into an image and sends it back to you, aswell it does display info about your account. + +Why should we use Rift and not other skincheckers? +> Unlike majority of skincheckers, we make NO profit from our service, the bot is entirely hosted by choice, as well unlike Raika we DO NOT store your account information anywhere, for security reasons all account credentials are private and inaccessible. + +How do i know you're not stealing our accounts? +> Rift checker is open-sourced bot, if you don't believe that it's safe, you could check the source code yourself to make sure that rift is completely safe! +> Rift Checker's Official Github Repository: https://github.com/Debugtopia/RiftCheckerBot +> Yes, you could use rift's source code to create your own bot aswell! just make to credit @xhexago for his work :) + +> Other open sourced projects by @xhexago: + - GrowBase(Growtopia Private Server - Game Server source code): https://github.com/Debugtopia/GrowBase + +Who are the developers of Rift Checker Bot? +> Rift is a single-handedly developed by @xhexago and nobody else. + +Commands: +/start - register to rift checker +/help - displays info about the bot, it's commands. +/login - skincheck your epic games fortnite account. +/style - choose your style based on your need, we support multiple skincheck styles. +/badges - toggle your achieved badges on your skincheck. +/stats - shows statistics of how many accounts have u checked with our bot or the badges you have enabled. +''') + + markup = InlineKeyboardMarkup([ + [InlineKeyboardButton("🔗 Source Code", url="https://github.com/Debugtopia/RiftCheckerBot")], + [InlineKeyboardButton("🔗 Stock Channel", url="https://t.me/riftstock"), + InlineKeyboardButton("🔗 News Channel", url="https://t.me/RiftCheckerNews")] + ]) + + bot.send_message( + chat_id=message.chat.id, + text=( + "Welcome to Rift Checker Bot!\n" + "Developed by @xhexago\n" + "Interested in purchasing Fortnite accounts?\n" + "- @riftstock\n\n" + "Rift Checker Bot's News channel:\n" + "- @riftcheckernews" + ), + reply_markup=markup, + parse_mode="Markdown" + ) + +def command_help(bot, message): + bot.reply_to(message, f''' +What is Rift Checker Bot? +> Rift checker is provably safe open-sourced telegram fortnite skin checker bot, it visualises your locker into an image and sends it back to you, aswell it does display info about your account. + +Why should we use Rift and not other skincheckers? +> Unlike majority of skincheckers, we make NO profit from our service, the bot is entirely hosted by choice, as well unlike Raika we DO NOT store your account information anywhere, for security reasons all account credentials are private and inaccessible. + +How do i know you're not stealing our accounts? +> Rift checker is open-sourced bot, if you don't believe that it's safe, you could check the source code yourself to make sure that rift is completely safe! +> Rift Checker's Official Github Repository: https://github.com/Debugtopia/RiftCheckerBot +> Yes, you could use rift's source code to create your own bot aswell! just make to credit @xhexago for his work :) + +> Other open sourced projects by @xhexago: + - GrowBase(Growtopia Private Server - Game Server source code): https://github.com/Debugtopia/GrowBase + +Who are the developers of Rift Checker Bot? +> Rift is a single-handedly developed by @xhexago and nobody else. + +Commands: +/start - register to rift checker +/help - displays info about the bot, it's commands. +/login - skincheck your epic games fortnite account. +/style - choose your style based on your need, we support multiple skincheck styles. +/badges - toggle your achieved badges on your skincheck. +/stats - shows statistics of how many accounts have u checked with our bot or the badges you have enabled. +''') + + markup = InlineKeyboardMarkup([ + [InlineKeyboardButton("🔗 Source Code", url="https://github.com/Debugtopia/RiftCheckerBot")], + [InlineKeyboardButton("🔗 Stock Channel", url="https://t.me/riftstock"), + InlineKeyboardButton("🔗 News Channel", url="https://t.me/RiftCheckerNews")] + ]) + + bot.send_message( + chat_id=message.chat.id, + text=( + "Welcome to Rift Checker Bot!\n" + "Developed by @xhexago\n" + "Interested in purchasing Fortnite accounts?\n" + "- @riftstock\n\n" + "Rift Checker Bot's News channel:\n" + "- @riftcheckernews" + ), + reply_markup=markup, + parse_mode="Markdown" + ) + +async def command_login(bot, message): + if message.chat.type != "private": + return + + user = RiftUser(message.from_user.id, message.from_user.username) + user_data = user.load_data() + if user_data == {}: + bot.reply_to(message, "You haven't setup your user yet, please use /start before skinchecking!") + return + + msg = bot.reply_to(message, "⏳ Creating authorization login link...") + epic_generator = EpicGenerator() + await epic_generator.start() + device_data = await epic_generator.create_device_code() + epic_games_auth_link = f"https://www.epicgames.com/activate?userCode={device_data['user_code']}" + + # login link message(embed link button) + markup = InlineKeyboardMarkup() + button = InlineKeyboardButton("🔗 Login", url=epic_games_auth_link) + markup.add(button) + bot.edit_message_text( + chat_id=msg.chat.id, + message_id=msg.message_id, + text=f"Open [this link](<{epic_games_auth_link}>) to log in to your account.", + reply_markup=markup, + parse_mode="Markdown") + + epic_user = await epic_generator.wait_for_device_code_completion(bot, message, code=device_data['device_code']) + if not epic_user: + # something went wrong so we can't check the account + await epic_generator.kill() + return + + account_data = await epic_generator.get_account_metadata(epic_user) + + accountID = account_data.get('id', "INVALID_ACCOUNT_ID") + if (accountID == "INVALID_ACCOUNT_ID"): + bot.edit_message_text(chat_id=msg.chat.id, message_id=msg.message_id, text="Invalid account(banned or fortnite has not been launched).") + return + + bot.delete_message(msg.chat.id, msg.message_id) + msg = bot.send_message(message.chat.id, f'✅ Logged in account {account_data.get("displayName", "HIDDEN_ID_ACCOUNT")}') + + # account information + account_public_data = await epic_generator.get_public_account_info(epic_user) + bot.send_message(message.chat.id,f''' +━━━━━━━━━━━ +Account Information +━━━━━━━━━━━ +#️⃣ Account ID: {mask_account_id(accountID)} +📧 Email: {mask_email(account_data.get('email', ''))} +🧑‍🦱 Display Name: {account_data.get('displayName', 'DeletedUser')} +📛 Full Name: {account_data.get('name', '')} {account_data.get('lastName', '')} +🌐 Country: {account_data.get('country', 'US')} {country_to_flag(account_data.get('country', 'US'))} +🔐 Email Verified: {bool_to_emoji(account_data.get('emailVerified', False))} +🔒 Mandatory 2FA Security: {bool_to_emoji(account_data.get('tfaEnabled', False))} +''') + + # external connections + connected_accounts = 0 + connected_accounts_message = f""" +━━━━━━━━━━━ +Connected Account +━━━━━━━━━━━\n""" + + external_auths = account_public_data.get('externalAuths', []) + for auth in external_auths: + auth_type = auth.get('type', '?').lower() + display_name = auth.get('externalDisplayName', '?') + external_id = auth.get('externalAuthId', '?') + date_added = auth.get('dateAdded', '?') + if date_added != '?': + parsed_date = datetime.strptime(date_added, "%Y-%m-%dT%H:%M:%S.%fZ") + date_added = parsed_date.strftime("%d/%m/%Y") + + connected_accounts += 1 + connected_accounts_message += f""" +Connection Type: {escape_markdown(auth_type.upper())} +External Display Name: {escape_markdown(display_name)} +Date of Connection: {escape_markdown(date_added)} +""" + + if connected_accounts == 0: + connected_accounts_message += "No connected accounts." + + markup = InlineKeyboardMarkup() + button = InlineKeyboardButton("🔗 Remove Restrictions", url='https://www.epicgames.com/help/en/wizards/w4') + markup.add(button) + bot.send_message( + chat_id=msg.chat.id, + text=connected_accounts_message, + reply_markup=markup, + parse_mode="Markdown") + + # purchases infos + vbucks_categories = [ + "Currency:MtxPurchased", + "Currency:MtxEarned", + "Currency:MtxGiveaway", + "Currency:MtxPurchaseBonus" + ] + + total_vbucks = 0 + refunds_used = 0 + refund_credits = 0 + receipts = [] + vbucks_purchase_history = { + "1000": 0, + "2800": 0, + "5000": 0, + "7500": 0, + "13500": 0 + } + + gift_received = 0 + gift_sent = 0 + pending_gifts_amount = 0 + + common_profile_data = await epic_generator.get_common_profile(epic_user) + for item_id, item_data in common_profile_data.get("profileChanges", [{}])[0].get("profile", {}).get("items", {}).items(): + if item_data.get("templateId") in vbucks_categories: + # getting vbucks + total_vbucks += item_data.get("quantity", 0) + + for profileChange in common_profile_data.get("profileChanges", []): + attributes = profileChange["profile"]["stats"]["attributes"] + mtx_purchases = attributes.get("mtx_purchase_history", {}) + if mtx_purchases: + refunds_used = mtx_purchases.get("refundsUsed", 0) + refund_credits = mtx_purchases.get("refundCredits", 0) + + iap = attributes.get("in_app_purchases", {}) + if iap: + receipts = iap.get("receipts", []) + purchases = iap.get("fulfillmentCounts", {}) + if purchases: + # vbucks purchases packs amount + vbucks_purchase_history["1000"] = purchases.get("FN_1000_POINTS", 0) + vbucks_purchase_history["2800"] = purchases.get("FN_2800_POINTS", 0) + vbucks_purchase_history["5000"] = purchases.get("FN_5000_POINTS", 0) + vbucks_purchase_history["7500"] = purchases.get("FN_7500_POINTS", 0) + vbucks_purchase_history["13500"] = purchases.get("FN_13500_POINTS", 0) + + gift_history = attributes.get("gift_history", {}) + if gift_history: + # pending gifts count + gifts_pending = gift_history.get("gifts", []) + pending_gifts_amount = len(gifts_pending) + + # gifts sent & received count + gift_sent = gift_history.get("num_sent", 0) + gift_received = gift_history.get("num_received", 0) + + total_vbucks_bought = 1000 * vbucks_purchase_history["1000"] + 2800 * vbucks_purchase_history["2800"] + 5000 * vbucks_purchase_history["5000"] + 7500 * vbucks_purchase_history["7500"] + 13500 * vbucks_purchase_history["13500"] + bot.send_message(message.chat.id,f''' +━━━━━━━━━━━ +Purchases Information +━━━━━━━━━━━ +💰 VBucks: {total_vbucks} +🎟 Refunds Used: {refunds_used} +🎟 Refund Tickets: {refund_credits} + +━━━━━━━━━━━ +Vbucks Purchases +━━━━━━━━━━━ +#️⃣ Receipts: {len(receipts)} +💰 1000 Vbucks Packs: {vbucks_purchase_history["1000"]} +💰 2800 Vbucks Packs: {vbucks_purchase_history["2800"]} +💰 5000 Vbucks Packs: {vbucks_purchase_history["5000"]} +💰 7500 Vbucks Packs: {vbucks_purchase_history["7500"]} +💰 13500 Vbucks Packs: {vbucks_purchase_history["13500"]} + +💰 Total Vbucks Purchased: {total_vbucks_bought} + +━━━━━━━━━━━ +Gifts Information +━━━━━━━━━━━ +🎁 Pending Gifts: {pending_gifts_amount} +🎁 Gifts Sent: {gift_sent} +🎁 Gifts Received: {gift_received} +''') + + # season history + seasons_msg = await epic_generator.get_seasons_message(epic_user) + bot.send_message(message.chat.id, seasons_msg) + + # locker data + locker_data = await epic_generator.get_locker_data(epic_user) + + # activity info + bot.send_message(message.chat.id,f''' +━━━━━━━━━━━ +Activity Information +━━━━━━━━━━━ +👪 Parental Control: {bool_to_emoji(account_data.get('minorVerified', False))} +🕘 Last Match: {locker_data.last_match} +🤯 Headless: {bool_to_emoji(account_data.get("headless", False))} +✏️ Display Name Changes: {account_data.get("numberOfDisplayNameChanges", 0)} +✏️ Display Name Changeable: {bool_to_emoji(account_data.get("canUpdateDisplayName", False))} +#️⃣ Hashed email: {bool_to_emoji(account_data.get("hasHashedEmail", False))} +''') + + bot.send_message(message.chat.id,f''' +━━━━━━━━━━━ +Locker Information +━━━━━━━━━━━ +🧍‍♂️ Outfits: {len(locker_data.cosmetic_array.get('AthenaCharacter', []))} +🎒 Backpacks: {len(locker_data.cosmetic_array.get('AthenaBackpack', []))} +⛏️ Pickaxes: {len(locker_data.cosmetic_array.get('AthenaPickaxe', []))} +🕺 Emotes: {len(locker_data.cosmetic_array.get('AthenaDance', []))} +✈️ Gliders: {len(locker_data.cosmetic_array.get('AthenaGlider', []))} +⭐ Most Wanted Cosmetics: {len(locker_data.cosmetic_array.get('AthenaPopular', []))} +🌟 Exclusives: {len(locker_data.cosmetic_array.get('AthenaExclusive', []))} +''') + + homebase_data = await epic_generator.get_homebase_profile(epic_user) + stats = homebase_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}) + if stats: + stw_level = 1 + research_offence = 1 + research_fortitude = 1 + research_resistance = 1 + research_tech = 1 + collection_book_level = 1 + stw_claimed = False + legacy_research_points = 0 + matches_played = 0 + + stats = homebase_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}) + if stats: + stw_level = stats.get("level", 1) + research_offence = stats.get("research_levels", {}).get("offence", 1) + research_fortitude = stats.get("research_levels", {}).get("fortitude", 1) + research_resistance = stats.get("research_levels", {}).get("resistance", 1) + research_tech = stats.get("research_levels", {}).get("technology", 1) + collection_book_level = stats.get("collection_book", {}).get("maxBookXpLevelAchieved", 1) + stw_claimed = stats.get("mfa_reward_claimed", False) + legacy_research_points = stats.get("legacy_research_points_spent", 0) + matches_played = stats.get("matches_played", 0) + bot.send_message(message.chat.id,f''' +━━━━━━━━━━━ +Homebase Information +━━━━━━━━━━━ +#️⃣ Level: {stw_level} +🎒 Collection Book Level: {collection_book_level} +🎁 Claimed Rewards: {bool_to_emoji(stw_claimed)} + +Research: +⭐ Total spent points: {legacy_research_points} +⛏️ Offence: {research_offence} +⚔️ Fortitude: {research_fortitude} +🪖 Resistance: {research_resistance} +🔧 Tech: {research_tech} + +Activity: +🎟 Matches Played: {matches_played} +''') + + # saved data path + # note: it only saves the rendered images for locker, data that DOES NOT contain private or login information!!! + save_path = f"accounts/{accountID}" + if not os.path.exists(save_path): + os.mkdir(save_path) + + for category in locker_categories: + if category not in locker_data.cosmetic_array or len(locker_data.cosmetic_array[category]) < 1: + continue + + header = 'Outfits' + if category == 'AthenaBackpack': + header = 'Backblings' + elif category == 'AthenaPickaxe': + header = 'Pickaxes' + elif category == 'AthenaDance': + header = 'Emotes' + elif category == 'AthenaGlider': + header = 'Gliders' + elif category == 'AthenaExclusive': + header = 'Exclusives' + elif category == 'AthenaPopular': + header = 'Popular' + + if user_data['style'] == 0: # rift style + render_rift_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + elif user_data['style'] == 1: # easy style + render_easy_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + elif user_data['style'] == 2: # raika style + render_raika_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + elif user_data['style'] == 3: # kayy style + render_kayy_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + elif user_data['style'] == 4: # storm style + render_storm_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + elif user_data['style'] == 5: # aqua style + render_aqua_style(header, user_data, locker_data.cosmetic_array[category], f'{save_path}/{category}.png') + + with open(f'{save_path}/{category}.png', 'rb') as photo_file: + file_size = os.path.getsize(f'{save_path}/{category}.png') + if file_size > 10 * 1024 * 1024: # 10 MBs + print("File too large for photo, sending as a document.") + bot.send_document(msg.chat.id, photo_file) + else: + bot.send_photo(msg.chat.id, photo_file) + + skins = len(locker_data.cosmetic_array['AthenaCharacter']) + excl = locker_data.cosmetic_array['AthenaExclusive'] + cosmetic_list = '' + desc = '' + cosmetics_listed = 0 + for cosmetic in excl: + cosmetic_list += cosmetic.name + " + " + cosmetics_listed += 1 + + if cosmetics_listed >= 10: + break + + cosmetic_list = cosmetic_list.rstrip(" + ") + desc = f'{skins} + {cosmetic_list} + {total_vbucks}VB' + bot.send_message(message.chat.id,f'{desc}') + await epic_generator.kill() + + # button-embed message + markup = InlineKeyboardMarkup([ + [InlineKeyboardButton("🔗 Source Code", url="https://github.com/Debugtopia/RiftCheckerBot")], + [InlineKeyboardButton("🔗 Rift Stock", url="https://t.me/riftstock"), + InlineKeyboardButton("🔗 News Channel", url="https://t.me/RiftCheckerNews")] + ]) + + bot.send_message( + chat_id=message.chat.id, + text=( + "Thanks for using Rift Checker Bot!\n" + "Developed by @xhexago\n" + "Interested in purchasing Fortnite accounts?\n" + "- @riftstock\n\n" + "Rift Checker Bot's News channel:\n" + "- @riftcheckernews" + ), + reply_markup=markup, + parse_mode="Markdown" + ) + + +async def command_style(bot, message): + if message.chat.type != "private": + return + + user = RiftUser(message.from_user.id, message.from_user.username) + user_data = user.load_data() + if not user_data: + bot.reply_to(message, "You haven't setup your user yet, please use /start before skinchecking!") + return + + current_style_index = user_data['style'] + send_style_message(bot, message.chat.id, current_style_index) + +async def command_badges(bot, message): + if message.chat.type != "private": + return + + user = RiftUser(message.from_user.id, message.from_user.username) + user_data = user.load_data() + if not user_data: + bot.reply_to(message, "You haven't setup your user yet, please use /start before skinchecking!") + return + + badges_unlocked = 0 + for badge in avaliable_badges: + if user_data[badge['data']] == True: + badges_unlocked += 1 + + if badges_unlocked < 1: + msg = bot.reply_to(message, "You don't have any badges unlocked.") + return + + current_badge_index = 0 + send_badges_message(bot, message.chat.id, current_badge_index, user_data) + +async def command_stats(bot, message): + if message.chat.type != "private": + return + + user = RiftUser(message.from_user.id, message.from_user.username) + user_data = user.load_data() + if not user_data: + bot.reply_to(message, "You haven't setup your user yet, please use /start before skinchecking!") + return + + style = 'rift' + if user_data['style'] == 0: + style = 'rift' + elif user_data['style'] == 1: + style = 'easy' + elif user_data['style'] == 2: + style = 'raika' + elif user_data['style'] == 3: + style = 'kayy' + elif user_data['style'] == 4: + style = 'storm' + elif user_data['style'] == 5: + style = 'aqua' + else: + style = 'unknown style' + + msg = bot.reply_to(message, f''' +Stats for user {message.from_user.username}(#{user_data['ID']}): +Checked accounts: {user_data['accounts_checked']} +Style: {style} + +Badges: +Alpha Tester 1 Badge: {bool_to_emoji(user_data['alpha_tester_1_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['alpha_tester_1_badge_active'])} +Alpha Tester 2 Badge: {bool_to_emoji(user_data['alpha_tester_2_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['alpha_tester_2_badge_active'])} +Alpha Tester 3 Badge: {bool_to_emoji(user_data['alpha_tester_3_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['alpha_tester_3_badge_active'])} +Epic Games Badge: {bool_to_emoji(user_data['epic_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['epic_badge_active'])} +100 Checks Badge: {bool_to_emoji(user_data['newbie_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['newbie_badge_active'])} +200 Checks Badge: {bool_to_emoji(user_data['advanced_badge'])} +> Badge Enabled: {bool_to_emoji(user_data['advanced_badge_active'])} +''') + +def send_style_message(bot, chat_id, style_index): + style = available_styles[style_index] + markup = InlineKeyboardMarkup() + + if style_index > 0: + markup.add(InlineKeyboardButton("◀️", callback_data=f"style_{style_index - 1}")) + if style_index < len(available_styles) - 1: + markup.add(InlineKeyboardButton("▶️", callback_data=f"style_{style_index + 1}")) + + markup.add(InlineKeyboardButton("✅ Select This Style", callback_data=f"select_{style_index}")) + with open(style['image'], 'rb') as img_file: + img = Image.open(style['image']).convert("RGBA") + bot.send_photo( + chat_id, + img, + caption=f"{style['name']}", + reply_markup=markup, + parse_mode="Markdown" + ) + +def send_badges_message(bot, chat_id, badge_index, user_data): + unlocked_badges = [ + (i, badge) + for i, badge in enumerate(avaliable_badges) + if user_data.get(badge['data'], False) + ] + + if not unlocked_badges: + bot.send_message(chat_id, "You don't have any badges unlocked.") + return + + badge_index = min(max(0, badge_index), len(unlocked_badges) - 1) + actual_index, badge = unlocked_badges[badge_index] + + badge_status = user_data.get(badge['data2'], False) + toggle_text = "✅ Enabled" if badge_status else "❌ Disabled" + + markup = InlineKeyboardMarkup() + if badge_index > 0: + markup.add(InlineKeyboardButton("◀️", callback_data=f"badge_{badge_index - 1}")) + if badge_index < len(unlocked_badges) - 1: + markup.add(InlineKeyboardButton("▶️", callback_data=f"badge_{badge_index + 1}")) + markup.add(InlineKeyboardButton(toggle_text, callback_data=f"toggle_{actual_index}")) + + try: + with open(badge['image'], 'rb') as img: + bot.send_photo( + chat_id, + img, + caption=f"{badge['name']}", + reply_markup=markup, + parse_mode="Markdown" + ) + except FileNotFoundError: + bot.send_message(chat_id, f"Image for badge {badge['name']} not found.") \ No newline at end of file diff --git a/checker/cosmetic.py b/checker/cosmetic.py new file mode 100644 index 0000000..b67aef5 --- /dev/null +++ b/checker/cosmetic.py @@ -0,0 +1,24 @@ +class FortniteCosmetic: + def __init__(self): + self.cosmetic_id = "" + self.name = "" + self.backend_value = "AthenaCharacter" + self.rarity_value = "common" + self.small_icon = "" + self.is_banner = False + self.unlocked_styles = {} + self.is_exclusive = False + self.is_popular = False + + def to_dict(self): + return { + "cosmetic_id": self.cosmetic_id, + "name": self.name, + "backend_value": self.backend_value, + "rarity_value": self.rarity_value, + "small_icon": self.small_icon, + "is_banner": self.is_banner, + "unlocked_styles": self.unlocked_styles, + "is_exclusive": self.is_exclusive, + "is_popular": self.is_popular, + } \ No newline at end of file diff --git a/checker/cosmetic_icons/Backblings.png b/checker/cosmetic_icons/Backblings.png new file mode 100644 index 0000000000000000000000000000000000000000..cc15e1e57f07d61d9d17f1a578bc45c6cd2fc8df GIT binary patch literal 4142 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 literal 0 HcmV?d00001 diff --git a/checker/cosmetic_icons/Emotes.png b/checker/cosmetic_icons/Emotes.png new file mode 100644 index 0000000000000000000000000000000000000000..678c8ef75d08e96879a119efc3a3aaea78d70e7b GIT binary patch literal 3392 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 literal 0 HcmV?d00001 diff --git a/checker/cosmetic_icons/Gliders.png b/checker/cosmetic_icons/Gliders.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e0489d41e28d3931d7964aeed53016c6976c8a GIT binary patch literal 4648 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 E0L2iV{{R30 literal 0 HcmV?d00001 diff --git a/checker/cosmetic_icons/Pickaxes.png b/checker/cosmetic_icons/Pickaxes.png new file mode 100644 index 0000000000000000000000000000000000000000..3f19bf50c16090fc467bd70c2ff93ef71579885d GIT binary patch literal 4468 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 Jpa1ZWI2(E$P5{CDaccyO5 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 Exception: {e}") + return [] + +class EpicGenerator: + def __init__(self) -> None: + # init the generator + self.http: aiohttp.ClientSession + self.user_agent = f"DeviceAuthGenerator/{platform.system()}/{platform.version()}" + self.access_token = "" + + async def start(self) -> None: + self.http = aiohttp.ClientSession(headers={"User-Agent": self.user_agent}) + self.access_token = await self.get_access_token() + + async def kill(self) -> None: + await self.http.close() + + async def get_access_token(self) -> str: + # getting the access token from epic's api(REQUIRES usage of EPIC_API_SWITCH_TOKEN as Authorization in headers for it to work) + # if it's not getting any data, it means the EPIC_API_SWITCH_TOKEN is expired, you must find new one :D + async with self.http.request( + method="POST", + url=EpicEndpoints.endpoint_oauth_token, + headers={ + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": f"basic {EPIC_API_SWITCH_TOKEN}" + }, + data={ "grant_type": "client_credentials" }, + ) as response: + data = await response.json() + return data["access_token"] + + async def create_device_code(self) -> tuple: + # devide code is used on the link the checker bot sends u "active?userCode=SOMETHING" something like this + # REQUIRES usage of self.access_token, which we got from get_access_token function, as Authorization in headers + # returns the device code, used in the link we generate for the user to login + async with self.http.request( + method="POST", + url=EpicEndpoints.endpoint_device_auth, + headers={ + "Authorization": f"bearer {self.access_token}", + "Content-Type": "application/x-www-form-urlencoded" + } + ) as response: + data = await response.json() + return data + + async def create_exchange_code(self, user: EpicUser) -> str: + # creates exchange code for the api requests & returns it + # REQUIRES usage of user.access_token, which we got from get_access_token function, as Authorization in headers + async with self.http.request( + method="GET", + url=EpicEndpoints.endpoint_oauth_exchange, + headers={"Authorization": f"bearer {user.access_token}"}, + ) as response: + data = await response.json() + return data["code"] + + async def wait_for_device_code_completion(self, bot, message, code: str) -> Optional[EpicUser]: + while True: + try: + async with self.http.request( + method="POST", + url=EpicEndpoints.endpoint_prod03_oauth_token, + headers={ + "Authorization": f"basic {EPIC_API_SWITCH_TOKEN}", + "Content-Type": "application/x-www-form-urlencoded", + }, + data={"grant_type": "device_code", "device_code": code}, + timeout=10 + ) as request: + token_data = await request.json() + + if request.status == 200 and "access_token" in token_data: + break + + # Handle specific API errors + error_code = token_data.get("errorCode") + if error_code == "errors.com.epicgames.account.oauth.authorization_pending": + pass + + elif error_code == "g": + pass + + elif error_code == "errors.com.epicgames.not_found": + bot.send_message(message.chat.id, f'❌ Login link expired, please use /login again.') + return None + else: + bot.send_message(message.chat.id, f'❌ Error occurred: {token_data.get("errorMessage", "Unknown error")}') + return None + + await asyncio.sleep(10) + except ValueError as ve: + print(f"Error with waiting for device code: {ve}") + bot.send_message(message.chat.id, f'❌ An unexpected error occurred, please try again later.') + return None + except Exception as e: + print(f"Unhandled exception: {e}") + bot.send_message(message.chat.id, f'❌ An error occurred, please contact support.') + return None + + try: + async with self.http.request( + method="GET", + url=EpicEndpoints.endpoint_oauth_exchange, + headers={"Authorization": f"bearer {token_data['access_token']}"}, + ) as request: + if request.status != 200: + bot.send_message(message.chat.id, f'❌ Failed to retrieve exchange code. Please try again.') + return None + + exchange_data = await request.json() + + async with self.http.request( + method="POST", + url=EpicEndpoints.endpoint_prod03_oauth_token, + headers={ + "Authorization": f"basic {EPIC_API_IOS_CLIENT_TOKEN}", + "Content-Type": "application/x-www-form-urlencoded" + }, + data={ + "grant_type": "exchange_code", + "exchange_code": exchange_data["code"] + }, + ) as request: + if request.status != 200: + bot.send_message(message.chat.id, f'❌ Failed to authenticate using exchange code. Please try again.') + return None + + auth_data = await request.json() + + return EpicUser(data=auth_data) + + except KeyError as ke: + bot.send_message(message.chat.id, f'❌ Unexpected response format from server.') + return None + except Exception as e: + print(f"Unhandled exception during token exchange: {e}") + bot.send_message(message.chat.id, f'❌ An error occurred while completing authentication.') + return None + + async def create_device_auths(self, user: EpicUser) -> dict: + # creates device auth + # REQUIRES usage of user.access_token as Authorization in headers + async with self.http.request( + method="POST", + url=f"https://account-public-service-prod.ol.epicgames.com/account/api/public/account/{user.account_id}/deviceAuth", + headers={ + "Authorization": f"bearer {user.access_token}", + "Content-Type": "application/json", + }, + ) as request: + data = await request.json() + + return { + "device_id": data["deviceId"], + "account_id": data["accountId"], + "secret": data["secret"], + "user_agent": data["userAgent"], + "created": { + "location": data["created"]["location"], + "ip_address": data["created"]["ipAddress"], + "datetime": data["created"]["dateTime"], + }, + } + + async def get_account_metadata(self, user: EpicUser) -> json: + # grabs account's metadata(basic information) from the api + # REQUIRES usage of user.access_token as Authorization in headers + + url = f'https://account-public-service-prod03.ol.epicgames.com/account/api/public/account/displayName/{user.display_name}' + headers = { + "Authorization": f"bearer {user.access_token}", + "Content-Type": "application/json", + } + + async with self.http.get(url, headers=headers) as response: + metadata = await response.json() + + return metadata + + async def get_external_connections(self, user: EpicUser) -> dict: + # returns external connected accounts info + # REQUIRES usage of user.access_token as Authorization in headers + async with self.http.request( + method="GET", + url=f"https://account-public-service-prod03.ol.epicgames.com/account/api/public/account/{user.account_id}/externalAuths", + headers={"Authorization": f"bearer {user.access_token}"} + ) as resp: + if resp.status != 200: + return [] + + external_auths = await resp.json() + + return external_auths + + async def get_public_account_info(self, user: EpicUser) -> dict: + # returns basic public info about the account + # REQUIRES usage of user.access_token as Authorization in headers + url = f'https://account-public-service-prod03.ol.epicgames.com/account/api/public/account/{user.account_id}' + headers = { + "Authorization": f"bearer {user.access_token}" + } + + async with self.http.get(url, headers=headers) as response: + account_data = await response.json() + + account_info = {} # creating json for only stuff we are interested into + creation_date = account_data.get("created", "?") + if creation_date != "?": + creation_date = datetime.strptime(creation_date, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%d/%m/%Y") + + account_info['creation_date'] = creation_date + account_info['externalAuths'] = await self.get_external_connections(user) + return account_info + + async def get_common_profile(self, user: EpicUser) -> json: + # gets the common profile, containing vbucks, receipts amount, vbucks purchases history, banners list + # REQUIRES usage of user.access_token as Authorization in headers + + url = f'https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/game/v2/profile/{user.account_id}/client/QueryProfile?profileId=common_core&rvn=-1' + headers = { + "Authorization": f"bearer {user.access_token}", + "Content-Type": "application/json" + } + + profile_data = requests.post(url, headers=headers, json={}).json() + return profile_data + + async def get_friend_codes(self, user: EpicUser, platform: str) -> json: + # https://fngw-mcp-gc-livefn.ol.epicgames.com/fortnite/api/v2/game/friendcodes// + # gets the save the world redeem codes based on the platform you've entered + # REQUIRES usage of user.access_token as Authorization in headers + # this always returns an error saying page isn't found, im not sure why. + url = f'https://fngw-mcp-gc-livefn.ol.epicgames.com/fortnite/api/v2/game/friendcodes/{user.account_id}/{platform}' + headers = { + "Authorization": f"bearer {user.access_token}" + } + + async with self.http.get(url, headers=headers) as response: + codes_data = await response.json() + + return codes_data + + async def get_homebase_profile(self, user: EpicUser) -> json: + # gets the save the world profile data + # REQUIRES usage of user.access_token as Authorization in headers + + url = f'https://fngw-mcp-gc-livefn.ol.epicgames.com/fortnite/api/game/v2/profile/{user.account_id}/client/QueryPublicProfile' + querystring = { "profileId":"campaign", "rvn":"-1" } + payload = {} + headers = { + "Content-Type": "application/json", + "Authorization": f"bearer {user.access_token}" + } + + profile_data = requests.request("POST", url, json=payload, headers=headers, params=querystring).json() + + return profile_data + + async def set_affiliate(self, user: EpicUser, affiliate_name: str): + url = f'https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/game/v2/profile/{user.account_id}/client/SetAffiliateName?profileId=common_core' + payload = { "affiliateName": affiliate_name } + headers = { + "Content-Type": "application/json", + "Authorization": f"bearer {user.access_token}" + } + + affiliate_response = requests.request("POST", url, json=payload, headers=headers) + + if affiliate_response.status != 200: + print(f"Error setting affiliate name ({affiliate_response.status})") + + async def get_locker_data(self, user: EpicUser) -> LockerData: + # gets locker arrays + # locker_categories - the locker categories we render + url = f'https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/game/v2/profile/{user.account_id}/client/QueryProfile?profileId=athena' + headers = { + "Authorization": f"bearer {user.access_token}", + "Content-Type": "application/json" + } + + athena_data = requests.post(url, headers=headers, json={}).json() + + locker_data = LockerData() + exclusive_cosmetics = [] + popular_cosmetics = [] + if "profileChanges" not in athena_data: + return LockerData() + + # activity + account_level = athena_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}).get("accountLevel", 1) + last_match_end = athena_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}).get("last_match_end_datetime", "") + if last_match_end: + last_match_end_date = datetime.fromisoformat(last_match_end.replace("Z", "+00:00")) + days_since_last_match = (datetime.now(timezone.utc) - last_match_end_date).days + last_match_date_str = last_match_end_date.strftime("%d.%m.%y") + locker_data.last_match = f"{last_match_date_str} ({days_since_last_match} days ago)" + else: + locker_data.last_match = "800+ days ago" + + # getting extra cosmetics + try: + with open('exclusive.txt', 'r', encoding='utf-8') as f: + exclusive_cosmetics = [i.strip() for i in f.readlines()] + + with open('most_wanted.txt', 'r', encoding='utf-8') as f: + popular_cosmetics = [i.strip() for i in f.readlines()] + except FileNotFoundError: + print("Warning: exclusive.txt or most_wanted.txt not found.") + + # getting owned items list + for i in athena_data['profileChanges'][0]['profile']['items']: + template_id = athena_data['profileChanges'][0]['profile']['items'][i]['templateId'] + if template_id.startswith('Athena'): + cosmetic_category = template_id.split(':')[0] + cosmetic_id = template_id.split(':')[1] + locker_data.unlocked_styles[cosmetic_id] = [] + + # adding missing categories to the arrays + if 'AthenaExclusive' not in locker_data.cosmetic_categories: + locker_data.cosmetic_categories['AthenaExclusive'] = [] + locker_data.cosmetic_array['AthenaExclusive'] = [] + locker_data.cosmetic_categories['AthenaExclusive'].append(cosmetic_id) + + if 'AthenaPopular' not in locker_data.cosmetic_categories: + locker_data.cosmetic_categories['AthenaPopular'] = [] + locker_data.cosmetic_array['AthenaPopular'] = [] + locker_data.cosmetic_categories['AthenaPopular'].append(cosmetic_id) + + if 'HomebaseBannerIcons' not in locker_data.cosmetic_categories: + locker_data.cosmetic_categories['HomebaseBannerIcons'] = [] + locker_data.cosmetic_array['HomebaseBannerIcons'] = [] + locker_data.cosmetic_categories['HomebaseBannerIcons'].append(cosmetic_id) + + if cosmetic_category not in locker_data.cosmetic_categories: + locker_data.cosmetic_categories[cosmetic_category] = [] + locker_data.cosmetic_array[cosmetic_category] = [] + locker_data.cosmetic_categories[cosmetic_category].append(cosmetic_id) + + # listing the owned unlocked styles for each cosmetic + for item_id, item_data in athena_data['profileChanges'][0]['profile']['items'].items(): + template_id = item_data.get('templateId', '') + + if template_id.startswith('Athena'): + lowercase_cosmetic_id = template_id.split(':')[1] + + # adding the cosmetic to the "unlocked styles" + if lowercase_cosmetic_id not in locker_data.unlocked_styles: + locker_data.unlocked_styles[lowercase_cosmetic_id] = [] + + attributes = item_data.get('attributes', {}) + variants = attributes.get('variants', []) + + for variant in variants: + # adding the cosmetic's owned styles + locker_data.unlocked_styles[lowercase_cosmetic_id].extend(variant.get('owned', [])) + + # getting banners + common_profile_data = await self.get_common_profile(user) + if common_profile_data: + # common profile found + for profileChange in common_profile_data["profileChanges"]: + profile_items = profileChange["profile"]["items"] + + # checking every item + for item_key, item_value in profile_items.items(): + cosmetic_template_id = item_value.get("templateId", "") + if cosmetic_template_id: + # the banner is found, so we adding it + lowercase_banner_id = cosmetic_template_id.split(':')[1] + if lowercase_banner_id not in locker_data.homebase_banners: + locker_data.homebase_banners[lowercase_banner_id] = [] + + + for category in locker_categories: + if category == "AthenaPopular" or category == 'AthenaExclusive': + continue + + try: + list_of_cosmetic_ids = [] + # splitting the category's cosmetic ids to sublists + for i in range(0, len(locker_data.cosmetic_categories[category]), 50): + sublist = locker_data.cosmetic_categories[category][i:i+50] + list_of_cosmetic_ids.append(sublist) + + for cosmetic_id in list_of_cosmetic_ids: + cosmetics_data = requests.get('https://fortnite-api.com/v2/cosmetics/br/search/ids?language=en&id={}'.format('&id='.join(cosmetic_id))) + c_data = cosmetics_data.json().get("data", []) + if not c_data: + # cosmetics data not found + continue + + for cosmetic in c_data: + if cosmetic['id'] == "CID_DefaultOutfit": + # skipping default skin + continue + + if category == 'AthenaDance' and cosmetic['type']['value'] != 'emote' and cosmetic['id'] not in exclusive_cosmetics: + # emote category, but isnt exclusive and isnt emote + continue + + make_mythic = False + if cosmetic['id'] in exclusive_cosmetics: + make_mythic = True + # Pink Ghoul Trooper + if cosmetic['id'].lower() == 'cid_029_athena_commando_f_halloween': + make_mythic = False + if 'Mat3' in locker_data.unlocked_styles.get('cid_029_athena_commando_f_halloween', []): + make_mythic = True + + # Purple Skull Trooper + if cosmetic['id'].lower() == 'cid_030_athena_commando_m_halloween': + make_mythic = False + if 'Mat1' in locker_data.unlocked_styles.get('cid_030_athena_commando_m_halloween', []): + make_mythic = True + + # Aerial Assault Trooper + if cosmetic['id'].lower() == 'cid_017_athena_commando_m': + make_mythic = False + if 'Stage2' in locker_data.unlocked_styles.get('cid_017_athena_commando_m', []): + make_mythic = True + + # Renegade Raider + if cosmetic['id'].lower() == 'cid_028_athena_commando_f': + make_mythic = False + if 'Mat3' in locker_data.unlocked_styles.get('cid_028_athena_commando_f', []): + make_mythic = True + + # Raider's Revenge + if cosmetic['id'].lower() == 'pickaxe_lockjaw': + make_mythic = False + if 'Stage2' in locker_data.unlocked_styles.get('pickaxe_lockjaw', []): + make_mythic = True + + # Aerial Assault One + if cosmetic['id'].lower() == 'glider_id_001': + make_mythic = False + if 'Stage2' in locker_data.unlocked_styles.get('glider_id_001', []): + make_mythic = True + + # Stage 5 Omega Lights + if cosmetic['id'].lower() == 'cid_116_athena_commando_m_carbideblack': + make_mythic = False + if 'Stage5' in locker_data.unlocked_styles.get('cid_116_athena_commando_m_carbideblack', []): + make_mythic = True + + # Gold Midas + if cosmetic['id'].lower() == 'cid_694_athena_commando_m_catburglar': + make_mythic = False + if 'Stage4' in locker_data.unlocked_styles.get('cid_694_athena_commando_m_catburglar', []): + make_mythic = True + + # Gold Meowscles + if cosmetic['id'].lower() == 'cid_693_athena_commando_m_buffcat': + make_mythic = False + if 'Stage4' in locker_data.unlocked_styles.get('cid_693_athena_commando_m_buffcat', []): + make_mythic = True + + # Gold TNtina + if cosmetic['id'].lower() == 'cid_691_athena_commando_f_tntina': + make_mythic = False + if 'Stage7' in locker_data.unlocked_styles.get('cid_691_athena_commando_f_tntina', []): + make_mythic = True + + # Gold Skye + if cosmetic['id'].lower() == 'cid_690_athena_commando_f_photographer': + make_mythic = False + if 'Stage4' in locker_data.unlocked_styles.get('cid_690_athena_commando_f_photographer', []): + make_mythic = True + + # Gold Agent Peely + if cosmetic['id'].lower() == 'cid_701_athena_commando_m_bananaagent': + make_mythic = False + if 'Stage4' in locker_data.unlocked_styles.get('cid_701_athena_commando_m_bananaagent', []): + make_mythic = True + + # World Cup Fishtick + if cosmetic['id'].lower() == 'cid_315_athena_commando_m_teriyakifish': + make_mythic = False + if 'Stage3' in locker_data.unlocked_styles.get('cid_315_athena_commando_m_teriyakifish', []): + make_mythic = True + + # Mate Black Masterchief + if cosmetic['id'].lower() == 'cid_971_athena_commando_m_jupiter_s0z6m': + make_mythic = False + if 'Mat2' in locker_data.unlocked_styles.get('cid_971_athena_commando_m_jupiter_s0z6m', []): + make_mythic = True + + if make_mythic == True: + cosmetic['rarity']['value'] = 'mythic' + + cosmetic_info = FortniteCosmetic() + cosmetic_info.cosmetic_id = cosmetic['id'] + cosmetic_info.name = cosmetic['name'] + cosmetic_info.small_icon = cosmetic['images']['smallIcon'] + cosmetic_info.backend_value = category + cosmetic_info.rarity_value = cosmetic['rarity']['value'] + cosmetic_info.is_banner = False + cosmetic_info.is_exclusive = make_mythic + cosmetic_info.is_popular = cosmetic['id'] in popular_cosmetics + cosmetic_info.unlocked_styles = locker_data.unlocked_styles[cosmetic['id'].lower()] + + locker_data.cosmetic_array[category].append(cosmetic_info) + + # now special ones + if cosmetic_info.is_popular: + locker_data.cosmetic_array['AthenaPopular'].append(cosmetic_info) + + if make_mythic: + locker_data.cosmetic_array['AthenaExclusive'].append(cosmetic_info) + + except Exception as e: + print(f'exception: {e}') + continue + + # handle banners + banners_data = requests.get('https://fortnite-api.com/v1/banners') + for fn_banner in banners_data.json()['data']: + banner_lower_id = fn_banner['id'].lower() + if banner_lower_id not in locker_data.homebase_banners: + # banner isn't owned + continue + + make_mythic = False + icon = fn_banner['images']['icon'] + rarity = 'uncommon' + if fn_banner['id'] in exclusive_cosmetics: + make_mythic = True + rarity = 'mythic' + + # for future + cosmetic_info = FortniteCosmetic() + cosmetic_info.cosmetic_id = fn_banner['id'] + cosmetic_info.name = fn_banner['devName'] + cosmetic_info.small_icon = fn_banner['images']['smallIcon'] + cosmetic_info.rarity_value = rarity + cosmetic_info.backend_value = 'HomebaseBannerIcons' + cosmetic_info.is_banner = True + cosmetic_info.is_exclusive = make_mythic + cosmetic_info.is_popular = fn_banner['id'] in popular_cosmetics + + locker_data.cosmetic_array['HomebaseBannerIcons'].append(cosmetic_info) + # now exclusive ones + if make_mythic: + locker_data.cosmetic_array['AthenaExclusive'].append(cosmetic_info) + + # sorting exclusives category + locker_data.cosmetic_array['AthenaExclusive'].sort( + key=lambda cosmetic: exclusive_cosmetics.index(cosmetic.cosmetic_id) + if cosmetic.cosmetic_id in exclusive_cosmetics + else float('inf') + ) + + # returning back the locker data + return locker_data + + async def get_seasons_message(self, user: EpicUser) -> str: + url = f'https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/game/v2/profile/{user.account_id}/client/QueryProfile?profileId=athena' + headers = { + "Authorization": f"bearer {user.access_token}", + "Content-Type": "application/json" + } + + athena_data = requests.post(url, headers=headers, json={}).json() + + past_seasons = {} + seasons_info = [] + + # seasons infos + past_seasons = athena_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}).get("past_seasons", []) + total_wins = sum(season.get("numWins", 0) for season in past_seasons) + total_matches = sum( + season.get("numHighBracket", 0) + season.get("numLowBracket", 0) + + season.get("numHighBracket_LTM", 0) + season.get("numLowBracket_LTM", 0) + + season.get("numHighBracket_Ar", 0) + season.get("numLowBracket_Ar", 0) + for season in past_seasons + ) + + curses = athena_data.get("profileChanges", [{}])[0].get("profile", {}).get("stats", {}).get("attributes", {}) + cursesinfo = { + 'level': curses.get('level', 1), + 'book_level': curses.get('book_level', 1) + } + + for season in past_seasons: + seasons_info.append(f""" +#️⃣Season {season.get('seasonNumber', 1)} +› Level: {season.get('seasonLevel', '1')} +› Battle Pass: {bool_to_emoji(season.get('purchasedVIP', False))} +› Wins: {season.get('numWins', 0)} + """) + + seasons_info_embeds = seasons_info + seasons_info_message = "Previous Seasons History:\n" + "\n".join(seasons_info_embeds) + seasons_info_message += f"\nCurrent Season:\n› Level: {cursesinfo['level']}\n› Battle Pass Level: {cursesinfo['book_level']}" + return seasons_info_message \ No newline at end of file diff --git a/checker/exclusive.txt b/checker/exclusive.txt new file mode 100644 index 0000000..f620b43 --- /dev/null +++ b/checker/exclusive.txt @@ -0,0 +1,415 @@ +Pickaxe_Lockjaw +CID_028_Athena_Commando_F +CID_029_Athena_Commando_F_Halloween +CID_017_Athena_Commando_M +CID_030_Athena_Commando_M_Halloween +Glider_ID_001 +Pickaxe_ID_376_FNCS +Pickaxe_FNCS_S32 +CID_035_Athena_Commando_M_Medieval +CID_039_Athena_Commando_F_Disco + +CID_660_Athena_Commando_F_BandageNinjaBlue +CID_619_Athena_Commando_F_TechLlama +CID_434_Athena_Commando_F_StealthHonor +CID_757_Athena_Commando_F_WildCat +CID_175_Athena_Commando_M_Celestial +CID_342_Athena_Commando_M_StreetRacerMetallic +CID_313_Athena_Commando_M_KpopFashion +CID_386_Athena_Commando_M_StreetOpsStealth +CID_259_Athena_Commando_M_StreetOps +CID_174_Athena_Commando_F_CarbideWhite +Character_MasterKeyOrder +CID_371_Athena_Commando_M_SpeedyMidnight +CID_753_Athena_Commando_F_Hostile +CID_183_Athena_Commando_M_ModernMilitaryRed +CID_479_Athena_Commando_F_Davinci +CID_516_Athena_Commando_M_BlackWidowRogue +CID_441_Athena_Commando_F_CyberScavengerBlue +CID_783_Athena_Commando_M_AquaJacket +CID_850_Athena_Commando_F_SkullBriteCube +CID_113_Athena_Commando_M_BlueAce +CID_515_Athena_Commando_M_BarbequeLarry +CID_971_Athena_Commando_M_Jupiter_S0Z6M + + +CID_033_Athena_Commando_F_Medieval +CID_032_Athena_Commando_M_Medieval + + +CID_084_Athena_Commando_M_Assassin +CID_083_Athena_Commando_F_Tactical +CID_090_Athena_Commando_M_Tactical + +CID_116_Athena_Commando_M_CarbideBlack + + +CID_703_Athena_Commando_M_Cyclone +CID_761_Athena_Commando_M_CycloneSpace +CID_478_Athena_Commando_F_WorldCup +CID_964_Athena_Commando_M_Historian_869BC +CID_315_Athena_Commando_M_TeriyakiFish + +CID_085_Athena_Commando_M_Twitch +CID_089_Athena_Commando_M_RetroGrey +CID_114_Athena_Commando_F_TacticalWoodland + + +CID_096_Athena_Commando_F_Founder +CID_095_Athena_Commando_M_Founder + + +Character_SnowNinjaDark +CID_052_Athena_Commando_F_PSBlue +CID_138_Athena_Commando_M_PSBurnout +CID_296_Athena_Commando_M_Math +CID_360_Athena_Commando_M_TechOpsBlue +CID_A_101_Athena_Commando_M_TacticalWoodlandBlue +CID_A_421_Athena_Commando_F_BlizzardBomber +CID_657_Athena_Commando_F_TechOpsBlue +CID_711_Athena_Commando_M_LongShorts +Character_BlueJet +CID_926_Athena_Commando_F_StreetFashionDiamond +Character_RetroWheels + + +CID_701_Athena_Commando_M_BananaAgent +CID_690_Athena_Commando_F_Photographer +CID_691_Athena_Commando_F_TNTina +CID_693_Athena_Commando_M_BuffCat +CID_694_Athena_Commando_M_CatBurglar + + +Character_TubaGummi + + +BID_004_BlackKnight +BID_415_TechLlama +BID_138_Celestial +BID_521_WildCat +BID_249_StreetOpsStealth +BID_234_SpeedyMidnight +BID_604_SkullBritecube +BID_114_ModernMilitaryRed +BID_346_BlackWidowRogue +PetCarrier_013_BbqLarry + +BID_002_RoyaleKnight +BID_001_BlueSquire + + +Backpack_SnowNinjaDark +BID_A_019_BlizzardBomberFemale +BID_169_MathMale +BID_224_TechOpsBlue +Backpack_BlueJet +Backpack_SnowSoldierFashion + + +BID_027_Scavenger +BID_468_Cyclone +BID_520_CycloneUniverse + + +Backpack_FNCSShield_S32 + + +Pickaxe_ID_116_Celestial +Pickaxe_ID_398_WildCatFemale +Pickaxe_ID_077_CarbideWhite +Pickaxe_ID_099_ModernMilitaryRed +Pickaxe_ID_461_SkullBriteCube +Pickaxe_ID_189_StreetOpsStealth +Pickaxe_ID_178_SpeedyMidnight + + +Pickaxe_ID_294_CandyCane +Pickaxe_ID_508_HistorianMale_6BQSW + + +Pickaxe_ID_013_Teslacoil +Pickaxe_ID_011_Medieval +Pickaxe_ID_028_Space +Pickaxe_ID_092_Bling + + +Pickaxe_ID_039_TacticalBlack +Pickaxe_ID_044_TacticalUrbanHammer + + +Pickaxe_ID_265_BarbequeLarry1H + + +Pickaxe_ID_STW006_Tier_7 +Pickaxe_ID_153_RoseLeader + + +Pickaxe_SnowNinjaDark +BID_055_PSBurnout +Pickaxe_ID_088_PSBurnout +Pickaxe_ID_256_TechOpsBlue +Pickaxe_ID_464_LongShortsMale +Pickaxe_ID_717_NetworkFemale +Pickaxe_SnowSoldierFashion +Pickaxe_RetroWheels + + +Pickaxe_ID_STW005_Tier_6 +Pickaxe_ID_STW004_Tier_5 +Pickaxe_ID_STW003_Tier_4 +Pickaxe_ID_STW002_Tier_3 +Pickaxe_ID_STW007_Basic +Pickaxe_ID_STW001_Tier_1 + + +Pickaxe_SpookyNeonRed +Pickaxe_SpookyNeonBlue +Pickaxe_ID_359_CycloneMale + + +EID_KPopDance03 +EID_Davinci + + +EID_Fresh +EID_Floss +EID_Worm +EID_RideThePonyTwo +EID_TakeTheL +EID_HipHop01 +EID_GoodVibes +EID_IceKing +EID_RichFam +EID_PlayerEleven +EID_RigorMortis +EID_Gleam +EID_Downward_8GZUA +EID_CycloneHeadBang +EID_SandwichBop +EID_JulyBooks +EID_Laugh +EID_Textile_3O8QG +EID_Uproar_496SC +EID_Tidy +EID_Zippy + + +EID_Avian + + +Emoji_S22_Showdown_Mae +Emoji_S22_Showdown_Zet + + +Spray_Showdown_Mae +Spray_Showdown_Zet +Spray_Showdown_Pi +SPID_066_Llamalaxy +SPID_065_DiscoBaller +SPID_043_Flairspray +SPID_274_Alt_3 +SPID_022_SoloShowdown + + +Glider_Warthog +Glider_ID_003_District + +Glider_ID_211_WildCatBlue +Glider_ID_090_Celestial +Glider_ID_056_CarbideWhite +Glider_ID_075_ModernMilitaryRed +Glider_ID_137_StreetOpsStealth +Glider_ID_131_SpeedyMidnight + + +Glider_ID_002_Medieval +Glider_ID_015_Brite + + +Glider_ID_161_RoseLeader +FounderGlider +Glider_Military + + +Glider_ID_013_PSBlue +Glider_ID_067_PSBurnout +Glider_ID_150_TechOpsBlue +Glider_ID_309_TacticalWoodlandBlue +Glider_ID_389_BlizzardBomberFemale +Glider_SnowSoldierFashion + +Glider_ID_196_CycloneMale +Glider_ID_347_PeachMale + + +FounderUmbrella +Umbrella_Snowflake +Umbrella_PaperParasol +Umbrella_AssassinSuit +Umbrella_Lettuce +Umbrella_Vendetta + + +Wrap_SnowNinjaDark +Wrap_333_StealthWoodland +Wrap_UnknownNetwork +Wrap_DyedBurst +Wrap_210_Thermal +Wrap_303_GasCloud + + +Trails_ID_059_Sony2 +Trails_ID_123_TacticalWoodlandBlue +Trails_ID_150_Avalanche + + +OT11Banner +OT10Banner +OT9Banner +OT8Banner +OT7Banner +OT6Banner +OT5Banner +OT4Banner +OT3Banner +OT2Banner +OT1Banner +OtherBanner51 +BRSeason01 +NewsletterBanner +Winter2018Krampus +Winter2018BearTrapFoot +Winter2018Cooker +Winter2018SnowmanBuried +Winter2018CrownFlame +Winter2018IcicleCluster +Winter2018Tower +Winter2018Wave30Complete +Winter2018GingerbreadMan +StarlightBanner6 +StarlightBanner5 +StarlightBanner4 +StarlightBanner3 +StarlightBanner2 +StarlightBanner1 +EnduranceWave30Theater04 +EnduranceWave30Theater03 +EnduranceWave30Theater02 +EnduranceWave30Theater01 +WargamesTprifts +WargamesTiki +WargamesPods +SurvivalBannerStorm2018Med +HordeBanner2018TwinePeaks +SurvivalBannerStorm2018Stonewood +WargamesAnomaly +WargamesMeteor +WargamesTornado +AchievementUnspeakableHorrors +AchievementWorldExplorer +AchievementGuardianAngel +AchievementPlaysWellWithOthers +AchievementTalentedBuilder +AchievementGoGnome +AchievementLootLegend +SurvivalBannerPlankertonComplete +SurvivalBannerCannyValleyComplete +SurvivalBannerStonewoodComplete +InfluencerBanner1 +InfluencerBanner2 +InfluencerBanner3 +InfluencerBanner4 +InfluencerBanner5 +InfluencerBanner6 +InfluencerBanner7 +InfluencerBanner8 +InfluencerBanner9 +InfluencerBanner10 +InfluencerBanner11 +InfluencerBanner12 +InfluencerBanner13 +InfluencerBanner14 +InfluencerBanner15 +InfluencerBanner16 +InfluencerBanner17 +InfluencerBanner18 +InfluencerBanner19 +InfluencerBanner20 +InfluencerBanner21 +InfluencerBanner22 +InfluencerBanner23 +InfluencerBanner24 +InfluencerBanner25 +InfluencerBanner26 +InfluencerBanner27 +InfluencerBanner28 +InfluencerBanner29 +InfluencerBanner30 +InfluencerBanner31 +InfluencerBanner32 +InfluencerBanner33 +InfluencerBanner34 +InfluencerBanner35 +InfluencerBanner36 +InfluencerBanner37 +InfluencerBanner38 +InfluencerBanner39 +InfluencerBanner40 +InfluencerBanner41 +InfluencerBanner42 +InfluencerBanner43 +InfluencerBanner44 +InfluencerBanner45 +InfluencerBanner46 +InfluencerBanner47 +InfluencerBanner48 +InfluencerBanner49 +InfluencerBanner50 +InfluencerBanner51 +InfluencerBanner52 +InfluencerBanner53 +InfluencerBanner54 +InfluencerBanner55 +InfluencerBanner56 +InfluencerBanner57 +InfluencerBanner58 +BRS22_Showdown_Mae +FounderTier5Banner1 +FounderTier5Banner2 +FounderTier5Banner3 +FounderTier5Banner4 +FounderTier5Banner5 +FounderTier4Banner1 +FounderTier4Banner2 +FounderTier4Banner3 +FounderTier4Banner4 +FounderTier4Banner5 +FounderTier3Banner1 +FounderTier3Banner2 +FounderTier3Banner3 +FounderTier3Banner4 +FounderTier3Banner5 +FounderTier2Banner1 +FounderTier2Banner2 +FounderTier2Banner3 +FounderTier2Banner4 +FounderTier2Banner5 +FounderTier1Banner1 +FounderTier1Banner2 +FounderTier1Banner3 +FounderTier1Banner4 +FounderTier1Banner5 +SurvivalBannerHolidayHard +SurvivalBannerHolidayMed +SurvivalBannerHolidayEasy +SurvivalBannerStorm2018Hard +SurvivalBannerStorm2018Med +SurvivalBannerStorm2018Easy +BRS10Level100 +BRS9Lvl100 +BRS8Level100 +NewsletterBanne +BRWorldCup2019 +BRS23_FNCS_Drops +BRS9Doggus +BRS9Cattus \ No newline at end of file diff --git a/checker/homebase_data.txt b/checker/homebase_data.txt new file mode 100644 index 0000000..99b3ebd --- /dev/null +++ b/checker/homebase_data.txt @@ -0,0 +1,14823 @@ +{ + "profileRevision": 54464, + "profileId": "campaign", + "profileChangesBaseRevision": 54464, + "profileChanges": [ + { + "changeType": "fullProfileUpdate", + "profile": { + "created": "2018-05-05T02:23:12.149Z", + "updated": "2025-01-02T21:03:29.044Z", + "rvn": 54464, + "wipeNumber": 9, + "accountId": "4b47fd94adb640b8b08ca1e24a7ca584", + "profileId": "campaign", + "version": "season33_3300_PrimalFlamebowMakegood_Dec_2024", + "stats": { + "attributes": { + "node_costs": { + "homebase_node_default_page": { + "Token:homebasepoints": 137 + }, + "research_node_default_page": { + "Token:collectionresource_nodegatetoken01": 994200 + } + }, + "mission_alert_redemption_record": { + "claimData": [ + { + "missionAlertId": "a0f81b94-9990-485d-a805-0ae477239ce6", + "evictClaimDataAfterUtc": "2024-10-19T00:00:00.000Z", + "redemptionDateUtc": "2024-10-18T09:14:43.751Z" + }, + { + "missionAlertId": "dd579149-d5a3-4ba1-b922-8eb657d67f87", + "evictClaimDataAfterUtc": "2024-10-19T00:00:00.000Z", + "redemptionDateUtc": "2024-10-18T17:47:34.012Z" + }, + { + "missionAlertId": "8fad38dd-50fa-476c-9dfb-3ea9cc36666f", + "evictClaimDataAfterUtc": "2024-10-19T00:00:00.000Z", + "redemptionDateUtc": "2024-10-18T19:34:27.518Z" + } + ] + }, + "client_settings": { + "pinnedQuestInstances": [] + }, + "research_levels": { + "offense": 120, + "technology": 120, + "fortitude": 120, + "resistance": 91 + }, + "level": 253, + "selected_hero_loadout": "00216df5-eb1e-45be-9549-76674b95d047", + "collection_book": { + "maxBookXpLevelAchieved": 284 + }, + "latent_xp_marker": "7088495", + "mfa_reward_claimed": true, + "quest_manager": { + "dailyLoginInterval": "2025-01-02T20:30:31.529Z", + "dailyQuestRerolls": 1, + "questPoolStats": { + "dailyLoginInterval": "2025-01-02T20:30:31.529Z", + "poolLockouts": { + "poolLockouts": [ + { + "lockoutName": "EnduranceDaily" + }, + { + "lockoutName": "Weekly" + } + ] + }, + "poolStats": [ + { + "questHistory": [], + "rerollsRemaining": 0, + "nextRefresh": "2024-04-06T04:28:40.074Z", + "poolName": "endurancedailyquests_01" + }, + { + "questHistory": [ + "Quest:stw_stormkinghard_weekly_005", + "Quest:stw_stormkinghard_weekly_002" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-09T00:00:00.000Z", + "poolName": "weeklystormkinghardroll_01" + }, + { + "questHistory": [ + "Quest:s11_holdfastquest_d2_soldier", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_outlander", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_outlander", + "Quest:s11_holdfastquest_d2_ninja", + "Quest:s11_holdfastquest_d2_outlander" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.522Z", + "poolName": "holdfastdaily_part2_01" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-09T00:00:00.000Z", + "poolName": "weeklyelderquestroll_01" + }, + { + "questHistory": [ + "Quest:maydayquest_2019_daily_complete" + ], + "rerollsRemaining": 1, + "nextRefresh": "2024-08-18T03:56:51.412Z", + "poolName": "maydaydailyquest_01" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.524Z", + "poolName": "stormkingdailyquest_01" + }, + { + "questHistory": [ + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest", + "Quest:wargames_completedailyquest" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.508Z", + "poolName": "dailywargameschallenge_01" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t21" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-02T00:00:00.000Z", + "poolName": "weeklyquestroll_19" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t13" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-05-23T00:00:00.000Z", + "poolName": "weeklyquestroll_12" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t15", + "Quest:weeklyquest_tiered_completemissionalerts_t15" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-08-08T00:00:00.000Z", + "poolName": "weeklyquestroll_13" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t11" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-05-16T00:00:00.000Z", + "poolName": "weeklyquestroll_10" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t12" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-05-23T00:00:00.000Z", + "poolName": "weeklyquestroll_11" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t17", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18", + "Quest:weeklyquest_tiered_completemissionalerts_t18" + ], + "rerollsRemaining": 1, + "nextRefresh": "2024-04-18T00:00:00.000Z", + "poolName": "weeklyquestroll_16" + }, + { + "questHistory": [], + "rerollsRemaining": 0, + "nextRefresh": "2025-01-03T20:30:31.515Z", + "poolName": "endurancedailyquests_15" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t18" + ], + "rerollsRemaining": 1, + "nextRefresh": "2024-04-18T00:00:00.000Z", + "poolName": "weeklyquestroll_17" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.510Z", + "poolName": "dailywargamesplankerton_01" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t16" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-08-22T00:00:00.000Z", + "poolName": "weeklyquestroll_14" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.513Z", + "poolName": "dailywargamestwine_01" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.511Z", + "poolName": "dailywargamesstonewood_01" + }, + { + "questHistory": [ + "Quest:s11_holdfastquest_d1_ice", + "Quest:s11_holdfastquest_d1_construct", + "Quest:s11_holdfastquest_d1_burner", + "Quest:s11_holdfastquest_d1_ice", + "Quest:s11_holdfastquest_d1_ice", + "Quest:s11_holdfastquest_d1_burner", + "Quest:s11_holdfastquest_d1_construct", + "Quest:s11_holdfastquest_d1_ice", + "Quest:s11_holdfastquest_d1_construct", + "Quest:s11_holdfastquest_d1_burner", + "Quest:s11_holdfastquest_d1_cramp" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.521Z", + "poolName": "holdfastdaily_part1_01" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2024-11-11T14:18:38.799Z", + "poolName": "starlightdailyquest_01" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t11" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-05-16T00:00:00.000Z", + "poolName": "weeklyquestroll_09" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t09", + "Quest:weeklyquest_tiered_completemissionalerts_t10" + ], + "rerollsRemaining": 1, + "nextRefresh": "2019-05-16T00:00:00.000Z", + "poolName": "weeklyquestroll_08" + }, + { + "questHistory": [ + "Quest:weeklyquest_tiered_completemissionalerts_t25", + "Quest:weeklyquest_tiered_completemissionalerts_t25" + ], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-09T00:00:00.000Z", + "poolName": "weeklyquestroll_23" + }, + { + "questHistory": [], + "rerollsRemaining": 0, + "nextRefresh": "2024-06-12T06:32:03.259Z", + "poolName": "hordev3dailyquests_01" + }, + { + "questHistory": [], + "rerollsRemaining": 1, + "nextRefresh": "2025-01-03T20:30:31.506Z", + "poolName": "dailywargamescanny_01" + }, + { + "questHistory": [], + "rerollsRemaining": 0, + "nextRefresh": "2024-12-30T13:20:28.528Z", + "poolName": "endurancedailyquests_05" + } + ] + } + }, + "legacy_research_points_spent": 119940, + "gameplay_stats": [ + { + "statValue": 1014, + "statName": "zonescompleted" + }, + { + "statValue": 14, + "statName": "habaneroprogression" + }, + { + "statValue": 0, + "statName": "totalroyalroyales" + } + ], + "event_currency": { + "cf": 1.0, + "templateId": "AccountResource:eventcurrency_snowballs" + }, + "matches_played": 376, + "mode_loadouts": [], + "unslot_mtx_spend": 120, + "xp": 5879673, + "quest_completion_session_ids": { + "Quest:starlightquest_daily_complete_d5science": "7a2651d7c23041dfbdec607283f3189e", + "Quest:daily_huskextermination_ranged_shotgun": "7f742e83896143d58c29126a5998b736", + "Quest:s11_holdfastquest_d1_construct": "a12c1aaca9ef40f3b07d9cf256f4226d", + "Quest:daily_destroytransformers": "ffa71d585cc7438695114a280ab8754f", + "Quest:starlightquest_daily_complete_d2": "0dd342903187428bbb6322c1e06be245", + "Quest:hordev3_quest_daily_a01": "49eccdcf8b4e4c0a83caa5680e5268b9", + "Quest:hordev3_quest_daily_a02": "49eccdcf8b4e4c0a83caa5680e5268b9", + "Quest:endurancedaily_t01_w15": "1cea9bb1497c461ea03a7bbd6021ba54", + "Quest:hordev3_quest_daily_a03": "49eccdcf8b4e4c0a83caa5680e5268b9", + "Quest:s11_holdfastquest_deliver_30": "a12c1aaca9ef40f3b07d9cf256f4226d", + "Quest:s11_holdfastquest_d2_ninja": "19170ea713bf4c9487fbc2dc62bba4af", + "Quest:endurancedaily_t01_w20": "1cea9bb1497c461ea03a7bbd6021ba54", + "Quest:s11_holdfastquest_d1_burner": "19170ea713bf4c9487fbc2dc62bba4af" + }, + "packs_granted": 1680 + } + }, + "commandRevision": 40512, + "_id": "a4a01940bca545b1a04626a049c7f8ee", + "items": { + "a53e48b2-737b-4be7-96bc-f4d913f3efa2": { + "templateId": "HomebaseNode:questreward_newfollower5_slot", + "attributes": {}, + "quantity": 1 + }, + "c1f08a65-efde-4847-967e-6d86b67f331e": { + "templateId": "Quest:cannyvalleyquest_filler_3_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-01T05:18:27.456Z", + "level": -1, + "completion_kill_husk_smasher_3_diff5_v3": 30, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5c3fe9d2-9d3c-476a-adee-c0899024b088": { + "templateId": "Worker:managerexplorer_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsExplorer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Explorer-F01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "263c25e6-5c5d-4059-9ff4-773dadf6e201": { + "templateId": "TeamPerk:tpid_dimmak", + "attributes": {}, + "quantity": 1 + }, + "2da14cbd-f35b-41af-99af-00eef23b0f39": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "1", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 38, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "5616e80e-d566-44b9-8e50-2b7173a7c5fb": { + "templateId": "Quest:stonewoodquest_ability_hoverboard", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T02:16:31.452Z", + "completion_stonewoodquest_ability_hoverboard": 1, + "level": -1, + "item_seen": true, + "completion_complete_pve01_diff4": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b623bb02-87b1-41ca-a484-cf8005b241bd": { + "templateId": "Quest:stonewoodquest_tutorial_upgrade", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.865Z", + "completion_upgrades_highlight": 1, + "completion_upgrades_guard_command": 1, + "completion_upgrades_intro": 1, + "level": -1, + "completion_upgrades_guard_upgrades": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_upgrades_tabcallout": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "eec0905f-634a-435a-ba22-370430c8ad35": { + "templateId": "Quest:plankertonquest_filler_4_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-09T05:22:35.288Z", + "completion_complete_mimic_2_diff4": 1, + "level": -1, + "item_seen": true, + "completion_interact_treasurechest_pve02_diff4": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "023256f8-7e86-4c67-8902-72f3a57cfef3": { + "templateId": "Expedition:expedition_sea_supplyrun_short_t01", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.773Z", + "level": 1, + "expedition_max_target_power": 95, + "expedition_min_target_power": 4, + "expedition_slot_id": "expedition.generation.sea.t01_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.773Z" + }, + "quantity": 1 + }, + "f839bf8e-3e32-4bd0-851d-b9c92756ecee": { + "templateId": "Quest:stonewoodquest_reactive_fetch_hoverboard", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T01:36:43.255Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_stonewoodquest_reactive_fetch_hoverboard": 10 + }, + "quantity": 1 + }, + "06475d67-b4cc-4a44-bc1d-a5212f74b54d": { + "templateId": "Quest:heroquest_loadout_outlander_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T19:28:26.836Z", + "level": -1, + "item_seen": true, + "completion_complete_pve03_diff26_loadout_outlander": 300, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "632f5284-310b-4994-85a5-64c48a56d3f2": { + "templateId": "Quest:challenge_missionaccomplished_10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-17T22:37:12.974Z", + "level": -1, + "completion_complete_primary": 7, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "16eeb64f-5258-443a-baa3-5758ffed7dc6": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "c4d5a740-c02a-4f94-ba62-50b0084c0a7c": { + "templateId": "Quest:challenge_toxictreasures_8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-09T05:23:01.370Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "554b76e6-cafa-4420-a9b1-006f3047370f": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd1", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "778b9aef-5257-4bd8-b653-e6699939eab8": { + "templateId": "Schematic:sid_shotgun_hydraulic_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_ele_fire_t03", + "Alteration:aid_att_headshotdamage_t02", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "71a0258f-92c2-4d79-8c39-e369bd65a1b2": { + "templateId": "HomebaseNode:questreward_expedition_propplane3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "7407e83a-d99e-488c-bec6-1c1aadb62539": { + "templateId": "Worker:managersoldier_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsSoldier", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Marksman-M01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "60e61bba-341b-44de-afb4-75a23a9e88db": { + "templateId": "Quest:challenge_missionaccomplished_11", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T03:30:21.667Z", + "level": -1, + "completion_complete_primary": 8, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f083383e-c47e-4c46-bb90-5df2465ec370": { + "templateId": "HomebaseNode:questreward_teamperk_slot1", + "attributes": {}, + "quantity": 1 + }, + "9dc53339-35e7-4b60-8607-5dad1ef6b85c": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAnalytical", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "2281756d-e483-457d-b8d2-fcfbf9cb3ffe": { + "templateId": "TeamPerk:tpid_totallygnarly", + "attributes": {}, + "quantity": 1 + }, + "44c2213d-dc3b-478c-8624-59e4c0b5b741": { + "templateId": "Hero:hid_outlander_008_foundersf_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "1a31438c-cb62-492f-916b-ccb2f4bb7b28": { + "templateId": "Quest:endurancewave30theater02", + "attributes": { + "creation_time": "2024-04-05T22:27:42.608Z", + "quest_state": "Active", + "last_state_change_time": "2024-04-05T22:27:42.608Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4f5779b4-3f30-4221-be4a-3d13cafba851": { + "templateId": "Quest:teamperkquest_holidaycheer", + "attributes": { + "creation_time": "2024-12-28T20:27:31.839Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-28T20:27:40.314Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "41a83d5d-c47e-4514-bff9-22dad7bcc13e": { + "templateId": "HomebaseNode:questreward_feature_survivorlevelup", + "attributes": {}, + "quantity": 1 + }, + "9070fc4b-c016-40ef-8294-f4139e1da209": { + "templateId": "Quest:s11_holdfastquest_season_misty", + "attributes": { + "creation_time": "2024-12-16T20:05:04.715Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-27T16:51:14.534Z", + "completion_s11_holdfastquest_season_misty": 50, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "45435374-23b8-4f2d-a936-44a597b8ae97": { + "templateId": "Schematic:sid_edged_sword_pirate_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_movementspeed_t02", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_g_onmeleecrit_pistolheadshotdamage" + ] + }, + "quantity": 1 + }, + "8c7e54fe-6996-48fd-bcc6-784212251e37": { + "templateId": "Quest:challenge_toxictreasures_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-30T03:11:53.534Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 2, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "08ce7f52-c8df-4a02-90df-d1e90fbc16e1": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAnalytical", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "29d1e5a3-cbda-419a-9bda-2f30fddb22ef": { + "templateId": "Quest:outpostquest_t2_endless", + "attributes": { + "creation_time": "2024-04-05T22:27:42.608Z", + "quest_state": "Active", + "last_state_change_time": "2024-04-05T22:27:42.608Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4c129f2b-5a2d-41b5-88a0-2902b191f53c": { + "templateId": "Quest:cannyvalley_reactive_forts", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T01:21:58.753Z", + "level": -1, + "completion_cannyvalley_reactive_forts": 3, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "29fd89d8-d110-4015-bdd8-b22ab928e792": { + "templateId": "HomebaseNode:questreward_newfollower4_slot", + "attributes": {}, + "quantity": 1 + }, + "a51a0ca1-4c4d-4f65-903c-4181a67b5cd5": { + "templateId": "Quest:cannyvalleyquest_side_3_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-27T05:22:22.950Z", + "completion_complete_powerreactor_3_diff4": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d181fc1c-0096-4774-9488-fc8dd6a57b65": { + "templateId": "Schematic:sid_floor_hoverboard_speed_r_t01", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "07281563-5dd3-441e-9561-1714b2065655": { + "templateId": "Quest:plankertonquest_filler_4_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-23T01:16:08.346Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_buildradargrid_2": 1 + }, + "quantity": 1 + }, + "527cbd26-30d2-4aa0-bae7-8e61f5da1317": { + "templateId": "Worker:worker_halloween_smasher_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "2", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 20, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Smasher", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "8da32986-506e-4a5e-8fb8-e5a34842ccf6": { + "templateId": "HomebaseNode:questreward_homebase_defender2", + "attributes": {}, + "quantity": 1 + }, + "b2f8397c-5e9d-43cf-8870-f0434c201265": { + "templateId": "Quest:cannyvalleyquest_filler_5_d4", + "attributes": { + "completion_complete_destroyencamp_3_diff4": 3, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-05T15:59:18.200Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d33dc929-8d53-41c8-9803-579adc4597ee": { + "templateId": "Worker:workerbasic_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 20, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "8410e936-3d8a-4080-8bfe-6009df214c73": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: 32.10 Hunt the Monster Quests", + "conditions": { + "event": { + "instanceId": "6gvpoahgenlmcbgqtk4vkhb1lu[0]0", + "eventName": "CalendarEvent_STWHuntMonster_Quests", + "eventStart": "2024-10-02T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:huntmonster_quest_a01_interact", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:huntmonster_quest_a01_interact", + "quantity": 1 + }, + { + "templateId": "Quest:huntmonster_quest_a02_destroycrystal", + "quantity": 1 + }, + { + "templateId": "Quest:huntmonster_quest_a03_completehuntmission", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "bc948e87-c327-42e3-8499-44eff29b53ab": { + "templateId": "PersonalVehicle:vid_hoverboard", + "attributes": { + "level": 1 + }, + "quantity": 1 + }, + "140983b6-6c1c-4951-8211-e0d8558ea0bb": { + "templateId": "AccountResource:reagent_evolverarity_sr", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 540 + }, + "fa011790-3f0e-4688-a99c-41555987065c": { + "templateId": "Quest:foundersquest_chooseherobundle", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-26T07:00:47.077Z", + "selection": 1, + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ae56be9e-f8c5-435f-bf39-de33fc696de8": { + "templateId": "Quest:cannyvalley_hidden_end_watchvideo", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-09-25T23:13:23.772Z", + "completion_cannyvalley_hidden_end_watchvideo": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1edfd5ca-f4db-4b06-af74-94867a4ab241": { + "templateId": "Quest:cannyvalleyquest_filler_6_d4", + "attributes": { + "creation_time": "2024-04-05T15:59:18.200Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-07T01:36:34.583Z", + "completion_complete_pve03_diff3_v2": 2, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "completion_questcollect_survivoritemdata_v2": 10, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "75448ad1-6df8-461f-95d7-9daeebc23db0": { + "templateId": "Quest:outpostquest_t2_l10", + "attributes": { + "creation_time": "2024-04-05T17:52:58.782Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-05T22:27:42.604Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_2_10": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "63d5f8d6-681f-4d42-a834-59ee683b77c1": { + "templateId": "Quest:s11_holdfastquest_soup_elite", + "attributes": { + "creation_time": "2025-01-02T20:30:31.504Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.504Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d39b2158-db27-4aa6-9a15-e3378066d75f": { + "templateId": "Quest:s11_holdfastquest_d2_outlander", + "attributes": { + "creation_time": "2025-01-02T20:30:31.524Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.524Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "holdfastdaily_part2_01" + }, + "quantity": 1 + }, + "fe0f89e6-aa00-471a-bba6-c1a19604c73c": { + "templateId": "Quest:outpostquest_t4_l7", + "attributes": { + "creation_time": "2024-04-15T20:29:19.367Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T20:56:14.948Z", + "completion_complete_outpost_4_7": 1, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7cd0922a-5e17-47f8-89be-e6931bd82d62": { + "templateId": "Quest:s11_holdfastquest_season_furnacemaint", + "attributes": { + "creation_time": "2024-12-16T20:05:04.714Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-28T20:27:31.858Z", + "level": -1, + "item_seen": true, + "completion_s11_holdfastquest_season_furnacemaint": 10, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2eac392a-9102-413a-a49f-cfb29db421aa": { + "templateId": "Schematic:sid_sniper_steampunk_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_stability_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_weaponimpact_t03", + "Alteration:aid_att_damage_t03", + "Alteration:aid_g_shrapnel" + ] + }, + "quantity": 1 + }, + "cd7b74f1-f58f-432a-a5fd-cf32ff63342f": { + "templateId": "Quest:plankertonquest_filler_4_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-05T14:37:48.381Z", + "completion_complete_relaysurvivor_2_diff3": 6, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4723b492-180e-4d34-b3ad-48f6f1b2bfcc": { + "templateId": "Quest:weekly_elder_missionalerts_herosupercharge", + "attributes": { + "creation_time": "2025-01-02T20:30:31.526Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.526Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "weeklyelderquestroll_01" + }, + "quantity": 1 + }, + "8a79886b-f58a-4665-a692-6b1d42cda287": { + "templateId": "Quest:wargames_visibilityquest_wargame_tornado", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "606a5d33-ba7f-478f-918e-b281534998d3": { + "templateId": "TeamPerk:tpid_blastfromthepast", + "attributes": {}, + "quantity": 1 + }, + "ce4d3d1c-23d0-46ac-b05c-c13822af985f": { + "templateId": "CollectedResource:Token_collectionresource_nodegatetoken01", + "attributes": { + "last_updated": "2024-12-30T12:37:59.811Z", + "stored_value": 0.19680799999878218 + }, + "quantity": 1 + }, + "f7fd9073-7ad8-483c-966e-3061f08fbc69": { + "templateId": "Quest:cannyvalley_reactive_trainstations", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-22T15:53:23.037Z", + "level": -1, + "completion_cannyvalley_reactive_trainstations": 4, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "58479e69-b925-4fcb-85dc-3786c14a4a1d": { + "templateId": "Quest:outpostquest_t2_l5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T15:59:51.486Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_2_5": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0fd90691-f74b-4487-9fd0-d06d4ed6095d": { + "templateId": "Quest:stonewoodquest_reactive_joelkarolina_visitpubs", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T19:28:34.195Z", + "level": -1, + "item_seen": true, + "completion_stonewoodquest_reactive_joelkarolina_visitpubs": 2, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6b55ed47-a783-42dd-90b9-57c947956c3d": { + "templateId": "Quest:cannyvalley_reactive_rifts", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T01:41:59.297Z", + "completion_cannyvalley_reactive_rifts": 5, + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3f74c199-857f-4c0d-9546-2281f7b4c646": { + "templateId": "HomebaseNode:skilltree_banner", + "attributes": {}, + "quantity": 5 + }, + "1387ffb1-a36d-45fa-9f63-e63924fd1361": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd1", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "765f5868-e62f-4d63-9e1c-a24dd36e11b5": { + "templateId": "Quest:cannyvalley_reactive_telegraph", + "attributes": { + "completion_cannyvalley_reactive_telegraph": 15, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T19:06:26.153Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "636c64d8-7531-44f1-98af-87ec55eac4f1": { + "templateId": "Hero:hid_outlander_025_pirateoutlander_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "64e82332-8055-4efa-b7cd-97d7a5566005": { + "templateId": "Schematic:ammo_shells", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "9ef19461-a1e8-4cbc-84b9-c83976e2ccf2": { + "templateId": "Schematic:ingredient_duct_tape", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "725e09fb-8239-40d1-a7bc-e8b1b44093dd": { + "templateId": "Quest:daily_huskextermination_ranged_sniper", + "attributes": { + "creation_time": "2024-09-23T00:31:58.886Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T20:56:10.752Z", + "completion_kill_husk_sniper": 300, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d29bee46-ba12-4d2e-a217-a49f31dd6427": { + "templateId": "AccountResource:reagent_alteration_upgrade_uc", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 7916 + }, + "805a7edc-0280-488f-bfa1-2c7157e9bdcf": { + "templateId": "HomebaseNode:questreward_expedition_dirtbike2", + "attributes": {}, + "quantity": 1 + }, + "91f357e6-6528-43ad-9bf5-3ea3d4fa3f20": { + "templateId": "Hero:hid_constructor_024_pirateconstructor_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "ec1c771e-20ae-4895-9d35-54df604cb9c9": { + "templateId": "Quest:outpostquest_t3_l8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-29T23:38:23.975Z", + "completion_complete_outpost_3_8": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "64a7850f-1870-4aca-8674-d066f1bc0998": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd1", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "8c924112-5f57-4e9b-92c2-ca99613a0577": { + "templateId": "Expedition:expedition_air_supplyrun_long_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.756Z", + "expedition_criteria": [ + "RequiresLegendaryConstructor", + "RequiresEpicOutlander" + ], + "level": 1, + "expedition_max_target_power": 730, + "expedition_min_target_power": 36, + "expedition_slot_id": "expedition.generation.air.t04_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.756Z" + }, + "quantity": 1 + }, + "6881dd2a-1ca4-4771-a516-f1e47f01b9ce": { + "templateId": "Schematic:ammo_bulletsmedium", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "a64eb7c4-add0-4c00-a0a9-5d11bdb33d8f": { + "templateId": "Schematic:sid_edged_scythe_flintlock_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_movementspeed_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_heavyattackstaminacost_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "9adb120a-2b05-4091-8e22-ddccad877a10": { + "templateId": "Quest:stwstarterbundle18_01", + "attributes": { + "creation_time": "2024-03-26T20:57:48.414Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-27T16:55:05.912Z", + "level": -1, + "item_seen": true, + "quest_rarity": "legendary", + "xp_reward_scalar": 1, + "completion_stwstarterbundle18_01_obj0": 1 + }, + "quantity": 1 + }, + "53144670-9f21-4b83-9af0-698eb9b1f785": { + "templateId": "Schematic:sid_sniper_standard_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_maxdurability_t01", + "Alteration:aid_ele_fire_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "61d73ec8-ebb3-463c-8869-ae20c7ba0272": { + "templateId": "Quest:cannyvalleyquest_side_4_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-05T05:08:19.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_gate_3_diff4": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4ce6e4cd-b7c6-4cfa-b2c4-19b0b08a4271": { + "templateId": "HomebaseNode:questreward_expedition_propplane", + "attributes": {}, + "quantity": 1 + }, + "160161f8-6aba-4fac-a857-3a72cfa6f0d5": { + "templateId": "Quest:challenge_toxictreasures_12", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T22:49:07.338Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f40b809c-c4fe-4770-ad97-535f993059cf": { + "templateId": "Schematic:sid_shotgun_tactical_founders_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_g_weapon_onreload_damagestack" + ] + }, + "quantity": 1 + }, + "9b0c4fd4-dbb0-4ae8-a968-fbdc6525d1eb": { + "templateId": "Quest:cannyvalley_reactive_signalexplore", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-19T03:28:35.444Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_cannyvalley_reactive_signalexplore": 7 + }, + "quantity": 1 + }, + "b83444a3-58c1-4056-bdba-ba6856c5bab1": { + "templateId": "Quest:pickaxequest_stw006_tier_7", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-08-27T17:18:39.202Z", + "level": -1, + "item_seen": true, + "completion_pickaxequest_stw006_tier_7": 7, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "25b0d708-e733-4a5c-8211-801ff2f27cae": { + "templateId": "Worker:worker_halloween_lobber_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Lobber", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "cb39d447-7297-4f2b-99d1-c5cef7051e65": { + "templateId": "Quest:stonewoodquest_fetch_stormcalls", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.842Z", + "completion_stonewoodquest_fetch_stormcalls": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "dcfcee63-9d52-438f-8a0f-332117aa9301": { + "templateId": "AccountResource:reagent_evolverarity_vr", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 635 + }, + "8bca60b6-d8ec-4844-b34d-2c26cd3d609f": { + "templateId": "Expedition:expedition_sea_supplyrun_medium_t02", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.773Z", + "expedition_criteria": [ + "RequiresRareOutlander", + "RequiresCommando" + ], + "level": 1, + "expedition_max_target_power": 200, + "expedition_min_target_power": 10, + "expedition_slot_id": "expedition.generation.sea.t02_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.773Z" + }, + "quantity": 1 + }, + "0218d5a9-5c7a-43c5-ba67-06b7c65fd1ff": { + "templateId": "Quest:outpostquest_t1_l5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T17:24:24.536Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_1_5": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a6aece06-7ffc-4b4f-8832-116099325904": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "8fd82c63-2e6b-4f8b-9dd1-260bdc30cc07": { + "templateId": "AccountResource:reagent_alteration_upgrade_sr", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 35 + }, + "ddbe140f-e52e-43dd-a6e1-ca58c7277948": { + "templateId": "Worker:workerbasic_c_t01", + "attributes": { + "gender": "2", + "personality": "Homebase.Worker.Personality.IsAnalytical", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "abd361dc-c2de-4e51-a7cd-47c28a538dd1": { + "templateId": "Quest:plankertonquest_filler_2_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T22:52:26.960Z", + "level": -1, + "completion_complete_evacuateshelter_2_diff5": 2, + "item_seen": true, + "completion_questcollect_survivoritemdata": 15, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7ae52ee2-11bd-4450-9271-c81a6532865a": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "2", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "e1ef174e-a4f6-4863-80ca-2dab1372bb5a": { + "templateId": "Quest:daily_huskextermination_outlander", + "attributes": { + "creation_time": "2024-12-30T12:36:47.013Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-30T12:36:47.013Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "77698032-0070-468b-8119-232f908417ac": { + "templateId": "Quest:reactivequest_trollstash_r2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-17T23:42:14.764Z", + "completion_quest_reactive_trollstash": 1, + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "08f4f2b5-d072-4f9c-b352-c7412a3133ca": { + "templateId": "Worker:managerexplorer_sr_spacebound_t05", + "attributes": { + "squad_id": "squad_attribute_scavenging_scoutingparty", + "personality": "Homebase.Worker.Personality.IsDreamer", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsExplorer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Explorer-spacebound", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "bd989109-d8a6-4ec4-b4cb-87e2be76932e": { + "templateId": "Quest:outpostquest_t4_l1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-05T21:03:46.374Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_4_1": 1, + "completion_custom_twinedeployoutpost": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9926db59-b4f8-45c6-8743-df7f9e373924": { + "templateId": "PrerollData:preroll_basic", + "attributes": { + "fulfillmentId": "63BE689248CAF1251C84B4B3574F90EF", + "expended_streakbreakers": {}, + "level": 1, + "highest_rarity": 0, + "offerId": "B9B0CE758A5049F898773C1A47A69ED4", + "expiration": "2025-01-03T00:00:00.000Z", + "items": [ + { + "itemType": "AccountResource:personnelxp", + "attributes": {}, + "quantity": 800 + }, + { + "itemType": "Worker:managerexplorer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Explorer-M01" + }, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_pistol_auto_uc_ore_t01", + "attributes": { + "Alteration": { + "LootTierGroup": "AlterationTG.Ranged.UC", + "Tier": 0 + }, + "alterations": [ + "Alteration:aid_att_firerate_ranged_t01", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_ranged_headshotstreak_dmgbonus_v2" + ] + }, + "quantity": 1 + }, + { + "itemType": "Worker:managerexplorer_uc_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Explorer-M01" + }, + "quantity": 1 + }, + { + "itemType": "AccountResource:eventcurrency_snowballs", + "attributes": {}, + "quantity": 50 + } + ] + }, + "quantity": 1 + }, + "cfd02e76-21d3-4e52-8855-509560ccfcd3": { + "templateId": "Defender:did_defenderassault_basic_c_t00", + "attributes": { + "squad_id": "", + "level": 1, + "squad_slot_idx": 0, + "item_seen": true + }, + "quantity": 1 + }, + "6c623927-435e-4cae-b8c8-fa4e91dd12ea": { + "templateId": "HomebaseNode:questreward_newheroloadout4_dummy", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "76a82044-8598-4024-b9b3-3c3232abb1f6": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "team_perk": "606a5d33-ba7f-478f-918e-b281534998d3", + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "33db9e9f-efe4-463b-83f6-c9a84079d3b8" + }, + "loadout_index": 6 + }, + "quantity": 1 + }, + "9ee1ca44-569e-4859-9a8b-02db5ec55bc8": { + "templateId": "HomebaseNode:questreward_newfollower1_slot", + "attributes": {}, + "quantity": 1 + }, + "4fe42382-724d-47d6-a14c-0f06030d3ed9": { + "templateId": "AccountResource:reagent_alteration_generic", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 2991 + }, + "916f0b57-fb9e-4e4c-9b71-b665c78606a5": { + "templateId": "Quest:cannyvalley_landmark_mansion", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-26T21:07:28.723Z", + "completion_cannyvalley_landmark_mansion": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6e51625d-95e1-4351-b856-6739a9e0fe7d": { + "templateId": "HomebaseNode:questreward_buildingupgradelevel2", + "attributes": {}, + "quantity": 1 + }, + "67058590-2bcc-4341-831c-5ebc053761fa": { + "templateId": "HomebaseNode:questreward_mission_defender2", + "attributes": {}, + "quantity": 1 + }, + "f3e9c0b9-a4b2-42d8-98a0-f41b55b9bf2a": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "1d4ad99c-c7d1-4f25-a1d2-ff25dc3db5bf": { + "templateId": "BannerToken:bannertoken_stw005_starlight2", + "attributes": { + "level": 1, + "banner_id": "HomebaseBannerIcon:starlightbanner2" + }, + "quantity": 1 + }, + "e3c87d8c-22e9-4741-bff5-3956cc5aca48": { + "templateId": "Quest:wargames_visibilityquest_challenge_nobuild", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ba5120db-2f22-44f7-b650-38772f1442b0": { + "templateId": "Hero:hid_commando_008_foundersm_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "385a5023-a2f3-4e5b-a7ba-45dd6c135beb": { + "templateId": "Quest:achievement_buildstructures", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2018-08-09T22:33:07.412Z", + "completion_build_any_structure": 54980, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "86aff30c-4698-4d13-8a6d-e9582aade865": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAnalytical", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "9d642a4f-5595-47a8-9221-78fcb882c18a": { + "templateId": "HomebaseNode:startnode_commandcenter", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "8f12b443-4269-4087-a824-04ad600461e9": { + "templateId": "Quest:cannyvalleyquest_filler_4_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-05T00:37:03.268Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_whackatroll_3_diff4_v3": 1 + }, + "quantity": 1 + }, + "c812a049-5cab-46c1-9494-8d7efbbe4be0": { + "templateId": "Quest:outpostquest_t3_l9", + "attributes": { + "completion_complete_outpost_3_9": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-12-29T19:21:16.098Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3e4b764d-2516-4982-a516-a6566f913d39": { + "templateId": "Quest:challenge_eldritchabominations_18", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-23T16:54:14.401Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 90, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c731e33c-794c-473e-9d1f-8e11ada67a1f": { + "templateId": "Schematic:sid_edged_sword_neonglow_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_firerate_melee_t01", + "Alteration:aid_att_heavyattackstaminacost_t03", + "Alteration:aid_att_heavyattackstaminacost_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_onmeleehit_stackbuff_armor" + ] + }, + "quantity": 1 + }, + "61f9e2d7-e2d4-4842-af80-dfa2771d26c9": { + "templateId": "Quest:heroquest_outlanderleadership", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:36:30.981Z", + "level": -1, + "completion_unlock_skill_tree_outlander_leadership": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9bbd7cb1-1b6f-4577-80f9-4c247f503250": { + "templateId": "Quest:endurancewave30theater04", + "attributes": { + "creation_time": "2024-12-30T12:37:03.332Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-30T12:37:03.332Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "307b0a1a-c812-4646-8164-fb852e45a6a6": { + "templateId": "Token:xpboost", + "attributes": { + "level": 1 + }, + "quantity": 3726522 + }, + "0d474ac3-c070-414f-a7aa-712a91b8f12a": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "1915151a-0b62-4465-99b0-bad53320200a": { + "templateId": "Quest:phoenixquest_tutorial_theater", + "attributes": { + "creation_time": "min", + "completion_phoenixtheater_level_guardscreen": 1, + "level": -1, + "completion_phoenixtheater_level_highlight": 1, + "sent_new_notification": true, + "xp_reward_scalar": 1, + "completion_phoenixtheater_power_highlight": 1, + "quest_state": "Claimed", + "last_state_change_time": "2021-02-09T01:56:40.466Z", + "completion_phoenixtheater_inventory_guardscreen": 1, + "completion_phoenixtheater_intro_guardscreen": 1, + "completion_phoenixtheater_power_guardscreen": 1, + "quest_rarity": "uncommon" + }, + "quantity": 1 + }, + "e8f693ed-fe3d-4389-8203-0206849ad961": { + "templateId": "Quest:cannyvalley_reactive_coaches", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T16:00:06.381Z", + "completion_cannyvalley_reactive_coaches": 7, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "10def7ff-8ba0-4f9b-8355-fd46b8cae60b": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 20, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "706211f1-405f-415a-8ebb-e1c42b1d51e2": { + "templateId": "Quest:outpostquest_t3_l6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-03T20:57:33.996Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_outpost_3_6": 1 + }, + "quantity": 1 + }, + "b5d43f97-a3d8-4e9f-bb23-cc5b764e7e2c": { + "templateId": "Quest:stonewoodquest_retrievedata_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T20:49:40.715Z", + "level": -1, + "item_seen": true, + "completion_complete_retrievedata_1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4d43e7e2-0b46-4c61-b698-e51ad99493de": { + "templateId": "HomebaseNode:questreward_expedition_truck2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "073636b1-637e-4edf-8245-4a26fb577136": { + "templateId": "Quest:plankertonquest_mechanical_refuelintro", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.857Z", + "completion_plankertonquest_mechanical_refuelintro": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fb8c88e6-6550-440b-8521-293b041e04bf": { + "templateId": "Quest:stw_stormkinghard_weekly_002", + "attributes": { + "creation_time": "2025-01-02T20:30:31.529Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.529Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "weeklystormkinghardroll_01" + }, + "quantity": 1 + }, + "14f1d8e0-36cd-4f2f-9eab-698ff75d9359": { + "templateId": "Schematic:sid_piercing_spear_scavenger_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_att_lifeleech_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critchance_t03", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_onmeleehit_stackbuff_damage" + ] + }, + "quantity": 1 + }, + "923b794c-c676-45aa-8666-bc30dc2cdf24": { + "templateId": "Quest:challenge_missionaccomplished_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T07:19:47.166Z", + "level": -1, + "completion_complete_primary": 5, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1690fbfe-61ca-4d4b-be59-8c887a95f18d": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd6", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "54c63741-14ec-42db-912f-6fa58af7f9a8": { + "templateId": "Quest:wargame_quest_firstopen", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T19:48:29.601Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_wargame_firstopen": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0d557462-fad6-461f-995e-3d6e71fb169e": { + "templateId": "HomebaseNode:questreward_newfollower3_slot", + "attributes": {}, + "quantity": 1 + }, + "f95d166c-f5e8-4442-9002-9607ba0ec617": { + "templateId": "Quest:wargames_visibilityquest_challenge_surprise", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2ad382ef-47a2-4558-8dc5-e94026030dda": { + "templateId": "HomebaseNode:questreward_evolution2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "6139e9b0-33d0-4728-810c-cf44dc1772c6": { + "templateId": "Schematic:sid_assault_auto_halloween_sr_ore_t05", + "attributes": { + "level": 50, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_physical_t05", + "Alteration:aid_att_critdamage_t05", + "Alteration:aid_conditional_afflicted_dmgbonus_t05", + "Alteration:aid_att_critdamage_t05", + "Alteration:aid_att_damage_t05", + "Alteration:aid_g_affliction_v2" + ], + "alteration_base_rarities": [ + "uncommon", + "common", + "uncommon", + "uncommon", + "rare", + "common" + ], + "favorite": true + }, + "quantity": 1 + }, + "dfd2a5a9-44ed-4cd3-94ff-e80ffae05dc3": { + "templateId": "Quest:twinepeaksquest_filler_2_d1", + "attributes": { + "completion_complete_gate_4_diff1": 3, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-05T05:08:22.881Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cbd85b3e-a9fe-42a4-8ebc-887c9c42188f": { + "templateId": "HomebaseNode:skilltree_adrenalinerush", + "attributes": {}, + "quantity": 6 + }, + "d762160f-0adb-43fe-a393-0e0a419a3cfc": { + "templateId": "Quest:challenge_holdthedoor_16", + "attributes": { + "creation_time": "2024-03-29T05:40:33.653Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-31T21:36:54.190Z", + "completion_complete_outpost": 9, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7eba7bd5-f8b7-48f8-a990-1f8571c58dd5": { + "templateId": "Quest:plankertonquest_launchrocket_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T04:15:07.842Z", + "level": -1, + "sent_new_notification": true, + "completion_complete_launchrocket_2": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d81d17ff-857f-4ac1-9221-ef7e3622d5c0": { + "templateId": "Hero:hid_outlander_026_bunnyoutlander_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "9560f074-09e3-462d-a368-590245c7def1": { + "templateId": "Quest:stonewoodquest_reactive_joelkarolina_gatherportraits", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-30T01:47:00.421Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_stonewoodquest_reactive_joelkarolina_gatherportraits": 10, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "725aa069-d9f5-48ae-9e49-9fe7fbe71bc0": { + "templateId": "Quest:cannyvalley_reactive_bases", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T05:33:41.477Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_bases": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "27cf82de-a3d5-4759-a8ca-652b975e4858": { + "templateId": "Worker:workerbasic_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 20, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "35747289-83b3-40c2-8260-3656694eb650": { + "templateId": "Quest:challenge_eldritchabominations_20", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-07T15:35:17.242Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 100, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7b22adaf-1ffe-4e10-9718-84ef7e77fed2": { + "templateId": "Quest:stwstarterbundle18_getrewards", + "attributes": { + "creation_time": "2024-03-26T20:57:31.060Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-26T20:57:48.413Z", + "level": -1, + "completion_stwstarterbundle18_getrewards_obj0": 1, + "quest_rarity": "legendary", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "55265a0f-bed3-4947-915b-028c7749b269": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 30, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "96da96d9-b5c7-40f8-b01b-15970e8640ce": { + "templateId": "Quest:cannyvalley_reactive_junkfood", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-10T21:32:26.384Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_junkfood": 15, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9d62f2e6-5dfd-485c-a276-05eb6e227d8f": { + "templateId": "Quest:plankertonquest_filler_5_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T19:19:25.667Z", + "level": -1, + "item_seen": true, + "completion_complete_medbot_2_diff2": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a297ec2f-0c73-47b9-8480-1416e65551dc": { + "templateId": "Quest:cannyvalley_landmark_memorial", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T07:05:58.123Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_landmark_memorial": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5f537db3-892c-4615-a04e-61bd821dc833": { + "templateId": "Quest:reactivequest_gatherfood", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-08T19:52:04.236Z", + "completion_quest_reactive_gatherfood": 8, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f9b63aef-ae43-4377-9048-aac43187afb9": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "aeb89fd6-97c2-4475-84f7-0478c1f8892d": { + "templateId": "AccountResource:reagent_people", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 97254 + }, + "a4e9008b-1a42-4356-89bc-2cd0a3304c93": { + "templateId": "Quest:challenge_eldritchabominations_15", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-30T01:55:10.494Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 75, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "83cf5a12-997f-44f5-9187-213442870f2b": { + "templateId": "HomebaseNode:questreward_feature_defenderlevelup", + "attributes": {}, + "quantity": 1 + }, + "a0cef3ed-c72c-41a1-806c-a3663554b6a2": { + "templateId": "Schematic:sid_pistol_vacuumtube_auto_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_nature_intrin_t02", + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_slowed_dmgbonus_t03", + "Alteration:aid_g_ranged_headshot_explodeondeath_v2" + ] + }, + "quantity": 1 + }, + "3aa41f41-2195-42ce-8ac6-a33e2fd0a565": { + "templateId": "Token:worldinventorybonus", + "attributes": { + "level": 1 + }, + "quantity": 30 + }, + "099a815c-39c9-4a6d-821f-e9223894be6d": { + "templateId": "Quest:challenge_holdthedoor_11", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-04T23:47:24.632Z", + "completion_complete_outpost": 7, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a4d4c17c-912a-4bbb-830c-9f030605d279": { + "templateId": "Worker:worker_halloween_husky_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Husky", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "497d1967-b004-413a-ba35-017a3605c8e1": { + "templateId": "Worker:workerbasic_uc_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsDependable", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "d80533ee-3061-46a1-8420-6a1a316bcd76": { + "templateId": "Quest:outpostquest_t2_l1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T05:00:25.035Z", + "level": -1, + "item_seen": true, + "completion_custom_plankdeployoutpost": 1, + "completion_complete_outpost_2_1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b404e32b-d528-42d5-b3f9-f61ca391e9d6": { + "templateId": "Quest:stonewoodquest_fetch_triangulatingpop", + "attributes": { + "completion_stonewoodquest_fetch_triangulatingpop": 5, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.847Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5d60be01-3242-47b0-9fb9-a621e3af16de": { + "templateId": "Worker:workerbasic_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 10, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "2609df12-9b65-45b6-b394-3e66522bb6e3": { + "templateId": "Quest:stonewoodquest_gathercollect_armoryupgrade", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.846Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_stonewoodquest_gathercollect_armoryupgrade": 7, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0d8c339d-aacb-411d-af6b-0bb5a014bb3e": { + "templateId": "TeamPerk:tpid_blakebeardsstash", + "attributes": {}, + "quantity": 1 + }, + "155f8ff9-694c-4901-85c7-441e372e34d8": { + "templateId": "Quest:cannyvalleyquest_side_3_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-17T19:16:40.371Z", + "completion_complete_delivergoods_3_diff3": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "43daf40b-d235-4760-908e-adf40032729c": { + "templateId": "Quest:plankertonquest_filler_2_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-08T18:00:36.212Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_kill_husk_2_diff4_v2": 500, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "81e9bd35-24bf-4a99-947c-3a560836ce49": { + "templateId": "Quest:challenge_toxictreasures_14", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-28T17:49:36.379Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 8, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "36071087-17bb-46f0-b1db-118a0a8f6591": { + "templateId": "Quest:cannyvalleyquest_launchtherocket", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-05T00:37:08.229Z", + "selection": -1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_questcomplete_cannyvalleyquest_launchrocket_d5": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "adeb8169-0c3d-4820-80a7-4152df719826": { + "templateId": "Expedition:expedition_resourcerun_stone_medium", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.769Z", + "level": 1, + "expedition_max_target_power": 105, + "expedition_min_target_power": 5, + "expedition_slot_id": "expedition.generation.land.t01_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.769Z" + }, + "quantity": 1 + }, + "90aaeaa6-5013-4d6c-abf3-45f47a7fc755": { + "templateId": "TeamPerk:tpid_onetwopunch", + "attributes": {}, + "quantity": 1 + }, + "4dab08c3-dc14-43cc-965e-48af01ab0041": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "06e62186-1471-4968-a0f5-de789425227d": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "01bfaee2-3840-4523-8821-cdbdd160a523" + }, + "loadout_index": 0 + }, + "quantity": 1 + }, + "6575adfc-67fa-4489-bc64-58e3debd53b4": { + "templateId": "Quest:challenge_eldritchabominations_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T03:01:53.226Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4706989a-9e77-4624-9d19-4ae6a03adfed": { + "templateId": "Schematic:sid_edged_axe_light_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_firerate_melee_t03", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "52e35185-8179-4596-94bd-f1be24b85c8c": { + "templateId": "Quest:challenge_holdthedoor_7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T19:07:29.198Z", + "completion_complete_outpost": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0a3f43e5-c889-4583-8460-8be6c3c6f45f": { + "templateId": "Quest:plankertonquest_reactive_speakers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T16:35:06.541Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_plankertonquest_reactive_speakers": 7, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f0dac00e-8728-4e0c-abbe-eca343667938": { + "templateId": "Quest:outpostquest_t2_l7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-04T21:41:26.192Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_outpost_2_7": 1 + }, + "quantity": 1 + }, + "6f98b498-e0d4-4706-b92f-9875ce8c36a7": { + "templateId": "Quest:outpostquest_t3_l7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-29T19:58:26.884Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_3_7": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "07fe3732-0382-442e-9046-e86bc20136fd": { + "templateId": "Quest:plankertonquest_filler_6_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-01T04:59:00.919Z", + "completion_quick_complete_pve02": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "58b2fb9b-e280-4c87-be29-46269d6d218d": { + "templateId": "Worker:worker_halloween_lobber_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Lobber", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "70154143-755d-414d-a125-deb6c6603a94": { + "templateId": "HomebaseNode:questreward_expedition_speedboat4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "19eb7ab6-ddb1-40ca-a327-7431b3c35d89": { + "templateId": "Quest:s11_holdfastquest_seasonelite_group", + "attributes": { + "creation_time": "2024-12-16T20:05:04.718Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.718Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "83e5ff5c-4dc2-42c6-a491-cfdc9413d377": { + "templateId": "Quest:s11_holdfastquest_season_survive_15", + "attributes": { + "creation_time": "2024-12-16T20:05:04.716Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-27T16:51:14.496Z", + "completion_s11_holdfastquest_season_survive_15": 1, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "62b40a26-d9f0-4c96-a339-61d7c1c6c82d": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: 32.10 Beta Storm Mission Alert", + "conditions": { + "event": { + "instanceId": "77gbgiprdnq094hk9i5pkjn9p9[0]0", + "eventName": "CalendarEvent_BetaStorm_RepeatableQuest", + "eventStart": "2024-09-18T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:genericquest_completebetastorms_repeatable", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:genericquest_completebetastorms_repeatable", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "7c0fd20a-c1bd-4d43-a30d-216e193857d2": { + "templateId": "Quest:achievement_savesurvivors", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2018-08-09T22:33:07.412Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 1507, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "dadcd873-a0ae-470c-ad00-64192b1aa519": { + "templateId": "Quest:challenge_toxictreasures_10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T06:29:08.317Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 6, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "32735911-bdee-4b45-a5d8-c907a04da9eb": { + "templateId": "Quest:challenge_missionaccomplished_16", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-23T02:04:44.149Z", + "level": -1, + "completion_complete_primary": 10, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a3955dc1-8d69-45f1-a52d-74465dc5defd": { + "templateId": "Quest:cannyvalley_reactive_tinfoil", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-06T02:41:38.940Z", + "selection": 3, + "level": -1, + "completion_cannyvalley_reactive_tinfoil": 7, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "27a89c11-f851-438c-8217-eef9c2a2ecc2": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "437336f2-09df-4365-9681-683458041a9c": { + "templateId": "Quest:cannyvalleyquest_outpost_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T02:22:58.656Z", + "level": -1, + "item_seen": true, + "completion_questcomplete_outpostquest_t3_l2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6ba75fd9-f3ff-4a66-bafa-fe53238eb7cc": { + "templateId": "HomebaseNode:questreward_newheroloadout3_dummy", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "3afa9414-9035-40ad-9ab7-3e54a55ef520": { + "templateId": "Quest:stonewoodquest_side_1_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T03:01:45.547Z", + "completion_complete_whackatroll_1_diff3": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2e9dbc94-fee0-4dad-97f0-7cadfd4a272d": { + "templateId": "Schematic:sid_blunt_heavy_flintlock_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damageresistance_t01", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_onmeleehit_stackbuff_critrate" + ] + }, + "quantity": 1 + }, + "948bd2c2-575b-4007-a9c6-3064bc912331": { + "templateId": "AccountResource:reagent_traps", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 31011 + }, + "b8547b87-ec5e-4433-8985-1be667630339": { + "templateId": "Quest:cannyvalley_reactive_musichalls", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-20T05:19:01.566Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_musichalls": 5, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7ebe6ed0-673d-41cc-a686-6a3a30b281de": { + "templateId": "Expedition:expedition_traprun_air_medium_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.758Z", + "expedition_criteria": [ + "RequiresEpicNinja" + ], + "level": 1, + "expedition_max_target_power": 575, + "expedition_min_target_power": 28, + "expedition_slot_id": "expedition.generation.air.t04_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.758Z" + }, + "quantity": 1 + }, + "4bf8a292-95c8-46e4-b3a5-01fa9bfc525f": { + "templateId": "Quest:reactivequest_flingers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-31T04:00:50.157Z", + "completion_quest_reactive_flingers": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f921d1b4-158c-4a7a-a2ec-1b6bcb402332": { + "templateId": "Worker:managergadgeteer_sr_zapps_t05", + "attributes": { + "squad_id": "squad_attribute_scavenging_gadgeteers", + "personality": "Homebase.Worker.Personality.IsCurious", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsGadgeteer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Gadgeteer-zapps", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "d5c437b3-a328-4e4b-b843-0b86f0d79b24": { + "templateId": "Quest:achievement_destroygnomes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T20:47:09.390Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_destroy_gnome": 100, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6e97bd94-79b3-40de-ad86-65798a157fb8": { + "templateId": "Quest:outpostquest_t2_l6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T02:10:02.874Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_2_6": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5253e13b-d56f-46cc-9103-9a75fb2396b0": { + "templateId": "Schematic:ingredient_blastpowder", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "8e21f04d-babc-49e1-a847-2a1fc1521fc9": { + "templateId": "Quest:twinepeaksquest_filler_1_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-26T04:21:05.234Z", + "level": -1, + "item_seen": true, + "completion_complete_gate_double_4_diff1": 2, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "07b43bad-75be-441a-8753-c61e7004d6fd": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "4e099f6a-66bb-4741-8897-53e6b06a833c": { + "templateId": "Expedition:expedition_choppingwood_t00", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.763Z", + "level": 1, + "expedition_max_target_power": 15, + "expedition_min_target_power": 1, + "expedition_slot_id": "expedition.generation.miningore", + "expedition_expiration_start_time": "2025-01-02T20:30:29.763Z" + }, + "quantity": 1 + }, + "2617ca19-904d-4049-9528-f7b45af0d7c6": { + "templateId": "HomebaseNode:questreward_evolution3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "a32c1b83-a08e-423a-b90e-8ddfd722eff1": { + "templateId": "Quest:endurancewave30theater01", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-19T02:41:39.183Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7a6d7000-6003-4f1e-b606-c98821427ac6": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "07c30f8e-8c3d-42db-99f5-894a3eb7d9e4": { + "templateId": "Quest:cannyvalleyquest_filler_4_d3", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-16T21:00:10.089Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ddad77a7-bc4b-4b4a-a430-7118a7c5eb50": { + "templateId": "Schematic:sid_pistol_autoheavy_founders_r_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_firerate_ranged_t01", + "Alteration:aid_att_stability_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onreload_damagebuff" + ] + }, + "quantity": 1 + }, + "3c83ec1a-efaf-45f3-ad30-4898cda99d42": { + "templateId": "Quest:plankertonquest_filler_3_d4", + "attributes": { + "creation_time": "min", + "level": -1, + "item_seen": true, + "completion_custom_pylonused_stamina": 1, + "sent_new_notification": true, + "xp_reward_scalar": 1, + "quest_state": "Claimed", + "last_state_change_time": "2018-10-08T20:17:35.361Z", + "completion_custom_pylonused_health": 1, + "completion_custom_pylonused_shield": 1, + "completion_custom_pylonused_movement": 1, + "completion_custom_pylonused_build": 1, + "quest_rarity": "uncommon" + }, + "quantity": 1 + }, + "ee7228f7-8c6a-4a1e-a612-ecaef2948d9d": { + "templateId": "Quest:foundersquest_getrewards_3_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-26T06:58:15.501Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2e14503a-85ed-431e-886d-f3acfc0f4dbf": { + "templateId": "Quest:challenge_leavenoonebehind_13", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T22:24:06.770Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 85, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "282edd11-2635-4f9c-8f6e-28a87c227424": { + "templateId": "Quest:teamperkquest_roundtrip", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-06T17:30:13.086Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "df2fb610-0a01-4366-9592-d85f8a7d4e61": { + "templateId": "HomebaseNode:skilltree_buildinghealth", + "attributes": {}, + "quantity": 7 + }, + "1ca48ad5-d4bb-4153-b936-833e4c67fad2": { + "templateId": "Quest:plankertonquest_filler_5_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T19:48:17.668Z", + "completion_complete_launchballoon_2_diff5": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b10cb1b0-baf4-4bc8-904e-8715766afd96": { + "templateId": "Quest:wargames_visibilityquest_wargame_saucer", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-06T16:10:23.219Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "004c73ee-8fc7-434a-863a-fe0df643656c": { + "templateId": "Quest:cannyvalley_reactive_servers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T19:59:45.243Z", + "selection": 0, + "completion_cannyvalley_reactive_servers": 6, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "26805779-1098-4e37-8320-bf5009335e30": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "c8d1a220-c1a0-4d4d-a22a-167ea1a9dcba": { + "templateId": "Quest:tutorial_loadout_gadgets", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:27:49.933Z", + "completion_heroloadout_gadgets_guardscreen1": 1, + "level": -1, + "completion_heroloadout_gadgets_intro": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "702d4eac-8d22-44e9-ace2-cc754a6fd2db": { + "templateId": "Token:quests_stwstarterbundle18", + "attributes": { + "level": 1 + }, + "quantity": 1 + }, + "9797e777-253f-4d4f-b402-3f44b219f859": { + "templateId": "Schematic:sid_edged_sword_medium_laser_founders_r_ore_t01", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t02", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_maxdurability_t01", + "Alteration:aid_g_weapon_onhit_energynova" + ] + }, + "quantity": 1 + }, + "c1afe675-b3cb-444c-a50e-bc2900881ab8": { + "templateId": "Quest:cannyvalley_reactive_periscopes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T04:09:13.138Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_periscopes": 10, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3ece183f-885e-44db-949c-fb4cddfcb979": { + "templateId": "Quest:stonewoodquest_tutorial_expeditions", + "attributes": { + "completion_expeditions_tabcallout": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.868Z", + "completion_expeditions_guard_heroes": 1, + "level": -1, + "completion_expeditions_intro": 1, + "completion_expeditions_guard_command": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_expeditions_highlight_command": 1 + }, + "quantity": 1 + }, + "626e8016-d2d7-4613-8ccf-8d346c613b3c": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "b2537c78-dd6d-472b-9eb8-b006158ea338": { + "templateId": "Quest:cannyvalleyquest_filler_1_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-05T05:43:23.719Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_delivergoods_3_diff5": 2 + }, + "quantity": 1 + }, + "efa8149e-9b18-4aa4-8c14-49bb27c40c25": { + "templateId": "Quest:plankertonquest_autumnfoothills_locate", + "attributes": { + "creation_time": "2024-04-05T05:08:16.313Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-10T03:58:42.325Z", + "level": -1, + "completion_plankertonquest_autumnfoothills_locate": 9, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4d03c423-db33-40b9-8523-ac8ed0090b88": { + "templateId": "Quest:s11_holdfastquest_season_survive_30", + "attributes": { + "creation_time": "2024-12-16T20:05:04.716Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-27T16:51:14.537Z", + "level": -1, + "item_seen": true, + "completion_s11_holdfastquest_season_survive_30": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e31c10a9-49c9-47f3-aeaf-47e27fac3138": { + "templateId": "Hero:hid_ninja_021_sr_t03", + "attributes": { + "outfitvariants": [], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 30, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "76bf92dc-c223-4746-b1de-5ec9d17e0809": { + "templateId": "AccountResource:reagent_evolverarity_r", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 615 + }, + "fc254670-86b2-4eac-82d0-7669cf65e928": { + "templateId": "Quest:wargames_visibilityquest_wargame_tiki", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-22T14:38:10.647Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "eda81f6c-c6ec-40f4-9fb7-3acff34319df": { + "templateId": "Quest:outpostquest_t2_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T16:40:21.410Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_2_2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d9f31e70-ed3a-491a-8b37-def0c7d953cc": { + "templateId": "Schematic:sid_blunt_scavenger_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_damageresistance_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "edf69573-f27d-4fed-a423-e09668805c7d": { + "templateId": "Quest:wargames_visibilityquest_wargame_pods", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f48f1f2c-010b-4335-91cb-6b6a4840bf35": { + "templateId": "Quest:challenge_leavenoonebehind_11", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T17:27:10.697Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 75, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c7ab9992-95e8-4384-bea2-50725cd44e5e": { + "templateId": "Quest:cannyvalley_reactive_cannons", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-19T04:46:56.168Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_cannons": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "74121b43-be50-4a2e-a918-55c2d8cc4fc1": { + "templateId": "Stat:offense_team", + "attributes": { + "level": 1 + }, + "quantity": 224 + }, + "8648402f-4b01-4937-8f4c-973d88f00b70": { + "templateId": "Quota:restxp", + "attributes": { + "max_quota": 4320956, + "level": 1, + "units_per_minute_recharge": 3601, + "recharge_delay_minutes": 360, + "last_mod_time": "2024-12-29T23:03:37.839Z", + "current_value": 0.0 + }, + "quantity": 1 + }, + "d256fc5b-c644-4b78-815b-ba6aaec24b11": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "1", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "83020b22-970d-4519-a474-29f992fbeb95": { + "templateId": "Quest:challenge_missionaccomplished_7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T07:26:21.799Z", + "level": -1, + "completion_complete_primary": 6, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e2da84ab-2526-4389-9120-a87b5150fb72": { + "templateId": "Quest:outpostquest_t3_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T17:35:53.544Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_3_3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "12537b3e-1ad7-4c8a-8c8e-dc30389cc99c": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "ee0bfe74-1360-4e70-ab48-c9532105b9cf": { + "templateId": "Quest:challenge_upgradealteration", + "attributes": { + "completion_alteration_upgrade": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T17:00:49.426Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2bd40328-7c52-40c5-860a-fe520e9808c6": { + "templateId": "Quest:cannyvalley_reactive_tubs", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-18T17:07:50.765Z", + "completion_cannyvalley_reactive_tubs": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "844363c8-5706-4d7e-866f-a844f3c15dca": { + "templateId": "Schematic:sid_assault_dragon_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t01", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_stability_t02", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_ranged_headshot_explodeondeath_v2" + ] + }, + "quantity": 1 + }, + "3c5616d5-3dc9-4e9b-a567-9d3fa1053509": { + "templateId": "AccountResource:schematicxp", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 3983649 + }, + "c2556b71-f450-4091-ab0e-cb6e98bf0c38": { + "templateId": "Quest:heroquest_loadout_constructor_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T19:28:07.736Z", + "level": -1, + "item_seen": true, + "completion_complete_pve01_diff24_loadout_constructor": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b2b64e81-7da8-4c73-ba6c-58549022407b": { + "templateId": "TeamPerk:tpid_longarmofthelaw", + "attributes": {}, + "quantity": 1 + }, + "a2180e61-dab7-4783-9a25-8ae228452f04": { + "templateId": "HomebaseNode:questreward_pickaxe", + "attributes": {}, + "quantity": 1 + }, + "a77d6664-f10c-48cd-a751-eb49d9c8bb90": { + "templateId": "Schematic:ammo_explosive", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "70c04b8d-567e-4cb6-8463-b645d77e5b5c": { + "templateId": "Quest:wargames_visibilityquest_challenge_headgames", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "95478aaa-36df-458d-bb59-8012601b32a3": { + "templateId": "HomebaseNode:skilltree_pickaxe", + "attributes": {}, + "quantity": 7 + }, + "0318f9b4-f784-449c-98e3-74d675b0c36a": { + "templateId": "Quest:winter_seasonal_destroy_01", + "attributes": { + "creation_time": "2024-12-16T20:05:04.723Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.723Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "910f8fa6-d4f2-4916-a661-b83811e067b4": { + "templateId": "Quest:plankertonquest_filler_1_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-21T15:56:10.328Z", + "completion_complete_gate_double_2": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "284cfed5-4759-401b-a762-c2207a74dd0f": { + "templateId": "Quest:challenge_missionaccomplished_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T20:32:36.790Z", + "level": -1, + "completion_complete_primary": 4, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bc5a2525-0e0c-445d-bce3-99bf5e342975": { + "templateId": "HomebaseNode:skilltree_buildandrepairspeed", + "attributes": {}, + "quantity": 7 + }, + "b4030a41-ecfc-4d64-b91b-b3c3703af68a": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "036e4d7c-3a61-4d8d-95e1-042da1a354f8": { + "templateId": "Quest:plankertonquest_outpost_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.861Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t2_l4": 1 + }, + "quantity": 1 + }, + "1108983c-7222-48bd-b88b-9e8acb81179b": { + "templateId": "Quest:cannyvalleyquest_side_1_d5", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-08-05T00:37:13.682Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ae157a7f-0019-4701-bee7-9c0836251d5e": { + "templateId": "Quest:stonewoodquest_joelkarolina_killmistmonsters", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T05:33:46.599Z", + "completion_stonewoodquest_joelkarolina_killmistmonsters": 100, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8d042133-7c8d-4087-a326-fea56ae71203": { + "templateId": "Quest:heroquest_ninja_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T03:53:08.187Z", + "completion_unlock_skill_tree_ninja_leadership": 1, + "level": -1, + "item_seen": true, + "completion_kill_husk_melee": 20, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2e3c3f5d-1b99-4936-8dbc-48ff079efd75": { + "templateId": "Hero:hid_ninja_016_f_v1_sr_t03", + "attributes": { + "outfitvariants": [], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 30, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "8c425dc7-459f-44b7-ac76-31171a5c7b36": { + "templateId": "Quest:challenge_leavenoonebehind_20", + "attributes": { + "creation_time": "2024-05-11T02:10:41.112Z", + "quest_state": "Active", + "last_state_change_time": "2024-05-11T02:10:41.112Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 117, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5702170e-17c9-473d-9eac-9ace0e21f5ca": { + "templateId": "Quest:challenge_eldritchabominations_13", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T16:28:26.544Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 65, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cb48bff7-66d6-4f7b-9dc1-12fc8b0d1e7f": { + "templateId": "Quest:winter_seasonal_mission_01", + "attributes": { + "creation_time": "2024-12-16T20:05:04.724Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.724Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6ab7212f-e8f3-4bf2-a34c-437a326e8802": { + "templateId": "Quest:cannyvalleyquest_outpost_l5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-22T21:47:41.681Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcomplete_outpostquest_t3_l5": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "674656b3-57ef-48b6-9bfc-6b4c33698f06": { + "templateId": "Quest:cannyvalley_reactive_mandelaeffect", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T00:01:33.989Z", + "completion_cannyvalley_reactive_mandelaeffect": 9, + "selection": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "09987e00-2500-45ec-b8bc-da26b00a61a0": { + "templateId": "Defender:did_defenderpistol_basic_f_sr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_critchance_ranged", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_firerate", + "Alteration:aid_att_def_maxhealth" + ] + }, + "quantity": 1 + }, + "9ecf989f-1346-498d-998b-2efac5cf66b7": { + "templateId": "Schematic:sid_assault_neonglow_lmg_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t02", + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_att_stability_t02", + "Alteration:aid_att_firerate_ranged_t03", + "Alteration:aid_g_weapon_hitstreak_aoe_dmg_v2" + ] + }, + "quantity": 1 + }, + "a49fc41e-fb29-4a18-b5d6-7a3f08f4dda1": { + "templateId": "Quest:heroquest_outlander_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T01:00:57.737Z", + "level": -1, + "item_seen": true, + "completion_complete_exploration_1_diff2": 1, + "completion_unlock_skill_tree_outlander_leadership": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "59df3c50-0bc7-461e-8261-be9221425ea9": { + "templateId": "HomebaseNode:questreward_evolution4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "ff769d4d-f572-49f5-a817-24404aeed79f": { + "templateId": "Quest:wargames_visibilityquest_challenge_explode", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d7b0347f-c5d1-4bb4-9c35-4ef0acf42508": { + "templateId": "Quest:endurancedaily_t02_w30", + "attributes": { + "creation_time": "2024-12-29T13:20:28.534Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.534Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "fb761e21-8658-47d2-b50c-95835c543ee1": { + "templateId": "Quest:outpostquest_t1_l1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:48:29.660Z", + "level": -1, + "completion_custom_supplydropreceived": 1, + "completion_complete_outpost_1_1": 1, + "item_seen": true, + "sent_new_notification": true, + "completion_custom_deployoutpost": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8edacd65-277c-4340-ba9e-091d8c96befd": { + "templateId": "Stat:fortitude", + "attributes": { + "level": 1 + }, + "quantity": 504 + }, + "791b6b55-9a0c-4a82-8cdc-a32005748460": { + "templateId": "Quest:stonewoodquest_tutorial_research", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.865Z", + "level": -1, + "sent_new_notification": true, + "completion_research_highlight": 1, + "quest_rarity": "uncommon", + "completion_research_tabcallout": 1, + "completion_research_guard_command": 1, + "completion_research_intro": 1, + "xp_reward_scalar": 1, + "completion_research_guard_research": 1 + }, + "quantity": 1 + }, + "2283fadb-2309-4b83-b713-5564bb89ba27": { + "templateId": "Quest:plankertonquest_filler_5_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-23T01:44:59.040Z", + "completion_complete_exploration_2": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f9b12e2a-023d-4b90-8f4b-d11d2f01f484": { + "templateId": "HomebaseNode:questreward_expedition_dirtbike3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "2ecc3466-1b5a-47e7-85a2-18e9322e91df": { + "templateId": "Quest:outpostquest_t1_l8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-21T05:37:09.818Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_outpost_1_8": 1 + }, + "quantity": 1 + }, + "2a0b1a80-ccdd-4b8c-9343-cc498a7b101a": { + "templateId": "Quest:challenge_leavenoonebehind_16", + "attributes": { + "creation_time": "2024-03-25T16:51:26.813Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-29T05:24:54.717Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 100, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "742b6c8b-ac94-479f-afa1-5432ef0a54a6": { + "templateId": "Quest:challenge_eldritchabominations_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T02:16:12.855Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 15, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6f73f149-9d76-4fe8-a3a6-cea7fc3c3f5f": { + "templateId": "AccountResource:reagent_alteration_ele_nature", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 13000 + }, + "26f75fd9-2069-424e-97c5-6a851db54eeb": { + "templateId": "Quest:plankertonquest_autumnfoothills_eliminate", + "attributes": { + "creation_time": "2024-03-25T18:08:05.729Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-05T05:08:16.313Z", + "completion_plankertonquest_autumnfoothills_eliminate": 10, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e5215b8c-d1bd-4e68-b71f-778f4de9f4aa": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "ef2d064a-4dd9-4015-b812-1548dde58723": { + "templateId": "Schematic:sid_shotgun_tactical_founders_r_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_g_weapon_onreload_damagestack" + ] + }, + "quantity": 1 + }, + "4279bdd5-35a7-4e5c-a18c-4e23fec56c11": { + "templateId": "TeamPerk:tpid_holidaycheer", + "attributes": {}, + "quantity": 1 + }, + "c286773c-5612-4162-bb90-c0d474b6a4f3": { + "templateId": "Quest:challenge_missionaccomplished_18", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-26T18:16:12.419Z", + "level": -1, + "completion_complete_primary": 11, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6cdc2e58-10f2-462f-9cd8-d309a0c7ac72": { + "templateId": "Quest:plankertonquest_landmark_plankharbor", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T16:50:41.368Z", + "level": -1, + "item_seen": true, + "completion_plankertonquest_landmark_plankharbor": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3778292f-d1da-48da-ae1d-0c2967ce0a76": { + "templateId": "Quest:challenge_leavenoonebehind_15", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-03-25T16:51:26.808Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 95, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "851b968c-0cb2-4ed0-9ad1-3c348a9aae46": { + "templateId": "HomebaseNode:questreward_newfollower2_slot", + "attributes": {}, + "quantity": 1 + }, + "2cdd2c5d-3f5a-402a-8cbb-e74c522b1fda": { + "templateId": "Quest:cannyvalleyquest_outpost_l6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-03T20:57:38.923Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcomplete_outpostquest_t3_l6": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5c71e0f0-ec39-4d44-9494-742a8aba7b81": { + "templateId": "Quest:s11_holdfastquest_soup_30", + "attributes": { + "creation_time": "2025-01-02T20:30:31.504Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.504Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "030d2565-2bde-489d-bd1b-3807eff715d6": { + "templateId": "Quest:plankertonquest_filler_4_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-28T04:46:00.602Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_destroyencamp_2_diff2": 2, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cdb99dd9-fcbb-4e25-84fa-c77c90942c0c": { + "templateId": "HomebaseNode:questreward_mission_defender3", + "attributes": {}, + "quantity": 1 + }, + "ecdb7b8b-173e-4498-83a2-6b4c628d5917": { + "templateId": "Quest:stonewoodquest_side_1_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T02:36:40.375Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_quick_complete_pve01": 2, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "90f4c1e8-39dd-4bf6-bf22-b6bd348ae8a3": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 50, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "ee6dc231-e0f1-4260-9cb9-e6378f993f8d": { + "templateId": "Quest:challenge_weaponupgrade_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T09:08:10.585Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_upgrade_any_weapon": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bf1bea88-0e74-45a0-8660-c82879aabf7b": { + "templateId": "Quest:heroquest_blakebeard_blakebeardsstash", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T03:27:43.945Z", + "completion_heroquest_blakebeard_blakebeardsstash": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b0eb98db-044c-4b51-b54d-5817c1f8c3d1": { + "templateId": "Quest:cannyvalleyquest_filler_1_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-19T04:30:50.130Z", + "completion_complete_mimic_3_diff4": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0fa41ebd-d876-4316-a5ae-0a55d727ad2c": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Mission Alerts", + "conditions": { + "event": { + "instanceId": "rig5qb36g0vmrqh5u73285ifvm[0]1", + "eventName": "CalendarEvent_Persistent_EventMissionAlerts", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "67bdb30f-6f86-4627-a80a-a6979cea770a": { + "templateId": "Quest:challenge_eldritchabominations_17", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-07T15:53:40.322Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 85, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "35e1a79e-cf40-4e6b-bbb8-c87057aee43b": { + "templateId": "Worker:managerinventor_c_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsDependable", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsInventor", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Inventor-M01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "16f6cda0-bb07-4137-b3e3-37f705bc935f": { + "templateId": "Quest:cannyvalley_reactive_dinobones", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T19:25:32.241Z", + "completion_cannyvalley_reactive_dinobones": 7, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "51da1928-20dd-442e-9c09-d5a1b8f7ba5a": { + "templateId": "HomebaseNode:questreward_expedition_speedboat3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "de4dbec5-0737-406d-9c4d-2da1c328807e": { + "templateId": "Schematic:ammo_energycell", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "8d844f5d-fe6c-4bb2-a8fe-b85426b1e54b": { + "templateId": "Quest:challenge_toxictreasures_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T22:38:32.155Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 2, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e5955b79-eca6-4de6-9b0d-77b74b5fe525": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Frostnite Weekly Challenge 6", + "conditions": { + "event": { + "instanceId": "tj4n9158flfv1d09arkc56i791[0]1", + "eventName": "CalendarEvent_Holdfast_Week6", + "eventStart": "2025-01-02T00:00:00.000Z", + "eventEnd": "2025-01-09T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:s11_holdfastquest_soup_30", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_soup_elite", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_soup_deposit", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:s11_holdfastquest_soup_30", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_soup_elite", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_soup_deposit", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_soup_45", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "3193e0df-4666-47a3-884e-b9191f0ef8ea": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "10fd7c7c-66fa-4b73-a402-084e1ee47fe8": { + "templateId": "Schematic:sid_edged_sword_medium_vt_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_heavyattackstaminacost_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "7c970eed-2875-4149-9030-18cd8247f2ac": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "efcbb2fb-ad08-4bfd-a8c6-3d28c397681a": { + "templateId": "Quest:plankertonquest_fetch_searchingforlab", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.849Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_plankertonquest_fetch_searchingforlab": 7 + }, + "quantity": 1 + }, + "c5bc4590-e222-4ee7-b7cb-4f6993c3c438": { + "templateId": "Schematic:sid_edged_scythe_neonglow_vr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_conditional_slowed_dmgbonus_t03", + "Alteration:aid_g_onmeleehit_stackbuff_damage" + ] + }, + "quantity": 1 + }, + "c9bbdaa0-8413-4a4c-848e-1349d73b8c04": { + "templateId": "Quest:plankertonquest_filler_1_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T03:00:30.615Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_powerreactor_2_diff2_v2": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a87fd622-bd7c-468a-885f-7ab0ec72f018": { + "templateId": "Quest:weeklyquest_tiered_completemissionalerts_t25", + "attributes": { + "creation_time": "2025-01-02T20:30:31.528Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.528Z", + "selection": -1, + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "weeklyquestroll_23" + }, + "quantity": 1 + }, + "ef8beeb5-aff3-4437-9fe9-445b92394419": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "fc305981-a3e2-41f1-a567-ca4b62c80260": { + "templateId": "Quest:daily_mission_specialist_soldier", + "attributes": { + "creation_time": "2024-05-27T04:32:11.756Z", + "quest_state": "Active", + "last_state_change_time": "2024-05-27T04:32:11.756Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f9ba6644-543d-43e5-b7dd-7a821c5fe947": { + "templateId": "Hero:hid_commando_008_foundersf_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "0fa7704f-eb9d-4a37-a84b-be91ab4210da": { + "templateId": "Quest:plankertonquest_filler_3_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-30T02:30:44.143Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_anomaly_2_diff3_v2": 3 + }, + "quantity": 1 + }, + "1bf94ad2-00a1-412a-b53c-8a30e3c47687": { + "templateId": "Quest:teamperkquest_dangerdanger", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-01T06:10:43.306Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "99edfd11-7e85-4b31-935a-8622a8a83f22": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "bd011d5f-4537-4d5b-a302-af0af40c5f6a": { + "templateId": "Quest:challenge_herotraining_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-01T05:07:53.446Z", + "level": -1, + "item_seen": true, + "completion_upgraderarity_hero": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e6ba8951-35d1-458a-94b1-830a468ce087": { + "templateId": "HomebaseNode:questreward_feature_reperk", + "attributes": {}, + "quantity": 1 + }, + "d9e6012d-a150-4cef-9b7b-e5e2f0041edd": { + "templateId": "Quest:challenge_leavenoonebehind_18", + "attributes": { + "creation_time": "2024-04-07T01:36:38.226Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-14T01:15:16.317Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 110, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0673b85b-0aad-4482-af94-e34588ed9d47": { + "templateId": "Quest:cannyvalley_reactive_dinosaurs", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-26T16:24:18.662Z", + "level": -1, + "completion_cannyvalley_reactive_dinosaurs": 5, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "999f82e6-e638-4768-ae3d-5dee216a7fed": { + "templateId": "Quest:outpostquest_t1_endless", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-19T02:41:39.183Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d479ba4c-0ee4-4ff7-91dc-392af2c0e805": { + "templateId": "Quest:challenge_missionaccomplished_19", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T18:45:51.808Z", + "level": -1, + "completion_complete_primary": 12, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a924fd8c-057a-4b9e-9eb0-16815f462781": { + "templateId": "Quest:cannyvalley_landmark_highnoon", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:37:28.141Z", + "level": -1, + "completion_cannyvalley_landmark_highnoon": 1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4b800616-165c-4554-8138-566ef1885cf0": { + "templateId": "Worker:workerbasic_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 13, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "caf243ab-e418-40d6-aaf6-447b471f82a0": { + "templateId": "HomebaseNode:questreward_newheroloadout5_dummy", + "attributes": {}, + "quantity": 1 + }, + "128df2b1-0ecf-4196-bc9d-9c4278e1c445": { + "templateId": "Quest:challenge_replacealteration", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T16:59:35.698Z", + "level": -1, + "item_seen": true, + "completion_alteration_respec": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "300a321d-702d-4096-bb91-37ceb57a76f5": { + "templateId": "Quest:wargames_visibilityquest_challenge_notraps", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2a963e32-4560-4d75-a613-3bd5df5570dd": { + "templateId": "Schematic:sid_blunt_light_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_heavyattackstaminacost_t02", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_heavyattackstaminacost_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "222ba5d8-c29b-4ac1-8b3a-5b8c0409cd7e": { + "templateId": "Schematic:sid_pistol_pirate_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_headshotdamage_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_g_ranged_headshot_buffswordcritrating" + ] + }, + "quantity": 1 + }, + "9c4c09df-7910-43ad-b275-252db52ef54c": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: 33.10 Storm King's Domain", + "conditions": { + "event": { + "instanceId": "6g35aukg2s1q2epl9npdmusviu[0]0", + "eventName": "CalendarEvent_StormKing_Domain_Quests", + "eventStart": "2024-12-10T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:stormking_daily_landmark_bossfight", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "54f6620c-b4fa-40fd-9881-7307956cc247": { + "templateId": "Hero:hid_constructor_basehyper_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "041d13bb-bda8-4ca4-aa61-a5f339723dfd": { + "templateId": "Quest:stonewoodquest_tutorial_survivorslotting", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.868Z", + "completion_survivorslotting_tabcallout": 1, + "level": -1, + "completion_survivorslotting_highlight_command": 1, + "sent_new_notification": true, + "completion_survivorslotting_guard_survivors": 1, + "quest_rarity": "uncommon", + "completion_survivorslotting_guard_command": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6eba6c88-b740-4cb8-8d42-f1cc9a60cdf0": { + "templateId": "Worker:managergadgeteer_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsGadgeteer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Gadgeteer-M01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "8b46fff4-3d38-44d4-8b63-96ca461bddd0": { + "templateId": "Quest:cannyvalleyquest_filler_7_d4", + "attributes": { + "creation_time": "2024-04-07T01:36:34.584Z", + "quest_state": "Active", + "last_state_change_time": "2024-04-07T01:36:34.584Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9c1fa3ed-60fc-4eb8-b255-38bd6a626af0": { + "templateId": "Worker:managersoldier_sr_ramsie_t05", + "attributes": { + "squad_id": "squad_attribute_arms_fireteamalpha", + "personality": "Homebase.Worker.Personality.IsAdventurous", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsSoldier", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Soldier-ramsie", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "0103a382-884b-4ab7-893c-3a78e725e62f": { + "templateId": "Quest:challenge_eldritchabominations_14", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-28T04:06:20.486Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 70, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "944bd08e-e0a8-42ce-9557-9dbfe027dbcc": { + "templateId": "Quest:pickaxequest_stw001_tier_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:14.490Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6626561a-81d8-4975-91a3-537ad126bdc1": { + "templateId": "Quest:pickaxequest_stw007_basic", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:20.146Z", + "level": -1, + "completion_questcomplete_stonewoodquest_closegate_d1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "453d1917-c6fb-4aca-b89a-e14fedf821d4": { + "templateId": "Quest:wargames_visibilityquest_challenge_fog", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "52c396fc-1231-465a-b0cb-00991c37a16f": { + "templateId": "Schematic:sid_piercing_spear_dragon_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t01", + "Alteration:aid_att_firerate_melee_t01", + "Alteration:aid_att_heavyattackstaminacost_t03", + "Alteration:aid_att_firerate_melee_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_meleedmgvslightning" + ] + }, + "quantity": 1 + }, + "f29680e6-14b6-49dd-81b8-2116b1972cf7": { + "templateId": "Schematic:sid_blunt_hammer_heavy_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_att_lifeleech_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "8a177918-c42e-4f81-8561-d0cc34d1837f": { + "templateId": "HomebaseNode:questreward_homebase_defender5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "b4c86522-2ba9-41ca-9f12-5ce8929b93ee": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "0a3c859c-dd97-4722-99cb-36dc31c1ab86": { + "templateId": "Quest:challenge_eldritchabominations_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T05:45:41.262Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 30, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e007f5df-05c8-4af5-b581-83fa1ef1c1c9": { + "templateId": "HomebaseNode:questreward_feature_researchsystem", + "attributes": {}, + "quantity": 1 + }, + "81412f73-5281-4caa-bb98-dca76dfe8806": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Lobby", + "conditions": { + "event": { + "instanceId": "ql7erq29n8fu66il13nm30tqpn[0]1", + "eventName": "CalendarEvent_Persistent_LobbyStW_Winterfest", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "b87476a8-4c05-40c6-908a-e6e41bbe299e": { + "templateId": "Worker:workerbasic_r_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsAnalytical", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "bd34c31f-6bfc-49db-8436-f230f321177d": { + "templateId": "Schematic:sid_pistol_handcannon_semi_vt_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "a046355e-2050-4e09-b9f3-3caec93f2e1a": { + "templateId": "Expedition:expedition_air_supplyrun_medium_t02", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.762Z", + "expedition_criteria": [ + "RequiresRareCommando" + ], + "level": 1, + "expedition_max_target_power": 215, + "expedition_min_target_power": 10, + "expedition_slot_id": "expedition.generation.air.t02_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.762Z" + }, + "quantity": 1 + }, + "40bece7d-c045-44b0-b35d-33e3007b0839": { + "templateId": "Quest:reactivequest_shielders", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T06:00:31.611Z", + "level": -1, + "item_seen": true, + "completion_quest_reactive_shielders": 20, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d788badb-c40c-44ad-8720-699f2d43043f": { + "templateId": "Quest:foundersquest_outlander_weaponupgrade_vr", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-08T17:17:34.168Z", + "level": -1, + "completion_craft_founders_pistol_r": 1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "epic", + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t1_l3": 1 + }, + "quantity": 1 + }, + "3f2e13b3-e702-44b1-a386-4c6c511a09b2": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "1", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 50, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "b29e3a1b-8c07-4459-9fc7-3eaf842b3495": { + "templateId": "Token:accountinventorybonus", + "attributes": { + "level": 1 + }, + "quantity": 535 + }, + "bc602e6f-e19e-4193-8172-0d4f58593abc": { + "templateId": "TeamPerk:tpid_trickandtreat", + "attributes": {}, + "quantity": 1 + }, + "c11804c5-6f1e-4b5b-ba0b-c671ce7d008b": { + "templateId": "Quest:endurancedaily_t02_w05", + "attributes": { + "creation_time": "2024-12-29T13:20:28.532Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.532Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "9cf10993-fb15-43cc-8834-3500ba522472": { + "templateId": "Quest:tutorial_loadout_preset1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:27:54.115Z", + "completion_heroloadout_preset_highlight": 1, + "level": -1, + "completion_heroloadout_preset_guardscreen1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "81fcac3d-70c5-4342-9380-e3febae7bdb6": { + "templateId": "TeamPerk:tpid_keepout", + "attributes": {}, + "quantity": 1 + }, + "1a1bfe11-0e68-4580-90c6-8479c536fd6a": { + "templateId": "Schematic:sid_pistol_flintlock_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_ranged_headshotstreak_dmgbonus_v2" + ] + }, + "quantity": 1 + }, + "2ce1a2c7-89c0-474d-9105-fc1d7a944ae1": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "2", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "ee88ab33-dec7-4ccd-81b2-6fde20861c0e": { + "templateId": "Quest:homebasequest_slotoutpostdefender", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T20:52:03.118Z", + "completion_assign_defender": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0e073b69-7cf7-4039-adb6-2a75b598b13a": { + "templateId": "Quest:cannyvalley_reactive_demotape", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-09-25T23:13:19.073Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_demotape": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b07ba0df-3d8c-4d9d-8100-17ba30daee7c": { + "templateId": "Schematic:sid_pistol_stormking_sr_ore_t05", + "attributes": { + "level": 50, + "item_seen": true, + "alterations": [ + "Alteration:aid_g_stormkingpistolhomingprojectiles", + "Alteration:aid_att_critdamage_t04", + "Alteration:aid_att_headshotdamage_t04", + "Alteration:aid_att_damage_physical_t05", + "Alteration:aid_att_damage_t04", + "Alteration:aid_att_weaponimpact_t04" + ], + "alteration_base_rarities": [ + "common", + "common", + "uncommon", + "rare", + "uncommon", + "rare" + ], + "favorite": true + }, + "quantity": 1 + }, + "fb942960-1e1a-4f3e-a0bb-a6601a81ea58": { + "templateId": "Quest:achievement_killmistmonsters", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2018-08-09T22:33:07.412Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 9090, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e0d244d4-6351-4a0b-a063-cda0ed189784": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "1855234a-b724-4a13-9895-391c009ad068" + }, + "loadout_index": 3 + }, + "quantity": 1 + }, + "b004fdd9-025e-4ef5-b994-6addc7c58473": { + "templateId": "Schematic:sid_edged_sword_heavy_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_maxdurability_t01", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "5c6650da-5e1b-44eb-a5a2-cee5151f031d": { + "templateId": "Quest:challenge_leavenoonebehind_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-15T22:15:02.937Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 30, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1f40bff2-0a85-475a-8022-5b0249324b51": { + "templateId": "Stat:resistance", + "attributes": { + "level": 1 + }, + "quantity": 354 + }, + "78fa81a3-8d00-4037-9f7b-8a79a0868ec4": { + "templateId": "Quest:outpostquest_t3_l1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T19:07:38.761Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_3_1": 1, + "completion_custom_cannydeployoutpost": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5173e2cc-b5e3-499a-abd2-6dea7980d2d8": { + "templateId": "Quest:stonewoodquest_tutorial_levelup_weapon", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.864Z", + "level": -1, + "completion_schematicupgrade_armoryguard": 1, + "completion_schematicupgrade_tabcallout": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3fd7d93c-cb39-4b06-8865-fec481786efd": { + "templateId": "Expedition:expedition_sea_supplyrun_long_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.750Z", + "expedition_criteria": [ + "RequiresEpicCommando" + ], + "level": 1, + "expedition_max_target_power": 485, + "expedition_min_target_power": 24, + "expedition_slot_id": "expedition.generation.sea.t03_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.750Z" + }, + "quantity": 1 + }, + "e0ee949a-eaa7-4a96-9092-ea57ecb114e9": { + "templateId": "Schematic:sid_assault_lmg_drum_founders_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_stability_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_ele_water_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onfire_damagestack" + ] + }, + "quantity": 1 + }, + "2090c41c-fa13-441a-bbb1-97e837d5540e": { + "templateId": "Quest:outpostquest_t4_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-20T05:45:27.571Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_4_2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9e3d5a3f-0c81-41a0-ab89-ad09931f056a": { + "templateId": "Hero:hid_commando_021_sr_t03", + "attributes": { + "outfitvariants": [], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 30, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "6833991b-0187-4acb-969c-25302382700b": { + "templateId": "HomebaseNode:skilltree_hoverturret", + "attributes": {}, + "quantity": 5 + }, + "7cfa7ae3-4a62-4bdf-8aa0-f643770c84cc": { + "templateId": "Quest:stonewoodquest_closegate_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T00:07:57.544Z", + "level": -1, + "item_seen": true, + "completion_complete_gate_1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cfae5ec3-8c12-4c16-a6ad-47a632b64a00": { + "templateId": "Stat:fortitude_team", + "attributes": { + "level": 1 + }, + "quantity": 224 + }, + "1a79f739-b1e4-40bc-9bce-de35f0f4a9c4": { + "templateId": "Expedition:expedition_supplyrun_short_t01", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.766Z", + "expedition_criteria": [ + "RequiresConstructor" + ], + "level": 1, + "expedition_max_target_power": 80, + "expedition_min_target_power": 4, + "expedition_slot_id": "expedition.generation.land.t01_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.766Z" + }, + "quantity": 1 + }, + "d2c84468-4c52-4ebf-b2ae-22932f4d6931": { + "templateId": "Quest:stormking_daily_landmark_bossfight", + "attributes": { + "creation_time": "2025-01-02T20:30:31.525Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.525Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "stormkingdailyquest_01" + }, + "quantity": 1 + }, + "af7c674c-8279-4aea-88d4-156dec8dd10b": { + "templateId": "Quest:stonewoodquest_fetch_directorstuff", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.848Z", + "level": -1, + "sent_new_notification": true, + "completion_stonewoodquest_fetch_directorstuff": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "89b4cdf4-f124-49ea-8260-bf563d4af3e9": { + "templateId": "Quest:cannyvalley_landmark_bossfight", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-02T01:28:20.341Z", + "selection": 3, + "level": -1, + "item_seen": true, + "completion_cannyvalley_landmark_bossfight": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b4d9f1e6-551a-4053-839a-6663e917cb84": { + "templateId": "Quest:challenge_holdthedoor_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T03:38:08.394Z", + "completion_complete_outpost": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3315733b-fdcb-416f-bdab-dc1fb9738190": { + "templateId": "Quest:challenge_leavenoonebehind_19", + "attributes": { + "creation_time": "2024-04-14T01:15:16.323Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-05-11T02:10:41.105Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 115, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0e845f5d-c06c-434c-997d-b35a2dd82d30": { + "templateId": "Quest:cannyvalley_reactive_vacuum", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-27T05:30:05.408Z", + "completion_cannyvalley_reactive_vacuum": 30, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "400263e0-89b6-4abc-8802-4961419272a8": { + "templateId": "Quest:heroquest_loadout_soldier_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T20:47:14.067Z", + "level": -1, + "item_seen": true, + "completion_complete_pve03_diff24_loadout_soldier": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3fc09e97-ee04-4a1b-8c75-bf42cae0da65": { + "templateId": "Quest:challenge_herotraining_1", + "attributes": { + "completion_upgrade_any_hero": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T09:07:09.120Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "416375de-3207-4f60-b805-9f6f56f9f498": { + "templateId": "Quest:stonewoodquest_side_1_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-16T19:42:21.846Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 15, + "sent_new_notification": true, + "completion_complete_pve01_diff5_v2": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "028ec0de-5e52-44cb-b905-ed313b96a1bf": { + "templateId": "Hero:hid_ninja_010_f_vr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "95541465-3645-48c4-baca-31bb874e22e7": { + "templateId": "Quest:challenge_holdthedoor_8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T18:14:03.634Z", + "completion_complete_outpost": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b1bddef4-d313-4147-9424-a0a23b992a8b": { + "templateId": "Quest:challenge_holdthedoor_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-20T00:00:11.331Z", + "completion_complete_outpost": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3b2aa5d9-0c4d-4204-93ea-fbe268403527": { + "templateId": "Quest:endurancedaily_t02_w20", + "attributes": { + "creation_time": "2024-12-29T13:20:28.533Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.533Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "67cdfe26-8498-4aef-8838-1e314eb58b4b": { + "templateId": "Quest:cannyvalleyquest_filler_1_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T18:39:20.273Z", + "level": -1, + "completion_complete_evacuate_3_diff3": 2, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a78b5f49-8baa-48e7-99ce-29381170844d": { + "templateId": "HomebaseNode:questreward_homebase_defender4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "2352c5bb-c6d7-46af-bfba-33273d45934c": { + "templateId": "HomebaseNode:questreward_newheroloadout8_dummy", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "61e2ef20-fd06-43be-aa53-7bad3d41b84f": { + "templateId": "Quest:cannyvalley_reactive_oilsamples", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T07:18:56.426Z", + "completion_cannyvalley_reactive_oilsamples": 5, + "selection": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fb676339-b97c-4661-afe7-af56aea16867": { + "templateId": "HomebaseNode:questreward_recyclecollection", + "attributes": {}, + "quantity": 1 + }, + "e6285a04-15fe-4279-8cdd-ad72e6c7eb52": { + "templateId": "Expedition:expedition_air_survivorscouting_medium_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.760Z", + "level": 1, + "expedition_max_target_power": 375, + "expedition_min_target_power": 18, + "expedition_slot_id": "expedition.generation.air.t03_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.760Z" + }, + "quantity": 1 + }, + "39580467-7b62-45f0-8dd3-88589e871264": { + "templateId": "Quest:challenge_leavenoonebehind_7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T23:40:04.283Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 50, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "abc6b8e1-1a8b-4e09-af44-ba0443f1d20b": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "870dd4a3-1fc8-40e5-a8f4-5cf7e0197d65": { + "templateId": "Quest:cannyvalley_reactive_route99", + "attributes": { + "completion_cannyvalley_reactive_route99_gasstation": 1, + "completion_cannyvalley_reactive_route99_motel": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T06:47:51.105Z", + "completion_cannyvalley_reactive_route99_truckstop": 1, + "completion_cannyvalley_reactive_route99_diner": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "09974b22-af34-46ed-876b-fd4c321342ad": { + "templateId": "Quest:challenge_leavenoonebehind_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-20T18:22:00.131Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 40, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5afe893b-68f2-44cd-b53b-ba507fa47220": { + "templateId": "Quest:cannyvalleyquest_filler_1_d1", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-10T19:07:38.765Z", + "completion_quick_complete_pve03": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e23564a1-3e0e-4a41-b7a4-ce262db4caff": { + "templateId": "Quest:challenge_missionaccomplished_12", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-19T03:52:34.738Z", + "level": -1, + "completion_complete_primary": 8, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0c9e1a5e-b06a-4548-9733-f29019b98725": { + "templateId": "Quest:tutorial_loadout_commander", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:27:57.270Z", + "level": -1, + "completion_heroloadout_commander_guardscreen1": 1, + "completion_heroloadout_commander_highlight": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4057c2e9-1f78-46f0-b548-3f9f6bf60389": { + "templateId": "Schematic:sid_assault_raygun_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_magazinesize_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "c2bd14ee-8305-407f-8247-b19242970e86": { + "templateId": "Hero:hid_commando_011_m_easter_sr_t03", + "attributes": { + "outfitvariants": [], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 30, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "e7259f05-f629-40ce-b98d-a7073442067d": { + "templateId": "Quest:heroquest_loadout_soldier_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T20:29:35.079Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_pve03_diff26_loadout_soldier": 300, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4b89bdcd-b5c4-452e-8c91-e45a1ed3f293": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "8b439962-0cfd-4595-86fa-183927b24259": { + "templateId": "Quest:reactivequest_copperore", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T00:07:31.334Z", + "completion_quest_reactive_copperore": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "36778938-bdd9-4d6d-a6cb-782954f33dfa": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "1", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "6310e3ad-1b15-4be4-ba54-fd3b69f779dc": { + "templateId": "Quest:challenge_toxictreasures_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-01T20:12:30.651Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1379e2a8-7531-42b6-ace9-89daff74302b": { + "templateId": "Quest:endurancedaily_t02_w15", + "attributes": { + "creation_time": "2024-12-29T13:20:28.533Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.533Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "a59f8a92-a549-47bd-8847-e9ba04bb1dac": { + "templateId": "Quest:pickaxequest_stw003_tier_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:29.442Z", + "level": -1, + "completion_pickaxequest_stw003_tier_4": 2, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b916b90d-235b-46cf-b05d-4a2682e57153": { + "templateId": "Quest:plankertonquest_filler_7_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-07T16:33:11.514Z", + "level": -1, + "item_seen": true, + "completion_kill_husk_smasher_2_diff4_v2": 20, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5e5e2f74-16b9-4247-8b0d-5fdf3ce48928": { + "templateId": "Quest:foundersquest_getrewards_2_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-26T06:57:45.597Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "05f75614-9e7e-4822-b649-6c8ac1e98da7": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "dde7b069-cee4-4fb2-b44e-9917afadcd5f": { + "templateId": "Schematic:sid_pistol_scavenger_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_att_stability_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_ranged_headshot_explodeondeath_v2" + ] + }, + "quantity": 1 + }, + "2e5575f3-653e-4a22-8e60-abcffcafae7b": { + "templateId": "Quest:challenge_missionaccomplished_8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T21:58:12.138Z", + "level": -1, + "completion_complete_primary": 6, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c3802076-c84e-42cd-a0d3-a1a19d9801a6": { + "templateId": "Quest:outpostquest_t1_l10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T18:22:20.981Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_1_10": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6dd2d9b7-308e-4c65-a749-e442918257a9": { + "templateId": "Quest:challenge_toxictreasures_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-28T16:28:15.889Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 4, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cc10c7af-efea-4061-b01d-87a552722a94": { + "templateId": "HomebaseNode:questreward_expedition_rowboat3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "88f7c9b3-60fa-4b75-b988-f081a4a1e13b": { + "templateId": "Worker:worker_karolina_ur_t05", + "attributes": { + "squad_id": "squad_attribute_arms_fireteamalpha", + "personality": "Homebase.Worker.Personality.IsAdventurous", + "level": 50, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "86d9ff23-f08e-4b5b-8cbc-7a920354e03e": { + "templateId": "Quest:outpostquest_t1_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T21:16:38.785Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_1_3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_custom_defendersupplyreceived": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "261b0400-e45d-4bc6-a359-2c13376b645f": { + "templateId": "Schematic:sid_assault_lmg_drum_founders_vr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_stability_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_ele_water_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onfire_damagestack" + ] + }, + "quantity": 1 + }, + "118f8695-9973-4288-a24d-8feafa3d6344": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 30, + "squad_slot_idx": 7, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "a6e10a98-7042-4bf3-b7cd-4293cfaf4fc8": { + "templateId": "Quest:plankertonquest_outpost_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.859Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcomplete_outpostquest_t2_l3": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "86e94960-073d-4479-b16b-74164ab35aff": { + "templateId": "Quest:outpostquest_t3_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T21:00:00.114Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_3_4": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f5224e5e-b23d-4d2a-8d9e-26eb26f9ebf9": { + "templateId": "Quest:plankertonquest_reactive_records", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T05:29:30.884Z", + "level": -1, + "completion_plankertonquest_reactive_records": 5, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f5f4f164-8f7d-4fb9-868a-bbba9ad6c9ea": { + "templateId": "HomebaseNode:skilltree_airstrike", + "attributes": {}, + "quantity": 6 + }, + "56dfb353-87ac-4f15-b0b5-f0f2b25ec415": { + "templateId": "Schematic:sid_edged_sword_medium_c_ore_t00", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "a8edabbc-f5a5-4253-94c2-6dbc8ac7e2dc": { + "templateId": "Quest:plankertonquest_filler_3_d5", + "attributes": { + "completion_complete_retrievedata_2_diff5": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T23:25:24.479Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8131da1b-a3e5-4dbc-883c-a0d6dc2a774f": { + "templateId": "AccountResource:reagent_alteration_ele_water", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 10050 + }, + "6b476b58-4bee-4cdb-bb23-49ec90ab98a6": { + "templateId": "Quest:reactivequest_roadhome", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-07T18:24:27.729Z", + "completion_quest_reactive_roadhome": 4, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ba169bbc-1fc6-4984-aa10-34b31f9e1a01": { + "templateId": "HomebaseNode:skilltree_backpacksize", + "attributes": {}, + "quantity": 7 + }, + "92e88261-a7c3-4662-af25-adeea7fdf1b1": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "ad47c747-d8d6-4019-a152-9bd93cf11822": { + "templateId": "Quest:cannyvalleyquest_filler_2_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-21T17:13:38.971Z", + "selection": 0, + "level": -1, + "item_seen": true, + "completion_complete_gate_triple_3_diff4": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2d26125d-30a1-4b1e-895b-33f7b7fce216": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "33db9e9f-efe4-463b-83f6-c9a84079d3b8" + }, + "loadout_index": 7 + }, + "quantity": 1 + }, + "b623364d-617d-4a0a-bdf1-538a2fbb2b44": { + "templateId": "Quest:outpostquest_firstopen_endless", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-23T16:43:02.333Z", + "level": -1, + "sent_new_notification": true, + "completion_complete_endless_firstopen": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1ca93d1d-7b32-49e9-b51c-d9584c29a490": { + "templateId": "Worker:managerengineer_sr_countess_t05", + "attributes": { + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "personality": "Homebase.Worker.Personality.IsPragmatic", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsEngineer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Engineer-countess", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "b9a24899-320b-4d6f-b96b-7e3a87a94a88": { + "templateId": "Quest:stonewoodquest_fetch_trashcans", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.840Z", + "level": -1, + "completion_stonewoodquest_fetch_trashcans": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6c411875-cf54-4487-a39c-a825263ed14c": { + "templateId": "HomebaseNode:questreward_homebase_defender", + "attributes": {}, + "quantity": 1 + }, + "b27f2f7e-cec9-4334-b59a-ef51a3709459": { + "templateId": "Quest:challenge_toxictreasures_17", + "attributes": { + "creation_time": "2024-04-13T06:21:23.484Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-05-26T00:15:53.523Z", + "level": -1, + "item_seen": true, + "completion_complete_mimic": 10, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c48d2b55-a7f4-4bb0-bf87-984fd63bfcad": { + "templateId": "Quest:cannyvalley_reactive_canoes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-01T03:36:26.208Z", + "completion_cannyvalley_reactive_canoes": 7, + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "61485532-24d5-4963-b6ff-11362bddc9ff": { + "templateId": "AccountResource:personnelxp", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 580288 + }, + "26903b49-99f3-4dec-ac96-aaa77928cbe3": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 50, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "12692f58-5990-4d10-8ee7-8db92bc96efa": { + "templateId": "AccountResource:reagent_c_t04", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 98 + }, + "7ea81def-3b6f-46d6-a29b-5ea845e37d80": { + "templateId": "Quest:challenge_toxictreasures_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-04T02:55:52.291Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 4, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "af4f6993-bade-46bf-9230-d6904b5d013e": { + "templateId": "Hero:hid_constructor_023_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "e11d6fc5-bc9a-44a1-89bb-44c2dd1c3922": { + "templateId": "Quest:teamperkquest_kineticoverdrive", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T14:17:51.080Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "47e2d2da-ea9c-415a-9510-c8cec8a4f3d6": { + "templateId": "AccountResource:reagent_alteration_upgrade_r", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 17984 + }, + "97417fd7-b2bf-4855-bbe5-254a3e822b05": { + "templateId": "Quest:cannyvalley_reactive_stores", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-17T19:16:57.057Z", + "completion_cannyvalley_reactive_stores": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "00323b27-6476-4617-b77f-0d6e2a999e23": { + "templateId": "Quest:challenge_missionaccomplished_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T03:49:48.150Z", + "level": -1, + "completion_complete_primary": 4, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "946eb1cf-0478-46d4-8b82-1d17dfe418bc": { + "templateId": "HomebaseNode:questreward_newheroloadout6_dummy", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "e61f9547-80f1-4f8d-a83a-385dc4a97742": { + "templateId": "Schematic:sid_pistol_autoheavy_founders_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_firerate_ranged_t01", + "Alteration:aid_att_stability_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onreload_damagebuff" + ] + }, + "quantity": 1 + }, + "486fca8e-8476-4541-86ff-cee909520b8e": { + "templateId": "Quest:challenge_eldritchabominations_16", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-03T19:04:18.207Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 80, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fbfeb105-d4ff-48f5-a06f-b4d1b0ba8336": { + "templateId": "HomebaseNode:questreward_feature_herolevelup", + "attributes": {}, + "quantity": 1 + }, + "3e3f50fc-9173-4552-a6c9-f5c0de673401": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Repeatable Quests", + "conditions": { + "event": { + "instanceId": "tfik3horo1eunkmkfn6cj8bnst[0]1", + "eventName": "CalendarEvent_Persistent_EventRepeatables", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:genericquest_completestormzones_repeatable", + "quantity": 1 + }, + { + "templateId": "Quest:genericquest_killmistmonsters_repeatable", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:genericquest_completestormzones_repeatable", + "quantity": 1 + }, + { + "templateId": "Quest:genericquest_killmistmonsters_repeatable", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "193a0d3c-a930-451c-994b-45bc29caec31": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "1", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 50, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "5e5f73aa-2499-43ec-84fa-a96dc2283d55": { + "templateId": "Quest:cannyvalley_reactive_clocks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-23T20:09:41.987Z", + "level": -1, + "completion_cannyvalley_reactive_clocks": 50, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "42c85026-69e8-4121-9906-7470ed56b022": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "0ff9d80e-611f-41e9-8c2c-78acda4f8c70" + }, + "loadout_index": 1 + }, + "quantity": 1 + }, + "bad8b5ca-34de-4f62-a05b-56ec412107da": { + "templateId": "Quest:foundersquest_getrewards_0_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:49:02.404Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3b47e2c2-64d4-4090-8d2f-2883660760ce": { + "templateId": "Quest:stonewoodquest_filler_1_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T19:14:21.820Z", + "level": -1, + "item_seen": true, + "completion_complete_evacuate_1_diff3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "19e61a53-baab-4520-9172-426d19e9e714": { + "templateId": "Schematic:sid_edged_sword_medium_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t02", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "6e0958d4-1edd-4846-8f63-9d8964b2b56c": { + "templateId": "Quest:stonewoodquest_joelkarolina_savesurvivors", + "attributes": { + "completion_stonewoodquest_joelkarolina_savesurvivors": 100, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T18:48:35.735Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "997f10fd-2ef0-4366-9894-25894a1d4399": { + "templateId": "Worker:worker_halloween_husky_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Husky", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "31143afc-38c2-44e6-a588-e2a54de0c26a": { + "templateId": "Quest:stonewoodquest_joelkarolina_killhusks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T17:27:16.585Z", + "completion_stonewoodquest_joelkarolina_killhusks": 1000, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6155b7da-4004-400a-8a0f-83ab4771c24e": { + "templateId": "Quest:winter_seasonal_monster_01", + "attributes": { + "creation_time": "2024-12-16T20:05:04.725Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.725Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2d9dc03c-0fec-4f40-bba9-ca5b1bcad52a": { + "templateId": "CardPack:cardpack_jackpot_collectionbook", + "attributes": { + "level": 1672, + "pack_source": "CollectionBook" + }, + "quantity": 1 + }, + "4f5c2a7d-3e27-449f-88b6-9dc577c7c1ca": { + "templateId": "HomebaseNode:questreward_buildingresourcecap2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "7b1830a2-f47f-46f1-a3df-37bf88bc6c08": { + "templateId": "Schematic:sid_blunt_club_light_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_att_damageresistance_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "a95df666-e3b3-4d9c-bf59-7466333f3390": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "07133c5f-99c2-4221-b7ce-3bdbb5b70a99": { + "templateId": "Quest:heroquest_constructor_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T04:16:10.313Z", + "completion_upgrade_constructor": 1, + "completion_complete_pve01_diff2_constructor": 1, + "level": -1, + "item_seen": true, + "completion_assign_hero_constructor": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bf419855-9e9e-4b4d-aa0e-b348326841b2": { + "templateId": "HomebaseNode:questreward_buildingresourcecap", + "attributes": {}, + "quantity": 1 + }, + "06bf5bc2-71ef-4b30-8047-af32dfad9006": { + "templateId": "Worker:workerbasic_uc_t01", + "attributes": { + "gender": "2", + "personality": "Homebase.Worker.Personality.IsDreamer", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "1d05194f-403e-4dc3-840c-90a9a37235f0": { + "templateId": "Quest:outpostquest_t2_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-04T02:20:21.648Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_2_4": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e55a6132-1d1f-4cd5-ad5b-5dd06f46c903": { + "templateId": "Quest:challenge_holdthedoor_18", + "attributes": { + "creation_time": "2024-04-05T17:52:54.477Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-09T16:49:07.066Z", + "completion_complete_outpost": 10, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "40862ba2-ab8b-462e-8177-48ffd4e736f5": { + "templateId": "Quest:s11_holdfastquest_soup_deposit", + "attributes": { + "creation_time": "2025-01-02T20:30:31.505Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.505Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4acc53ad-f019-4a86-8be9-90437face50d": { + "templateId": "Quest:plankertonquest_filler_7_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-31T05:00:59.488Z", + "completion_complete_launchballoon_2_diff3": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "06e7e7e8-a25f-40b5-96ab-12366774913b": { + "templateId": "HomebaseNode:questreward_mission_defender", + "attributes": {}, + "quantity": 1 + }, + "361a13b4-8771-4d5b-95dd-0a3900476008": { + "templateId": "Defender:did_defenderpistol_founders_vr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_critchance_ranged", + "Alteration:aid_att_def_critdamage_ranged", + "Alteration:aid_att_def_weapondamage_pistol", + "Alteration:aid_att_def_maxhealth" + ] + }, + "quantity": 1 + }, + "885a69fb-debc-4ae5-9a40-628d5a5fa98c": { + "templateId": "Quest:homebasequest_completeexpedition", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T18:39:19.851Z", + "completion_collectexpedition": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "456ba955-fa85-4f1c-9840-3db1a2ad5f88": { + "templateId": "Quest:stonewoodquest_launchrocket_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T04:18:35.131Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_launchrocket_1": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c26d43ae-a1ca-4298-a999-d7e0e7ac32bf": { + "templateId": "Quest:stonewoodquest_launchballoon_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T07:23:30.388Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_launchweatherballoon_1": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "852c8074-9759-40ec-a606-5170737a4cc3": { + "templateId": "Quest:wargames_dailyquest_tiki_with_notraps_stonewood", + "attributes": { + "creation_time": "2025-01-02T20:30:31.513Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.513Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "dailywargamesstonewood_01" + }, + "quantity": 1 + }, + "43dd2c87-a937-487a-b504-591e8f95bc8c": { + "templateId": "Schematic:sid_sniper_neonglow_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t02", + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_headshotdamage_t03", + "Alteration:aid_g_ranged_headshotstreak_dmgbonus_v2" + ] + }, + "quantity": 1 + }, + "e8fdaf72-91ce-42c2-a7dd-4c08a1ab99f3": { + "templateId": "AccountResource:reagent_c_t02", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 191 + }, + "17402c57-b70f-4e95-936a-66c3674562b0": { + "templateId": "Quest:achievement_explorezones", + "attributes": { + "completion_complete_exploration_1": 178, + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2018-08-09T22:33:07.412Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5ee16679-9682-418d-9a44-736fb60fd952": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "54aaef2f-66bb-47e2-a682-9357bd378d2a": { + "templateId": "Schematic:sid_sniper_crossbow_military_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_ele_water_t03", + "Alteration:aid_att_magazinesize_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_standstill_stackbuff_damage" + ] + }, + "quantity": 1 + }, + "87a2c32a-6003-4f12-bd77-f38b964bbe4e": { + "templateId": "CardPack:cardpack_jackpot_collectionbook", + "attributes": { + "level": 1675, + "pack_source": "CollectionBook" + }, + "quantity": 1 + }, + "9342dd14-57d3-41cf-8c53-c4ee4273058f": { + "templateId": "ConsumableAccountItem:smallxpboost_gift", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 343 + }, + "3705533f-6318-45a7-880c-5ba0bfe14639": { + "templateId": "Schematic:sid_assault_auto_c_ore_t00", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "a959c8a7-957a-48c9-8cf3-5d812ed491fb": { + "templateId": "HomebaseNode:questreward_newheroloadout7_dummy", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "88b3f5a1-cf11-414c-850d-2d3dd1e8e4a0": { + "templateId": "Token:receivemtxcurrency", + "attributes": { + "level": 1 + }, + "quantity": 1 + }, + "68a5ca5f-d0ec-467c-bbcd-d742aa1a1a05": { + "templateId": "Worker:worker_halloween_smasher_sr_t02", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 11, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Smasher", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "a1767bbc-b274-4bbb-890e-82f7d8074c96": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "2", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "7535c2e3-e5be-4d8f-a001-b6b0435aff5e": { + "templateId": "Quest:outpostquest_t1_l6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T03:37:48.639Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_1_6": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3e24b305-6828-4e55-8807-eba1f0a0487c": { + "templateId": "Quest:challenge_holdthedoor_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-02T17:12:52.670Z", + "completion_complete_outpost": 4, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a10b44d8-a002-4308-a475-f694e4918cbe": { + "templateId": "Worker:workerbasic_uc_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "47fcc105-ffa6-42d4-8afb-2de481e730ed": { + "templateId": "HomebaseNode:skilltree_proximitymine", + "attributes": {}, + "quantity": 1 + }, + "c2e1d0a6-45ad-4f13-90e1-afeaafe611db": { + "templateId": "Defender:did_defenderassault_basic_m_r_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_weapondamage_assault", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_critchance_ranged" + ] + }, + "quantity": 1 + }, + "a007b157-26c6-4089-a32b-ae71ecce13f9": { + "templateId": "Hero:hid_commando_027_piratesoldier_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "39d22064-3ecf-494b-8aed-2c7a78485dc4": { + "templateId": "Quest:outpostquest_t1_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T02:04:03.050Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_1_4": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bba4ccdf-1635-4ddf-9cae-d36dfc8d356e": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 40, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "f7e4f7c5-9c8f-4b8f-a877-e099c327c929": { + "templateId": "Quest:s11_holdfastquest_d1_cramp", + "attributes": { + "creation_time": "2025-01-02T20:30:31.522Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.522Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "holdfastdaily_part1_01" + }, + "quantity": 1 + }, + "745dbaf5-73c4-4af8-8bfb-fcaaa5b2d9f1": { + "templateId": "Quest:stonewoodquest_fetch_researchcrates", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.830Z", + "level": -1, + "completion_stonewoodquest_fetch_researchcrates": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4a2fb74d-fdb9-48a4-9398-599b06a021c3": { + "templateId": "Defender:did_defenderassault_founders_vr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_ammosave", + "Alteration:aid_att_def_firerate", + "Alteration:aid_att_def_weapondamage_assault", + "Alteration:aid_att_def_maxhealth" + ] + }, + "quantity": 1 + }, + "d5d13927-3f99-4c5d-92d6-489a60eda9f3": { + "templateId": "Schematic:sid_edged_scythe_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_firerate_melee_t01", + "Alteration:aid_att_movementspeed_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_critchance_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "f3549d78-1429-4a63-9076-eabcaed3e53f": { + "templateId": "Quest:tutorial_loadout_support2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:28:05.393Z", + "level": -1, + "sent_new_notification": true, + "completion_heroloadout_support2_intro": 1, + "completion_heroloadout_support2_guardscreen1": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d1145782-79a2-4e43-9ac7-2596dd9afbc5": { + "templateId": "Quest:challenge_holdthedoor_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T02:03:41.504Z", + "completion_complete_outpost": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9afaa7b9-2671-4311-8bef-3cbce7872ae0": { + "templateId": "TeamPerk:tpid_recycling", + "attributes": {}, + "quantity": 1 + }, + "820eaf64-c8e5-4b12-b6e2-1db0be231d96": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Phoenix", + "conditions": { + "event": { + "instanceId": "ai3r5g3drgrf3g0cnbannp1ber[0]1", + "eventName": "CalendarEvent_Persistent_Phoenix_Winterfest", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Weapon:wid_edged_axe_light_c_ore_t01", + "quantity": 1 + }, + { + "templateId": "Weapon:wid_shotgun_standard_c_ore_t01", + "quantity": 1 + }, + { + "templateId": "Ammo:ammodatashells", + "quantity": 12 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "AccountResource:phoenixxp", + "quantity": 2147483647 + }, + { + "templateId": "Stat:technology_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:resistance_team_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:fortitude_team_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:offense_team_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:technology_team_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:fortitude_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:offense_phoenix", + "quantity": 2147483647 + }, + { + "templateId": "Stat:resistance_phoenix", + "quantity": 2147483647 + } + ], + "questsToPause": [] + }, + "metaData": { + "grantTo": "theater2", + "phoenixEventType": "EventFlag.Phoenix.Winterfest", + "endAction": "{\"actionClassName\":\"com.epicgames.fortnite.core.game.managers.calendareventactions.ResetSeasonalTheaterCalendarEventAction\",\"profile\":\"campaign\"}" + } + } + } + }, + "quantity": 1 + }, + "5be3497e-ef4d-4865-aad4-12b09f224bdf": { + "templateId": "Defender:did_defenderassault_basic_sr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_critdamage_ranged", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_maxhealth", + "Alteration:aid_att_def_weapondamage_assault", + "Alteration:aid_att_def_maxhealth" + ] + }, + "quantity": 1 + }, + "73e0caa5-47a8-4d65-b93f-82e701afe328": { + "templateId": "HomebaseNode:questreward_herotactical_slot", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "65209200-eb60-4253-b063-33eb57edcb62": { + "templateId": "ConsumableAccountItem:smallxpboost", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 74 + }, + "1667429a-451e-49fb-bbf8-d071c9fd0849": { + "templateId": "Quest:plankertonquest_filler_6_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-10T23:21:22.923Z", + "completion_complete_gate_2_diff4": 1, + "completion_complete_gate_double_2_diff4": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3abbb25d-9246-4f1d-be09-64024d12583e": { + "templateId": "Quest:s11_holdfastquest_season_burner", + "attributes": { + "creation_time": "2024-12-16T20:05:04.714Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.714Z", + "level": -1, + "completion_s11_holdfastquest_season_burner": 158, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2cca0859-eba4-46ed-9d29-8048c7dc8aa3": { + "templateId": "Quest:cannyvalleyquest_filler_3_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-27T04:56:39.945Z", + "level": -1, + "completion_kill_husk_taker_3_diff4_v3": 25, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9161d75a-ec36-4978-bc7d-f214069aa665": { + "templateId": "Quest:challenge_toxictreasures_15", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-01T15:38:38.210Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 9, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7b8bdcce-5974-4fd0-a18a-556baf8840e0": { + "templateId": "Quest:cannyvalley_mechanical_killriotshields", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-26T18:24:09.845Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_mechanical_killriotshields": 15, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "911e71ee-9a07-4162-a286-bfb3a9d060ba": { + "templateId": "Quest:cannyvalley_reactive_bikes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-27T03:58:40.143Z", + "selection": 1, + "completion_cannyvalley_reactive_bikes": 7, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "05f61f1c-2f36-4840-96ea-e86c31f09c6b": { + "templateId": "Schematic:sid_shotgun_neonglow_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t02", + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_onrangedfire_stackbuff_shield" + ] + }, + "quantity": 1 + }, + "eeaf2fac-f394-4b09-858f-2553ae386df6": { + "templateId": "Quest:challenge_weaponupgrade_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-16T04:39:06.536Z", + "level": -1, + "item_seen": true, + "completion_convert_any_weapon": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e3441a34-1ec1-40da-9559-d42b29697961": { + "templateId": "Quest:challenge_toxictreasures_7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-08T17:26:53.657Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ed58b3e8-701e-48b2-a3e2-a8ede84ee5e7": { + "templateId": "Schematic:sid_shotgun_break_flintlock_sr_ore_t01", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_reloadspeed_ranged_t03", + "Alteration:aid_conditional_slowed_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "5948f43f-8bdf-4106-a7f3-606c039f562a": { + "templateId": "HomebaseNode:questreward_evolution", + "attributes": {}, + "quantity": 1 + }, + "7e47066f-3f8e-48ac-9cea-6565360873e7": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Phoenix - Quests", + "conditions": { + "event": { + "instanceId": "vd042nrof4i0er3oiaj5h82l7b[0]1", + "eventName": "CalendarEvent_Persistent_Phoenix_Winterfest_Quests", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:winter_seasonal_destroy_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_01", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:winter_seasonal_destroy_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_02", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_03", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_04", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_05", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_06", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_07", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_08", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_09", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_10", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_11", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_destroy_12", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_02", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_03", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_04", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_05", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_06", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_07", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_08", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_09", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_10", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_11", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_locating_12", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_02", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_03", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_04", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_05", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_06", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_07", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_08", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_09", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_10", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_11", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_mission_12", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_02", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_03", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_04", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_05", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_06", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_07", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_08", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_09", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_10", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_11", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_monster_12", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_01", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_02", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_03", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_04", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_05", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_06", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_07", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_08", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_09", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_10", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_11", + "quantity": 1 + }, + { + "templateId": "Quest:winter_seasonal_weapon_12", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "fd22bda6-f0ff-4872-89d8-116e67fca47e": { + "templateId": "Quest:achievement_craftfirstweapon", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:31:12.497Z", + "completion_custom_craftfirstweapon": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7424a19b-5b86-4d2c-912a-33c0f8500d6c": { + "templateId": "Schematic:sid_shotgun_tactical_founders_vr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_g_weapon_onreload_damagestack" + ] + }, + "quantity": 1 + }, + "58cc84fc-9cbf-4efd-bb35-05253ba58714": { + "templateId": "Quest:cannyvalley_hidden_enablegunslinger", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:37:04.267Z", + "completion_questcomplete_cannyvalley_landmark_highnoon": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5e5a23e5-a01a-47c0-a007-d568264b884e": { + "templateId": "HomebaseNode:skilltree_supplydrop", + "attributes": {}, + "quantity": 5 + }, + "2bf6b989-7f40-4f7a-8a2b-c8baedaaa3c6": { + "templateId": "Schematic:sid_blunt_light_rocketbat_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_heavyattackstaminacost_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "04d49cb8-4e93-47a5-b7cb-ab2b679b0fee": { + "templateId": "Quest:outpostquest_t4_l9", + "attributes": { + "creation_time": "2024-12-29T21:42:49.982Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T22:20:10.386Z", + "completion_complete_outpost_4_9": 1, + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "992b2dc6-04c6-4564-8e88-d9def4c8421c": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "STORE: Holiday - Event - Campaign Currency", + "conditions": { + "event": { + "instanceId": "re339po36gf3s9srl7enklv2kl[0]1", + "eventName": "CalendarEvent_Persistent_Holiday_EventCurrency", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [], + "questsToUnpause": [], + "eventCurrencyToSet": { + "templateId": "AccountResource:eventcurrency_snowballs", + "cf": 1.0 + } + }, + "endActions": { + "hasRun": false, + "conversions": [ + { + "recipe": { + "static_results": [ + { + "templateId": "CardPack:cardpack_event_persistent_holiday", + "quantity": 1 + } + ], + "static_costs": [ + { + "templateId": "AccountResource:eventcurrency_snowballs", + "quantity": 500 + } + ], + "static_catalysts": [] + }, + "quantity": -1, + "convert_remainder_up": true + } + ], + "itemsToRemove": [], + "questsToPause": [], + "eventCurrencyToUnset": "AccountResource:eventcurrency_snowballs" + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "3850f15a-3158-448e-a3d5-799ac53ee2c8": { + "templateId": "Schematic:sid_pistol_firecracker_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "f656c027-7cd6-4397-923c-5b9441b628ec": { + "templateId": "Quest:reactivequest_seebot", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T05:06:40.968Z", + "level": -1, + "item_seen": true, + "completion_quest_reactive_seebotv2": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "828c225e-bcdb-4736-b3a6-5bf6e3b88870": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Frostnite", + "conditions": { + "event": { + "instanceId": "brf6isvthqmekujd40mbh2oiq2[0]1", + "eventName": "CalendarEvent_Season11FrostniteEvent", + "eventStart": "2024-11-21T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:s11_holdfastquest_repeat_ice", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_repeat_taste", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_burner", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_furnacemaint", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_loot", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_misty", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_15", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_30", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_45", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_trapcraft", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_cramps", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_group", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_knight", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:s11_holdfastquest_repeat_ice", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_repeat_taste", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_burner", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_furnacemaint", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_loot", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_misty", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_15", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_30", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_survive_45", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_season_trapcraft", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_cramps", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_group", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_seasonelite_knight", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d1_burner", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d1_construct", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d1_cramp", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d1_ice", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d2_constructor", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d2_ninja", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d2_outlander", + "quantity": 1 + }, + { + "templateId": "Quest:s11_holdfastquest_d2_soldier", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "e2f96e76-fad2-4f15-a9d9-4355712d3965": { + "templateId": "Expedition:expedition_traprun_long_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.775Z", + "expedition_criteria": [ + "RequiresEpicConstructor", + "RequiresRareConstructor" + ], + "level": 1, + "expedition_max_target_power": 480, + "expedition_min_target_power": 24, + "expedition_slot_id": "expedition.generation.land.t03_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.775Z" + }, + "quantity": 1 + }, + "0317b6b8-667a-4ed6-b7f7-87325574988d": { + "templateId": "HomebaseNode:questreward_homebase_defender3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "9dd3c196-be02-46b1-9c5c-85e047403093": { + "templateId": "Quest:plankertonquest_landmark_lars", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T17:15:18.072Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_plankertonquest_landmark_lars": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "894cbee5-9485-40db-b327-04d319c67e39": { + "templateId": "Quest:cannyvalley_reactive_dredgers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-18T20:45:52.229Z", + "selection": 0, + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_dredgers": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "53a569f3-b083-4d22-9a80-853e5e874c07": { + "templateId": "Quest:challenge_workertraining_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T06:59:45.900Z", + "level": -1, + "sent_new_notification": true, + "completion_convert_any_worker": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "48987567-6ac8-483e-b0cd-ea9c57865ce5": { + "templateId": "Quest:genericquest_completestormzones_repeatable", + "attributes": { + "creation_time": "2024-12-16T20:05:04.726Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.726Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d6e19a49-c8c3-4eff-b589-30b2ec8ea577": { + "templateId": "Quest:winter_seasonal_locating_01", + "attributes": { + "creation_time": "2024-12-16T20:05:04.724Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.724Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "714fd6bb-57db-4c17-83f8-6d7c19189435": { + "templateId": "Quest:cannyvalley_reactive_tabs", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T21:02:45.821Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_tabs": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7258bb87-a9d4-439d-b2e1-406aa42f523a": { + "templateId": "Quest:wargames_dailyquest_overload_with_dangerclose_plankerton", + "attributes": { + "creation_time": "2025-01-02T20:30:31.511Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.511Z", + "selection": -1, + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "dailywargamesplankerton_01" + }, + "quantity": 1 + }, + "3041564b-f857-47a2-b448-bc8bbd1e8b52": { + "templateId": "Expedition:expedition_traprun_sea_medium_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.753Z", + "expedition_criteria": [ + "RequiresEpicCommando" + ], + "level": 1, + "expedition_max_target_power": 575, + "expedition_min_target_power": 28, + "expedition_slot_id": "expedition.generation.sea.t04_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.753Z" + }, + "quantity": 1 + }, + "ed7cc2e7-4207-4c1e-a894-0b758ed4d66a": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "gender": "2", + "personality": "Homebase.Worker.Personality.IsDependable", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "0051b4c4-fe71-4789-b2c6-1b453c841da2": { + "templateId": "Quest:challenge_toxictreasures_18", + "attributes": { + "creation_time": "2024-05-26T00:15:53.528Z", + "quest_state": "Active", + "last_state_change_time": "2024-05-26T00:15:53.528Z", + "level": -1, + "item_seen": true, + "completion_complete_mimic": 4, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "815b1084-ce96-4de6-9751-a536865f32d2": { + "templateId": "Hero:hid_constructor_008_foundersf_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "63027556-d87e-4366-b200-aab5f0fed266": { + "templateId": "Quest:foundersquest_soldier_weaponupgrade_sr", + "attributes": { + "creation_time": "2024-03-31T18:38:32.022Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-31T18:39:58.290Z", + "level": -1, + "item_seen": true, + "completion_craft_founders_assault_vr": 1, + "quest_rarity": "legendary", + "completion_questcomplete_stonewoodquest_launchrocket_d5": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cb869d7c-2347-485f-80a0-fa1dcdaec055": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 30, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "66a6bde2-6631-4f06-aeb1-43d9f366646b": { + "templateId": "Quest:reactivequest_trollstash_r1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-17T20:27:25.793Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_quest_reactive_trollstashinit": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "08a4cb1a-9e65-4eae-9096-aa0e4603b57f": { + "templateId": "Worker:managertrainer_sr_raider_t05", + "attributes": { + "squad_id": "squad_attribute_medicine_trainingteam", + "personality": "Homebase.Worker.Personality.IsCurious", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsTrainer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-PersonalTrainer-raider", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "cbfb893c-274b-4b75-8198-ac686310c8f0": { + "templateId": "Worker:managermartialartist_sr_dragon_t05", + "attributes": { + "squad_id": "squad_attribute_arms_closeassaultsquad", + "personality": "Homebase.Worker.Personality.IsAdventurous", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsMartialArtist", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-MartialArtist-dragon", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "0146e17d-8784-4fa8-af0f-ce98bf0d666e": { + "templateId": "Quest:challenge_eldritchabominations_11", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T05:21:32.126Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 55, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a8f68e59-b17d-4f0b-bcef-75e611d8390f": { + "templateId": "TeamPerk:tpid_superchargedtraps", + "attributes": {}, + "quantity": 1 + }, + "e36442f6-50ff-4ad0-aa8c-fa60d6861dcd": { + "templateId": "Quest:plankertonquest_filler_3_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T02:36:47.435Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_launchballoon_2": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8746ab43-a25c-4d98-848e-b3e97c26d35a": { + "templateId": "Quest:heroquest_ninja_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-20T18:57:12.102Z", + "completion_ability_throwingstars": 3, + "completion_ability_mantisleap": 3, + "level": -1, + "completion_upgrade_ninja_lvl_3": 1, + "completion_complete_pve01_diff3_ninja": 3, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5995f9c5-cf1d-48bb-90ca-601f1a8a5e59": { + "templateId": "Quest:tutorial_loadout_support1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:27:48.062Z", + "completion_heroloadout_support1_intro": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_heroloadout_support1_guardscreen1": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "14afc37b-c617-4b63-983e-039ea6cacbd6": { + "templateId": "Quest:cannyvalley_reactive_outhouses", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T22:49:25.016Z", + "level": -1, + "completion_cannyvalley_reactive_outhouses": 5, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "516bbada-58e7-47b7-ad04-b80d8dfcc273": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsDreamer", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "92ab8cd1-aea6-4624-8592-65fedc12fb53": { + "templateId": "Quest:wargames_dailyquest_riotcity_with_fog_canny", + "attributes": { + "creation_time": "2025-01-02T20:30:31.507Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.507Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "dailywargamescanny_01" + }, + "quantity": 1 + }, + "faa7983e-facc-4a01-a40e-5e00666c705c": { + "templateId": "Quest:reactivequest_blasters", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T21:34:37.315Z", + "completion_quest_reactive_blasters": 10, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c8d2901f-7187-4857-8b4c-6ed02c2b4671": { + "templateId": "BannerToken:bannertoken_stw007_starlightscience", + "attributes": { + "level": 1, + "banner_id": "HomebaseBannerIcon:brs18_sciencedungeonstw" + }, + "quantity": 1 + }, + "863c51a9-c750-49bc-8fa8-612bdb9bec44": { + "templateId": "Quest:endurancedaily_t02_w25", + "attributes": { + "creation_time": "2024-12-29T13:20:28.533Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.533Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "b8476082-95ab-4fbf-9a1f-2960acc74880": { + "templateId": "Quest:challenge_eldritchabominations_9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T00:01:47.079Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 45, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "00216df5-eb1e-45be-9549-76674b95d047": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "team_perk": "1394b714-31d9-42b4-923a-3484129b9dd4", + "level": 1, + "crew_members": { + "followerslot5": "9e3d5a3f-0c81-41a0-ab89-ad09931f056a", + "followerslot4": "c2bd14ee-8305-407f-8247-b19242970e86", + "followerslot3": "2e3c3f5d-1b99-4936-8dbc-48ff079efd75", + "followerslot2": "a886cd80-5fbc-4540-bed6-28e36ddb3de3", + "followerslot1": "e31c10a9-49c9-47f3-aeaf-47e27fac3138", + "commanderslot": "33db9e9f-efe4-463b-83f6-c9a84079d3b8" + }, + "loadout_index": 2, + "gadgets": [ + { + "gadget": "Gadget:g_airstrike", + "slot_index": 0 + }, + { + "gadget": "Gadget:g_generic_botturret", + "slot_index": 1 + } + ] + }, + "quantity": 1 + }, + "4e4c3b0c-579a-4247-89ae-dd9bb09ea9ec": { + "templateId": "Quest:s11_holdfastquest_repeat_taste", + "attributes": { + "creation_time": "2024-12-28T20:27:31.862Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-28T20:27:31.862Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "completion_s11_holdfastquest_repeat_taste": 5, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ceeb5b44-2f08-4258-bba5-72a0cb2633fd": { + "templateId": "Schematic:sid_pistol_rapid_founders_vr_ore_t02", + "attributes": { + "level": 20, + "refund_legacy_item": true, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_headshotdamage_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_g_ranged_chainbullet" + ] + }, + "quantity": 1 + }, + "e01281fe-1356-4675-a4db-d46458b7c703": { + "templateId": "Quest:outpostquest_t4_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-20T18:53:00.877Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_4_3": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a9083fc9-7dbf-4e10-abd6-6904ca2227d9": { + "templateId": "PrerollData:preroll_basic", + "attributes": { + "fulfillmentId": "6D7B61F6CAC14875B6B7113D69ADBB42", + "expended_streakbreakers": {}, + "level": 1, + "highest_rarity": 2, + "offerId": "6D7B61F6CAC14875B6B7113D69ADBB42", + "expiration": "2025-01-03T00:00:00.000Z", + "items": [ + { + "itemType": "Hero:hid_ninja_007_uc_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Hero:hid_ninja_015_f_v1_uc_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Hero:hid_ninja_009_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Hero:hid_outlander_zoneharvest_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "CardPack:cardpack_choice_hero_sr", + "attributes": { + "pack_source": "", + "options": [ + { + "itemType": "Hero:hid_constructor_007_sr_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Hero:hid_ninja_starsrain_sr_t01", + "attributes": {}, + "quantity": 1 + } + ] + }, + "quantity": 1 + }, + { + "itemType": "AccountResource:eventcurrency_snowballs", + "attributes": {}, + "quantity": 1000 + }, + { + "itemType": "Hero:hid_outlander_009_vr_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Hero:hid_ninja_starsrain_vr_t01", + "attributes": {}, + "quantity": 1 + } + ] + }, + "quantity": 1 + }, + "6f256e32-688f-40cc-a56e-a6d1b6da8385": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd6", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "ef77e1a3-ea46-4e22-9e70-979d155e52d3": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "2998fdd4-9dc7-4802-9867-a46283faa6dd": { + "templateId": "Schematic:sid_assault_auto_sr_ore_t05", + "attributes": { + "level": 50, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t04", + "Alteration:aid_att_maxdurability_t04", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ], + "alteration_base_rarities": [ + "common", + "common", + "uncommon", + "uncommon", + "rare", + "common" + ] + }, + "quantity": 1 + }, + "62d79722-826f-4d96-aa14-3e07b22368f2": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "fe0ff886-e96c-4352-bd0f-a982d043b106": { + "templateId": "Quest:cannyvalley_reactive_oillamps", + "attributes": { + "completion_cannyvalley_reactive_oillamps": 7, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T20:56:29.667Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0f47b6a1-50e3-4d2a-8fb3-67226995f59d": { + "templateId": "Expedition:expedition_miningore_t00", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.765Z", + "level": 1, + "expedition_max_target_power": 20, + "expedition_min_target_power": 1, + "expedition_slot_id": "expedition.generation.choppingwood", + "expedition_expiration_start_time": "2025-01-02T20:30:29.765Z" + }, + "quantity": 1 + }, + "b43f11a6-f42a-4de1-aa51-6c74926951bf": { + "templateId": "Hero:hid_commando_shockdamage_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "01d800b0-a6c9-4dc5-b8a8-b1290325dc38": { + "templateId": "Hero:hid_ninja_015_f_v1_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "42d3b857-8430-48d9-8f71-621ea67eaaae": { + "templateId": "Schematic:sid_assault_semiauto_c_ore_t00", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "178f7fb5-fc95-4504-bd16-76e95bcca498": { + "templateId": "Quest:plankertonquest_filler_2_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T03:29:41.332Z", + "selection": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_destroyencamp_2_diff2": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7fd5894b-0962-4169-a91b-f57357383237": { + "templateId": "Schematic:sid_shotgun_longarm_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_headshotdamage_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_ranged_headshotstreak_dmgbonus_v2" + ] + }, + "quantity": 1 + }, + "1a6cc556-9920-43d9-92ed-4049973d6f63": { + "templateId": "Quest:cannyvalleyquest_filler_2_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T00:29:49.943Z", + "completion_complete_delivergoods_3_diff3": 1, + "completion_complete_refuel_3_diff3": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cb61e11e-df7f-4814-86d8-8b0cf6f9a137": { + "templateId": "Quest:outpostquest_t1_l9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T23:13:11.773Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_1_9": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c51f30de-342b-4b80-9701-34b7031203e3": { + "templateId": "Quest:challenge_toxictreasures_9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-10T23:50:31.828Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 6, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "80ce8095-30f1-45ff-8a08-c0ed4c4e3f0b": { + "templateId": "Quest:plankertonquest_filler_7_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T04:27:40.961Z", + "level": -1, + "item_seen": true, + "completion_complete_exploration_2_diff5": 2, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "37bc70ff-e07f-4fd6-a848-944569d2e1ae": { + "templateId": "Quest:challenge_holdthedoor_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T03:30:15.117Z", + "completion_complete_outpost": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "33db9e9f-efe4-463b-83f6-c9a84079d3b8": { + "templateId": "Hero:hid_ninja_029_dinoninja_sr_t05", + "attributes": { + "outfitvariants": [ + { + "channel": "Parts", + "active": "CampaignHero.Tier1.Legendary" + } + ], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 50, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "7dcf2e54-5724-4486-b359-687bbe9b2e73": { + "templateId": "PrerollData:preroll_basic", + "attributes": { + "linked_offer": "OfferId:4D64CBE3618D41FBB5CAD0E472F4610A", + "fulfillmentId": "OfferId:D2E08EFA731D437B85B7340EB51A5E1D", + "level": 1, + "highest_rarity": 2, + "offerId": "D2E08EFA731D437B85B7340EB51A5E1D", + "expiration": "2025-01-03T00:00:00.000Z", + "items": [ + { + "itemType": "Worker:managertrainer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-PersonalTrainer-M01" + }, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_edged_sword_heavy_c_ore_t01", + "attributes": { + "Alteration": { + "LootTierGroup": "AlterationTG.Melee.C", + "Tier": 0 + }, + "alterations": [ + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_att_movementspeed_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + { + "itemType": "Worker:managertrainer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-PersonalTrainer-M01" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F02", + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + { + "itemType": "ConsumableAccountItem:smallxpboost_gift", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "AccountResource:eventcurrency_snowballs", + "attributes": {}, + "quantity": 50 + }, + { + "itemType": "Hero:hid_ninja_015_f_v1_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_shotgun_tactical_r_ore_t01", + "attributes": { + "Alteration": { + "LootTierGroup": "AlterationTG.Ranged.R", + "Tier": 0 + }, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAnalytical", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-M01", + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + { + "itemType": "Hero:hid_outlander_008_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-M01", + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F03", + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-F02", + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_ceiling_electric_single_vr_t01", + "attributes": { + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_buildingheal_t03" + ] + }, + "quantity": 1 + } + ] + }, + "quantity": 1 + }, + "a3e8133d-6906-4fdd-82fc-b290dea884e5": { + "templateId": "Quest:teamperkquest_slowyourroll", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-01T03:20:18.571Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "609de7d6-0e17-41d1-83b5-024c3889fd3e": { + "templateId": "Quest:cannyvalley_reactive_cards", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-19T05:09:34.592Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_cards": 15, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "05f00be1-6167-449d-9b92-3a54e27304d3": { + "templateId": "Quest:foundersquest_constructor_weaponupgrade_sr", + "attributes": { + "creation_time": "2024-03-31T18:28:52.872Z", + "completion_craft_founders_shotgun_vr": 1, + "quest_state": "Claimed", + "last_state_change_time": "2024-03-31T18:30:13.149Z", + "level": -1, + "item_seen": true, + "quest_rarity": "legendary", + "completion_questcomplete_stonewoodquest_launchrocket_d5": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6b042bc2-d533-46a8-b27c-90293ce48e43": { + "templateId": "HomebaseNode:questreward_buildingupgradelevel", + "attributes": {}, + "quantity": 1 + }, + "081e74ca-51ed-4bc2-b921-34caeabe77cf": { + "templateId": "Quest:reactivequest_taker", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T00:44:31.012Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_quest_reactive_taker": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8498f4e6-fcb4-40da-9f9e-6854063f1ec5": { + "templateId": "Schematic:sid_assault_boombox_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_ele_fire_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_dancing_dmgbonus_t03", + "Alteration:aid_g_onrangedhitstreak_dance" + ] + }, + "quantity": 1 + }, + "3a666a25-d73d-4bab-b396-fafa146f36bd": { + "templateId": "Expedition:expedition_traprun_short_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.754Z", + "expedition_criteria": [ + "RequiresEpicOutlander" + ], + "level": 1, + "expedition_max_target_power": 510, + "expedition_min_target_power": 25, + "expedition_slot_id": "expedition.generation.land.t04_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.754Z" + }, + "quantity": 1 + }, + "3af99e2b-ed57-4e0a-ab49-37ecd24c345c": { + "templateId": "Quest:challenge_missionaccomplished_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T05:53:19.588Z", + "level": -1, + "completion_complete_primary": 3, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fd6b33c9-60d4-4588-83ce-7f3d9a6f98ee": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd6", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "7f46fdaf-8c58-4992-bfd5-9e086669bf67": { + "templateId": "Quest:tutorial_loadout_teamperkandsupport3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:28:03.349Z", + "completion_heroloadout_teamperk_intro": 1, + "completion_heroloadout_support3_guardscreen1": 1, + "level": -1, + "sent_new_notification": true, + "completion_heroloadout_support3_intro": 1, + "completion_heroloadout_teamperk_guardscreen1": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f8611b71-f132-4b04-9ec6-7d31fdaedc8c": { + "templateId": "Quest:s11_holdfastquest_season_loot", + "attributes": { + "creation_time": "2024-12-16T20:05:04.715Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.715Z", + "level": -1, + "item_seen": true, + "completion_s11_holdfastquest_season_loot": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1eb9e6e6-bfc6-4568-8d91-f302e2c91c33": { + "templateId": "HomebaseNode:questreward_herosupport_slot", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "b70e3cce-5d45-4c9b-b0f9-fdd4152b5a40": { + "templateId": "Quest:challenge_holdthedoor_19", + "attributes": { + "creation_time": "2024-04-09T16:49:07.070Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-14T00:15:01.138Z", + "completion_complete_outpost": 11, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "00ed89c1-55c6-4744-b6a6-2d383de20ff3": { + "templateId": "Quest:cannyvalley_reactive_rockformations", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T23:24:45.167Z", + "completion_cannyvalley_reactive_rockformations": 17, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "71892ead-dcb6-4f3b-afa0-68d29896f13b": { + "templateId": "Quest:cannyvalley_mechanical_constructor", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T16:53:36.214Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_cannyvalley_mechanical_constructor": 100 + }, + "quantity": 1 + }, + "879485f6-249d-44a0-a6d9-f8cd851b8f88": { + "templateId": "Quest:wargames_visibilityquest_challenge_dangerclose", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.662Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f9925d49-f7c2-48db-a6e7-1a2fdeffd9eb": { + "templateId": "Quest:heroquest_loadout_ninja_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:24:36.657Z", + "completion_complete_pve03_diff3_loadout_ninja": 300, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3c36e677-49b3-4bf8-8b23-b8bdb5d8311b": { + "templateId": "Quest:wargames_completedailyquest", + "attributes": { + "creation_time": "2025-01-02T20:30:31.509Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.509Z", + "level": -1, + "quest_rarity": "legendary", + "xp_reward_scalar": 1, + "quest_pool": "dailywargameschallenge_01" + }, + "quantity": 1 + }, + "eed7e9c1-439e-4d68-811e-810858254385": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 50, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "31f3e369-edc4-45e9-a3ff-8ac5570ae5af": { + "templateId": "Quest:challenge_holdthedoor_10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-27T17:41:35.874Z", + "completion_complete_outpost": 6, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d5f02a72-f9d2-4fdb-a8e9-652bb5339997": { + "templateId": "Worker:managermartialartist_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsMartialArtist", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-MartialArtist-M01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "51536ead-1117-48da-85e8-ec5a40025a9a": { + "templateId": "Quest:heroquest_ninjaleadership", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:36:30.980Z", + "completion_unlock_skill_tree_ninja_leadership": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "61b4b6b6-2b75-4cc3-a5ea-e77bffad1cda": { + "templateId": "Quest:cannyvalley_mechanical_exploration", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T20:30:12.863Z", + "completion_cannyvalley_mechanical_exploration": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ba72318f-e69f-47d9-b45f-ae27ece2e461": { + "templateId": "HomebaseNode:questreward_expedition_helicopter", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "0ff9d80e-611f-41e9-8c2c-78acda4f8c70": { + "templateId": "Hero:hid_ninja_smokedimmak_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "8b3be619-504d-45fe-aba9-e708b97979e0": { + "templateId": "Schematic:sid_pistol_autoheavy_founders_vr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_firerate_ranged_t01", + "Alteration:aid_att_stability_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onreload_damagebuff" + ] + }, + "quantity": 1 + }, + "1f533b95-aeb9-4b63-92b7-43b3d6ca39e1": { + "templateId": "HomebaseNode:questreward_expedition_dirtbike", + "attributes": {}, + "quantity": 1 + }, + "39592c76-008b-4704-ab09-e72cde545385": { + "templateId": "HomebaseNode:questreward_newheroloadout2_dummy", + "attributes": {}, + "quantity": 1 + }, + "5a7e0ae6-cb15-43a4-84d0-63c658cc5775": { + "templateId": "HomebaseNode:questreward_plankerton_squad_ssd5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "4e0dd929-8be7-4707-a650-353d32aba2a3": { + "templateId": "Quest:huntmonster_quest_a01_interact", + "attributes": { + "creation_time": "2024-12-16T20:05:04.711Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.711Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "82c821d7-32dc-4c09-a4e2-2f122f73b58d": { + "templateId": "AccountResource:reagent_weapons", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 86873 + }, + "abb8aaef-dc9a-47ef-8827-a75cb491bd67": { + "templateId": "Quest:cannyvalley_landmark_rift", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-18T20:58:28.346Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_landmark_rift": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9d253571-a0ec-4689-a927-201be6ec1d03": { + "templateId": "Quest:outpostquest_t3_endless", + "attributes": { + "creation_time": "2024-12-29T19:51:36.476Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T19:51:36.476Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3dcbad32-a71b-4c1a-947f-8e803c8ec6f4": { + "templateId": "Quest:s11_holdfastquest_repeat_ice", + "attributes": { + "creation_time": "2024-12-28T22:47:59.472Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-28T22:47:59.472Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "74a1f0a0-2447-41ec-bf55-552c8a3b7fc6": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "8ccd462f-181c-4c40-ba98-aaac4103f267": { + "templateId": "Quest:teamperkquest_endlessshadow", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-01T03:20:18.571Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "afb6f2f2-ea80-49c1-b3b3-30b13052759d": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "2e09c41d-8397-4d05-b5b8-4a05ef63bf46": { + "templateId": "Quest:s11_rescuehero_quest_h1", + "attributes": { + "creation_time": "2024-12-16T20:05:04.728Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.728Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6e3ba055-1f6e-4f05-a663-d04a365ba2dd": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd6", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "e48dca4b-789a-4d2c-8faa-fba4b9ad9f23": { + "templateId": "Quest:cannyvalley_reactive_trail", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T07:13:46.730Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_trail": 7, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "aaaabd1e-b72c-49d0-978c-4441ff1c7ac0": { + "templateId": "AccountResource:reagent_alteration_ele_fire", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 18290 + }, + "11d6571f-bca6-4ae8-8564-3fe76e026f93": { + "templateId": "Quest:challenge_holdthedoor_20", + "attributes": { + "creation_time": "2024-04-14T00:15:01.142Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-17T18:02:37.338Z", + "completion_complete_outpost": 11, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f436f696-a643-4a1e-ad1a-0c759d2b7beb": { + "templateId": "HomebaseNode:questreward_expedition_truck5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "8cfd3d9a-14b9-4dc8-ab16-f65791fd6511": { + "templateId": "Quest:cannyvalley_mechanical_shelterrescue", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-20T05:59:55.209Z", + "selection": 0, + "completion_cannyvalley_mechanical_shelterrescue": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "471a8ccc-1c05-4943-bd9d-cba0f9d78be4": { + "templateId": "Quest:s11_holdfastquest_seasonelite_knight", + "attributes": { + "creation_time": "2024-12-16T20:05:04.718Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.718Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fa41d74f-0321-49f2-8a85-57a02a4cdfd1": { + "templateId": "Quest:cannyvalley_reactive_oldbooks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-24T16:56:23.253Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_oldbooks": 7, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "411fd1e2-48ca-49ff-a855-666d0dd1219f": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd1", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "9e29f536-4d15-49b9-b38e-e1b45adec403": { + "templateId": "Schematic:sid_pistol_handcannon_semi_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_headshotdamage_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_onimpactbreak_dealdamage" + ] + }, + "quantity": 1 + }, + "804c265c-0e12-4801-ac40-e4204749c469": { + "templateId": "Quest:stonewoodquest_tutorial_levelup_defender", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.866Z", + "completion_defenderupgrade_guard_heroes": 1, + "completion_defenderupgrade_tabcallout": 1, + "level": -1, + "completion_defenderupgrade_intro_defenders": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_defenderupgrade_guard_command": 1, + "completion_defenderupgrade_highlight_command": 1 + }, + "quantity": 1 + }, + "89f2fc1c-1034-4757-9285-0be3124dd4bd": { + "templateId": "Quest:cannyvalley_reactive_pianos", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-21T04:28:20.479Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_pianos": 5, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f9eb69d2-7268-401c-b390-6f633ec2a22f": { + "templateId": "Quest:challenge_defendertraining_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T02:53:34.395Z", + "level": -1, + "item_seen": true, + "completion_convert_any_defender": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8734e92d-5f1d-42ce-bbab-26f509da9df1": { + "templateId": "Quest:challenge_leavenoonebehind_17", + "attributes": { + "creation_time": "2024-03-29T05:24:54.722Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-07T01:36:38.221Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 105, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "42439ee7-93a0-4c69-9c42-4f83351f507e": { + "templateId": "Quest:challenge_eldritchabominations_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-14T03:38:16.030Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 20, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "befe398c-70d3-4a68-9286-c71950e97563": { + "templateId": "Quest:cannyvalley_reactive_trees", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-21T17:13:50.935Z", + "completion_cannyvalley_reactive_trees": 20, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "833dbd5e-0b7f-4647-8072-16db8cc4f4c4": { + "templateId": "Quest:foundersquest_getrewards_microsoft", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:48:44.588Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "dc9130c1-9d81-47af-88e0-eec6c9c76e9d": { + "templateId": "Quest:foundersquest_soldier_weaponupgrade_vr", + "attributes": { + "completion_craft_founders_assault_r": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-03-31T18:38:32.021Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "epic", + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t1_l3": 1 + }, + "quantity": 1 + }, + "b6bbe7e3-3a7d-4b44-b09e-86d028694690": { + "templateId": "Quest:cannyvalley_reactive_oldmaps", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-24T19:07:41.654Z", + "selection": 0, + "level": -1, + "completion_cannyvalley_reactive_oldmaps": 50, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e5d43f0a-61f9-4d12-9e87-7477b533a022": { + "templateId": "Token:homebasepoints", + "attributes": { + "level": 1 + }, + "quantity": 2 + }, + "40332eca-0197-4e58-ad9c-841c32f6263e": { + "templateId": "HomebaseNode:questreward_expedition_rowboat", + "attributes": {}, + "quantity": 1 + }, + "c2938631-148d-41ac-aed1-04d2a9540152": { + "templateId": "Schematic:sid_blunt_hammer_hydraulic_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damage_t01", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_weapon_stun_v2" + ] + }, + "quantity": 1 + }, + "11bf9e5b-0cfa-481a-be29-b8f26f712b9c": { + "templateId": "Quest:challenge_leavenoonebehind_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T01:44:52.467Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 35, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "566ca907-b800-42c7-b014-66b2c5312c86": { + "templateId": "Quest:challenge_eldritchabominations_8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-21T21:18:43.892Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 40, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6dab1f67-bfa4-4c21-a951-a51ce12c1687": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "1", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "77e74bfc-bbdc-4658-8725-63d88dc5de62": { + "templateId": "Quest:outpostquest_t2_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T03:46:36.521Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_2_3": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "409cf81d-f06e-4daf-a3e3-99bdef15da7c": { + "templateId": "Quest:wargames_visibilityquest_challenge_swarm", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "74f2433c-4e4b-466a-887d-ec8471eb7ea9": { + "templateId": "Quest:heroquest_outlander_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T04:24:51.184Z", + "level": -1, + "item_seen": true, + "completion_complete_pve01_diff3_outlander": 3, + "sent_new_notification": true, + "completion_ability_outlander_fragment": 1, + "quest_rarity": "uncommon", + "completion_upgrade_outlander_lvl_3": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f2a3bbe8-ab6d-4665-931b-128a7470149b": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "1855234a-b724-4a13-9895-391c009ad068" + }, + "loadout_index": 5 + }, + "quantity": 1 + }, + "09246477-a6e1-4c17-bb56-592638e6f011": { + "templateId": "Quest:heroquest_loadout_ninja_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T04:09:17.917Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_pve03_diff24_loadout_ninja": 3 + }, + "quantity": 1 + }, + "a04705c2-e659-4721-b80b-251cb4c0b97b": { + "templateId": "Quest:plankertonquest_tutorial_perk", + "attributes": { + "completion_plankertonquest_tutorial_perk_obj_guardscreen01": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.869Z", + "level": -1, + "completion_plankertonquest_tutorial_perk_obj_tabcallout": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ac8bf1ad-a903-40df-81fd-d7de195f2640": { + "templateId": "Quest:stwstarterbundle18_02", + "attributes": { + "creation_time": "2024-03-26T20:57:48.414Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-27T17:25:05.328Z", + "level": -1, + "item_seen": true, + "completion_stwstarterbundle18_02_obj0": 3, + "quest_rarity": "legendary", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "343d8f22-f9d3-4d31-b1d1-8fb3d144cb78": { + "templateId": "Quest:plankertonquest_filler_1_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T16:44:36.651Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcomplete_plankertonquest_landmark_plankharbor": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "288f006e-2d15-4e85-8f27-9b3d89dfda91": { + "templateId": "Hero:hid_commando_xbox_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "squad_id": "", + "level": 1, + "item_seen": true, + "squad_slot_idx": 0, + "refundable": false, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "c62ec01f-7de8-4df6-a2e3-bae60e6525e2": { + "templateId": "Quest:outpostquest_t4_l10", + "attributes": { + "creation_time": "2024-12-29T22:20:10.393Z", + "completion_complete_outpost_4_10": 1, + "quest_state": "Claimed", + "last_state_change_time": "2024-12-30T12:37:03.323Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "75f18fb8-ed27-4842-9f04-5a904215bc16": { + "templateId": "Worker:managerexplorer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsExplorer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Explorer-F01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "ff8fc92e-b85c-4588-83ed-f9b3f87e3202": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 40, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "0e453e28-a204-4268-a525-77a0b3d04f9d": { + "templateId": "Quest:foundersquest_ninja_weaponupgrade_sr", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-26T07:26:43.545Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_craft_founders_sword_vr": 1, + "quest_rarity": "legendary", + "completion_questcomplete_stonewoodquest_launchrocket_d5": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "08603cb0-1127-49e1-aa10-3273a047c00f": { + "templateId": "HomebaseNode:commanderlevel_rpcollection", + "attributes": {}, + "quantity": 8 + }, + "c42c70d0-3f58-4385-bc55-c2e683914212": { + "templateId": "Quest:cannyvalleyquest_side_3_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-18T19:52:35.049Z", + "completion_complete_powerreactor_3_diff1": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "dd43b41e-716e-4f68-8a7b-e7c7b1e11e1d": { + "templateId": "Quest:challenge_toxictreasures_16", + "attributes": { + "creation_time": "2024-04-01T15:38:38.215Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-13T06:21:23.479Z", + "level": -1, + "item_seen": true, + "completion_complete_mimic": 9, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a12677cb-59c3-49e5-86fc-717fd4c736e5": { + "templateId": "Schematic:sid_floor_defender", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "1d930308-b517-4fbe-9fd5-0146b99e3074": { + "templateId": "Quest:stonewoodquest_killcollect_mistmonsters", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.845Z", + "level": -1, + "completion_stonewoodquest_killcollect_mistmonsters": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3c65db11-9c82-485f-86a1-02c7066cf6fa": { + "templateId": "Quest:heroquest_loadout_outlander_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T05:33:56.438Z", + "level": -1, + "item_seen": true, + "completion_complete_pve03_diff24_loadout_outlander": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "601e707d-76c9-4439-9ecf-5915636abb20": { + "templateId": "Quest:cannyvalley_reactive_rustedcars", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T17:44:29.725Z", + "completion_cannyvalley_reactive_rustedcars": 9, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0fdd7864-0704-411c-8986-1999b8323440": { + "templateId": "AccountResource:reagent_alteration_upgrade_vr", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 26 + }, + "043b2066-0f17-427e-8063-ec8f1316dc98": { + "templateId": "Quest:cannyvalley_landmark_welcome", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T05:46:44.668Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_landmark_welcome": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8fdeaf28-f87e-4f6a-b0c1-c0aceb87b408": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "97604433-4834-454a-b9f7-fdfd4f2bc64e": { + "templateId": "Quest:challenge_missionaccomplished_9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-16T19:42:16.436Z", + "level": -1, + "completion_complete_primary": 7, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fa805ec0-b258-4d1a-a2e9-02ea0a74db50": { + "templateId": "Quest:cannyvalley_reactive_tumbleweed", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:25:08.715Z", + "selection": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_tumbleweed": 10, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5dfdcf51-15f6-4015-a7f0-f938e383f939": { + "templateId": "Quest:challenge_holdthedoor_9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-06T16:39:48.886Z", + "completion_complete_outpost": 6, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "421cd35a-c16a-4a49-bca2-39a47f9576d6": { + "templateId": "Hero:hid_outlander_xbox_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "squad_id": "", + "level": 1, + "item_seen": true, + "squad_slot_idx": 0, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "1cd1b87c-8c2d-45f4-bc70-68564c0185db": { + "templateId": "Quest:genericquest_killmistmonsters_repeatable", + "attributes": { + "creation_time": "2024-12-30T12:37:00.720Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-30T12:37:00.720Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6b241489-8d22-476d-bf25-b029313e1c5a": { + "templateId": "Quest:cannyvalleyquest_filler_3_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T21:00:10.088Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_kill_husk_flinger_3_diff3_v3": 20, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ce26a282-5614-4bed-b475-0a4085f8ae1c": { + "templateId": "Quest:achievement_playwithothers", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2018-08-09T22:33:07.412Z", + "level": -1, + "completion_quick_complete": 11, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c1b7738d-fb09-4e71-adb4-11b5a73f2158": { + "templateId": "Quest:reactivequest_waterhusks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T16:35:17.256Z", + "completion_quest_reactive_waterhusks": 10, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ab4fca2a-1ed6-482a-a561-a2f1a9df2086": { + "templateId": "AccountResource:currency_xrayllama", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 895 + }, + "44767dfd-5de4-48e4-afc9-0f25212b22a4": { + "templateId": "Quest:stonewoodquest_landmark_buildoff", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.838Z", + "level": -1, + "sent_new_notification": true, + "completion_stonewoodquest_landmark_buildoff": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "07e61435-c3c0-47b8-a7f0-4a2e7f8b2b28": { + "templateId": "Quest:teamperkquest_nevertellmetheodds", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-29T00:13:45.987Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2423899b-5cfc-4c1e-a53e-49ca3f8812f4": { + "templateId": "Quest:wargames_visibilityquest_wargame_generators", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2c3281d3-3c84-405e-b169-9d1f886652a2": { + "templateId": "Quest:plankertonquest_autumnfoothills_destroy", + "attributes": { + "creation_time": "2023-01-18T17:44:58.505Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-25T18:08:05.728Z", + "completion_plankertonquest_autumnfoothills_destroy": 26, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "77488aac-76a8-46c3-abc8-ffcf6ffa1ba0": { + "templateId": "Worker:managerdoctor_sr_kingsly_t05", + "attributes": { + "squad_id": "squad_attribute_medicine_emtsquad", + "personality": "Homebase.Worker.Personality.IsCompetitive", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsDoctor", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Doctor-kingsly", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "44633448-2f40-4877-8dfa-8bf207bfdde0": { + "templateId": "Quest:cannyvalley_reactive_watertowers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T08:04:01.668Z", + "completion_cannyvalley_reactive_watertowers": 7, + "selection": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "58171c79-5632-4733-9ea5-7fe9539f3e69": { + "templateId": "Quest:stonewoodquest_mechanical_killhusks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.844Z", + "completion_stonewoodquest_mechanical_killhusks_melee": 20, + "level": -1, + "completion_stonewoodquest_mechanical_killhusks_ranged": 20, + "completion_stonewoodquest_mechanical_killhusks_trap": 20, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a3da60be-51c4-48ad-9db2-a6df4fbafeb8": { + "templateId": "Quest:plankertonquest_outpost_l5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T16:00:04.282Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_questcomplete_outpostquest_t2_l5": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e81dfc2d-abef-4285-909b-97f6731bfee1": { + "templateId": "Quest:plankertonquest_autumnfoothills_explore", + "attributes": { + "creation_time": "2024-04-10T03:58:42.326Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-10T04:34:41.269Z", + "level": -1, + "item_seen": true, + "completion_plankertonquest_autumnfoothills_explore": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "80dd395c-f910-45a6-81fe-127d1b72a6aa": { + "templateId": "Quest:cannyvalleyquest_side_4_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-23T20:09:46.937Z", + "completion_complete_evacuateshelter_3_diff3": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4a4d6424-4553-4892-b5a0-f3ad1067dd94": { + "templateId": "Quest:stw_stormkinghard_kingme", + "attributes": { + "creation_time": "2024-04-15T02:50:59.388Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T17:01:28.645Z", + "completion_stw_stormkinghard_kingme": 2, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ceb568cf-b965-40b4-b9a7-972dce695256": { + "templateId": "Worker:managerengineer_uc_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsEngineer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-Engineer-M01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "7ca4274c-4c56-4fef-a4a7-75946211d212": { + "templateId": "Quest:reactivequest_radiostation", + "attributes": { + "completion_quest_reactive_radiostation": 5, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-28T20:27:48.023Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1df107ec-6f07-42a6-ad7c-2b5391470d7b": { + "templateId": "HomebaseNode:questreward_feature_weaponlevelup", + "attributes": {}, + "quantity": 1 + }, + "1855234a-b724-4a13-9895-391c009ad068": { + "templateId": "Hero:hid_ninja_011_vr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "d760c4fa-f476-4416-b77d-06982c036873": { + "templateId": "Quest:reactivequest_finddj", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T04:35:52.973Z", + "level": -1, + "item_seen": true, + "completion_quest_reactive_finddj": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "48949d29-9840-4580-a4e4-80abfa896c73": { + "templateId": "Hero:hid_outlander_008_foundersm_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "5556f3dc-19a4-4919-8747-fa00a55a25a7": { + "templateId": "Expedition:expedition_craftingrun_short_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.771Z", + "level": 1, + "expedition_max_target_power": 210, + "expedition_min_target_power": 10, + "expedition_slot_id": "expedition.generation.land.t03_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.771Z" + }, + "quantity": 1 + }, + "cb709760-f70a-41bf-8a91-d29b7c95dc59": { + "templateId": "Quest:wargames_visibilityquest_wargame_anomaly", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3b2eca56-0409-4a62-84b9-77a05cbb8c9c": { + "templateId": "HomebaseNode:questreward_buildingresourcecap3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "1394b714-31d9-42b4-923a-3484129b9dd4": { + "templateId": "TeamPerk:tpid_soaringmantis", + "attributes": {}, + "quantity": 1 + }, + "482d47a4-04c4-4203-9946-cad9611ff1e6": { + "templateId": "Quest:plankertonquest_filler_2_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T22:38:36.200Z", + "completion_complete_delivergoods_2_diff3_v2": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "48feebbf-05bf-4cb6-b5bc-cd078cc414fd": { + "templateId": "Quest:outpostquest_t4_endless", + "attributes": { + "creation_time": "2024-12-30T12:37:03.331Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-30T12:37:03.331Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f4803dd7-2c96-419a-8ee5-69994726c975": { + "templateId": "Quest:challenge_missionaccomplished_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T01:37:06.413Z", + "level": -1, + "completion_complete_primary": 5, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3ef251f4-de74-4199-ba0b-0fe571687b2d": { + "templateId": "Quest:cannyvalleyquest_filler_4_d5", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-08-01T05:18:27.457Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4587f01c-d875-4ae8-a627-876a557856db": { + "templateId": "Quest:outpostquest_t4_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-11T17:47:32.171Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_4_4": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6fae7ff7-dac4-4dd3-9220-9bf091954d2a": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsAdventurous", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 10, + "item_seen": true, + "squad_slot_idx": 7, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "d443fca7-67a9-46eb-8fd2-96ca66f7fd8a": { + "templateId": "Worker:managermartialartist_c_t01", + "attributes": { + "gender": "2", + "personality": "Homebase.Worker.Personality.IsCompetitive", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsMartialArtist", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-MartialArtist-F01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "4c2d3934-80be-4993-ae16-28522b209c05": { + "templateId": "Quest:challenge_eldritchabominations_12", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T23:13:22.776Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 60, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9362492e-f9ac-48e1-bbde-a7c33ee9c9a3": { + "templateId": "Quest:heroquest_constructor_2", + "attributes": { + "completion_build_any_floor_constructor": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T04:44:49.627Z", + "completion_complete_pve01_diff2_constructor": 1, + "completion_ability_bullrush": 1, + "level": -1, + "completion_ability_base": 1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "dc582a5e-9988-4297-9279-94cbd6606af4": { + "templateId": "HomebaseNode:questreward_expedition_truck3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "bb9b7a6d-bf34-4457-8351-082851b8eac5": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "cd977003-ff88-4cab-a214-ea9a189bffff": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "9678b8a1-5704-4796-afd7-10b4318c184f": { + "templateId": "HomebaseNode:questreward_feature_traplevelup", + "attributes": {}, + "quantity": 1 + }, + "faabf7f3-e9c3-48f2-8a93-8f060cdca0c5": { + "templateId": "Quest:cannyvalley_reactive_powertransformers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-26T20:08:30.765Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_powertransformers": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7bb4e490-ab4e-4a2d-8af0-04e11651f8b7": { + "templateId": "CardPack:cardpack_weapons_collectionbook", + "attributes": { + "level": 1673, + "pack_source": "CollectionBook" + }, + "quantity": 1 + }, + "2e49ad93-2493-412c-9e56-c08bc4c54926": { + "templateId": "AccountResource:voucher_cardpack_bronze", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 4 + }, + "6c416f49-b408-4754-9905-c52e788d8433": { + "templateId": "AccountResource:eventcurrency_snowballs", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 3908 + }, + "912e6ee1-d469-48cb-bf09-22ca69944bbf": { + "templateId": "Quest:outpostquest_t3_l10", + "attributes": { + "creation_time": "2024-12-29T19:21:16.104Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T19:51:36.468Z", + "completion_complete_outpost_3_10": 1, + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "474405d3-aa1f-4bdf-b986-c2de255f794d": { + "templateId": "Schematic:sid_edged_axe_medium_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t02", + "Alteration:aid_att_maxdurability_t02", + "Alteration:aid_ele_nature_t02", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "aa8e1886-28ec-4890-ad17-33bc67f88586": { + "templateId": "HomebaseNode:questreward_expedition_truck", + "attributes": {}, + "quantity": 1 + }, + "f22111ca-c695-4bfa-adbc-240c43c06fd8": { + "templateId": "Quest:weeklyquest_tiered_completemissionalerts_t21", + "attributes": { + "creation_time": "2024-04-16T00:02:13.770Z", + "quest_state": "Active", + "last_state_change_time": "2024-04-16T00:02:13.770Z", + "selection": -1, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "weeklyquestroll_19", + "completion_weeklyquest_tiered_completemissionalerts_t21": 4 + }, + "quantity": 1 + }, + "a0096952-9002-48c8-9aa9-043deb8a2e67": { + "templateId": "Quest:pickaxequest_stw002_tier_3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:24.788Z", + "level": -1, + "completion_pickaxequest_stw002_tier_3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2f0a8d3f-a744-42f4-a5ee-014d4efc058f": { + "templateId": "Quest:stonewoodquest_filler_1_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T09:50:36.066Z", + "completion_complete_pve01_diff2": 1, + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 3, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "878865ce-6bcb-4d92-896b-fc467e82bee8": { + "templateId": "Quest:plankertonquest_launchtherocket", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T17:15:49.424Z", + "completion_questcomplete_plankertonquest_launchrocket_d5": 1, + "selection": -1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "50e31c5b-5e0e-41ac-b4dd-3661eed3baaf": { + "templateId": "Quest:wargames_visibilityquest_wargame_overload", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-19T02:41:39.183Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "46b83266-f257-45c2-b525-6d3ff0066a61": { + "templateId": "Quest:outpostquest_t4_l8", + "attributes": { + "creation_time": "2024-12-29T20:56:14.954Z", + "completion_complete_outpost_4_8": 1, + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T21:42:49.976Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3d11f2cb-e4a4-40fc-b326-36a1e6651ae7": { + "templateId": "Schematic:sid_shotgun_break_ou_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_stability_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "39a5e7a1-5602-49b1-adf1-4779a89b42de": { + "templateId": "HomebaseNode:questreward_expedition_helicopter3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "89d799d1-7edb-418b-a0af-8ae7bf308bd7": { + "templateId": "Schematic:sid_edged_sword_medium_laser_founders_sr_ore_t05", + "attributes": { + "level": 50, + "refund_legacy_item": true, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t04", + "Alteration:aid_att_critchance_t04", + "Alteration:aid_att_critdamage_t04", + "Alteration:aid_att_damage_t04", + "Alteration:aid_att_maxdurability_t04", + "Alteration:aid_g_weapon_onhit_energynova" + ], + "favorite": true + }, + "quantity": 1 + }, + "ae51858f-18b3-43c0-9101-8720e6ff7617": { + "templateId": "Quest:challenge_holdthedoor_14", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-12-04T19:10:59.896Z", + "completion_complete_outpost": 8, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "beacce3b-a81d-410f-a542-8bb633960aa3": { + "templateId": "Quest:teamperkquest_onetwopunch", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-21T17:22:12.819Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "73a5908e-99a9-48ce-bc92-9c1c1b9240eb": { + "templateId": "TeamPerk:tpid_shiftinggears", + "attributes": {}, + "quantity": 1 + }, + "7fa34486-20fb-49f3-ad63-7da7a9472d72": { + "templateId": "Schematic:sid_piercing_spear_laser_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_critchance_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "5ca44f22-bb36-41fa-bd22-fc467657496e": { + "templateId": "TeamPerk:tpid_boombase", + "attributes": {}, + "quantity": 1 + }, + "2479238f-3567-4530-86fb-2286339c7b29": { + "templateId": "Quest:achievement_protectthesurvivors", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:31:12.496Z", + "level": -1, + "completion_custom_protectthesurvivors": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cf122df4-bf83-4151-a2b0-d26f31e84ccd": { + "templateId": "Quest:challenge_toxictreasures_13", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-25T00:29:37.060Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 8, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7933addb-d741-4dd6-8105-706430ed2367": { + "templateId": "PrerollData:preroll_basic", + "attributes": { + "fulfillmentId": "OfferId:4D64CBE3618D41FBB5CAD0E472F4610A", + "expended_streakbreakers": { + "Currency:SB_Silver": 100, + "Currency:SB_Bronze": 100 + }, + "level": 1, + "highest_rarity": 2, + "offerId": "4D64CBE3618D41FBB5CAD0E472F4610A", + "expiration": "2025-01-03T00:00:00.000Z", + "items": [ + { + "itemType": "Worker:managertrainer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-PersonalTrainer-M01" + }, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_edged_sword_heavy_c_ore_t01", + "attributes": { + "Alteration": { + "LootTierGroup": "AlterationTG.Melee.C", + "Tier": 0 + }, + "alterations": [ + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_att_movementspeed_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + { + "itemType": "Worker:managertrainer_c_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-PersonalTrainer-M01" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F02", + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + { + "itemType": "ConsumableAccountItem:smallxpboost_gift", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "AccountResource:eventcurrency_snowballs", + "attributes": {}, + "quantity": 50 + }, + { + "itemType": "Hero:hid_ninja_015_f_v1_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_shotgun_tactical_r_ore_t01", + "attributes": { + "Alteration": { + "LootTierGroup": "AlterationTG.Ranged.R", + "Tier": 0 + }, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAnalytical", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Analytical-M01", + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + { + "itemType": "Hero:hid_outlander_008_r_t01", + "attributes": {}, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "1", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-M01", + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F03", + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + { + "itemType": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "2", + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-F02", + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + { + "itemType": "Schematic:sid_ceiling_electric_single_vr_t01", + "attributes": { + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_buildingheal_t03" + ] + }, + "quantity": 1 + } + ] + }, + "quantity": 1 + }, + "9b124d00-406d-4a49-b28c-c0d8394f9ab5": { + "templateId": "Quest:reactivequest_smasher", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T02:16:06.222Z", + "completion_quest_reactive_smasher": 5, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "44f85d13-029b-42d0-8abc-9bf578e200d1": { + "templateId": "AccountResource:reagent_c_t01", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 1895 + }, + "472e90dd-2651-4376-b225-ad3719f5b35d": { + "templateId": "Expedition:expedition_sea_survivorscouting_medium_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.752Z", + "expedition_criteria": [ + "RequiresEpicOutlander", + "RequiresEpicOutlander" + ], + "level": 1, + "expedition_max_target_power": 355, + "expedition_min_target_power": 17, + "expedition_slot_id": "expedition.generation.sea.t03_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.752Z" + }, + "quantity": 1 + }, + "0f37ce6a-119b-4825-a582-71a2b2c6570f": { + "templateId": "Quest:challenge_missionaccomplished_14", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-21T05:37:04.797Z", + "level": -1, + "completion_complete_primary": 9, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2aea7fde-9c0b-4429-b928-3dda4f0f35e7": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "e972f5c2-8e47-4901-9416-19831f0c58ea": { + "templateId": "Quest:foundersquest_outlander_weaponupgrade_sr", + "attributes": { + "creation_time": "2024-04-08T17:17:34.168Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-13T15:16:43.869Z", + "level": -1, + "item_seen": true, + "quest_rarity": "legendary", + "completion_questcomplete_stonewoodquest_launchrocket_d5": 1, + "completion_craft_founders_pistol_vr": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d80fe249-4062-46e3-8cd5-9737c5c6716a": { + "templateId": "HomebaseNode:questreward_expedition_speedboat", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "238335ca-07d6-495e-8cde-5b8da709c9f9": { + "templateId": "AccountResource:heroxp", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 11003824 + }, + "01bfaee2-3840-4523-8821-cdbdd160a523": { + "templateId": "Hero:hid_ninja_smokedimmak_vr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "6bd2ec91-ede6-4f52-bcb1-6aaa08347870": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_closeassaultsquad", + "level": 40, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "ea1df154-76aa-43c6-9332-c5b05ebeaa4f": { + "templateId": "Quest:outpostquest_t3_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T23:49:45.071Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_3_2": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ec3be0ba-19a0-4019-905c-c5582f7dc6e7": { + "templateId": "Schematic:sid_edged_scythe_neonglow_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_energy_intrin_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_firerate_melee_t03", + "Alteration:aid_conditional_afflicted_dmgbonus_t03", + "Alteration:aid_g_onmeleekill_regenshields" + ] + }, + "quantity": 1 + }, + "962da2ef-ba52-4259-958e-3e8fb779c20e": { + "templateId": "Quest:outpostquest_t4_l6", + "attributes": { + "creation_time": "2024-04-15T02:50:59.388Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-15T20:29:19.361Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_4_6": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e244efc8-142e-4b58-9727-fb2e5d783473": { + "templateId": "Quest:cannyvalleyquest_outpost_l4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-16T21:00:17.782Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t3_l4": 1 + }, + "quantity": 1 + }, + "f8d7eaad-d933-4b8d-8bf7-985cdd510571": { + "templateId": "Quest:challenge_holdthedoor_15", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-03-29T05:40:33.650Z", + "completion_complete_outpost": 9, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cbd8dc43-3af6-48e9-8495-3d52f0335f55": { + "templateId": "Quest:outpostquest_t3_l5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-22T21:48:59.748Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_3_5": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3f167808-0eb6-4571-8006-1c3bc150b614": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "2", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "fc88b709-97e6-455a-9619-637ced19c9cd": { + "templateId": "Worker:workerbasic_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 50, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "282db0d2-6957-4396-bbda-a55200a64228": { + "templateId": "Quest:cannyvalleyquest_filler_2_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-30T05:21:29.462Z", + "completion_complete_pve03_diff5_v2": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcollect_survivoritemdata_v2": 15, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "7c549b74-4835-40b0-8f50-094d7f6bb826": { + "templateId": "Expedition:expedition_air_supplyrun_long_t03", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.757Z", + "expedition_criteria": [ + "RequiresEpicConstructor" + ], + "level": 1, + "expedition_max_target_power": 505, + "expedition_min_target_power": 25, + "expedition_slot_id": "expedition.generation.air.t03_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.757Z" + }, + "quantity": 1 + }, + "6bf74234-63d7-48cd-be16-63004992fcec": { + "templateId": "Quest:challenge_toxictreasures_11", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T18:04:41.123Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "752ce1f0-eec3-4360-a34e-fac90434c3f4": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "4522d996-4192-40a9-a6d6-c7dbd333be40": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "ea2999d3-28d3-4a71-9393-f8eba3c0874e": { + "templateId": "Schematic:sid_floor_player_jump_pad_free_direction", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "e8353f3d-fd9b-4c6e-a7a7-0abd8867c8dc": { + "templateId": "TeamPerk:tpid_phaseblaster", + "attributes": {}, + "quantity": 1 + }, + "222d1edb-11e6-40a7-aa77-d593a7958627": { + "templateId": "HomebaseNode:questreward_expedition_helicopter4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "f28498d0-8121-47b0-9a55-87f3df145e3a": { + "templateId": "Quest:wargames_visibilityquest_challenge_fulltime", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "36d11704-7eb6-4883-8be9-3fcf38b33137": { + "templateId": "AccountResource:reagent_c_t03", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 119 + }, + "0ebb8e6a-3f5f-4211-a970-0d9b69581522": { + "templateId": "Expedition:expedition_resourcerun_woodstone_medium", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.767Z", + "level": 1, + "expedition_max_target_power": 115, + "expedition_min_target_power": 5, + "expedition_slot_id": "expedition.generation.land.t02_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.767Z" + }, + "quantity": 1 + }, + "0d245f75-5752-4c8d-b8b2-e1fc45c43a8b": { + "templateId": "Quest:challenge_eldritchabominations_19", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-08T18:00:46.804Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 95, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2c1f8130-b99e-4f84-a22d-ddba6c1fa3bf": { + "templateId": "Stat:offense", + "attributes": { + "level": 1 + }, + "quantity": 504 + }, + "f0de0b7c-9be8-460a-98ed-56f196ff946f": { + "templateId": "Quest:outpostquest_t2_l9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-04-05T17:52:58.778Z", + "completion_complete_outpost_2_9": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "937b831f-2254-486e-a062-96703e5753e9": { + "templateId": "Quest:twinepeaksquest_filler_3_d1", + "attributes": { + "creation_time": "2024-04-05T05:08:22.881Z", + "quest_state": "Active", + "last_state_change_time": "2024-04-05T05:08:22.881Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9958db7c-b20c-4153-b9f2-94d3b67d1f3b": { + "templateId": "Worker:managerinventor_sr_rad_t05", + "attributes": { + "squad_id": "squad_attribute_synthesis_thethinktank", + "personality": "Homebase.Worker.Personality.IsCooperative", + "level": 50, + "squad_slot_idx": 0, + "item_seen": true, + "managerSynergy": "Homebase.Manager.IsInventor", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-SR-Inventor-rad", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "22ea8848-a2d6-467b-8e00-46d42de90ded": { + "templateId": "Quest:challenge_holdthedoor_12", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-18T17:59:10.758Z", + "completion_complete_outpost": 7, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e5599cd8-c286-4fc1-b5bc-68e8f0da1523": { + "templateId": "Quest:heroquest_constructorleadership", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:58:33.340Z", + "completion_unlock_skill_tree_constructor_leadership": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d0e7f1f9-25fe-42c1-899d-3595f846dbe6": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "33db9e9f-efe4-463b-83f6-c9a84079d3b8" + }, + "loadout_index": 8 + }, + "quantity": 1 + }, + "07696694-7240-4018-a099-65f1f31e1526": { + "templateId": "Stat:technology", + "attributes": { + "level": 1 + }, + "quantity": 504 + }, + "68966139-135c-42c5-897e-ba706641f055": { + "templateId": "Quest:foundersquest_ninja_weaponupgrade_vr", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-26T07:26:05.634Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "epic", + "completion_craft_founders_sword_r": 1, + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t1_l3": 1 + }, + "quantity": 1 + }, + "e46068c5-fd87-4014-9882-e687fc136bbc": { + "templateId": "Quest:plankertonquest_filler_9_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-08T15:35:49.597Z", + "level": -1, + "item_seen": true, + "completion_complete_powerreactor_2_diff4": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6729f9a4-ecd7-41f4-a183-489837f5e396": { + "templateId": "Quest:bbpromoquest_2019_reactive_jesscabinet", + "attributes": { + "completion_bbpromoquest_2019_reactive_jesscabinet_obj0": 5, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-03-26T19:28:40.668Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_bbpromoquest_2019_reactive_jesscabinet": 4, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5ac3d501-343b-4c8c-b06f-f800cafe2a21": { + "templateId": "Quest:challenge_leavenoonebehind_8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-05T14:38:03.327Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 55, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "32e9c15e-0655-4679-b3cd-fe5f9c1b8f42": { + "templateId": "Schematic:sid_edged_sword_dragon_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_att_damageresistance_t02", + "Alteration:aid_att_firerate_melee_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "d41bb14c-64b4-41a5-8f28-e1f4ad2ed2e4": { + "templateId": "Quest:cannyvalley_reactive_telescopes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-21T05:05:37.629Z", + "completion_cannyvalley_reactive_telescopes": 7, + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5623ae48-a36c-4cbc-a8e0-d034945bc79a": { + "templateId": "Quest:plankertonquest_filler_1_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-29T21:43:04.456Z", + "level": -1, + "item_seen": true, + "completion_complete_stormchest_2_diff3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "78cbaec5-6cdc-48a7-a2b5-dc346a0cc2a7": { + "templateId": "Defender:did_defendershotgun_basic_f_sr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_clipsize", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_critchance_ranged", + "Alteration:aid_att_def_clipsize", + "Alteration:aid_att_def_shieldregen" + ] + }, + "quantity": 1 + }, + "fd1532b6-4eda-4c7d-a060-24009830cbd4": { + "templateId": "Quest:challenge_leavenoonebehind_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T05:50:16.264Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 25, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "36942725-74a5-47b4-aa1c-447652aed2c1": { + "templateId": "Quest:teamperkquest_trickandtreat", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-12-16T14:55:35.878Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cbc2adec-8cc4-4d92-b9ca-e974a6e8f3aa": { + "templateId": "HomebaseNode:questreward_expedition_rowboat2", + "attributes": {}, + "quantity": 1 + }, + "ce3320fb-819e-45b5-8574-25fc5295d39e": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "b389fa66-408b-41db-8cb8-a2d706a7cd26": { + "templateId": "Defender:did_defendersniper_basic_sr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_durability", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_clipsize", + "Alteration:aid_att_def_weapondamage_sniper", + "Alteration:aid_att_def_maxshield" + ] + }, + "quantity": 1 + }, + "f9cdef18-bbd0-4abd-a229-225a6bb87eb3": { + "templateId": "Quest:stwstarterbundle18_05", + "attributes": { + "creation_time": "2024-03-26T20:57:48.414Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-02T01:06:42.673Z", + "level": -1, + "item_seen": true, + "completion_stwstarterbundle18_05_obj0": 9, + "quest_rarity": "legendary", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "1463e855-6256-46fa-b73a-e8a24cd831f1": { + "templateId": "Schematic:sid_pistol_semiauto_c_ore_t00", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "dfc4a57a-2cee-4985-91b7-177218f8d802": { + "templateId": "HomebaseNode:skilltree_stormshieldstorage", + "attributes": {}, + "quantity": 5 + }, + "87d799ca-0f09-4fd2-adbc-a36f12b39ef3": { + "templateId": "Hero:hid_constructor_xbox_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "squad_id": "", + "level": 1, + "item_seen": true, + "squad_slot_idx": 0, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "33608329-433c-4ea3-a9b4-71562c54e56c": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M02", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "00f1afaa-9e25-4066-9e51-72e594c4a882": { + "templateId": "Quest:genericquest_completebetastorms_repeatable", + "attributes": { + "creation_time": "2024-12-16T20:05:04.711Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.711Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d0504e0d-60ad-4493-8e30-b9b34b611f9b": { + "templateId": "Quest:challenge_holdthedoor_17", + "attributes": { + "creation_time": "2024-03-31T21:36:54.193Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-05T17:52:54.473Z", + "completion_complete_outpost": 10, + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ac6777f3-23dd-4e25-b3a9-da51bdd5c38b": { + "templateId": "HomebaseNode:questreward_expedition_helicopter2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "16273cb5-a9a6-4800-bdd8-93e6ee2a9b0a": { + "templateId": "Quest:pickaxequest_stw004_tier_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:34.297Z", + "completion_pickaxequest_stw004_tier_5": 4, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "30d5e5c9-b107-476a-abda-822827ae879f": { + "templateId": "Quest:reactivequest_supplyrun", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T01:37:01.199Z", + "completion_complete_pve01_diff5": 2, + "level": -1, + "item_seen": true, + "completion_quest_reactive_larssupplies": 4, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f3771be9-54d5-41bf-8adb-100c36786049": { + "templateId": "Quest:cannyvalley_reactive_survey", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-12T04:32:26.705Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_cannyvalley_reactive_survey": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0b58d5a5-c891-45ef-af94-b8f62e78ff57": { + "templateId": "Quest:challenge_collectionbook_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T09:52:38.391Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_collectionbook_levelup": 2 + }, + "quantity": 1 + }, + "b87e297d-5a61-452e-9803-8fde6e8df3df": { + "templateId": "Quest:cannyvalley_reactive_truther", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T19:29:33.655Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_cannyvalley_reactive_truther": 5 + }, + "quantity": 1 + }, + "d956a286-f163-4157-a004-f94b11f72c70": { + "templateId": "Quest:challenge_leavenoonebehind_12", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T18:39:34.563Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 80, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "02e6e1b9-2b9d-4bf2-8149-c2332f0dab5f": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Quests - Misfit Toys", + "conditions": { + "event": { + "instanceId": "41852m4bc5c9a4rbr15gitl8sq[0]1", + "eventName": "CalendarEvent_Persistent_Holiday_MisfitToys_Quests", + "eventStart": "2024-12-12T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:s11_rescuehero_quest_h1", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:s11_rescuehero_quest_h1", + "quantity": 1 + }, + { + "templateId": "Quest:s11_destroy_quest_h2", + "quantity": 1 + }, + { + "templateId": "Quest:s11_fetch_quest_h3", + "quantity": 1 + }, + { + "templateId": "Quest:s11_landmark_quest_h4", + "quantity": 1 + }, + { + "templateId": "Quest:s11_killcollect_quest_h5", + "quantity": 1 + }, + { + "templateId": "Quest:s11_fetch_quest_h6", + "quantity": 1 + }, + { + "templateId": "Quest:s11_reactivefetch_quest_h7", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "ec6b69c8-7404-45d6-b264-e2f7d4d925d1": { + "templateId": "TeamPerk:tpid_slowyourroll", + "attributes": {}, + "quantity": 1 + }, + "0be6448d-41d2-4ad0-914a-2bda2173bb01": { + "templateId": "Quest:teamperkquest_boombase", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:37:42.061Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5e25cc3a-8250-4811-9f3f-d7e8b6ae24b3": { + "templateId": "Quest:teamperkquest_shiftinggears", + "attributes": { + "creation_time": "2024-04-16T00:10:04.320Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-16T00:11:09.658Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "039d3b93-1e21-4df5-a934-c6ca3a5fcc0c": { + "templateId": "Quest:teamperkquest_blastfromthepast", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T03:47:34.804Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "954d1590-a4dd-4514-a619-c5d42a20a9ea": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "5207cc22-317a-41b1-89c0-60eac9e63488": { + "templateId": "Quest:homebaseonboardinggrantschematics", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:48:01.341Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "247b169e-de8e-4f14-a31a-8f2610fe8def": { + "templateId": "Expedition:expedition_sea_survivorscouting_medium_t02", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.749Z", + "expedition_criteria": [ + "RequiresOutlander", + "RequiresCommando" + ], + "level": 1, + "expedition_max_target_power": 255, + "expedition_min_target_power": 12, + "expedition_slot_id": "expedition.generation.sea.t02_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.749Z" + }, + "quantity": 1 + }, + "b53f8d2c-42d6-4d09-81bd-faa6d5d3c170": { + "templateId": "Quest:cannyvalley_reactive_pamphlets", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T21:59:16.409Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_pamphlets": 7, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a32bf2aa-91cd-4543-9a8a-453fbd77b999": { + "templateId": "Quest:wargames_visibilityquest_wargame_telebomb", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-06T16:10:23.220Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "24b87317-7495-4415-8456-c953143d21c2": { + "templateId": "Quest:outpostquest_t1_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T08:49:31.743Z", + "level": -1, + "item_seen": true, + "completion_complete_outpost_1_2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f44d6da4-a3a7-4bbe-8943-4339cf76816f": { + "templateId": "Quest:plankertonquest_filler_6_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T03:28:03.547Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_relaysurvivor_2_diff5": 2, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a7836567-55a5-4ef2-b644-28f73add3d71": { + "templateId": "Hero:hid_commando_027_piratesoldier_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "38bd01af-e67e-4e24-b69f-315408d3cf16": { + "templateId": "HomebaseNode:questreward_expedition_rowboat4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "cdd29f44-3a06-47ec-b71c-c50ecc373557": { + "templateId": "Quest:heroquest_soldier_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-23T03:19:54.927Z", + "level": -1, + "item_seen": true, + "completion_kill_husk_commando_fraggrenade": 10, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2a3618ac-3e2e-4943-8827-0f16795e2d7e": { + "templateId": "Schematic:ammo_bulletsheavy", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "7fba9904-1b51-45b2-8f27-6c66ca5070a8": { + "templateId": "Quest:cannyvalley_reactive_pueblos", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T05:27:21.053Z", + "completion_cannyvalley_reactive_pueblos": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "abda8498-8d2e-4ccb-87cb-f85fe1833fad": { + "templateId": "Quest:challenge_leavenoonebehind_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T19:14:05.421Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 20, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "393a30f9-4b1c-4e5d-adcf-fdea7c7ae352": { + "templateId": "Expedition:expedition_sea_supplyrun_short_t01", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.770Z", + "expedition_criteria": [ + "RequiresCommando", + "RequiresCommando" + ], + "level": 1, + "expedition_max_target_power": 95, + "expedition_min_target_power": 4, + "expedition_slot_id": "expedition.generation.sea.t01_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.770Z" + }, + "quantity": 1 + }, + "cd6dd9c7-6f98-4c35-b5aa-42b8af81f0d7": { + "templateId": "Expedition:expedition_air_supplyrun_medium_t02", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.759Z", + "expedition_criteria": [ + "RequiresCommando", + "RequiresRareCommando" + ], + "level": 1, + "expedition_max_target_power": 215, + "expedition_min_target_power": 10, + "expedition_slot_id": "expedition.generation.air.t02_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.759Z" + }, + "quantity": 1 + }, + "d6c7ff4a-ac1d-4748-967a-0a78f9c8b9e1": { + "templateId": "Schematic:sid_edged_scythe_laser_sr_ore_t01", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_lifeleech_t01", + "Alteration:aid_att_movementspeed_t02", + "Alteration:aid_ele_energy_t02", + "Alteration:aid_att_critchance_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "44aae291-27b2-440b-ba4e-c0fced2550f3": { + "templateId": "Quest:teamperkquest_phaseblaster", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-01T03:20:18.571Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6dfb7959-086b-42f8-b8b3-f54f2c9eebb0": { + "templateId": "ConditionalAction:generic_instance", + "attributes": { + "alt_profile_types": [ + "athena" + ], + "_private": true, + "devName": "MAJOR: Holiday - Quests - Ghost of Christmas", + "conditions": { + "event": { + "instanceId": "mi11nt3e3ej0qidplr80v8ak7v[0]1", + "eventName": "CalendarEvent_Persistent_Holiday_GhostOfChristmas_Quests", + "eventStart": "2025-01-02T00:00:00.000Z", + "eventEnd": "2025-01-23T00:00:00.000Z", + "startActions": { + "hasRun": true, + "conversions": [], + "itemsToGrant": [ + { + "templateId": "Quest:phoenix_fetch_quest_c1", + "quantity": 1 + } + ], + "questsToUnpause": [] + }, + "endActions": { + "hasRun": false, + "conversions": [], + "itemsToRemove": [ + { + "templateId": "Quest:phoenix_fetch_quest_c1", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_destroy_quest_c2", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_survivor_quest_c3", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_reactivekill_quest_c4", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_fetch_quest_c5", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_rescuehero_quest_c6", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_reactivefetch_quest_c7", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_gathercollect_quest_c8", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_fetch_quest_c9", + "quantity": 1 + }, + { + "templateId": "Quest:phoenix_fetch_quest_c10", + "quantity": 1 + } + ], + "questsToPause": [] + }, + "metaData": {} + } + } + }, + "quantity": 1 + }, + "9d29ac53-db9f-4b8a-abae-aaaeac0bd98a": { + "templateId": "Hero:hid_ninja_starsassassin_foundersm_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 10, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "af7185c5-4d9b-4065-9a47-d3455b38340e": { + "templateId": "Quest:cannyvalleyquest_side_3_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T16:00:51.238Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_gate_triple_3_diff2": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d55f9ed8-b58c-4a98-b5c1-a42070b67bd3": { + "templateId": "Quest:heroquest_constructor_3", + "attributes": { + "quest_state": "Claimed", + "completion_complete_buildradar_1_diff2_con": 1, + "creation_time": "min", + "last_state_change_time": "2018-08-11T05:28:43.808Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "95e94b85-4a45-4712-8a65-67daa8492585": { + "templateId": "HomebaseNode:questreward_cannyvalley_squad_ssd3", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "9207ebae-b773-4123-8913-aa8ceae2ebcc": { + "templateId": "Quest:challenge_eldritchabominations_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-17T23:11:17.914Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 25, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "eaf3fccf-7a0d-4fc2-8c81-6ed24855d952": { + "templateId": "Worker:worker_joel_ur_t05", + "attributes": { + "squad_id": "squad_attribute_scavenging_scoutingparty", + "personality": "Homebase.Worker.Personality.IsDreamer", + "level": 50, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "83c4438c-a07d-431a-b22e-8ed0492b0237": { + "templateId": "Quest:homebaseonboarding", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:33:07.407Z", + "completion_hbonboarding_namehomebase": 1, + "level": -1, + "completion_hbonboarding_completezone": 1, + "completion_hbonboarding_watchsatellitecine": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "72ab8e2e-9d26-44fa-b7ba-00ebca099ea5": { + "templateId": "Quest:challenge_leavenoonebehind_10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T19:03:13.372Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 70, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "330de4bc-ab40-48b6-8eb5-67e27da0c22d": { + "templateId": "Quest:cannyvalley_reactive_trophies", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-07-30T05:21:51.109Z", + "completion_cannyvalley_reactive_trophies": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fc1b198f-0bb3-4c2f-8bfd-45f253e07bc5": { + "templateId": "Quest:stwstarterbundle18_03", + "attributes": { + "creation_time": "2024-03-26T20:57:48.414Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-30T07:17:57.710Z", + "level": -1, + "item_seen": true, + "completion_stwstarterbundle18_03_obj0": 5, + "quest_rarity": "legendary", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f6e1fbf8-4932-44df-aa01-c1f965cb9416": { + "templateId": "Hero:hid_ninja_smokedimmak_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "dfd8ac69-f587-4c8e-8390-a133b06db0a1": { + "templateId": "TeamPerk:tpid_nevertellmetheodds", + "attributes": {}, + "quantity": 1 + }, + "78df6489-347c-492c-8627-ff045fa1f4af": { + "templateId": "Quest:phoenix_fetch_quest_c1", + "attributes": { + "creation_time": "2025-01-02T20:30:31.503Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.503Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "adc09c54-f39c-4768-be67-fe3937b94046": { + "templateId": "Token:collectionresource_nodegatetoken01", + "attributes": { + "level": 1 + }, + "quantity": 3101 + }, + "8a2cd0a8-9c00-499b-9d70-efb6b73a7aaf": { + "templateId": "Quest:foundersquest_constructor_weaponupgrade_vr", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2024-03-31T18:28:52.872Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_craft_founders_shotgun_r": 1, + "quest_rarity": "epic", + "xp_reward_scalar": 1, + "completion_questcomplete_outpostquest_t1_l3": 1 + }, + "quantity": 1 + }, + "ffa7db35-4660-4266-b302-8ae313174b01": { + "templateId": "Quest:outpostquest_t2_l8", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-18T18:35:17.696Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_outpost_2_8": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4f2437d9-4159-4823-94c1-729bfce0515a": { + "templateId": "Quest:homebasequest_slotmissiondefender", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-10T21:21:52.096Z", + "completion_assign_defender_to_adventure_squadone": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "72682699-3376-4865-97a4-74f90ade9757": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dreamer-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsShieldRegenLow" + }, + "quantity": 1 + }, + "94ce084d-a84d-49c0-b779-75003cfdee8d": { + "templateId": "HomebaseNode:questreward_expedition_speedboat5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "f186cf98-5d15-4902-b847-07660eb5d340": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsAdventurous", + "gender": "1", + "squad_id": "squad_attribute_arms_fireteamalpha", + "level": 30, + "squad_slot_idx": 4, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Adventurous-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "07301730-ea86-49e3-b0e5-c38702643a71": { + "templateId": "Quest:challenge_eldritchabominations_7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-19T17:54:19.532Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 35, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "61838a8b-2f32-45bf-a9fa-34a71b052b40": { + "templateId": "Expedition:expedition_supplyrun_long_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.772Z", + "expedition_criteria": [ + "RequiresEpicCommando" + ], + "level": 1, + "expedition_max_target_power": 680, + "expedition_min_target_power": 34, + "expedition_slot_id": "expedition.generation.land.t04_0", + "expedition_expiration_start_time": "2025-01-02T20:30:29.772Z" + }, + "quantity": 1 + }, + "75911429-d32c-4819-a9a1-a9f47692c56b": { + "templateId": "Quest:outpostquest_t1_l7", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-18T23:34:10.201Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_outpost_1_7": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e8640a37-58a7-41b5-a973-98e498cdf63a": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCooperative", + "gender": "2", + "squad_id": "squad_attribute_synthesis_thethinktank", + "level": 30, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Cooperative-F01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "3d8b7f32-c21f-4717-a17b-3fb9dfe30674": { + "templateId": "HomebaseNode:questreward_expedition_speedboat2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "da5f4f76-d2c4-48f0-a3e0-c858cad90f89": { + "templateId": "Quest:teamperkquest_totallygnarly", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-30T00:35:34.721Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "277df41a-45be-442e-81a9-32bd7fa8656f": { + "templateId": "HomebaseNode:questreward_expedition_propplane2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "bb00222d-9808-4cff-98a1-a9b28207fb6e": { + "templateId": "HomebaseNode:questreward_feature_skillsystem", + "attributes": {}, + "quantity": 1 + }, + "d17f8be3-86c7-49c9-9d21-dfbf2db260a5": { + "templateId": "HomebaseNode:questreward_twinepeaks_squad_ssd2", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "c4ce1f18-be55-4fdb-a5a2-7b2f449cad65": { + "templateId": "Quest:tutorial_loadout_support4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:28:07.916Z", + "completion_heroloadout_support4_intro": 1, + "level": -1, + "completion_heroloadout_support4_guardscreen1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "432abac9-0e9c-4ce1-b370-169dfec5e915": { + "templateId": "Quest:cannyvalley_reactive_seebot", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-11T17:27:57.667Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_seebot": 5, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9110203e-3c42-4e29-a8c1-3e8580781c66": { + "templateId": "Quest:reactivequest_masterservers", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T20:52:32.661Z", + "completion_complete_protecttheservers_2": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "f4eefa2e-d8bb-4f94-8689-a29f2da6353c": { + "templateId": "Quest:endurancewave30theater03", + "attributes": { + "creation_time": "2024-12-29T19:51:36.476Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T19:51:36.476Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "90e2c3dd-3e88-4f90-bfd6-6200d0c7dd46": { + "templateId": "Expedition:expedition_traprun_sea_medium_t04", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.755Z", + "level": 1, + "expedition_max_target_power": 575, + "expedition_min_target_power": 28, + "expedition_slot_id": "expedition.generation.sea.t04_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.755Z" + }, + "quantity": 1 + }, + "2aff3491-277f-45a6-82fc-019f149c2a08": { + "templateId": "Quest:cannyvalley_reactive_mainframes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-06-05T03:20:39.464Z", + "selection": 0, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cannyvalley_reactive_mainframes": 30, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cbb6fffa-afde-4d35-b377-5515032a3a5a": { + "templateId": "Quest:pickaxequest_stw005_tier_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T17:18:39.199Z", + "completion_pickaxequest_stw005_tier_6": 6, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "098e6e00-ed9f-42db-816a-ea519c6d4992": { + "templateId": "Schematic:ammo_bulletslight", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "8604c29e-c753-4ef4-a33d-629df9b65ef2": { + "templateId": "CampaignHeroLoadout:defaultloadout", + "attributes": { + "team_perk": "2281756d-e483-457d-b8d2-fcfbf9cb3ffe", + "level": 1, + "crew_members": { + "followerslot5": "", + "followerslot4": "", + "followerslot3": "", + "followerslot2": "", + "followerslot1": "", + "commanderslot": "028ec0de-5e52-44cb-b905-ed313b96a1bf" + }, + "loadout_index": 4 + }, + "quantity": 1 + }, + "14fc47bf-9b5d-428f-a5be-667726bd999b": { + "templateId": "Quest:cannyvalleyquest_filler_1_d2", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-12T23:49:45.075Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9674c982-983e-4b82-a6c6-9c47384d1617": { + "templateId": "Hero:hid_ninja_starsassassin_foundersf_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "c2336d2b-a651-430b-a674-d934bec18e9b": { + "templateId": "Hero:hid_constructor_008_foundersm_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "f4f05204-97f3-4031-a903-a353a894ee7e": { + "templateId": "Quest:cannyvalley_landmark_deploytheprobe", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-22T22:34:04.713Z", + "completion_cannyvalley_landmark_deploytheprobe": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "2b87bdf0-3c2d-4ffa-b58d-5a94f3b27ab5": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsPragmatic", + "gender": "1", + "squad_id": "squad_attribute_synthesis_corpsofengineering", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Pragmatic-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsFortitudeLow" + }, + "quantity": 1 + }, + "ffde4b46-a604-4443-9d1a-951a7fbbab3c": { + "templateId": "Worker:worker_halloween_smasher_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_scavenging_gadgeteers", + "level": 50, + "squad_slot_idx": 1, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Smasher", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDurabilityHigh" + }, + "quantity": 1 + }, + "3eaf1e77-831a-40bd-ac44-52f4198f0dfc": { + "templateId": "Quest:reactivequest_lightninghusks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-08T18:40:48.449Z", + "level": -1, + "completion_quest_reactive_lightninghusks": 10, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "768e77d0-7040-45f3-bea7-9f39b8faa9b3": { + "templateId": "Quest:cannyvalley_reactive_glyphs", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-13T02:22:47.027Z", + "selection": 1, + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_glyphs": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "57a41b2d-96a0-41bc-9afe-f36113a9f8be": { + "templateId": "Quest:heroquest_soldier_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T19:14:12.863Z", + "level": -1, + "item_seen": true, + "completion_kill_husk_commando_assault": 100, + "completion_upgrade_soldier": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0f9de45a-5cef-49b9-9366-49d0d2af9392": { + "templateId": "HomebaseNode:questreward_stonewood_squad_ssd5", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "0000d9b2-1956-4a1f-aed2-c09ce5de0fdd": { + "templateId": "Quest:bbpromoquest_2019_reactive_kylecabinet", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-12-04T20:25:26.026Z", + "level": -1, + "item_seen": true, + "completion_bbpromoquest_2019_reactive_kylecabinet": 5, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0bb58587-b7e1-40b4-b5e3-aec738bd3c2d": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Dependable-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "109cdcfb-0a2d-491c-8524-09a00a2d9de1": { + "templateId": "Expedition:expedition_supplyrun_short_t02", + "attributes": { + "expedition_expiration_end_time": "2025-01-02T22:00:29.775Z", + "expedition_criteria": [ + "RequiresCommando", + "RequiresRareNinja" + ], + "level": 1, + "expedition_max_target_power": 140, + "expedition_min_target_power": 7, + "expedition_slot_id": "expedition.generation.land.t02_1", + "expedition_expiration_start_time": "2025-01-02T20:30:29.775Z" + }, + "quantity": 1 + }, + "5c1d8b6a-7349-4620-944a-c607fe45b9d2": { + "templateId": "Quest:outpostquest_firstopen_ssd", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T18:21:51.108Z", + "completion_complete_ssd_firstopen": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0c044f4d-244b-4efd-8275-1c2ce9c5c4c1": { + "templateId": "Quest:s11_holdfastquest_seasonelite_cramps", + "attributes": { + "creation_time": "2024-12-16T20:05:04.718Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.718Z", + "level": -1, + "item_seen": true, + "completion_s11_holdfastquest_seasonelite_cramps1": 13, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "c58050fe-4cc6-446a-80e0-ad9f82699bc4": { + "templateId": "Stat:technology_team", + "attributes": { + "level": 1 + }, + "quantity": 224 + }, + "e65d8dbd-f3d0-4830-9b51-98241ff0212b": { + "templateId": "Quest:foundersquest_getrewards_4_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2020-10-06T02:46:12.610Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d8aad1a7-cc65-4b13-a93b-47ccbd659709": { + "templateId": "Token:stw_accolade_tracker", + "attributes": { + "last_reset": "2024-12-27T16:51:14.478Z", + "match_accolades": [ + { + "totalMissionXPEarnedInMatch": 109812, + "totalQuestXPEarnedInMatch": 0, + "accoladesToGrant": [ + { + "realXPGranted": 3250, + "numToGrant": 1, + "rawXPGranted": 3250, + "templateToGrant": "Accolades:accoladeid_stw_badge_building_platinum" + }, + { + "realXPGranted": 3250, + "numToGrant": 1, + "rawXPGranted": 3250, + "templateToGrant": "Accolades:accoladeid_stw_badge_combat_platinum" + }, + { + "realXPGranted": 687, + "numToGrant": 1, + "rawXPGranted": 687, + "templateToGrant": "Accolades:accoladeid_stw_badge_utility_bronze" + }, + { + "realXPGranted": 87500, + "numToGrant": 1, + "rawXPGranted": 87500, + "templateToGrant": "Accolades:accoladeid_stw_ssd_t04_l10" + }, + { + "realXPGranted": 15125, + "numToGrant": 1, + "rawXPGranted": 15125, + "templateToGrant": "Accolades:accoladeid_stw_ssd_t04_bonus" + } + ], + "totalSecondsInMatch": 2308, + "matchmakingSessionId": "639651ebf0de49a3935870352b215485", + "partyEligibility": "User", + "totalRestSpentInMatch": 0, + "primaryMissionName": "MissionInfo_Outpost_PvE_04" + } + ], + "level": 1, + "last_update": "2024-12-30T12:36:55.041Z", + "weekly_xp": 1458249 + }, + "quantity": 1 + }, + "4cb01f5d-c6a3-4603-89bb-796f20170efa": { + "templateId": "Quest:stonewoodquest_tutorial_survivorsquads", + "attributes": { + "completion_survivorsquads_changeherointro": 1, + "creation_time": "min", + "completion_survivorsquads_levelintro": 1, + "level": -1, + "completion_survivorsquads_squadsguard": 1, + "completion_survivorsquads_squadsintro": 1, + "completion_survivorsquads_squadtilesguard": 1, + "sent_new_notification": true, + "completion_survivorsquads_commandguardaccount": 1, + "xp_reward_scalar": 1, + "quest_state": "Claimed", + "last_state_change_time": "2018-11-14T22:00:53.863Z", + "completion_survivorsquads_changeheroguard": 1, + "completion_survivorsquads_powerintro": 1, + "completion_survivorsquads_squadshighlight": 1, + "completion_survivorsquads_tabcallout": 1, + "completion_survivorsquads_commandguardsquad": 1, + "completion_survivorsquads_survivorshighlight": 1, + "quest_rarity": "uncommon", + "completion_survivorsquads_commandguardintro": 1 + }, + "quantity": 1 + }, + "097f1a49-32c5-4425-9179-033311adbf8c": { + "templateId": "Quest:stwstarterbundle18_04", + "attributes": { + "creation_time": "2024-03-26T20:57:48.414Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-31T01:52:05.904Z", + "level": -1, + "item_seen": true, + "completion_stwstarterbundle18_04_obj0": 7, + "quest_rarity": "legendary", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "79bcd4b3-4a39-4f70-a3fb-d84c4c3d8a18": { + "templateId": "Quest:teamperkquest_soaringmantis", + "attributes": { + "creation_time": "2024-03-30T16:06:51.893Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-03-30T16:52:26.529Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "435dcff5-bf42-4304-b23f-76d0c1cb698f": { + "templateId": "Quest:plankertonquest_filler_5_d3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-25T05:18:31.104Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 15, + "completion_complete_powerreactor_2_diff3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e58deb70-f45c-4654-bd62-ff0a0f896e09": { + "templateId": "TeamPerk:tpid_roundtrip", + "attributes": {}, + "quantity": 1 + }, + "a5ce1c0b-2521-42b7-956a-3f405d0308d2": { + "templateId": "Worker:worker_halloween_smasher_sr_t05", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "2", + "squad_id": "squad_attribute_scavenging_scoutingparty", + "level": 50, + "squad_slot_idx": 2, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Smasher", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "81cc6ce0-ea99-476b-b4d3-4ed48c092208": { + "templateId": "Quest:stw_stormkinghard_firsttakedown", + "attributes": { + "creation_time": "2024-12-29T17:01:28.646Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-12-29T17:29:47.588Z", + "level": -1, + "completion_stw_stormkinghard_firsttakedown": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "5599576e-f676-4934-84d9-1dd2bb1d8248": { + "templateId": "Quest:reactivequest_riftdata", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T16:28:31.137Z", + "completion_quest_reactive_riftdata": 3, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "3e829030-6bb3-4c1c-bfd9-7995ef1331c9": { + "templateId": "Hero:hid_ninja_xbox_r_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "squad_id": "", + "mode_loadouts": [], + "level": 1, + "squad_slot_idx": 0, + "item_seen": true, + "refundable": false, + "favorite": false, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "5ddacbb9-3cfb-41cc-9813-a80ea33f3f76": { + "templateId": "Schematic:sid_assault_auto_founders_sr_ore_t05", + "attributes": { + "level": 50, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_reloadspeed_ranged_t05", + "Alteration:aid_att_damage_t05", + "Alteration:aid_ele_energy_t05", + "Alteration:aid_att_damage_t05", + "Alteration:aid_att_critdamage_t05", + "Alteration:aid_g_weapon_onreload_explode" + ], + "alteration_base_rarities": [ + "common", + "uncommon", + "common", + "rare", + "common", + "common" + ], + "favorite": true + }, + "quantity": 1 + }, + "41a2c130-51a5-4c54-8ef6-3ee722b1f943": { + "templateId": "Stat:resistance_team", + "attributes": { + "level": 1 + }, + "quantity": 150 + }, + "612d2cc0-7cec-4207-8552-2c38a03f4e08": { + "templateId": "Quest:plankertonquest_outpost_l6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-10T17:15:28.733Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_questcomplete_outpostquest_t2_l6": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a76f3c2b-2dde-4a23-9ccb-f138aaa089d4": { + "templateId": "Defender:did_defendersniper_basic_vr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_firerate", + "Alteration:aid_att_def_maxhealth", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_critdamage_ranged" + ] + }, + "quantity": 1 + }, + "55520c23-2543-48fe-a691-53572e5a0b29": { + "templateId": "Schematic:sid_floor_health_c_t00", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "5acf3cd5-73a2-4c56-bd91-4d2a36e62be9": { + "templateId": "Quest:challenge_leavenoonebehind_14", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-11-21T23:50:39.624Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 90, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a95c7f04-0f00-4b31-8b50-d5edcf19af88": { + "templateId": "AccountResource:eventcurrency_scaling", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 187 + }, + "bd037c30-7a49-4c69-9cc7-16b676565373": { + "templateId": "Quest:challenge_eldritchabominations_10", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T04:06:18.109Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 50, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a9b66b58-be90-4da9-bf0b-1475aaa1a9f3": { + "templateId": "CardPack:cardpack_choice_manager_vr", + "attributes": { + "level": 1674, + "pack_source": "CollectionBook", + "options": [ + { + "itemType": "CardPack:cardpack_manager_doctor_vr", + "quantity": 1 + }, + { + "itemType": "CardPack:cardpack_manager_explorer_vr", + "quantity": 1 + } + ] + }, + "quantity": 1 + }, + "80ac1aef-7f3e-4716-b4fd-39a8f68b86bb": { + "templateId": "Quest:stonewoodquest_tutorial_levelup_hero", + "attributes": { + "completion_heroupgrade_tabcallout": 1, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.863Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_heroupgrade_guard_command": 1, + "completion_heroupgrade_guard_heroes": 1, + "xp_reward_scalar": 1, + "completion_heroupgrade_highlight_heroes_button": 1 + }, + "quantity": 1 + }, + "575ca090-cee7-46af-bdcf-c1645b1a5973": { + "templateId": "HomebaseNode:questreward_expedition_truck4", + "attributes": { + "item_seen": true + }, + "quantity": 1 + }, + "cd88ebdf-e5b2-4d1e-9b7e-ed5f48fcfb98": { + "templateId": "Schematic:sid_shotgun_break_scavenger_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critdamage_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_critchance_t03", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_shrapnel" + ] + }, + "quantity": 1 + }, + "f028a570-2c69-4eb9-a25c-52363ce190d7": { + "templateId": "Quest:winter_seasonal_weapon_01", + "attributes": { + "creation_time": "2024-12-16T20:05:04.725Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.725Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "355ecd25-3599-417c-a67e-48ba82172e63": { + "templateId": "Quest:reactivequest_firehusks", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-30T15:32:31.687Z", + "completion_quest_reactive_firehusks": 10, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "71dbabe0-fdcc-43dc-86c2-d30f83903d4d": { + "templateId": "Quest:plankertonquest_filler_5_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-09T20:03:30.057Z", + "completion_complete_retrievedata_2_diff4": 2, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fdd7f03f-0477-4e0e-a049-79f9a84b0af5": { + "templateId": "Quest:wargames_visibilityquest_wargame_lava", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-09T14:15:52.663Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "42cbca4b-8b6e-428a-995b-1cd29daf17c1": { + "templateId": "Defender:did_defenderpistol_basic_uc_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_weapondamage_pistol", + "Alteration:aid_att_def_maxhealth" + ] + }, + "quantity": 1 + }, + "57b9586e-5945-4efc-b47f-4fa5d13b491c": { + "templateId": "Quest:challenge_leavenoonebehind_9", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-04T03:13:00.904Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 60, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9db536df-c699-4736-952b-580ac6e7c300": { + "templateId": "Quest:reactivequest_elemhusky", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T19:33:45.943Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_quest_reactive_elemhusky": 10, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "9df8ae78-54d2-4f11-9544-2401f00bbc2f": { + "templateId": "Quest:challenge_herotraining_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-13T01:37:23.669Z", + "completion_convert_any_hero": 1, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "ed3d41a8-4632-4b57-9912-4e07d2797a1b": { + "templateId": "Quest:plankertonquest_filler_8_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-07T19:01:50.163Z", + "level": -1, + "item_seen": true, + "completion_complete_delivergoods_2_diff4": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "835fe850-42ca-4f4d-88d4-33e357506a0b": { + "templateId": "Quest:stonewoodquest_tutorial_collectionbook", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.867Z", + "completion_cb_tabcallout": 1, + "level": -1, + "completion_cb_guard_armory": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_cb_intro": 1, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "42c16dab-d17d-45c1-ac57-39fbde5b0274": { + "templateId": "Quest:challenge_holdthedoor_13", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-27T07:01:56.805Z", + "completion_complete_outpost": 8, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d39a8496-32c8-4ef9-8f4e-ba5b1e0f2768": { + "templateId": "Quest:cannyvalleyquest_outpost_l3", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T18:37:39.787Z", + "level": -1, + "completion_questcomplete_outpostquest_t3_l3": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4b5e7821-a9fc-4574-808a-2be67c2c7e5b": { + "templateId": "Quest:challenge_missionaccomplished_17", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T04:19:13.702Z", + "level": -1, + "completion_complete_primary": 11, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "8cc14b60-8ed5-4f5f-acf7-ae78f2696740": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 30, + "squad_slot_idx": 3, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "eb3c1a8e-82d0-423d-a86e-11a76b3059cf": { + "templateId": "Quest:plankertonquest_filler_1_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-10-04T03:13:10.832Z", + "level": -1, + "item_seen": true, + "completion_complete_evacuateshelter_2_diff4_v2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e79fc053-ba43-49cc-ac40-36dcab64a42c": { + "templateId": "Quest:wargames_visibilityquest_wargame_meteor", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-05-22T14:38:10.647Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bd7bdc5f-fd1b-4a9c-b856-88335c263ca2": { + "templateId": "Worker:worker_halloween_husky_vr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Husky", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsAbilityDamageLow" + }, + "quantity": 1 + }, + "2ca32d8f-91a5-4c91-94aa-abff120cb6bc": { + "templateId": "Quest:challenge_defendertraining_1", + "attributes": { + "quest_state": "Claimed", + "completion_upgrade_any_defender": 1, + "creation_time": "min", + "last_state_change_time": "2018-08-11T19:17:42.270Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "16d87c23-8c21-498d-a950-7c52e20d642b": { + "templateId": "Quest:cannyvalleyquest_side_4_d2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-15T19:06:28.686Z", + "level": -1, + "completion_complete_buildradargrid_3_diff2": 3, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "85d3dffc-855e-4ffb-8e27-75038eea6178": { + "templateId": "Quest:challenge_workertraining_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T05:53:40.076Z", + "completion_upgrade_any_worker": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b62f74d4-8317-4c82-99ae-70b023a4dada": { + "templateId": "Schematic:sid_sniper_flintlock_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_reloadspeed_ranged_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_conditional_boss_dmgbonus_t03", + "Alteration:aid_att_stability_t03", + "Alteration:aid_g_shrapnel" + ] + }, + "quantity": 1 + }, + "80c5e396-d8b0-4d96-9b8b-de5547eba821": { + "templateId": "Hero:hid_constructor_024_pirateconstructor_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "8b78c471-8bf5-46fc-80c5-8e694c63b1f6": { + "templateId": "Worker:workerbasic_vr_t01", + "attributes": { + "gender": "1", + "personality": "Homebase.Worker.Personality.IsCurious", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M01", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsMeleeDamageLow" + }, + "quantity": 1 + }, + "3ab8520b-8a27-4fd2-a8da-33018e9173a6": { + "templateId": "Quest:teamperkquest_superchargedtraps", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-09-05T00:46:15.044Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "149c1a78-cc19-419d-a642-cea1a473026a": { + "templateId": "Worker:workerbasic_sr_t04", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCompetitive", + "gender": "2", + "squad_id": "squad_attribute_medicine_emtsquad", + "level": 30, + "squad_slot_idx": 6, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Competitive-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsResistanceLow" + }, + "quantity": 1 + }, + "ed39b206-569b-419b-b620-682b117ac4a3": { + "templateId": "Buff:partyxpbuff", + "attributes": { + "level": 1 + }, + "quantity": 1 + }, + "ac486a52-cf85-45a3-85df-a68c0526eb5e": { + "templateId": "Quest:outpostquest_t4_l5", + "attributes": { + "creation_time": "2024-04-11T17:47:32.179Z", + "quest_state": "Claimed", + "last_state_change_time": "2024-04-15T02:50:59.383Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_outpost_4_5": 1 + }, + "quantity": 1 + }, + "95740e02-cd16-4d8d-9652-08782b8032dd": { + "templateId": "Quest:challenge_eldritchabominations_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T17:24:31.971Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_kill_husk_smasher": 10, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d2c1eeef-0c2f-41c0-b12f-b0fb0969d27d": { + "templateId": "Schematic:sid_sniper_boombox_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_weaponimpact_t01", + "Alteration:aid_att_damage_t02", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_stability_t02", + "Alteration:aid_att_critdamage_t03", + "Alteration:aid_g_onimpactbreak_dance" + ] + }, + "quantity": 1 + }, + "d2bff1cb-5172-4af8-86ad-d74e18c6dac2": { + "templateId": "Quest:reactivequest_poisonlobbers", + "attributes": { + "completion_quest_reactive_poisonlobbers": 10, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T18:03:59.034Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a7d3c773-94fd-4df0-9149-91e940cbf830": { + "templateId": "CardPack:cardpack_jackpot_collectionbook", + "attributes": { + "level": 1671, + "pack_source": "CollectionBook" + }, + "quantity": 1 + }, + "43d46402-532a-433d-bbf3-f067761acd3b": { + "templateId": "Quest:foundersquest_herobundle_noninja", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2020-10-06T02:46:52.163Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "59704ca5-97cf-4d68-93fa-a6841ba79183": { + "templateId": "Quest:challenge_holdthedoor_5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-24T23:13:27.033Z", + "completion_complete_outpost": 4, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d17e3b7c-d738-44fa-9c74-592d39a32b4b": { + "templateId": "Quest:plankertonquest_outpost_l2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.851Z", + "level": -1, + "completion_questcomplete_outpostquest_t2_l2": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "d593584a-9ab5-4354-8732-2aacca0b663d": { + "templateId": "Schematic:sid_sniper_standard_scope_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_damage_t01", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_conditional_stunned_dmgbonus_t03", + "Alteration:aid_g_standstill_stackbuff_damagevsmist" + ] + }, + "quantity": 1 + }, + "08117794-3fb5-46c6-98dd-1d00f1cc15b6": { + "templateId": "Hero:hid_constructor_024_pirateconstructor_sr_t01", + "attributes": { + "hero_name": "DefaultHeroName", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "84b73c21-eb1a-4921-96f7-a443d4eb60b0": { + "templateId": "Quest:challenge_missionaccomplished_20", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-31T19:04:29.960Z", + "level": -1, + "completion_complete_primary": 12, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "84292de2-ceba-4020-a2ef-caebac673974": { + "templateId": "Quest:daily_safes", + "attributes": { + "creation_time": "2024-08-15T18:18:31.755Z", + "quest_state": "Active", + "last_state_change_time": "2024-08-15T18:18:31.755Z", + "level": -1, + "item_seen": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "b4b98969-cbb6-4618-bac3-f4cbe9f31c97": { + "templateId": "TeamPerk:tpid_dangerdanger", + "attributes": {}, + "quantity": 1 + }, + "43d78c9d-e3ce-48da-aa3d-4d6735623639": { + "templateId": "Quest:plankertonquest_filler_4_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-09T17:31:11.139Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_buildradar_2_diff5": 3 + }, + "quantity": 1 + }, + "4a261175-994f-461c-aa80-ef62acdca479": { + "templateId": "Quest:challenge_leavenoonebehind_6", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-25T18:04:04.080Z", + "level": -1, + "item_seen": true, + "completion_questcollect_survivoritemdata": 45, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "0e9fa6c9-aac4-4a24-9e10-7f35e14809fa": { + "templateId": "Worker:worker_halloween_husky_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDreamer", + "gender": "1", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Husky", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsRangedDamageLow" + }, + "quantity": 1 + }, + "25e4aeb1-46d5-4ca0-9192-6d49060adc65": { + "templateId": "Quest:tutorial_loadout_support5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-02T18:28:06.716Z", + "level": -1, + "sent_new_notification": true, + "completion_heroloadout_support5_guardscreen1": 1, + "completion_heroloadout_support5_intro": 1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a886cd80-5fbc-4540-bed6-28e36ddb3de3": { + "templateId": "Hero:hid_ninja_swordmaster_sr_t03", + "attributes": { + "outfitvariants": [], + "backblingvariants": [], + "hero_name": "DefaultHeroName", + "level": 30, + "item_seen": true, + "squad_slot_idx": -1, + "building_slot_used": -1 + }, + "quantity": 1 + }, + "b6a65ac7-5411-431c-ab4d-26fc06fc5b1d": { + "templateId": "TeamPerk:tpid_kineticoverdrive", + "attributes": {}, + "quantity": 1 + }, + "a91ca19e-47c8-4c1e-b05e-f6f9f5bea8ac": { + "templateId": "Quest:endurancedaily_t02_w10", + "attributes": { + "creation_time": "2024-12-29T13:20:28.532Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-29T13:20:28.532Z", + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "endurancedailyquests_15" + }, + "quantity": 1 + }, + "2ff87c5c-2c32-4fe3-b4e9-0bf9b8688881": { + "templateId": "Quest:stonewoodquest_hidden_hasitems", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:01:00.128Z", + "completion_stonewoodquest_hidden_hasitems": 50, + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e4f60bfb-fe36-431b-9bc6-50ff1f7ba2ee": { + "templateId": "Quest:s11_holdfastquest_season_trapcraft", + "attributes": { + "creation_time": "2024-12-16T20:05:04.717Z", + "quest_state": "Active", + "last_state_change_time": "2024-12-16T20:05:04.717Z", + "level": -1, + "item_seen": true, + "completion_s11_holdfastquest_season_trapcraft": 7, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "66ca6064-98f2-48c0-8c91-ce969bb8075b": { + "templateId": "Quest:cannyvalleyquest_launchrocket_d5", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-05T00:37:13.681Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "completion_complete_launchrocket_3": 1 + }, + "quantity": 1 + }, + "866e1d21-6077-4dc9-a6a0-79d472f3cba3": { + "templateId": "Worker:workerbasic_sr_t03", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "1", + "squad_id": "squad_attribute_medicine_trainingteam", + "level": 30, + "squad_slot_idx": 5, + "item_seen": true, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-M03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "9ab52a97-2418-4dbb-aa01-c40ea7b993ee": { + "templateId": "Quest:challenge_missionaccomplished_13", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-19T22:13:09.972Z", + "level": -1, + "completion_complete_primary": 9, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "fadcb3a4-66fe-4c52-9786-386464a9ee83": { + "templateId": "Quest:challenge_toxictreasures_4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-09-13T14:52:05.168Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_complete_mimic": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "251d18e4-eb96-4b0b-9d97-785cd81068ac": { + "templateId": "Quest:wargames_visibilityquest_wargame_riotcity", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-19T02:41:39.183Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "e1591227-876c-41bf-a3cb-7989da45fd5f": { + "templateId": "Quest:cannyvalley_reactive_aftercredits", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-08-02T01:52:37.979Z", + "completion_cannyvalley_reactive_aftercredits": 6, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4aec57a6-9057-4dec-9303-b10be59ec4a9": { + "templateId": "Quest:stonewoodquest_mechanical_buildlev2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-11-14T22:00:53.841Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_stonewoodquest_mechanical_buildlev2": 50, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "a7b436ea-1763-4fab-b80f-3ba1653dfa24": { + "templateId": "Schematic:sid_assault_hydraulic_drum_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_magazinesize_t02", + "Alteration:aid_att_damage_physical_t02", + "Alteration:aid_att_headshotdamage_t02", + "Alteration:aid_conditional_slowed_dmgbonus_t03", + "Alteration:aid_g_weapon_ondmg_applysnare_v2" + ] + }, + "quantity": 1 + }, + "e84b1d07-5a4f-4faf-b29d-01678f409515": { + "templateId": "Quest:plankertonquest_filler_2_d1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-21T22:17:25.725Z", + "completion_complete_evacuate_2": 1, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "4a0a458b-3d29-492c-92ef-02d8d5ec4cef": { + "templateId": "Quest:wargames_dailyquest_riotcity_with_headgames_twine", + "attributes": { + "creation_time": "2025-01-02T20:30:31.514Z", + "quest_state": "Active", + "last_state_change_time": "2025-01-02T20:30:31.514Z", + "selection": -1, + "level": -1, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1, + "quest_pool": "dailywargamestwine_01" + }, + "quantity": 1 + }, + "a33ed58d-83b6-4c38-88f3-d99d50c59350": { + "templateId": "Schematic:sid_floor_player_jump_pad", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true + }, + "quantity": 1 + }, + "2c3dc001-6e8f-4f7a-80a0-331cfb31818f": { + "templateId": "Defender:did_defendersniper_basic_sr_t01", + "attributes": { + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "alterations": [ + "Alteration:aid_att_def_reload", + "Alteration:aid_att_def_maxshield", + "Alteration:aid_att_def_shieldregen", + "Alteration:aid_att_def_critchance_ranged", + "Alteration:aid_att_def_shieldregen" + ] + }, + "quantity": 1 + }, + "8c3ff18f-345a-4d43-9d0f-ca5390f2073a": { + "templateId": "Quest:reactivequest_findpop", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-23T00:43:05.353Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "completion_quest_reactive_findpop": 3, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "95cdd8dc-0802-4478-9c93-87a1e4084a3f": { + "templateId": "Quest:challenge_missionaccomplished_15", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-22T02:36:41.982Z", + "level": -1, + "completion_complete_primary": 10, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "43fc8f7c-536e-486b-a433-216abbb60f26": { + "templateId": "TeamPerk:tpid_endlessshadow", + "attributes": {}, + "quantity": 1 + }, + "8e1df41c-6927-4cf4-81d8-9c0a0640cea3": { + "templateId": "Quest:challenge_missionaccomplished_1", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-11T04:16:16.634Z", + "level": -1, + "completion_complete_primary": 3, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "6b5bc6ce-6c49-442a-a4e3-f89be3aaada0": { + "templateId": "Quest:stonewoodquest_filler_1_d4", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-12T05:50:21.464Z", + "level": -1, + "item_seen": true, + "completion_complete_pve01_diff4": 2, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "completion_complete_encampment_1_diff4": 4, + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "eeffeeb9-b784-4598-b7c3-af9f9b596a89": { + "templateId": "Quest:wargames_visibilityquest_wargame_tprifts", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-06-19T02:41:39.183Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "01d4f9ed-e608-42d7-8266-94591e408a80": { + "templateId": "Schematic:sid_edged_sword_medium_laser_founders_vr_ore_t01", + "attributes": { + "refund_legacy_item": true, + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_ele_fire_intrin_t02", + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_critdamage_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_maxdurability_t01", + "Alteration:aid_g_weapon_onhit_energynova" + ] + }, + "quantity": 1 + }, + "68a84f8b-b525-4950-97c8-11ce744ad630": { + "templateId": "Worker:managertrainer_r_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsDependable", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "managerSynergy": "Homebase.Manager.IsTrainer", + "portrait": "WorkerPortrait:IconDef-ManagerPortrait-PersonalTrainer-F01", + "building_slot_used": -1 + }, + "quantity": 1 + }, + "6ad4e96d-e1ee-4a7d-8165-530df25ff2b9": { + "templateId": "Schematic:sid_blunt_medium_sr_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_critchance_t01", + "Alteration:aid_att_heavyattackstaminacost_t01", + "Alteration:aid_att_damage_physical_t03", + "Alteration:aid_att_heavyattackstaminacost_t02", + "Alteration:aid_conditional_slowed_dmgbonus_t03", + "Alteration:aid_g_affliction_v2" + ] + }, + "quantity": 1 + }, + "45ff9c96-6416-48b5-b82d-3f43c1b644f4": { + "templateId": "Schematic:sid_assault_surgical_drum_founders_r_ore_t01", + "attributes": { + "level": 1, + "item_seen": true, + "alterations": [ + "Alteration:aid_att_stability_t01", + "Alteration:aid_att_reloadspeed_ranged_t02", + "Alteration:aid_ele_water_t02", + "Alteration:aid_att_damage_t03", + "Alteration:aid_att_magazinesize_t01", + "Alteration:aid_g_weapon_onfire_damagestack" + ] + }, + "quantity": 1 + }, + "bd85bbbe-dc1a-4634-a765-73f280ca4834": { + "templateId": "Worker:workerbasic_sr_t01", + "attributes": { + "personality": "Homebase.Worker.Personality.IsCurious", + "gender": "2", + "level": 1, + "item_seen": true, + "squad_slot_idx": -1, + "portrait": "WorkerPortrait:IconDef-WorkerPortrait-Curious-F03", + "building_slot_used": -1, + "set_bonus": "Homebase.Worker.SetBonus.IsTrapDamageLow" + }, + "quantity": 1 + }, + "77050265-f9f9-4819-ad4a-3f30a98e5c51": { + "templateId": "AccountResource:voucher_basicpack", + "attributes": { + "level": 1, + "item_seen": true + }, + "quantity": 41 + }, + "d6da6e6a-f77a-4c1d-b8f1-d7a820dd5f4d": { + "templateId": "Quest:cannyvalley_hidden_watchvideo", + "attributes": { + "creation_time": "min", + "quest_state": "Active", + "last_state_change_time": "2019-08-02T01:28:20.342Z", + "level": -1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "bee22ed4-12a8-45f8-ab2f-38ff81b36476": { + "templateId": "Quest:achievement_loottreasurechests", + "attributes": { + "completion_interact_treasurechest": 300, + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T21:26:30.786Z", + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "cd61753c-76d7-4497-b41a-6271c46a28cb": { + "templateId": "Quest:foundersquest_getrewards_1_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2018-08-09T22:49:32.889Z", + "level": -1, + "completion_questcomplete_outpostquest_t1_l1": 1, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "433d57e3-d5bb-4c94-8f3e-9ede9a938b8d": { + "templateId": "Quest:heroquest_loadout_constructor_2", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T21:26:45.494Z", + "completion_complete_pve03_diff26_loadout_constructor": 300, + "level": -1, + "item_seen": true, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + }, + "52683082-e070-4763-b390-1239a429228d": { + "templateId": "Quest:cannyvalley_reactive_jukeboxes", + "attributes": { + "quest_state": "Claimed", + "creation_time": "min", + "last_state_change_time": "2019-05-14T05:52:27.056Z", + "level": -1, + "item_seen": true, + "completion_cannyvalley_reactive_jukeboxes": 10, + "sent_new_notification": true, + "quest_rarity": "uncommon", + "xp_reward_scalar": 1 + }, + "quantity": 1 + } + } + } + } + ], + "profileCommandRevision": 40512, + "serverTime": "2025-01-04T23:20:14.600Z", + "responseVersion": 1 +} \ No newline at end of file diff --git a/checker/img/logo.png b/checker/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b26e44301e0ef88ff9d413ff747b7442d7c999 GIT binary patch literal 7283 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 N002ovPDHLkV1i@bv}*tW literal 0 HcmV?d00001 diff --git a/checker/img/styles/legacy.png b/checker/img/styles/legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..fdddcd77eb94f2ea17d3897c9506526c15050283 GIT binary patch literal 3131282 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

    |wHou{#>@M4_m%jFcXZ_2s;LV7v z%l#ft(P3*_gtmQFj-m|FWDgx+q{NS%h{!~x1bs}BcKTUv)?1NGKt0mP5sCA4H}t2Q zN5WU931j=wM*O=3q9;m;Ty+O}FV=ARr?Gw;bD|BG9$fB8S~{Qb{%96SaxO>pJSq?a zx|b?fU~RQ*7^Z?wxTMx!>a5Xg71%?@b?Ej1DC~54`SnMX_3d-ASUuOd`EDHA%?ia; zIfluRUEJZsHiT&!Jo8M4#T8m6Pok_pC16YNMg2-OU+?Vq{hJ)9nEWp5wOq6Q*b_8r zZ2Lud6V9%eS6Y?b1*;cx$n)X4Eh!=_#o{;hJK}6(oAL5DQi8dJv)bSK-+8`C~S+7RkaV z$z8BHlvOzH6Ba)3Q9H4rmMVCNS(E6Vvi1=&pO&+{3dV0^H+kl=g^TLifG4By;Y2aVyhY(!Sc!9sKRm=CGt2)ijtyaOqI@ zJlBWNg<(aZu?1cu_UFD2J)q47gDdNKaY7cm_8mK$_x7_x)Vx=Zh{h0droxK!`Scs)Cq%EqC}iu73O5*}JO3OhhsA5iMgi93bo;MIgs1l+#Jx%ll9 z!c1$iwtv$9y~T=}0Rzh(1DmegUH5N9uWZ2?duo*r z9vACLQcIee>etB#s5}z&7*rKlEQ}@|boU}Ws~mke_gQWv>sQpih&RB=$d_G#g3DQA zU*Ah4^F`a&ugQBdFMDX5YTNLu+#pT&tbCaDM#+2NbNx9xe@tLKWF`VUm-x?U`VLYA z%-gw%b@8>3&as`|%Vwk%lGk`zNZ!Evxv{XRIQ!GTLz@JfId)<1={oNIrs+aB8wWjx z`l9`BX_dD2H|tokW87S-VY4OO;fJCUiy;zLzxMR4L(uiogxZP(q=Gpu-ms^&SG(ji zJDU)NU!2`NbsZkK$S`MmkTrT>B$S$R_|W{8B%Gza;37KYdEs!(XwUaXH^4BTV~QgV zjoQ!na`fMQ2LMSG!E=9XoFy7mm&W8^s>ds`nJ5E+e_47PHb=>43K!P&mJGT9?VXy< z-v*1Vz*kjd$@IP4L*NpmSZ6c)M7UuG*_3g7v)~K*F*IZ?$iTdEo{>vz-Fn>RnZ3tz z{z>W{%t47qPvW_FbcLUYk#a#pQHpM0s0RF&PdsbgV_+k8YqXf2d%3rsOp*9C8AT@j z8$w%wALQT2)rN6M-U>&U*an)>=3;*PY=_f~J2pB|M>F%3(@T{?Z5`d_Lq1}BhH)4>sklV!(y43RzS+q+|ipd+=av_?8+(N}MF>B(QKiLB)pn5z&qclgs3bk#l0^x58_dA=SI6zS<|83?)gMBGhorkGb;y}?ZVS{H{@lbrs z57I>E1MOG>>6u37nArvC88VR`7rv*4f%5!`F==macgHSa#-fxO{SLpLccp5cI8AVs z7|eQg-Npgq1+XV29Mns9(K@Mlx)v6*FTy7tu<{(>hhYSHo}vYBf0QUqjC@JW!L0yb za|osF$D4}D7r*P_mZ~KHl$%yKj;05$cws3t(E+{(4=QUVR9Z~W1TQv$ALpuD+^8pKUWWr6+5Wm{@_K-K(b#5#D?$g0E* zBL3*#_qOc?D8y9a9zR*s9acG0hZU*1^>gXRm!fiv-$X~~0I6LpcA^Xhq%%US8x~A@ z3!Y7ZD8Tp{fwk>#O22mdJ_Oc5&$qaQI0|lgO~5Ca%wMYC;YPfOEn=4Pc&--9JTh(A zRM8cBtA?{|8Z2pXyY_^;gS9}}e1tY9?PgL0@cnZt9$^2qJvHOX&KE#@h?6zsq<}nM zMR`EPVsfAuc>N=9QC!zJKWBnfD-@^GaJg}O$;E(zzK;UXuRrF+!^5;2#}1eU>v1mA z@jsOW$fwYoQ0vV9tnW=wOGQ)nYWc%8NNYObQj-v;fsDL4J@)>lYxUk2Vqx%DpqO4Q z6$Z|q>H0s+m(={3eb6hdPvz!S>qDAVmx&Ad`&?dv)BFNYdZSlW2=q^CsJ08(>B_%< zuyIjBW~=|xYQjOh*uBBLFuzpF+$?b1eI<|I&>t@+Sa4VmwUSVT3~09FP7@dDV{d3$ zdzJmVS~9djPcT(aTy*Z?yoJGyz+nVo<@+EzUJYq+IUPPzHPLPSX1`c$Ft1|)kHZLO zR>-h6E#`h=`l6Ilt-SID^LkFA6PCfV+6YeDXQiTNi^Fz88_AOSqjdD{oj!{{{M8Id zJ~{vPHSZGuR2o-1joR8B^dA5>X|00G^s+rAq-6`#Z7UZYu@kKdlk%i+3# z$&y}OjQb-Ys_Rdfer{@22cMcDE;EnW)PBaiJO3?Ehs3ql?c16m%^o+Fluj9;DoUI2 z1{4`y4bR$sqDYKlF=`sh#CNB*gtIOpB^Ht1uNMUNbM${_O{=|J4d+FFZ}W-9MSFYR{}u&6;MhrZLJ_o`33zmkks(DRmuX zlvuuB9+JgZXU`_oNw!ncu?76L__lfS6j#pfB5(`

    Omn?|*zmEBu>g;N$bk)5lf+ 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