Skip to content

Commit

Permalink
Merge https://github.com/WoWAnalyzer/WoWAnalyzer into eternity-surge
Browse files Browse the repository at this point in the history
  • Loading branch information
Krealle committed May 6, 2024
2 parents b0e1b83 + 5f2d13a commit 48fbfa0
Show file tree
Hide file tree
Showing 307 changed files with 1,337 additions and 2,868 deletions.
4 changes: 2 additions & 2 deletions scripts/e2e/generate-configs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import traverse from '@babel/traverse';
import * as t from '@babel/types';
// these can be safely imported because they don't include any big / complicated stuff
import isLatestPatch from '../../src/game/isLatestPatch';
import { CLASSIC_EXPANSION, RETAIL_EXPANSION } from '../../src/game/Expansion';
import GameBranch from '../../src/game/GameBranch';

const parseFile = (path: string): t.Node | t.Node[] =>
parse(readFileSync(path, { encoding: 'utf8' }), {
Expand Down Expand Up @@ -103,7 +103,7 @@ export const generateConfigs = async () => {
cfg.patchCompatibility &&
isLatestPatch({
patchCompatibility: cfg.patchCompatibility,
expansion: isClassic ? CLASSIC_EXPANSION : RETAIL_EXPANSION,
branch: isClassic ? GameBranch.Classic : GameBranch.Retail,
});

if (!isLatest || !cfg.exampleReport) {
Expand Down
2 changes: 2 additions & 0 deletions src/CHANGELOG.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ import SpellLink from 'interface/SpellLink';

// prettier-ignore
export default [
change(date(2024, 5, 3), 'Improve behavior of "Refresh" button', emallson),
change(date(2024, 5, 3), 'Second pass at cleaning up dead code using knip', Putro),
change(date(2024, 5, 2), 'Fix issue with boss detection', emallson),
change(date(2024, 4, 26), 'Actually fix friendly/enemy determination', emallson),
change(date(2024, 4, 22), 'Improve display of dense performance boxes', emallson),
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/_templates/caster/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: '4.4.0',
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/_templates/healer/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: '4.4.0',
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/_templates/melee/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: '4.4.0',
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/deathknight/frost/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/deathknight/unholy/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';

Expand All @@ -8,9 +8,9 @@ import CHANGELOG from './CHANGELOG';
const CONFIG: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
isPartial: false,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
// If this spec's analysis does not show a complete picture please mention this in the `<Warning>` component.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/druid/balance/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { iTitou } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [iTitou],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Gauge from 'parser/ui/Gauge';
import Statistic from 'parser/ui/Statistic';
import STATISTIC_ORDER from 'parser/ui/STATISTIC_ORDER';

export const instantCastSpells = [SPELLS.STARFALL, SPELLS.MOONFIRE, SPELLS.INSECT_SWARM];
const instantCastSpells = [SPELLS.STARFALL, SPELLS.MOONFIRE, SPELLS.INSECT_SWARM];

export const displayInstantCastSpells = () =>
instantCastSpells.map((s, i) => (
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/druid/feral/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Amelydia } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [Amelydia],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/druid/restoration/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite, Arbixal } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite, Arbixal],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {
GetRelatedEvents,
HasRelatedEvent,
HealEvent,
RefreshBuffEvent,
RemoveBuffEvent,
ResourceChangeEvent,
} from 'parser/core/Events';
Expand All @@ -17,14 +16,14 @@ import { Options } from 'parser/core/Module';
const CAST_BUFFER_MS = 65;
const TRANQ_CHANNEL_BUFFER_MS = 10_000;

export const APPLIED_HEAL = 'AppliedHeal';
export const FROM_HARDCAST = 'FromHardcast';
export const FROM_EXPIRING_LIFEBLOOM = 'FromExpiringLifebloom';
export const CAUSED_BLOOM = 'CausedBloom';
export const CAUSED_TICK = 'CausedTick';
export const REGEN_FROM_LIFEBLOOM = 'RegenFromLifebloom';
export const CAUSED_REGEN = 'CausedRegen';
export const FROM_CLEARCAST = 'FromClearcast';
const APPLIED_HEAL = 'AppliedHeal';
const FROM_HARDCAST = 'FromHardcast';
const FROM_EXPIRING_LIFEBLOOM = 'FromExpiringLifebloom';
const CAUSED_BLOOM = 'CausedBloom';
const CAUSED_TICK = 'CausedTick';
const REGEN_FROM_LIFEBLOOM = 'RegenFromLifebloom';
const CAUSED_REGEN = 'CausedRegen';
const FROM_CLEARCAST = 'FromClearcast';

const EVENT_LINKS: EventLink[] = [
{
Expand Down Expand Up @@ -149,15 +148,6 @@ export function isFromHardcast(event: AbilityEvent<any>): boolean {
return HasRelatedEvent(event, FROM_HARDCAST);
}

/** Returns the hardcast event that caused this buff or heal, if there is one */
export function getHardcast(event: AbilityEvent<any>): CastEvent | undefined {
return GetRelatedEvents<CastEvent>(
event,
FROM_HARDCAST,
(e): e is CastEvent => e.type === EventType.Cast,
).pop();
}

/** Returns the buff application and direct heal events caused by the given hardcast */
export function getHeals(event: CastEvent): AnyEvent[] {
return GetRelatedEvents(event, APPLIED_HEAL);
Expand All @@ -170,23 +160,6 @@ export function getDirectHeal(event: CastEvent): HealEvent | undefined {
.pop();
}

/** Returns true iff the given bloom heal can be linked to the refresh or removal of a lifebloom
* buff - used to differentiate from a Photosynthesis proc */
export function isFromExpiringLifebloom(event: HealEvent): boolean {
return HasRelatedEvent(event, FROM_EXPIRING_LIFEBLOOM);
}

/** Returns true iff the bloom expiration caused a bloom to proc */
export function causedBloom(event: RemoveBuffEvent | RefreshBuffEvent): boolean {
return HasRelatedEvent(event, CAUSED_BLOOM);
}

/** Gets the tranquility "tick cast" events caused by channeling the given Tranquility w/
* cast ID `TRANQUILITY_CAST`. */
export function getTranquilityTicks(event: CastEvent): AnyEvent[] {
return GetRelatedEvents(event, CAUSED_TICK);
}

export function getBloomCausingRegen(event: ResourceChangeEvent): RemoveBuffEvent | undefined {
return GetRelatedEvents<RemoveBuffEvent>(
event,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Options } from 'parser/core/Module';

const REMOVE_BUFFER_MS = 50;

export const CONSUMED_HOT = 'ConsumedHot';
const CONSUMED_HOT = 'ConsumedHot';

const EVENT_LINKS: EventLink[] = [
{
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/hunter/marksman/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { bdfreeman1421 } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import Config from 'parser/Config';

Expand All @@ -8,9 +8,9 @@ import CHANGELOG from './CHANGELOG';
const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [bdfreeman1421],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
// If this spec's analysis does not show a complete picture please mention this in the `<Warning>` component.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/hunter/survival/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { bdfreeman1421 } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import Config from 'parser/Config';

Expand All @@ -8,9 +8,9 @@ import CHANGELOG from './CHANGELOG';
const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [bdfreeman1421],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
// If this spec's analysis does not show a complete picture please mention this in the `<Warning>` component.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/mage/arcane/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';

Expand All @@ -8,9 +8,9 @@ import CHANGELOG from './CHANGELOG';
const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
isPartial: false,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
// If this spec's analysis does not show a complete picture please mention this in the `<Warning>` component.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/mage/fire/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { jazminite } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [jazminite],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: true,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/classic/paladin/holy/CONFIG.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Khadaj, Charurun, jazminite, HerzBlutRaffy } from 'CONTRIBUTORS';
import Expansion from 'game/Expansion';
import GameBranch from 'game/GameBranch';
import SPECS from 'game/SPECS';
import type Config from 'parser/Config';
import CHANGELOG from './CHANGELOG';

const config: Config = {
// The people that have contributed to this spec recently. People don't have to sign up to be long-time maintainers to be included in this list. If someone built a large part of the spec or contributed something recently to that spec, they can be added to the contributors list. If someone goes MIA, they may be removed after major changes or during a new expansion.
contributors: [Khadaj, Charurun, jazminite, HerzBlutRaffy],
expansion: Expansion.WrathOfTheLichKing,
branch: GameBranch.Classic,
// The WoW client patch this spec was last updated.
patchCompatibility: '3.4.0',
patchCompatibility: null,
// Update to false when the spec is mostly complete (and safe to use)
isPartial: false,
// Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more.
Expand Down
Loading

0 comments on commit 48fbfa0

Please sign in to comment.