From 017502ed4cc355dbbdb77ceb39cc748549f02481 Mon Sep 17 00:00:00 2001 From: dragoni7 Date: Tue, 3 Sep 2024 11:31:20 -0700 Subject: [PATCH 1/3] Character subclasses now have complete configurations --- src/features/profile/destiny-profile.ts | 279 +++++++++++------------- 1 file changed, 128 insertions(+), 151 deletions(-) diff --git a/src/features/profile/destiny-profile.ts b/src/features/profile/destiny-profile.ts index b278eff..814dc71 100644 --- a/src/features/profile/destiny-profile.ts +++ b/src/features/profile/destiny-profile.ts @@ -2,6 +2,7 @@ import { ARMOR, BUCKET_HASH, COLLECTIBLE_OWNED, + DAMAGE_TYPE, EMPTY_ASPECT, EMPTY_FRAGMENT, EMPTY_MANIFEST_PLUG, @@ -15,6 +16,7 @@ import { armor, Character, CharacterClass, + DamageType, DestinyArmor, Emblem, ProfileData, @@ -76,121 +78,7 @@ export async function getProfileData(): Promise { } case BUCKET_HASH.SUBCLASS: { - const subclassQuery = db.manifestSubclass.where('itemHash').equals(item.itemHash); - - await subclassQuery.modify({ isOwned: true }); - - const subclass = await subclassQuery.first(); - - if (subclass) { - const s: Subclass = { - instanceId: item.itemInstanceId, - itemHash: subclass.itemHash, - damageType: subclass.damageType, - name: subclass.name, - class: subclass.class, - icon: subclass.icon, - screenshot: subclass.icon, - isOwned: subclass.isOwned, - }; - - character.subclasses[subclass.damageType] = { - subclass: s, - damageType: 1, - super: EMPTY_MANIFEST_PLUG, - aspects: [EMPTY_ASPECT, EMPTY_ASPECT], - fragments: [ - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - ], - classAbility: null, - meleeAbility: null, - movementAbility: null, - grenade: null, - }; - - // set equipped loadout subclass config - const subclassSockets = itemComponents.sockets.data[item.itemInstanceId]?.sockets; - - /*if (subclassSockets) { - character.subclasses[subclass.damageType].classAbility = { - plugItemHash: subclassSockets[0].plugHash, - socketArrayType: 0, - socketIndex: 1, - }; - character.equippedLoadout.subclassConfig.movementAbility = { - plugItemHash: subclassSockets[1].plugHash, - socketArrayType: 0, - socketIndex: 2, - }; - character.equippedLoadout.subclassConfig.super = { - plugItemHash: subclassSockets[2].plugHash, - socketArrayType: 0, - socketIndex: 0, - }; - character.equippedLoadout.subclassConfig.meleeAbility = { - plugItemHash: subclassSockets[3].plugHash, - socketArrayType: 0, - socketIndex: 3, - }; - character.equippedLoadout.subclassConfig.grenade = { - plugItemHash: subclassSockets[4].plugHash, - socketArrayType: 0, - socketIndex: 4, - }; - - if (character.equippedLoadout.subclassConfig.damageType === DAMAGE_TYPE.KINETIC) { - character.equippedLoadout.subclassConfig.aspects = [ - { - plugItemHash: subclassSockets[7].plugHash, - socketArrayType: 0, - socketIndex: 7, - }, - { - plugItemHash: subclassSockets[8].plugHash, - socketArrayType: 0, - socketIndex: 8, - }, - ]; - - character.equippedLoadout.subclassConfig.fragments = subclassSockets - .slice(9, subclassSockets.length) - .map((p: any, index: number): Plug => { - return { - plugItemHash: p.plugHash, - socketArrayType: 0, - socketIndex: 9 + index, - }; - }); - } else { - character.equippedLoadout.subclassConfig.aspects = [ - { - plugItemHash: subclassSockets[5].plugHash, - socketArrayType: 0, - socketIndex: 5, - }, - { - plugItemHash: subclassSockets[6].plugHash, - socketArrayType: 0, - socketIndex: 6, - }, - ]; - - character.equippedLoadout.subclassConfig.fragments = subclassSockets - .slice(7, subclassSockets.length) - .map((p: any, index: number): Plug => { - return { - plugItemHash: p.plugHash, - socketArrayType: 7 + 0, - socketIndex: index, - }; - }); - } - }*/ - } + buildSubclassConfig(item, character, itemComponents); continue; } @@ -275,42 +163,7 @@ export async function getProfileData(): Promise { for (const item of characterInventories[key].items) { switch (item.bucketHash) { case BUCKET_HASH.SUBCLASS: { - const subclassQuery = db.manifestSubclass.where('itemHash').equals(item.itemHash); - - await subclassQuery.modify({ isOwned: true }); - - const subclass = await subclassQuery.first(); - - if (subclass) { - const s: Subclass = { - instanceId: item.itemInstanceId, - itemHash: subclass.itemHash, - damageType: subclass.damageType, - name: subclass.name, - class: subclass.class, - icon: subclass.icon, - screenshot: subclass.icon, - isOwned: subclass.isOwned, - }; - - character.subclasses[subclass.damageType] = { - subclass: s, - damageType: 1, - super: EMPTY_MANIFEST_PLUG, - aspects: [EMPTY_ASPECT, EMPTY_ASPECT], - fragments: [ - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - ], - classAbility: null, - meleeAbility: null, - movementAbility: null, - grenade: null, - }; - } + buildSubclassConfig(item, character, itemComponents); continue; } @@ -545,6 +398,130 @@ export async function getProfileData(): Promise { return profile; } +async function buildSubclassConfig(item: any, character: Character, itemComponents: any) { + const subclassQuery = db.manifestSubclass.where('itemHash').equals(item.itemHash); + + await subclassQuery.modify({ isOwned: true }); + + const subclass = await subclassQuery.first(); + + if (subclass) { + const s: Subclass = { + instanceId: item.itemInstanceId, + itemHash: subclass.itemHash, + damageType: subclass.damageType, + name: subclass.name, + class: subclass.class, + icon: subclass.icon, + screenshot: subclass.icon, + isOwned: subclass.isOwned, + }; + + character.subclasses[subclass.damageType] = { + subclass: s, + damageType: subclass.damageType as DamageType, + super: EMPTY_MANIFEST_PLUG, + aspects: [EMPTY_ASPECT, EMPTY_ASPECT], + fragments: [EMPTY_FRAGMENT, EMPTY_FRAGMENT, EMPTY_FRAGMENT, EMPTY_FRAGMENT, EMPTY_FRAGMENT], + classAbility: null, + meleeAbility: null, + movementAbility: null, + grenade: null, + }; + + // set equipped loadout subclass config + const subclassSockets = itemComponents.sockets.data[item.itemInstanceId]?.sockets; + + if (subclassSockets && character.subclasses[subclass.damageType] !== undefined) { + const classAbility = await db.manifestSubclassModDef + .where('itemHash') + .equals(subclassSockets[0].plugHash) + .first(); + + if (classAbility) character.subclasses[subclass.damageType]!.classAbility = classAbility; + + const movementAbility = await db.manifestSubclassModDef + .where('itemHash') + .equals(subclassSockets[1].plugHash) + .first(); + + if (movementAbility) + character.subclasses[subclass.damageType]!.movementAbility = movementAbility; + + const superAbility = await db.manifestSubclassModDef + .where('itemHash') + .equals(subclassSockets[2].plugHash) + .first(); + + if (superAbility) character.subclasses[subclass.damageType]!.super = superAbility; + + const meleeAbility = await db.manifestSubclassModDef + .where('itemHash') + .equals(subclassSockets[3].plugHash) + .first(); + + if (meleeAbility) character.subclasses[subclass.damageType]!.meleeAbility = meleeAbility; + + const grenade = await db.manifestSubclassModDef + .where('itemHash') + .equals(subclassSockets[4].plugHash) + .first(); + + if (grenade) character.subclasses[subclass.damageType]!.grenade = grenade; + + if (subclass.damageType === DAMAGE_TYPE.KINETIC) { + const firstAspect = await db.manifestSubclassAspectsDef + .where('itemHash') + .equals(subclassSockets[7].plugHash) + .first(); + + if (firstAspect) character.subclasses[subclass.damageType]!.aspects[0] = firstAspect; + + const secondAspect = await db.manifestSubclassAspectsDef + .where('itemHash') + .equals(subclassSockets[8].plugHash) + .first(); + + if (secondAspect) character.subclasses[subclass.damageType]!.aspects[1] = secondAspect; + + const fragments = subclassSockets.slice(9, subclassSockets.length); + for (let i = 0; i < fragments.length; i++) { + const fragment = await db.manifestSubclassFragmentsDef + .where('itemHash') + .equals(fragments[i].plugHash) + .first(); + + if (fragment) character.subclasses[subclass.damageType]!.fragments[i] = fragment; + } + } else { + const firstAspect = await db.manifestSubclassAspectsDef + .where('itemHash') + .equals(subclassSockets[5].plugHash) + .first(); + + if (firstAspect) character.subclasses[subclass.damageType]!.aspects[0] = firstAspect; + + const secondAspect = await db.manifestSubclassAspectsDef + .where('itemHash') + .equals(subclassSockets[6].plugHash) + .first(); + + if (secondAspect) character.subclasses[subclass.damageType]!.aspects[1] = secondAspect; + + const fragments = subclassSockets.slice(7, subclassSockets.length); + for (let i = 0; i < fragments.length; i++) { + const fragment = await db.manifestSubclassFragmentsDef + .where('itemHash') + .equals(fragments[i].plugHash) + .first(); + + if (fragment) character.subclasses[subclass.damageType]!.fragments[i] = fragment; + } + } + } + } +} + async function buildDestinyArmor( itemComponents: any, item: any, From 0e536ae7f8976e4d87932b0d04f7b21657aebc54 Mon Sep 17 00:00:00 2001 From: dragoni7 Date: Tue, 3 Sep 2024 12:59:50 -0700 Subject: [PATCH 2/3] Refactored subclass selection button. Changed types. Added greying out --- src/app/routes/Dashboard.tsx | 91 +++++++------ src/assets/subclass-icons/2.png | Bin 0 -> 28805 bytes src/assets/subclass-icons/3.png | Bin 0 -> 26253 bytes src/assets/subclass-icons/4.png | Bin 0 -> 28188 bytes src/assets/subclass-icons/6.png | Bin 0 -> 23196 bytes src/assets/subclass-icons/7.png | Bin 0 -> 22126 bytes src/components/LoadoutCustomization.tsx | 6 +- src/components/SingleDiamondButton.tsx | 122 ++++++++++++------ src/features/profile/destiny-profile.ts | 2 +- .../subclass/SubclassCustomizationWrapper.tsx | 5 +- 10 files changed, 140 insertions(+), 86 deletions(-) create mode 100644 src/assets/subclass-icons/2.png create mode 100644 src/assets/subclass-icons/3.png create mode 100644 src/assets/subclass-icons/4.png create mode 100644 src/assets/subclass-icons/6.png create mode 100644 src/assets/subclass-icons/7.png diff --git a/src/app/routes/Dashboard.tsx b/src/app/routes/Dashboard.tsx index eb676ae..5d40d46 100644 --- a/src/app/routes/Dashboard.tsx +++ b/src/app/routes/Dashboard.tsx @@ -10,17 +10,16 @@ import { getDestinyMembershipId } from '../../features/membership/bungie-account import { updateMembership } from '../../store/MembershipReducer'; import { getProfileData } from '../../features/profile/destiny-profile'; import { updateProfileData } from '../../store/ProfileReducer'; -import { Character } from '../../types/d2l-types'; +import { Character, SubclassConfig } from '../../types/d2l-types'; import StatsTable from '../../features/armor-optimization/StatsTable'; import HeaderComponent from '../../components/HeaderComponent'; import ExoticSelector from '../../features/armor-optimization/ExoticSelector'; import greyBackground from '../../assets/grey.png'; -import { db } from '../../store/db'; import { resetLoadout, updateLoadoutCharacter, updateSubclass } from '../../store/LoadoutReducer'; -import { ManifestSubclass } from '../../types/manifest-types'; import SubclassCustomizationWrapper from '../../features/subclass/SubclassCustomizationWrapper'; import { updateManifest } from '../../lib/bungie_api/manifest'; import LoadoutCustomization from '../../components/LoadoutCustomization'; +import { DAMAGE_TYPE } from '../../lib/bungie_api/constants'; const PageContainer = styled('div')({ display: 'flex', @@ -103,6 +102,7 @@ const NewComponentWrapper = styled('div')({ export const Dashboard: React.FC = () => { const dispatch = useDispatch(); + const membership = useSelector((state: RootState) => state.destinyMembership.membership); const characters = useSelector((state: RootState) => state.profile.profileData.characters); const { selectedValues, selectedExotic, selectedExoticClassCombo } = useSelector( @@ -110,11 +110,14 @@ export const Dashboard: React.FC = () => { ); const [selectedCharacter, setSelectedCharacter] = useState(undefined); - const [isLoading, setIsLoading] = useState(false); - const [subclasses, setSubclasses] = useState([]); - const [selectedSubclass, setSelectedSubclass] = useState(null); - const [customizingSubclass, setCustomizingSubclass] = useState(null); - const [lastNonPrismaticSubclass, setLastNonPrismaticSubclass] = useState( + const [dataLoading, setDataLoading] = useState(true); + const [generatingPermutations, setGeneratingPermutations] = useState(false); + const [subclasses, setSubclasses] = useState< + { [key: number]: SubclassConfig | undefined } | undefined + >(undefined); + const [selectedSubclass, setSelectedSubclass] = useState(null); + const [customizingSubclass, setCustomizingSubclass] = useState(null); + const [lastNonPrismaticSubclass, setLastNonPrismaticSubclass] = useState( null ); const [showArmorCustomization, setShowArmorCustomization] = useState(false); @@ -130,26 +133,47 @@ export const Dashboard: React.FC = () => { if (profileData.characters.length > 0) { setSelectedCharacter(profileData.characters[0]); + setSubclasses(profileData.characters[0].subclasses); + + const keys = Object.keys(profileData.characters[0].subclasses); + for (let i = 0; i < keys.length; i++) { + if ( + profileData.characters[0].subclasses[Number(keys[i])] !== undefined && + profileData.characters[0].subclasses[Number(keys[i])]!.damageType !== + DAMAGE_TYPE.KINETIC + ) { + setSelectedSubclass(profileData.characters[0].subclasses[Number(keys[i])]!); + setLastNonPrismaticSubclass(profileData.characters[0].subclasses[Number(keys[i])]!); + break; + } + } } }; updateProfile().catch(console.error); + + setDataLoading(false); }, []); useEffect(() => { if (selectedCharacter) { dispatch(resetLoadout()); dispatch(updateLoadoutCharacter(selectedCharacter)); - fetchSubclasses(selectedCharacter).then((subclassesData) => { - setSubclasses(subclassesData); - if (subclassesData.length > 0) { - setSelectedSubclass(subclassesData[0]); - const defaultSubclass = - subclassesData.find((subclass) => !subclass.name.includes('Prismatic')) || - subclassesData[0]; - setLastNonPrismaticSubclass(defaultSubclass); + + setSubclasses(selectedCharacter.subclasses); + + const keys = Object.keys(selectedCharacter.subclasses); + + for (let i = 0; i < keys.length; i++) { + if ( + selectedCharacter.subclasses[Number(keys[i])] !== undefined && + selectedCharacter.subclasses[Number(keys[i])]!.damageType !== DAMAGE_TYPE.KINETIC + ) { + setSelectedSubclass(selectedCharacter.subclasses[Number(keys[i])]!); + setLastNonPrismaticSubclass(selectedCharacter.subclasses[Number(keys[i])]!); + break; } - }); + } } }, [selectedCharacter, dispatch]); @@ -169,9 +193,9 @@ export const Dashboard: React.FC = () => { const filteredPermutations = useMemo(() => { if (permutations && selectedValues) { - setIsLoading(true); + setGeneratingPermutations(true); const filtered = filterPermutations(permutations, selectedValues); - setIsLoading(false); + setGeneratingPermutations(false); return filtered; } return null; @@ -183,22 +207,22 @@ export const Dashboard: React.FC = () => { } }; - const handleSubclassSelect = (subclass: ManifestSubclass) => { + const handleSubclassSelect = (subclass: SubclassConfig) => { setSelectedSubclass(subclass); - if (selectedCharacter && subclass.damageType in selectedCharacter.subclasses) { + if (selectedCharacter) { dispatch( updateSubclass({ subclass: selectedCharacter.subclasses[subclass.damageType]?.subclass, }) ); } - if (!subclass.name.includes('Prismatic')) { + if (subclass.damageType !== DAMAGE_TYPE.KINETIC) { setLastNonPrismaticSubclass(subclass); } }; - const handleSubclassRightClick = (subclass: ManifestSubclass) => { + const handleSubclassRightClick = (subclass: SubclassConfig) => { setCustomizingSubclass(subclass); setShowAbilitiesModification(true); }; @@ -215,29 +239,18 @@ export const Dashboard: React.FC = () => { setShowArmorCustomization(false); }; - const fetchSubclasses = async (character: Character): Promise => { - const data = await db.manifestSubclass - .where('class') - .equalsIgnoreCase(character.class) - .toArray(); - return data.map((item) => ({ - ...item, - itemHash: item.itemHash, - })); - }; - - return ( + return !dataLoading ? ( {showAbilitiesModification && customizingSubclass ? ( ) : showArmorCustomization ? ( ) : ( @@ -275,7 +288,7 @@ export const Dashboard: React.FC = () => {

Armour Combinations

- {isLoading ? ( + {generatingPermutations ? (

Loading...

) : filteredPermutations ? ( { )}
+ ) : ( +
loading...
); }; diff --git a/src/assets/subclass-icons/2.png b/src/assets/subclass-icons/2.png new file mode 100644 index 0000000000000000000000000000000000000000..73efff3cbe2525210df9bc3e0fcafbccb63cf606 GIT binary patch literal 28805 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 M07*qoM6N<$g2S)YPXGV_ literal 0 HcmV?d00001 diff --git a/src/assets/subclass-icons/3.png b/src/assets/subclass-icons/3.png new file mode 100644 index 0000000000000000000000000000000000000000..b06ca4fecc740209c7c834df340b05de1751bf56 GIT binary patch literal 26253 zcmV)OK(@b$P)005u}1^@s6i_d2*003rGNkl)qw+r_aop-qa<_mTU`Gj0-KefPny^1h9>52$##{CJ=6NNpf$fB_p@l8bChE-Ew9NYi^c?d#v(`+e7y_I~bjHI|DsmWec)|MTqUoH;s0 zbLRi8`d@2t2^Ws{zyJNOc=&kA7bnSIBjEnjD}mmT-K4R_!a9N5Q>dw+}0aPK7& zULxSv$L*@>`=CNQe~=yB-$S=FDW+3cY~e1SW6S8j(9SNo<4Xj5k}cnPZg;YmU90be z{s?+qoXfCbAE`OqT#N1X_tKI5mq>VtfKR&RD_!jNBex*q92Y@2SHSTcT`S<8qeKrL z#vMP&&c^%cxI>pnc!_{dV#3ki%g%GZhif~63ce6Xw0xu$Q2@SMpeF}}Pw!*<@!z2{ zx)c*$BH)uy=j(8g?Ta5oE{~y^AaRP+fB=?3=mjKFe8b@*2rC)xc%K~y-a%)$=Mo9O z3gqElCYJzIc+Gj1Z@8D8>AOHP1P2OsIv}+O0?_k>e!v2RU?AY?f&vzdB6l3x@@D$& zYc6$6E?K~@j1a>43CDOZ+vVNR^yu+`+%v(31&G0FfT)4h1f6z7ixE*vNfsk4R)SMB zbwo*E_wu`G56-uQX7*Ap;SvEKh4T{*cRxEfeG0eb8=&<(c=ip1mp=#F@_g9jzR&*Gc5;%P?LWbtIsm-_KQg4|2#Fvy#l>K?IcU`Z z17ZTJIDpXz3W2jjIGMrFV4zs+kok!5NWo^E9l7_w={y4F<~`_bEo0>QS9t-EbAgP2-L9p4y^rhZ08%`MX!TbKAU`3j5Koy zIklE!;R?s)csd&Kf$SaD9YreIDli4O06lT(kjU1sN=X*3g~1kmp>EJg*M3 z4jC96&(LG{ApKi#RfcK&{he@DU1gr&cPkKIH5iNol_^^Cdh*_9Gzp(clKk^J9PQQn z*s=U>WZI)ckEFuH0@0$wc_qImL#DuOQW$vHScBRtF#;6#z@d}K$sAUVJXVrvhbB!5 zA0yKf%#DyEhD?-f5Qt($wg3@G0z?jf*61FBQ`f$k(fVhmJAS6bfakg0*6JR1ExjAJ zeHv8Z*eTeij1!2C6h!k5%&-+BKV~GUA}^W6hbHP9Xfz@}u}n0h*eGDJ64hfgp28Oa z^0WB+`>85z?#X8o>MveT*ylk4dPN7b97`LRn*qyFDbU^s zi!+MRF~a^atN{)*hA;ukfmx7Q#m1ng1LA>&h)`>Cp!SdHCRaY%CBF*z5En5V7dKuf zB7X`Mn#=dG^Z2`nYXyGfAsAkvcg$1dP)`JHIha!D8Y}@da28g=aKNy6b(M5rD>Vu1)Grfl8$r9hMjObg~fRt@Q9Ov@J-)^;$_IjHc% zz^%X`E>c{~G2kQQdk<7-EZxW4C*Dq@;{lKWI4~;f6oL^vbhgE~hT`|+=px8V5;##n zC&JGPdc+fk0aC%Q`LYM>8ZDy5&B*LV@&`VTeex`!6%mqvIB%V!ryB`&jqMw;|+c0EvXSE(A0D(9qcM zIZQ@M(s9gm1U7?z?hK9y4xfc32ut9P1k50PeuB*h3`KOFs5OH`o?_)V;n)DiiU~~m zAPQpO3^WVaR$!yUi9rwiz>u0C69_8-Iw=R|9wuS!DjtQG0=ILK;bJVqoKL>9_pxxt z+X&+vKNh?RC}3ZM)=fe*e}>o&>?6?aJz)y0y0y_ z)#}*TkUS^!MugJ??05mOp=#8MfKCEp-~n^sj)8pE6OI{{f;NQ`HPC5Aik$7IZlOKe z%cF3cnO$@xnv1O$T(;L9ZTaRu^$z@Cf&?&w#vF(fMyp0K26Z5+)Yr#!IzY34Y49fl zdIkcDGzDvbTPK7$#ij%u00DwJv^7i8+<-Nk6c2owaOVIT4w(@!;EZ8IgE_?%oL5M- zN=(v#TU0^~7=ZdJV-7(ejybsS6LjlWU9{QpMPmU)q=gtts=DCv;+iPJz`8KN9rXgmAUuwgEE%HiKwj_&K|9yVk?bCiHgj&;~HD$EM!;hjUjdd|o+hST<6_o*{aTal~Ugk4cd9@&x*)<9N5=_Z+qv8fK~Go+gyF`$dJOYo}o)XHvj=*5C8+UjGf1BxoBrh zE`}uJ{N8SN4?9o113wCkPZ`BpVD`EQ?_hi;5I2-K5o8098JzHhjfQP=Xr_c7=*Yv2 zBgBF<1jdFHhD3t&0y1C6I@_?}Sr~O8^H|MrBM+a;z!chwt#{~^8z=lLf4ya3jm17j{zSBj_@?a(>Vz_U(YwVkDZ_S z9b}upc88qIAOKD&P8p*!5VwTdRVm1T-_;z+;6+U)ChP>Pm>F!H)@98&`WC z#%U%ix8u4;2&)BjL3)4(OREGXXw2b_7f)jHw2T2&^)=^_Z}>3z4!skuQ2g_*Miv@y z!pQD};pdI$PPs|Dr82{Q?mWw_kkP-=>zKxo-63L#mKW9oCw%o zXK;X$aGW&cOd#BA^v(!F0{Ln|G4N0XLJ=SWsY6~9vUM>mq{t^H6o34A!rm`nC(q(f z?E#x2(89W>V0r_(V+Xc1f^{GgkR=ZjP|ewX@|KHc7tPa=fagi7I<}V`_AdN$1+God zd+&w6S;4wOmMGDBC20$3&F~YL956zp7y1H2(KO13GYAi{rY zjr^V?=xT=b|0}Mxh1%Aa!)QcUI)P8-u&XYIZ|opj1Up@zIf!NKc$kFk-qT-M{d8-^ z{eX!45me~7y=-5(1*sPh8SX#<`#j!(&N{{ur6>ZD!=z`7djrpKRWm~JCW{{O_p%_;aYx zNsh2ne;1uDaBBs8HYafQyvz3Ro~SQR*F`J*P}?_hz;1D)MUbd}(qtJGdwgNLmsn_q=qa}!<+x@TZ4M2nZ<<`tb&?64>MU_tg- zgOf_A$~+k08U?$SZaHuGy_#|6$wx>D?pUQQ>^M}T}d)Rg2ome+R#(^*q zLMqS%KL9@orK_|8l7YU|=w- z-~zHOA-52Ie6h2lPfI)P-o< zMkIbEVfYd9FB~OVaIno03PbY%Cp|11Gz2n%9%M&6qoI+^3H4ba0Mp<4>ol+bUcM5R zKK5Veul+NU`54=mBPTpXs$~n1y9>+-vPB^hWP`&a$Wnn8hVGal+V%Yud;dH114UyM z0j%e-M?R%k0f|5z zfMEhr3a($^W&+lV(d1iE-9vHTi829TsXz~Vin9S(^F$78S47w)NXu|8P@M7jj=+?l z>m03hb+-J-zvuB{@y1`KSdIvV5WK+gfb5%Kg`qD>(3?_hV)zF#SoTN+Y)#3R?;+fE zCpHY21B}X|7Xj^h!eRthr|{_s_DHwqgvWYdL&1+BsFJN3qqBj@nkQSEu8wafGjw4T|{=!qr*yQ!1Gf4Wf5{kMC=5;*JDS)j(M8bzlCJ|ZXPe{ z3%hB&=qK@+ks}OG1~}l+hdlnC9LuYp8O=B(7}iu|!?noD0L~V0w%RjjA)wAsPbGr= zY=&MNq0dhUC&3PbZd6P>4ppim|r54ws&S&+H}iGo&VX z6t^XYgp!E97ExpZcW1a|Pw;}pifwd+mVpN7Y@_{(f5H>Rx`*q8er9|1nn|@P&9nsu zz#S7fo|DfB+}Of4ZNVS-d?^8wy2B;{YXJs^W(I?R)D&5RaBB|EaJz+&LpWv7snp)J zIuzr8MBsq9AtZH>khA&0TWGBAd4e-07dZh{^)X`7Enj#W_Pl^LgyM5KlPo|8NMVFw zAZk$s+XaXUp#W0BRAALW4Ee?xv^K87*O!XJ&^!s zJj}W(M!Q0pd${H&QNk02MhWvj_$y?okxoO%z;bYH#d1LpJuhc>m2byXOlS zz9I=PasrmBmh;YEt=vpB<4FQ=XF=2y(mBPcR_?_h6h=0LNx$mNhKb?FMp!YTETC7X zAWfvZ4;!qan_^^Bg!Khm%3Z<^8y5<4n<}VfkXmhLsKDYD3VY@;_7!&HNXWn2$2(ta?<9w5~{~ zUft#mbwWU>M}g**0&_yh>)6yBCJjO`I65IeQa}oRB7_OJ2FSW(Wt}Mil{Ne?DPLEVW+?(AhCm)9cVugPUlzw+Ek*kVIzZG4qFrg;GCcs zHV8n~vktit#exNJ&WLIyx2wH1qd+t#rTRvr>ctr)Lhyl*hqC?GTu?M*Y})emqbk$j$_0Es$L4u-!474us_lxvq}P{s!(6nck=KvT=Il0;`lXhW-#^T>Vy}U1^g1z zYc~^V1_fveObm$>M2M5BTVQ6yY2{id00-iPxUM7#M8QK%un|?FF`pt#s_g`43tZbl z8-h3D6ykM?ZHZw33=8DCHZuEiWa($&@NeOmVfveYg(n+}FZ^Y)))n}(1^z?<5hWxM z!j$5r8u<*%0h}Ns!`1@K34Thjd4-mh9iAjWv>=3plC*IRLM#LmD8P>bwK+%q;U^mz zMFwGFP(bjNYme%JCZ4%Zyn|-%%VftF3jx1)Gim1$%eVh#B=H0UsE}7THmYK>LKpHrGzU|-1QM|#?XZ7aS$feTc3kv5O;)ZrJy#WL@h_rry8tsR0&%Vh!bdRa7^uj ztyQu5G4A+cA>jFSzR6y;?|lcZmLoA(00AmBu`)U1tIRYHSovzDe5dVk8OR zDytXTia9Xn(5OW?GbW@H=qQF^0P7t#<*=b)M{>f37_Pnw?S2mR8MbaK>H1gF*!p_D zUYNc7d+_UChM#fJ(MmUXszAm@bZs4;*C0$QaRh#SguGw|+Y}LYTnC+RsJbVa;h`k2 zDQL}LVwHz*5DFlN@W_)Hokd4&eZ*w7vW$k|VkH1*Al}j>t_K!A_YOLP$Hs(DcLM(4 zd6qAKn0%jqJFeyl-jLGemKG9=1)D%^Dux}31(>V`M5#VEF`Qbd^NZ6;!6FUNX+b)I zcth7UQRlIxRm1``Ko=b{?;sY)s^rDy6nE_wgaS^kVsVNV1=E-PJYR2YdeyJMmUV=Y zk>$Wlgv>ak{Tx`o6&w(N2xweZ=?3rl0&@IgxWhSg18j-0XQfywPy+~Me>;xBErM(? zVh!bNu}m3LS17gVh!CWV0lhZ_DyzRV#3e$l=Gk`Oopg!^&Lbi4vZv)th?%|iycv$L zmmMc=!Nmnq7Z@7F(8^jL1$bW-l9MfUxLV7meNg}rB#DtWgpe6{Ax;dffyH17(o`rQ zxoR^i4T=X3;7^Z{x)N#viNG*m8E8$Aj>86h?19sWL1+ro*ZeEex##iqMijRRd7I(K z{*t%=XGUeYP7#hR<6}jKzG}y1XV5bR9L*`lhMRQ=f&nZvkm(vUJ(7Zs3{=1aIp75g zz&IeAm2^g^Hyy!)8VF!{mE4F5L8CJ0t6JQvs7;rJ6w)irdo4=F4FU(!>{pjwOVG6e5DFzS( ztRc9Lf=cO@Z0MOG#{NG!2n6bTy!WS%AohBB3hkPuOwl{JCRQ{TnlT>C=UPuRHJFZvHU&>hC5xJ4Sl} zznYh26^v3k1mFXRf{H>*;f$xqjmUvYHHU$KtAhq32-t>*&^08hlrc8r2rH*4_8){s zAi5^P2ZON@4FkoY0yU!|y+@`Lx%ztC;+4!?{eSWIjSb)Ot7K7|Vq1bdYXKPtqLT%# z8xRlLsODFsCAdc(DBZSInQj#)a*A-Oz#l0HXFYMPZ1t62>$5;840Dvf%ltI>C6EmK zcERti+_#MtUlUlTB&lMPs$;Tg-#fpUgtv;wOP=Zke08}N_fgsI_Srv0eSw`0*w9c9 zeyM=mLj*WM6ROO#72~rBcE%I6g}5nTl?9Ayf{2x*(|Ly&NY@h@Qa1bJDP?l+o%npM zw6Fl~cn+s?I1|uSUlQNMa5v0g8!uyWXbI@v zs7go#u%%EfN53*A+_WBT0!ITfV??_fxJW=07kjoJyM=cCzNIjv7K(uh0+JxquBpA|u+_sfyC825liU4ULpI2FZO%Qda}E zI9T$K0Mibei;#gw+Dh1+;JX2i6eu7bh`?Qyl*G-~#{_p1nw_MRKbz)tKg5N=e8H{1 z_A}i1uAeF2zYxqn`-dsIH&Q&5RpG>fL#C@8($TtzP*;2oVQARI(3G-%7ZN4(12B!- z9+$dCx$+f+X@@@-PyvC;m3s(}JVo_ZS|B6JUDv{9!qpp*q*}~`j!Ww)HHhaF8RzU; zdpDi%;MZ*fgFaaa$9YBOY%e<>PV0S~BV=$OhngS>FbG&%u^NP9McJRVQ9ujD)>X~= z&<#~jbRe)Cs=n<8MW+P4Jc3x@bSTM3U64BX0(<}k>=Bo=7D~dKtA>}@86(%EM3LeT zf0+FKoaxv678i;y{OND9c3>}~L-(`qFE0H1Z2GR>q?l>r>w?v_B%sbZ#DR7MVyFh) ztx`{?g2qDV1&p(}ImJ%o@W2O2F0bQr0|5(wQB@EGqA5k4KugP?V+TEa_AX$RaD^+~ zb67QKfetl zK@sQ(G!5M>$c83fMz9vp1%WQ)M+2IA*sZWTC2Wb2Z4uTrf>|k9ml&h~@djrKIGho6 zgremrx`ws1`Wgqe642Fx*cr1g_~*FJ7A^#b1f{s7vMACPscFFG-ptH_^KGN4OxE@yXx$ zUx_8BB|_UNt;nop4M`#1<}eTWv4Y{L z0yhI>;D_L56xu>jS7g%y=9O=JIN>B@vn(Yn4b}*XB@Sf5XC|x z5sv)Xzh$&^k_$m?b}OA%`~pQsaN8p2C^A*WurjBR3LMD@59Np%(iUW`fIT@h4H5{| zhKEXfC>440QNRL~id?|Tj|(LtkXQ&vNix@hU`8;i%z1f?WdTV9Nq}~ZXx)bL$YUpY za$-XL8WWC6OnUqlbW&8!@cwbwS0x=xB}f653rRz8b%imwVCYN&H6`A$o_O62aPA>& zP{1_Ukw9@zAnYw5Rji>%UD0fl6af++E<(3n%S4&&uOJ^(eN7#P7D0jWZp38+9Z2uKWg zFa^VaO2`n!N;p?wxe?Y0)&_Bg%&)_@*Q2c(yKDc6PVL0kOhWyd5{^e?^apQ7#u?sK zDho0ziRKp^7BXZ4$rgue3SrIgD;}8ysCBSp4krR8gfJpBz~Ar5j~Ffr$YvqTJEAQy z{_q&dbKH8c*@)2DhO1ZZ+0J?Fq=%L2=UXB$Fc=5I(E^JEnMzszIG5^!EteTMLSNJoo^oa>6lB zFojKuHNg&5^-UisS}0Nn!H8=@(h{<6Ab2Yk)GikM#KIQ3p=0vE6=yPObYjkx(z#?LI=j?k%{afCMapc+Npy z4FJh}l~vgUEUg5V*{VSdGB1o*`b?THhQ>LOO3fZS1>5AHo za_CG8wGQ9}DuptghH&D){U2n#WiABu#og4u?dRyl3LS+9Jd=lvLX>D)kx<2Kx@_1) z2~hrC%jBg9<@~e{P@hp;s<;TOFfgi(tw1rh%2gXk4vZmSrI#_SN)F-$547W>7feFE0JmF8s&<^Y1<7)V1ZgVTj<9Y(22>Y_f)I{W za&l`4*@_YSfSXrH6g}Rj#wpzNH$wMbj%Piott^&qArGbTy?ur#OsI_0=H<*HEhEn+BVKU|1JeU8xeB-RlWE zHe>S%>LViO;oJ&x@*vxLzeOiGa6u&0Cn_vx#}Bgo&^y6$C=7hSs9r6$VsJD-K}iJZ z1+)nU#3`sja7N*@T-+GW-bs<&M!2ts|7c!XNxRD7&v-ah5bfMXG~Ff+1wLuv?FwKS zJ@G*}wwyp52O<1E#o~=QSo3UhqM7xq&)NjLLjuNCOfKx;~xL1&tY+uL?o|Dku5RV{({UPZaf>+ z2m_@3eBd&|=u?Ex4iHhqX(iC?gAGFILMRNfKv*&+V`b{we~jAp>$nh1dMkYL=Kr1I zRA6D7Fy9KOhghH%!(>>weut6PjkE@%KBx#y754w$&y)36xDYhATu1u+e@x+xVgTcw zQFzKap9Sch^Aw{hsmMp*A}w2-I1n)qVYFh1QN@6n5!IxO5k(achy|}go>d}Ma4%NTw5W=1jde1U;-w8B&DQtW#Ve=f;7~!@q;G!9J#((^TFFNVt9-Zvo!;bbc z62BHYhOS$L`FW^=s2~DFU@_>!0Bp>ya2jMj77~)$a~Xq|{RmmjmM^j~@nT0122?)=na@04^1xdXz;0ADd6~=##t1XdET}fR3c9Qnb5+ws%Ya=^n{~I0K z_ZSjBAp$z*&Jz~2i+$|s-GU1b5x5#RA0gvDVXY4ew83g1buguh1N`pw*(?%;|wRc2l47LV% z&|pM~khZ1#IBMlvO{G#lx4|Yx6hm`bsdu#eK31t_u)c>3Xe)>z9%KyuOh6|NzuY71 z-Aml~QKI^fFdjU}j7ipD}zFCSyY}8dti~y>M3sna7R?241OM^?atE_i8Q#*`Uiu zf9>apRcJ;+%?Tzj$Q3^jqB@uW!vMPkwm8O1La4Y=Ej4dI8bNHr!9V$V@?n!?(f|PE)C=3I{31opN0S_QRFf14@0#V3El_8Mo(Dg6@ zmuOY91^n3nd4P3-E-2yphET&dc%a|N<_3YRRBpZW+EJhEjGnf?bvjRovXAFW3ZKaOZx zh}KDUr)^Kp_&|=W32R-&HiEmv~4 zFa#na*$CiRB>CCf-2e98a;v z6c&asS;DPLfHCyOh|kzL`F+}xFK-DI;M!}ief@cEcd(b8qu)cCX>~1fVGFvYfh`%H zJMgWY*uD%`PMATM3fLmmKD%c(%79o-1+*^|sW9$Cv1ZT*yb>_7sLI~dAj*xnW5|v= z&Za2N+(Q^Fp~Qs7dZNZAiqC!k1_cFFmUIv(PI=O47#<4@%`v?tVmuV)U-JuG2#U#= z5BTvp}MiHJpG2@Rc4ADc5w&6K`K2dFcXr z-NVmf9gQ8-rIN+9Vx+MJ=|rXX3I$aroGM1uFQ%E|lOfVnTyqNQbx8X-0zo^t>3Kqt z5qb_89mN%E?3BNyZRbn5DtSNX5B$Inyh23&8&v3ohuE=n3u+T|Y8q8AMp!4poWt+= z3`&AqAD5;%Xh5E~h+KXhEJRf=w(Ic^KKeQusor7S66V>_E(JGufsq}kLcxYbp3hG;~;6iZQ zyMLMfi9@thX-1Xnja6_ec!MHPVtPub#YX2@zd(EUFQ5v}JaH`a*OcIe$f_CMP*f)) zl1HAULmd9QU*ST~-g*Ve zDFlbhB4qOpLOz9^I01=b&2^{@+0nbD)QWzwykE_%;L(suTjtAbsE_Fsoay6>K`Dny zMgd_!m{TkRxxd=_1lyr0*s4bsBXnZ~y?~8{$W@saxk2BfN%b)Wic!E>fMI~+1(JCv zCRpmp<5iNzJjIbeCe#$>6kVqPrQ&8h7M9N_>Z(l%t0z1gUh`Hi1gGx*0-yb}chQcF zsZ>a+B$FgofM0sTpV>9|k-H*}hX0 ze{}-+%yA@JBHDfh+VIr2UWv|aMWg3nevMH6TZO8f8XLib4XiS)KA>YTZxChpvpr-e zL>nW}DX{yXYe*x4xlP~;WD*{umz0O0z^%Ybp+Z-7a%ko!uvVK;RM)^|SObY+M!=w8 z2Ahx24xoyC`Yd+tud1=fmVGGNH*?f>Y8uhi6Z!dzy7yBO^t#Gq2VAF z009-u3`6jywA(@&jOjQ0GEiaW2mT%1wW>?eG|$X+ioVbh#^C!9*9|sTC7NcZhkO%xoh*HH2Obl%swFJW07%_#$-- zac~t$YuJVqA;zDZaB%uf^lImA?EgmKcBR7Y=aJA|&Y}8`VVya|jUaBIjX7vrRqx|Q zWaCxXxIh;pSRY{r^Ro7*Gqd0t*u=_=IGG2%TC0WMkt2xW8kCDC@elq> ztZT@UM^+2Qr{L@F@GlZ(rdeA8?(xtAFQIJFacu;VAjb=Ie@^XCpnKbIFj_sr z6UDk4UyIbLqyq#O39glbWQcft2E&y~5K`n|LC|10HIf>{fcZ*f%GMfMYam^);&zIa zFJR4UG1&yYQ^?+m%E9f>J zL%v(TTp{}Q$~0E!+QTHAe-mLCp?-|E1e`SE~G0wD_&GcmGR z;Y=tK2An_u3~U0!(}6GuB#S^QgmZ?)Qfl8=_GsgW@$z2$=TG3G7)FL)gSE^dHAQPx zGSiG9js@L(9qIf=o+v)}tN#qiMl>QNbxP!`ML%h*m=9#Rk$YuvT4-*C&)`S zh}$#Ff5$&%k_T+rU=T>w3$?2h5rZ#eC%WJ?|9*_0y+I5* z9YF^9sf>J3^`ggPs+wLzl`W^$pNRznB2m(Igj;M<9Lp%~I)q>P0xrs+SV5vn)T<9F zHi@uA5CA8HF^CA-bjWam96CfXUm(qwk`2$G#VUHk&T{Mjk?w2h$(F~E@2j=qZaa^J z^{Y9w{f$^r4am53H$ofO0d?S9sMN9@NA&Qc=R8F+MYQ`mr0EF9bHc_dE@WJ}*lbMs zetSo?z0)7Es%#J|dTN4hy9}wX!QFoiK7!+c;nBdkbAqc2kyZhBt=yUl*$}3#eGyL- z4}9c(9J}LhX~ja*L25>#MlDq|g2If#gqj96UkTaZN@l+G%MUXxzU)V6Uv~}RDhCP@ zYe_biLOJ2r8w<=UlSoh;cF%`6b;tX7qNwkD5yd)zEeT9&WT!`rR|DfgrHrYyL9j}l z6B+6%$yQOFw_1G>2R^2RL-b(De!(S6NJ4m5}rd zU8^B!0}ERq%W*T8U^vZXG*9(fEY zUGwEPI!J{1*Z<$3%9n$Pvf)j?LN@QP{hr}I!yM2zhGRk6f@^}eYV0;Cg#G{dU*fY7 zPXtrfzlh0#Bb<(z+}|S`RZE_d#L9#ut}BRC$&*keX>sYUtJwOo4mQciPmd^C;Oj9Q z@D$l`gb{Xh8NYe}ZrFsoyp5d!TtWz*kPq?00_zDnTf>q^-tXcEA0>=GRsLNLc6ZY) zc7O5K)!Uw^9P9j;Fusff(HrshNtDYmrjSN~UIs+~JR}ZS4usx)OqTbMt@MeW^<4;4 zxI-CXOeqIytXBv|am>I3?Ff=rbG=-iA{-!m;t=89K=-sT5ux5vrWTYUGeUqQq0Fw6 z7$OIa9oO+h@QL65b+YAC)KtrYbEKduBu>b)KrpZ%w3|{UQqp`4&1-MstD(K)`9$?s zGrYrBtK(uT&&3v@>b*`@!6~R3Szm}pr#SZTT=5e@XUlaA4;2hQw@SPSwVA4&R*4m0 zv=S)BRSmG-Q~)9el0h=vCX5G6jwDR7K=)uyXb7w-JlJJC*^kvcmNXy_a5h7G%_U`z@9ZY z4*j0OtfRe2v0zmlt|mlfD+=O7kQmG>@$@<#FIJBq=5zn$Z8X$q#zL%uV2D5nMyON; zhzjes8~$jG`5*WfJYHvuH;1BP8=d@x|+fZniy_*pafdrnkyJ58m?Dq`gYkO@&?=;jXea@^Lfr1KqQ$|1?P zeDUC<8hLP_8qlPLuP<=Wez2?=U+9?!1-Nh$PI0Jr0YoOd*$BNG!tsFAb6n=h?(x_P z$cZ7o_g91vaC1#;*h40sI0;o3BvB?k06|lMLU0P*wjj9O$Yu6LwoKSBTK{X8DHhN~`V0#;N~d!vFj zh3108rJ&mz)OUUZ`M!tncTLFaN>N_X^u!S~*GJ4;72`6XH=zHSvkX6e2$oW?2unRl zOHdC6_z3*+gb=ql5WS8rJ1>-c=M(V4Nq7Z^>u&;cNE8T5LO~Ui(Dk^Yk6smHQ{Pm& zVt>x?X++_b&@+|}_;MM!3TPtbeG7t;2gnMLHq@LEOz^=#4e!Ae%v1dmw*(#!?)|Gj zB@#$fsa&oRImM`SZyG77E~RQUqX^Vl0qJ$(wfZ716||fQBbM6 z6n9eph`v*O7h_ZITMkseU!=P2CR+^T)-)%^^7`7JS|XH z*6z<)KAba3jI|RJiv3GuMubG51*K*)_ zkJJh4NLtm*3LF#;8em6rppQ%-E2KK4w-#7CQV=R#Tb0oQ-P4{)4uaquOa`HAdheIdjYyjbOuea8vNmy+%JX+D)bAl={Tz>@p_yH#{zw0hF#(A|cPET5BAGi>XLi zSF)uZ;e*R$X9|1^k}0j`bNnOk3-N+u_1+9`Mx!G%TFUhGDTNwwWQ5!^JeA{GQTcU| z#vI=AlXUGX#e5e|zzZkg^mQCq|3)kqYKb5bu%K{9MmXvbT7;81A+4@@kC#2JETvT4 zjie33bDrg+0iSzfG1P$yAm9PT2nGbO0^&L(o0aTf&R0YK%n2qZ_A`?hbBU*|zO;e} z1kth_(+UNRjUIVrhxSWa3@ZvmC|zzSC)}!xIO{(`9INi@sbN7G1&~-sQYwku z&~ObHoD7W41!i`{WaEHNtTYBzfKw>?hNu$FrTD_LfA$UZXRo;c@?8J{FPMalhe@Fx9E3s~1%ikWXMw3kfPav}S*3C18+fv@`}J?ZM{shF zVHndLM=Lg_rviLy1J-XLoLzx^6Y`@6_)1tkd|%nyMFlAgms+*9w-B;PB^Xc#eq1F! zm_lLTV7%t>Szxjh@ZCUbSA=T|Qh<5N#1D*Ot)SL%w6-KLGtK_ik1?3N_QJ?_;RL*J z5+2_17V0;p$hV}(bKT1BhQ4f2TzqDOE6l~ zpqqv4xRG1sYF5ASm46qbrPCx%5Cm^vRsE0Dj9Krgzo`x=%Cm{4xA0`6zOaRS;YQYa zMrTHu-vm=h0XL=S#%Cd?SI~zBK)`kXL)BleRKmDX=Wy&v|O?gmh;IW@{X%e?R@s1z5fdAmEcm z!v6YeIk@;1{4j>W{h%{gL&^JAx_~&YcB>>U2t}poGmNAm#C0%lOuRBEOE8c)qtSo} zXwC#c=%2N!Etd)_cYTPjgkn6xiBOmkmEr?KywMyMbbhD?Er-8#LhZ7b@%4gk`6e=> zboKGkD%j%2YpPSUpE!dp8@}d%jIV^_cl|BRhM=PKSB-oE^;t)?GepoDXslFL(5jCk zjLvzSqaj~94FUYC(L>J&Lj|igd&wi9%{X8-0OMnkNl@HYb{LOiK z!kLFjc;inJtcOyq0V9GUK&{$Whc5z&qkKYU$W&$392KTILbD?bdx6$QU{>g!3B;+8 z2N?H_N#C=4+wb$GQ3*yPCrq~m5lF_KE!P3BYhnijAy(q;4sA{I^+J7mnxLNUft>nH zb=OX(k z6&Rhxtu#`I6UxkQVb;U9*9kU7ST)?75)vV3!Pg5Ga?b7zI1MDPdlfDnQ2h7(j3yv+ zj(Q#HEr@2e@THIsx;*&4-zQC=(GXl)DRRNZLSs${0YVNYU>@r8ib=J8tv;nhF;HDv zhk@Y`Tt}+G{<0^WiAA7poih~Nbi^!{>Lf0N9;lq|NpE!shZd3ho zCWcGFY2{9oYUHxDptL*6)N~~+_qoxYuQI&hS)dZOmQNg8*=H?!Js$ki-{wnU-4)NG zF{|b1=1fxHz9q#c3E}fg=()Vwi_#Q|!BM_mSUY-zqFd1TzBaCQ4Sed8j1Tv*IjP1c z3#-oRZ@P{zg}eXgHwoh&jYO$6q$;&IXv|WTvxX3YAu8oznxq`$0!@I-2m;Mg*{l#M zFXNrZ);x4Q@pPR-&w4Z6_=-nczSjV^KV9zye+YObROrrM!|`Xm1&L!^BA{CSqCC~B zSR-TXjY&T+Sus>0A6L!%Bn4HNOq8I40U=Z>-^3Y7$1z-0j{e2F=pH}F7h`7I737mS z*42&Hcf_!}j?0XwTfnrIGp%lGgYm&T`Fi2_ou8uF0(bedP`#but;ZP0lzr_`m6;fZ zdFq=k=Zn!let<)_znfYr)PtZSa1NRq6%u2367mTo9i_QmNb7>{87_ikx{|%sW*y14 zCJe!!@zw60%Om`9L2wBNu6iro#$zns`<~7Rs{uY-4Wm@(O<%*YtKNbqX3`C$btP)R zWNf7yuBT9V=r0@Nkzp0th+OqKo=^!HVgVqDj9SYW7XltE%ed>;e+JC>Vr+f!w-CR= zVK|C&3ag%?q4){-RPpD=j6V4RLNVdVhR-IPzWpz0d~1y;?Na>r1B{0mZcfO{F#{O( zpmXK7@EDl!nYaHh#4@4Na%C}I5EQ@#j0mkMuB@?2`Mx?K>v;g;SgT38rh`#NaXN=M zgR2FLo{e48;=s-~(9_G$kNGOg_q4v44i#<LnLR>Cgj4JgpqmfW= zS6V#8umI{R^@up|UND3#tI7+O8)?Ug+DblxEQh)p{((E#^Iv|GFUFSF{vi31$Ir(I z0rQl}2L^5`Mh+L)v1QJE;Xm_aWAFd?k2E{0)OXj>&-Llv*Tt=?EYoBFH-T zd@=6-;BT_>z$Z%aY^N@$Rf=#I!Qil!MdjLpP+Js;0#>i|l}XzXw-pjdnywU-a(aSH zW#}tYLgUq#UB}_tKcSm^>4f8AAt1otJt`(FTRO+CdkbiUm?0PzjNux%2wX)#@Irl7 z(L_Lm;Hyoa6qJE?+!n@}AX2rX(gbFjaPEEop5veS2#?0pwj0pPUqqPOfbYw;{=B!6Zfnrl>}bviaRXe_(P~#>(WD6) z!(?O#0tU6VRL^W7B2|)d)&ug1;A)W0R6>MM4)7b=2P?n_!?!>-LAXqj z>my|6I$)k)f5O3KqnoY&3go-^2>95J$<#F*+W8Yi>+5AO-rV4jnm{aN%SxR=Fw!Z9 zMpn6=QdT5XqE;b7@HzAbWn;cn2B#gz;>H2@|L*GMOk>#y zQD8BmSPi5rIpNHQ+4mp+DPJo-@$hw}jaa&IJ zRA3Z2LL{`B!t_iabhb0|ntugU=$^Ts+yCQt62daASec83dMP3`h#<=Z6)JU04q*i5 z4etYfU`VRC%^jrUDjncTAevjm_y)uV9Lj#2u3Ymt$anD)5a45vB4L>wAAjy!@!p|I z^|oB1XFz@Nt{PH~t>3(E(uP=%=~uzrLQlI89q% zE)kj{)#&QP7@dY%Ev1vziHa0g)R2+l|G(}?%Mo8S2c0%{t|$|<^0aI8Jk0Lk(8(L< zy2oqzE^Y!ohJ=IpYdH4YpM+XcDLKR_PI$)0Lgk7DTmq4!I#*y-t0}3*J&9r=N{!id zR?3omR-MvnXU5dl5qm!RCXRislDs$Ou4Mkko3SEBjuddt-o~eX=g0ZL8^4LO_kEtlO^$_cuQ3}#`iYEz zK4QTg^(4?}7{fea-H-kUYMZVE;M8aSl-qy*_4vr>Ohqgt!ju^9oH1DzRHvAF&K$|M z2z`DF_ksoD=gwf)CL~wK#2bX@s&(Y88S=xYsw?T6rzqCHfWq$Qz{zi+n>-QAckvVO zu_T)*`B-~K~<{C9qc5C77u_#Z#NliU8U*YVJM-h+79)D$+oBw@xY z@__+^vjwC=vt_heFbNGd{lxFmzUC$P@sJ08@1JnzpZycuIHxn+VqsH8eez;?@^}cuFEJvK;YCtT2U?xZm&Ks4A2I3hds)6r=&p@(3vPq!{x+5it zYPf?LvMFZm?1vwY&;EvMzWdjiyX;lS8~=p0J#V78{Uoao1R8CnbG5*xh~Y;H5)ypV_-DUI zW9M^OyZd82_(wm>nf4K)mZQ~B7Ul}l!(ChsG(azNxOIK}vB2bhLx)Cmz|ifzvZfht z6f9kjL^W7BgX9xvDbyE`V!(l=Z=!cWb-rhY1^m)6;mkE0eVBxymf)IzQtAk^6~h7q z4^~aeRaVYHb&N$(K-FNY0|lQ5TAYM4IqhqjEKE+&Ts_1cZ+;D*{-qzn%`dRb1BG%;H`5nH|^F2^Fn z$D~v)Cz~A8n~Z#7giX)mvVZwOqSibQ{JVe5-M{)emK%quImhgjW8JLMc;F1tgz^PI zs;B^Wd%|ZuT8C(xmTp%!*UA{rW_Kd#96C9Ng#kLNgj$5p3J$KlhHmuKB;QkvfR80% zw{s1LuXr=wVybnwMm`8=9jvGlkYYsnR@Df;l5-KN-FyrT9|WE15cZrU+Lhv_+til} z+UH=t?kM69amTw}!oJ`A7c4$Jgudmce+gbNjsJ{iZGXVc2qCHJZAn~B=XGX<&a^VS z&N16jW><{l5Oh*y!xd7NljI}S>M+TW-VuuBK8Ro=Bjk=l z;fLsQ*-9th{2x2jP~D( z=$K*>XjV(vk#V55Q!DFK0B3W?_j&pQM|(Y_>x66+GdPmdTolsvb!7gf$jo-Sdp|*c z{};&1)xrhtGDp4RO6%9?2s-c-_ZYTjBrk}N&5GTfquXPcS1fl(8bJgW1h+O#Xy?dG z6Bmr!3c~U!7M-gMqt+z`U6f%o$igS_{>@8v0qm#gZBp+alvJ{CUqj&g!5ZdxhH zDn^Dn!yF_EmO*V6m=~<6_(?@j4rbUDDJ(eT_5sCNL1u*LMG^K{&)P$tNn6o%Mi>~& z4^YnQrmd4b5J5NK?e$J2oJ?>HAQggU{bjarAEqdkPNj z{7Jfx-9~>KPf;jOZJej99n9c8i# zSx<>_kNAKA8I_{Dy;DhN9BB$u+a1k$DNpCe3P}X<*yHal2xoyQVSEDm2Vp#R6b}_} zdmm{Aba5l55!okhBm3NGbk{b-<|wj1qWIKb5QIVgt#bh*Dexm_+g5{-!S>`ov<8n z@T#ArH+LTSUIF|aPjNieE#RZ&{V#v?-0|_}zZD-vP_3mX=VC`EN-~yM-Rl|j1h=3R z_ZD;?^!Ql;qf9`23^UucBwzmw<#lnF1f&KY2yr#Om^P)9v4;#$gMFUfUZd9)LN3*H z^kzU^0D*h}uG)2j%ON&{y1|q{*PsWX2P$A047x(zaD*JHZBmJr$N$y_C1n~ zh}Ro>?L2PXH#0f#NBF#bOl5Cpsz zVicD^u@vxQXzdngKv;!zUWrW!t#Ejf7%FRqkqoIuS*jtb$2xaVHnE# z-MAmHLq>0(k*VNERuZi32{wHb}Dp)@nOof67dElKNZlbbOH&C&IEjbP$)~sVAwMnGg6L- zsw%$fA(v_!uu|+gTA|eK4aUMaNHwD}r8xE2kkVplEG79AAz${DMcnPsjt~xe!dS_@ z0EU#8LIqQ(&p|W?Obgjq%FN!6jbZ>{1fdXY6(lplmW||V4-!t^LwH0+zvbuXhRdJQ zb-s%w2K^M*ZKZ5!e0Wrp>AQV*dx!%xJ%X+4SYK^hp5Mzr|*vVBSj@j>if*w~r zt;zRvw17NTPgqI0j^6lILgB~`1)9%tBsat)GfHx0T)My_6$p^6!EgX^b-;x@3jnw( z0ib)j&(A6qA(U@wBRY#FvOuE(g)!FLLx_<@EIt~mk4)Q&n3CQ_vyGp=t zV8dH*jRdv>4w!e?LPQuE$qaDX=$$iM9nxkMf2FAq3DlZG@YSwmTy^;}N+GF15E!fk z#zSMe8E{g-wGK8Z6yOgT#hR2!Lo@@N6|y@6h~YL0$u2?Wl-|dU)jgh29)X6mY1jy) zCY7s3a8cDx40*N4GdPe)ust4sAm%{pEp*!#2l)UTPj4InJ}e?X1~7@&F`C`Z^wGNr z`wLhybk+nMT2kQ*YxVPkyKkfxA#1DJq=)p#frxrD6l1uZHsW56+7dhM+tL|;*20x5Ie|K@lC0&nI`}S zsl!jIq-S#4V+FJ~JKVHlLl~b^j$HL-2GiF(_UhzCfQyNMoKM0^z_5F8GrBd9-Avb&$ z2wiY3C7D&SUSPE1So)@)WONae@9A6zd}4J%_Oj!nzl}@`*-#aGF$f-fVYr$?pme3R zL4hm=c>VJT{50YCn_zE&+nSI*?>j*}#hK4w{UMe*{HTw^ljTOTxDyWUD>tpOs;GIw z^%45=7hqh5e*TZ~cX|Al2!i1NluB5efva1!X5^8CW9OS0%wBvk-!p}Pj}C_THQ#bu|7_3Xza^uENnr|9l^`V|-1pp&?Z8gMc<5>L``vy35Er8h{_^g4d@tKqZYG)+=y}Kt6zB$Uz||4Nj&OGlt2q(^WDa7*53G#$;!u#h zau=QYYmjMCaF?Q+AW8wT=Vh-I|tlR zkS{191Zp{8kdLR(?h4urWW!34lbO<7C&+VzaF?feFo*A{k!-sRcrju8huC|1*i;SL z3Q&^VEksOKlp~8jL9g@Fm(f2HW0@hK{b5PC3wd1Ks4A5%WD0UGSGpOj^k)cDFx<_CE@Dj$sXm9JUk?32;S( zT~~)j1o!j__ZfcLk*qWPDhy6S90j7Z8jQyYmRluiO~D3%XdiH`l5JMpXU4eKZNoFb zeQ=dfYp{REo9Hz!p5E>=u@!g0Dw=+_fdjqoplE$3**EQkSJber0k-Gl&ojbx1`l;% zJR!6l(hWpK0Ruyi2a=VHn$L-60t`GhsS+DIVORvw3nIci&^O$s7GYfscb^1O{Cvv( zO>cZglkb_31wX#*I61|(_J@h(K0I|C(*&-?cqNYg6#M~l$1&VTM}!+{Fk9`LLBNDE zhQvv=2F-zNa`+P-=~BwFWHsQvDaHaw0eO;e$iLw!yDsB=JTrE~TmYWDT{PWn1BZIw z!mjo_$hYGG$B-O=KGE_CY*#|Ks)J5_8*miQL6kXQfDw>lOw{he{v7*ojx9lMMs1hF z19oqYT^SKv!XbSlJ@?GEe9v?X_+>2Nes=2H39W(%19FPK;9P{%H)A}Dz(a&X_fwsf zpoFaiC=65xO93))k-)S<2EOZIT9B)!IMDqOy6&oHRH@}s67mGU`BxOoGE za3WAlJG5p*rveNO8wJAp7-E4CkdA@@BBgrSRt$nb0k#^@1d3L~!EJA)=bo9_?!_ud zeKK&!%x)Kv9|4%u*D*|YGIjK`=n!Ng=o;8*u;Yfb9ddn&Zd6c^SP)eh3NltW3BG4g z068e&TPX)OyqR8lDdxN6f*+?lZWnvmF?=^sZvrcUFo7^F=yeWlOu^wbI2W+KVL=cD zGq7NYt7P^xA+%!-&b)+sgXetCS zKpQ{|)P+F8{znpy|$g9)q%MIyMCl!Ww!l}U&e5Kj5>@SkYJ!RP!Wy_t(! zOnQlcf1e~=yN?}rz8%+qpunWcZdvcJmcqy&Gc3d$-1rl8TbC@~B^Uf;y5mPKI(^&E zlfSf$UhT?mM@R&^0Xydr0h>-Zxa$)6E)nqSwX-_g$`N@hVf*FCO&#Q$uY^}T7kSP` z{PrdXH~tLWOC63&1pNAva2p4YypnMD7zs-VHE8bSkbBc3|Lqd_F6jZkZg`QZR)hjN z{sFf4e;2=+b7b>R(Q~^mk?#@#|9(l>p6ms2^peXjwbw2Y5a92hgupXSMt>;={GW@D zhY((TiF}s`_&*aLH?x;qBHtzaPsPJU{1-ngXL|{kaKZS00dm6V{;=DjUjP6A07*qo IM6N<$f`DhU-~a#s literal 0 HcmV?d00001 diff --git a/src/assets/subclass-icons/4.png b/src/assets/subclass-icons/4.png new file mode 100644 index 0000000000000000000000000000000000000000..e467494dc1fc8ce8927b66466f01c05b5075ce9a GIT binary patch literal 28188 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

P%q28Ea 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 TMH->K00000NkvXXu0mjftsYxu literal 0 HcmV?d00001 diff --git a/src/assets/subclass-icons/6.png b/src/assets/subclass-icons/6.png new file mode 100644 index 0000000000000000000000000000000000000000..14ba9f3c6c00538f68a9ab1ec9a4c03e8cbb8778 GIT binary patch literal 23196 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 TWeBNx00000NkvXXu0mjfjey9w literal 0 HcmV?d00001 diff --git a/src/assets/subclass-icons/7.png b/src/assets/subclass-icons/7.png new file mode 100644 index 0000000000000000000000000000000000000000..d641f4b368cd010cbeb9c8c37dd541cd08b5b2b9 GIT binary patch literal 22126 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 pH%9g#T;N;e21%OZ#q54M`4`@0I)f2l!S( void; screenshot: string; - subclass: ManifestSubclass; + subclass: SubclassConfig; } const TransparentButton = styled(Button)(({ theme }) => ({ @@ -65,7 +65,7 @@ const LoadoutCustomization: React.FC = ({ - + FREE SPACE FOR SOMETHING diff --git a/src/components/SingleDiamondButton.tsx b/src/components/SingleDiamondButton.tsx index 1ecf23c..52b0f74 100644 --- a/src/components/SingleDiamondButton.tsx +++ b/src/components/SingleDiamondButton.tsx @@ -2,12 +2,15 @@ import React, { useState, useEffect, useCallback } from 'react'; import { useSpring, animated, config, to } from 'react-spring'; import './SingleDiamondButton.css'; import { ManifestSubclass } from '../types/manifest-types'; +import { SubclassConfig } from '../types/d2l-types'; +import { DAMAGE_TYPE } from '../lib/bungie_api/constants'; +import { damp } from 'three/src/math/MathUtils'; interface SingleDiamondButtonProps { - subclasses: ManifestSubclass[]; - selectedSubclass: ManifestSubclass | null; - onSubclassSelect: (subclass: ManifestSubclass) => void; - onSubclassRightClick: (subclass: ManifestSubclass) => void; + subclasses: { [key: number]: SubclassConfig | undefined } | undefined; + selectedSubclass: SubclassConfig | null; + onSubclassSelect: (subclass: SubclassConfig) => void; + onSubclassRightClick: (subclass: SubclassConfig) => void; } const SingleDiamondButton: React.FC = ({ @@ -16,10 +19,10 @@ const SingleDiamondButton: React.FC = ({ onSubclassSelect, onSubclassRightClick, }) => { - const [currentSubclass, setCurrentSubclass] = useState(null); - const [lastNonPrismaticSubclass, setLastNonPrismaticSubclass] = useState( - null - ); + const [currentSubclass, setCurrentSubclass] = useState(undefined); + const [lastNonPrismaticSubclass, setLastNonPrismaticSubclass] = useState< + SubclassConfig | undefined + >(undefined); const [isPrismaticActive, setIsPrismaticActive] = useState(false); const [isAccelerating, setIsAccelerating] = useState(false); const [isOblong, setIsOblong] = useState(false); @@ -85,29 +88,40 @@ const SingleDiamondButton: React.FC = ({ } }, [isAccelerating, scaleApi]); - const getDefaultSubclass = () => { - return subclasses.find((subclass) => !subclass.name.includes('Prismatic')) || subclasses[0]; - }; + function getDefaultSubclass(): SubclassConfig | undefined { + if (subclasses) { + const keys = Object.keys(subclasses); + for (let i = 0; i < keys.length; i++) { + if ( + subclasses[Number(keys[i])] !== undefined && + subclasses[Number(keys[i])]?.damageType !== DAMAGE_TYPE.KINETIC + ) + return subclasses[Number(keys[i])]!; + } + } + + return undefined; + } useEffect(() => { if (selectedSubclass) { setCurrentSubclass(selectedSubclass); - setIsPrismaticActive(selectedSubclass.name.includes('Prismatic')); - if (!selectedSubclass.name.includes('Prismatic')) { + setIsPrismaticActive(selectedSubclass.subclass.damageType === DAMAGE_TYPE.KINETIC); + if (selectedSubclass.subclass.damageType !== DAMAGE_TYPE.KINETIC) { setLastNonPrismaticSubclass(selectedSubclass); } else if (!lastNonPrismaticSubclass) { setLastNonPrismaticSubclass(getDefaultSubclass()); } - } else if (subclasses.length > 0) { + } else if (subclasses) { const defaultSubclass = getDefaultSubclass(); setCurrentSubclass(defaultSubclass); setLastNonPrismaticSubclass(defaultSubclass); - onSubclassSelect(defaultSubclass); + onSubclassSelect(defaultSubclass!); } }, [selectedSubclass, subclasses, onSubclassSelect, lastNonPrismaticSubclass]); - const handleSelect = (subclass: ManifestSubclass) => { - if (subclass.name.includes('Prismatic')) { + const handleSelect = (subclass: SubclassConfig) => { + if (subclass.damageType === DAMAGE_TYPE.KINETIC) { setIsPrismaticActive(true); } else { setIsPrismaticActive(false); @@ -125,16 +139,11 @@ const SingleDiamondButton: React.FC = ({ } }; - const handleRightClick = (event: React.MouseEvent, subclass: ManifestSubclass) => { + const handleRightClick = (event: React.MouseEvent, subclass: SubclassConfig) => { event.preventDefault(); onSubclassRightClick(subclass); }; - const prismaticSubclass = subclasses.find((subclass) => subclass.name.includes('Prismatic')); - const nonPrismaticSubclasses = subclasses - .filter((subclass) => !subclass.name.includes('Prismatic') && subclass !== currentSubclass) - .slice(0, 4); - const RotatingShape = ({ rotationOffset = 0 }: { rotationOffset?: number }) => ( = ({

{!isPrismaticActive && (
- {nonPrismaticSubclasses.map((subclass, index) => ( -
handleSelect(subclass)} - onContextMenu={(event) => handleRightClick(event, subclass)} - > - {subclass.name} -
- ))} + {subclasses && + [ + DAMAGE_TYPE.ARC, + DAMAGE_TYPE.SOLAR, + DAMAGE_TYPE.STASIS, + DAMAGE_TYPE.STRAND, + DAMAGE_TYPE.VOID, + ] + .filter((key) => Number(key) !== selectedSubclass?.damageType) + .map((damageType, index) => ( +
{ + if (damageType in subclasses) handleSelect(subclasses[Number(damageType)]!); + }} + onContextMenu={(event) => { + if (damageType in subclasses && selectedSubclass?.damageType === damageType) + handleRightClick(event, subclasses[Number(damageType)]!); + }} + > + {String(damageType)} +
+ ))}
)} {isPrismaticActive ? ( @@ -176,7 +204,11 @@ const SingleDiamondButton: React.FC = ({ - {currentSubclass!.name} + {currentSubclass!.subclass.name}
= ({ onContextMenu={(event) => handleRightClick(event, lastNonPrismaticSubclass!)} > {lastNonPrismaticSubclass!.name}
@@ -197,25 +229,31 @@ const SingleDiamondButton: React.FC = ({ onContextMenu={(event) => handleRightClick(event, currentSubclass!)} > {currentSubclass && ( - {currentSubclass.name} + {currentSubclass.subclass.name} )} - {prismaticSubclass && ( + {subclasses !== undefined && subclasses[DAMAGE_TYPE.KINETIC] ? (
handleSelect(prismaticSubclass)} - onContextMenu={(event) => handleRightClick(event, prismaticSubclass)} + onClick={() => handleSelect(subclasses[DAMAGE_TYPE.KINETIC]!)} + onContextMenu={(event) => handleRightClick(event, subclasses[DAMAGE_TYPE.KINETIC]!)} >
{prismaticSubclass.name}
+ ) : ( +
)} )} diff --git a/src/features/profile/destiny-profile.ts b/src/features/profile/destiny-profile.ts index 814dc71..3926d4b 100644 --- a/src/features/profile/destiny-profile.ts +++ b/src/features/profile/destiny-profile.ts @@ -413,7 +413,7 @@ async function buildSubclassConfig(item: any, character: Character, itemComponen name: subclass.name, class: subclass.class, icon: subclass.icon, - screenshot: subclass.icon, + screenshot: subclass.screenshot, isOwned: subclass.isOwned, }; diff --git a/src/features/subclass/SubclassCustomizationWrapper.tsx b/src/features/subclass/SubclassCustomizationWrapper.tsx index 4e37cea..e96d109 100644 --- a/src/features/subclass/SubclassCustomizationWrapper.tsx +++ b/src/features/subclass/SubclassCustomizationWrapper.tsx @@ -4,10 +4,11 @@ import './SubclassCustomizationWrapper.css'; import { Button, Box } from '@mui/material'; import { styled } from '@mui/material/styles'; import { ManifestSubclass } from '../../types/manifest-types'; +import { SubclassConfig } from '../../types/d2l-types'; interface SubclassCustomizationWrapperProps { onBackClick: () => void; - subclass: ManifestSubclass; + subclass: SubclassConfig; screenshot: string; } @@ -41,7 +42,7 @@ const SubclassCustomizationWrapper: React.FC Back - + ); }; From 261646af75d09cd936e92ff35311511e949a1cd0 Mon Sep 17 00:00:00 2001 From: dragoni7 Date: Tue, 3 Sep 2024 13:34:17 -0700 Subject: [PATCH 3/3] Adjusted layout. Set default subclass config to character subclass defaults. Disabled right clicking on non selected subclass --- src/app/routes/Dashboard.tsx | 27 ++++++++--------- src/components/LoadoutCustomization.tsx | 2 +- src/components/SingleDiamondButton.tsx | 20 ++++++++++--- .../subclass/AbilitiesModification.tsx | 19 +++++------- .../subclass/SubclassCustomizationWrapper.tsx | 8 +++-- src/store/LoadoutReducer.tsx | 29 +++++++------------ 6 files changed, 52 insertions(+), 53 deletions(-) diff --git a/src/app/routes/Dashboard.tsx b/src/app/routes/Dashboard.tsx index 5d40d46..9b778a6 100644 --- a/src/app/routes/Dashboard.tsx +++ b/src/app/routes/Dashboard.tsx @@ -133,20 +133,6 @@ export const Dashboard: React.FC = () => { if (profileData.characters.length > 0) { setSelectedCharacter(profileData.characters[0]); - setSubclasses(profileData.characters[0].subclasses); - - const keys = Object.keys(profileData.characters[0].subclasses); - for (let i = 0; i < keys.length; i++) { - if ( - profileData.characters[0].subclasses[Number(keys[i])] !== undefined && - profileData.characters[0].subclasses[Number(keys[i])]!.damageType !== - DAMAGE_TYPE.KINETIC - ) { - setSelectedSubclass(profileData.characters[0].subclasses[Number(keys[i])]!); - setLastNonPrismaticSubclass(profileData.characters[0].subclasses[Number(keys[i])]!); - break; - } - } } }; @@ -171,6 +157,11 @@ export const Dashboard: React.FC = () => { ) { setSelectedSubclass(selectedCharacter.subclasses[Number(keys[i])]!); setLastNonPrismaticSubclass(selectedCharacter.subclasses[Number(keys[i])]!); + dispatch( + updateSubclass({ + subclass: selectedCharacter.subclasses[Number(keys[i])], + }) + ); break; } } @@ -210,10 +201,16 @@ export const Dashboard: React.FC = () => { const handleSubclassSelect = (subclass: SubclassConfig) => { setSelectedSubclass(subclass); + dispatch( + updateSubclass({ + subclass: subclass, + }) + ); + if (selectedCharacter) { dispatch( updateSubclass({ - subclass: selectedCharacter.subclasses[subclass.damageType]?.subclass, + subclass: selectedCharacter.subclasses[subclass.damageType], }) ); } diff --git a/src/components/LoadoutCustomization.tsx b/src/components/LoadoutCustomization.tsx index bb51a4d..7f5b393 100644 --- a/src/components/LoadoutCustomization.tsx +++ b/src/components/LoadoutCustomization.tsx @@ -65,7 +65,7 @@ const LoadoutCustomization: React.FC = ({ - + FREE SPACE FOR SOMETHING diff --git a/src/components/SingleDiamondButton.tsx b/src/components/SingleDiamondButton.tsx index 52b0f74..6670cef 100644 --- a/src/components/SingleDiamondButton.tsx +++ b/src/components/SingleDiamondButton.tsx @@ -198,7 +198,10 @@ const SingleDiamondButton: React.FC = ({
handleRightClick(event, currentSubclass!)} + onContextMenu={(event) => { + if (selectedSubclass?.damageType === DAMAGE_TYPE.KINETIC) + handleRightClick(event, currentSubclass!); + }} >
@@ -213,7 +216,10 @@ const SingleDiamondButton: React.FC = ({
handleSelect(lastNonPrismaticSubclass!)} - onContextMenu={(event) => handleRightClick(event, lastNonPrismaticSubclass!)} + onContextMenu={(event) => { + if (selectedSubclass?.damageType !== DAMAGE_TYPE.KINETIC) + handleRightClick(event, lastNonPrismaticSubclass!); + }} > = ({ <>
handleRightClick(event, currentSubclass!)} + onContextMenu={(event) => { + if (selectedSubclass?.damageType !== DAMAGE_TYPE.KINETIC) + handleRightClick(event, currentSubclass!); + }} > {currentSubclass && ( = ({
handleSelect(subclasses[DAMAGE_TYPE.KINETIC]!)} - onContextMenu={(event) => handleRightClick(event, subclasses[DAMAGE_TYPE.KINETIC]!)} + onContextMenu={(event) => { + if (selectedSubclass?.damageType === DAMAGE_TYPE.KINETIC) + handleRightClick(event, subclasses[DAMAGE_TYPE.KINETIC]!); + }} >
diff --git a/src/features/subclass/AbilitiesModification.tsx b/src/features/subclass/AbilitiesModification.tsx index 791df24..7757f32 100644 --- a/src/features/subclass/AbilitiesModification.tsx +++ b/src/features/subclass/AbilitiesModification.tsx @@ -5,17 +5,17 @@ import { Box, Container } from '@mui/system'; import { PLUG_CATEGORY_HASH } from '../../lib/bungie_api/subclass-constants'; import { RootState } from '../../store'; import { db } from '../../store/db'; -import { updateSubclassMods } from '../../store/LoadoutReducer'; +import { updateSubclass, updateSubclassMods } from '../../store/LoadoutReducer'; import { ManifestSubclass, ManifestPlug, ManifestAspect, ManifestStatPlug, } from '../../types/manifest-types'; -import { DamageType } from '../../types/d2l-types'; +import { DamageType, SubclassConfig } from '../../types/d2l-types'; interface AbilitiesModificationProps { - subclass: ManifestSubclass; + subclass: SubclassConfig; } export const EMPTY_MANIFEST_PLUG: ManifestPlug = { @@ -153,7 +153,7 @@ const StyledTitle = styled(Typography)(({ theme }) => ({ width: '40%', })); -const fetchMods = async (subclass: ManifestSubclass) => { +const fetchMods = async (subclass: SubclassConfig) => { const modsData: { [key: string]: (ManifestPlug | ManifestAspect | ManifestStatPlug)[] } = { SUPERS: [], CLASS_ABILITIES: [], @@ -164,7 +164,7 @@ const fetchMods = async (subclass: ManifestSubclass) => { FRAGMENTS: [], }; - const classType = subclass.class.toUpperCase() as keyof typeof PLUG_CATEGORY_HASH; + const classType = subclass.subclass.class.toUpperCase() as keyof typeof PLUG_CATEGORY_HASH; const damageType = subclassTypeMap[ subclass.damageType as DamageType ] as keyof (typeof PLUG_CATEGORY_HASH)[typeof classType]; @@ -217,6 +217,7 @@ const fetchMods = async (subclass: ManifestSubclass) => { return modsData; } }; + const AbilitiesModification: React.FC = ({ subclass }) => { const [mods, setMods] = useState<{ [key: string]: (ManifestPlug | ManifestAspect | ManifestStatPlug)[]; @@ -426,16 +427,14 @@ const AbilitiesModification: React.FC = ({ subclass } return ( - + - {subclass.name} + {subclass.subclass.name} - {renderModCategory('SUPERS', loadout.super)} - ABILITIES @@ -446,7 +445,6 @@ const AbilitiesModification: React.FC = ({ subclass {renderModCategory('GRENADES', loadout.grenade)} - ASPECTS @@ -457,7 +455,6 @@ const AbilitiesModification: React.FC = ({ subclass ))} - FRAGMENTS diff --git a/src/features/subclass/SubclassCustomizationWrapper.tsx b/src/features/subclass/SubclassCustomizationWrapper.tsx index e96d109..47d7650 100644 --- a/src/features/subclass/SubclassCustomizationWrapper.tsx +++ b/src/features/subclass/SubclassCustomizationWrapper.tsx @@ -30,7 +30,7 @@ const SubclassCustomizationWrapper: React.FC screenshot, }) => { return ( -
@@ -42,8 +42,10 @@ const SubclassCustomizationWrapper: React.FC Back - -
+ + + +
); }; diff --git a/src/store/LoadoutReducer.tsx b/src/store/LoadoutReducer.tsx index 75d5f66..f60dbeb 100644 --- a/src/store/LoadoutReducer.tsx +++ b/src/store/LoadoutReducer.tsx @@ -1,5 +1,12 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit'; -import { Character, DamageType, DestinyArmor, Loadout, Subclass } from '../types/d2l-types'; +import { + Character, + DamageType, + DestinyArmor, + Loadout, + Subclass, + SubclassConfig, +} from '../types/d2l-types'; import { EMPTY_ASPECT, EMPTY_FRAGMENT, @@ -196,25 +203,9 @@ export const loadoutConfigSlice = createSlice({ state.loadout.legArmorMods = initialState.loadout.legArmorMods; state.loadout.classArmorMods = initialState.loadout.classArmorMods; }, - updateSubclass: (state, action: PayloadAction<{ subclass: Subclass | undefined }>) => { + updateSubclass: (state, action: PayloadAction<{ subclass: SubclassConfig | undefined }>) => { if (action.payload.subclass !== undefined) { - state.loadout.subclassConfig = { - subclass: action.payload.subclass, - damageType: action.payload.subclass.damageType as DamageType, - super: EMPTY_MANIFEST_PLUG, - aspects: [EMPTY_ASPECT, EMPTY_ASPECT], - fragments: [ - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - EMPTY_FRAGMENT, - ], - classAbility: null, - meleeAbility: null, - movementAbility: null, - grenade: null, - }; + state.loadout.subclassConfig = action.payload.subclass; } }, updateSubclassMods: (state, action: PayloadAction<{ category: string; mods: any[] }>) => {