forked from phenom/healer-man
Release Healer Man 0.1.30
This commit is contained in:
1 parent
544c1bee91
commit
7d7fd567f0
845 files changed
+2040
-87
No files matched your search
@@ -29,8 +29,11 @@ import {
|
||||
} from "../game/combatAudio";
|
||||
import {
|
||||
advanceCombatEffectFrame,
|
||||
addOriginalInstantCastEffect,
|
||||
capCombatEffects,
|
||||
updateCombatEffectQueue,
|
||||
originalInstantCastEvent,
|
||||
originalInstantTerminalEvent,
|
||||
type ActiveCombatEffect,
|
||||
} from "./combatEffectRuntime";
|
||||
import { OriginalCombatEffect } from "./OriginalCombatEffect";
|
||||
@@ -278,8 +281,11 @@ export function CombatEffects({ active, safeGraphics = false }: CombatEffectsPro
|
||||
qualityRef.current = safeGraphics && settings.vfxQuality === "high" ? "low" : settings.vfxQuality;
|
||||
configureCombatAudio(settings, masterVolume);
|
||||
if (combatMediaPreloadEnabled(settings, masterVolume)) void preloadCombatEffectManifest();
|
||||
setEffects((current) => capCombatEffects(current.filter(({ event }) => (
|
||||
qualityRef.current !== "off" && settings.vfxEnabled[event.actorGroup]
|
||||
const mode = effectiveCombatVfxMode(settings);
|
||||
setEffects((current) => capCombatEffects(current.filter(({ event, originalOnly }) => (
|
||||
qualityRef.current !== "off"
|
||||
&& settings.vfxEnabled[event.actorGroup]
|
||||
&& (!originalOnly || mode === "original")
|
||||
)), qualityRef.current));
|
||||
for (const group of ["player", "party", "enemy"] as const) {
|
||||
if (!settings.audioEnabled[group] || settings.audioVolume[group] <= 0) stopCombatAudioGroup(group);
|
||||
@@ -314,7 +320,11 @@ export function CombatEffects({ active, safeGraphics = false }: CombatEffectsPro
|
||||
|| quality === "off"
|
||||
|| !presentationSettings.vfxEnabled[event.actorGroup]
|
||||
) return withoutCast;
|
||||
return updateCombatEffectQueue(withoutCast, event, quality);
|
||||
const withInstantSourceCast = effectiveCombatVfxMode(presentationSettings) === "original"
|
||||
&& originalInstantCastEvent(event)
|
||||
? addOriginalInstantCastEffect(withoutCast, event, quality)
|
||||
: withoutCast;
|
||||
return updateCombatEffectQueue(withInstantSourceCast, event, quality);
|
||||
});
|
||||
}), []);
|
||||
|
||||
@@ -333,6 +343,7 @@ export function CombatEffects({ active, safeGraphics = false }: CombatEffectsPro
|
||||
return (
|
||||
<group name="combat-effects">
|
||||
{effects.map((effect) => (
|
||||
effect.originalOnly && vfxMode !== "original" ? null :
|
||||
vfxMode === "original" ? (
|
||||
<OriginalCombatEffect
|
||||
key={`original:${effect.key}`}
|
||||
@@ -340,7 +351,10 @@ export function CombatEffects({ active, safeGraphics = false }: CombatEffectsPro
|
||||
quality={effectiveQuality}
|
||||
active={active}
|
||||
onDone={() => setEffects((current) => current.filter((candidate) => candidate.key !== effect.key))}
|
||||
fallback={(
|
||||
alternateOriginalPhase={effect.originalOnly
|
||||
? undefined
|
||||
: originalInstantTerminalEvent(effect.event)?.phase}
|
||||
fallback={effect.originalOnly ? null : (
|
||||
<CombatEffectPrimitive
|
||||
event={effect.event}
|
||||
quality={effectiveQuality}
|
||||
|
||||
Reference in new issue
Block a user