diff --git a/components/CharacterGrid/index.tsx b/components/CharacterGrid/index.tsx index bb0d01d9..af9b4721 100644 --- a/components/CharacterGrid/index.tsx +++ b/components/CharacterGrid/index.tsx @@ -66,7 +66,7 @@ const CharacterGrid = (props: Props) => { useEffect(() => { let initialPreviousUncapValues: { [key: number]: number } = {} Object.values(appState.grid.characters).map((o) => { - o ? (initialPreviousUncapValues[o.position] = o.uncap_level) : -1 + o ? (initialPreviousUncapValues[o.position] = o.uncap_level) : 0 }) setPreviousUncapValues(initialPreviousUncapValues) }, [appState.grid.characters]) diff --git a/components/SummonGrid/index.tsx b/components/SummonGrid/index.tsx index 8303801c..e115da5d 100644 --- a/components/SummonGrid/index.tsx +++ b/components/SummonGrid/index.tsx @@ -71,8 +71,8 @@ const SummonGrid = (props: Props) => { initialPreviousUncapValues[6] = appState.grid.summons.friendSummon.uncap_level - Object.values(appState.grid.summons.allSummons).map( - (o) => (initialPreviousUncapValues[o.position] = o.uncap_level) + Object.values(appState.grid.summons.allSummons).map((o) => + o ? (initialPreviousUncapValues[o.position] = o.uncap_level) : 0 ) setPreviousUncapValues(initialPreviousUncapValues) @@ -190,7 +190,13 @@ const SummonGrid = (props: Props) => { appState.grid.summons.mainSummon.uncap_level = uncapLevel else if (appState.grid.summons.friendSummon && position == 6) appState.grid.summons.friendSummon.uncap_level = uncapLevel - else appState.grid.summons.allSummons[position].uncap_level = uncapLevel + else { + const summon = appState.grid.summons.allSummons[position] + if (summon) { + summon.uncap_level = uncapLevel + appState.grid.summons.allSummons[position] = summon + } + } } function storePreviousUncapValue(position: number) { @@ -202,9 +208,10 @@ const SummonGrid = (props: Props) => { else if (appState.grid.summons.friendSummon && position == 6) newPreviousValues[position] = appState.grid.summons.friendSummon.uncap_level - else - newPreviousValues[position] = - appState.grid.summons.allSummons[position].uncap_level + else { + const summon = appState.grid.summons.allSummons[position] + newPreviousValues[position] = summon ? summon.uncap_level : 0 + } setPreviousUncapValues(newPreviousValues) } diff --git a/components/WeaponGrid/index.tsx b/components/WeaponGrid/index.tsx index e4be7183..86169c2c 100644 --- a/components/WeaponGrid/index.tsx +++ b/components/WeaponGrid/index.tsx @@ -63,8 +63,8 @@ const WeaponGrid = (props: Props) => { initialPreviousUncapValues[-1] = appState.grid.weapons.mainWeapon.uncap_level - Object.values(appState.grid.weapons.allWeapons).map( - (o) => (initialPreviousUncapValues[o.position] = o.uncap_level) + Object.values(appState.grid.weapons.allWeapons).map((o) => + o ? (initialPreviousUncapValues[o.position] = o.uncap_level) : 0 ) setPreviousUncapValues(initialPreviousUncapValues) @@ -178,16 +178,30 @@ const WeaponGrid = (props: Props) => { const updateUncapLevel = (position: number, uncapLevel: number) => { if (appState.grid.weapons.mainWeapon && position == -1) appState.grid.weapons.mainWeapon.uncap_level = uncapLevel - else appState.grid.weapons.allWeapons[position].uncap_level = uncapLevel + else { + const weapon = appState.grid.weapons.allWeapons[position] + if (weapon) { + weapon.uncap_level = uncapLevel + appState.grid.weapons.allWeapons[position] = weapon + } + } } function storePreviousUncapValue(position: number) { // Save the current value in case of an unexpected result let newPreviousValues = { ...previousUncapValues } - newPreviousValues[position] = - appState.grid.weapons.mainWeapon && position == -1 - ? appState.grid.weapons.mainWeapon.uncap_level - : appState.grid.weapons.allWeapons[position].uncap_level + + if (appState.grid.weapons.mainWeapon && position == -1) { + newPreviousValues[position] = appState.grid.weapons.mainWeapon.uncap_level + } else { + const weapon = appState.grid.weapons.allWeapons[position] + if (weapon) { + newPreviousValues[position] = weapon.uncap_level + } else { + newPreviousValues[position] = 0 + } + } + setPreviousUncapValues(newPreviousValues) }