Android build v1.1.9
This commit is contained in:
@@ -9,7 +9,7 @@ import {
|
||||
type PartyMember,
|
||||
type Spell,
|
||||
} from '../game'
|
||||
import { completeRoguelike, type DungeonReward } from '../profile'
|
||||
import { completeRoguelike, recordPvpMatch, type DungeonReward } from '../profile'
|
||||
import type { CharacterProfile, DungeonEncounter } from '../profile'
|
||||
import type { GameMode } from '../gameRepository'
|
||||
import { PartyMemberFrame } from './PartyFrames'
|
||||
@@ -362,6 +362,7 @@ export function PvPRoguelikeScreen({
|
||||
const nextLogId = useRef(2)
|
||||
const elapsedTicksRef = useRef(0)
|
||||
const recordedRunRef = useRef(false)
|
||||
const matchStatsRecordedRef = useRef(false)
|
||||
const rewardClaimedRef = useRef(false)
|
||||
const matchWinRewardClaimedRef = useRef(false)
|
||||
const bossRewardClaimedRef = useRef(new Set<number>())
|
||||
@@ -538,6 +539,12 @@ export function PvPRoguelikeScreen({
|
||||
'loot',
|
||||
)
|
||||
}
|
||||
if (result.petAwarded) {
|
||||
addLog(
|
||||
`${result.petAwarded.petName} awarded${result.petAwarded.duplicate ? ` (owned x${result.petAwarded.quantityAfter})` : ''}.`,
|
||||
'loot',
|
||||
)
|
||||
}
|
||||
})
|
||||
.catch((reason: unknown) => {
|
||||
setRewardError(
|
||||
@@ -654,6 +661,7 @@ export function PvPRoguelikeScreen({
|
||||
pendingLiveUpgradeRef.current = null
|
||||
loggedOpponentDoneRef.current = false
|
||||
recordedRunRef.current = false
|
||||
matchStatsRecordedRef.current = false
|
||||
rewardClaimedRef.current = false
|
||||
matchWinRewardClaimedRef.current = false
|
||||
cpuDefeatedRef.current = false
|
||||
@@ -711,6 +719,7 @@ export function PvPRoguelikeScreen({
|
||||
pendingLiveUpgradeRef.current = null
|
||||
loggedOpponentDoneRef.current = false
|
||||
recordedRunRef.current = false
|
||||
matchStatsRecordedRef.current = false
|
||||
rewardClaimedRef.current = false
|
||||
matchWinRewardClaimedRef.current = false
|
||||
cpuDefeatedRef.current = false
|
||||
@@ -1096,6 +1105,20 @@ export function PvPRoguelikeScreen({
|
||||
})
|
||||
}, [contentType, cpuDifficulty, finalEncountersCleared, profile.character.className, profile.character.name, status])
|
||||
|
||||
useEffect(() => {
|
||||
if (status !== 'won' && status !== 'lost') return
|
||||
if (matchStatsRecordedRef.current) return
|
||||
matchStatsRecordedRef.current = true
|
||||
recordPvpMatch(status === 'won')
|
||||
.then(onProfileUpdated)
|
||||
.catch((reason: unknown) => {
|
||||
addLog(
|
||||
reason instanceof Error ? reason.message : 'Unable to record PvP match.',
|
||||
'danger',
|
||||
)
|
||||
})
|
||||
}, [addLog, onProfileUpdated, status])
|
||||
|
||||
useEffect(() => {
|
||||
if (status !== 'upgrade-choice') return
|
||||
window.requestAnimationFrame(() => focusFirstControl())
|
||||
|
||||
Reference in New Issue
Block a user