Android build v1.1.23

This commit is contained in:
Warren H
2026-07-05 22:48:56 -04:00
parent 956c9e32f9
commit 9708ba9e40
106 changed files with 4294 additions and 458 deletions
+13 -5
View File
@@ -229,6 +229,7 @@ function spellResourceCost(spell: Spell, buffs: StackCounts<SelfBuffId>, debuffs
function buildEncounterSegment(pool: DungeonEncounter[], stage: number, kind: PvpContentType): PvpEncounter[] {
const mechanics = chooseRandom(BOSS_MECHANICS, Math.min(2 + Math.floor(stage / 3), 4))
const stageOneDamageScale = 0.8 + (kind === 'raid' ? 0.18 : 0.14)
return buildRoguelikeSegment<BossMechanic, {
bossMechanics: BossMechanic[]
sourceEncounterId?: number
@@ -240,8 +241,8 @@ function buildEncounterSegment(pool: DungeonEncounter[], stage: number, kind: Pv
trashCandidateCount: (trashCount) => Math.min(trashCount, 5 + stage * (kind === 'raid' ? 1 : 2)),
bossCandidateCount: (bossCount) => Math.min(bossCount, 2 + Math.floor((stage + 1) / 2)),
healthScale: 0.75 + stage * (kind === 'raid' ? 0.28 : 0.22),
damageScale: 0.8 + stage * (kind === 'raid' ? 0.18 : 0.14),
partyDamageScale: 0.85 + stage * 0.04,
damageScale: stageOneDamageScale,
partyDamageScale: 0.89,
idBase: 910000,
bossDescription: (selectedMechanics) => `PvP boss with ${selectedMechanics.join(', ')}.`,
extraFields: (encounter, isBoss, selectedMechanics) => ({
@@ -537,7 +538,10 @@ export function PvPRoguelikeScreen({
)
.then((result) => {
setReward(result)
setRunSummary((current) => mergePvpRunRewardSummary(current, result, { bossKilled: isBossReward }))
setRunSummary((current) => mergePvpRunRewardSummary(current, result, {
bossKilled: isBossReward,
sourceLabel: rewardEncounter?.enemyName,
}))
onProfileUpdated(result.profile)
if (result.experienceGained > 0) {
addLog(`+${result.experienceGained} XP awarded.`, 'loot')
@@ -579,7 +583,10 @@ export function PvPRoguelikeScreen({
)
.then((result) => {
setReward(result)
setRunSummary((current) => mergePvpRunRewardSummary(current, result, { bossKilled: false }))
setRunSummary((current) => mergePvpRunRewardSummary(current, result, {
bossKilled: false,
sourceLabel: 'Match Win',
}))
onProfileUpdated(result.profile)
if (result.experienceGained > 0) {
addLog(`Match win bonus: +${result.experienceGained} XP.`, 'loot')
@@ -1808,11 +1815,12 @@ export function PvPRoguelikeScreen({
>
<p>{finalEncountersCleared} encounters cleared.</p>
<div className="reward-summary">
<p>Run totals</p>
<p>{runSummary.bossesKilled} bosses killed.</p>
<RewardXpSummary reward={runSummary} />
{runSummary.bossesKilled > 0 && !reward && !rewardError && <p>Final boss rewards still recording...</p>}
{rewardError && <p className="reward-error">{rewardError}</p>}
<PvpRunLootList loot={runSummary.loot} />
<PvpRunLootList loot={runSummary.loot} emptyLabel="No boss coins collected this run." />
{reward && runSummary.bossesKilled === 0 && (
<>
<RewardXpSummary reward={reward} />