Android build v1.1.27
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user