Android build v1.1.27

This commit is contained in:
Warren H
2026-07-06 11:46:53 -04:00
parent de2f86e101
commit d70941f43e
24 changed files with 598 additions and 46 deletions
+14
View File
@@ -846,6 +846,13 @@ function applyPartyAttacks(
damage: member.attackDamage,
remainingSeconds: 1.2,
})
events.push({
id: 0,
time,
type: 'partyAttack',
sourceId: member.id,
targetId: target.id,
})
projectileId += 1
return {
...member,
@@ -876,6 +883,13 @@ function applyPartyAttacks(
targetId: target.id,
value: damage,
})
events.push({
id: 0,
time,
type: 'partyAttack',
sourceId: member.id,
targetId: target.id,
})
if (defeated) {
events.push({
id: 0,
+10 -1
View File
@@ -43,7 +43,16 @@ function applyMemberGearStats(
gearProgress: Iwt2GearProgress,
): Iwt2PartyEntityState {
const classProgress = gearProgress[member.classId]
let next = { ...member }
let next: Iwt2PartyEntityState = {
...member,
gearLevels: {
weapon: classProgress.slots.weapon.level,
helmet: classProgress.slots.helmet.level,
chest: classProgress.slots.chest.level,
legs: classProgress.slots.legs.level,
feet: classProgress.slots.feet.level,
},
}
for (const slotId of IWT2_GEAR_SLOTS) {
const level = classProgress.slots[slotId].level
if (level <= 0) continue
+2 -7
View File
@@ -9,18 +9,13 @@ import { applyPartyDamageToMember, createArenaEvent } from './mechanics'
const ROGUELIKE_PRESSURE_INTERVAL_SECONDS = 5
const ROGUELIKE_PRESSURE_BASE_DAMAGE = 9
const ROGUELIKE_PRESSURE_INITIAL_STAGE_DAMAGE = 2
const ROGUELIKE_DUNGEON_DAMAGE_BASE_SCALE = 1.25
const ROGUELIKE_RAID_DAMAGE_BASE_SCALE = 1.45
const ROGUELIKE_PRESSURE_SOURCE_ID = 'roguelike-pressure'
export function roguelikeIncomingDamageScale(
_stage: number,
contentType: Iwt2RoguelikePressureContentType,
_contentType: Iwt2RoguelikePressureContentType,
): number {
const base = contentType === 'dungeon'
? ROGUELIKE_DUNGEON_DAMAGE_BASE_SCALE
: ROGUELIKE_RAID_DAMAGE_BASE_SCALE
return base
return 1
}
export function createRoguelikePressureState(
+3
View File
@@ -1,5 +1,6 @@
import type { Iwt2BossId } from '../content/bosses'
import type { Iwt2PlayerClassId } from '../content/classes'
import type { Iwt2GearLevel, Iwt2GearSlotId } from '../content/gear'
import type { Iwt2InfusionAbilityId } from '../content/infusionAbilities'
export type Iwt2Vec2 = {
@@ -70,6 +71,7 @@ export type Iwt2PartyEntityState = {
mana: number
maxMana: number
damageDone: number
gearLevels?: Partial<Record<Iwt2GearSlotId, Iwt2GearLevel>>
attackCooldownRemaining: number
castSecondsRemaining: number
attackReady: boolean
@@ -283,6 +285,7 @@ export type Iwt2GroundHazardState = {
export type Iwt2ArenaEventType =
| 'bossDamaged'
| 'healerSpellCast'
| 'partyAttack'
| 'partyHealed'
| 'partyDamaged'
| 'partyStunned'