forked from phenom/healer-man
Release Healer Man 0.1.49
This commit is contained in:
1 parent
39425f2494
commit
612170afd0
91 files changed
+2278
-263
No files matched your search
@@ -1,6 +1,6 @@
|
||||
import type { CharacterProfile } from "../app/types";
|
||||
import {
|
||||
abilitiesForCharacter, abilityAtLevel, defaultActionBarForCharacter, resourceProfileForClass,
|
||||
abilitiesForCharacter, abilityTalentNodeId, defaultActionBarForCharacter, learnedAbilityForBuild, resourceProfileForClass,
|
||||
type AbilityDefinition, type ClassResourceProfile,
|
||||
} from "./abilityCatalog";
|
||||
import { normalizeActionBindings } from "./actionBindings";
|
||||
@@ -11,13 +11,13 @@ import { activeEquipmentStatsForClass, PLAYER_EQUIPMENT_OWNER_ID } from "./equip
|
||||
export function arenaCharacterAbilities(character: CharacterProfile, level = character.level): readonly AbilityDefinition[] {
|
||||
return abilitiesForCharacter(character.classId, character.secondaryClassId)
|
||||
.filter((ability) => !ability.passive)
|
||||
.map((ability) => abilityAtLevel(ability, level, ability.talentEntryId === undefined
|
||||
? undefined : character.talentRanks[`coa-entry-${ability.talentEntryId}`]));
|
||||
.map((ability) => learnedAbilityForBuild(ability, level, character.talentRanks))
|
||||
.filter((ability): ability is AbilityDefinition => ability !== null);
|
||||
}
|
||||
|
||||
export function arenaAbilityIsLearned(ability: AbilityDefinition, character: CharacterProfile, level = character.level): boolean {
|
||||
return ability.unlockLevel <= level && (ability.source !== "coa-tree" || ability.talentEntryId === undefined
|
||||
|| (character.talentRanks[`coa-entry-${ability.talentEntryId}`] ?? 0) > 0);
|
||||
return ability.unlockLevel <= level && (!abilityTalentNodeId(ability)
|
||||
|| learnedAbilityForBuild(ability, level, character.talentRanks) !== null);
|
||||
}
|
||||
|
||||
export function createArenaCharacterKit(character: CharacterProfile, level = character.level): ArenaCharacterKit {
|
||||
@@ -28,7 +28,7 @@ export function createArenaCharacterKit(character: CharacterProfile, level = cha
|
||||
const all = abilitiesForCharacter(character.classId, character.secondaryClassId);
|
||||
const actionBindings = normalizeActionBindings(character.actionBindings, [
|
||||
...defaultActionBarForCharacter(character.classId, character.secondaryClassId, level),
|
||||
...all.filter((ability) => ability.source === "coa-tree" && !ability.passive).map((ability) => ability.id),
|
||||
...all.filter((ability) => abilityTalentNodeId(ability) && !ability.passive).map((ability) => ability.id),
|
||||
]);
|
||||
return {
|
||||
seed: { ...character, level, settings: { ...character.settings, autoTargetNearest: false } },
|
||||
|
||||
Reference in new issue
Block a user