Release Healer Man 0.1.55
This commit is contained in:
1 parent
2dbb0acfc1
commit
38b3d4d160
14 files changed
+279
-41
No files matched your search
@@ -972,7 +972,8 @@ function choosePartySupportIntent(
|
||||
health: candidate.health,
|
||||
maxHealth: candidate.maxHealth,
|
||||
})),
|
||||
canUseAbility: ability => ability.effects.some(effect => ["heal", "hot", "shield"].includes(effect.kind))
|
||||
canUseAbility: ability => ability.effects.some(effect => ["heal", "hot", "shield"].includes(effect.kind)
|
||||
|| (effect.kind === "apply-aura" && Boolean(effect.aura.absorbs?.length)))
|
||||
&& (healingAbilityCanAidOthers(ability) || target.id === member.id)
|
||||
&& !(healingAbilityHasPendingHot(ability, member.id, target.id, combat.effects)
|
||||
&& (!ability.effects.some(effect => effect.kind === "heal") || target.health / target.maxHealth > 0.5))
|
||||
@@ -1162,7 +1163,12 @@ function executePartyAbility(
|
||||
comboTargetId: comboPoints > 0 ? targetId : null,
|
||||
};
|
||||
} else if (effect.kind === "summon") {
|
||||
useCombatStore.getState().summonActor(member.id, ability, effect, origin, targetId, now);
|
||||
const summonTargetId = combat.mobs[targetId] && !combat.mobs[targetId].dead
|
||||
? targetId
|
||||
: combat.selectedTargetId && combat.mobs[combat.selectedTargetId] && !combat.mobs[combat.selectedTargetId].dead
|
||||
? combat.selectedTargetId
|
||||
: Object.values(combat.mobs).find((mob) => mob.engaged && !mob.dead)?.id ?? null;
|
||||
useCombatStore.getState().summonActor(member.id, ability, effect, origin, summonTargetId, now);
|
||||
} else if (effect.kind === "pet" && ["summon", "call", "resurrect", "tame"].includes(effect.action)) {
|
||||
const summonEffect: Extract<AbilityEffect, { kind: "summon" }> = {
|
||||
kind: "summon",
|
||||
@@ -1170,7 +1176,12 @@ function executePartyAbility(
|
||||
coefficient: 0.35,
|
||||
durationMs: Number.MAX_SAFE_INTEGER - now,
|
||||
};
|
||||
useCombatStore.getState().summonActor(member.id, ability, summonEffect, origin, targetId, now);
|
||||
const summonTargetId = combat.mobs[targetId] && !combat.mobs[targetId].dead
|
||||
? targetId
|
||||
: combat.selectedTargetId && combat.mobs[combat.selectedTargetId] && !combat.mobs[combat.selectedTargetId].dead
|
||||
? combat.selectedTargetId
|
||||
: Object.values(combat.mobs).find((mob) => mob.engaged && !mob.dead)?.id ?? null;
|
||||
useCombatStore.getState().summonActor(member.id, ability, summonEffect, origin, summonTargetId, now);
|
||||
} else if (effect.kind === "movement") {
|
||||
const targetPosition = combat.mobs[targetId] ? getMobPosition(targetId) : partyFriendlyPosition(targetId);
|
||||
if (targetPosition && effect.movement !== "knockback" && effect.toward !== "away") {
|
||||
|
||||
Reference in new issue
Block a user