forked from phenom/healer-man
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
361734bc41 | ||
|
|
03a4e3f51c | ||
|
|
40d9f346d8 | ||
|
|
46c272f889 | ||
|
|
05b25c4341 | ||
|
|
6dcb1034e5 | ||
|
|
d3d6aaebdb | ||
|
|
7d7fd567f0 | ||
|
|
544c1bee91 | ||
|
|
8c9809d3e0 | ||
|
|
ed8b9e3719 | ||
|
|
147c2804d4 | ||
|
|
e7cc588bfc | ||
|
|
bac0da9300 | ||
|
|
c4346751a9 | ||
|
|
7f6001723a | ||
|
|
f6f2375145 | ||
|
|
699fc858c9 | ||
|
|
d9bebb4e81 | ||
|
|
eaddad4134 |
No files matched your search
+14
-7
@@ -6,7 +6,9 @@ the React/Three.js runtime, menus, local profile and save support, UI assets,
|
||||
starter equipment, Wailing Caverns starter content, and the basic Human
|
||||
character model with its default male and female appearances. Android also
|
||||
contains its native bridge. Other GLBs, textures, audio, character/skin packs,
|
||||
dungeons, and Manastorm stages are published by TrueNAS as optional content.
|
||||
and dungeons are published by TrueNAS as optional content. Internal Manastorm
|
||||
environment packs remain in the catalog only because regular dungeons reuse
|
||||
them as automatic dependencies.
|
||||
|
||||
Single-player is local-first. Starting the game, loading a character, entering
|
||||
installed content, simulating combat, and saving progress never require the
|
||||
@@ -90,11 +92,13 @@ matching-gender basic Human model and default appearance. The saved race, class,
|
||||
equipment, progression, and appearance choices remain intact and become visible
|
||||
again after the pack is installed.
|
||||
|
||||
Generated spell effects and synthesized combat cues are the default. The
|
||||
`core:combat-media` pack containing packaged original spell visuals and sounds
|
||||
is never part of required bootstrap content. Original mode becomes available
|
||||
only after an explicit download and falls back to generated effects if the pack
|
||||
is later removed.
|
||||
Original spell effects and authentic sounds are enabled by default. The
|
||||
`core:combat-media` pack contains the original models and textures for every
|
||||
mapped WoW class visual, plus authentic sounds. It downloads automatically
|
||||
when enabled and stays outside required bootstrap content. Missing visual
|
||||
phases use generated effects; missing sounds stay silent. Removing the pack
|
||||
returns visual playback to the generated fallback. Run `npm run effects:wow`
|
||||
before the normal content publishing workflow to regenerate the original assets.
|
||||
|
||||
## Offline behavior
|
||||
|
||||
@@ -163,10 +167,13 @@ characters:wow335a-v1
|
||||
characters:ascension-v1
|
||||
characters:runewaker-v1
|
||||
core:combat-media
|
||||
manastorm:<stage-id>
|
||||
shared:creatures
|
||||
```
|
||||
|
||||
`manastorm:*` and `core:arenas` remain valid internal pack IDs for compatibility
|
||||
but are hidden from the Downloads screen. Installing a regular dungeon still
|
||||
installs its exact environment dependency closure automatically.
|
||||
|
||||
Changing one GLB changes one object hash. The client downloads that object and
|
||||
atomically updates the pack rather than downloading every dungeon again.
|
||||
|
||||
|
||||
@@ -135,6 +135,7 @@ services:
|
||||
CONTENT_DIR: /app/content
|
||||
DATA_DIR: /app/runtime-data
|
||||
HOST: 0.0.0.0
|
||||
HEALER_MAN_ENABLE_SHELVED_MODES: "0"
|
||||
NODE_OPTIONS: "--max-old-space-size=4096"
|
||||
PORT: "4173"
|
||||
SESSION_TTL_DAYS: "30"
|
||||
@@ -207,6 +208,7 @@ $ReleaseVersion = [ordered]@{
|
||||
npm run content:test
|
||||
npm run server:test
|
||||
npm test
|
||||
npm run content:publish
|
||||
npm run build
|
||||
npm test -- --run src/avatar
|
||||
npx vitest run src/game/inputManager.test.ts src/game/inputMath.test.ts
|
||||
@@ -222,6 +224,11 @@ git push origin main
|
||||
git rev-parse HEAD
|
||||
```
|
||||
|
||||
`content:publish` is a fail-closed pre-build release check. It must report all
|
||||
54 WoW campaign dungeon packs and refuses to replace the manifest when a pack,
|
||||
dependency, or catalog-referenced asset is missing. Its local `content/` output
|
||||
is ignored and must not be staged.
|
||||
|
||||
Before `git commit`, read the staged file list printed by `git status --short`.
|
||||
Do not commit a `.env` file, password, API token, keystore, APK, database,
|
||||
`content/`, `dist/`, `dist-android/`, `.web-public/`, or `.android-public/`
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
# Encounter authoring and fidelity
|
||||
|
||||
Healer Man keeps boss abilities, dungeon orchestration, presentation, and source
|
||||
evidence separate. Boss abilities are modular `EnemyAttackDefinition` records;
|
||||
dungeon-wide doors, waves, checkpoints, and transitions are modular
|
||||
`DungeonEncounterDefinition` records. Neither runtime stores Three.js or React
|
||||
objects, so the same definitions can later be selected or randomized without
|
||||
rewriting a boss component.
|
||||
|
||||
## Adding or editing a boss mechanic
|
||||
|
||||
1. Add or edit the attack in the boss entity's `combat.attacks` list. Imported
|
||||
RuneWaker lists are generated under `src/game/generated`; authored WoW
|
||||
exceptions live with their dungeon content.
|
||||
2. Give the mechanic a stable `id`, timing, condition, target, effect, and source
|
||||
record. Health mechanics use `self-health-percent`; timed mechanics use
|
||||
`initialCooldownMs` and `repeatCooldownMs`.
|
||||
3. Author a `telegraph` when the source supplies geometry. Harmful area attacks
|
||||
without explicit geometry receive a conservative circle/cone/line inference,
|
||||
but inferred geometry is not described as source-exact.
|
||||
4. Add a guide override only when the generated explanation needs encounter
|
||||
context that cannot be derived from the mechanic. The Boss Guide otherwise
|
||||
reads the runtime definition directly, including its trigger, timer, effect,
|
||||
telegraph, counterplay, fidelity, and test procedure.
|
||||
5. Run the focused mechanic, telegraph-geometry, campaign, timeline, and guide
|
||||
tests, then perform the browser playtest described in `PLAYTEST_NOTES.md`.
|
||||
|
||||
Telegraph geometry is shared by presentation and hit resolution. A circle,
|
||||
frontal cone, or line shown on the floor is therefore the area the resolver
|
||||
tests when the cast completes. `warningMs` is also enforced as a minimum cast
|
||||
time, so a telegraph cannot appear after its damage resolves.
|
||||
|
||||
## Adding a dungeon encounter rule
|
||||
|
||||
Attach a `DungeonEncounterDefinition` to `DungeonDefinition.encounters`. Rules
|
||||
combine a trigger, optional guards, and reusable actions. Available primitives
|
||||
cover tick/elapsed time, signals, interactions, entity engagement/death/health,
|
||||
all-members-dead checks, phases, flags, counters, timers, spawn groups, dynamic
|
||||
world-object state, objective completion, checkpoints, party teleports, loot,
|
||||
and signal chaining.
|
||||
|
||||
Definitions and snapshots are JSON-safe and stable-ID based. Actions are
|
||||
idempotent by default. Loot actions must use `persistence: "run"`; this prevents
|
||||
a wipe or checkpoint reload from duplicating a reward. Declare encounter-owned
|
||||
mob waves in `DungeonDefinition.encounterSpawnGroups`. Declare doors, switches,
|
||||
chests, keys, bridges, NPC prompts, and quest objects in
|
||||
`DungeonDefinition.serverGameObjects`; their collision, sight blocking, visual,
|
||||
prompt, and allowed interaction states follow the current encounter snapshot.
|
||||
|
||||
Online groups use party-leader authority. A follower interaction is sent as a
|
||||
request, then revalidated by the leader against the follower's synchronized
|
||||
position, range, line of sight, object state, and object ID before any rule is
|
||||
dispatched. The leader publishes serializable encounter snapshots to followers.
|
||||
|
||||
## Save behavior
|
||||
|
||||
Character profiles store a versioned safe dungeon checkpoint. The checkpoint
|
||||
projection retains only actions marked `checkpoint` or `run`; active timers,
|
||||
temporary waves, and a half-finished pull are reset. Entering the same dungeon
|
||||
hydrates that safe projection and its spawn after definitions are registered.
|
||||
Loading a different dungeon starts at its normal entrance.
|
||||
|
||||
## Source fidelity and remaining review
|
||||
|
||||
The deterministic ledgers are:
|
||||
|
||||
- `scripts/runewaker-pipeline/RUNEWAKER_ENCOUNTER_IMPLEMENTATION_REPORT.md`
|
||||
- `scripts/runewaker-pipeline/RUNEWAKER_GAMEPLAY_CONTENT_REPORT.md`
|
||||
- `scripts/runewaker-pipeline/RUNEWAKER_ENVIRONMENT_ASSEMBLY_REPORT.md`
|
||||
- `scripts/runewaker-pipeline/RUNEWAKER_NAVIGATION_GAP_REPORT.md`
|
||||
|
||||
Current encounter evidence covers 30 RuneWaker packages, 4,113 deferred source
|
||||
rows, and 1,524 unique direct evidence records. Of those evidence records, 388
|
||||
have exact executable spell mappings and 1,136 still need source review. Four
|
||||
bosses have clearly labeled, playable Healer Man fallback kits because the
|
||||
preserved data does not expose their original executable behavior. Eight
|
||||
non-empty packages do not contain source-confirmed boss membership; two
|
||||
authoritative variants are intentionally empty.
|
||||
|
||||
The upgraded WDB environment builder can assemble all referenced ROS resources
|
||||
with full placement translation, quaternion, and nonuniform scale, source-hash
|
||||
caching, shared meshes, collision chunking, and a separate dynamic-placement
|
||||
manifest. The integration pass regenerated Raksha Temple and The Origin through
|
||||
that full-WDB path; remaining shipping packages retain their last validated
|
||||
build until they are individually regenerated. The current audit finds 107
|
||||
filename-only dynamic candidates; they remain static and review-required
|
||||
because filenames alone do not prove door/switch behavior.
|
||||
|
||||
Treasure Trove's 908-placement full-WDB staging export is reproducible and its
|
||||
487,380-triangle visual/collision assembly, meshopt pass, and KTX2 compression
|
||||
all succeed. Its 0.3-metre, 512-cell full-resolution Recast navigation bake did
|
||||
not complete: the watershed run was stopped after nearly two CPU-hours when it
|
||||
showed the smaller-tile retry signature, and the explicit monotone run was
|
||||
stopped after more than four CPU-hours on its first pass. The fail-closed
|
||||
pipeline therefore did not publish that staged package. The last validated
|
||||
shipping package remains active. The recipe retains the monotone tiled policy
|
||||
for a future offline bake or a reviewed spatial-partitioning optimization;
|
||||
lowering navigation resolution was not silently substituted.
|
||||
|
||||
The route report contains 19 unreachable legs across eight dungeons, all from a
|
||||
distance-from-entrance objective-order heuristic. Those legs are evidence that
|
||||
objective order needs review, not proof that an off-mesh link should exist.
|
||||
Links are added only when source geometry or a reviewed traversal justifies
|
||||
them.
|
||||
|
||||
Run `npm run runewaker:audit:gameplay`, `npm run
|
||||
runewaker:audit:environment-assembly`, and `npm run runewaker:audit:navigation`
|
||||
after importing new source data. A report can be structurally green while its
|
||||
content status remains `review-required`; this is intentional and prevents an
|
||||
incomplete source inference from being presented as an original mechanic.
|
||||
@@ -4,6 +4,39 @@ This file is the durable record of runtime behavior, regressions, and the
|
||||
evidence required before calling a visual bug fixed. Update it whenever scene,
|
||||
camera, input, physics, mob-rendering, or asset-loading code changes.
|
||||
|
||||
## 2026-09-10 Personal UI templates and desktop action bars
|
||||
|
||||
- Opened Wailing Caverns through the normal offline roster, dungeon, and role
|
||||
selection screens, then opened Pause > Edit UI & templates.
|
||||
- Verified five bars containing 12 buttons each, including 2 x 6 and 3 x 4
|
||||
arrangements. Default stacking accounts for each bar's height. The editor
|
||||
can collapse or dock on either side so drag handles remain reachable.
|
||||
- Clicked Renew and pressed Shift+Q in keybind edit mode. Reassigned Shift+Q
|
||||
to bar 5/button 12 and verified the previous keybind cleared. Assigned Renew
|
||||
to that button through the ability picker; after saving, Shift+Q cast it and
|
||||
displayed its cooldown. No spell fired during key capture.
|
||||
- Dragged the minimap, hid party frames, saved/renamed/overwrote PC slot 1,
|
||||
loaded it, and round-tripped all layouts through export text and import.
|
||||
The imported JSON retained the minimap position, hidden party, bar geometry,
|
||||
ability assignment, key chord, and template name. Restoring a hidden widget
|
||||
works, and Cancel discards that visibility edit.
|
||||
- At a 390 x 844 viewport, the editor remained within the viewport and the
|
||||
Save UI button was visible and 36 CSS pixels high. The in-app browser's
|
||||
screenshot preview scales the page unusually at this override; DOM bounds
|
||||
confirmed the editor was 310 CSS pixels wide. This was responsive browser
|
||||
verification, not an Android hardware playtest.
|
||||
- Evidence: `playtest-artifacts/ui-layout-desktop.png` and
|
||||
`playtest-artifacts/ui-layout-phone-viewport.png`. Restored the offline UI
|
||||
to defaults and removed the temporary template via import after testing.
|
||||
- Automated coverage includes migration to six slots, owner isolation,
|
||||
cloud upload/hydration into a separate device cache with a mocked endpoint,
|
||||
malformed imports, key conflicts, and input precedence. No production
|
||||
account credentials were used for the cloud round-trip test.
|
||||
- `npm run build` and the focused 67-test suite passed. The development server
|
||||
was restarted after an existing watcher hit EBUSY on generated web-bootstrap
|
||||
assets during a concurrent build; no runtime UI error was logged in the
|
||||
subsequent playtest.
|
||||
|
||||
## 2026-08-18 GM Manastorm administration - COMPLETE
|
||||
|
||||
- Server-authorized `Phenom` access, revisioned SQLite configuration, safe
|
||||
@@ -1685,3 +1718,843 @@ Vite's existing large-chunk advisory remains informational.
|
||||
passed. The production build completed with 925 modules transformed, KTX2
|
||||
and environment-performance audits remained green, and the release-candidate
|
||||
check passed. The existing large-chunk advisory remains informational.
|
||||
|
||||
# 2026-09-07 — modular encounter completion and boss guide
|
||||
|
||||
- Entered Wailing Caverns through the live offline roster and verified the 3D
|
||||
dungeon, party HUD, minimap, and buff/debuff strips remained readable. The
|
||||
encounter timeline occupies the same top-right HUD column beneath those
|
||||
elements, keeping timed casts and pending health thresholds out of the
|
||||
central playfield.
|
||||
- Opened the new Boss Guide from the in-dungeon pause menu. The three-column
|
||||
field manual listed both WoW and RuneWaker dungeons, their bosses, source
|
||||
provenance, triggers, timings, target/effect descriptions, warning geometry,
|
||||
counterplay, and a concrete test procedure for every listed mechanic.
|
||||
- Selected Archaedas in Uldaman and confirmed all four authored mechanics:
|
||||
Awaken Earthen Custodian every 10 seconds, the two-second 18-metre Ground
|
||||
Tremor warning circle, six Earthen Guardians at 70% health, and two Vault
|
||||
Warders at 40% health. Bosses with no sourced special attack are explicitly
|
||||
labelled with zero special mechanics instead of receiving invented behavior.
|
||||
- The encounter authoring layer now drives serializable timers, health gates,
|
||||
guards, actions, summon groups, chained signals, stateful world objects,
|
||||
teleports, rewards, checkpoints, and online leader-authoritative interaction
|
||||
validation. Harmful area mechanics use the same geometry for both the world
|
||||
warning and hit resolution.
|
||||
- Browser review found no visible layout or interaction regressions. The only
|
||||
previously observed browser message remains Rapier's third-party
|
||||
initialization deprecation warning.
|
||||
- Source limitations and the exact remaining RuneWaker evidence, navigation,
|
||||
formula, loot, animation, and asset-fidelity gaps are recorded in the linked
|
||||
deterministic audit reports and authoring documentation rather than silently
|
||||
approximated.
|
||||
- Full-WDB environment packages for Raksha Temple and The Origin completed and
|
||||
passed their GLB gates. Treasure Trove's 908-placement visual/collision stage
|
||||
also completed, but its full-resolution 36-tile Recast bake did not terminate
|
||||
after nearly two CPU-hours on the watershed path and more than four CPU-hours
|
||||
on the monotone path. The fail-closed pipeline preserved the prior validated
|
||||
shipping package; this remaining offline bake is documented in
|
||||
`ENCOUNTER_AUTHORING.md` instead of lowering navigation resolution.
|
||||
- Verification passed: the complete Vitest suite passed all 981 cases across
|
||||
185 files; online authority passed all 4 server cases; RuneWaker gameplay,
|
||||
encounter, environment, navigation, formula/loot, and animation audits passed;
|
||||
and the production build completed with 955 modules transformed. The KTX2
|
||||
audit covered 12,347 compressed textures with zero fallbacks, and the
|
||||
environment-performance audit found no regressions. The existing large-chunk
|
||||
advisory and Rapier initialization deprecation warning remain informational.
|
||||
|
||||
# 2026-09-08 — WoW dungeon production-functionality audit
|
||||
|
||||
- Audited all 54 WoW five-player catalog entries against live runtime contracts,
|
||||
pinned AzerothCore population/object drafts, and instance-script source. The
|
||||
composed-runtime content audit is green for 1,193 mobs, 273 bosses, 4,026
|
||||
attacks, 2,572 specials, and 1,275 native models, but the stricter production-
|
||||
fidelity gate remains blocked at 0/54.
|
||||
- The audit found 3,943 source game-object spawns, including 2,321 actionable
|
||||
doors, buttons, chests/resources, transports, traps, and related objects. Raw
|
||||
database rows are no longer passed into the typed world-object renderer; all
|
||||
54 live definitions now have zero malformed world-object records.
|
||||
- The follow-up implementation sweep completed source review for all 54
|
||||
instances. Fifty-one now have runtime-wired instance orchestration and the three
|
||||
genuinely empty stock instance scripts are pinned as source-exact no-ops;
|
||||
there are no unreviewed instance scripts left. Wailing Caverns remains the
|
||||
only entry with a reviewed off-mesh link, and the three Ascension-specific
|
||||
dungeons still lack authoritative server population data.
|
||||
- Entered Wailing Caverns from the local browser roster as a Priest healer. The
|
||||
3D environment, populated combat route, party, objective, minimap, and HUD all
|
||||
loaded; the minimap strip showed one Power Word: Fortitude entry. No uncaught
|
||||
client runtime errors appeared. Rapier's existing initialization deprecation
|
||||
warning remained informational.
|
||||
- The local content manager exposed all 54 WoW entries but only Wailing Caverns
|
||||
was installed; the other 53 were marked download required. Those dungeons were
|
||||
therefore checked by source/runtime-contract audit in this pass, not claimed
|
||||
as completed visual traversal playtests.
|
||||
- The follow-up world-object compiler converted all 3,943 source rows—including
|
||||
all 2,321 actionable doors, chests/resources, switches, traps, and
|
||||
transports—into stable typed definitions with transformed coordinates,
|
||||
type-aware states, conservative dimensions, and source/template/spawn/type
|
||||
provenance. Wailing Caverns receives its 57 generated records through the
|
||||
authored-definition enrichment path as well.
|
||||
- Client `GameObjectDisplayInfo` metadata resolves a visual display ID for
|
||||
3,905 records, a native model path for 3,837, and exact bounds for 3,547. The
|
||||
generated export manifest deduplicates those instances into 458 native legacy
|
||||
assets, records 38 intentional no-display spell-focus objects, and isolates
|
||||
the remaining nine missing-model display IDs and 68 no-bounds display IDs for
|
||||
review.
|
||||
- An initial live pass exposed colored procedural markers for adapted
|
||||
chests/resources. Unreviewed source objects are now deliberately hidden,
|
||||
non-blocking, and non-interactive so incomplete door scripts cannot soft-lock
|
||||
a dungeon and placeholder art cannot leak into normal play. A second live
|
||||
Wailing Caverns pass confirmed the clean 3D scene, party combat, HUD, minimap,
|
||||
and single Fortitude entry. No uncaught client errors appeared; duplicate
|
||||
KTX2-loader warnings occurred only across deliberate hot-reload cycles.
|
||||
- The final runtime audit reports 54/54 reviewed dungeons. Fifty-one dungeons use
|
||||
52 rule-bearing instance-controller definitions (Blackrock Spire has separate
|
||||
lower- and upper-spire controllers), while three use verified source-exact
|
||||
no-op scripts. Every catalog objective has a completion action, and the audit
|
||||
found zero malformed-object, duplicate-id, or encounter-contract issues. All
|
||||
51 rule-bearing dungeons retain explicit adaptation/gap notes; native object
|
||||
models and full-route live traversal are not claimed complete.
|
||||
- The source-combat follow-up gives every runtime-spawnable boss a sourced kit
|
||||
unless the pinned source really is melee-only. The six deliberate exceptions
|
||||
are Kresh, Deviate Faerie Dragon, Spirestone Battle Lord, Spirestone Butcher,
|
||||
Crystal Fang, and Grubbis. Crystal Fang retains its source-exact 15% rare-spawn
|
||||
behavior and death summon. Trial of the Champion, Utgarde Keep, Hellfire
|
||||
Ramparts, Sethekk Halls, Mana-Tombs, and Slave Pens event bosses now use their
|
||||
pinned spell IDs and timing windows; unsupported vehicle, proc, queue, shared-
|
||||
health, phase, stack, and healing-reduction semantics are explicitly recorded
|
||||
as adaptations instead of being silently invented.
|
||||
- Wipe/reset validation exhaustively covered 673,664 reachable encounter states,
|
||||
180 reset paths, every one of the 68 non-initial reset targets, and all 135
|
||||
entity-timeout rules. Durable progression now fails closed on a missing entity,
|
||||
legacy snapshots with unordered action history fail closed, and Frozen Reach's
|
||||
Arktos is attempt-scoped so a wipe respawns him and can still advance the duo
|
||||
encounter on the next pull. The two viable post-reset resume states in Scarlet
|
||||
Cathedral and Halls of Stone are intentional, not soft locks.
|
||||
- Same-process checkpoint restore and online follower hydration now accept their
|
||||
trusted save/leader snapshots even when a retained local provider has a newer
|
||||
reset revision; ordinary stale imports remain rejected. A renderer restart
|
||||
preserves the current encounter snapshot. Encounter effects use one delivery
|
||||
path at a time, and obsolete headless queues are cleared on reset or dungeon
|
||||
switch instead of retaining already-applied envelopes for the process lifetime.
|
||||
- The generated download topology now contains an installable logical pack for
|
||||
every one of the 54 campaign dungeons. The three custom dungeons without their
|
||||
own creature payload are represented by dependency-only packs, while every
|
||||
non-bundled dungeon pulls its exact environment and shared-creature closure.
|
||||
The existing live content feed was not deployed or mutated during this pass;
|
||||
browser traversal therefore still reflects the packs already available there.
|
||||
- Installed packs now persist v2 verification receipts containing their exact
|
||||
file set, byte counts, hashes, and dependencies. Browser-cache and native-file
|
||||
presence are revalidated before entry, production dungeon entry fails closed
|
||||
when a pack or dependency is missing or stale, and `content:publish` validates
|
||||
the complete 54-dungeon dependency graph before any release output is written.
|
||||
- Run completion now leaves the final room active so loot can be collected before
|
||||
the player explicitly exits and clears the checkpoint. A wipe returns the party
|
||||
to the saved run spawn while preserving already-cleared bosses and durable run
|
||||
progress; attempt-scoped actors and effects reset for the next pull.
|
||||
- The live Priest check used the saved `Rolecheck` character, which advanced from
|
||||
level 11 to level 12 during the dungeon passes. The latest Wailing Caverns run
|
||||
displayed 677/677 health, one Power Word: Fortitude alongside Arcane Intellect
|
||||
(and Holy Concentration while active), and one Frostbolt plus one Icy Touch
|
||||
debuff. Repeated Frostbolt applications refreshed that one entry from 7.1 to
|
||||
21 seconds rather than duplicating it. The deterministic geared level-8 check
|
||||
produced 3,285 mana and increased health from 407 to 437 when Fortitude was
|
||||
applied.
|
||||
- Verification remains deliberately split: source coverage, runtime contracts,
|
||||
reset reachability, and automated behavior are green, while the combined
|
||||
production-fidelity audit remains 0/54. Its remaining blockers include native
|
||||
object export/collision, explicitly listed source-semantic gaps, and end-to-end
|
||||
traversal evidence for every production pack—not unfinished instance-script
|
||||
review.
|
||||
- Final release verification passed all 1,109 Vitest cases across 202 files,
|
||||
TypeScript project compilation, and the production build with 967 modules
|
||||
transformed. The build staged 5,587 browser-bootstrap files, validated all
|
||||
eight arenas, audited 12,347 compressed textures with zero fallbacks, and found
|
||||
no environment-performance regressions. The release-candidate check accepted
|
||||
all 118 changed paths. The existing large-chunk advisory and Rapier
|
||||
initialization deprecation warning remain informational.
|
||||
|
||||
# 2026-09-09 — fixed per-rank classic mana costs
|
||||
|
||||
- Imported WoW mana percentages are now converted into fixed costs at each
|
||||
spell rank's source level. Player level, Intellect, equipment, and maximum-mana
|
||||
modifiers no longer increase the cost of an already learned rank; legitimate
|
||||
talent and aura cost reductions are still applied afterward.
|
||||
- Shadow Word: Pain rank 4 now costs 133 mana at every level from 26 through 33,
|
||||
including level 32. Learning rank 5 at level 34 raises the cost to 188 mana.
|
||||
- AI companions now use real character-scale mana pools so fixed spell costs do
|
||||
not prevent healing or resurrection. The companion display also resolves the
|
||||
active spell rank and the same final affordability result as the primary HUD.
|
||||
- Verification passed all 1,133 Vitest cases across 208 files. The production
|
||||
build completed with 974 modules transformed; arena, KTX2, and environment-
|
||||
performance audits remained green, and the release-candidate check passed.
|
||||
|
||||
# 2026-09-09 — dungeon wall and nameplate performance regressions
|
||||
|
||||
- The 0.1.24 material fallback honored BLEND tags on legacy WoW WMO walls,
|
||||
floors, and ceilings, disabling their depth writes. WoW environments now use
|
||||
their authored material roles again; RuneWaker environments retain their
|
||||
source MASK/BLEND semantics. Shipped Wailing Caverns wall materials, vines,
|
||||
and water are covered by regression tests.
|
||||
- The 0.1.25 boss-name occlusion scanned the complete rendered scene with
|
||||
Three.js raycasts. A live Kalin's Shrine CPU profile was dominated by triangle
|
||||
intersection and vertex decoding. Boss names and nearby NPC prompts now use
|
||||
bounded camera-to-label queries against Rapier's existing physical spatial
|
||||
index, at most ten times per second, skipping offscreen labels. Walls, floors,
|
||||
and ceilings occlude labels; actors and trigger sensors do not.
|
||||
- In an isolated offline Edge playtest at 1440 x 900 on an AMD RX 9070 XT,
|
||||
Kalin's Shrine improved from about 10 FPS (98.5 ms/frame, 167 draw calls,
|
||||
DPR 1.125) to 55.5-56.1 FPS (17.8-18.0 ms/frame, 168-170 draw calls,
|
||||
DPR 1.5). This is a representative entrance/combat comparison, not an audit
|
||||
of all thirty RoM dungeons. The environment alone took about 0.8 ms CPU and
|
||||
0.5 ms GPU with 14 draw calls.
|
||||
- Wailing Caverns screenshots show continuous opaque cavern walls and ceilings.
|
||||
A controlled toggle of the old material flags reproduced the missing wall
|
||||
sections at the same camera position; restoring depth-writing materials fixed
|
||||
them. Its full scene ran at about 57 FPS. No uncaught client errors appeared.
|
||||
- Evidence and repeatable local benchmark helpers are under
|
||||
`playtest-artifacts/2026-09-09-dungeon-rendering/`: `kalin-before.cpuprofile`,
|
||||
`kalin-after.cpuprofile`, `kalin-after-metrics.json`, `kalin-before.png`,
|
||||
`kalin-after.png`, `wailing-regression.png`, and `wailing-restored.png`.
|
||||
- All 26 focused material, label occlusion, combat sight, aggro visibility,
|
||||
instancing, and NPC-prompt tests passed. Physical-occlusion tests exercise
|
||||
actual Rapier worlds rather than just source-code assertions.
|
||||
|
||||
# 2026-09-09 — campaign rendering audit and Thor performance preparation
|
||||
|
||||
- Audited the actual visual GLB headers for all 54 WoW campaign dungeons:
|
||||
9,402 materials, including 3,586 legacy BLEND materials restored to opaque
|
||||
rendering by the shared policy. Every WoW package contained affected
|
||||
materials. A permanent shipped-asset test covers all 54 definitions and
|
||||
retains explicit cutout, blend, and additive roles. This is material-policy
|
||||
coverage, not a claim that every room has been visually traversed.
|
||||
- Live screenshots checked Wailing Caverns, Shadowfang Keep, Utgarde Pinnacle,
|
||||
the Nexus, and Tinkertech Showdown. The sampled walls, floors, stairs, and
|
||||
ceilings remain solid; authored lighting effects remain transparent. Kalin's
|
||||
Shrine and Forsaken Abbey provided RoM rendering checks. Roster and in-dungeon
|
||||
screenshots show character bodies and equipped weapon silhouettes after the
|
||||
shared character animation change.
|
||||
- A controlled Utgarde Pinnacle entrance test found about 1,739 draw calls,
|
||||
1.95 million triangles, and 30.5 FPS on the desktop GPU. Clipping at the
|
||||
existing full-fog distance reduced this to about 209 calls, 567,000 triangles,
|
||||
and 60 FPS at the same viewpoint. The camera now follows each dungeon's fog
|
||||
distance, including transitions that retain the existing Canvas/camera.
|
||||
The background uses the fog color to avoid a clipping seam at the horizon.
|
||||
All 84 dungeon definitions have render-distance coverage.
|
||||
- Static dungeon visual transforms are cached until the root or its parent's
|
||||
world transform changes. Tests verify imported matrices, repeated unchanged
|
||||
frames, root movement, and parent movement. Characters, moving world objects,
|
||||
and physics remain outside this immutable visual cache.
|
||||
The final 63-second Utgarde sample held 60 FPS with 213 draw calls:
|
||||
main-thread work averaged 9.2 ms/frame, renderer CPU averaged 7.5 ms
|
||||
(p95 8.3 ms), and GPU averaged 2.7 ms (p95 4.1 ms). Movement and jump input
|
||||
continued to animate the player while the environment remained stationary.
|
||||
- Character locomotion and jump clip selections are cached by animation
|
||||
library and weapon stance. The final Kalin CPU profile contains no sampled
|
||||
per-frame base-clip selection/name parsing. Frame-cap deadlines now tolerate
|
||||
sub-millisecond timestamp rounding without drifting or emitting catch-up
|
||||
frames; tests cover 60 FPS on rounded 60 Hz and 120 Hz callbacks.
|
||||
- A 31.5-second Kalin sample with a connected browser companion display held
|
||||
60 FPS: main-thread work averaged 8.7 ms/frame, renderer CPU averaged 5.4 ms
|
||||
(p95 5.9 ms), and GPU averaged 2.4 ms (p95 3.4 ms). The companion used about
|
||||
5.1 ms of main-thread time per second. Recent ability-cost snapshot work was
|
||||
not a dominant hotspot in this sample. Startup warmup is bounded to loading;
|
||||
companion snapshots are already limited to ten per second during gameplay.
|
||||
- These are isolated offline Edge desktop samples on an AMD RX 9070 XT at
|
||||
1920 x 1080 CSS pixels, DPR 1.5 (2880 x 1620 renderbuffer). Party composition
|
||||
can change between dungeon entries. They do not certify Android performance
|
||||
or sustained busy-combat headroom. ADB listed no connected Android device.
|
||||
- Thor acceptance should use the actual model, both native displays, target
|
||||
resolution, and a sustained 20-minute traversal/combat run after warmup.
|
||||
Provisional headroom target: p95 main-thread and GPU work each at or below
|
||||
12 ms, with p99 presented frame intervals within the 16.7 ms 60-FPS budget.
|
||||
Test large pulls, boss effects, menus, and repeated dungeon transitions;
|
||||
record thermal behavior and frame-time spikes, not only average FPS.
|
||||
The environment asset audit still has 60 grandfathered budget exceptions;
|
||||
its green result means no new asset regression, not a Thor FPS guarantee.
|
||||
- Evidence is in `playtest-artifacts/2026-09-09-thor-audit/`, including roster,
|
||||
dungeon, and companion screenshots, CPU profiles, and CPU/GPU JSON samples.
|
||||
The full material report is
|
||||
`playtest-artifacts/2026-09-09-dungeon-rendering/wow-material-audit.json`.
|
||||
- Validation passed 227 focused tests covering avatar rendering and animation,
|
||||
camera distances, material policies, frame pacing, static transforms, label
|
||||
visibility, and companion snapshots. The final static-cache change also
|
||||
passed the 105-test scene subset. The production build and release-candidate
|
||||
check passed; the existing large-bundle advisory remains.
|
||||
|
||||
# 2026-09-09 — additional CPU headroom from culling and shared skeletons
|
||||
|
||||
- Prepared dungeon visuals now group static siblings into conservative spatial
|
||||
bounds. One scene hook checks these bounds after the current camera and world
|
||||
matrices update, before Three.js traverses individual meshes. Bounds include
|
||||
complete wall geometry and all instances; lights, animated meshes, and meshes
|
||||
explicitly disabling frustum culling remain outside these groups. The hook
|
||||
supports streamed chunks and restores its predecessor after cleanup.
|
||||
- At the same Utgarde Pinnacle entrance, only 16 of 1,383 spatial groups were
|
||||
visible. The renderer examined 108 static meshes instead of 7,002, retaining
|
||||
the same 206 draw calls and 566,913 rendered triangles. Controlled culling
|
||||
toggles produced byte-identical canvas PNGs across eight camera headings.
|
||||
- In the same running scene, spatial grouping reduced average main-thread work
|
||||
from 9.45 to 6.83 ms/frame, and renderer CPU from 7.81 to 5.31 ms/frame.
|
||||
Removing containers emptied by static instancing reduced the final fresh-run
|
||||
averages further to 6.49 ms main-thread and 4.85 ms renderer CPU (p95 5.2 ms).
|
||||
The final sample lasted 87.8 seconds and held 60 FPS. Authored empty scene
|
||||
nodes are preserved; only containers emptied by our batching are removed.
|
||||
- The shared character renderer still uses SkeletonUtils.clone, then reuses
|
||||
equivalent skeleton palettes within that owned clone. Bone identities, order,
|
||||
and inverse bind matrices must all match; per-mesh bind transforms remain
|
||||
unchanged. Different characters retain independent bones and animations.
|
||||
Owned bone textures are now explicitly disposed during character teardown.
|
||||
- A live character audit found 66 skeleton objects for one player palette and
|
||||
256 objects for four party palettes. A Wailing Caverns toggle removed 309
|
||||
duplicate skeletons and produced an identical rendered image. Tests verify
|
||||
posed vertices, differing bind transforms, incompatible palettes, independent
|
||||
cloned characters, and redundant texture disposal.
|
||||
In the same Wailing scene, main-thread work fell from 7.40 to 6.70 ms/frame;
|
||||
renderer CPU fell from 5.51 to 4.86 ms/frame, and allocated GPU textures fell
|
||||
from 292 to 217. This measures palette sharing after spatial culling was
|
||||
already enabled. Both samples held 60 FPS.
|
||||
- The final built runtime showed a complete roster body and staff with one
|
||||
skeleton for 66 skinned meshes. Kalin's Shrine showed one player palette and
|
||||
four independent party palettes; walking retained the player body and weapon
|
||||
silhouette. Wailing Caverns and Utgarde screenshots retained solid dungeon
|
||||
surfaces. There were no uncaught client errors during these playtests.
|
||||
- All 210 targeted avatar, visibility, instancing, material, camera-distance,
|
||||
and label tests passed. The production build and release-candidate check
|
||||
passed. The existing large-bundle advisory remains.
|
||||
- Evidence is under `playtest-artifacts/2026-09-09-static-culling/`: paired PNGs,
|
||||
eight-heading pixel comparisons, profiles, before/after timing JSON, and
|
||||
screenshots. Measurements use the same desktop Edge/RX 9070 XT setup as the
|
||||
preceding audit. These CPU improvements do not certify Thor performance.
|
||||
|
||||
# 2026-09-09 — bundled arena assets blocked by the browser content worker
|
||||
|
||||
- Reproduced the reported collision-matched fallback in the production build
|
||||
with the content worker active. Warnorken's `visual.glb?arena-runtime=1`
|
||||
returned 404 even though the file was bundled and directly served with 200.
|
||||
The worker omitted `/assets/game/arenas/` from its bundled asset prefixes and
|
||||
incorrectly rejected these files as uninstalled optional content.
|
||||
- Added the arena prefix to the worker. Installed updates still take priority;
|
||||
missing optional dungeon content still returns 404. Behavioral worker tests
|
||||
failed for all eight arenas before the fix and now cover visual, collision,
|
||||
and navigation requests with the runtime query parameter.
|
||||
- The production build passed. Reloading the same browser session activated
|
||||
the fixed worker without clearing storage or downloading content. Warnorken
|
||||
rendered textured stone geometry and Nagrand rendered its authored arena
|
||||
geometry; neither showed the loading/fallback banner after loading, and no
|
||||
new console errors were recorded. Checks used offline practice in the Codex
|
||||
browser at `http://127.0.0.1:4174/`, backed by a local test server on port 4173.
|
||||
- All 22 content tests and the eight-arena asset validator passed. Screenshots,
|
||||
before/after error logs, asset validation, and build output are saved under
|
||||
`playtest-artifacts/2026-09-09-arena-loading/`. The existing large-bundle
|
||||
advisory remains. This verifies the local browser build, not a deployment
|
||||
or an Android package.
|
||||
|
||||
# 2026-09-10 - arena character and gameplay integration
|
||||
|
||||
- Replaced the limited arena spell interpreter with a private bundle of the
|
||||
existing character combat engine. Offline practice and server matches share
|
||||
casting, channels, resources, auras, pets, talents and equipment mechanics.
|
||||
Each actor/match keeps its own state; opening panels does not run a second
|
||||
client simulation or overwrite dungeon state.
|
||||
- The controlled character uses CharacterModel with saved appearance, gear,
|
||||
class, specialization, talents and bindings. Other participants also use
|
||||
character models. The HUD displays actual resources, runes, combo points,
|
||||
cast/channel status, cooldowns, buffs, pet commands and PC/controller labels.
|
||||
Spellbook, character, talents, bindings, keybinds, map and options work in
|
||||
arena. Equipment and talents remain locked to the entered match loadout.
|
||||
- Fixed Keybinds opening with a shortened custom PC bar: missing slots now
|
||||
display as empty instead of crashing the React tree. Live checks opened
|
||||
Keybinds, Character, Talents and Options; the four-slot Q/E/R/T bar cast
|
||||
Flash Heal and Power Word: Shield with resource/cast/aura feedback.
|
||||
- Fixed NaN facing, spectator-camera elevation, obstructed starting positions
|
||||
and camera collision. Shared right-button drag ends on release, blur, lost
|
||||
capture, menus and teardown without pointer lock. Movement, jump, targeting,
|
||||
ground placement, feedback, animation and combat effects use arena state.
|
||||
- Authority uses all collision chunks and navigation triangles. Removed
|
||||
invisible static proxy walls. All 3v3 starts are grounded, and bots follow
|
||||
connected routes around walls/ramps. Shortcuts stay on level ground to avoid
|
||||
falling below waypoints. Detailed scenes use a shaped support surface; the
|
||||
loading/error fallback now matches collision instead of using a flat box.
|
||||
- Black Rook's old navigation/anchors were on terrain above the arena. Rebuilt
|
||||
against restored collision, selected its connected interior component (783
|
||||
triangles), and placed both starts on the floor near Y=-28.3. Updated the
|
||||
asset metadata and generator to stop restoring the old terrain navigation.
|
||||
- Added PvP defender stats, shields, resource drains, pushback, school locks
|
||||
and control diminishing returns. Fixed duplicate control entries counting
|
||||
twice, aligned aura/control duration, and made dispels remove movement
|
||||
restrictions. Dispel Magic supports friends and enemies. Healers can heal
|
||||
allied pets; melee bots start weapon attacks to generate rage.
|
||||
- Automated checks: 38 server arena tests and 160 distinct avatar, input,
|
||||
camera, arena character/rules, combat store and ability catalog tests.
|
||||
Coverage includes channels/cancellation, runes, combos, pet orders/damage/
|
||||
healing, interrupts, absorbs, dispels, DR, ground spells, mana burns, RoM
|
||||
secondary resources, dampening, isolation, matchmaking and match results.
|
||||
Both-direction walks between team starts pass across all eight arenas.
|
||||
- Live checks use an isolated in-memory level-80 priest, ArenaPriest, without
|
||||
changing the user's roster. Warnorken showed its interior, the selected
|
||||
character and saved spell labels. Movement changed both actor and camera.
|
||||
Bots traversed, cast spells, reduced health and settled a defeat when idle.
|
||||
No detailed-asset warning appeared. Evidence uses the arena-complete prefix
|
||||
under playtest-artifacts; earlier Nagrand/custom-bar evidence retains the
|
||||
arena-player prefix. The drag probe uses installed input code with scripted
|
||||
right-button events; rotation changes while held, stops after release, and
|
||||
pointerLockElement remains null. This is not a physical-device test.
|
||||
- Final screenshots show the Warnorken interior and character/action bar,
|
||||
Black Rook's corrected interior floor, the roster body/staff, and the
|
||||
character/party after returning to Wailing Caverns. Files:
|
||||
arena-complete-warnorken.png, arena-complete-black-rook.png,
|
||||
arena-complete-roster.png, arena-complete-dungeon.png and
|
||||
arena-complete-keybinds.png in playtest-artifacts.
|
||||
- Production build and release checks passed, with the existing bundle-size
|
||||
advisory. Run npm run arena:abilities:build after catalog/asset changes;
|
||||
prebuild also regenerates the engine and geometry. Verification is local
|
||||
offline practice plus authoritative server tests. Hosted online PvP,
|
||||
deployment and Android hardware were not exercised.
|
||||
|
||||
# 2026-09-10 — profile keybinds and movement-conflict recovery
|
||||
|
||||
- Added Pause / Options → Keybinds with 133 actions, PC and Controller tabs,
|
||||
search/categories, capture and touch selectors, explicit conflict replacement,
|
||||
clear/reset controls, and Restore movement. Desktop defaults to PC; mobile
|
||||
and native Android default to Controller. Both tabs remain available.
|
||||
- Live offline browser check: assigning W to bar 1/button 1 named Move forward
|
||||
in the conflict prompt; cancelling preserved W. Rebinding forward to T,
|
||||
saving, closing, and reopening retained T. Restore movement returned it to W.
|
||||
- At 390 × 844, controller selectors assigned L1 + Triangle to Jump, prompted
|
||||
before clearing the old layer-2 ability binding, and retained the saved chord
|
||||
after reopening. Restored the test bindings afterward. The final phone panel
|
||||
starts at (0, 0), has a 443px scrolling action list, and keeps the footer within
|
||||
the viewport. Desktop layout checked at 1280 × 900.
|
||||
- Fixed the inherited 610px panel-height cap, mobile backdrop padding, action
|
||||
button accessible names, and companion-toggle overlap found during QA.
|
||||
- 89 targeted tests passed across input dispatch, mouse-drag lifecycle, analog
|
||||
remapping, conflict recovery, menus, account isolation, cloud transfer, UI
|
||||
imports, and dual-display synchronization. The full production build and
|
||||
release candidate check passed; the existing bundle-size advisory remains.
|
||||
- Controller chord conflicts also cover a modifier button’s standalone action,
|
||||
preventing combinations such as View + A from opening the companion first.
|
||||
- Hardware controller / Android APK validation and a physical right-button
|
||||
drag were unavailable through this browser session. Drag lifecycle and null
|
||||
pointer-lock assertions passed in the input tests. Browser viewport screenshots
|
||||
are scaled by the in-app compositor; DOM geometry supplied the viewport checks.
|
||||
|
||||
## 2026-09-10 - Original spell media defaults and visual fallback
|
||||
|
||||
- Original spell visuals and authentic sounds are enabled by default. The original media pack is prepared before gameplay; download failure leaves generated visuals available and missing sounds silent.
|
||||
- Saves using the previous generated-only default migrate once to original media while retaining quality, group visibility, mute, and volume settings. Explicit later preferences remain saved.
|
||||
- Removed synthesized combat audio. Original mode now uses generated visuals when no original phase is mapped or when all original graphs/textures for that phase fail to load; usable original layers remain preferred.
|
||||
- Validation: 64 targeted tests passed, covering defaults, persistence migration, media installation/retry, rendering selection, original audio playback, silence on missing/invalid audio, and existing effect lifecycles. Production TypeScript and Vite build passed after correcting the installer test mock type; prebuild content/asset checks also passed.
|
||||
- Browser verification used the production CombatEffects and OriginalCombatEffect components with isolated store/media fixtures and the actual packaged Flash Heal graph/textures. The original case rendered one original emitter and zero generated emitters. Unmapped spell, graph HTTP 404, and texture HTTP 404 cases each rendered zero original emitters and one visible generated effect. Combat reset removed the fallback.
|
||||
- Evidence: playtest-artifacts/spell-media-20260910/original.png, bad-graph.png, bad-texture.png, and missing.png. The first Vite preview timed out; the bundled isolated preview completed successfully. This was an effect-focused browser check, not a full dungeon or device audio audition.
|
||||
- Final release check: blocked by existing trailing whitespace in server/generated/arena-combat-runtime.mjs. The files changed for spell media pass the whitespace check; the unrelated generated arena file was left intact.
|
||||
|
||||
## 2026-09-10 - All regular dungeons bundled with lossless shared storage
|
||||
|
||||
- Web and Android packaging include all 84 regular dungeons and their asset dependencies. Shared Manastorm maps are stored once while every Manastorm pack keeps its optional install flag. Manastorm-only maps remain outside the initial package.
|
||||
- Packaged assets fell from 3,440,440,928 logical bytes to 1,600,690,686 stored bytes, including 179,063,519 bytes saved by sharing exact duplicate files. No source models, texture resolutions, animations, or audio were changed or generated.
|
||||
- Gzip representations retain both compressed and original SHA-256/size metadata. Publishing keeps original remote objects for older clients. Browser installs verify both representations, retain compressed shared objects with small aliases, and preserve shared objects until their final pack is removed. Native optional downloads remain resumable and verify their expanded originals before activation.
|
||||
- Android's packager automatically expanded and renamed .gz files; final objects use .gzip with noCompress instead. Added an APK verifier to the normal Android build workflow, checking every object, every original hash, exact object inventory, and the 84-dungeon/optional-Manastorm boundary.
|
||||
- Final debug APK: 1,622,100,512 bytes. All 9,106 unique objects (9,194 logical asset references) passed verification from inside the actual APK. Verification report and test APK: artifacts/dungeon-texture-audit-20260910/apk-verification.json and healer-man-0.1.28-debug.apk.
|
||||
- Validation: production TypeScript/Vite build and asset checks passed; 80 targeted content, Downloads, and avatar tests passed across the final runs, plus nine publisher/server tests. Android Java compilation and assembleDebug passed. Existing bundle-size/import advisories remain.
|
||||
- Live production browser check used an isolated offline Gziphealer character. Roster and Deadmines rendered the player body, party bodies, equipped weapon silhouettes, and textured dungeon geometry using the bundled compressed objects. Downloads showed all regular dungeon packs included and 75 Manastorm rows not installed. Evidence: artifacts/dungeon-texture-audit-20260910/roster-final.png, deadmines-final.png, and downloads-dom.txt. No new console errors appeared in the final-format dungeon run.
|
||||
- A concurrent build replaced the shared dist directory during the first preview, causing temporary asset 404s. Repeated visual validation against an isolated build completed successfully. Deadmines displayed a route-blocked party status at its entrance; this was a loading/rendering check, not a full dungeon traversal. Physical Android hardware was not exercised.
|
||||
|
||||
## 2026-09-11 - Original WoW visuals for every class
|
||||
|
||||
- Packaged all 378 directly mapped WoW models plus five model dependencies:
|
||||
4,205/4,205 source phase assets across all ten WoW classes, 260 mesh models,
|
||||
1,367 particle emitters, 193 ribbon emitters, and 428 original textures.
|
||||
The audit found no missing graph, dependency texture, or mapped sound file.
|
||||
- Added source bone animation, skinning, billboards, material/UV animation,
|
||||
layered textures, ribbons, geometry particles, and bounded nested particles
|
||||
to the existing combat event rendering path. Graph URLs include payload
|
||||
hashes so regenerated models do not reuse stale cached graph files.
|
||||
- The development preview at scripts/combat-effects/preview.html lists all
|
||||
directly mapped models and uses the combat renderer. Browser screenshots
|
||||
showed Battle Shout, Devotion Aura, Hunter's Mark, Slice and Dice, Priest
|
||||
Shield, Blood Strike, Lightning Bolt, Fireball, Shadow Bolt, and Wrath.
|
||||
Cone of Cold also showed the source geometry particles during playback.
|
||||
- Browser QA exposed and fixed the second-texture UV shader declaration and
|
||||
a development media-pack gate: Vite serves original media directly, while
|
||||
release builds still require the verified optional pack. The offline Mage
|
||||
Visualtest rendered with its staff in the roster; player/party bodies and
|
||||
weapon silhouettes also rendered in Wailing Caverns.
|
||||
- Evidence is in playtest-artifacts/2026-09-11-wow-effects. The initial dungeon
|
||||
screenshots preceded the development media-gate fix and demonstrate avatar
|
||||
rendering and generated fallback only.
|
||||
- After the fix, Options reported Original media ready, and live Fireball
|
||||
casting showed source fire effects on the Mage (dungeon-original-fireball.png).
|
||||
No original-asset load or shader errors appeared. Existing physics-init and
|
||||
duplicate KTX2-loader warnings appeared during dungeon reloads. The party
|
||||
later reported Route blocked at the entrance; full traversal was not tested.
|
||||
- Fixed instant-ability phase resolution without adding presentation-bus or
|
||||
audio events. Original mode now overlays mapped source-side cast layers on an
|
||||
instant release and falls back between source `impact` and `aura-start`
|
||||
terminal mappings while preserving the selected source phase. This reaches
|
||||
all 1,106 castable instant rank records with packaged source visuals,
|
||||
including all 287 latest-rank instant abilities with source visuals. Three
|
||||
additional source-backed instant records are passive and emit no combat
|
||||
event. The 61 latest-rank instant abilities with no source visual mapping
|
||||
continue to use generated fallback.
|
||||
- Live Frost Nova QA reported original/high with two concurrent render systems,
|
||||
showing the source blue ground wave and its root layer instead of the prior
|
||||
generated semicircle. Evidence: dungeon-original-frost-nova-fixed.png. No new
|
||||
original-asset or shader warning/error appeared after the cast.
|
||||
- Automated validation passed 20 Node packaging/decoder tests, 47 avatar
|
||||
tests, and 121 combat/media/audio/runtime tests (188 distinct
|
||||
tests across those suites).
|
||||
Source graph tests parse every shipped direct model, sample bone timelines,
|
||||
and check malformed geometry, dependencies, and billboard transforms.
|
||||
- Production TypeScript/Vite build, prebuild content/asset checks, asset audit,
|
||||
and the release candidate check passed. Existing bundle-size/import
|
||||
advisories remain.
|
||||
- Coverage is for source visual mappings in the current ability catalog.
|
||||
Effects without source mappings retain fallback. This is representative
|
||||
desktop browser QA, not exhaustive spell-by-spell fidelity or a physical
|
||||
Android/GPU performance test. No hosted release was published.
|
||||
|
||||
## 2026-09-12 - Stockades party routing and indoor lighting
|
||||
|
||||
- Fixed quantized navigation preparation: normalized integer positions now
|
||||
expand to floats before the GLB node transform is baked. Previously the
|
||||
Stockades world coordinates clamped into roughly [-1, 1], leaving the live
|
||||
party unable to attach to its graph even when an offline route test passed.
|
||||
- Added three reviewed bidirectional links across the 1.537m Recast seams at
|
||||
the entrance/central stairs and the central/north and central/south stairs.
|
||||
The shipping 3,538-triangle graph connects the entrance and all five boss
|
||||
approaches while discarding the remaining small decorative islands.
|
||||
- Added navigation-only review state and compiler-preserved runtime overrides.
|
||||
Stockades navigation is green; its wider encounter, wipe/reset, checkpoint,
|
||||
and completion validation remains unvalidated.
|
||||
- Leader and follower formation paths now use the graph when a breadcrumb
|
||||
rejoin is blocked. Fallback comfort goals and recalls attach to the reviewed
|
||||
surface, preventing an off-boundary stair target from causing a false stuck
|
||||
loop. Combat approach connectors respect each member's personalized range.
|
||||
- Replaced the generic dark expansion palette only for Stockades with warmer,
|
||||
stronger ambient/hemisphere fill and a warm directional light. No dungeon
|
||||
textures or source meshes were changed, and other dungeon palettes remain
|
||||
unchanged pending individual visual review.
|
||||
- Live desktop browser check at 1280 x 720 used offline level-15 Priest
|
||||
Rolecheck as healer with Blood DK tank Morvane, Combat Rogue Vale, Unholy DK
|
||||
Thorne, and Frost Mage Ilyra. Fresh Defend mode showed PARTY 5/5, Recall on the
|
||||
entrance stairs recovered without a route warning, and Attack resumed with
|
||||
visible party movement down the stairs. The tank advanced into combat and
|
||||
took Defias Basic Attack/Kick/Backhand aggro; Backstab and Icy Touch events
|
||||
appeared while the player remained at the entrance.
|
||||
- Inline task screenshots captured the warm, readable stonework/stairs and
|
||||
equipped party silhouettes in Defend and Recall-to-Attack states. The final
|
||||
runtime produced no new navigation errors; the existing deprecated physics
|
||||
initialization warning remains. Temporary diagnostic logging was removed.
|
||||
- Automated validation: all 223 Vitest files passed, 1,373 tests passed, and
|
||||
six existing tests remained skipped. Regressions cover the actual quantized
|
||||
Stockades GLB through the shipping asset-preparation path, normalized integer
|
||||
transforms, formation projection, entrance-to-boss routing, and tank melee
|
||||
approach. This is an entrance/combat smoke pass, not a complete dungeon clear
|
||||
or physical Android test.
|
||||
- Production TypeScript/Vite build, texture/performance audits, bundle
|
||||
verification, and the final release candidate check passed. Existing
|
||||
bundle-size/import advisories remain. No hosted release was published.
|
||||
- The optional all-dungeon functionality audit was stopped after an extended
|
||||
run without output; its existing report files were not changed. Stockades
|
||||
navigation evidence comes from the actual shipping-asset regressions and
|
||||
the live smoke pass above, not a new fleet-wide functionality certification.
|
||||
|
||||
## 2026-09-12 - Stockades stair-ramp follow-up
|
||||
|
||||
- Follow-up player feedback reported companions still sticking near stairs.
|
||||
Actual collision profiles contain approximately 0.44-0.59m risers, above
|
||||
the party sweep's 0.32m lower-leg clearance. Collision-backed regressions
|
||||
reproduce uphill rejection on the original shipping collision GLB.
|
||||
- Added three reviewed package-space traversal proxies for the entrance and
|
||||
both prison-wing stair flights. Collision tread/riser vertices within the
|
||||
reviewed stair relief are reshaped onto smooth ramp planes; upper walls,
|
||||
ceilings, other floors, and geometry outside those footprints remain intact.
|
||||
Source visual/collision GLBs are unchanged. Only prepared walking collision
|
||||
and party navigation use the overrides; the rendered stairs remain steps.
|
||||
- Navigation receives the same ramp planes with 0.05m surface clearance and
|
||||
six new triangles stitching the exact source boundary portals. This replaces
|
||||
the three vertex-only connections with filled triangle corridors, allowing
|
||||
mid-stair replans and recalls to project onto the interior walking surface.
|
||||
The reviewed graph now has 3,544 source triangles and 31 components, retaining
|
||||
entrance-to-all-five-boss routes and discarding minor decorative islands.
|
||||
- Live QA caught a second issue: terrain queries included the player's
|
||||
kinematic capsule. A failing collision-backed regression confirmed false
|
||||
route blockage through a nearby player. Party direct, route, and grounding
|
||||
queries now exclude dynamic/kinematic actor bodies and sensors; crowd spacing
|
||||
remains a separate party-separation concern. Static walls still block paths.
|
||||
- Automated tests exercise shipping normalized/quantized GLBs through runtime
|
||||
preparation, downhill/uphill party capsule checks on all three flights at
|
||||
center and lateral offsets, repeated mid-stair replans, all boss routes with
|
||||
live wall checks, tank melee approach with real collision validation, and
|
||||
player capsule traversal down/back up all three ramps without jumping.
|
||||
- Final desktop browser smoke pass at 1280 x 720 used offline level-15 Priest
|
||||
Rolecheck and the same Blood DK/Combat Rogue/Unholy DK/Frost Mage party.
|
||||
Attack began without ROUTE BLOCKED, companions changed position down the
|
||||
entrance staircase, the tank moved out of the entrance view and took aggro,
|
||||
and Backstab/Icy Touch/Plague Strike combat events appeared. Experience rose
|
||||
from 6,576 to 11,098 as the party defeated trash with the player stationary.
|
||||
Recall brought companions back to the entrance stairs. The unattended tank
|
||||
eventually died during continued combat; this was not a healed full clear.
|
||||
- Inline task screenshots captured the unchanged visible steps, equipped
|
||||
character bodies, warm lighting, and party movement. Both wing flights have
|
||||
collision-backed automated coverage; live end-to-end wing traversal, a full
|
||||
dungeon clear, wipe/checkpoint behavior, and physical Android QA remain open.
|
||||
- Validation: all 224 Vitest files passed, 1,380 tests passed, and six existing
|
||||
tests remained skipped. Production TypeScript/Vite compilation passed using
|
||||
the project's 8GB heap setting; texture/performance audits, static bundle
|
||||
compression, and release-bundle verification passed. Existing build-size
|
||||
advisories and deprecated physics initialization warnings remain. No hosted
|
||||
release was published.
|
||||
|
||||
## 2026-09-12 - Non-blocking players and combat actors
|
||||
|
||||
- Removed party soft separation and crowd-triggered combat repositioning.
|
||||
Companions may overlap or cross one another without push-apart corrections
|
||||
changing their routes. Normal follow formations and role-specific attack
|
||||
ranges remain; a tank already in melee range does not move just because an
|
||||
ally occupies the same position.
|
||||
- Added a shared actor collision layer that interacts only with physical
|
||||
terrain. The player capsule uses this layer. Player controller movement,
|
||||
ground probes, camera sweeps, party direct/route validation, party grounding,
|
||||
and combat ground-position queries use terrain-only filters. Actor body type
|
||||
cannot turn an actor into a floor or movement obstruction. Party members,
|
||||
remote players, mobs, and bosses currently render without physical colliders;
|
||||
any future actor capsule must use the shared actor layer.
|
||||
- Walls, floors, ceilings, dungeon objects, and the Stockades walking ramps
|
||||
retain their terrain collision. Target-selection meshes, combat visibility,
|
||||
damage, and attack-range checks were not removed.
|
||||
- Ten new Rapier regressions cover overlapping actors with no contacts or
|
||||
displacement, movement through fixed/kinematic/dynamic actors (including an
|
||||
overlapped starting position), continued wall/floor collision, and ignoring
|
||||
actors in ground, party-route, and camera queries. A terrain-layer control
|
||||
confirms real actor/terrain contacts are still detected. Stockades shipping-
|
||||
asset regressions now use the live player collision policy and still pass
|
||||
down/up all three ramps without jumping.
|
||||
- Browser smoke pass at 1280 x 720 used offline level-15 Priest Rolecheck with
|
||||
Blood DK, Combat Rogue, Unholy DK, and Frost Mage companions. Inline roster
|
||||
and dungeon screenshots show character bodies, weapons, unchanged visible
|
||||
stairs, and the existing warm lighting. Attack moved companions down from
|
||||
the entrance and out of its view without ROUTE BLOCKED; the tank took aggro
|
||||
and melee/caster combat events continued. Experience rose from 11,098 to
|
||||
13,359. Stop followed by Recall returned the party to the nearby player.
|
||||
Selecting Morvane and casting Power Word: Shield applied the buff successfully.
|
||||
- Live QA was an entrance/trash/recall smoke pass, not a full dungeon clear or
|
||||
a manual traversal of both wings. Actor overlap and passage guarantees are
|
||||
backed by the physics regressions; physical Android and multiplayer QA remain
|
||||
open.
|
||||
- Validation: all 225 Vitest files passed, 1,390 tests passed, and six existing
|
||||
tests remained skipped. The final focused checks passed again after cleanup.
|
||||
Production TypeScript/Vite build, texture/performance audits, static bundle
|
||||
compression, and release-bundle verification passed. Existing chunk-size
|
||||
advisories and deprecated physics initialization warnings remain. No hosted
|
||||
release was published.
|
||||
|
||||
## 2026-09-12 - Individual companion navigation recovery
|
||||
|
||||
- Replaced the old distant, whole-party stuck Recall with an individual
|
||||
navigation watchdog in a separately tested game module. Two seconds without
|
||||
meaningful waypoint progress invalidates that companion's route; five seconds
|
||||
requests a safe recovery landing. Failed replans do not restart the timer,
|
||||
back-and-forth movement cancels forward progress, and dense waypoint chains
|
||||
still count genuine movement around corners.
|
||||
- Recovery prefers a recently visited party/player trail point near the group
|
||||
on the same floor, then falls back to a validated player position. Actual
|
||||
terrain checks require walkable ground, clear companion body space, and a
|
||||
route back to the group. Blocked or invalid landings are not applied. Each
|
||||
companion has an independent ten-second teleport cooldown.
|
||||
- Intentional attack-range holds, casting/channeling, crowd control, Stop,
|
||||
death, inactive simulation, and UI pauses do not accumulate stuck time.
|
||||
Automatic recovery changes only the affected companion's position and routing
|
||||
state; it does not heal, resurrect, reset threat, or teleport other companions.
|
||||
Manual Recall keeps its existing whole-party behavior and party order.
|
||||
- Added regressions for recovery timing, oscillation, replanning, independent
|
||||
cooldowns and member isolation, exclusions, safe-trail/player selection, wall
|
||||
and ceiling rejection, missing floors, and actor-independent landing checks.
|
||||
Shipping Stockades navigation/collision assets validate recovery landings on
|
||||
all three ramps and along approaches to all five boss objectives.
|
||||
- Browser smoke pass at 1280 x 720 used offline Priest Rolecheck and Blood DK,
|
||||
Combat Rogue, Unholy DK, and Frost Mage companions. Inline roster and dungeon
|
||||
screenshots show unchanged character bodies, equipment, stairs, and warm
|
||||
lighting. The first catalog load needed a retry. Attack moved companions down
|
||||
from the entrance without ROUTE BLOCKED, and combat continued with the player
|
||||
stationary. The unattended party eventually died; Stop remained selected
|
||||
after Recall returned the fallen companions without resurrecting them.
|
||||
- The intermittent side-room trap and its automatic recovery were not reproduced
|
||||
live. Recovery triggers and terrain safety are backed by automated tests;
|
||||
extended side-room playtesting, a healed full clear, and physical Android QA
|
||||
remain open. This pass did not modify existing ramp or actor-collision policy.
|
||||
- Validation: all 227 Vitest files passed, 1,416 tests passed, and six existing
|
||||
tests remained skipped. The final 37 focused checks passed after correcting a
|
||||
test-helper type annotation. Production TypeScript/Vite compilation, texture
|
||||
and performance audits, static compression, and bundle verification passed.
|
||||
Existing chunk-size advisories and deprecated physics initialization warnings
|
||||
remain. No hosted release was published.
|
||||
|
||||
## 2026-09-12 - Wall-aware combat pursuit and individual mob recovery
|
||||
|
||||
- Hostile mob actions now require both attack range and terrain line of sight.
|
||||
Losing either cancels a pending hostile cast so pursuit can resume; companion
|
||||
hostile casts also cancel when sight is lost. Self buffs and friendly heals
|
||||
cannot make an otherwise obstructed mob hold an attack position. Proximity
|
||||
aggro also checks sight instead of pulling enemies through nearby walls.
|
||||
- Static enemies, roaming packs, and summoned enemies share separately tested
|
||||
imperative pursuit rules over the already-loaded dungeon navigation surface.
|
||||
Blocked direct approaches use approved routes through doorways. Routes may
|
||||
finish at a reachable attack position only when that position is both in
|
||||
range and visible; off-surface connectors still require body clearance.
|
||||
- Two seconds without meaningful waypoint progress requests a replan. After
|
||||
five seconds, a stuck mob within ten meters of its target may recover to a
|
||||
validated nearby landing on the same floor and within its home leash. Ground,
|
||||
body clearance, route connectivity, attack range, and sight must all pass.
|
||||
This teleport preserves health and threat and has a ten-second cooldown.
|
||||
- Distant, wrong-floor, out-of-leash, or unsafe near-target recovery requests
|
||||
instead reset only that mob's combat state and restore its health. A validated
|
||||
home landing is preferred; otherwise it evades and navigates home without a
|
||||
blind teleport. Ten seconds of evade prevents immediate proximity, damage,
|
||||
or taunt re-engagement. Dead enemies are never resurrected. Casting, control,
|
||||
pauses, inactive simulation, and non-authoritative online clients do not
|
||||
accumulate navigation failures or trigger automatic recovery.
|
||||
- Regression coverage includes range-plus-sight attack/cast gating, immediate
|
||||
cast cancellation, doorway detours, recovery timing and safety, reset/member
|
||||
isolation, cooldown bypass protection, and near-teleport health/threat
|
||||
preservation. Shipping Stockades meshes independently verify real wall
|
||||
occlusion in both directions and clear sight across all three stair ramps.
|
||||
Pursuing mobs traverse each actual ramp uphill and downhill without false
|
||||
teleport/reset recovery. Existing party and player ramp checks still pass.
|
||||
- Browser smoke pass at 1280 x 720 used offline level-16 Priest Rolecheck and
|
||||
Blood DK, Combat Rogue, Unholy DK, and Frost Mage companions. Power Word:
|
||||
Shield applied to Morvane; Attack moved companions down from the entrance
|
||||
and out of its view without ROUTE BLOCKED, and Defias melee/cast events and
|
||||
tank damage followed. Stop plus Recall returned all four living companions
|
||||
to the nearby player while retaining Stop. Inline screenshots show character
|
||||
bodies, equipment, unchanged visible steps, and the existing warm lighting.
|
||||
The browser console had no errors and the existing physics initialization
|
||||
deprecation warning only.
|
||||
- Live QA was a short entrance/combat/recall smoke test, not a healed full clear
|
||||
or a manually reproduced side-room wall trap. Wall-blocked pursuit and mob
|
||||
recovery triggers are backed by automated tests; extended side-room combat,
|
||||
physical Android, and live multiplayer QA remain open. Existing lighting,
|
||||
ramp assets, and non-blocking actor collision policy were not changed.
|
||||
- Validation: all 229 Vitest files passed, 1,444 tests passed, and six existing
|
||||
tests remained skipped. Final production TypeScript/Vite compilation, texture
|
||||
and performance audits, static compression, and bundle verification passed.
|
||||
Existing chunk-size advisories remain. No hosted release was published.
|
||||
|
||||
## 2026-09-12 - HoTs and regeneration cannot heal corpses
|
||||
|
||||
- Reproduced the reported death-with-HoT state through lethal damage followed
|
||||
by overdue Rejuvenation ticks; the original implementation restored health
|
||||
while retaining the death animation. Separate failures confirmed passive
|
||||
spirit/equipment regeneration, ground healing, triggered healing procs, and
|
||||
a lingering damage tick's level-up refill could also restore corpse health.
|
||||
- Kept the fix in combat simulation rather than scene movement. Ordinary
|
||||
player healing in mutable combat work now uses a shared living-target guard;
|
||||
passive regeneration preserves zero health. Timed effects validate their
|
||||
target before ticks and procs, discard HoTs on dead targets even before the
|
||||
next tick, and retain HoTs on living allies when their caster dies. Newly
|
||||
applied actor HoTs also reject dead targets. Ground healing skips corpses
|
||||
while continuing to heal living teammates. Experience may still be awarded
|
||||
after death, but its level-up refill no longer implicitly resurrects.
|
||||
- Explicit player and actor-based party resurrection remain available and
|
||||
synchronize restored actor health/alive state. Party resurrection also
|
||||
clears the death animation using the existing ability-cancel event. Normal
|
||||
checkpoint respawn still restores health and clears lingering effects.
|
||||
The existing player movement gate remains unchanged and blocks zero health.
|
||||
- Fifteen new regressions cover the original self-HoT failure, actual Priest
|
||||
Renew, overdue/future ticks, explicit companion-to-player HoTs and their
|
||||
healing logs, dead allies, regeneration, ground healing, proc healing,
|
||||
post-death level rewards, living-target healing, resurrection, and respawn.
|
||||
The final focused combat/death/support checks passed 101 tests; the full
|
||||
suite passed all 230 files and 1,459 tests with six existing skips.
|
||||
- No live corpse-movement replay or physical Android check was performed in
|
||||
this pass. Evidence is combat-state regression coverage, not a new visual
|
||||
claim. Character rendering, camera/input, dungeon assets, lighting, and
|
||||
navigation policy were not modified. No hosted release was published.
|
||||
|
||||
## 2026-09-12 - Selectable resurrection checkpoints and fallen NPC recovery
|
||||
|
||||
- Normal dungeons now offer the entrance plus every defeated boss as named
|
||||
resurrection destinations. Choices use authored boss locations, not corpse
|
||||
coordinates, and unlock from actual defeated actors or durable encounter
|
||||
objective completion. Alive/script-despawned bosses and invalid destination
|
||||
IDs cannot grant a checkpoint. Boss-wipe resets retain completed checkpoints;
|
||||
a fresh dungeon run clears its progress.
|
||||
- The player defeat prompt includes a destination chooser. Respawning at the
|
||||
entrance or a cleared boss retains defeated enemies and run progress while
|
||||
resetting the current pull and restoring the party through the existing
|
||||
respawn lifecycle. Legacy callers without a choice retain saved-spawn behavior.
|
||||
- A contextual `Rez dead members` button and matching destination chooser appear
|
||||
below the party frames whenever an NPC teammate is dead. Only fallen NPCs are
|
||||
revived, at full health, into their formation slots at the selected checkpoint.
|
||||
Living NPCs, the player's health/location, current enemies, and party orders
|
||||
are not reset. Lingering timed effects on revived NPCs are removed without
|
||||
removing living allies' HoTs. Manastorm charges and remote human resurrection
|
||||
behavior are unchanged; non-authority online clients cannot mutate NPC revival.
|
||||
- Living, engaged bosses disable the NPC chooser/button with an explanation;
|
||||
the same restriction is checked again when the action executes. Trash combat
|
||||
does not block it. Individual return tasks use approved navigation toward the
|
||||
player's current location, including while the party is on Stop, then resume
|
||||
the current order. Returning members do not cast/taunt from the checkpoint or
|
||||
skew the engaged squad's target-selection center. Existing validated stuck
|
||||
recovery remains available. Recall, death, actor unmount, and run reset cancel
|
||||
pending return tasks. Scene relocation clears the corpse animation explicitly.
|
||||
- Live localhost Stockades screenshots at 1280x720 showed the panel with a dead
|
||||
Morvane tank, an enabled entrance chooser/button during trash combat, and the
|
||||
tank restored to 1707 health at the entrance after clicking while Stop remained
|
||||
selected. The button disappeared when no NPC was dead; living Thorne continued
|
||||
taking damage rather than receiving a party-wide refill. At 384x844 both native
|
||||
chooser and button remained within the viewport, about 176px wide and 44px high.
|
||||
The narrow screenshot capture was backend-scaled, so DOM bounds supplemented
|
||||
the visual check. Normal viewport sizing was restored and the temporary tab
|
||||
and development server were closed.
|
||||
- Twenty-nine new regressions cover checkpoint unlocking/retention, invalid and
|
||||
locked choices, player checkpoint respawn, boss/trash restrictions, selective
|
||||
NPC revival/effect cleanup, authority/Manastorm isolation, Stop/rejoin behavior,
|
||||
wall-aware return navigation, registry lifecycle, and UI visibility/placement.
|
||||
The shipping Stockades navigation/collision test also simulates all four NPC
|
||||
formation slots walking from the entrance and every boss checkpoint back to
|
||||
the entrance through approved corridors, without requiring stuck recovery.
|
||||
Final Vitest validation passed all 234 files and 1,488 tests, with six existing
|
||||
skips. No live boss-kill destination-selection, distant-player return replay,
|
||||
multiplayer session, or physical Android check is claimed in this pass.
|
||||
- Browser logs contained no errors; Rapier initialization and KTX2-loader warnings
|
||||
occurred during development hot reloads. Character assets, camera/input,
|
||||
dungeon geometry, and lighting were not edited. Final production TypeScript/Vite
|
||||
compilation, static compression, and release-bundle verification passed; texture
|
||||
and environment-performance audits also passed during prebuild. Existing build
|
||||
chunk advisories remain. No hosted release was published.
|
||||
|
||||
## Optional DPS meter — September 12, 2026
|
||||
|
||||
- Added a compact party DPS meter with current/last-fight damage, class-colored
|
||||
rankings, and a shared fight timer. It consumes the lossless combat event
|
||||
stream and counts effective damage, including pets/summons under their owner.
|
||||
Completed fights remain visible until the next pull; encounter resets clear
|
||||
the meter. Hiding it does not stop recording. Local menu/background pauses
|
||||
do not dilute DPS.
|
||||
- Automatic placement uses the PC lower-left corner and the Thor companion
|
||||
display. The UI editor supports visibility, dragging/keyboard nudges, width,
|
||||
and screen selection. These settings participate in saved layouts, all six
|
||||
template slots, and export/import, including migration of older UI files.
|
||||
Dedicated companion snapshots carry meter data and draft placement; lower
|
||||
display movement commands update the authoritative editor draft.
|
||||
- Live localhost Stockades checks at 1280x720 showed increasing party damage
|
||||
and readable bars in the PC lower-left corner. Resizing from 230 to 240 pixels
|
||||
worked; dragging moved the handle from approximately (9, 509) to (269, 400).
|
||||
Saving visibility off hid the meter, and reopening the editor retained that
|
||||
setting while damage continued accumulating. Default position/width and
|
||||
visibility were restored after this check.
|
||||
- In Thor preview, the meter appeared only inside the 620x540 companion surface.
|
||||
Populated bars remained clear of the party strip, vital controls, and action
|
||||
bar. With the main editor open, dragging on the bottom screen moved its handle
|
||||
from approximately (526, 322) to (661, 369) within companion bounds. Those
|
||||
preview movement edits were canceled. Screenshots are saved in
|
||||
`artifacts/dps-meter/pc-default.png`, `thor-default.png`, and
|
||||
`thor-editor-moved.png`. Full-page capture scaled incorrectly in the browser
|
||||
backend, so the Thor screenshots use the scrolled normal viewport.
|
||||
- All 47 targeted tests passed across seven files, including damage accounting,
|
||||
ownership, reset/pause behavior, UI migration/persistence, and dedicated
|
||||
companion publication/unsubscription. The production build and release
|
||||
checks passed. Browser error logs were empty. Physical Thor hardware and a
|
||||
multiplayer session were not exercised; the new per-party totals consume
|
||||
this client's combat stream. No hosted release was published.
|
||||
@@ -41,13 +41,24 @@ npm test
|
||||
npm run build
|
||||
```
|
||||
|
||||
Manastorms, Arenas/PvP, and their GM tools are shelved in normal browser and
|
||||
Android builds. Their source and saved data remain intact. Use
|
||||
`npm run dev:shelved` or `npm run build:shelved` for maintenance builds, and
|
||||
set `HEALER_MAN_ENABLE_SHELVED_MODES=1` on the matching development server.
|
||||
|
||||
Boss-mechanic and dungeon-event extension points, telegraph rules, checkpoint
|
||||
behavior, test workflow, and the explicit source-gap ledger are documented in
|
||||
[`ENCOUNTER_AUTHORING.md`](ENCOUNTER_AUTHORING.md).
|
||||
|
||||
## Content downloads
|
||||
|
||||
Production browser and Android builds ship a compact required set: the game
|
||||
runtime, interface, starter equipment, Wailing Caverns starter content, and a
|
||||
basic male/female Human character model with its default appearance. Large
|
||||
character and skin libraries, additional dungeons, Manastorm stages, and the
|
||||
original spell-effects and sound pack are optional downloads.
|
||||
character and skin libraries, additional dungeons, and the original
|
||||
spell-effects and sound pack are optional downloads. Manastorm environment
|
||||
packs remain internal dungeon dependencies and are installed automatically
|
||||
when a regular dungeon needs one; they are not shown as standalone downloads.
|
||||
|
||||
Open **Downloads** from the main menu to download, update, or remove optional
|
||||
packs on either platform. Browser downloads live in an app-managed verified
|
||||
@@ -56,10 +67,13 @@ removes a roster or save. If a character's model/skin pack is unavailable, the
|
||||
shared character renderer displays the matching-gender basic Human while
|
||||
preserving that character's identity and progress for a later reinstall.
|
||||
|
||||
Generated spell effects and synthesized combat cues are the default and need
|
||||
no original-media download. Players who want the packaged original visuals and
|
||||
sounds can download that pack explicitly, select **Original** effects, and
|
||||
remove the pack again to reclaim its storage. See
|
||||
Original spell effects and authentic sounds are enabled by default; their
|
||||
optional media pack downloads automatically. All ten WoW classes use packaged
|
||||
source visuals, including animated meshes, particles, ribbon trails, and
|
||||
particle model dependencies. Generated visuals cover unavailable phases;
|
||||
missing sounds stay silent. The pack can be removed to reclaim storage. See
|
||||
[`scripts/combat-effects/README.md`](scripts/combat-effects/README.md) for coverage,
|
||||
regeneration, and the local effect preview. See
|
||||
[`CONTENT_UPDATES.md`](CONTENT_UPDATES.md) for the content lifecycle and release
|
||||
contract.
|
||||
|
||||
@@ -216,8 +230,8 @@ and install directly onto a connected device, use `npm run android:install`.
|
||||
|
||||
Android uses a compact `dist-android` build with the same required-content
|
||||
boundary as the production browser build. Optional dungeons, character/skin
|
||||
packs, Manastorm stages, and original spell media are downloaded into
|
||||
app-private storage. Installed content and local saves remain playable without
|
||||
packs, internal environment dependencies, and original spell media are
|
||||
downloaded into app-private storage. Installed content and local saves remain playable without
|
||||
a server connection and survive APK updates. See `CONTENT_UPDATES.md` for the
|
||||
update contract and `DEPLOYMENT.md` for TrueNAS publishing and signed Gitea
|
||||
releases.
|
||||
|
||||
+8
-1
@@ -237,10 +237,15 @@ Gitea tag after the signed APK builds successfully.
|
||||
npm run content:test
|
||||
npm run server:test
|
||||
npm test
|
||||
npm run content:publish
|
||||
npm run build
|
||||
```
|
||||
|
||||
All four commands must succeed.
|
||||
All five commands must succeed. `content:publish` is a fail-closed release gate:
|
||||
it validates that the generated manifest contains all 54 WoW campaign dungeon
|
||||
packs, their exact dependency closure, and every catalog-referenced asset before
|
||||
it writes the ignored local `content/` output. Do not build or stage a release
|
||||
if that validation fails.
|
||||
|
||||
Apply these additional targeted checks whenever the matching area was edited:
|
||||
|
||||
@@ -540,6 +545,7 @@ Do **not** bump the Android version. Run these exact PowerShell commands:
|
||||
```powershell
|
||||
Set-Location F:\Projects\HealerMan
|
||||
npm run content:test
|
||||
npm run content:publish
|
||||
npm run build
|
||||
git status --short
|
||||
npm run release:check
|
||||
@@ -651,6 +657,7 @@ services:
|
||||
CONTENT_DIR: /app/content
|
||||
DATA_DIR: /app/runtime-data
|
||||
HOST: 0.0.0.0
|
||||
HEALER_MAN_ENABLE_SHELVED_MODES: "0"
|
||||
NODE_OPTIONS: "--max-old-space-size=4096"
|
||||
PORT: "4173"
|
||||
SESSION_TTL_DAYS: "30"
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# RuneWaker encounter content catalog
|
||||
|
||||
This is the reviewed runtime layer above the exhaustive, machine-generated RuneWaker
|
||||
encounter audit. It intentionally contains only source behavior that can be mapped without
|
||||
guessing. The executable catalog is `src/game/runewakerEncounterCatalog.ts`.
|
||||
|
||||
## Bounded reviewed coverage
|
||||
|
||||
| Dungeon | Deferred source rows mapped | Runtime behavior | Fidelity |
|
||||
| --- | --- | --- | --- |
|
||||
| Forsaken Abbey | `12230`, `12236`, `12238` | Three two-member Ghoul/Carrion Spider formations are created on encounter initialization. After the source `sleep(20)` (2 seconds because RuneWaker sleep units are tenths of a second), the encounter enters its patrol phase. | source-backed adapted |
|
||||
| Treasure Trove | `5952428`, `5952438` | Killing Boulder Sidaar (`5952494`) arms switch `112100`; interacting with it activates the switch and lowers drawbridge `112098` once. | source-backed adapted |
|
||||
|
||||
The Forsaken mapping is backed by preserved Lua `00571.lua` and matrix helper `00727.lua`.
|
||||
The Treasure Trove mapping is backed by preserved Lua `01159.lua`. Snapshot, mechanics-audit,
|
||||
and source hashes are attached to each catalog review record.
|
||||
|
||||
“Source-backed adapted” is deliberate. Source IDs, trigger order, spawn membership, timing,
|
||||
and placement transforms are retained. HealerMan supplies serializable phases, procedural
|
||||
world-object geometry, projected heights, interaction range, and the packaged canonical Ghoul
|
||||
visual/combat definition for the source-only level-scaled Ghoul template `100653`.
|
||||
|
||||
## Effective ledger after this review
|
||||
|
||||
The generated audit baseline inventories 4,113 deferred source rows and 1,136 unresolved
|
||||
mechanics-evidence records. This catalog maps five unique deferred rows and clears five stable
|
||||
evidence IDs, leaving:
|
||||
|
||||
| Ledger item | Baseline | Reviewed here | Remaining |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Deferred source rows | 4,113 | 5 | 4,108 |
|
||||
| Unresolved mechanics-evidence records | 1,136 | 5 | 1,131 |
|
||||
|
||||
Per affected package, Forsaken Abbey moves from 101 to 98 deferred rows and 77 to 74
|
||||
unresolved evidence records. Treasure Trove moves from 188 to 186 deferred rows and 47 to 45
|
||||
unresolved evidence records. All other package counts remain unchanged.
|
||||
|
||||
The exhaustive generated JSON remains the immutable audit baseline until its generator learns
|
||||
to consume the runtime catalog. The effective counts above are exported as
|
||||
`RUNEWAKER_ENCOUNTER_CONTENT_LEDGER` and are regression tested.
|
||||
|
||||
## Explicit remaining gaps
|
||||
|
||||
- Forsaken formations remain at their source start positions after the two-second hold. The
|
||||
source uses endless flag-path patrols; the encounter runtime has no reviewed path-following
|
||||
action yet.
|
||||
- Forsaken source template `100653` is a level-scaled Ghoul variant created only by Lua and has
|
||||
no packaged actor row. The runtime alias reuses canonical Ghoul `100072`; this is not claimed
|
||||
as an exact visual or formula mapping.
|
||||
- The Forsaken keeper gate (`7883`) remains deferred. Its four Necromage deaths source-summon
|
||||
Ghoul Drake `100073`, but that summon has neither a packaged entity nor a reviewed combat
|
||||
definition. Opening the gate without that fight would be false fidelity.
|
||||
- Black Mary's Hold Door (`5952433`) remains deferred because its source interaction consumes
|
||||
inventory item `203550`; encounter guards currently expose no inventory predicate.
|
||||
- Treasure Trove uses procedural bridge/switch proxies because source object meshes and ACT
|
||||
motions are not packaged.
|
||||
- The remaining 4,108 rows require the same source-by-source review. Bulk promotion from names,
|
||||
model paths, or regex categories is not evidence of executable behavior.
|
||||
|
||||
## Validation
|
||||
|
||||
`src/game/runewakerEncounterCatalog.test.ts` validates each encounter definition and requires
|
||||
every referenced runtime spawn, entity, encounter spawn group, world object state, and objective
|
||||
to exist. It also simulates both reviewed state machines and locks the ledger arithmetic.
|
||||
@@ -24,6 +24,8 @@ android {
|
||||
versionName releaseVersionName
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Dungeon objects already carry verified lossless gzip compression.
|
||||
noCompress 'gzip'
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
|
||||
ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.phenomrom.healerman;
|
||||
|
||||
import android.content.res.AssetManager;
|
||||
import android.webkit.WebResourceRequest;
|
||||
import android.webkit.WebResourceResponse;
|
||||
import com.getcapacitor.Bridge;
|
||||
import org.json.JSONObject;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
/** Streams shared APK objects at their original logical URLs; no expanded disk copy. */
|
||||
final class BundledContentAssets {
|
||||
private final Bridge bridge;
|
||||
private final AssetManager assets;
|
||||
private JSONObject files;
|
||||
|
||||
BundledContentAssets(Bridge bridge) {
|
||||
this.bridge = bridge;
|
||||
this.assets = bridge.getContext().getAssets();
|
||||
}
|
||||
|
||||
private synchronized JSONObject files() throws Exception {
|
||||
if (files == null) {
|
||||
try (InputStream input = assets.open("public/content/bootstrap-manifest.json")) {
|
||||
ByteArrayOutputStream output = new ByteArrayOutputStream();
|
||||
byte[] buffer = new byte[16384];
|
||||
int count;
|
||||
while ((count = input.read(buffer)) != -1) output.write(buffer, 0, count);
|
||||
files = new JSONObject(output.toString("UTF-8")).getJSONObject("files");
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
WebResourceResponse intercept(WebResourceRequest request) {
|
||||
if (!"GET".equals(request.getMethod()) || !bridge.getHost().equals(request.getUrl().getAuthority())
|
||||
|| !bridge.getScheme().equals(request.getUrl().getScheme())) return null;
|
||||
String path = request.getUrl().getPath();
|
||||
if (path == null || !(path.startsWith("/assets/") || path.startsWith("/basis/") || path.startsWith("/data/"))) return null;
|
||||
try {
|
||||
JSONObject entry = files().optJSONObject(path);
|
||||
if (entry == null) return null;
|
||||
JSONObject download = entry.optJSONObject("download");
|
||||
String objectUrl = (download == null ? entry : download).getString("url");
|
||||
if (!objectUrl.matches("/content/bundled/[a-f0-9]{64}\\.[a-z0-9]+(?:\\.g(?:z|zip))?")) return null;
|
||||
InputStream input = assets.open("public" + objectUrl);
|
||||
if (download != null) {
|
||||
try { input = new GZIPInputStream(input, 128 * 1024); }
|
||||
catch (Exception error) { input.close(); throw error; }
|
||||
}
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("Content-Length", String.valueOf(entry.getLong("bytes")));
|
||||
headers.put("Cache-Control", "public, max-age=3600");
|
||||
return new WebResourceResponse(mimeType(path), null, 200, "OK", headers, input);
|
||||
} catch (Exception error) {
|
||||
return new WebResourceResponse("text/plain", "UTF-8", 500, "Bundled asset unavailable", new HashMap<>(),
|
||||
new ByteArrayInputStream("Bundled asset unavailable.".getBytes(StandardCharsets.UTF_8)));
|
||||
}
|
||||
}
|
||||
|
||||
private static String mimeType(String path) {
|
||||
String extension = path.substring(path.lastIndexOf('.') + 1);
|
||||
switch (extension) {
|
||||
case "glb": return "model/gltf-binary";
|
||||
case "json": return "application/json";
|
||||
case "js": return "text/javascript";
|
||||
case "wasm": return "application/wasm";
|
||||
case "ktx2": return "image/ktx2";
|
||||
case "png": return "image/png";
|
||||
case "webp": return "image/webp";
|
||||
case "avif": return "image/avif";
|
||||
case "svg": return "image/svg+xml";
|
||||
case "mp3": return "audio/mpeg";
|
||||
case "ogg": return "audio/ogg";
|
||||
case "wav": return "audio/wav";
|
||||
case "webm": return "video/webm";
|
||||
default: return "application/octet-stream";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,10 @@ import com.getcapacitor.Plugin;
|
||||
import com.getcapacitor.PluginCall;
|
||||
import com.getcapacitor.PluginMethod;
|
||||
import com.getcapacitor.annotation.CapacitorPlugin;
|
||||
import com.getcapacitor.BridgeWebViewClient;
|
||||
import android.webkit.WebResourceRequest;
|
||||
import android.webkit.WebResourceResponse;
|
||||
import android.webkit.WebView;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
@@ -20,6 +24,7 @@ import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.security.MessageDigest;
|
||||
import java.util.Locale;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
/** Streams verified, resumable content objects into Android app-private storage. */
|
||||
@CapacitorPlugin(name = "ContentStorage")
|
||||
@@ -27,6 +32,18 @@ public class ContentStoragePlugin extends Plugin {
|
||||
private static final int BUFFER_BYTES = 128 * 1024;
|
||||
private static final long PROGRESS_INTERVAL_MS = 200L;
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
BundledContentAssets bundled = new BundledContentAssets(bridge);
|
||||
bridge.setWebViewClient(new BridgeWebViewClient(bridge) {
|
||||
@Override
|
||||
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
|
||||
WebResourceResponse response = bundled.intercept(request);
|
||||
return response != null ? response : super.shouldInterceptRequest(view, request);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@PluginMethod
|
||||
public void download(PluginCall call) {
|
||||
execute(() -> {
|
||||
@@ -36,6 +53,10 @@ public class ContentStoragePlugin extends Plugin {
|
||||
String sha256 = normalizedSha(requiredString(call, "sha256"));
|
||||
String extension = normalizedExtension(requiredString(call, "extension"));
|
||||
long expectedBytes = numericLong(call, "bytes", -1L);
|
||||
boolean compressed = "gzip".equals(call.getString("encoding"));
|
||||
String transferSha = compressed ? normalizedSha(requiredString(call, "downloadSha256")) : sha256;
|
||||
long transferBytes = compressed ? numericLong(call, "downloadBytes", -1L) : expectedBytes;
|
||||
if (expectedBytes < 0 || transferBytes < 0) throw new IllegalArgumentException("Missing content size.");
|
||||
validateRemoteUrl(url);
|
||||
|
||||
File destination = objectFile(sha256, extension);
|
||||
@@ -47,54 +68,89 @@ public class ContentStoragePlugin extends Plugin {
|
||||
throw new IllegalStateException("Unable to replace invalid cached content.");
|
||||
}
|
||||
|
||||
File partial = new File(destination.getParentFile(), destination.getName() + ".part");
|
||||
long existingBytes = partial.isFile() ? partial.length() : 0L;
|
||||
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
|
||||
connection.setConnectTimeout(15_000);
|
||||
connection.setReadTimeout(45_000);
|
||||
connection.setRequestProperty("Accept-Encoding", "identity");
|
||||
if (existingBytes > 0L) connection.setRequestProperty("Range", "bytes=" + existingBytes + "-");
|
||||
int status = connection.getResponseCode();
|
||||
boolean resumed = existingBytes > 0L && status == HttpURLConnection.HTTP_PARTIAL;
|
||||
if (status != HttpURLConnection.HTTP_OK && status != HttpURLConnection.HTTP_PARTIAL) {
|
||||
connection.disconnect();
|
||||
throw new IllegalStateException("Content server returned HTTP " + status + ".");
|
||||
}
|
||||
if (!resumed) existingBytes = 0L;
|
||||
long downloadedBytes = existingBytes;
|
||||
long totalBytes = expectedBytes > 0L
|
||||
? expectedBytes
|
||||
: existingBytes + Math.max(0L, connection.getContentLengthLong());
|
||||
long lastProgressAt = 0L;
|
||||
|
||||
try (
|
||||
InputStream input = new BufferedInputStream(connection.getInputStream(), BUFFER_BYTES);
|
||||
BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(partial, resumed), BUFFER_BYTES)
|
||||
) {
|
||||
byte[] buffer = new byte[BUFFER_BYTES];
|
||||
int count;
|
||||
while ((count = input.read(buffer)) != -1) {
|
||||
output.write(buffer, 0, count);
|
||||
downloadedBytes += count;
|
||||
long now = System.currentTimeMillis();
|
||||
if (now - lastProgressAt >= PROGRESS_INTERVAL_MS) {
|
||||
notifyProgress(logicalPath, downloadedBytes, totalBytes);
|
||||
lastProgressAt = now;
|
||||
File partial = new File(destination.getParentFile(), destination.getName() + (compressed ? "." + transferSha + ".gz" : "") + ".part");
|
||||
if (!verifies(partial, transferSha, transferBytes)) {
|
||||
if (partial.isFile() && partial.length() >= transferBytes && !partial.delete()) {
|
||||
throw new IllegalStateException("Unable to reset an invalid partial download.");
|
||||
}
|
||||
long existingBytes = partial.isFile() ? partial.length() : 0L;
|
||||
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
|
||||
connection.setConnectTimeout(15_000);
|
||||
connection.setReadTimeout(45_000);
|
||||
connection.setRequestProperty("Accept-Encoding", "identity");
|
||||
if (existingBytes > 0L) connection.setRequestProperty("Range", "bytes=" + existingBytes + "-");
|
||||
int status = connection.getResponseCode();
|
||||
boolean resumed = existingBytes > 0L && status == HttpURLConnection.HTTP_PARTIAL;
|
||||
if (status != HttpURLConnection.HTTP_OK && status != HttpURLConnection.HTTP_PARTIAL) {
|
||||
connection.disconnect();
|
||||
throw new IllegalStateException("Content server returned HTTP " + status + ".");
|
||||
}
|
||||
if (status == HttpURLConnection.HTTP_PARTIAL) {
|
||||
String range = connection.getHeaderField("Content-Range");
|
||||
if (!resumed || range == null || !range.startsWith("bytes " + existingBytes + "-")) {
|
||||
connection.disconnect();
|
||||
partial.delete();
|
||||
throw new IllegalStateException("Content server returned an invalid resume range.");
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
connection.disconnect();
|
||||
}
|
||||
notifyProgress(logicalPath, downloadedBytes, totalBytes);
|
||||
if (!resumed) existingBytes = 0L;
|
||||
long downloadedBytes = existingBytes;
|
||||
long totalBytes = transferBytes > 0L
|
||||
? transferBytes
|
||||
: existingBytes + Math.max(0L, connection.getContentLengthLong());
|
||||
long lastProgressAt = 0L;
|
||||
|
||||
if (!verifies(partial, sha256, expectedBytes)) {
|
||||
try (
|
||||
InputStream input = new BufferedInputStream(connection.getInputStream(), BUFFER_BYTES);
|
||||
BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(partial, resumed), BUFFER_BYTES)
|
||||
) {
|
||||
byte[] buffer = new byte[BUFFER_BYTES];
|
||||
int count;
|
||||
while ((count = input.read(buffer)) != -1) {
|
||||
output.write(buffer, 0, count);
|
||||
downloadedBytes += count;
|
||||
if (downloadedBytes > transferBytes) throw new IllegalStateException("Downloaded content exceeds expected size.");
|
||||
long now = System.currentTimeMillis();
|
||||
if (now - lastProgressAt >= PROGRESS_INTERVAL_MS) {
|
||||
notifyProgress(logicalPath, downloadedBytes, totalBytes);
|
||||
lastProgressAt = now;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
connection.disconnect();
|
||||
}
|
||||
notifyProgress(logicalPath, downloadedBytes, totalBytes);
|
||||
}
|
||||
|
||||
if (!verifies(partial, transferSha, transferBytes)) {
|
||||
partial.delete();
|
||||
throw new IllegalStateException("Downloaded content failed SHA-256 or size verification.");
|
||||
}
|
||||
File verified = partial;
|
||||
if (compressed) {
|
||||
verified = new File(destination.getParentFile(), destination.getName() + ".decoded");
|
||||
try (InputStream input = new GZIPInputStream(new FileInputStream(partial), BUFFER_BYTES);
|
||||
BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(verified), BUFFER_BYTES)) {
|
||||
byte[] buffer = new byte[BUFFER_BYTES];
|
||||
long decodedBytes = 0;
|
||||
int count;
|
||||
while ((count = input.read(buffer)) != -1) {
|
||||
decodedBytes += count;
|
||||
if (decodedBytes > expectedBytes) throw new IllegalStateException("Expanded content exceeds expected size.");
|
||||
output.write(buffer, 0, count);
|
||||
}
|
||||
} catch (Exception error) { verified.delete(); throw error; }
|
||||
if (!verifies(verified, sha256, expectedBytes)) {
|
||||
verified.delete();
|
||||
partial.delete();
|
||||
throw new IllegalStateException("Expanded content failed SHA-256 or size verification.");
|
||||
}
|
||||
partial.delete();
|
||||
}
|
||||
if (destination.exists() && !destination.delete()) {
|
||||
throw new IllegalStateException("Unable to activate downloaded content.");
|
||||
}
|
||||
if (!partial.renameTo(destination)) {
|
||||
if (!verified.renameTo(destination)) {
|
||||
throw new IllegalStateException("Unable to atomically activate downloaded content.");
|
||||
}
|
||||
call.resolve(fileResult(destination, false));
|
||||
|
||||
@@ -100,6 +100,8 @@ public abstract class ControllerBridgeActivity extends BridgeActivity {
|
||||
addAxisTokens(currentTokens, event.getAxisValue(MotionEvent.AXIS_HAT_Y), "Button12", "Button13");
|
||||
addAxisTokens(currentTokens, leftStickX, "Axis0-", "Axis0+");
|
||||
addAxisTokens(currentTokens, leftStickY, "Axis1-", "Axis1+");
|
||||
addAxisTokens(currentTokens, rightStickX, "Axis2-", "Axis2+");
|
||||
addAxisTokens(currentTokens, rightStickY, "Axis3-", "Axis3+");
|
||||
addPositiveAxisToken(currentTokens, positiveControllerAxisValue(event, MotionEvent.AXIS_LTRIGGER, MotionEvent.AXIS_BRAKE), "Button6");
|
||||
addPositiveAxisToken(currentTokens, positiveControllerAxisValue(event, MotionEvent.AXIS_RTRIGGER, MotionEvent.AXIS_GAS), "Button7");
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ public class ThorDualScreenPlugin extends Plugin implements DisplayManager.Displ
|
||||
webView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
|
||||
return bridge.getLocalServer().shouldInterceptRequest(request);
|
||||
return bridge.getWebViewClient().shouldInterceptRequest(view, request);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# Lossless game content packaging
|
||||
|
||||
`npm run web:prepare` and `npm run android:prepare` include exactly five packs:
|
||||
`core:ui`, `core:equipment`, `core:character-basic`, `core:runtime`, and
|
||||
`dungeon:wailing-caverns`. The complete publication catalog retains all 54
|
||||
regular dungeons. Internal `manastorm:*` environment packs remain dependency
|
||||
targets for the 53 regular dungeons that reuse those maps, but they and
|
||||
`core:arenas` are hidden from the Downloads screen.
|
||||
|
||||
The staging directories contain one object per original SHA-256 and extension
|
||||
under `content/bundled`. Gzip is used only when it saves space. The packager
|
||||
expands each compressed object and compares every byte with its source before
|
||||
writing the bootstrap catalog. Source GLBs, texture resolutions, animations,
|
||||
and audio are unchanged. No media is generated by this pipeline.
|
||||
|
||||
Compressed objects end in `.gzip`, not `.gz`: Android's asset packager expands
|
||||
and renames `.gz` inputs. The `.gzip` extension is explicitly stored without
|
||||
additional ZIP compression so the manifest and APK preserve identical bytes.
|
||||
|
||||
Each logical asset keeps its original byte count and SHA-256 in the manifest.
|
||||
An optional `download` record describes its gzip representation, including a
|
||||
separate compressed hash and byte count. The schema remains compatible with
|
||||
existing catalogs. Remote publishing retains original objects for older apps;
|
||||
new clients prefer the compressed representation and verify both hashes.
|
||||
|
||||
The Node server and Vite preview middleware resolve bundled logical URLs on
|
||||
first launch. The browser service worker does the same after activation and
|
||||
persists each immutable bootstrap object by hash after its first use.
|
||||
Android streams bundled gzip through its WebView asset handler, including the
|
||||
companion display, without writing an expanded copy to app storage. Deploy the
|
||||
browser build with the project's Node server so first-launch asset aliases work.
|
||||
|
||||
Browser optional installs store compressed objects once and keep small logical
|
||||
aliases. Legacy uncompressed cache entries remain readable. Removing a pack
|
||||
removes an object only after its last installed reference is gone. Android
|
||||
optional downloads resume the compressed transfer, verify it, expand and verify
|
||||
the original, and atomically activate the existing shared native object file.
|
||||
|
||||
`content/storage-report.json` inside each staging/build directory records actual
|
||||
unique object bytes and duplicate savings. These are packaged asset sizes, not
|
||||
GPU memory estimates. Optional Android downloads occupy their expanded size;
|
||||
bundled Android assets stay compressed inside the APK.
|
||||
|
||||
Normal release verification rejects unexpected bootstrap packs, more than 80
|
||||
MiB of stored bootstrap objects, arena assets, and shelved client modules.
|
||||
Eligible JavaScript, CSS, and JSON responses are precompressed with Brotli and
|
||||
gzip; hashed Vite files and bundled content objects use immutable one-year
|
||||
caching, while HTML, service workers, and manifests revalidate.
|
||||
|
||||
Validation: `npm run content:test`, the content/avatar Vitest suites, the
|
||||
bundled-content server tests, `npm run build`, Android compilation, and a live
|
||||
roster plus dungeon screenshot check. Run `npm run release:check` before handoff.
|
||||
Android build commands also run `scripts/content/verify-android-package.py`
|
||||
against the resulting APK, checking every stored object and every original hash.
|
||||
@@ -1,8 +1,17 @@
|
||||
# Five-player dungeon import checklist
|
||||
|
||||
Each dungeon is complete only when its actual instance environment, collision,
|
||||
This checklist tracks the native asset and population import, not complete
|
||||
instance gameplay. A checked dungeon has its environment, collision,
|
||||
navigation, AzerothCore population, boss roster, and native animated creature
|
||||
models are packaged under `public/assets/game/dungeons/<slug>/`.
|
||||
models packaged under `public/assets/game/dungeons/<slug>/`. Use
|
||||
`WOW_DUNGEON_FUNCTIONALITY_REPORT.md` for the separate production-fidelity gate
|
||||
covering doors, objects, scripted progression, waves, escorts, vehicles,
|
||||
traversal, resets, checkpoints, and completion playtests.
|
||||
|
||||
Instance-source review status (2026-09-08): 54/54 reviewed, 51/54 backed by an
|
||||
executable instance controller, and 3/54 pinned as source-exact no-op instance
|
||||
scripts. These counts describe implemented runtime coverage; they do not close
|
||||
the native game-object export or end-to-end playtest gates.
|
||||
|
||||
Run one dungeon at a time:
|
||||
|
||||
@@ -88,24 +97,28 @@ TypeScript/production bundle checks passed.
|
||||
|
||||
## Ascension-specific five-player instances
|
||||
|
||||
- [ ] Tinkertech Showdown (`821`) - blocked on authoritative Ascension server
|
||||
population/model data. Encounter identity exists for Mechatron (`663012`),
|
||||
but no creature template, display mapping, or spawn rows exist locally.
|
||||
- [ ] Frozen Reach (`908`) - blocked on authoritative Ascension server
|
||||
population/model data. Encounter identity exists for Alva (`97700`), but no
|
||||
creature template, display mapping, or spawn rows exist locally.
|
||||
- [ ] Forgotten Mine (`1781`) - blocked on authoritative Ascension server
|
||||
population/model data. Encounter identity exists for Geolord Vek (`254272`),
|
||||
but no creature template, display mapping, or spawn rows exist locally.
|
||||
- [ ] Tinkertech Showdown (`821`) - playable HealerMan-authored adaptation.
|
||||
Mechatron (`663012`) and the environment are exact; the candidate machine
|
||||
spell cluster, trash, cadence, positions, models, and phase rules remain
|
||||
explicitly authored because no server binding or spawn snapshot survived.
|
||||
- [ ] Frozen Reach (`908`) - playable source-backed adaptation. Alva (`97700`),
|
||||
Arktos (`97701`), 85 exact spell rows, and summon links for entries `97703`,
|
||||
`97731`, and `97770` were recovered. Server cadence, positions, stats,
|
||||
models, targeting, and exact phase behavior remain authored.
|
||||
- [ ] Forgotten Mine (`1781`) - playable source-backed adaptation. Geolord Vek
|
||||
(`254272`), 33 exact spell rows, Geospike (`254278`), and Resonite Shard
|
||||
(`254051`) were recovered. Server cadence, positions, trash, models, and the
|
||||
exact crystal rule remain authored.
|
||||
|
||||
The individual command has been run for all three blocked instances. Their maps
|
||||
and encounter identities are present in the installed client, but the installed
|
||||
client and available creature caches do not provide the server-only
|
||||
entry-to-display and spawn data needed to package their actual mobs/bosses.
|
||||
They intentionally remain on the documented procedural fallback until an
|
||||
Ascension server snapshot or reviewed creature/spawn export is supplied.
|
||||
The individual import command has been run for all three source-limited
|
||||
instances. Their checksummed recovery manifest lives under `ascension/` and is
|
||||
validated by `npm run dungeon:ascension:recovery:validate`. Runtime adapters
|
||||
consume the recovered evidence while retaining explicit `source-backed-adapted`
|
||||
or `healer-man-authored` labels. The checklist remains open until an
|
||||
authoritative Ascension creature/spawn/object/server-script snapshot and native
|
||||
display mappings replace the remaining authored portions.
|
||||
|
||||
## Per-dungeon completion gate
|
||||
## Per-dungeon asset/import gate
|
||||
|
||||
These gates passed for every checked dungeon above:
|
||||
|
||||
@@ -116,3 +129,7 @@ These gates passed for every checked dungeon above:
|
||||
- [x] Boss order, entrance, and coordinates reviewed.
|
||||
- [x] Generated campaign catalog points at `/assets/game/dungeons/<slug>/`.
|
||||
- [x] Catalog verification, tests, type-check, and production bundle pass.
|
||||
|
||||
These checks do not certify instance-script behavior. A dungeon remains
|
||||
functionally incomplete until its entry in `WOW_DUNGEON_FUNCTIONALITY_REPORT.md`
|
||||
is green.
|
||||
+54
-15
@@ -92,8 +92,10 @@ whose preserved source has no recoverable combat ability is explicitly marked
|
||||
|
||||
Stock AzerothCore population is used for the standard dungeons. The three
|
||||
Ascension-specific instances—Tinkertech Showdown, Frozen Reach, and Forgotten
|
||||
Mine—keep their client encounter identities and use an explicit procedural
|
||||
trash-population fallback. Non-Epoch recipes keep explicit procedural actor
|
||||
Mine—keep their recovered client identities, spell/summon evidence where
|
||||
available, and explicit source-backed or HealerMan-authored runtime adaptations.
|
||||
Their remaining procedural population is never labeled authoritative.
|
||||
Non-Epoch recipes keep explicit procedural actor
|
||||
bodies until reviewed display exports are available. Epoch actors use packaged
|
||||
client GLBs with their complete native animation libraries; only event-only
|
||||
controllers without a creature display fall back.
|
||||
@@ -160,10 +162,13 @@ The audit verifies the complete 54-dungeon catalog, authoritative/fallback
|
||||
classification, every native environment and creature URL, file sizes,
|
||||
checksums, animation presence, and compiled entry-to-model bindings. The
|
||||
2026-07-26 batch packaged 50 native imports; together with the Wailing Caverns
|
||||
golden fixture, 51/54 dungeons are authoritative. Tinkertech Showdown, Frozen
|
||||
Reach, and Forgotten Mine remain documented fallbacks because available local
|
||||
sources contain their maps and encounter identities but no authoritative
|
||||
Ascension creature templates, display mappings, or spawn rows.
|
||||
golden fixture, 51/54 dungeons have authoritative WoW population packages.
|
||||
Tinkertech Showdown, Frozen Reach, and Forgotten Mine now have playable,
|
||||
provenance-labeled runtime adaptations backed by
|
||||
`ascension/ASCENSION_CUSTOM_DUNGEON_RECOVERY.json`. They remain outside the
|
||||
authoritative package count because the recovered client evidence does not
|
||||
include complete Ascension creature templates, display mappings, spawn/object
|
||||
coordinates, or server-side cadence.
|
||||
|
||||
1. `npm run dungeon:discover -- <slug>` writes deterministic client/server
|
||||
snapshots, a provenance lock, review-required overrides, and—when server
|
||||
@@ -224,9 +229,14 @@ The default pass recompiles the 54-dungeon campaign, verifies all packaged
|
||||
environment and creature assets, audits every mob and boss attack/mechanic,
|
||||
opens every unique native creature GLB to verify idle, movement, attack, wound,
|
||||
and death clips, proves the procedural animation path for model-less actors,
|
||||
and runs the actual runtime-registry coverage test. It writes deterministic
|
||||
JSON and Markdown reports to WOW_DUNGEON_CONTENT_REPORT.json and
|
||||
WOW_DUNGEON_CONTENT_REPORT.md.
|
||||
runs the actual runtime-registry coverage test, and audits instance-level
|
||||
functionality. It writes deterministic JSON and Markdown reports to
|
||||
WOW_DUNGEON_CONTENT_REPORT.json, WOW_DUNGEON_CONTENT_REPORT.md,
|
||||
WOW_DUNGEON_FUNCTIONALITY_REPORT.json, and
|
||||
WOW_DUNGEON_FUNCTIONALITY_REPORT.md. Catalog compilation also writes
|
||||
WOW_GAMEOBJECT_ASSET_MANIFEST.json, which deduplicates the source-backed object
|
||||
spawns by client model path, preserves per-dungeon/display usage, assigns the
|
||||
planned shipping GLB URL, and lists unresolved display models and bounds.
|
||||
|
||||
Useful batch options:
|
||||
|
||||
@@ -239,11 +249,40 @@ Useful batch options:
|
||||
# Re-run green packages, then build the app after validation.
|
||||
npm run dungeon:wow:all -- --refresh --force --build
|
||||
|
||||
# Only re-run combat, mechanic, and animation coverage against current output.
|
||||
# Re-run combat, animation, and instance-functionality audits against current output.
|
||||
npm run dungeon:wow:all -- --audit-only
|
||||
|
||||
Kresh is intentionally recorded as a source-faithful melee-only boss: entry
|
||||
3653 has no spell or SmartAI row in the pinned AzerothCore snapshot. Trial of
|
||||
the Champion is likewise documented as a boss-arena population rather than a
|
||||
trash route. These exceptions are asserted by exact dungeon/entity IDs; any
|
||||
new basic-only boss or mob-less dungeon fails the batch.
|
||||
The functionality report is the production-fidelity gate. It separately checks
|
||||
typed world-object contracts, source instance scripts, encounter orchestration,
|
||||
required interactions, traversal evidence, resets, checkpoints, and completion
|
||||
playtests. A green asset or combat audit does not imply that doors, escorts,
|
||||
waves, vehicles, keys, chests, or scripted instance progression are implemented.
|
||||
The report fails closed and lists concrete edit targets for every remaining
|
||||
dungeon gap.
|
||||
|
||||
The 2026-09-08 implementation sweep completed an instance-level source review
|
||||
for all 54 campaign dungeons. Fifty-one now have runtime-wired reviewed
|
||||
orchestration in addition to fleet boss/checkpoint/completion declarations; the
|
||||
three stock instance scripts that are genuinely empty are pinned and recorded
|
||||
as source-exact no-ops. This means there is no remaining unreviewed instance
|
||||
script, not that every source feature is already exact or live-traversal validated. Per-dungeon adaptations,
|
||||
missing primitives, native-object export work, and live traversal evidence stay
|
||||
open in `WOW_DUNGEON_FUNCTIONALITY_REPORT.md`.
|
||||
|
||||
Source-backed object records stay hidden, non-blocking, and non-interactive
|
||||
until their manifest asset has been exported and the corresponding instance
|
||||
script transition has been reviewed. This lets the typed data ship through the
|
||||
runtime contract without leaking placeholder geometry or turning an incomplete
|
||||
door/transport port into a dungeon soft lock.
|
||||
|
||||
Kresh, the Deviate Faerie Dragon, Grubbis, Spirestone Battle Lord, Spirestone
|
||||
Butcher, and Crystal Fang are intentionally recorded as source-faithful
|
||||
melee-only bosses. Kresh entry 3653 and the Deviate Faerie Dragon entry 5912
|
||||
have no spell or SmartAI row in the pinned AzerothCore snapshot; the latter is
|
||||
also despawned by the Wailing Caverns initialization event. Grubbis entry 7361
|
||||
has only aggro dialogue and death-completion rows, with no combat spell cast.
|
||||
The three Blackrock Spire entries are 15% rare spawns whose database rows
|
||||
contain no active combat cast; Crystal Fang's exact on-death Spire Spiderling
|
||||
summon is implemented by the reviewed instance adapter. One shared exception
|
||||
table supplies the runtime test and composed-content audit; stale, duplicate,
|
||||
or newly introduced basic-only boss keys fail the batch.
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"status": "green",
|
||||
"scope": "HealerMan WoW five-player campaign",
|
||||
"scope": "HealerMan WoW five-player combat and animation coverage",
|
||||
"summary": {
|
||||
"dungeons": 54,
|
||||
"mobs": 1031,
|
||||
"bosses": 253,
|
||||
"attacks": 2953,
|
||||
"specialAttacks": 1669,
|
||||
"nativeModels": 1266,
|
||||
"proceduralModels": 18,
|
||||
"uniqueNativeModels": 1166,
|
||||
"nativeStateFallbacks": 16
|
||||
"mobs": 1193,
|
||||
"bosses": 273,
|
||||
"attacks": 4026,
|
||||
"specialAttacks": 2572,
|
||||
"nativeModels": 1275,
|
||||
"proceduralModels": 191,
|
||||
"uniqueNativeModels": 1167,
|
||||
"nativeStateFallbacks": 18
|
||||
},
|
||||
"documentedExceptions": [
|
||||
{
|
||||
"type": "basic-only-boss",
|
||||
"key": "wailing-caverns:entry-3653",
|
||||
"key": "wailing-caverns:kresh",
|
||||
"reason": "Kresh is melee-only in the pinned AzerothCore snapshot; the historical server has no spell or SmartAI row for entry 3653."
|
||||
},
|
||||
{
|
||||
@@ -25,9 +25,24 @@
|
||||
"reason": "The server-faithful rare entry 5912 has no spell rows and is despawned by the Wailing Caverns initialization event."
|
||||
},
|
||||
{
|
||||
"type": "no-trash-instance",
|
||||
"key": "trial-of-the-champion",
|
||||
"reason": "Trial of the Champion is an encounter arena; its imported combat population is the five Grand Champion bosses, not a trash route."
|
||||
"type": "basic-only-boss",
|
||||
"key": "gnomeregan:wow-classic-batch-three-entry-7361",
|
||||
"reason": "Grubbis is melee-only in the pinned AzerothCore snapshot; entry 7361 has aggro dialogue and instance-completion rows but no combat spell cast."
|
||||
},
|
||||
{
|
||||
"type": "basic-only-boss",
|
||||
"key": "blackrock-spire:entry-9218",
|
||||
"reason": "Spirestone Battle Lord is a 15% rare spawn in the pinned database and has no combat spell cast beyond its basic melee attack."
|
||||
},
|
||||
{
|
||||
"type": "basic-only-boss",
|
||||
"key": "blackrock-spire:entry-9219",
|
||||
"reason": "Spirestone Butcher is a 15% rare spawn in the pinned database and has no combat spell cast beyond its basic melee attack."
|
||||
},
|
||||
{
|
||||
"type": "basic-only-boss",
|
||||
"key": "blackrock-spire:entry-10376",
|
||||
"reason": "Crystal Fang is a 15% rare spawn with no active combat spell in the pinned database; its exact on-death Spire Spiderling summon is implemented by the instance adapter."
|
||||
}
|
||||
],
|
||||
"animationFallbacks": [
|
||||
@@ -47,6 +62,14 @@
|
||||
],
|
||||
"renderer": "OriginalCreatureModel combat fallback"
|
||||
},
|
||||
{
|
||||
"url": "/assets/game/dungeons/dire-maul/creatures/display-14430-animated.glb",
|
||||
"state": "move",
|
||||
"users": [
|
||||
"dire-maul:entry-14386"
|
||||
],
|
||||
"renderer": "AnimatedMobBody locomotion fallback"
|
||||
},
|
||||
{
|
||||
"url": "/assets/game/dungeons/dire-maul/creatures/display-14430-animated.glb",
|
||||
"state": "attack",
|
||||
@@ -56,7 +79,15 @@
|
||||
"renderer": "OriginalCreatureModel combat fallback"
|
||||
},
|
||||
{
|
||||
"url": "/assets/game/creatures/shared/2fbb8d2226a7fdf3e9a7af13568f6bb46cb1b27afc008732832b9fd42c2e510e.glb",
|
||||
"url": "/assets/game/dungeons/dire-maul/creatures/display-14430-animated.glb",
|
||||
"state": "wound",
|
||||
"users": [
|
||||
"dire-maul:entry-14386"
|
||||
],
|
||||
"renderer": "OriginalCreatureModel combat fallback"
|
||||
},
|
||||
{
|
||||
"url": "/assets/game/creatures/shared/52c8b3aea63f21f8e98ad84eaf601f2918d1df17a05525d41f5b3e17da53c8ff.glb",
|
||||
"state": "wound",
|
||||
"users": [
|
||||
"steamvault:entry-21694",
|
||||
@@ -164,14 +195,26 @@
|
||||
],
|
||||
"issues": [],
|
||||
"dungeons": [
|
||||
{
|
||||
"id": "wailing-caverns",
|
||||
"title": "Wailing Caverns",
|
||||
"source": "azerothcore",
|
||||
"mobs": 23,
|
||||
"bosses": 9,
|
||||
"attacks": 72,
|
||||
"specialAttacks": 40,
|
||||
"nativeModels": 24,
|
||||
"proceduralModels": 8,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "shadowfang-keep",
|
||||
"title": "Shadowfang Keep",
|
||||
"source": "azerothcore",
|
||||
"mobs": 24,
|
||||
"bosses": 7,
|
||||
"attacks": 58,
|
||||
"specialAttacks": 27,
|
||||
"attacks": 65,
|
||||
"specialAttacks": 34,
|
||||
"nativeModels": 31,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -182,8 +225,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 6,
|
||||
"bosses": 5,
|
||||
"attacks": 32,
|
||||
"specialAttacks": 21,
|
||||
"attacks": 42,
|
||||
"specialAttacks": 31,
|
||||
"nativeModels": 11,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -194,32 +237,20 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 15,
|
||||
"bosses": 7,
|
||||
"attacks": 48,
|
||||
"specialAttacks": 26,
|
||||
"attacks": 55,
|
||||
"specialAttacks": 33,
|
||||
"nativeModels": 22,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "wailing-caverns",
|
||||
"title": "Wailing Caverns",
|
||||
"source": "azerothcore",
|
||||
"mobs": 12,
|
||||
"bosses": 8,
|
||||
"attacks": 51,
|
||||
"specialAttacks": 31,
|
||||
"nativeModels": 15,
|
||||
"proceduralModels": 5,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "razorfen-kraul",
|
||||
"title": "Razorfen Kraul",
|
||||
"source": "azerothcore",
|
||||
"mobs": 31,
|
||||
"bosses": 7,
|
||||
"attacks": 78,
|
||||
"specialAttacks": 40,
|
||||
"attacks": 87,
|
||||
"specialAttacks": 49,
|
||||
"nativeModels": 38,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -228,12 +259,12 @@
|
||||
"id": "blackfathom-deeps",
|
||||
"title": "Blackfathom Deeps",
|
||||
"source": "azerothcore",
|
||||
"mobs": 21,
|
||||
"mobs": 23,
|
||||
"bosses": 6,
|
||||
"attacks": 58,
|
||||
"specialAttacks": 31,
|
||||
"attacks": 67,
|
||||
"specialAttacks": 38,
|
||||
"nativeModels": 27,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -242,8 +273,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 31,
|
||||
"bosses": 7,
|
||||
"attacks": 85,
|
||||
"specialAttacks": 47,
|
||||
"attacks": 104,
|
||||
"specialAttacks": 66,
|
||||
"nativeModels": 38,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -252,36 +283,36 @@
|
||||
"id": "gnomeregan",
|
||||
"title": "Gnomeregan",
|
||||
"source": "azerothcore",
|
||||
"mobs": 27,
|
||||
"bosses": 4,
|
||||
"attacks": 68,
|
||||
"specialAttacks": 37,
|
||||
"mobs": 28,
|
||||
"bosses": 5,
|
||||
"attacks": 84,
|
||||
"specialAttacks": 51,
|
||||
"nativeModels": 31,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "sunken-temple",
|
||||
"title": "Sunken Temple",
|
||||
"source": "azerothcore",
|
||||
"mobs": 29,
|
||||
"mobs": 31,
|
||||
"bosses": 4,
|
||||
"attacks": 86,
|
||||
"specialAttacks": 53,
|
||||
"attacks": 95,
|
||||
"specialAttacks": 60,
|
||||
"nativeModels": 33,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "razorfen-downs",
|
||||
"title": "Razorfen Downs",
|
||||
"source": "azerothcore",
|
||||
"mobs": 19,
|
||||
"mobs": 21,
|
||||
"bosses": 6,
|
||||
"attacks": 55,
|
||||
"specialAttacks": 30,
|
||||
"attacks": 65,
|
||||
"specialAttacks": 38,
|
||||
"nativeModels": 25,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -290,8 +321,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 32,
|
||||
"bosses": 5,
|
||||
"attacks": 89,
|
||||
"specialAttacks": 52,
|
||||
"attacks": 107,
|
||||
"specialAttacks": 70,
|
||||
"nativeModels": 37,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -300,60 +331,60 @@
|
||||
"id": "zulfarrak",
|
||||
"title": "Zul'Farrak",
|
||||
"source": "azerothcore",
|
||||
"mobs": 16,
|
||||
"mobs": 23,
|
||||
"bosses": 5,
|
||||
"attacks": 53,
|
||||
"specialAttacks": 32,
|
||||
"attacks": 76,
|
||||
"specialAttacks": 48,
|
||||
"nativeModels": 21,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 7,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "blackrock-spire",
|
||||
"title": "Blackrock Spire",
|
||||
"source": "azerothcore",
|
||||
"mobs": 63,
|
||||
"bosses": 15,
|
||||
"attacks": 210,
|
||||
"specialAttacks": 132,
|
||||
"mobs": 66,
|
||||
"bosses": 17,
|
||||
"attacks": 285,
|
||||
"specialAttacks": 202,
|
||||
"nativeModels": 78,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 5,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "blackrock-depths",
|
||||
"title": "Blackrock Depths",
|
||||
"source": "azerothcore",
|
||||
"mobs": 48,
|
||||
"mobs": 58,
|
||||
"bosses": 13,
|
||||
"attacks": 145,
|
||||
"specialAttacks": 84,
|
||||
"attacks": 192,
|
||||
"specialAttacks": 121,
|
||||
"nativeModels": 61,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 10,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "scholomance",
|
||||
"title": "Scholomance",
|
||||
"source": "azerothcore",
|
||||
"mobs": 30,
|
||||
"mobs": 31,
|
||||
"bosses": 8,
|
||||
"attacks": 115,
|
||||
"specialAttacks": 77,
|
||||
"attacks": 151,
|
||||
"specialAttacks": 112,
|
||||
"nativeModels": 38,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 1,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "stratholme",
|
||||
"title": "Stratholme",
|
||||
"source": "azerothcore",
|
||||
"mobs": 41,
|
||||
"mobs": 45,
|
||||
"bosses": 9,
|
||||
"attacks": 131,
|
||||
"specialAttacks": 81,
|
||||
"attacks": 180,
|
||||
"specialAttacks": 126,
|
||||
"nativeModels": 50,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -362,8 +393,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 25,
|
||||
"bosses": 8,
|
||||
"attacks": 83,
|
||||
"specialAttacks": 50,
|
||||
"attacks": 95,
|
||||
"specialAttacks": 62,
|
||||
"nativeModels": 33,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -374,8 +405,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 7,
|
||||
"bosses": 4,
|
||||
"attacks": 21,
|
||||
"specialAttacks": 10,
|
||||
"attacks": 23,
|
||||
"specialAttacks": 12,
|
||||
"nativeModels": 11,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -386,8 +417,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 63,
|
||||
"bosses": 12,
|
||||
"attacks": 184,
|
||||
"specialAttacks": 109,
|
||||
"attacks": 242,
|
||||
"specialAttacks": 167,
|
||||
"nativeModels": 75,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -398,8 +429,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 29,
|
||||
"bosses": 3,
|
||||
"attacks": 74,
|
||||
"specialAttacks": 42,
|
||||
"attacks": 92,
|
||||
"specialAttacks": 60,
|
||||
"nativeModels": 32,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -410,8 +441,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 14,
|
||||
"bosses": 3,
|
||||
"attacks": 44,
|
||||
"specialAttacks": 27,
|
||||
"attacks": 53,
|
||||
"specialAttacks": 36,
|
||||
"nativeModels": 17,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -420,12 +451,12 @@
|
||||
"id": "hellfire-ramparts",
|
||||
"title": "Hellfire Citadel: Ramparts",
|
||||
"source": "azerothcore",
|
||||
"mobs": 10,
|
||||
"bosses": 2,
|
||||
"attacks": 36,
|
||||
"specialAttacks": 24,
|
||||
"mobs": 11,
|
||||
"bosses": 4,
|
||||
"attacks": 47,
|
||||
"specialAttacks": 32,
|
||||
"nativeModels": 12,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -434,8 +465,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 14,
|
||||
"bosses": 3,
|
||||
"attacks": 50,
|
||||
"specialAttacks": 33,
|
||||
"attacks": 63,
|
||||
"specialAttacks": 46,
|
||||
"nativeModels": 17,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -444,48 +475,48 @@
|
||||
"id": "underbog",
|
||||
"title": "Coilfang: The Underbog",
|
||||
"source": "azerothcore",
|
||||
"mobs": 18,
|
||||
"mobs": 20,
|
||||
"bosses": 4,
|
||||
"attacks": 59,
|
||||
"specialAttacks": 37,
|
||||
"attacks": 82,
|
||||
"specialAttacks": 58,
|
||||
"nativeModels": 22,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "slave-pens",
|
||||
"title": "Coilfang: The Slave Pens",
|
||||
"source": "azerothcore",
|
||||
"mobs": 18,
|
||||
"bosses": 3,
|
||||
"attacks": 53,
|
||||
"specialAttacks": 32,
|
||||
"mobs": 21,
|
||||
"bosses": 4,
|
||||
"attacks": 66,
|
||||
"specialAttacks": 43,
|
||||
"nativeModels": 21,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "arcatraz",
|
||||
"title": "Tempest Keep: The Arcatraz",
|
||||
"source": "azerothcore",
|
||||
"mobs": 25,
|
||||
"mobs": 28,
|
||||
"bosses": 4,
|
||||
"attacks": 73,
|
||||
"specialAttacks": 44,
|
||||
"attacks": 108,
|
||||
"specialAttacks": 76,
|
||||
"nativeModels": 29,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "botanica",
|
||||
"title": "Tempest Keep: The Botanica",
|
||||
"source": "azerothcore",
|
||||
"mobs": 24,
|
||||
"mobs": 28,
|
||||
"bosses": 5,
|
||||
"attacks": 67,
|
||||
"specialAttacks": 38,
|
||||
"attacks": 89,
|
||||
"specialAttacks": 56,
|
||||
"nativeModels": 29,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -494,8 +525,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 14,
|
||||
"bosses": 3,
|
||||
"attacks": 45,
|
||||
"specialAttacks": 28,
|
||||
"attacks": 69,
|
||||
"specialAttacks": 52,
|
||||
"nativeModels": 17,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -506,8 +537,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 18,
|
||||
"bosses": 4,
|
||||
"attacks": 46,
|
||||
"specialAttacks": 24,
|
||||
"attacks": 67,
|
||||
"specialAttacks": 45,
|
||||
"nativeModels": 22,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -516,72 +547,72 @@
|
||||
"id": "sethekk-halls",
|
||||
"title": "Auchindoun: Sethekk Halls",
|
||||
"source": "azerothcore",
|
||||
"mobs": 14,
|
||||
"bosses": 2,
|
||||
"attacks": 39,
|
||||
"specialAttacks": 23,
|
||||
"mobs": 19,
|
||||
"bosses": 3,
|
||||
"attacks": 59,
|
||||
"specialAttacks": 37,
|
||||
"nativeModels": 16,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 6,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "mana-tombs",
|
||||
"title": "Auchindoun: Mana-Tombs",
|
||||
"source": "azerothcore",
|
||||
"mobs": 11,
|
||||
"bosses": 3,
|
||||
"attacks": 33,
|
||||
"specialAttacks": 19,
|
||||
"mobs": 12,
|
||||
"bosses": 4,
|
||||
"attacks": 50,
|
||||
"specialAttacks": 34,
|
||||
"nativeModels": 14,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "auchenai-crypts",
|
||||
"title": "Auchindoun: Auchenai Crypts",
|
||||
"source": "azerothcore",
|
||||
"mobs": 12,
|
||||
"bosses": 2,
|
||||
"attacks": 30,
|
||||
"specialAttacks": 16,
|
||||
"mobs": 13,
|
||||
"bosses": 3,
|
||||
"attacks": 48,
|
||||
"specialAttacks": 32,
|
||||
"nativeModels": 14,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "magisters-terrace",
|
||||
"title": "Magister's Terrace",
|
||||
"source": "azerothcore",
|
||||
"mobs": 15,
|
||||
"mobs": 23,
|
||||
"bosses": 3,
|
||||
"attacks": 33,
|
||||
"specialAttacks": 15,
|
||||
"attacks": 65,
|
||||
"specialAttacks": 39,
|
||||
"nativeModels": 18,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 8,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "black-morass",
|
||||
"title": "The Black Morass",
|
||||
"source": "azerothcore",
|
||||
"mobs": 4,
|
||||
"mobs": 13,
|
||||
"bosses": 3,
|
||||
"attacks": 20,
|
||||
"specialAttacks": 13,
|
||||
"attacks": 34,
|
||||
"specialAttacks": 18,
|
||||
"nativeModels": 7,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 9,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "escape-from-durnholde",
|
||||
"title": "The Escape From Durnholde",
|
||||
"source": "azerothcore",
|
||||
"mobs": 26,
|
||||
"mobs": 32,
|
||||
"bosses": 3,
|
||||
"attacks": 45,
|
||||
"specialAttacks": 16,
|
||||
"attacks": 59,
|
||||
"specialAttacks": 24,
|
||||
"nativeModels": 29,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 6,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -589,107 +620,107 @@
|
||||
"title": "Utgarde Keep",
|
||||
"source": "azerothcore",
|
||||
"mobs": 19,
|
||||
"bosses": 3,
|
||||
"attacks": 35,
|
||||
"specialAttacks": 13,
|
||||
"bosses": 6,
|
||||
"attacks": 55,
|
||||
"specialAttacks": 30,
|
||||
"nativeModels": 22,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "utgarde-pinnacle",
|
||||
"title": "Utgarde Pinnacle",
|
||||
"source": "azerothcore",
|
||||
"mobs": 13,
|
||||
"mobs": 19,
|
||||
"bosses": 4,
|
||||
"attacks": 32,
|
||||
"specialAttacks": 15,
|
||||
"attacks": 50,
|
||||
"specialAttacks": 27,
|
||||
"nativeModels": 17,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 6,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "the-nexus",
|
||||
"title": "The Nexus",
|
||||
"source": "azerothcore",
|
||||
"mobs": 21,
|
||||
"mobs": 24,
|
||||
"bosses": 5,
|
||||
"attacks": 50,
|
||||
"specialAttacks": 24,
|
||||
"attacks": 64,
|
||||
"specialAttacks": 35,
|
||||
"nativeModels": 26,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "the-oculus",
|
||||
"title": "The Oculus",
|
||||
"source": "azerothcore",
|
||||
"mobs": 8,
|
||||
"mobs": 17,
|
||||
"bosses": 4,
|
||||
"attacks": 27,
|
||||
"specialAttacks": 15,
|
||||
"attacks": 42,
|
||||
"specialAttacks": 21,
|
||||
"nativeModels": 12,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 9,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "culling-of-stratholme",
|
||||
"title": "The Culling of Stratholme",
|
||||
"source": "azerothcore",
|
||||
"mobs": 16,
|
||||
"mobs": 21,
|
||||
"bosses": 4,
|
||||
"attacks": 41,
|
||||
"specialAttacks": 21,
|
||||
"attacks": 49,
|
||||
"specialAttacks": 24,
|
||||
"nativeModels": 20,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 5,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "halls-of-stone",
|
||||
"title": "Halls of Stone",
|
||||
"source": "azerothcore",
|
||||
"mobs": 13,
|
||||
"mobs": 16,
|
||||
"bosses": 4,
|
||||
"attacks": 32,
|
||||
"specialAttacks": 15,
|
||||
"attacks": 45,
|
||||
"specialAttacks": 25,
|
||||
"nativeModels": 16,
|
||||
"proceduralModels": 1,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "draktharon-keep",
|
||||
"title": "Drak'Tharon Keep",
|
||||
"source": "azerothcore",
|
||||
"mobs": 18,
|
||||
"mobs": 20,
|
||||
"bosses": 4,
|
||||
"attacks": 38,
|
||||
"specialAttacks": 16,
|
||||
"attacks": 47,
|
||||
"specialAttacks": 23,
|
||||
"nativeModels": 22,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 2,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "azjol-nerub",
|
||||
"title": "Azjol-Nerub",
|
||||
"source": "azerothcore",
|
||||
"mobs": 10,
|
||||
"mobs": 18,
|
||||
"bosses": 3,
|
||||
"attacks": 25,
|
||||
"specialAttacks": 12,
|
||||
"attacks": 38,
|
||||
"specialAttacks": 17,
|
||||
"nativeModels": 13,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 8,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "halls-of-lightning",
|
||||
"title": "Halls of Lightning",
|
||||
"source": "azerothcore",
|
||||
"mobs": 16,
|
||||
"mobs": 19,
|
||||
"bosses": 4,
|
||||
"attacks": 35,
|
||||
"specialAttacks": 15,
|
||||
"attacks": 52,
|
||||
"specialAttacks": 29,
|
||||
"nativeModels": 20,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -698,8 +729,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 15,
|
||||
"bosses": 5,
|
||||
"attacks": 43,
|
||||
"specialAttacks": 23,
|
||||
"attacks": 53,
|
||||
"specialAttacks": 33,
|
||||
"nativeModels": 20,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -708,24 +739,24 @@
|
||||
"id": "violet-hold",
|
||||
"title": "Violet Hold",
|
||||
"source": "azerothcore",
|
||||
"mobs": 2,
|
||||
"mobs": 17,
|
||||
"bosses": 3,
|
||||
"attacks": 19,
|
||||
"specialAttacks": 14,
|
||||
"attacks": 39,
|
||||
"specialAttacks": 19,
|
||||
"nativeModels": 5,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 15,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "ahnkahet-old-kingdom",
|
||||
"title": "Ahn'kahet: The Old Kingdom",
|
||||
"source": "azerothcore",
|
||||
"mobs": 19,
|
||||
"mobs": 23,
|
||||
"bosses": 5,
|
||||
"attacks": 43,
|
||||
"specialAttacks": 19,
|
||||
"attacks": 64,
|
||||
"specialAttacks": 36,
|
||||
"nativeModels": 24,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -734,8 +765,8 @@
|
||||
"source": "azerothcore",
|
||||
"mobs": 11,
|
||||
"bosses": 2,
|
||||
"attacks": 21,
|
||||
"specialAttacks": 8,
|
||||
"attacks": 23,
|
||||
"specialAttacks": 10,
|
||||
"nativeModels": 13,
|
||||
"proceduralModels": 0,
|
||||
"status": "green"
|
||||
@@ -744,36 +775,36 @@
|
||||
"id": "trial-of-the-champion",
|
||||
"title": "Trial of the Champion",
|
||||
"source": "azerothcore",
|
||||
"mobs": 0,
|
||||
"bosses": 5,
|
||||
"attacks": 22,
|
||||
"specialAttacks": 17,
|
||||
"mobs": 6,
|
||||
"bosses": 12,
|
||||
"attacks": 123,
|
||||
"specialAttacks": 105,
|
||||
"nativeModels": 5,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 13,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "pit-of-saron",
|
||||
"title": "Pit of Saron",
|
||||
"source": "azerothcore",
|
||||
"mobs": 27,
|
||||
"mobs": 31,
|
||||
"bosses": 3,
|
||||
"attacks": 43,
|
||||
"specialAttacks": 13,
|
||||
"attacks": 53,
|
||||
"specialAttacks": 19,
|
||||
"nativeModels": 30,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "halls-of-reflection",
|
||||
"title": "Halls of Reflection",
|
||||
"source": "azerothcore",
|
||||
"mobs": 8,
|
||||
"mobs": 16,
|
||||
"bosses": 2,
|
||||
"attacks": 26,
|
||||
"specialAttacks": 16,
|
||||
"attacks": 46,
|
||||
"specialAttacks": 28,
|
||||
"nativeModels": 10,
|
||||
"proceduralModels": 0,
|
||||
"proceduralModels": 8,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
@@ -782,8 +813,8 @@
|
||||
"source": "procedural-fallback",
|
||||
"mobs": 3,
|
||||
"bosses": 1,
|
||||
"attacks": 8,
|
||||
"specialAttacks": 4,
|
||||
"attacks": 13,
|
||||
"specialAttacks": 12,
|
||||
"nativeModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"status": "green"
|
||||
@@ -792,24 +823,24 @@
|
||||
"id": "frozen-reach",
|
||||
"title": "Frozen Reach",
|
||||
"source": "procedural-fallback",
|
||||
"mobs": 3,
|
||||
"mobs": 2,
|
||||
"bosses": 1,
|
||||
"attacks": 8,
|
||||
"specialAttacks": 4,
|
||||
"attacks": 19,
|
||||
"specialAttacks": 19,
|
||||
"nativeModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"proceduralModels": 3,
|
||||
"status": "green"
|
||||
},
|
||||
{
|
||||
"id": "forgotten-mine",
|
||||
"title": "Forgotten Mine",
|
||||
"source": "procedural-fallback",
|
||||
"mobs": 3,
|
||||
"mobs": 4,
|
||||
"bosses": 1,
|
||||
"attacks": 8,
|
||||
"specialAttacks": 4,
|
||||
"attacks": 13,
|
||||
"specialAttacks": 12,
|
||||
"nativeModels": 0,
|
||||
"proceduralModels": 4,
|
||||
"proceduralModels": 5,
|
||||
"status": "green"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,73 +1,78 @@
|
||||
# WoW dungeon content report
|
||||
# WoW dungeon combat and animation report
|
||||
|
||||
Status: **green**
|
||||
|
||||
Coverage: 54 dungeons, 1031 mobs, 253 bosses, 2953 executable attacks, and 1669 special attacks/mechanics.
|
||||
Scope: executable combat populations and creature animation bindings. This report does not certify instance scripts, doors, interactables, escorts, waves, vehicles, or navigation.
|
||||
|
||||
Animation paths: 1266 native model bindings and 18 procedural bindings across 1166 unique native GLBs; 16 missing native states use the shared procedural fallback.
|
||||
Coverage: 54 dungeons, 1193 mobs, 273 bosses, 4026 executable attacks, and 2572 special attacks/mechanics.
|
||||
|
||||
Animation paths: 1275 native model bindings and 191 procedural bindings across 1167 unique native GLBs; 18 missing native states use the shared procedural fallback.
|
||||
|
||||
| Dungeon | Mobs | Bosses | Attacks | Specials | Native | Procedural | Status |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | --- |
|
||||
| Shadowfang Keep | 24 | 7 | 58 | 27 | 31 | 0 | green |
|
||||
| Stormwind Stockade | 6 | 5 | 32 | 21 | 11 | 0 | green |
|
||||
| The Deadmines | 15 | 7 | 48 | 26 | 22 | 0 | green |
|
||||
| Wailing Caverns | 12 | 8 | 51 | 31 | 15 | 5 | green |
|
||||
| Razorfen Kraul | 31 | 7 | 78 | 40 | 38 | 0 | green |
|
||||
| Blackfathom Deeps | 21 | 6 | 58 | 31 | 27 | 0 | green |
|
||||
| Uldaman | 31 | 7 | 85 | 47 | 38 | 0 | green |
|
||||
| Gnomeregan | 27 | 4 | 68 | 37 | 31 | 0 | green |
|
||||
| Sunken Temple | 29 | 4 | 86 | 53 | 33 | 0 | green |
|
||||
| Razorfen Downs | 19 | 6 | 55 | 30 | 25 | 0 | green |
|
||||
| Scarlet Monastery | 32 | 5 | 89 | 52 | 37 | 0 | green |
|
||||
| Zul'Farrak | 16 | 5 | 53 | 32 | 21 | 0 | green |
|
||||
| Blackrock Spire | 63 | 15 | 210 | 132 | 78 | 0 | green |
|
||||
| Blackrock Depths | 48 | 13 | 145 | 84 | 61 | 0 | green |
|
||||
| Scholomance | 30 | 8 | 115 | 77 | 38 | 0 | green |
|
||||
| Stratholme | 41 | 9 | 131 | 81 | 50 | 0 | green |
|
||||
| Maraudon | 25 | 8 | 83 | 50 | 33 | 0 | green |
|
||||
| Ragefire Chasm | 7 | 4 | 21 | 10 | 11 | 0 | green |
|
||||
| Dire Maul | 63 | 12 | 184 | 109 | 75 | 0 | green |
|
||||
| Hellfire Citadel: The Shattered Halls | 29 | 3 | 74 | 42 | 32 | 0 | green |
|
||||
| Hellfire Citadel: The Blood Furnace | 14 | 3 | 44 | 27 | 17 | 0 | green |
|
||||
| Hellfire Citadel: Ramparts | 10 | 2 | 36 | 24 | 12 | 0 | green |
|
||||
| Coilfang: The Steamvault | 14 | 3 | 50 | 33 | 17 | 0 | green |
|
||||
| Coilfang: The Underbog | 18 | 4 | 59 | 37 | 22 | 0 | green |
|
||||
| Coilfang: The Slave Pens | 18 | 3 | 53 | 32 | 21 | 0 | green |
|
||||
| Tempest Keep: The Arcatraz | 25 | 4 | 73 | 44 | 29 | 0 | green |
|
||||
| Tempest Keep: The Botanica | 24 | 5 | 67 | 38 | 29 | 0 | green |
|
||||
| Tempest Keep: The Mechanar | 14 | 3 | 45 | 28 | 17 | 0 | green |
|
||||
| Auchindoun: Shadow Labyrinth | 18 | 4 | 46 | 24 | 22 | 0 | green |
|
||||
| Auchindoun: Sethekk Halls | 14 | 2 | 39 | 23 | 16 | 0 | green |
|
||||
| Auchindoun: Mana-Tombs | 11 | 3 | 33 | 19 | 14 | 0 | green |
|
||||
| Auchindoun: Auchenai Crypts | 12 | 2 | 30 | 16 | 14 | 0 | green |
|
||||
| Magister's Terrace | 15 | 3 | 33 | 15 | 18 | 0 | green |
|
||||
| The Black Morass | 4 | 3 | 20 | 13 | 7 | 0 | green |
|
||||
| The Escape From Durnholde | 26 | 3 | 45 | 16 | 29 | 0 | green |
|
||||
| Utgarde Keep | 19 | 3 | 35 | 13 | 22 | 0 | green |
|
||||
| Utgarde Pinnacle | 13 | 4 | 32 | 15 | 17 | 0 | green |
|
||||
| The Nexus | 21 | 5 | 50 | 24 | 26 | 0 | green |
|
||||
| The Oculus | 8 | 4 | 27 | 15 | 12 | 0 | green |
|
||||
| The Culling of Stratholme | 16 | 4 | 41 | 21 | 20 | 0 | green |
|
||||
| Halls of Stone | 13 | 4 | 32 | 15 | 16 | 1 | green |
|
||||
| Drak'Tharon Keep | 18 | 4 | 38 | 16 | 22 | 0 | green |
|
||||
| Azjol-Nerub | 10 | 3 | 25 | 12 | 13 | 0 | green |
|
||||
| Halls of Lightning | 16 | 4 | 35 | 15 | 20 | 0 | green |
|
||||
| Gundrak | 15 | 5 | 43 | 23 | 20 | 0 | green |
|
||||
| Violet Hold | 2 | 3 | 19 | 14 | 5 | 0 | green |
|
||||
| Ahn'kahet: The Old Kingdom | 19 | 5 | 43 | 19 | 24 | 0 | green |
|
||||
| The Forge of Souls | 11 | 2 | 21 | 8 | 13 | 0 | green |
|
||||
| Trial of the Champion | 0 | 5 | 22 | 17 | 5 | 0 | green |
|
||||
| Pit of Saron | 27 | 3 | 43 | 13 | 30 | 0 | green |
|
||||
| Halls of Reflection | 8 | 2 | 26 | 16 | 10 | 0 | green |
|
||||
| Tinkertech Showdown | 3 | 1 | 8 | 4 | 0 | 4 | green |
|
||||
| Frozen Reach | 3 | 1 | 8 | 4 | 0 | 4 | green |
|
||||
| Forgotten Mine | 3 | 1 | 8 | 4 | 0 | 4 | green |
|
||||
| Wailing Caverns | 23 | 9 | 72 | 40 | 24 | 8 | green |
|
||||
| Shadowfang Keep | 24 | 7 | 65 | 34 | 31 | 0 | green |
|
||||
| Stormwind Stockade | 6 | 5 | 42 | 31 | 11 | 0 | green |
|
||||
| The Deadmines | 15 | 7 | 55 | 33 | 22 | 0 | green |
|
||||
| Razorfen Kraul | 31 | 7 | 87 | 49 | 38 | 0 | green |
|
||||
| Blackfathom Deeps | 23 | 6 | 67 | 38 | 27 | 2 | green |
|
||||
| Uldaman | 31 | 7 | 104 | 66 | 38 | 0 | green |
|
||||
| Gnomeregan | 28 | 5 | 84 | 51 | 31 | 2 | green |
|
||||
| Sunken Temple | 31 | 4 | 95 | 60 | 33 | 2 | green |
|
||||
| Razorfen Downs | 21 | 6 | 65 | 38 | 25 | 2 | green |
|
||||
| Scarlet Monastery | 32 | 5 | 107 | 70 | 37 | 0 | green |
|
||||
| Zul'Farrak | 23 | 5 | 76 | 48 | 21 | 7 | green |
|
||||
| Blackrock Spire | 66 | 17 | 285 | 202 | 78 | 5 | green |
|
||||
| Blackrock Depths | 58 | 13 | 192 | 121 | 61 | 10 | green |
|
||||
| Scholomance | 31 | 8 | 151 | 112 | 38 | 1 | green |
|
||||
| Stratholme | 45 | 9 | 180 | 126 | 50 | 4 | green |
|
||||
| Maraudon | 25 | 8 | 95 | 62 | 33 | 0 | green |
|
||||
| Ragefire Chasm | 7 | 4 | 23 | 12 | 11 | 0 | green |
|
||||
| Dire Maul | 63 | 12 | 242 | 167 | 75 | 0 | green |
|
||||
| Hellfire Citadel: The Shattered Halls | 29 | 3 | 92 | 60 | 32 | 0 | green |
|
||||
| Hellfire Citadel: The Blood Furnace | 14 | 3 | 53 | 36 | 17 | 0 | green |
|
||||
| Hellfire Citadel: Ramparts | 11 | 4 | 47 | 32 | 12 | 3 | green |
|
||||
| Coilfang: The Steamvault | 14 | 3 | 63 | 46 | 17 | 0 | green |
|
||||
| Coilfang: The Underbog | 20 | 4 | 82 | 58 | 22 | 2 | green |
|
||||
| Coilfang: The Slave Pens | 21 | 4 | 66 | 43 | 21 | 4 | green |
|
||||
| Tempest Keep: The Arcatraz | 28 | 4 | 108 | 76 | 29 | 3 | green |
|
||||
| Tempest Keep: The Botanica | 28 | 5 | 89 | 56 | 29 | 4 | green |
|
||||
| Tempest Keep: The Mechanar | 14 | 3 | 69 | 52 | 17 | 0 | green |
|
||||
| Auchindoun: Shadow Labyrinth | 18 | 4 | 67 | 45 | 22 | 0 | green |
|
||||
| Auchindoun: Sethekk Halls | 19 | 3 | 59 | 37 | 16 | 6 | green |
|
||||
| Auchindoun: Mana-Tombs | 12 | 4 | 50 | 34 | 14 | 2 | green |
|
||||
| Auchindoun: Auchenai Crypts | 13 | 3 | 48 | 32 | 14 | 2 | green |
|
||||
| Magister's Terrace | 23 | 3 | 65 | 39 | 18 | 8 | green |
|
||||
| The Black Morass | 13 | 3 | 34 | 18 | 7 | 9 | green |
|
||||
| The Escape From Durnholde | 32 | 3 | 59 | 24 | 29 | 6 | green |
|
||||
| Utgarde Keep | 19 | 6 | 55 | 30 | 22 | 3 | green |
|
||||
| Utgarde Pinnacle | 19 | 4 | 50 | 27 | 17 | 6 | green |
|
||||
| The Nexus | 24 | 5 | 64 | 35 | 26 | 3 | green |
|
||||
| The Oculus | 17 | 4 | 42 | 21 | 12 | 9 | green |
|
||||
| The Culling of Stratholme | 21 | 4 | 49 | 24 | 20 | 5 | green |
|
||||
| Halls of Stone | 16 | 4 | 45 | 25 | 16 | 4 | green |
|
||||
| Drak'Tharon Keep | 20 | 4 | 47 | 23 | 22 | 2 | green |
|
||||
| Azjol-Nerub | 18 | 3 | 38 | 17 | 13 | 8 | green |
|
||||
| Halls of Lightning | 19 | 4 | 52 | 29 | 20 | 3 | green |
|
||||
| Gundrak | 15 | 5 | 53 | 33 | 20 | 0 | green |
|
||||
| Violet Hold | 17 | 3 | 39 | 19 | 5 | 15 | green |
|
||||
| Ahn'kahet: The Old Kingdom | 23 | 5 | 64 | 36 | 24 | 4 | green |
|
||||
| The Forge of Souls | 11 | 2 | 23 | 10 | 13 | 0 | green |
|
||||
| Trial of the Champion | 6 | 12 | 123 | 105 | 5 | 13 | green |
|
||||
| Pit of Saron | 31 | 3 | 53 | 19 | 30 | 4 | green |
|
||||
| Halls of Reflection | 16 | 2 | 46 | 28 | 10 | 8 | green |
|
||||
| Tinkertech Showdown | 3 | 1 | 13 | 12 | 0 | 4 | green |
|
||||
| Frozen Reach | 2 | 1 | 19 | 19 | 0 | 3 | green |
|
||||
| Forgotten Mine | 4 | 1 | 13 | 12 | 0 | 5 | green |
|
||||
|
||||
## Documented source-faithful exceptions
|
||||
|
||||
- wailing-caverns:entry-3653: Kresh is melee-only in the pinned AzerothCore snapshot; the historical server has no spell or SmartAI row for entry 3653.
|
||||
- wailing-caverns:kresh: Kresh is melee-only in the pinned AzerothCore snapshot; the historical server has no spell or SmartAI row for entry 3653.
|
||||
- wailing-caverns:deviate-faerie-dragon: The server-faithful rare entry 5912 has no spell rows and is despawned by the Wailing Caverns initialization event.
|
||||
- trial-of-the-champion: Trial of the Champion is an encounter arena; its imported combat population is the five Grand Champion bosses, not a trash route.
|
||||
- gnomeregan:wow-classic-batch-three-entry-7361: Grubbis is melee-only in the pinned AzerothCore snapshot; entry 7361 has aggro dialogue and instance-completion rows but no combat spell cast.
|
||||
- blackrock-spire:entry-9218: Spirestone Battle Lord is a 15% rare spawn in the pinned database and has no combat spell cast beyond its basic melee attack.
|
||||
- blackrock-spire:entry-9219: Spirestone Butcher is a 15% rare spawn in the pinned database and has no combat spell cast beyond its basic melee attack.
|
||||
- blackrock-spire:entry-10376: Crystal Fang is a 15% rare spawn with no active combat spell in the pinned database; its exact on-death Spire Spiderling summon is implemented by the instance adapter.
|
||||
|
||||
## Issues
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,858 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"scope": "ascension-custom-five-player-source-recovery",
|
||||
"status": "partial-authoritative-recovery",
|
||||
"sourcePolicy": {
|
||||
"exact": "Values copied from installed-client DBC rows or already checksummed map packages.",
|
||||
"spellLinked": "Creature and gameobject IDs recovered from summon effects in installed-client Spell.dbc. The link is exact even when the missing creature_template or gameobject_template name is inferred from the spell context.",
|
||||
"authored": "Timing, phase ownership, placement, health tuning, and any entity explicitly marked authored are adaptation decisions, not claims about Ascension server behavior."
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"id": "ascension-area52-spell-dbc",
|
||||
"kind": "installed-client-dbc",
|
||||
"pathHint": "../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc",
|
||||
"sha256": "2f77f18b91ffbae32a19568e4bc05ec78ee384b6ba8dd2a6e05f0e97abbb2dce",
|
||||
"header": {
|
||||
"signature": "WDBC",
|
||||
"recordCount": 238891,
|
||||
"fieldCount": 234,
|
||||
"recordSize": 936,
|
||||
"stringBlockSize": 14058299
|
||||
},
|
||||
"localeField": "enUS",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "manastorm-runtime-catalog",
|
||||
"kind": "installed-client-encounter-export",
|
||||
"path": "src/game/generated/manastormRuntimeCatalog.json",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "manastorm-asset-packages",
|
||||
"kind": "installed-client-map-export",
|
||||
"path": "src/game/generated/manastormAssetPackages.json",
|
||||
"confidence": "exact-environment-provisional-semantics"
|
||||
},
|
||||
{
|
||||
"id": "campaign-runtime-snapshot",
|
||||
"kind": "generated-runtime-catalog",
|
||||
"path": "src/game/generated/dungeonCampaignCatalog.json",
|
||||
"confidence": "exact-current-state"
|
||||
},
|
||||
{
|
||||
"id": "ascension-db-alva",
|
||||
"kind": "official-public-database",
|
||||
"url": "https://db.ascension.gg/?npc=97700",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "ascension-db-arktos",
|
||||
"kind": "official-public-database",
|
||||
"url": "https://db.ascension.gg/?npc=97701",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "ascension-changelog-frozen-reach-blast-arrow",
|
||||
"kind": "official-changelog",
|
||||
"url": "https://ascension.gg/en/changelog/1?page=7",
|
||||
"confidence": "exact-wording-name-differs"
|
||||
},
|
||||
{
|
||||
"id": "ascension-changelog-frozen-reach-rebirth",
|
||||
"kind": "official-changelog",
|
||||
"url": "https://ascension.gg/en/changelog/1?page=8",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "ascension-changelog-forgotten-mine-crystals",
|
||||
"kind": "official-changelog",
|
||||
"url": "https://ascension.gg/en/changelog/1?page=51",
|
||||
"confidence": "exact"
|
||||
},
|
||||
{
|
||||
"id": "ascension-changelog-forgotten-mine-geospike",
|
||||
"kind": "official-changelog",
|
||||
"url": "https://ascension.gg/en/changelog/1?page=29",
|
||||
"confidence": "exact"
|
||||
}
|
||||
],
|
||||
"localSearchAudit": {
|
||||
"searchedRoots": [
|
||||
"../wow-pvt-server-backups-2",
|
||||
"../WoW-Pvt-Server-Backups",
|
||||
"../wow-private-server-notes",
|
||||
"../LadiksMPQEditor",
|
||||
"../wow335a/Cache",
|
||||
"../resources/client/Cache"
|
||||
],
|
||||
"searchedArtifacts": [
|
||||
"creature_template and creature spawn SQL",
|
||||
"gameobject_template and gameobject spawn SQL",
|
||||
"SmartAI and ScriptName bindings",
|
||||
"Lua/XML/JSON/CSV encounter data",
|
||||
"creaturecache.wdb and gameobjectcache.wdb records"
|
||||
],
|
||||
"missingAuthoritativeData": [
|
||||
"creature templates and display mappings for 663012, 97700, and 254272",
|
||||
"world spawn rows for maps 821, 908, and 1781",
|
||||
"server-side encounter scripts and cast cadence",
|
||||
"authoritative trash population and patrol routes",
|
||||
"authoritative gameobject placements"
|
||||
],
|
||||
"publicSnapshotCheck": {
|
||||
"repository": "https://github.com/Ascension-Addons/Questie-X-AscensionDB.git",
|
||||
"commit": "cf6710ef94c264d842cf2ea94c4b50e9ece6dd61",
|
||||
"result": "No target boss IDs, names, spawns, or encounter scripts were present."
|
||||
}
|
||||
},
|
||||
"dungeons": [
|
||||
{
|
||||
"mapId": 821,
|
||||
"id": "tinkertech-showdown",
|
||||
"title": "Tinkertech Showdown",
|
||||
"mapDirectory": "TinketechShowdown",
|
||||
"sourceClassification": "identity-and-environment-only",
|
||||
"environment": {
|
||||
"sourceHash": "323c47c081d0a6c39daf9878284863c21e3e38dbced2ba3f58d1d157d080d41d",
|
||||
"rootWmo": "World/wmo/Dungeon/AZ_Subway/Subway_Dungeon.wmo",
|
||||
"anchors": {
|
||||
"player": [
|
||||
3.648781,
|
||||
-4.167801,
|
||||
66.263252
|
||||
],
|
||||
"trash": [
|
||||
10.220209,
|
||||
-126.067818,
|
||||
1266.206177
|
||||
],
|
||||
"boss": [
|
||||
-15.779793,
|
||||
-4.267807,
|
||||
2439.406006
|
||||
]
|
||||
},
|
||||
"semanticStatus": "provisional-geometry-derived"
|
||||
},
|
||||
"encounters": [
|
||||
{
|
||||
"encounterId": 9013,
|
||||
"modeId": 2,
|
||||
"name": "Mechatron",
|
||||
"creatureId": 663012,
|
||||
"identityConfidence": "exact"
|
||||
}
|
||||
],
|
||||
"currentRuntime": {
|
||||
"bossEntityId": "entry-663012",
|
||||
"proceduralTrashSpawnCount": 15,
|
||||
"proceduralMobEntries": [
|
||||
{
|
||||
"entityId": "tinkertech-showdown-guardian",
|
||||
"serverEntry": 2629079128
|
||||
},
|
||||
{
|
||||
"entityId": "tinkertech-showdown-caster",
|
||||
"serverEntry": 3849447491
|
||||
},
|
||||
{
|
||||
"entityId": "tinkertech-showdown-brute",
|
||||
"serverEntry": 1787979165
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourceRecovery": {
|
||||
"association": "candidate-client-cluster-only",
|
||||
"associationConfidence": "low",
|
||||
"reason": "These adjacent client rows form a coherent mechanical-machine kit and include Sound: Goblin Head Machine Loop, but no recovered server row links them to creature 663012.",
|
||||
"spellRows": {
|
||||
"257438": "Rocket",
|
||||
"257459": "Gatling Missile Barrage",
|
||||
"257460": "Gatling Missile",
|
||||
"257461": "Gatling Missile",
|
||||
"257462": "Sound: Goblin Head Machine Loop",
|
||||
"257470": "Incineration Beam",
|
||||
"257471": "Energy Ball",
|
||||
"257472": "Electrified Zone",
|
||||
"257473": "Electric Shock"
|
||||
},
|
||||
"families": {
|
||||
"rocket": [
|
||||
257438
|
||||
],
|
||||
"gatlingMissileBarrage": [
|
||||
257459,
|
||||
257460,
|
||||
257461
|
||||
],
|
||||
"incinerationBeam": [
|
||||
257470
|
||||
],
|
||||
"electrifiedZone": [
|
||||
257472,
|
||||
257473
|
||||
]
|
||||
}
|
||||
},
|
||||
"adaptation": {
|
||||
"status": "custom-authoring-required",
|
||||
"populationPlan": {
|
||||
"disposition": "retain-current-route-as-explicit-adaptation",
|
||||
"packCount": 5,
|
||||
"membersPerPack": 3,
|
||||
"authoredMobs": [
|
||||
{
|
||||
"serverEntry": 2629079128,
|
||||
"name": "Tinkertech Guardbot",
|
||||
"role": "melee-interceptor"
|
||||
},
|
||||
{
|
||||
"serverEntry": 3849447491,
|
||||
"name": "Tinkertech Coilcaster",
|
||||
"role": "electrical-ranged"
|
||||
},
|
||||
{
|
||||
"serverEntry": 1787979165,
|
||||
"name": "Tinkertech Demolisher",
|
||||
"role": "rocket-bruiser"
|
||||
}
|
||||
]
|
||||
},
|
||||
"encounterPlan": [
|
||||
"Mechatron remains creature 663012 at the provisional boss anchor.",
|
||||
"Rocket uses a 2.0 second target reticle and splash damage on an authored 8 second cadence.",
|
||||
"Gatling Missile Barrage uses a 3.0 second warning followed by eight lane impacts over 4 seconds on an authored 14 second cadence.",
|
||||
"Incineration Beam uses a 2.5 second wind-up and sweeps the subway lane for 5 seconds; immutable web geometry means it visually disables lane sections instead of permanently destroying client platforms.",
|
||||
"Electrified Zone alternates floor strips after a 1.5 second warning, remains active for 8 seconds, and applies a 1.5 second stun on contact.",
|
||||
"At 35 percent health, cadence accelerates by 20 percent and two authored Coilcasters enter from the previous pack anchor."
|
||||
],
|
||||
"mustBeCustomAuthored": [
|
||||
"all trash identities, placements, and AI",
|
||||
"all boss timing and phase thresholds",
|
||||
"the decision to associate candidate spells 257438 and 257459-257473 with Mechatron",
|
||||
"platform or lane disable behavior",
|
||||
"boss and trash visual composites",
|
||||
"loot and completion scripting"
|
||||
]
|
||||
},
|
||||
"unresolved": [
|
||||
"No authoritative Mechatron spell-to-creature binding was found.",
|
||||
"No authoritative trash or gameobject IDs were found.",
|
||||
"The custom ADT placement transform and all semantic anchors still require playtest approval."
|
||||
]
|
||||
},
|
||||
{
|
||||
"mapId": 908,
|
||||
"id": "frozen-reach",
|
||||
"title": "Frozen Reach",
|
||||
"mapDirectory": "Alvaencounter",
|
||||
"sourceClassification": "encounter-spells-and-summons-recovered",
|
||||
"environment": {
|
||||
"sourceHash": "5ab771df79c0e062cea3ebda4e416a9245bcf8a4cc6da048077df5e674081f97",
|
||||
"anchors": {
|
||||
"player": [
|
||||
1858.534668,
|
||||
78.860199,
|
||||
2229.334473
|
||||
],
|
||||
"trash": [
|
||||
2100.134766,
|
||||
80.860199,
|
||||
2132.93457
|
||||
],
|
||||
"boss": [
|
||||
2344.134766,
|
||||
62.460205,
|
||||
2134.334717
|
||||
]
|
||||
},
|
||||
"semanticStatus": "provisional-elevated-encounter-component"
|
||||
},
|
||||
"encounters": [
|
||||
{
|
||||
"encounterId": 2168,
|
||||
"modeId": 0,
|
||||
"name": "Alva",
|
||||
"creatureId": 97700,
|
||||
"identityConfidence": "exact"
|
||||
},
|
||||
{
|
||||
"encounterId": 2170,
|
||||
"modeId": 2,
|
||||
"name": "Alva",
|
||||
"creatureId": 97700,
|
||||
"identityConfidence": "exact"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"entryId": 97700,
|
||||
"name": "Alva",
|
||||
"role": "boss",
|
||||
"sourceKind": "encounter-dbc-and-official-db"
|
||||
},
|
||||
{
|
||||
"entryId": 97701,
|
||||
"name": "Arktos",
|
||||
"role": "boss-companion",
|
||||
"sourceKind": "official-db"
|
||||
},
|
||||
{
|
||||
"entryId": 97703,
|
||||
"name": "Blast Arrow summoned unit",
|
||||
"role": "area-trigger",
|
||||
"sourceKind": "spell-linked-name-inferred"
|
||||
},
|
||||
{
|
||||
"entryId": 97731,
|
||||
"name": "Explosive Trap summoned unit",
|
||||
"role": "trap",
|
||||
"sourceKind": "spell-linked-name-inferred"
|
||||
},
|
||||
{
|
||||
"entryId": 97770,
|
||||
"name": "Alvajar summoned unit",
|
||||
"role": "add",
|
||||
"sourceKind": "spell-linked-name-inferred"
|
||||
}
|
||||
],
|
||||
"currentRuntime": {
|
||||
"bossEntityId": "entry-97700",
|
||||
"proceduralTrashSpawnCount": 15,
|
||||
"proceduralMobEntries": [
|
||||
{
|
||||
"entityId": "frozen-reach-guardian",
|
||||
"serverEntry": 1606324391
|
||||
},
|
||||
{
|
||||
"entityId": "frozen-reach-caster",
|
||||
"serverEntry": 854807736
|
||||
},
|
||||
{
|
||||
"entityId": "frozen-reach-brute",
|
||||
"serverEntry": 2855026892
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourceRecovery": {
|
||||
"association": "explicit-alva-arktos-client-cluster",
|
||||
"associationConfidence": "high",
|
||||
"spellRows": {
|
||||
"255347": "Auto Shot",
|
||||
"255349": "Rain of Arrows",
|
||||
"255351": "Rain of Arrows",
|
||||
"255352": "Unbridled Arrows",
|
||||
"255353": "Unbridled Arrows",
|
||||
"255358": "Blast Arrow",
|
||||
"255359": "Blast Arrow",
|
||||
"255360": "Pact of the Hunt",
|
||||
"255362": "Blast Arrow",
|
||||
"255363": "Blast Arrow",
|
||||
"255374": "Ice Rock",
|
||||
"255375": "Ice Rock",
|
||||
"255377": "Ice Rock",
|
||||
"255378": "Unholy Frenzy",
|
||||
"255379": "Carnivorous Bite",
|
||||
"255380": "Frost Shield",
|
||||
"255381": "Set Ablaze",
|
||||
"255382": "Blaze",
|
||||
"255387": "Frost Strike",
|
||||
"255389": "Shadow Shroud Surge",
|
||||
"255390": "Shadow Shroud Rebirth",
|
||||
"255393": "Sphere of Grief and Wrath",
|
||||
"255394": "Vengeful Bolt",
|
||||
"255395": "Vengeful Bolt",
|
||||
"255397": "Shadow Veil Lance",
|
||||
"255398": "Shadow Veil Lance",
|
||||
"255399": "Frost Roar",
|
||||
"255401": "Cluster Shot",
|
||||
"255402": "Cluster Shot",
|
||||
"255403": "Cluster Shot",
|
||||
"255410": "Alva's Grief",
|
||||
"255411": "Alva's Grief",
|
||||
"255412": "Frost orb",
|
||||
"255413": "Frozen Pulse",
|
||||
"255417": "Shield Wall",
|
||||
"255418": "Shield Wall",
|
||||
"255419": "Alva's Wrath",
|
||||
"255420": "Throw Explosive Trap",
|
||||
"255421": "Explosive Trap",
|
||||
"255423": "Trap Explosion",
|
||||
"255424": "Charging",
|
||||
"255426": "Explosive Trap",
|
||||
"255427": "Frostblade Strike",
|
||||
"255428": "Frostblade Strike",
|
||||
"255432": "Army of the Dead",
|
||||
"255433": "Army of the Dead",
|
||||
"255434": "Lacerate",
|
||||
"255435": "Lacerate",
|
||||
"255436": "Lacerate",
|
||||
"255437": "Arcing Slice",
|
||||
"255438": "Rain of Arrows",
|
||||
"255439": "Rain of Arrows",
|
||||
"255440": "Cluster Shot",
|
||||
"255441": "Cluster Shot",
|
||||
"255442": "Unbridled Arrows",
|
||||
"255443": "Unbridled Arrows",
|
||||
"255444": "Blast Arrow",
|
||||
"255445": "Blast Arrow",
|
||||
"255446": "Frost Roar",
|
||||
"255447": "Frost Roar",
|
||||
"255448": "Vengeful Bolt",
|
||||
"255449": "Vengeful Bolt",
|
||||
"255450": "Ice Rock",
|
||||
"255451": "Ice Rock",
|
||||
"255452": "Frostblade Strike",
|
||||
"255453": "Frostblade Strike",
|
||||
"255454": "Shadow Shroud Surge",
|
||||
"255455": "Shadow Shroud Surge",
|
||||
"255456": "Shadow Shroud Rebirth",
|
||||
"255457": "Shadow Shroud Rebirth",
|
||||
"255458": "Shadow Veil Lance",
|
||||
"255459": "Shadow Veil Lance",
|
||||
"255460": "Alva's Wrath",
|
||||
"255461": "Alva's Wrath",
|
||||
"255462": "Sphere of Grief and Wrath",
|
||||
"255463": "Sphere of Grief and Wrath",
|
||||
"255464": "Frost Strike",
|
||||
"255465": "Frost Strike",
|
||||
"255466": "Predator's Fury",
|
||||
"255467": "Alva's Grief",
|
||||
"255468": "Alva's Grief",
|
||||
"255469": "Trap Explosion",
|
||||
"255470": "Trap Explosion",
|
||||
"255471": "Frozen Pulse",
|
||||
"255472": "Frozen Pulse"
|
||||
},
|
||||
"families": {
|
||||
"alvaRanged": [
|
||||
255347,
|
||||
255349,
|
||||
255351,
|
||||
255352,
|
||||
255353,
|
||||
255358,
|
||||
255359,
|
||||
255401,
|
||||
255402,
|
||||
255403,
|
||||
255420,
|
||||
255421,
|
||||
255423,
|
||||
255424
|
||||
],
|
||||
"arktos": [
|
||||
255360,
|
||||
255374,
|
||||
255375,
|
||||
255377,
|
||||
255378,
|
||||
255379,
|
||||
255380,
|
||||
255381,
|
||||
255382,
|
||||
255387,
|
||||
255399,
|
||||
255417,
|
||||
255418,
|
||||
255434
|
||||
],
|
||||
"alvaVengeance": [
|
||||
255389,
|
||||
255390,
|
||||
255393,
|
||||
255394,
|
||||
255395,
|
||||
255397,
|
||||
255398,
|
||||
255410,
|
||||
255411,
|
||||
255419,
|
||||
255432,
|
||||
255433
|
||||
],
|
||||
"difficultyOneAndTwoVariants": [
|
||||
255435,
|
||||
255436,
|
||||
255438,
|
||||
255439,
|
||||
255440,
|
||||
255441,
|
||||
255442,
|
||||
255443,
|
||||
255444,
|
||||
255445,
|
||||
255446,
|
||||
255447,
|
||||
255448,
|
||||
255449,
|
||||
255450,
|
||||
255451,
|
||||
255452,
|
||||
255453,
|
||||
255454,
|
||||
255455,
|
||||
255456,
|
||||
255457,
|
||||
255458,
|
||||
255459,
|
||||
255460,
|
||||
255461,
|
||||
255462,
|
||||
255463,
|
||||
255464,
|
||||
255465,
|
||||
255467,
|
||||
255468,
|
||||
255469,
|
||||
255470,
|
||||
255471,
|
||||
255472
|
||||
]
|
||||
},
|
||||
"summonLinks": [
|
||||
{
|
||||
"spellId": 255363,
|
||||
"effectIndex": 0,
|
||||
"effectType": 28,
|
||||
"targetKind": "creature",
|
||||
"entryId": 97703
|
||||
},
|
||||
{
|
||||
"spellId": 255421,
|
||||
"effectIndex": 0,
|
||||
"effectType": 28,
|
||||
"targetKind": "creature",
|
||||
"entryId": 97731
|
||||
},
|
||||
{
|
||||
"spellId": 255433,
|
||||
"effectIndex": 0,
|
||||
"effectType": 28,
|
||||
"targetKind": "creature",
|
||||
"entryId": 97770
|
||||
}
|
||||
]
|
||||
},
|
||||
"adaptation": {
|
||||
"status": "source-backed-custom-cadence-required",
|
||||
"populationPlan": {
|
||||
"disposition": "remove-unverified-generic-trash",
|
||||
"reason": "Alvaencounter and the recovered spell cluster describe a contained Alva/Arktos encounter; no evidence supports the current 15 generic hallway creatures.",
|
||||
"encounterEntities": [
|
||||
97700,
|
||||
97701,
|
||||
97703,
|
||||
97731,
|
||||
97770
|
||||
]
|
||||
},
|
||||
"encounterPlan": [
|
||||
"Phase one starts Alva 97700 and Arktos 97701 together, with Pact of the Hunt 255360 active while they remain close.",
|
||||
"Alva uses Rain of Arrows, Unbridled Arrows, Blast Arrow, Cluster Shot, and summoned Explosive Traps; Arktos uses Carnivorous Bite, Ice Rock, Frost Roar, Lacerate, and defensive Frost Shield or Shield Wall.",
|
||||
"Blast Arrow can strike Arktos and apply Set Ablaze 255381, causing panic movement, Blaze 255382, and increased damage taken. This matches the official changelog's Blast Shot/Arktos interaction despite the DBC naming it Blast Arrow.",
|
||||
"Arktos death leaves Alva's Grief 255410 around the corpse and transitions Alva to the vengeance kit.",
|
||||
"The transition casts Shadow Shroud Rebirth 255390 and summons four Alvajar 97770 around the arena. Rebirth damage must scale by living group size, reaching full value at five or more players per the official changelog.",
|
||||
"Phase two rotates Vengeful Bolt, Shadow Veil Lance, Sphere of Grief and Wrath, Army of the Dead, and stacking Alva's Wrath as the soft enrage.",
|
||||
"Wire ASC D0 rows to the current normal experience. Preserve D1 and D2 rows but do not assign public difficulty labels until an authoritative mode mapping is recovered."
|
||||
],
|
||||
"authoredCadence": {
|
||||
"rainOfArrowsMs": 12000,
|
||||
"unbridledArrowsMs": 20000,
|
||||
"blastArrowMs": 15000,
|
||||
"clusterShotMs": 18000,
|
||||
"explosiveTrapMs": 16000,
|
||||
"arktosIceRockMs": 12000,
|
||||
"arktosFrostRoarMs": 18000,
|
||||
"vengefulBoltMs": 7000,
|
||||
"shadowVeilLanceMs": 12000,
|
||||
"sphereOfGriefMs": 20000,
|
||||
"alvasWrathMs": 25000
|
||||
},
|
||||
"mustBeCustomAuthored": [
|
||||
"all cast cadence and target-selection rules",
|
||||
"Arktos initial placement and companion pathing",
|
||||
"phase transition and exact death threshold behavior",
|
||||
"Alvajar formation and spawn placement",
|
||||
"trap and area-trigger web-runtime behavior",
|
||||
"boss and add visual composites",
|
||||
"loot and completion scripting"
|
||||
]
|
||||
},
|
||||
"unresolved": [
|
||||
"The server-side spell schedule and encounter script are absent.",
|
||||
"Creature template stats, display IDs, and exact positions are absent.",
|
||||
"ASC D0/D1/D2 spell ranks cannot be mapped safely beyond D0 without a surviving difficulty script."
|
||||
]
|
||||
},
|
||||
{
|
||||
"mapId": 1781,
|
||||
"id": "forgotten-mine",
|
||||
"title": "Forgotten Mine",
|
||||
"mapDirectory": "ForgottenMine",
|
||||
"sourceClassification": "encounter-spells-creature-summon-and-gameobject-recovered",
|
||||
"environment": {
|
||||
"sourceHash": "693b7067aa1109e14beb944bc95aed8299bf64e2ec6ae3dc43f4fab7d18f57b6",
|
||||
"anchors": {
|
||||
"player": [
|
||||
1285.886108,
|
||||
149.58075,
|
||||
1724.264526
|
||||
],
|
||||
"trash": [
|
||||
1857.461304,
|
||||
136.080749,
|
||||
1871.884277
|
||||
],
|
||||
"boss": [
|
||||
2246.06665,
|
||||
198.180786,
|
||||
2147.866699
|
||||
]
|
||||
},
|
||||
"semanticStatus": "provisional-main-navigation-component"
|
||||
},
|
||||
"encounters": [
|
||||
{
|
||||
"encounterId": 5069,
|
||||
"modeId": 0,
|
||||
"name": "Geolord Vek",
|
||||
"creatureId": 254272,
|
||||
"identityConfidence": "exact"
|
||||
},
|
||||
{
|
||||
"encounterId": 5071,
|
||||
"modeId": 2,
|
||||
"name": "Geolord Vek",
|
||||
"creatureId": 254272,
|
||||
"identityConfidence": "exact"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"entryId": 254272,
|
||||
"name": "Geolord Vek",
|
||||
"role": "boss",
|
||||
"sourceKind": "encounter-dbc"
|
||||
},
|
||||
{
|
||||
"entryId": 254278,
|
||||
"name": "Geospike summoned unit",
|
||||
"role": "hazard",
|
||||
"sourceKind": "spell-linked-name-inferred"
|
||||
}
|
||||
],
|
||||
"gameObjects": [
|
||||
{
|
||||
"entryId": 254051,
|
||||
"name": "Resonite Shard",
|
||||
"role": "clickable-encounter-countermeasure",
|
||||
"sourceKind": "spell-linked-name-from-create-spell"
|
||||
}
|
||||
],
|
||||
"currentRuntime": {
|
||||
"bossEntityId": "entry-254272",
|
||||
"proceduralTrashSpawnCount": 15,
|
||||
"proceduralMobEntries": [
|
||||
{
|
||||
"entityId": "forgotten-mine-guardian",
|
||||
"serverEntry": 4175632753
|
||||
},
|
||||
{
|
||||
"entityId": "forgotten-mine-caster",
|
||||
"serverEntry": 647988074
|
||||
},
|
||||
{
|
||||
"entityId": "forgotten-mine-brute",
|
||||
"serverEntry": 2677742134
|
||||
}
|
||||
]
|
||||
},
|
||||
"sourceRecovery": {
|
||||
"association": "explicit-vek-client-cluster",
|
||||
"associationConfidence": "high",
|
||||
"reason": "The contiguous cluster contains Vek Death and Vek Reset control rows alongside the complete earth and Resonite kit.",
|
||||
"spellRows": {
|
||||
"354000": "Stonebreaker",
|
||||
"354001": "Quake",
|
||||
"354002": "Stone Shield",
|
||||
"354003": "Cosmetic Fear",
|
||||
"354004": "Geospike",
|
||||
"354005": "Geospike",
|
||||
"354006": "Geospike",
|
||||
"354007": "Vek Death",
|
||||
"354008": "Vek Reset",
|
||||
"354009": "Quake",
|
||||
"354010": "Quake",
|
||||
"354011": "Stone Shield",
|
||||
"354012": "Stone Shield",
|
||||
"354013": "Resonance",
|
||||
"354014": "Resonance",
|
||||
"354015": "Geode Barrage",
|
||||
"354016": "Geode Barrage",
|
||||
"354017": "Ruptured Earth",
|
||||
"354018": "Ruptured Earth",
|
||||
"354019": "Stoneskin",
|
||||
"354020": "Stoneskin",
|
||||
"354021": "Stonebreaker",
|
||||
"354022": "Stonebreaker",
|
||||
"354023": "Stonebreaker",
|
||||
"354024": "Stonebreaker",
|
||||
"354025": "Geospike",
|
||||
"354026": "Geospike",
|
||||
"354027": "Geode Barrage",
|
||||
"354028": "Geode Barrage",
|
||||
"354029": "Geode Barrage",
|
||||
"354030": "Geode Barrage",
|
||||
"354031": "Resonite Cleanse",
|
||||
"354032": "Create Resonite Shard"
|
||||
},
|
||||
"families": {
|
||||
"control": [
|
||||
354007,
|
||||
354008
|
||||
],
|
||||
"quake": [
|
||||
354001,
|
||||
354009,
|
||||
354010
|
||||
],
|
||||
"stoneShield": [
|
||||
354002,
|
||||
354011,
|
||||
354012
|
||||
],
|
||||
"geospike": [
|
||||
354004,
|
||||
354005,
|
||||
354006,
|
||||
354025,
|
||||
354026
|
||||
],
|
||||
"resonance": [
|
||||
354013,
|
||||
354014
|
||||
],
|
||||
"geodeBarrage": [
|
||||
354015,
|
||||
354016,
|
||||
354027,
|
||||
354028,
|
||||
354029,
|
||||
354030
|
||||
],
|
||||
"rupturedEarth": [
|
||||
354017,
|
||||
354018
|
||||
],
|
||||
"stoneskin": [
|
||||
354019,
|
||||
354020
|
||||
],
|
||||
"stonebreaker": [
|
||||
354000,
|
||||
354021,
|
||||
354022,
|
||||
354023,
|
||||
354024
|
||||
],
|
||||
"resonite": [
|
||||
354031,
|
||||
354032
|
||||
]
|
||||
},
|
||||
"summonLinks": [
|
||||
{
|
||||
"spellId": 354004,
|
||||
"effectIndex": 0,
|
||||
"effectType": 28,
|
||||
"targetKind": "creature",
|
||||
"entryId": 254278
|
||||
},
|
||||
{
|
||||
"spellId": 354032,
|
||||
"effectIndex": 0,
|
||||
"effectType": 76,
|
||||
"targetKind": "gameobject",
|
||||
"entryId": 254051
|
||||
}
|
||||
]
|
||||
},
|
||||
"adaptation": {
|
||||
"status": "source-backed-custom-cadence-required",
|
||||
"populationPlan": {
|
||||
"disposition": "retain-current-route-as-explicit-adaptation",
|
||||
"packCount": 5,
|
||||
"membersPerPack": 3,
|
||||
"authoredMobs": [
|
||||
{
|
||||
"serverEntry": 4175632753,
|
||||
"name": "Forgotten Mine Stoneguard",
|
||||
"role": "shielding-melee"
|
||||
},
|
||||
{
|
||||
"serverEntry": 647988074,
|
||||
"name": "Forgotten Mine Geomancer",
|
||||
"role": "geode-ranged"
|
||||
},
|
||||
{
|
||||
"serverEntry": 2677742134,
|
||||
"name": "Forgotten Mine Quarry Brute",
|
||||
"role": "frontal-bruiser"
|
||||
}
|
||||
]
|
||||
},
|
||||
"encounterPlan": [
|
||||
"Geolord Vek 254272 remains at the provisional boss anchor and opens with Stone Shield.",
|
||||
"Stonebreaker is a telegraphed frontal strike; Quake is a short-range raid pulse; Geode Barrage repeatedly targets one player; Ruptured Earth creates a marked split-damage pillar.",
|
||||
"Geospike 354004 summons entry 254278 after a clearly visible ground telegraph. The hazard erupts with the matching Geospike damage row and then despawns.",
|
||||
"Three clickable Resonite Shard gameobjects 254051 appear at authored offsets around the boss. Clicking consumes one and applies Resonite Cleanse 354031, which removes one active earth protection or prevents the next Resonance hit.",
|
||||
"At 50 percent health, Resonance begins and Vek alternates Quake with Ruptured Earth. Missing crystals respawn once per 30 second cycle.",
|
||||
"The official changelog requires large, obvious clickable crystal bounds and a high-contrast Geospike telegraph."
|
||||
],
|
||||
"authoredGameObjectOffsetsFromBoss": [
|
||||
[
|
||||
-12,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
6,
|
||||
0,
|
||||
10.392
|
||||
],
|
||||
[
|
||||
6,
|
||||
0,
|
||||
-10.392
|
||||
]
|
||||
],
|
||||
"authoredCadence": {
|
||||
"stonebreakerMs": 6500,
|
||||
"geodeBarrageMs": 11000,
|
||||
"geospikeMs": 15000,
|
||||
"quakeMs": 18000,
|
||||
"rupturedEarthMs": 22000,
|
||||
"resoniteCycleMs": 30000
|
||||
},
|
||||
"mustBeCustomAuthored": [
|
||||
"all trash identities, placements, and AI",
|
||||
"all boss cadence, target selection, and phase thresholds",
|
||||
"the exact Resonite Cleanse interaction because the server script is absent",
|
||||
"crystal placement, interaction bounds, and respawn rules",
|
||||
"Geospike hazard placement and lifetime",
|
||||
"boss, hazard, trash, and crystal visual composites",
|
||||
"loot and completion scripting"
|
||||
]
|
||||
},
|
||||
"unresolved": [
|
||||
"Paired low/high-value spell rows do not expose a safe difficulty-label mapping.",
|
||||
"The authoritative creature and gameobject spawn coordinates are absent.",
|
||||
"Creature template stats and visual display IDs are absent.",
|
||||
"The exact Resonite click result is only constrained by client spell text and official changelog behavior."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
# Ascension custom dungeon source recovery
|
||||
|
||||
This report separates recoverable client facts from the behavior that HealerMan must author for Tinkertech Showdown (821), Frozen Reach (908), and Forgotten Mine (1781). The machine-readable companion is `ASCENSION_CUSTOM_DUNGEON_RECOVERY.json`; its validator checks both the current generated catalogs and the original installed-client `Spell.dbc`.
|
||||
|
||||
## Result
|
||||
|
||||
| Map | Recovered exactly | Still requires adaptation |
|
||||
| --- | --- | --- |
|
||||
| 821 Tinkertech Showdown | Client environment, encounter 9013, boss creature 663012 | Every spawn, trash identity, gameobject, spell binding, boss schedule, phase, visual, loot, and completion rule |
|
||||
| 908 Frozen Reach | Client environment, encounters 2168/2170, Alva 97700, Arktos 97701, three summoned entries, and 85 encounter spell rows | Positions, stats, cast schedule, target rules, phase scripting, web hazards, visuals, loot, and completion rules |
|
||||
| 1781 Forgotten Mine | Client environment, encounters 5069/5071, Geolord Vek 254272, Geospike summon 254278, Resonite Shard gameobject 254051, and 33 encounter spell rows | Positions, stats, cast schedule, trash roster, crystal behavior, hazard lifetime, visuals, loot, and completion rules |
|
||||
|
||||
The local server/reference repositories, installed WDB caches, addon databases, and the public Questie Ascension snapshot do not contain surviving creature templates, world spawn rows, SmartAI, or encounter scripts for these maps. Client spell rows prove names and summon targets, but they do not prove cast cadence, ownership in every case, or coordinates.
|
||||
|
||||
## 821: Tinkertech Showdown
|
||||
|
||||
Exact client facts:
|
||||
|
||||
- Map directory: `TinketechShowdown` (the client spelling omits the second `r`). Source hash: `323c47c081d0a6c39daf9878284863c21e3e38dbced2ba3f58d1d157d080d41d`.
|
||||
- The recovered root WMO is `World/wmo/Dungeon/AZ_Subway/Subway_Dungeon.wmo`.
|
||||
- Manastorm encounter 9013 names Mechatron and binds it to creature 663012 in mode 2.
|
||||
- The player, trash, and boss anchors in the manifest are geometry-derived and provisional, not recovered server spawn points.
|
||||
|
||||
Candidate-only evidence:
|
||||
|
||||
- Spell 257438 `Rocket`.
|
||||
- Spells 257459-257461 `Gatling Missile Barrage` / `Gatling Missile`.
|
||||
- Spell 257462 `Sound: Goblin Head Machine Loop`.
|
||||
- Spell 257470 `Incineration Beam`, spell 257471 `Energy Ball`, and spells 257472-257473 `Electrified Zone` / `Electric Shock`.
|
||||
|
||||
Those rows form a coherent goblin-machine cluster, but no surviving source binds them to creature 663012. They must stay labeled as an adaptation if used.
|
||||
|
||||
Concrete adaptation:
|
||||
|
||||
- Retain the current route as five authored three-creature packs. Recast generated entries 2629079128, 3849447491, and 1787979165 as `Tinkertech Guardbot`, `Tinkertech Coilcaster`, and `Tinkertech Demolisher`; these IDs and names remain HealerMan-owned.
|
||||
- Keep Mechatron 663012 at the provisional boss anchor.
|
||||
- Use an authored rotation of Rocket reticles, Gatling lane impacts, Incineration Beam lane sweeps, and alternating Electrified Zones. At 35% health, accelerate the rotation and add two Coilcasters.
|
||||
- Model platform destruction as temporary lane disabling because the imported web geometry is immutable.
|
||||
|
||||
Everything in that combat implementation except the boss identity and candidate spell names is custom-authored. It should not be represented as recovered Ascension parity.
|
||||
|
||||
## 908: Frozen Reach
|
||||
|
||||
Exact client facts:
|
||||
|
||||
- Map directory: `Alvaencounter`. Source hash: `5ab771df79c0e062cea3ebda4e416a9245bcf8a4cc6da048077df5e674081f97`.
|
||||
- Manastorm encounters 2168 and 2170 name Alva and bind her to creature 97700 in modes 0 and 2.
|
||||
- The official Ascension database identifies Alva as creature 97700 and Arktos as creature 97701.
|
||||
- Spell 255363 summons creature 97703, spell 255421 summons creature 97731, and spell 255433 summons creature 97770. In context these are the Blast Arrow unit, Explosive Trap, and Alvajar add.
|
||||
- The client cluster spans 85 exact rows from 255347 through 255472. The principal families are Rain of Arrows, Unbridled Arrows, Blast Arrow, Cluster Shot, Pact of the Hunt, Ice Rock, Carnivorous Bite, Frost Shield, Set Ablaze, Blaze, Frost Strike, Frost Roar, Lacerate, Shield Wall, Shadow Shroud Surge/Rebirth, Vengeful Bolt, Shadow Veil Lance, Sphere of Grief and Wrath, Alva's Grief/Wrath, Explosive Trap, and Army of the Dead.
|
||||
- The official changelog confirms that the Blast Arrow/“Blast Shot” interaction can hit Arktos and that Shadow Shroud Rebirth reaches full damage scaling at five or more players.
|
||||
|
||||
Concrete adaptation:
|
||||
|
||||
- Remove the current 15 procedural hallway creatures (entries 1606324391, 854807736, and 2855026892). Available evidence describes a contained Alva/Arktos encounter and provides no support for that generic trash population.
|
||||
- Start Alva 97700 and Arktos 97701 together with Pact of the Hunt. Give Alva the recovered ranged/trap kit and Arktos the recovered bite, ice, roar, lacerate, and defensive kit.
|
||||
- Allow Blast Arrow to apply Set Ablaze to Arktos, forcing panic movement and increased damage taken.
|
||||
- On Arktos's death, leave Alva's Grief at the corpse, cast Shadow Shroud Rebirth, summon four Alvajar 97770, and move Alva into the recovered vengeance spell family.
|
||||
- Preserve D1/D2 spell variants as source data but use D0 for the current normal experience until a surviving difficulty mapping is found.
|
||||
|
||||
The exact cadence in the JSON is an explicit HealerMan proposal. Initial positions, transition rules, summon formation, stats, targeting, and hazard implementation all remain custom-authored.
|
||||
|
||||
## 1781: Forgotten Mine
|
||||
|
||||
Exact client facts:
|
||||
|
||||
- Map directory: `ForgottenMine`. Source hash: `693b7067aa1109e14beb944bc95aed8299bf64e2ec6ae3dc43f4fab7d18f57b6`.
|
||||
- Manastorm encounters 5069 and 5071 name Geolord Vek and bind him to creature 254272 in modes 0 and 2.
|
||||
- The contiguous 354000-354032 spell cluster explicitly contains `Vek Death` and `Vek Reset`, tying the cluster to Vek.
|
||||
- The recovered families are Stonebreaker, Quake, Stone Shield, Geospike, Resonance, Geode Barrage, Ruptured Earth, Stoneskin, Resonite Cleanse, and Create Resonite Shard.
|
||||
- Spell 354004 summons Geospike creature 254278. Spell 354032 creates gameobject 254051, named by the spell as a Resonite Shard.
|
||||
- Client text says Resonite counters the power of Earth. Official changelogs additionally require larger clickable crystal bounds and a visible Geospike telegraph.
|
||||
|
||||
Concrete adaptation:
|
||||
|
||||
- Retain five authored three-creature route packs only as an explicit approximation. Recast generated entries 4175632753, 647988074, and 2677742134 as `Forgotten Mine Stoneguard`, `Forgotten Mine Geomancer`, and `Forgotten Mine Quarry Brute`; these are not recovered Ascension creatures.
|
||||
- Keep Geolord Vek 254272 at the provisional boss anchor. Rotate Stonebreaker, Quake, Geode Barrage, Geospike, and Ruptured Earth, then begin Resonance at 50% health.
|
||||
- Spawn three clickable Resonite Shards 254051 at the authored triangular offsets in the JSON. Consuming a shard applies Resonite Cleanse 354031 and removes one active earth protection or prevents the next Resonance hit.
|
||||
- Give Geospike 254278 a high-contrast ground warning, eruption, and despawn sequence. Make crystal interaction bounds deliberately generous.
|
||||
|
||||
The crystal effect is constrained by spell text and changelog behavior but its exact server-side rule did not survive. Trash, timing, targeting, positions, respawn cadence, and visuals are custom-authored.
|
||||
|
||||
## Integration boundary
|
||||
|
||||
The recovery files intentionally do not change `compile-campaign-catalog.mjs`. Runtime integration should consume the recovered IDs and family lists while preserving three provenance labels:
|
||||
|
||||
- `exact`: copied from checksummed client/catalog data.
|
||||
- `spellLinked`: an entry ID read directly from a DBC summon effect; its descriptive name can still be contextual.
|
||||
- `authored`: HealerMan timing, placement, visuals, or behavior.
|
||||
|
||||
Validate the recovery against the current catalogs and installed client with:
|
||||
|
||||
```powershell
|
||||
node scripts/dungeon-pipeline/validate-ascension-custom-dungeon-recovery.mjs
|
||||
```
|
||||
|
||||
Use `--skip-dbc` only on machines without the checksummed Area-52 client, or pass another byte-identical file with `--dbc <path>`.
|
||||
File diff suppressed because it is too large.
Load diff
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/TempestKeepArcane",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_TempestKeep/TK_Arcane.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/AuchindounDraenei",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Auchindoun/Draenei_wing.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/HellfireDemon",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/Hellfire/hellfire_DemonWing.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/TempestKeepAtrium",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_TempestKeep/TK_Atrium.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -10,7 +10,10 @@
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source-transform",
|
||||
"coordinateTransform": {"origin": [1262.4427, -60.8902, 1622.5397], "yawDegrees": 262.143},
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [58, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/Hellfire/Hellfire_ramparts.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/Sunwell5ManFix",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [70, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [70, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/QT_Sunwell_5Man/Sunwell_5Man.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/AuchindounEthereal",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Auchindoun/ethereal_wing.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/TempestKeepFactory",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_TempestKeep/TK_Factory.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/AuchindounDemon",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Auchindoun/demon_wing.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/AuchindounShadow",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [65, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Auchindoun/shadow_council_wing.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/HellfireMilitary",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/Hellfire/Hellfire_Military.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/CoilfangDraenei",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Coilfang/Coilfang_Draenei.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/CoilfangPumping",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Coilfang/Coilfang_Pumping.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -39,11 +39,11 @@
|
||||
"agentMaxSlope": 50
|
||||
},
|
||||
"review": {
|
||||
"entrance": "required",
|
||||
"entrance": "approved",
|
||||
"bossOrder": "required",
|
||||
"optionalEncounters": "required",
|
||||
"presentation": "required",
|
||||
"offMeshLinks": "required"
|
||||
"presentation": "approved",
|
||||
"offMeshLinks": "approved"
|
||||
},
|
||||
"exceptions": []
|
||||
}
|
||||
@@ -9,7 +9,10 @@
|
||||
"mapDirectory": "World/Maps/CoilfangMarsh",
|
||||
"environmentMode": "global-wmo",
|
||||
"coordinateAlignment": "source",
|
||||
"difficultyVariants": [{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]}],
|
||||
"difficultyVariants": [
|
||||
{"id": "normal", "difficulty": "normal", "spawnMask": 1, "levelRange": [60, 70]},
|
||||
{"id": "heroic", "difficulty": "heroic", "spawnMask": 2, "levelRange": [70, 70]}
|
||||
],
|
||||
"clientSource": {"rootEnvironmentVariable": "WOW_CLIENT_ROOT", "relativeDefault": "../wow335a"},
|
||||
"serverSource": {"rootEnvironmentVariable": "WOW_SERVER_DATA", "adapter": "normalized-json", "readOnly": true},
|
||||
"extraction": {"rootWmo": "World/wmo/Dungeon/OL_Coilfang/Coilfang_Marsh.wmo", "doodadSets": ["Set_$DefaultGlobal"]},
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"dungeonId": "stormwind-stockade",
|
||||
"navigationLinks": [
|
||||
{
|
||||
"id": "entrance-to-central-stairs",
|
||||
"start": [-66.674328, -23.150503, 5.501851],
|
||||
"end": [-67.664446, -23.755576, 4.493397],
|
||||
"bidirectional": true,
|
||||
"authoredReason": "Bridges the reviewed 1.537m Recast seam between the source entrance stairs and the central cell block."
|
||||
},
|
||||
{
|
||||
"id": "central-to-north-wing-stairs",
|
||||
"start": [-124.46789, -27.349338, 16.099782],
|
||||
"end": [-125.476344, -27.95441, 17.0899],
|
||||
"bidirectional": true,
|
||||
"authoredReason": "Bridges the reviewed 1.537m Recast seam from the central cell block to the north wing stairs."
|
||||
},
|
||||
{
|
||||
"id": "central-to-south-wing-stairs",
|
||||
"start": [-124.46789, -27.349338, -14.703893],
|
||||
"end": [-125.476344, -27.95441, -15.694011],
|
||||
"bidirectional": true,
|
||||
"authoredReason": "Bridges the reviewed 1.537m Recast seam from the central cell block to the south wing stairs."
|
||||
}
|
||||
],
|
||||
"traversalRamps": [
|
||||
{
|
||||
"id": "entrance-stair-ramp",
|
||||
"start": [-52.8, -18.16, 0.8],
|
||||
"end": [-72.4, -25.609, 0.8],
|
||||
"width": 10.8,
|
||||
"navigationBridge": {
|
||||
"linkId": "entrance-to-central-stairs",
|
||||
"startPortal": [[-66.674328, -23.150503, -3.904271], [-66.674328, -23.150503, 5.501851]],
|
||||
"endPortal": [[-67.664446, -23.755576, -2.895818], [-67.664446, -23.755576, 4.493397]]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "north-wing-stair-ramp",
|
||||
"start": [-129.17, -25.609, 11.7],
|
||||
"end": [-129.17, -33.944, 32.85],
|
||||
"width": 10.8,
|
||||
"navigationBridge": {
|
||||
"linkId": "central-to-north-wing-stairs",
|
||||
"startPortal": [[-133.878601, -27.349338, 16.099782], [-124.46789, -27.349338, 16.099782]],
|
||||
"endPortal": [[-132.668457, -27.95441, 17.0899], [-125.476344, -27.95441, 17.0899]]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "south-wing-stair-ramp",
|
||||
"start": [-129.17, -25.609, -10.3],
|
||||
"end": [-129.17, -33.944, -31.45],
|
||||
"width": 10.8,
|
||||
"navigationBridge": {
|
||||
"linkId": "central-to-south-wing-stairs",
|
||||
"startPortal": [[-133.878601, -27.349338, -14.703893], [-124.46789, -27.349338, -14.703893]],
|
||||
"endPortal": [[-132.668457, -27.95441, -15.694011], [-125.476344, -27.95441, -15.694011]]
|
||||
}
|
||||
}
|
||||
],
|
||||
"presentation": {
|
||||
"background": "#171815",
|
||||
"fog": {
|
||||
"color": "#1b1c18",
|
||||
"near": 44
|
||||
},
|
||||
"ambientLight": {
|
||||
"color": "#d8c9aa",
|
||||
"intensity": 0.58
|
||||
},
|
||||
"hemisphereLight": {
|
||||
"skyColor": "#cfc3a5",
|
||||
"groundColor": "#292820",
|
||||
"intensity": 0.86
|
||||
},
|
||||
"directionalLight": {
|
||||
"color": "#ffe0a8",
|
||||
"intensity": 1.1,
|
||||
"offset": [10, 18, -5]
|
||||
}
|
||||
},
|
||||
"validation": {
|
||||
"navigation": "green",
|
||||
"report": "PLAYTEST_NOTES.md",
|
||||
"warnings": [
|
||||
"Three reviewed smooth stair collision proxies and filled navigation bridges connect the entrance, central block, and both prison wings; minor decorative navmesh islands remain intentionally discarded.",
|
||||
"Stockades uses a dungeon-specific warm indoor lighting profile because the imported WMO has no baked lightmap or vertex-lighting channel."
|
||||
]
|
||||
}
|
||||
}
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "healer-man",
|
||||
"version": "0.1.17",
|
||||
"version": "0.1.37",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "healer-man",
|
||||
"version": "0.1.17",
|
||||
"version": "0.1.37",
|
||||
"dependencies": {
|
||||
"@capacitor/android": "8.4.1",
|
||||
"@capacitor/core": "8.4.1",
|
||||
|
||||
+24
-8
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "healer-man",
|
||||
"private": true,
|
||||
"version": "0.1.17",
|
||||
"version": "0.1.37",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --host 0.0.0.0",
|
||||
"dev:shelved": "vite --host 0.0.0.0 --mode shelved",
|
||||
"start": "node server/server.mjs",
|
||||
"db:init": "node scripts/init-game-database.mjs",
|
||||
"db:backup": "node scripts/backup-game-database.mjs",
|
||||
@@ -13,9 +14,10 @@
|
||||
"web:prepare": "node scripts/content/prepare-web-bootstrap.mjs",
|
||||
"android:prepare": "node scripts/content/prepare-android-bootstrap.mjs",
|
||||
"content:test": "node --test scripts/content/*.test.mjs",
|
||||
"effects:generate": "node scripts/combat-effects/generate-manifest.mjs --package-audio && node scripts/combat-effects/package-priest-original.mjs",
|
||||
"effects:audit": "node scripts/combat-effects/generate-manifest.mjs --package-audio --audit && node scripts/combat-effects/package-priest-original.mjs --audit",
|
||||
"effects:priest": "node scripts/combat-effects/package-priest-original.mjs",
|
||||
"effects:generate": "node scripts/combat-effects/generate-manifest.mjs --package-audio && node scripts/combat-effects/package-wow-original.mjs",
|
||||
"effects:audit": "node scripts/combat-effects/package-wow-original.mjs --audit",
|
||||
"effects:wow": "node scripts/combat-effects/package-wow-original.mjs",
|
||||
"effects:priest": "npm run effects:wow",
|
||||
"effects:test": "node --test scripts/combat-effects/*.test.mjs",
|
||||
"wow335:abilities": "node scripts/generate-wow335-abilities.mjs",
|
||||
"coa:sync": "node scripts/sync-ascension-coa.mjs",
|
||||
@@ -52,8 +54,11 @@
|
||||
"dungeon:five-player:import": "node scripts/dungeon-pipeline/import-five-player-dungeon.mjs",
|
||||
"dungeon:five-player:import:remaining": "node scripts/dungeon-pipeline/import-remaining-five-player-dungeons.mjs",
|
||||
"dungeon:five-player:verify": "node scripts/dungeon-pipeline/verify-five-player-dungeon-imports.mjs",
|
||||
"dungeon:wow:audit": "node scripts/dungeon-pipeline/audit-wow-dungeon-content.mjs",
|
||||
"dungeon:wow:audit": "vite-node scripts/dungeon-pipeline/audit-wow-dungeon-content.mjs",
|
||||
"dungeon:wow:functionality:audit": "vite-node scripts/dungeon-pipeline/audit-wow-dungeon-functionality.ts",
|
||||
"dungeon:wow:test": "vitest run src/game/wowDungeonContent.test.ts",
|
||||
"dungeon:wow:export-tool:test": "node --test scripts/dungeon-pipeline/wow-export-tool.test.mjs",
|
||||
"dungeon:ascension:recovery:validate": "node scripts/dungeon-pipeline/validate-ascension-custom-dungeon-recovery.mjs --skip-dbc",
|
||||
"dungeon:wow:all": "node scripts/dungeon-pipeline/run-all-wow-dungeons.mjs",
|
||||
"dungeon:extract": "node scripts/dungeon-pipeline/cli.mjs extract",
|
||||
"dungeon:creatures": "node scripts/dungeon-pipeline/cli.mjs creatures",
|
||||
@@ -65,6 +70,7 @@
|
||||
"dungeon:validate": "node scripts/dungeon-pipeline/cli.mjs validate",
|
||||
"arena:assets:build": "node scripts/arena-pipeline/build-wmo-arenas.mjs && node scripts/arena-pipeline/build-custom-arenas.mjs && node scripts/arena-pipeline/prepare-warnorken.mjs",
|
||||
"arena:assets:validate": "node scripts/arena-pipeline/validate-arenas.mjs",
|
||||
"arena:abilities:build": "node scripts/arena-pipeline/build-combat-runtime.mjs && node scripts/arena-pipeline/build-runtime-geometry.mjs",
|
||||
"dungeon:enable": "node scripts/dungeon-pipeline/cli.mjs enable",
|
||||
"runewaker:forsaken": "node \"%INIT_CWD%\\scripts\\runewaker-pipeline\\build-forsaken-abbey.mjs\"",
|
||||
"runewaker:forsaken:actors": "node scripts/runewaker-pipeline/build-forsaken-population.mjs --actors-only",
|
||||
@@ -76,6 +82,8 @@
|
||||
"runewaker:register:all": "node scripts/runewaker-pipeline/cli.mjs register-all",
|
||||
"runewaker:refresh:all": "node scripts/runewaker-pipeline/cli.mjs refresh-all",
|
||||
"runewaker:spells:refresh": "node scripts/runewaker-pipeline/export-spell-catalog.mjs",
|
||||
"runewaker:loot:refresh": "node scripts/runewaker-pipeline/export-loot-catalog.mjs",
|
||||
"runewaker:audit:formula-loot": "node --test scripts/runewaker-pipeline/runewaker-formula-export.test.mjs scripts/runewaker-pipeline/runewaker-loot-import.test.mjs && vitest run src/game/runewakerCombatFormula.test.ts src/game/runewakerLootCatalog.test.ts",
|
||||
"runewaker:bosses:refresh": "npm run runewaker:spells:refresh && node scripts/runewaker-pipeline/import-boss-mechanics.mjs",
|
||||
"runewaker:players:refresh": "node scripts/runewaker-pipeline/export-player-catalog.mjs && npm run runewaker:players:avatars",
|
||||
"runewaker:players:avatars": "node scripts/runewaker-pipeline/build-population.mjs --recipe scripts/runewaker-pipeline/recipes/runewaker-player-avatars.json --actors-only && node scripts/runewaker-pipeline/finalize-player-avatar-manifest.mjs",
|
||||
@@ -86,8 +94,11 @@
|
||||
"runewaker:audit:pose-batch": "node scripts/runewaker-pipeline/audit-animated-poses.mjs",
|
||||
"runewaker:audit:pose-master": "node scripts/runewaker-pipeline/generate-master-actor-pose-audit.mjs",
|
||||
"runewaker:audit:animations": "npm run runewaker:audit:animation-readiness && vitest run src/game/runewakerDungeonAnimation.test.ts src/game/mobAnimation.test.ts src/game/runewakerDungeonRegistry.test.ts",
|
||||
"runewaker:audit:gameplay": "node scripts/runewaker-pipeline/audit-gameplay-content.mjs",
|
||||
"runewaker:audit:gameplay": "node scripts/runewaker-pipeline/audit-gameplay-content.mjs && node --test scripts/runewaker-pipeline/encounter-implementation-report.test.mjs",
|
||||
"runewaker:audit:encounters": "node scripts/runewaker-pipeline/audit-encounter-implementation.mjs && node --test scripts/runewaker-pipeline/encounter-implementation-report.test.mjs",
|
||||
"runewaker:audit:environment-assembly": "node scripts/runewaker-pipeline/audit-environment-assembly.mjs && node --test scripts/runewaker-pipeline/environment-assembly.test.mjs",
|
||||
"runewaker:audit:navigation": "node scripts/runewaker-pipeline/analyze-navigation-gaps.mjs && vitest run src/game/runewakerObjectiveRouteAudit.test.ts",
|
||||
"runewaker:audit:material-alpha": "node scripts/runewaker-pipeline/audit-material-alpha.mjs",
|
||||
"assets:wailing:instance": "gltf-transform instance ../wow335a/dungeon-export-work/WailingCaverns/converted/wailing-caverns.visual.glb src/assets/game/dungeons/wailing-caverns/wailing-caverns-visual.glb --min 3",
|
||||
"assets:wailing:creatures:animated": "node scripts/prepareAnimatedCreatures.mjs",
|
||||
"assets:wailing:creatures:combat": "node scripts/add-combat-creature-clips.mjs",
|
||||
@@ -100,9 +111,12 @@
|
||||
"assets:performance:audit": "node scripts/asset-pipeline/audit-environment-performance.mjs",
|
||||
"balance:benchmark": "vite-node scripts/combat-benchmark/run.ts",
|
||||
"balance:smoke": "vite-node scripts/combat-benchmark/run.ts --class mage --role damage --scenario damage-single-burst --seeds 1 --duration-scale 0.2",
|
||||
"prebuild": "npm run loot:generate && npm run web:prepare && npm run arena:assets:validate && npm run assets:ktx2:audit && npm run assets:performance:audit",
|
||||
"prebuild": "npm run loot:generate && npm run web:prepare && npm run assets:ktx2:audit && npm run assets:performance:audit",
|
||||
"build": "node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build",
|
||||
"build:android:web": "npm run prebuild && npm run android:prepare && node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode android",
|
||||
"postbuild": "node scripts/content/precompress-static.mjs dist && node scripts/content/verify-release-bundle.mjs dist",
|
||||
"prebuild:shelved": "npm run loot:generate && npm run arena:abilities:build && npm run web:prepare && npm run arena:assets:validate && npm run assets:ktx2:audit && npm run assets:performance:audit",
|
||||
"build:shelved": "node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode shelved",
|
||||
"build:android:web": "npm run prebuild && npm run android:prepare && node --max-old-space-size=8192 node_modules/typescript/bin/tsc -b && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build --mode android && node scripts/content/verify-release-bundle.mjs dist-android",
|
||||
"android:sync": "npm run build:android:web && cap sync android",
|
||||
"android:apk": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleDebug",
|
||||
"android:apk:release": "npm run android:sync && powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/runAndroidGradle.ps1 assembleRelease",
|
||||
@@ -112,6 +126,8 @@
|
||||
"preview": "vite preview --host 0.0.0.0",
|
||||
"pretest": "npm run loot:generate",
|
||||
"test": "vitest run",
|
||||
"pretest:shelved": "npm run loot:generate",
|
||||
"test:shelved": "vitest run --mode shelved",
|
||||
"test:watch": "vitest"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -11,6 +11,157 @@
|
||||
},
|
||||
"proceduralFallbacks": [],
|
||||
"assets": [
|
||||
{
|
||||
"sourceModel": "model/character/creature/atmo/act_atmo.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "937f0ae59fd87e011479d67deb7baf1023cdb0f38ef72d78d9e923b99c4088a9",
|
||||
"checksum": "9f7c1ad1c56ef51ee0511507f950ef97224ad86af561ded111cf1d5740c69999",
|
||||
"size": 1981260,
|
||||
"triangles": 3176,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-0.41683,
|
||||
0.00233,
|
||||
-0.15372
|
||||
],
|
||||
"max": [
|
||||
0.41683,
|
||||
2.00238,
|
||||
1.86916
|
||||
]
|
||||
},
|
||||
"groundOffset": -0.00233,
|
||||
"labelHeight": 2.35005,
|
||||
"markerRadius": 0.64732,
|
||||
"animations": [
|
||||
"Action - buff_sp01",
|
||||
"Action - buff01",
|
||||
"Cast - cast_sp01",
|
||||
"Cast - cast01",
|
||||
"Cast - casting_delay",
|
||||
"Action - continuous_buff",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Walk - walk_forward"
|
||||
],
|
||||
"id": "atmo",
|
||||
"baseActorId": "atmo",
|
||||
"fileName": "atmo.glb",
|
||||
"url": "/assets/creatures/grafu-castle/atmo.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/barbo_brother/act_barbo_brother.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "8caafccd798e69e31f09a0d270c14e938c913935e9fd427691299b0a5d2db2a2",
|
||||
"checksum": "af1cd20b7cc1d465c270860997f1245b2967005b1e5308b4a43401e983f883a4",
|
||||
"size": 2226000,
|
||||
"triangles": 3371,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-3.23727,
|
||||
-1.32298,
|
||||
-1.36027
|
||||
],
|
||||
"max": [
|
||||
1.54844,
|
||||
3.76779,
|
||||
1.15116
|
||||
]
|
||||
},
|
||||
"groundOffset": 1.32298,
|
||||
"labelHeight": 5.44077,
|
||||
"markerRadius": 1.53143,
|
||||
"animations": [
|
||||
"Action - knockdown_start",
|
||||
"Action - buff01",
|
||||
"Action - buff_sp01",
|
||||
"Cast - cast01",
|
||||
"Cast - cast_sp01",
|
||||
"Cast - casting_delay",
|
||||
"Action - continuous_buff",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Action - knockdown_recover",
|
||||
"Walk - walk_forward",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry"
|
||||
],
|
||||
"id": "barbo-brother",
|
||||
"baseActorId": "barbo-brother",
|
||||
"fileName": "barbo-brother.glb",
|
||||
"url": "/assets/creatures/grafu-castle/barbo-brother.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/black_hat/act_black_hat.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "1e16384ee51d97cb691ce2bb9c53e7f7c13c067bc40c09f4bec5fd8dc6f8b8f4",
|
||||
"checksum": "e3d5265c794b82d45c34bd7875e33c9f00680dc67c3cc18213f5df657f9ab76a",
|
||||
"size": 1965712,
|
||||
"triangles": 2222,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-0.96974,
|
||||
-0.01676,
|
||||
-0.63427
|
||||
],
|
||||
"max": [
|
||||
0.92815,
|
||||
3.14637,
|
||||
1.25604
|
||||
]
|
||||
},
|
||||
"groundOffset": 0.01676,
|
||||
"labelHeight": 3.51313,
|
||||
"markerRadius": 0.60732,
|
||||
"animations": [
|
||||
"Action - buff_sp01",
|
||||
"Action - buff01",
|
||||
"Cast - cast_sp01",
|
||||
"Cast - cast01",
|
||||
"Cast - casting_delay",
|
||||
"Action - continuous_buff",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Action - knockdown_end",
|
||||
"Action - knockdown_recover",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Walk - walk_forward"
|
||||
],
|
||||
"id": "black-hat",
|
||||
"baseActorId": "black-hat",
|
||||
"fileName": "black-hat.glb",
|
||||
"url": "/assets/creatures/grafu-castle/black-hat.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/black_hat/act_black_hat_blue.ros",
|
||||
"appearanceSignature": null,
|
||||
@@ -206,6 +357,58 @@
|
||||
"url": "/assets/creatures/grafu-castle/controlled-steel-guardian.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/lost_protector/act_cursed_steel_guardian.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "b31342cb3ee28f6d6b0b70af334ab835e5212722bc99d0c8818568d5b9e079df",
|
||||
"checksum": "3ec7660d4e1b475ec9ae290c304802dd4ba174048fac0781ae25474a718227fe",
|
||||
"size": 1151612,
|
||||
"triangles": 2201,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-0.97829,
|
||||
-0.00095,
|
||||
-0.38972
|
||||
],
|
||||
"max": [
|
||||
0.97829,
|
||||
2.01359,
|
||||
0.26596
|
||||
]
|
||||
},
|
||||
"groundOffset": 0.00095,
|
||||
"labelHeight": 2.36454,
|
||||
"markerRadius": 0.62611,
|
||||
"animations": [
|
||||
"Attack - 1h_attack01",
|
||||
"Attack - 1h_attack02",
|
||||
"Idle - 1h_idle",
|
||||
"Action - 1h_parry",
|
||||
"Cast - casting01",
|
||||
"Cast - casting02",
|
||||
"Cast - casting_delay",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Walk - walk_forward",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Action - knockdown_end",
|
||||
"Action - knockdown_recover"
|
||||
],
|
||||
"id": "cursed-steel-guardian",
|
||||
"baseActorId": "cursed-steel-guardian",
|
||||
"fileName": "cursed-steel-guardian.glb",
|
||||
"url": "/assets/creatures/grafu-castle/cursed-steel-guardian.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/elder_myconid/act_elder_myconid.ros",
|
||||
"appearanceSignature": null,
|
||||
@@ -924,6 +1127,56 @@
|
||||
"url": "/assets/creatures/grafu-castle/hm-male-image-585705.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/karth/act_karth.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "18d43dd054c85512bfdbde50093c9dee6b368cef088d7c0f6cc3e50fff8e3ea3",
|
||||
"checksum": "ac96b24461b39cdfae7810097dbe6698f0d7ce1afe235df04d72144dceef893d",
|
||||
"size": 1993572,
|
||||
"triangles": 3052,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-1.18195,
|
||||
-0.00007,
|
||||
-0.72488
|
||||
],
|
||||
"max": [
|
||||
1.18195,
|
||||
2.6109,
|
||||
0.72657
|
||||
]
|
||||
},
|
||||
"groundOffset": 0.00007,
|
||||
"labelHeight": 2.96097,
|
||||
"markerRadius": 0.75645,
|
||||
"animations": [
|
||||
"Walk - walk_forward",
|
||||
"Action - buff01",
|
||||
"Action - buff_sp01",
|
||||
"Cast - cast01",
|
||||
"Cast - cast_sp01",
|
||||
"Cast - casting_delay",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Idle - crouch_idle",
|
||||
"Action - spawn"
|
||||
],
|
||||
"id": "karth",
|
||||
"baseActorId": "karth",
|
||||
"fileName": "karth.glb",
|
||||
"url": "/assets/creatures/grafu-castle/karth.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/karth/act_karth_01.ros",
|
||||
"appearanceSignature": null,
|
||||
@@ -1019,6 +1272,221 @@
|
||||
"fileName": "milk-scarab-blue.glb",
|
||||
"url": "/assets/creatures/grafu-castle/milk-scarab-blue.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/mount_millenium_chimera/act_mount_millenium_chimera_laby.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "1024bb257d901842c6bb7303eaba66399d26c28b680a7d8fadf4ee49c4b27a06",
|
||||
"checksum": "7cb4ae344d3a46094b96faebdc6274eace04eb894de64ee87ac7bb7a1309b321",
|
||||
"size": 1217348,
|
||||
"triangles": 3086,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-0.4686,
|
||||
-0.01121,
|
||||
-2.26974
|
||||
],
|
||||
"max": [
|
||||
0.4686,
|
||||
1.73369,
|
||||
1.59992
|
||||
]
|
||||
},
|
||||
"groundOffset": 0.01121,
|
||||
"labelHeight": 2.0949,
|
||||
"markerRadius": 1.23829,
|
||||
"animations": [
|
||||
"Cast - casting01",
|
||||
"Cast - casting02",
|
||||
"Cast - casting_delay",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Action - jump_down",
|
||||
"Action - jump_end_back",
|
||||
"Action - jump_end_run",
|
||||
"Action - jump_inplace",
|
||||
"Action - jump_loop",
|
||||
"Action - jump_up",
|
||||
"Run - run_back",
|
||||
"Run - run_forward",
|
||||
"Action - shuffle_left",
|
||||
"Action - shuffle_right",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Walk - walk_forward"
|
||||
],
|
||||
"id": "mount-millenium-chimera-laby",
|
||||
"baseActorId": "mount-millenium-chimera-laby",
|
||||
"fileName": "mount-millenium-chimera-laby.glb",
|
||||
"url": "/assets/creatures/grafu-castle/mount-millenium-chimera-laby.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/enraged_big_bear/act_enraged_big_bear_purple.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "22700bad0c13bad05bb722a7c6aa9959e4634217974b559901ab99e55fbfaca7",
|
||||
"checksum": "36738dc204f6d574f56ee41044d61ae88a885d0dc4b411f7ea70d76e84d48a4b",
|
||||
"size": 935312,
|
||||
"triangles": 1568,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-1.65768,
|
||||
0.00083,
|
||||
-0.63438
|
||||
],
|
||||
"max": [
|
||||
1.66988,
|
||||
2.50467,
|
||||
0.55741
|
||||
]
|
||||
},
|
||||
"groundOffset": -0.00083,
|
||||
"labelHeight": 2.85384,
|
||||
"markerRadius": 1.06482,
|
||||
"animations": [
|
||||
"Cast - cast01",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Action - buff01",
|
||||
"Action - buff_sp02",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Action - knockdown_end",
|
||||
"Action - knockdown_recover",
|
||||
"Run - run_back",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Walk - walk_forward",
|
||||
"Idle - knockdown_idle",
|
||||
"Cast - casting_delay",
|
||||
"Action - jump_down",
|
||||
"Action - jump_end_back",
|
||||
"Action - jump_end_run",
|
||||
"Action - jump_loop",
|
||||
"Action - jump_up"
|
||||
],
|
||||
"id": "enraged-big-bear-purple",
|
||||
"baseActorId": "enraged-big-bear-purple",
|
||||
"fileName": "enraged-big-bear-purple.glb",
|
||||
"url": "/assets/creatures/grafu-castle/enraged-big-bear-purple.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/enraged_big_bear/act_enraged_big_bear_cream.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "e1d1810f37182d2f2c5e7dcf72aae4da75cbd5f056a5445df8dc17b2539d5bcb",
|
||||
"checksum": "1e327d246fdcebf9b35891f37ccc3aed3ff7bfb4f2c7355c1381d7e0231e956c",
|
||||
"size": 941160,
|
||||
"triangles": 1568,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-1.65768,
|
||||
0.00083,
|
||||
-0.63438
|
||||
],
|
||||
"max": [
|
||||
1.66988,
|
||||
2.50467,
|
||||
0.55741
|
||||
]
|
||||
},
|
||||
"groundOffset": -0.00083,
|
||||
"labelHeight": 2.85384,
|
||||
"markerRadius": 1.06482,
|
||||
"animations": [
|
||||
"Cast - cast01",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Action - buff01",
|
||||
"Action - buff_sp02",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Action - knockdown_end",
|
||||
"Action - knockdown_recover",
|
||||
"Run - run_back",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Walk - walk_forward",
|
||||
"Idle - knockdown_idle",
|
||||
"Cast - casting_delay",
|
||||
"Action - jump_down",
|
||||
"Action - jump_end_back",
|
||||
"Action - jump_end_run",
|
||||
"Action - jump_loop",
|
||||
"Action - jump_up"
|
||||
],
|
||||
"id": "enraged-big-bear-cream",
|
||||
"baseActorId": "enraged-big-bear-cream",
|
||||
"fileName": "enraged-big-bear-cream.glb",
|
||||
"url": "/assets/creatures/grafu-castle/enraged-big-bear-cream.glb",
|
||||
"rotationY": 0
|
||||
},
|
||||
{
|
||||
"sourceModel": "model/character/creature/rafael_bakderr/act_rafael_bakderr.ros",
|
||||
"appearanceSignature": null,
|
||||
"sourceModelSha256": "117287fd6f1ea813a73f846a0cde6bfd6d6f5ff00778dde82a1d7308aaafb0cc",
|
||||
"checksum": "06e87d84a7cb3e15d610b0f18528cb1331c80db4597c67c49267aa4a627386dc",
|
||||
"size": 1705044,
|
||||
"triangles": 3437,
|
||||
"bounds": {
|
||||
"min": [
|
||||
-0.59518,
|
||||
0.00039,
|
||||
-0.34992
|
||||
],
|
||||
"max": [
|
||||
0.59473,
|
||||
2.21216,
|
||||
0.25268
|
||||
]
|
||||
},
|
||||
"groundOffset": -0.00039,
|
||||
"labelHeight": 2.56177,
|
||||
"markerRadius": 0.4,
|
||||
"animations": [
|
||||
"Action - buff01",
|
||||
"Action - buff_sp01",
|
||||
"Cast - cast01",
|
||||
"Cast - cast_sp01",
|
||||
"Cast - casting_delay",
|
||||
"Action - continuous_buff",
|
||||
"Terminal Pose - dead",
|
||||
"Death - death",
|
||||
"Action - dodge",
|
||||
"Wound - hurt",
|
||||
"Idle - idle02",
|
||||
"Idle - idle03",
|
||||
"Run - run_forward",
|
||||
"Stand - stand_idle01",
|
||||
"Attack - unarmed_attack01",
|
||||
"Attack - unarmed_attack02",
|
||||
"Idle - unarmed_idle",
|
||||
"Action - unarmed_parry",
|
||||
"Walk - walk_forward"
|
||||
],
|
||||
"id": "rafael-bakderr",
|
||||
"baseActorId": "rafael-bakderr",
|
||||
"fileName": "rafael-bakderr.glb",
|
||||
"url": "/assets/creatures/grafu-castle/rafael-bakderr.glb",
|
||||
"rotationY": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,9 +8,9 @@
|
||||
"valid": true
|
||||
}
|
||||
],
|
||||
"gridCells": 2074478,
|
||||
"gridHeight": 994,
|
||||
"gridWidth": 2087,
|
||||
"gridCells": 4046196,
|
||||
"gridHeight": 1812,
|
||||
"gridWidth": 2233,
|
||||
"ignoredEmptyTilePackingFailures": 0,
|
||||
"intermediateRetention": null,
|
||||
"mode": "solo",
|
||||
@@ -21,55 +21,55 @@
|
||||
"tileRows": 1,
|
||||
"tileSize": null
|
||||
},
|
||||
"dungeonId": "black-rook-hold-arena",
|
||||
"dungeonId": "arena-runtime-black-rook",
|
||||
"generator": "@recast-navigation/three@0.43.1",
|
||||
"geometry": {
|
||||
"bounds": [
|
||||
[
|
||||
-92.08255767822266,
|
||||
-16.14961814880371,
|
||||
-279.4311218261719
|
||||
-102.83599853515625,
|
||||
-49.58357238769531,
|
||||
-373.1059875488281
|
||||
],
|
||||
[
|
||||
321.9174499511719,
|
||||
37.25038528442383,
|
||||
-82.83113098144531
|
||||
340.9640197753906,
|
||||
410.1164245605469,
|
||||
-28.105987548828125
|
||||
]
|
||||
],
|
||||
"boundsTolerance": 0.4,
|
||||
"rejectedOutOfBoundsTriangles": 0,
|
||||
"sourceTriangles": 7170,
|
||||
"sourceVertices": 21510,
|
||||
"triangles": 7170,
|
||||
"vertices": 21510
|
||||
"sourceTriangles": 26724,
|
||||
"sourceVertices": 80172,
|
||||
"triangles": 26724,
|
||||
"vertices": 80172
|
||||
},
|
||||
"input": {
|
||||
"bounds": [
|
||||
[
|
||||
-93.08255767822266,
|
||||
-39.549617767333984,
|
||||
-280.0311279296875
|
||||
-103.83599853515625,
|
||||
-98.98357391357422,
|
||||
-375.3059997558594
|
||||
],
|
||||
[
|
||||
324.1624450683594,
|
||||
69.1881103515625,
|
||||
-81.26593780517578
|
||||
342.7250061035156,
|
||||
410.1130065917969,
|
||||
-13.022000312805176
|
||||
]
|
||||
],
|
||||
"degenerateTriangleCount": 0,
|
||||
"degenerateTriangleCount": 33,
|
||||
"invalidIndexCount": 0,
|
||||
"meshCount": 1,
|
||||
"nonFiniteCoordinateCount": 0,
|
||||
"triangleCount": 49821,
|
||||
"vertexCount": 149463
|
||||
"triangleCount": 192419,
|
||||
"vertexCount": 577257
|
||||
},
|
||||
"inputChunkChecksums": {
|
||||
"public/assets/game/arenas/black-rook-hold-arena/navigation-collision.glb": "285bdce7d5b5085eef7d25f82a5b6a5b380605a310c539e8e94984182c835749"
|
||||
"playtest-artifacts/black-rook-combined.glb": "aa4f39620e2562cea0bf39ec54ff377b19eef799eaa08f0e9ea81896f8a31aba"
|
||||
},
|
||||
"inputChunks": [
|
||||
"public/assets/game/arenas/black-rook-hold-arena/navigation-collision.glb"
|
||||
"playtest-artifacts/black-rook-combined.glb"
|
||||
],
|
||||
"output": "public/assets/game/arenas/black-rook-hold-arena/navigation-raw.glb",
|
||||
"output": "playtest-artifacts/black-rook-navigation.glb",
|
||||
"schemaVersion": 1,
|
||||
"settings": {
|
||||
"agentHeight": 1.8,
|
||||
@@ -80,35 +80,6 @@
|
||||
"cellSize": 0.2
|
||||
},
|
||||
"source": {
|
||||
"adtFiles": [
|
||||
"blackrookholdarena_28_28.adt",
|
||||
"blackrookholdarena_28_29.adt",
|
||||
"blackrookholdarena_28_30.adt",
|
||||
"blackrookholdarena_29_28.adt",
|
||||
"blackrookholdarena_29_29.adt",
|
||||
"blackrookholdarena_29_30.adt",
|
||||
"blackrookholdarena_30_28.adt",
|
||||
"blackrookholdarena_30_29.adt",
|
||||
"blackrookholdarena_30_30.adt"
|
||||
],
|
||||
"gameplayBounds": {
|
||||
"max": [
|
||||
312,
|
||||
30,
|
||||
-110
|
||||
],
|
||||
"min": [
|
||||
-82,
|
||||
-10,
|
||||
-242
|
||||
]
|
||||
},
|
||||
"kind": "adt-placed-wmo-repair",
|
||||
"legacyCollision": "public/assets/game/manastorm/1784-blackrookholdarena/collision.glb",
|
||||
"placedWmos": [
|
||||
"../LadiksMPQEditor/patch-WC1/WORLD/WMO/BROKENISLES/VALSHARAH/7VS_BLACKROOKHOLD_MICRO01.WMO",
|
||||
"../LadiksMPQEditor/patch-WC1/WORLD/WMO/PVP/BUILDINGS/BLACKROOKHOLD/7VS_BLACKROOKHOLD_ARENA.WMO",
|
||||
"../LadiksMPQEditor/patch-WC1/WORLD/WMO/PVP/BUILDINGS/BLACKROOKHOLD/BLACKROOKHOLD_ARENA_PLATFORMTEST.WMO"
|
||||
]
|
||||
"kind": "runtime-collision-repair"
|
||||
}
|
||||
}
|
||||
@@ -56,15 +56,16 @@
|
||||
"collisionChunks": 4
|
||||
},
|
||||
"navigation": {
|
||||
"triangles": 4948,
|
||||
"vertices": 14844,
|
||||
"sourceComponents": 805,
|
||||
"triangles": 783,
|
||||
"vertices": 2349,
|
||||
"sourceComponents": 1078,
|
||||
"spawnDistances": [
|
||||
0.009180110009213026,
|
||||
0.01568599673120942
|
||||
2.095,
|
||||
1.026
|
||||
],
|
||||
"rawTriangles": 7170,
|
||||
"report": "recast-report.json"
|
||||
"rawTriangles": 26724,
|
||||
"report": "recast-report.json",
|
||||
"repair": "Rebaked against restored collision. Both teams spawn on the connected interior floor, not the terrain above the arena."
|
||||
},
|
||||
"assets": [
|
||||
{
|
||||
@@ -94,8 +95,8 @@
|
||||
},
|
||||
{
|
||||
"file": "navigation.glb",
|
||||
"bytes": 238420,
|
||||
"sha256": "e463a0220842a4793b2150e95f4fd704f575def288813c781792b021afe8d3f0"
|
||||
"bytes": 38500,
|
||||
"sha256": "ee2df9f0c2dbd14d53e84fd66efcc4b48a93ac99c57c27a7d1ea876d29899910"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
{"schemaVersion":1,"generatedAt":null,"sources":[{"kind":"wow335","path":"../wow335a/Data/enUS/patch-enUS.MPQ","sha256":"9f0088da35c5ed0b5106cd20e422611489e435b74043e520e02221e0ce1b1af1"},{"kind":"ascension","path":"../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc","sha256":"2f77f18b91ffbae32a19568e4bc05ec78ee384b6ba8dd2a6e05f0e97abbb2dce"},{"kind":"runewaker","path":"../Runewaker/Resource/data","sha256":"dd5ffcfd74b253dcecaa2f41a931a634dd45ef5f7c13e849d539ddc47fdee1f9"}],"coverage":{"requested":6383,"authentic":5144,"fallback":1239,"fallbackKeys":["wow335:20647","wow335:2687","wow335:64380","wow335:20187","wow335:25781","wow335:20185","wow335:20186","wow335:5502","wow335:20184","wow335:53651","wow335:31898","wow335:31804","wow335:53733","wow335:53726","wow335:75","wow335:13481","wow335:781","wow335:34026","wow335:34754","wow335:47633","wow335:46584","wow335:26372","wow335:49278","wow335:49279","wow335:44450","wow335:34913","wow335:43043","wow335:43044","wow335:55342","wow335:29886","wow335:58889","wow335:5225","wow335:52610","ascension:705153","ascension:705154","ascension:560456","ascension:800193","ascension:561322","ascension:804138","ascension:805821","ascension:801767","ascension:707583","ascension:705160","ascension:705184","ascension:705185","ascension:804746","ascension:706346","ascension:706347","ascension:705238","ascension:92081","ascension:706354","ascension:92083","ascension:560906","ascension:707207","ascension:706326","ascension:706327","ascension:92082","ascension:705209","ascension:705210","ascension:705215","ascension:707721","ascension:705196","ascension:706804","ascension:706350","ascension:706351","ascension:705206","ascension:561314","ascension:705172","ascension:561321","ascension:705171","ascension:807861","ascension:800943","ascension:561394","ascension:705202","ascension:705241","ascension:705174","ascension:705170","ascension:705169","ascension:706353","ascension:560564","ascension:503408","ascension:503409","ascension:503410","ascension:503411","ascension:503412","ascension:503413","ascension:503414","ascension:705921","ascension:301297","ascension:572870","ascension:92085","ascension:705923","ascension:712396","ascension:802756","ascension:705906","ascension:705888","ascension:705852","ascension:681465","ascension:705889","ascension:705890","ascension:705873","ascension:806283","ascension:705849","ascension:705907","ascension:706368","ascension:705936","ascension:705937","ascension:705861","ascension:705909","ascension:503748","ascension:92084","ascension:705840","ascension:705841","ascension:92086","ascension:705911","ascension:705878","ascension:706538","ascension:300663","ascension:705903","ascension:705904","ascension:501220","ascension:501221","ascension:501222","ascension:501223","ascension:501224","ascension:501225","ascension:501226","ascension:501227","ascension:501228","ascension:705843","ascension:706482","ascension:501162","ascension:705848","ascension:705844","ascension:807296","ascension:707617","ascension:704500","ascension:560822","ascension:706266","ascension:707844","ascension:92089","ascension:681376","ascension:300465","ascension:92087","ascension:520251","ascension:705102","ascension:707842","ascension:520257","ascension:705108","ascension:804613","ascension:704607","ascension:705120","ascension:705151","ascension:92088","ascension:705105","ascension:560573","ascension:704360","ascension:301287","ascension:707513","ascension:704374","ascension:804609","ascension:300468","ascension:705128","ascension:805244","ascension:704613","ascension:524947","ascension:704612","ascension:807430","ascension:705113","ascension:705125","ascension:705133","ascension:705521","ascension:705522","ascension:705523","ascension:705498","ascension:707862","ascension:92091","ascension:680529","ascension:681484","ascension:806195","ascension:802011","ascension:705488","ascension:92094","ascension:705466","ascension:92093","ascension:705493","ascension:705454","ascension:789256","ascension:707230","ascension:706242","ascension:706243","ascension:705528","ascension:681092","ascension:804024","ascension:680253","ascension:705526","ascension:803638","ascension:705534","ascension:800165","ascension:520211","ascension:520212","ascension:520213","ascension:578297","ascension:574319","ascension:574320","ascension:807462","ascension:807887","ascension:705690","ascension:705691","ascension:92097","ascension:705675","ascension:707053","ascension:705720","ascension:705701","ascension:570722","ascension:92098","ascension:705647","ascension:300595","ascension:92096","ascension:705640","ascension:567542","ascension:705693","ascension:705641","ascension:705642","ascension:705656","ascension:705648","ascension:705649","ascension:707652","ascension:705651","ascension:705696","ascension:705697","ascension:705698","ascension:800699","ascension:807233","ascension:705659","ascension:705660","ascension:804040","ascension:705677","ascension:705689","ascension:567533","ascension:705Line truncated
|
||||
{"schemaVersion":1,"generatedAt":null,"sources":[{"kind":"wow335","path":"../wow335a/Data/enUS/patch-enUS.MPQ","sha256":"9f0088da35c5ed0b5106cd20e422611489e435b74043e520e02221e0ce1b1af1"},{"kind":"ascension","path":"../LadiksMPQEditor/client-current/area-52/patch-D/DBFilesClient/Spell.dbc","sha256":"2f77f18b91ffbae32a19568e4bc05ec78ee384b6ba8dd2a6e05f0e97abbb2dce"},{"kind":"runewaker","path":"../Runewaker/Resource/data","sha256":"dd5ffcfd74b253dcecaa2f41a931a634dd45ef5f7c13e849d539ddc47fdee1f9"}],"coverage":{"requested":6383,"authentic":5144,"fallback":1239,"fallbackKeys":["wow335:20647","wow335:2687","wow335:64380","wow335:20187","wow335:25781","wow335:20185","wow335:20186","wow335:5502","wow335:20184","wow335:53651","wow335:31898","wow335:31804","wow335:53733","wow335:53726","wow335:75","wow335:13481","wow335:781","wow335:34026","wow335:34754","wow335:47633","wow335:46584","wow335:26372","wow335:49278","wow335:49279","wow335:44450","wow335:34913","wow335:43043","wow335:43044","wow335:55342","wow335:29886","wow335:58889","wow335:5225","wow335:52610","ascension:705153","ascension:705154","ascension:560456","ascension:800193","ascension:561322","ascension:804138","ascension:805821","ascension:801767","ascension:707583","ascension:705160","ascension:705184","ascension:705185","ascension:804746","ascension:706346","ascension:706347","ascension:705238","ascension:92081","ascension:706354","ascension:92083","ascension:560906","ascension:707207","ascension:706326","ascension:706327","ascension:92082","ascension:705209","ascension:705210","ascension:705215","ascension:707721","ascension:705196","ascension:706804","ascension:706350","ascension:706351","ascension:705206","ascension:561314","ascension:705172","ascension:561321","ascension:705171","ascension:807861","ascension:800943","ascension:561394","ascension:705202","ascension:705241","ascension:705174","ascension:705170","ascension:705169","ascension:706353","ascension:560564","ascension:503408","ascension:503409","ascension:503410","ascension:503411","ascension:503412","ascension:503413","ascension:503414","ascension:705921","ascension:301297","ascension:572870","ascension:92085","ascension:705923","ascension:712396","ascension:802756","ascension:705906","ascension:705888","ascension:705852","ascension:681465","ascension:705889","ascension:705890","ascension:705873","ascension:806283","ascension:705849","ascension:705907","ascension:706368","ascension:705936","ascension:705937","ascension:705861","ascension:705909","ascension:503748","ascension:92084","ascension:705840","ascension:705841","ascension:92086","ascension:705911","ascension:705878","ascension:706538","ascension:300663","ascension:705903","ascension:705904","ascension:501220","ascension:501221","ascension:501222","ascension:501223","ascension:501224","ascension:501225","ascension:501226","ascension:501227","ascension:501228","ascension:705843","ascension:706482","ascension:501162","ascension:705848","ascension:705844","ascension:807296","ascension:707617","ascension:704500","ascension:560822","ascension:706266","ascension:707844","ascension:92089","ascension:681376","ascension:300465","ascension:92087","ascension:520251","ascension:705102","ascension:707842","ascension:520257","ascension:705108","ascension:804613","ascension:704607","ascension:705120","ascension:705151","ascension:92088","ascension:705105","ascension:560573","ascension:704360","ascension:301287","ascension:707513","ascension:704374","ascension:804609","ascension:300468","ascension:705128","ascension:805244","ascension:704613","ascension:524947","ascension:704612","ascension:807430","ascension:705113","ascension:705125","ascension:705133","ascension:705521","ascension:705522","ascension:705523","ascension:705498","ascension:707862","ascension:92091","ascension:680529","ascension:681484","ascension:806195","ascension:802011","ascension:705488","ascension:92094","ascension:705466","ascension:92093","ascension:705493","ascension:705454","ascension:789256","ascension:707230","ascension:706242","ascension:706243","ascension:705528","ascension:681092","ascension:804024","ascension:680253","ascension:705526","ascension:803638","ascension:705534","ascension:800165","ascension:520211","ascension:520212","ascension:520213","ascension:578297","ascension:574319","ascension:574320","ascension:807462","ascension:807887","ascension:705690","ascension:705691","ascension:92097","ascension:705675","ascension:707053","ascension:705720","ascension:705701","ascension:570722","ascension:92098","ascension:705647","ascension:300595","ascension:92096","ascension:705640","ascension:567542","ascension:705693","ascension:705641","ascension:705642","ascension:705656","ascension:705648","ascension:705649","ascension:707652","ascension:705651","ascension:705696","ascension:705697","ascension:705698","ascension:800699","ascension:807233","ascension:705659","ascension:705660","ascension:804040","ascension:705677","ascension:705689","ascension:567533","ascension:705Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aimedshot_impact_chest.m2","sourceSha256":"890e9d3428eda7aea605a060e05936d8c431b3e39acb86a22b9882d52d89ffbf","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1600,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":0,"pivot":[0,0.06144142150878906,0.1474645584821701],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.023655785247683525,0.11720481514930725],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.033393073827028275,0.032582495361566544,0.1633438616991043],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.0412614606320858,0.1684097796678543],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.014023211784660816,0.34734097123146057],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\STAR1.BLP","sourcePath":"spells/star1.blp","sourceSha256":"9de8215ce7987289aa00a287cec5f0bb72f5bdafd7fe0f65461e5a300e7f5215","url":"/assets/game/combat-effects/original/wow335/all/textures/9de8215ce7987289aa00.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE10D.BLP","sourcePath":"spells/shockwave10d.blp","sourceSha256":"5f4d313d78c1e80988c2a6021c42a0f380200da405028ea0f8abcaf5d20abd10","url":"/assets/game/combat-effects/original/wow335/all/textures/5f4d313d78c1e80988c2.png"},{"type":0,"flags":0,"filename":"PARTICLES\\RED_GLOW2.BLP","sourcePath":"particles/red_glow2.blp","sourceSha256":"cbb04e2a009db6aad65487e3b562e7214841e6b89247c703e9900404a7e551ca","url":"/assets/game/combat-effects/original/wow335/all/textures/cbb04e2a009db6aad654.png"},{"type":0,"flags":0,"filename":"SPELLS\\TOONSMOKE16.BLP","sourcePath":"spells/toonsmoke16.blp","sourceSha256":"d2a2ba95f728b223e03ceaf316d9abbf709e3fd0ec5c2628d4bf5ec05aab4062","url":"/assets/game/combat-effects/original/wow335/all/textures/d2a2ba95f728b223e03c.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6","url":"/assets/game/combat-effects/original/wow335/all/textures/af8b9a0098956c5acf18.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/aimedshot_impact_chest.m2","normalizedSourceModel":"spells/aimedshot_impact_chest.m2","sourceSha256":"890e9d3428eda7aea605a060e05936d8c431b3e39acb86a22b9882d52d89ffbf","durationMs":1600,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1600,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\STAR1.BLP","sourcePath":"spells/star1.blp","sourceSha256":"9de8215ce7987289aa00a287cec5f0bb72f5bdafd7fe0f65461e5a300e7f5215","url":"/assets/game/combat-effects/original/wow335/all/textures/9de8215ce7987289aa00.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE10D.BLP","sourcePath":"spells/shockwave10d.blp","sourceSha256":"5f4d313d78c1e80988c2a6021c42a0f380200da405028ea0f8abcaf5d20abd10","url":"/assets/game/combat-effects/original/wow335/all/textures/5f4d313d78c1e80988c2.png"},{"type":0,"flags":0,"filename":"PARTICLES\\RED_GLOW2.BLP","sourcePath":"particles/red_glow2.blp","sourceSha256":"cbb04e2a009db6aad65487e3b562e7214841e6b89247c703e9900404a7e551ca","url":"/assets/game/combat-effects/original/wow335/all/textures/cbb04e2a009db6aad654.png"},{"type":0,"flags":0,"filename":"SPELLS\\TOONSMOKE16.BLP","sourcePath":"spells/toonsmoke16.blp","sourceSha256":"d2a2ba95f728b223e03ceaf316d9abbf709e3fd0ec5c2628d4bf5ec05aab4062","url":"/assets/game/combat-effects/original/wow335/all/textures/d2a2ba95f728b223e03c.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6","url":"/assets/game/combat-effects/original/wow335/all/textures/af8b9a0098956c5acf18.png"}],"particles":[{"id":4294967295,"flags":295961,"position":[0,0.06144142150878906,0.1474645584821701],"parentBone":0,"textureIndex":0,"geometryModel":"","recursionModel":"","blLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/amplifymagic_impact_base.m2","sourceSha256":"8b3aeb71718d79af052ac9fb922a6c272edc3ce0a8b9eef4c87b75ac60305c03","sourceSkinSha256":"fadf60659797ceccbe8c5ae25c127443644e0a5b6b70623cff0b35ceb6dd11f7","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":2500,"moveSpeed":0,"flags":33}],"globalSequences":[1733,1333,5500,400],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,2500],"values":[[0,0,0],[0,0,0],[0,0,5.059416770935059]]}]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,433,867,1300,1733],"values":[[0,0,0,1],[0,0,0.707083346049379,0.707083346049379],[0,0,1,0],[0,0,0.7071138645588549,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,1367,2767,4133,5500],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,334,2500],"values":[[2.479999303817749,2.4800000190734863,2.4800007343292236],[0.9084246754646301,0.9084200263023376,0.9084252715110779],[0.9799997210502625,0.9800000190734863,0.9800003170967102],[0.9799997210502625,0.9800000190734863,0.9800003170967102]]}]}},{"parent":1,"flags":512,"pivot":[0,0,2.6388888359069824],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,2500],"values":[[0,0,0],[0,0,-2.6388888359069824]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0,0,1.3194444179534912],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,2500],"values":[[0,0,0],[0,0,-1.3194444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":512,"pivot":[0,0,2.6388888359069824],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,334,2500],"values":[[2.479999303817749,2.4800000190734863,2.4800007343292236],[0.9084246754646301,0.9084200263023376,0.9084252715110779],[0.9799997210502625,0.9800000190734863,0.9800003170967102],[0.9799997210502625,0.9800000190734863,0.9800003170967102]]}]}},{"parent":4,"flags":512,"pivot":[0,0,1.3194444179534912],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,334,2500],"values":[[2.479999303817749,2.4800000190734863,2.4800007343292236],[0.9084246754646301,0.9084200263023376,0.9084252715110779],[0.9799997210502625,0.9800000190734863,0.9800003170967102],[0.9799997210502625,0.9800000190734863,0.9800003170967102]]}]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1867,2500],"values":[[0,0,0],[0,0,1.6666666269302368],[0,0,1.6666666269302368]]}]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,333,667,1000,1333],"values":[[0,0,0,1],[0,0,0.707083346049379,0.707083346049379],[0,0,1,0],[0,0,0.7071138645588549,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0,1.3513141870498657],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0,0.47458162903785706],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":7,"flags":0,"pivot":[-0.2777777910232544,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":23,"blendMode":4},{"flags":23,"blendMode":4},{"flags":23,"blendMode":4},{"flags":23,"blendMode":4},{"flags":23,"blendMode":4},{"flags":23,"blendMoLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/antimagic_precast_hand.m2","sourceSha256":"e3bf3a8547725652e2c6edf2dbc989d7df3c3e1183a339454f16ebd850b2133d","sourceSkinSha256":"b678120623f5862988e80fd98aee74ba7083e63006d6cc9fe96206fe43d7e6c2","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":32}],"globalSequences":[0],"bones":[{"parent":-1,"flags":8,"pivot":[0,0.00425790436565876,-0.003779775695875287],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Creature\\Spells\\Shockwave4white.blp","sourcePath":"creature/spells/shockwave4white.blp","sourceSha256":"04c24ab83e329c0dfb0ebd80b8f114667081844a1375da847d0984eaf4e4b8bf","url":"/assets/game/combat-effects/original/wow335/all/textures/04c24ab83e329c0dfb0e.png"},{"type":0,"flags":0,"filename":"Particles\\Green_Glow3.blp","sourcePath":"particles/green_glow3.blp","sourceSha256":"a25958a55112d2e932a0e64832c1a4f5a2e8aefb5270be9d9dabcfcd33edf22a","url":"/assets/game/combat-effects/original/wow335/all/textures/a25958a55112d2e932a0.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/antimagic_precast_hand.m2","normalizedSourceModel":"spells/antimagic_precast_hand.m2","sourceSha256":"e3bf3a8547725652e2c6edf2dbc989d7df3c3e1183a339454f16ebd850b2133d","durationMs":1000,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":32}],"textures":[{"type":0,"flags":0,"filename":"Creature\\Spells\\Shockwave4white.blp","sourcePath":"creature/spells/shockwave4white.blp","sourceSha256":"04c24ab83e329c0dfb0ebd80b8f114667081844a1375da847d0984eaf4e4b8bf","url":"/assets/game/combat-effects/original/wow335/all/textures/04c24ab83e329c0dfb0e.png"},{"type":0,"flags":0,"filename":"Particles\\Green_Glow3.blp","sourcePath":"particles/green_glow3.blp","sourceSha256":"a25958a55112d2e932a0e64832c1a4f5a2e8aefb5270be9d9dabcfcd33edf22a","url":"/assets/game/combat-effects/original/wow335/all/textures/a25958a55112d2e932a0.png"}],"particles":[{"id":4294967295,"flags":132121,"position":[0,0,0],"parentBone":2,"textureIndex":0,"geometryModel":"","recursionModel":"","blendMode":4,"emitterType":1,"particleColorIndex":0,"particleType":0,"headOrTail":0,"textureTileRotation":0,"textureRows":1,"textureColumns":1,"lifespanVariation":0,"emissionRateVariation":0,"scaleVariation":[0,0],"tailLength":10,"interpolation":{"emissionSpeed":0,"speedVariation":0,"verticalRange":0,"horizontalRange":0,"gravity":0,"lifespan":0,"emissionRate":0,"emissionAreaLength":0,"emissionAreaWidth":0,"zSource":0,"enabled":0},"globalSequence":{"emissionSpeed":-1,"speedVariation":-1,"verticalRange":-1,"horizontalRange":-1,"gravity":-1,"lifespan":-1,"emissionRate":-1,"emissionAreaLength":-1,"emissionAreaWidth":-1,"zSource":-1,"enabled":-1},"samples":{"emissionSpeed":[{"timeMs":0,"value":0.1111111119389534}],"speedVariation":[{"timeMs":0,"value":0.19999998807907104}],"verticalRange":[{"timeMs":0,"value":3.1415927410125732}],"horizontalRange":[{"timeMs":0,"value":6.2831854820251465}],"gravity":[{"timeMs":0,"value":0}],"lifespan":[{"timeMs":0,"value":1.2000000476837158}],"emissionRate":[{"timeMs":0,"value":10}],"emissionAreaLength":[{"timeMs":0,"value":0}],"emissionAreaWidth":[{"timeMs":0,"value":0}],"zSource":[{"timeMs":0,"value":0}],"color":[{"timestamp":0,"normalizedTime":0,"value":[166,216.00001525878906,46]},{"timestamp":21299,"normalizedTime":0.6500137333292642,"value":[103.00000762939453,230.00001525878906,0]},{"timestamp":32767,"normalizedTime":1,"value":[68,205.00001525878906,0]}],"alpha":[{"timestamp":0,"normalizedTime":0,"value":32767},{"timestamp":21299,"normalizedTime":0.6500137333292642,"value":32767},{"timestamp":32767,"normalizedTime":1,"value":4240}],"scale":[{"timestamp":0,"normalizedTime":0,"value":[0.16111108660697937,0.16111108660697937]},{"timestamp":21299,"normalizedTime":0.6500137333292642,"value":[0.30277779698371887,0.30277779698371887]},{"timestamp":32767,"normalizedTime":1,"value":[0.3083333373069763,0.3083333373069763]}],"headCell":[],"tailCell":[],"enabled":[{"timeMs":0,"value":1}]}}],"runtime":{"renderer":"wow-m2-particles-v1","readyParticleIndices":[0Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/antimagic_state_base.m2","sourceSha256":"5eb27e9081efe8ecd0bc13be4d271f431c0ae63a7284c73f851cee92b32fc5b5","sourceSkinSha256":"a65020eb67d2ab2fa00542af34330a423a49b90700c1d8c1c32b5dbaf7990ffc","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":2400,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":2054,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":811,"moveSpeed":0,"flags":33}],"globalSequences":[1621,1633],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,2.032287836074829],"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,378,811,1243,1621],"values":[[0,0,0.11827871948480606],[0,0,-0.16180525720119476],[0,0,0.11827871948480606],[0,0,-0.16180525720119476],[0,0,0.11827871948480606]]}]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,400,800,1233,1633],"values":[[0,0,-0.9384746848963896,0.34534745323038424],[0,0,-0.4338816492202521,0.9009674367503892],[0,0,0.315073091830195,0.9490340891750847],[0,0,0.9143955809198279,0.40476699118015075],[0,0,0.9384746848963896,-0.34534745323038424]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0.6993667483329773],"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,378,811,1243,1621],"values":[[0,0,-0.11827882379293442],[0,0,0.1618051528930664],[0,0,-0.11827882379293442],[0,0,0.1618051528930664],[0,0,-0.11827882379293442]]}]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,400,800,1233,1633],"values":[[0,0,0.9384441663869136,0.34534745323038424],[0,0,0.4338511307107761,0.9009674367503892],[0,0,-0.315103610339671,0.9490340891750847],[0,0,-0.9144260994293039,0.40476699118015075],[0,0,-0.9384441663869136,-0.34534745323038424]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.001601288910023868,0.00006432666123146191,1.2972921133041382],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Shockwave10.blp","sourcePath":"spells/shockwave10.blp","sourceSha256":"885832d49c0ce7dfb202699ed771926c86221d075d6cca8b91d8edf96d5dfee1","url":"/assets/game/combat-effects/original/wow335/all/textures/885832d49c0ce7dfb202.png"},{"type":0,"flags":0,"filename":"Particles\\Rune4b.blp","sourcePath":"particles/rune4b.blp","sourceSha256":"35d574c9b819f19914d7c2f9f90f09fbdc3713c21bed46df9384fbbcc27baa2f","url":"/assets/game/combat-effects/original/wow335/all/textures/35d574c9b819f19914d7.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/antimagic_state_base.m2","normalizedSourceModel":"spells/antimagic_state_base.m2","sourceSha256":"5eb27e9081efe8ecd0bc13be4d271f431c0ae63a7284c73f851cee92b32fc5b5","durationMs":2400,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":2400,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":2054,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":811,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Shockwave10.blp","sourcePath":"spells/shockwave10.blp","sourceSha256":"885832d49c0ce7dfb202699ed771926c86221d075d6cca8b91d8edf96d5dfee1","url":"/assets/game/combat-effects/original/wow335/all/textures/885832d49c0ce7dfb202.png"},{"type":0,"flags":0,"filename":"Particles\\Rune4b.blp","sourcePath":"particles/rune4b.blp","sourceSha256":"35d574c9b819f19914d7c2f9f90f09fbdc3713c21bed46df9384fbbcc27baa2f","url":"/assets/game/combat-effects/original/wow335/all/textures/35d574c9b819f19914d7.png"}],"particles":[{"id":4294967295,"flags":131097,"position":[0.001601288910023868,0.00006432666123146191,1.2972921133041382],"parentBone":2,"textureIndex":0,"geometryModel":"","recursionModel":"","blendMode":4,"emitterType":1,"particleColorIndex":0,"particleType":0,"headOrTail":0,"textureTileRotation":0,"textureRows":1,"textureColumns":1,"lifespanVariation":0,"emissionRateVariation":0,"scaleVariation":[0,0],"tailLength":0.10000000149011612,"interpolation":{"emissionSpeed":0,"speedVariation":0,"verticalRange":0,"horizontalRange":0,"gravity":0,"lifespan":0,"emissionRate":0,"emissionAreaLength":0,"emissionAreaWidth":0,"zSource":0,"enabled":0},"globalSequence":{"emissionSpeed":-1,"speedVariation":-1,"verticalRange":-1,"horizontalRange":-1,"gravity":-1,"lifespan":-1,"emissionRate":-1,"emissionAreaLength":-1,"emissionAreaWidth":-1,"zSource":-1,"enabled":-1},"samples":{"emissionSpeed":[{"timeMs":0,"value":0.1666666716337204}],"speedVariation":[{"timeMs":0,"value":1}],"verticalRange":[{"timeMs":0,"value":0.0087Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcanebomb_missle.m2","sourceSha256":"85c2ed3b6cc01b1f8df0e52741155ccdfeb92262eca413a66017cfcb12e8a1e3","sourceSkinSha256":"fc935f67b95ee4b60cb5b146273c19ab858fc80f4c60ead0ff5702e9e5ab908b","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1034,"moveSpeed":0,"flags":32},{"index":1,"id":144,"variationIndex":0,"durationMs":1034,"moveSpeed":0,"flags":96}],"globalSequences":[1333,2000,5000,2667],"bones":[{"parent":-1,"flags":512,"pivot":[-0.017364928498864174,-0.006683349609375,0.009243435226380825],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":3,"sequences":[{"timestamps":[0,667,1333,2000,2667],"values":[[0,0.010132145146031068,0.03790398876918851,0.9992065187536241],[0,0.19003875850703453,0.7092806787316508,0.6787926877651296],[0,0.2586138492996002,0.9652088991973632,-0.03924680318613239],[0,0.17569505905331584,0.6556901760917997,-0.7343058565019684],[0,-0.010132145146031068,-0.03790398876918851,-0.9992370372631001]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.017364928498864174,-0.006683349609375,0.009243435226380825],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":3,"sequences":[{"timestamps":[0,667,1333,2000,2667],"values":[[0,0,-0.03924680318613239,0.9992065187536241],[0,0,-0.7343363750114444,0.6787926877651296],[0,0,-0.9992370372631001,-0.03924680318613239],[0,0,-0.6787926877651296,-0.7343058565019684],[0,0,0.03924680318613239,-0.9992370372631001]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":520,"pivot":[-0.017912428826093674,0,-0.018040550872683525],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,1333,2667,3867,5000],"values":[[0,0,0,1],[0.707083346049379,0,0,0.707083346049379],[1,0,0,0],[0.7071138645588549,0,0,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":520,"pivot":[-0.017912426963448524,0,0.009332869201898575],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,1333,2667,3867,5000],"values":[[0,0,0,1],[-0.7071138645588549,0,0,0.707083346049379],[-1,0,0,0],[-0.707083346049379,0,0,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.017912426963448524,0.0096041364595294,0.00010320875298930332],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,333,667,1000,1333],"values":[[0,0,0,1],[0,-0.1227759636219367,-0.6963713492233039,0.707083346049379],[0,-0.17365031891842403,-0.9848323007904294,0.0012207403790398877],[0,-0.1227454451124607,-0.6963408307138279,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.017912426963448524,0,0.010867861099541187],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,333,667,1000,1333],"values":[[0,0,0,1],[0,0.7043977172154912,0.06158635212256233,0.707083346049379],[0,0.9961851863155003,0.08713034455397198,0.0012512588885158849],[0,0.7044282357249672,0.06161687063203833,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.017912426963448524,0,0.04932933300733566],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,333,667,1000,1333],"values":[[0,0,0,1],[0,-0.2988372447889645,0.640827661976989,0.707083346049379],[0,-0.4225898007141331,0.9063081759086886,-0.0011291848506118961],[0,-0.2988067262794885,0.640858180486465,-0.707083346049379],[0,0,0,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.022096749395132065,0,0.00403594970703125],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.022096749395132065,0,0.00403594970703125],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.017220573499798775,-0.006979463156312704,0.0116560198366642],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"glLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneexplosion_base.m2","sourceSha256":"31a6dcddcddd3035764e0e3e2e54bc6c88b0fe4b12a51d837ef2021d84486fe0","sourceSkinSha256":"e5d863ae5814466c5c5fc2ceeac3dbd17475e2b7eac059e026bd1dade02ac476","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":767,"moveSpeed":0,"flags":33}],"globalSequences":[18667,26667,26600,0],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[0,0,0,1],[0,0,-0.3827021088290048,0.9238563188573871]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[1,1,1],[95.1199951171875,95.1199951171875,95.1199951171875]]}]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[0,0,0,1],[0,0,-0.17365031891842403,0.9848017822809534]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[1,1,1],[52.76710891723633,52.76710891723633,52.76710891723633]]}]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[0,0,0,1],[0,0,-0.27982421338541824,0.9600207525864437]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[1,1,1],[95.1141357421875,95.1141357421875,95.1141357421875]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767],"values":[[0,0,0],[1,1,1]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,-0.19973793625831604],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":3,"sequences":[{"timestamps":[33],"values":[[0.707083346049379,0,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":0,"pivot":[0.1770693063735962,0,-0.19973783195018768],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[{"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,18667],"values":[[0,0,0],[-0.9994991421699524,-0.9999987483024597,0.0008988609188236296]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"translation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,26667],"values":[[0,0,0],[-0.9994991421699524,-0.9999987483024597,0.0008988609188236296]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"translation":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,26600],"values":[[0.996994137763977,0.9974924921989441,-0.0008966081659309566],[-0.002505013020709157,-0.002506260061636567,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"materials":[{"flags":17,"blendMode":4},{"flags":17,"blendMode":4},{"flags":17,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"INTERFACE\\BUTTONS\\GLOWSTAR.BLP","sourcePath":"interface/buttons/glowstar.blp","sourceSha256":"f2b3e1c57b30e8ae8970605070452352ecd07092e69701a10ac5c47bc081c2f0","url":"/assets/game/combat-effects/original/wow335/all/textures/f2b3e1c57b30e8ae8970.png"},{"type":0,"flags":3,"filename":"WORLD\\LORDAERON\\ALTERACMOUNTAINS\\PASSIVEDOODADS\\DALARAN\\DALARONDOME.BLP","sourcePath":"world/lordaeron/alteracmountains/passivedoodads/dalaran/dalarondome.blp","sourceSha256":"4ec7b1c9762eb94a165d61ea3e58df401b36cf927cf69e65b278c610fbfd05b8","url":"/assets/game/combat-effects/original/wow335/all/textures/4ec7b1c9762eb94a165d.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE1BLUE.BLP","sourcePath":"spells/shockwave1blue.blp","sourceSha256":"0b88f9034bf6aa270d87f479dfc00cdc70658d48b5a04861b446760fc5359cdd","url":"/assets/game/combat-effects/original/wow335/all/textures/0b88f9034bf6aa270d87.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE10C2.BLP","sourcePath":"spells/shockwave10c2.blp","sourceSha256":"e7f231a3b8d3581696ed748bee64eb108ebc6542a489c0b6d993fa823f291b50","url":"/assets/game/combat-effects/original/wow335/all/textures/e7f231a3b8d3581696ed.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE1Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneexplosion_impact_chest.m2","sourceSha256":"3608e9025e6e6221cb4838634585a15f751a06b91f0c69286b79b44de668c77f","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":500,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[1000],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,-0.01935497857630253,0.1474645584821701],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,-0.0029060940723866224,0.11720481514930725],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.0021701918449252844,0.1633438616991043],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.013335970230400562,0.1684097796678543],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.014023211784660816,0.34734097123146057],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,-0.0029060940723866224,0.08882180601358414],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\CYANSTARFLASH.BLP","sourcePath":"spells/cyanstarflash.blp","sourceSha256":"9c13e79a4893cca38d0106faaaf8821bf7a0a68ab2c10434c70b74c0b2680170","url":"/assets/game/combat-effects/original/wow335/all/textures/9c13e79a4893cca38d01.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE10D.BLP","sourcePath":"spells/shockwave10d.blp","sourceSha256":"5f4d313d78c1e80988c2a6021c42a0f380200da405028ea0f8abcaf5d20abd10","url":"/assets/game/combat-effects/original/wow335/all/textures/5f4d313d78c1e80988c2.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\AMMO\\BLUE_GLOW2.BLP","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256":"dc81da74a65a3d904efc448e055599a5345e898eae40a1168a0ca64a45a6ba43","url":"/assets/game/combat-effects/original/wow335/all/textures/dc81da74a65a3d904efc.png"},{"type":0,"flags":0,"filename":"SPELLS\\TOONSMOKE16.BLP","sourcePath":"spells/toonsmoke16.blp","sourceSha256":"d2a2ba95f728b223e03ceaf316d9abbf709e3fd0ec5c2628d4bf5ec05aab4062","url":"/assets/game/combat-effects/original/wow335/all/textures/d2a2ba95f728b223e03c.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6","url":"/assets/game/combat-effects/original/wow335/all/textures/af8b9a0098956c5acf18.png"},{"type":0,"flags":0,"filename":"SPELLS\\AURARUNE7.BLP","sourcePath":"spells/aurarune7.blp","sourceSha256":"9eb277e23781acadbdc9609ad86dc0c7f1c15303a8e8c4883c3686c8c8e22ec0","url":"/assets/game/combat-effects/original/wow335/all/textures/9eb277e23781acadbdc9.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/arcaneexplosion_impact_chest.m2","normalizedSourceModel":"spells/arcaneexplosion_impact_chest.m2","sourceSha256":"3608e9025e6e6221cb4838634585a15f751a06b91f0c69286b79b44de668c77f","durationMs":500,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":500,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\CYANSTARFLASH.BLP","sourcePath":"spells/cyanstarflash.blp","sourceSha256":"9c13e79a4893cca38d0106faaaf8821bf7a0a68ab2c10434c70b74c0b2680170","url":"/assets/game/combat-effects/original/wow335/all/textures/9c13e79a4893cca38d01.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVE10D.BLP","sourcePath":"spells/shockwave10d.blp","sourceSha256":"5f4d313d78c1e80988c2a6021c42a0f380200da405028ea0f8abcaf5d20abd10","url":"/assets/game/combat-effects/original/wow335/all/textures/5f4d313d78c1e80988c2.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneintellect_impact_base.m2","sourceSha256":"dbcb6acf671722aeed3127321dfc80ad82ba59cb9b3ddec16f3173925202ae65","sourceSkinSha256":"ed1a7ce1f4d86b1582d9394854d486b589828c7e99b447b38327afa7a7649682","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[2200,1400,1033,2900,3267,433,1100,900,3333,3300,1333,1800,800],"bones":[{"parent":-1,"flags":8,"pivot":[0.003548315027728677,-0.006065054796636105,0.8294019103050232],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[0.003548315027728677,-0.006065054796636105,0.8294019103050232],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.0012604109942913055,-0.0037401169538497925,-1.6113460063934326],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1300,1900],"values":[[0,0,0],[0,0,2.55702805519104],[0,0,2.55702805519104]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1300,1900],"values":[[1,1,0.9999999403953552],[5.897988319396973,5.8979878425598145,5.897987365722656],[1.480656385421753,1.4806562662124634,1.4806561470031738],[1.0021635293960571,1.0021635293960571,1.0021635293960571],[1.0021635293960571,1.0021635293960571,1.0021635293960571]]}]}},{"parent":2,"flags":520,"pivot":[0.0004026475944556296,-0.0005419349181465805,-1.6114721298217773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":5,"sequences":[{"timestamps":[0,233,433],"values":[[1,1,0.9999999403953552],[2.183799982070923,2.183800220489502,2.183799982070923],[1,1,0.9999999403953552]]}]}},{"parent":2,"flags":520,"pivot":[0.0033857275266200304,-0.0011435063788667321,-1.6114721298217773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":6,"sequences":[{"timestamps":[0,67,133,233,300,367,433,533,633,667,733,833,900,1000,1100],"values":[[0.9999999403953552,1,0.9999999403953552],[1.4500000476837158,1.450000286102295,1.4500000476837158],[0.8973779082298279,0.8973780870437622,0.8973779082298279],[1.3941187858581543,1.3941189050674438,1.3941187858581543],[0.8782421946525574,0.8782421946525574,0.8782421946525574],[1.1205319166183472,1.1205320358276367,1.1205319166183472],[0.8728179335594177,0.8728179931640625,0.8728179335594177],[1.3857229948043823,1.3857229948043823,1.3857229948043823],[1.2200160026550293,1.220016360282898,1.2200160026550293],[0.9150897264480591,0.9150897860527039,0.9150897264480591],[1.4217392206192017,1.4217395782470703,1.4217392206192017],[0.9385634064674377,0.9385635852813721,0.9385634064674377],[1.4341751337051392,1.4341752529144287,1.4341751337051392],[0.9003607034683228,0.9003608822822571,0.9003607034683228],[0.9999999403953552,1,0.9999999403953552]]}]}},{"parent":2,"flags":520,"pivot":[0.0016801782185211778,-0.0008297723834402859,-1.6114721298217773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":6,"sequences":[{"timestamps":[0,233,667,1100],"values":[[1,1,1],[0.9045335650444031,0.9045344591140747,0.904534101486206],[6.930139541625977,7.626014709472656,7.8324666023254395],[1,1,1]]}]}},{"parent":2,"flags":520,"pivot":[0.0033857275266200304,-0.0011435063788667321,-1.6114721298217773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":6,"sequences":[{"timestamps":[0,67,133,233,300,367,433,533,633,667,733,833,900,1000,1100],"values":[[1,1,0.9999999403953552],[1.4499999284744263,1.4499998092651367,1.4499996900558472],[0.8973779678344727,0.8973779678344727,0.8973778486251831],[1.3941185474395752,1.3941186666488647,1.394118309020996],[0.8782422542572021,0.8782420754432678,0.8782421350479126],[1.1205317974090576,1.1205317974090576,1.1205317974090576],[0.8728179335594177,0.8728177547454834,0.8728178143501282],[1.3857229948043823,1.3857226371765137,1.3857227563858032],[1.2200160026550293,1.2200161218643188,1.2200160026550293],[0.9150897264480591,0.9150896072387695,0.9150896072387695],[1.4217392206192017,1.4217393398284912,1.4217389822006226],[0.9385634064674377,0.9385635256767273,0.9385632872581482],[1.4341751337051392,1.4341750144958496,1.43417489528Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneshot_area.m2","sourceSha256":"e36b4d8b79326dd1a277beec6ac4c5b4b9c8ef63a49f8ea6f5545cece444b654","sourceSkinSha256":"218cea563eec428ee079d439d599fce77a29c2988258e2927a1a4c152a3d8504","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3300,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[0.15203675627708435,-0.0023630191572010517,0.12965242564678192],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,800,1400,3300],"values":[[1,1,1],[1,1,1],[12.403936386108398,12.403936386108398,12.403936386108398],[10.44805908203125,10.44805908203125,10.44805908203125]]}]}},{"parent":-1,"flags":512,"pivot":[0.15203674137592316,-0.0023630191572010517,0.05715392902493477],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,800,1400,3300],"values":[[1,1,1],[1,1,1],[12.403938293457031,12.403938293457031,12.403938293457031],[10.4480619430542,10.4480619430542,10.4480619430542]]}]}},{"parent":-1,"flags":512,"pivot":[0.15203674137592316,-0.0023630191572010517,0.07050006836652756],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,800,1400,3300],"values":[[1,1,1],[1,1,1],[12.403937339782715,12.403937339782715,12.403937339782715],[10.448060989379883,10.448060989379883,10.448060989379883]]}]}},{"parent":-1,"flags":512,"pivot":[-0.9377273917198181,0.045821286737918854,14.773859977722168],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,800,3300],"values":[[0,0,0],[0.8753216862678528,0.12174008786678314,-13.307225227355957],[0.8753216862678528,0.12174008786678314,-13.307225227355957]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[4.886870384216309,-5.185313701629639,29.156702041625977],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767,800,1367,3300],"values":[[-5.720203876495361,5.185313701629639,-16.13998031616211],[-4.8461833000183105,5.422669887542725,-28.788116455078125],[-4.8804612159729,5.380490779876709,-28.99728775024414],[-5.103079319000244,5.086117267608643,-30.501407623291016],[-8.439191818237305,5.149888515472412,-29.30847930908203]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767,800,3300],"values":[[0,0,0,1],[0,0,0,1],[0.012878810998870815,-0.0006103701895199438,0.0019531846064638203,0.999908444471572],[0.012878810998870815,-0.0006103701895199438,0.0019531846064638203,0.999908444471572]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,767,800,3300],"values":[[1,1,1],[1,1,1],[1.0399998426437378,1.0399998426437378,1.0400002002716064],[1.0399998426437378,1.0399998426437378,1.0400002002716064]]}]}},{"parent":4,"flags":512,"pivot":[4.870804786682129,-5.247413635253906,29.373193740844727],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,34,100,167,234,300,367,434,467,534,567,600,634,667,700,734,767,800,834,867,934,1134,1367,3300],"values":[[0.7802439332008362,0.7802443504333496,0.7802439332008362],[0.5604880452156067,0.5604880452156067,0.5604878664016724],[0.8695653080940247,0.8695653676986694,0.8695652484893799],[0.9135274291038513,0.9135274291038513,0.913527250289917],[0.7472972273826599,0.7472973465919495,0.7472971081733704],[0.7319232821464539,0.7319233417510986,0.7319232821464539],[0.804380476474762,0.8043806552886963,0.8043803572654724],[0.7131005525588989,0.7131006121635437,0.7131003737449646],[0.7209429740905762,0.7209430932998657,0.7209429740905762],[0.6179432272911072,0.617943286895752,0.6179431080818176],[0.7240186929702759,0.7240188717842102,0.7240187525749207],[0.7258767485618591,0.725877046585083,0.7258768677711487],[0.6854509711265564,0.685451090335846,0.6854507923126221],[0.7381393313407898,0.7381394505500793,0.738139271736145],[0.7540736198425293,0.7540737390518188,0.754073441028595],[0.6846410036087036,0.6846410632133484,0.6846407651901245],[0.7340428829193115,0.7340429425239563,0.7340427041053772],[0.7406848669052124,0.7406850457191467,0.7406848073005676],[0.7699795961380005,0.7699799537658691,0.7699795365333557],[0.6985293030738831,0.6985294818878174,0.6985292434692383],[0.5667698979377747,0.5667700171470642,0.5667698383331299],[0.7837799787521362,0.7837801575660706,0.7837799787Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneshot_missile.m2","sourceSha256":"28611ecae4807866f64c8519ad632229b314e3a775801b47c9465ca6aafe85f6","sourceSkinSha256":"3827ba34c16cf1632d831bc2fef662bb05346a50861b91dde3944e5dcbcd7122","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":167,"moveSpeed":0,"flags":32},{"index":1,"id":144,"variationIndex":0,"durationMs":166,"moveSpeed":0,"flags":32}],"globalSequences":[],"bones":[{"parent":-1,"flags":0,"pivot":[-0.07519319653511047,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,-0.7071138645588549,0,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.11926633503219702,0.1891232032227546,-0.08224738303781243,0.9711905270546587]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.11926633503219702,0.1891232032227546,-0.08224738303781243,0.9711905270546587]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.01462869718670845,0.0012798452517017722]]},{"timestamps":[],"values":[]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.011251315474510193,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.01462869718670845,0.0012798452517017722]]},{"timestamps":[],"values":[]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":0,"pivot":[0,0,0.025849541649222374],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":22,"blendMode":4},{"flags":22,"blendMode":4},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"PARTICLES\\GENERICGLOW5.BLP","sourcePath":"particles/genericglow5.blp","sourceSha256":"90a0546a0e94ca9c8891a763c9d8c1bc488020e3244fdd659a66648ffdfe1a45","url":"/assets/game/combat-effects/original/wow335/all/textures/90a0546a0e94ca9c8891.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR8B.BLP","sourcePath":"spells/star8b.blp","sourceSha256":"d046d4ea8fa6cd2be44410d9c57496c252fb7e57d7b71dc2b4dd06b692831b48","url":"/assets/game/combat-effects/original/wow335/all/textures/d046d4ea8fa6cd2be444.png"},{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT128.BLP","sourcePath":"spells/gradient128.blp","sourceSha256":"ef474aee98417ecd197560d3b66cf5242c269b26c54e0206607578d2eb5dada9","url":"/assets/game/combat-effects/original/wow335/all/textures/ef474aee98417ecd1975.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ce72f09b7fc8532b256b8b8e31731f5c5b6c16","url":"/assets/game/combat-effects/original/wow335/all/textures/20ef5e726bf050a7fa08.png"},{"type":0,"flags":0,"filename":"SPELLS\\RIBBONMAGIC2.BLP","sourcePath":"spells/ribbonmagic2.blp","sourceSha256":"db7b6e8e3f02ff2df05e4147fLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcaneshot_missile2.m2","sourceSha256":"a63bf8275487d35331c383d29ed075018659d0f48cff3f63491b3a181044b020","sourceSkinSha256":"b16db4fb25d2f14f7099aa98e6420fa920dafab1a3fd826bf479e43ff3b6ac90","animations":[{"index":0,"id":144,"variationIndex":0,"durationMs":167,"moveSpeed":0,"flags":32},{"index":1,"id":0,"variationIndex":0,"durationMs":166,"moveSpeed":0,"flags":32}],"globalSequences":[],"bones":[{"parent":-1,"flags":0,"pivot":[-0.07519320398569107,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,-0.7071138645588549,0,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.11926633503219702,0.1891232032227546,-0.08224738303781243,0.9711905270546587]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.014628701843321323,0.0012798308162018657]]},{"timestamps":[],"values":[]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.011251309886574745,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.014628699980676174,0.0012798306997865438]]},{"timestamps":[],"values":[]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":0,"pivot":[0,0,0.02584955468773842],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":22,"blendMode":4},{"flags":22,"blendMode":4},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT128.BLP","sourcePath":"spells/gradient128.blp","sourceSha256":"ef474aee98417ecd197560d3b66cf5242c269b26c54e0206607578d2eb5dada9","url":"/assets/game/combat-effects/original/wow335/all/textures/ef474aee98417ecd1975.png"},{"type":0,"flags":0,"filename":"SPELLS\\RIBBONNE1_BLUE.BLP","sourcePath":"spells/ribbonne1_blue.blp","sourceSha256":"4c0a840feb39f526bae58cce4f14bfe165912daa2ac24a201f088e830724b6c0","url":"/assets/game/combat-effects/original/wow335/all/textures/4c0a840feb39f526bae5.png"},{"type":0,"flags":0,"filename":"Spells\\T_Star2.blp","sourcePath":"spells/t_star2.blp","sourceSha256":"0a78953d28ca8c6cfb0dd51a43e26dc603d9758c6a9b61f4dd27108c13627f59","url":"/assets/game/combat-effects/original/wow335/all/textures/0a78953d28ca8c6cfb0d.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6","url":"/assets/game/combat-effects/original/wow335/all/textures/af8b9a0098956c5acf18.png"},{"type":0,"flags":0,"filename":"PARTICLES\\SNOW1.BLP","sourcePath":"particles/snow1.blp","sourceSha256":"31b03f30e002e8ce730626256422df14cca4137a017dfcae6f6b69e4313f3d0f","url":"/assets/game/combat-effects/original/wow335/all/textures/31b03f30e002e8ce7306.png"},{"type":0,"flags":0,"filename":"SPELLS\\T_VFX_FLARE07.BLP","sourcePath":"spells/t_vfx_flare07.blp","sourceSha256":"25996abd83cc85ec337682247f42be593c7630c9d8171b55b11f7b2978530b6f","url":"/assets/game/combat-effects/original/wow335/all/textures/25996abd83cc85ec3376.png"},{"type":0,"flags":0,"filenLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcanespirit_impact_base.m2","sourceSha256":"bcb6e340b82a2c75424acedf915148eba9e79c722bf55168467ecdac7ed1cb0b","sourceSkinSha256":"be514ceaaad3deb8fa5ad824f41e6c70059fd15185ec91216b62f67946d9f194","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":2467,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":8,"pivot":[-0.00029990277835167944,0.016635848209261894,0.3039189577102661],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.0002998937270604074,0.016635848209261894,0.5103979110717773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.000299875158816576,0.016635848209261894,0.9361700415611267],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.0002999154385179281,0.016635848209261894,0.014972846023738384],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.00030003892607055604,0.016635848209261894,0.5103979110717773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.0002999003045260906,-0.06983476132154465,2.966688632965088],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.00030001436243765056,-0.06983476132154465,2.966688632965088],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,-0.005107773933559656,1.4740382432937622],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Item\\ObjectComponents\\Ammo\\Blue_Glow2.blp","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256":"dc81da74a65a3d904efc448e055599a5345e898eae40a1168a0ca64a45a6ba43","url":"/assets/game/combat-effects/original/wow335/all/textures/dc81da74a65a3d904efc.png"},{"type":0,"flags":0,"filename":"spells\\VioletGlowBall64.blp","sourcePath":"spells/violetglowball64.blp","sourceSha256":"11912cf8a8c32341b544f6432bbfa714d470a7e1709ddc8930d0c8103fb3c590","url":"/assets/game/combat-effects/original/wow335/all/textures/11912cf8a8c32341b544.png"},{"type":0,"flags":0,"filename":"Spells\\GenericGlow2c.blp","sourcePath":"spells/genericglow2c.blp","sourceSha256":"0b4bf9380465eff93ff99d713b67c1d90372bf98f419935da41f6c9622fc519a","url":"/assets/game/combat-effects/original/wow335/all/textures/0b4bf9380465eff93ff9.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/arcanespirit_impact_base.m2","normalizedSourceModel":"spells/arcanespirit_impact_base.m2","sourceSha256":"bcb6e340b82a2c75424acedf915148eba9e79c722bf55168467ecdac7ed1cb0b","durationMs":2467,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":2467,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"Item\\ObjectComponents\\Ammo\\Blue_Glow2.blp","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256":"dc81da74a65a3d904efc448e055599a5345e898eae40a1168a0ca64a45a6ba43","url":"/assets/game/combat-effects/original/wow335/all/textures/dc81da74a65a3d904efc.png"},{"type":0,"flags":0,"filename":"spells\\VioletGlowBall64.blp","sourcePath":"spells/violetglowball64.blp","sourceSha256":"11912cf8a8c32341b544f6432bbfa714d470a7e1709ddc8930d0c8103fb3c590","url":"/assets/game/combat-effects/original/wow335/all/textures/11912cf8a8c32341b544.png"},{"type":0,"flags":0,"filename":"Spells\\GenericGlow2c.blp","sourcePath":"spells/genericglow2c.blp","sourceSha256":"0b4bf9380465eff93ff99d713b67c1d90372bf98f419935da41f6c9622fc519a","url":"/assets/game/combat-effects/original/wow335/all/textures/Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/arcanevolley_missile.m2","sourceSha256":"21e17b9177c58d8193f4115c012e5040d2673e3c2822f9dd733be4db03f2b544","sourceSkinSha256":"789dd21f46a310972c6f91034e96b7a1c9f1ccf3dfe72a5e593c375b0aa414bc","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[0.00499073276296258,-0.22995567321777344,0.006711198482662439],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,934,1000],"values":[[0,0.22396421432495117,0],[-0.1062103807926178,1.8596149682998657,0.4405747354030609],[-0.10973319411277771,0.49619966745376587,0.06623222678899765],[0,0.22396421432495117,0]]}]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.00499073276296258,0.2108517736196518,0.006711198482662439],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,1000],"values":[[0,-0.21118927001953125,0],[0,-1.7871757745742798,0.4902615547180176],[0,-0.21118927001953125,0]]}]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.004990733694285154,-0.02778555266559124,0.03844296932220459],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,1000],"values":[[0,0,0],[0.6299676299095154,0.639940619468689,1.1366697549819946],[0,0.031535614281892776,-0.015152971260249615]]}]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.004990733694285154,-0.02778555266559124,0.03844296932220459],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,934,1000],"values":[[0,0,0],[0.7301200032234192,-0.7150117754936218,1.2027971744537354],[-0.1333463340997696,-0.14191125333309174,0.17643755674362183],[0,0.031535614281892776,-0.015152971260249615]]}]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.707083346049379,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.011701932176947594,-0.22396421432495117,0.0017204665346071124],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,-0.7071138645588549,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.011701968498528004,-0.22396424412727356,0.0017204665346071124],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0.05172887356181524,-0.7104098635822627,-0.029725028229621267,0.7012543107394635]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.011701968498528004,-0.22396424412727356,0.0017204665346071124],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0.1424909207434309,-0.5529953917050692,0.026154362620929593,0.8204596087527085]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.011701968498528004,-0.22396424412727356,0.0017204665346071124],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0.1424909207434309,-0.5529953917050692,0.026154362620929593,0.8204596087527085]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.011701932176947594,-0.22396421432495117,0.001720466068945825],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0.499984740745262,-0.500015259254738,0.499984740745262,0.499984740745262]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0.011701932176947594,0.21118927001953125,0.0017204665346071124],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,-0.7071138645588549,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"piLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectbeast_impact_head.m2","sourceSha256":"d5d3134359228aa235825913abf41bab93a07c96c53a144e0005025c6d96da1f","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Beast.blp","sourcePath":"spells/aspect_beast.blp","sourceSha256":"cb56204b403baadb9598e1ef04b7e24cd9175c3ac034d730087e709d5ab12415","url":"/assets/game/combat-effects/original/wow335/all/textures/cb56204b403baadb9598.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.22745099663734436,0.501960813999176]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.7529412508010864,1]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectcheetah_impact_head.m2","sourceSha256":"8b14d5d91f86d18a318d4dad39854da8fdaebb639658c5d3f9d6743532edc9ad","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Cheetah.blp","sourcePath":"spells/aspect_cheetah.blp","sourceSha256":"67b9db3a49b0745826690cf77025c5ce5292fab10251f4e2e2d34bf11a01f42c","url":"/assets/game/combat-effects/original/wow335/all/textures/67b9db3a49b074582669.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.3333333432674408,0.5647059082984924,0.0313725508749485]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.7843137979507446,0.8549020290374756,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspecthawk_impact_head.m2","sourceSha256":"8b0004625b68d2a67e3d099635a9d8577f1f3930db5e6a6228161666dd8e7d69","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Hawk.blp","sourcePath":"spells/aspect_hawk.blp","sourceSha256":"436050a5589220521a62855293f6acd67dadd8c07491240c00bc069534007df0","url":"/assets/game/combat-effects/original/wow335/all/textures/436050a5589220521a62.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.874509871006012,0.2039215862751007,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[1,0.7882353663444519,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectmonkey_impact_head.m2","sourceSha256":"c67e216c4972f8a658e66b01b6b3dd8eef1fe7f10c2dc9ac8e11c2af16cd0480","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Monkey.blp","sourcePath":"spells/aspect_monkey.blp","sourceSha256":"2eeecf76f712bcdc2a410767bfdbd254b8ecd1dd88a7cf4c2a6d1efa9d181eb3","url":"/assets/game/combat-effects/original/wow335/all/textures/2eeecf76f712bcdc2a41.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.501960813999176]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.5647059082984924,0,1]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectsnake_impact_head.m2","sourceSha256":"a0da048ab9675c4964d6eea6e1a8f9a664fe1a327bfc20c333a0df5c4d65c50a","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Snake.blp","sourcePath":"spells/aspect_snake.blp","sourceSha256":"91e13facf24f3c57f1a96897c0eed267f0d233cd0e8810822fefcfa7486ea6c4","url":"/assets/game/combat-effects/original/wow335/all/textures/91e13facf24f3c57f1a9.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.874509871006012,0.2039215862751007,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[1,0.7882353663444519,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectwild_impact_head.m2","sourceSha256":"b87418a1885696865f8bb621d1425844ce7fa8a3bba2218537f5126a65690f7f","sourceSkinSha256":"d010f49df5624f0f88ec244dd0657cd888465a183336c22ad6fc77340f927e24","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1267,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,0.9299082159996033],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0.800000011920929,0.800000011920929,0.8000000715255737]]}]}},{"parent":0,"flags":512,"pivot":[0.6944445371627808,0,0.9299082159996033],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,100,200,400,600,1267],"values":[[0.29999998211860657,0.29999998211860657,0],[0.29999998211860657,0.29999998211860657,0],[1.1999999284744263,1.1999999284744263,1.2999999523162842],[0.949999988079071,0.949999988079071,0.8499999642372131],[1,1,1],[1.2799999713897705,1.2799999713897705,1.2799999713897705]]}]}},{"parent":0,"flags":512,"pivot":[0.6944445371627808,0,0.9299082159996033],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,100,200,400,600,1267],"values":[[0.29999998211860657,0.29999998211860657,0],[0.29999998211860657,0.29999998211860657,0],[1.1999999284744263,1.1999999284744263,1.2999999523162842],[0.949999988079071,0.949999988079071,0.8499999642372131],[1,1,1],[1.399999976158142,1.399999976158142,1.399999976158142]]}]}},{"parent":1,"flags":512,"pivot":[0.7638890147209167,0,0.9299082159996033],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.608783227027192,0,0.793298135319071]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":2,"flags":512,"pivot":[0.7638890147209167,0,0.9299082159996033],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[0,0.608783227027192,0,0.793298135319071]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\NATURE_RUNE_128.BLP","sourcePath":"spells/nature_rune_128.blp","sourceSha256":"10b948473ac6db3630ffca96c82cd74acecc11d78821c6aa7e53bb0e0a8e4557","url":"/assets/game/combat-effects/original/wow335/all/textures/10b948473ac6db3630ff.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[0.034722499549388885,-0.729166567325592,0.9299082159996033,1.4930554628372192,-0.729166567325592,0.9299082159996033,0.034722499549388885,0.729166567325592,0.9299082159996033,1.4930554628372192,0.729166567325592,0.9299082159996033,1.4930554628372192,0.729166567325592,0.9299082159996033,0.034722499549388885,0.729166567325592,0.9299082159996033,1.4930554628372192,-0.729166567325592,0.9299082159996033,0.034722499549388885,-0.729166567325592,0.9299082159996033],"normals":[0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1],"uvs":[0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.4784314036369324,1,0.4078431725502014]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,100,200,400,600,1267],"values":[0,0,24575,11468,16384,0]}]}],"layers":[{"indexStart":0,"indexCount":12,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/aspectwolf_impact_head.m2","sourceSha256":"19c18b8b27426d6e0a02de681dc8922878f41f9208d0de2b1b85616dfeea4a1a","sourceSkinSha256":"9861e17ff3936b74d365dcd7d412b3bd5ce4cf25603cf14c8e3d028719fc6d50","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[3.559999704360962,3.559999942779541,3.56000018119812],[0.5763688683509827,0.5763689279556274,0.5763689875602722]]}]}},{"parent":-1,"flags":520,"pivot":[0,0,1.0318206548690796],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[[0.9999999403953552,1,1.0000001192092896],[1.779999852180481,1.7799999713897705,1.78000009059906],[2.739999771118164,2.740000009536743,2.7400002479553223]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":16,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\Aspect_Wolf.blp","sourcePath":"spells/aspect_wolf.blp","sourceSha256":"d27e6af3ca35212c43986413fddb2b8636697bac4a16ba837c8c82a6c56840be","url":"/assets/game/combat-effects/original/wow335/all/textures/d27e6af3ca35212c4398.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[2.5205702414154985e-8,-0.1744835376739502,1.2063041925430298,4.600575920221672e-8,-0.1744835376739502,0.8573371171951294,2.5205702414154985e-8,0.1744835376739502,1.2063041925430298,4.600575920221672e-8,0.1744835376739502,0.8573371171951294,1.4805674020124115e-8,-0.3489670753479004,1.3807876110076904,5.640578848442601e-8,-0.3489670753479004,0.6828535795211792,1.4805674020124115e-8,0.3489670753479004,1.3807876110076904,5.640578848442601e-8,0.3489670753479004,0.6828535795211792],"normals":[1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7,1,0,1.1920930376163597e-7],"uvs":[0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1],"uvs2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"boneIndices":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"boneWeights":[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],"indices":[0,1,2,3,2,1,4,5,6,7,6,5],"colors":[{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.3333333432674408,0.5647059082984924,0.0313725508749485]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}},{"color":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.7843137979507446,0.8549020290374756,0]]}]},"alpha":{"interpolation":0,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[32767]}]}}],"textureWeights":[{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,667],"values":[0,16384,0]}]},{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,167,500,667],"values":[0,16384,0,0]}]}],"layers":[{"indexStart":0,"indexCount":6,"colorIndex":0,"materialIndex":0,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":0,"textureTransformIndices":[-1]},{"indexStart":6,"indexCount":6,"colorIndex":1,"materialIndex":1,"textureIndices":[0],"textureCoordinateIndices":[0],"textureWeightIndex":1,"textureTransformIndices":[-1]}]}}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/assassinate_impact.m2","sourceSha256":"c2f941342c91fc3f9d1b13d10699b7e65d5098cba1fab73ea6cc45fa9c550413","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":367,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":8,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0.0031539069022983313,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0.018792152404785156],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[],"textures":[{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ce72f09b7fc8532b256b8b8e31731f5c5b6c16","url":"/assets/game/combat-effects/original/wow335/all/textures/20ef5e726bf050a7fa08.png"},{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT64FLIPA.BLP","sourcePath":"spells/gradient64flipa.blp","sourceSha256":"74150ec2d2b5d29d644122eddb77f4943512d49a5eed7296c52b2875092b7795","url":"/assets/game/combat-effects/original/wow335/all/textures/74150ec2d2b5d29d6441.png"},{"type":0,"flags":0,"filename":"CREATURE\\BONEWORM\\BONEWORM_BONE02.BLP","sourcePath":"creature/boneworm/boneworm_bone02.blp","sourceSha256":"7d9c06ae5aa7d1803d25314e63983fad37beb9547e2bd8b86600fc556a5982ca","url":"/assets/game/combat-effects/original/wow335/all/textures/7d9c06ae5aa7d1803d25.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/assassinate_impact.m2","normalizedSourceModel":"spells/assassinate_impact.m2","sourceSha256":"c2f941342c91fc3f9d1b13d10699b7e65d5098cba1fab73ea6cc45fa9c550413","durationMs":367,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":367,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ce72f09b7fc8532b256b8b8e31731f5c5b6c16","url":"/assets/game/combat-effects/original/wow335/all/textures/20ef5e726bf050a7fa08.png"},{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT64FLIPA.BLP","sourcePath":"spells/gradient64flipa.blp","sourceSha256":"74150ec2d2b5d29d644122eddb77f4943512d49a5eed7296c52b2875092b7795","url":"/assets/game/combat-effects/original/wow335/all/textures/74150ec2d2b5d29d6441.png"},{"type":0,"flags":0,"filename":"CREATURE\\BONEWORM\\BONEWORM_BONE02.BLP","sourcePath":"creature/boneworm/boneworm_bone02.blp","sourceSha256":"7d9c06ae5aa7d1803d25314e63983fad37beb9547e2bd8b86600fc556a5982ca","url":"/assets/game/combat-effects/original/wow335/all/textures/7d9c06ae5aa7d1803d25.png"}],"particles":[{"id":4294967295,"flags":294969,"position":[0,0,0],"parentBone":1,"textureIndex":0,"geometryModel":"","recursionModel":"","blendMode":4,"emitterType":2,"particleColorIndex":0,"particleType":0,"headOrTail":0,"textureTileRotation":0,"textureRows":1,"textureColumns":1,"lifespanVariation":0,"emissionRateVariation":0,"scaleVariation":[0,0],"tailLength":0.4000000059604645,"interpolation":{"emissionSpeed":0,"speedVariation":0,"verticalRange":0,"horizontalRange":0,"gravity":0,"lifespan":0,"emissionRate":0,"emissionAreaLength":0,"emissionAreaWidth":0,"zSource":0,"enabled":0},"globalSequence":{"emissionSpeed":-1,"speedVariation":-1,"verticalRange":-1,"horizontalRange":-1,"gravity":-1,"lifespan":-1,"emissionRate":-1,"emissionAreaLength":-1,"emissionAreaWidth":-1,"zSource":-1,"enabled":-1},"samples":{"emissionSpeed":[{"timeMs":0,"value":3.8888888359069824}],"speedVariation":[{"timeMs":0,"value":0.17000000178813934}],"verticalRange":[{"timeMs":0,"value":3.1415927410125732}],"horizontalRange":[{"timeMs":0,"value":0}],"gravity":[{"timeMs":0,"value":0}],"lifespan":[{"timeMs":0,"value":0.8999999761581421}],"emissionRate":[{"timeMs":0,"value":0},{"timeMs":67,"value":70},{"timeMs":367,"value":0}],"emissionAreaLength":[{"timeMs":0,"value":0}],"emissionAreaWidth":[{"timeMs":0,"value":0}],"zSource":[{"timeMs":0,"value":0}],"color":[{"timestamp":0,"normalizedTime":0,"value":[255,255,255]},{"timestamp":16384,"normalizedTime":0.500015259254738,"value":[245.000015258Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/assassinate_missile.m2","sourceSha256":"bd68085b5729766270a6398de130a4a60c4d112786ec2bfa3ebd2c054afd7638","sourceSkinSha256":"f116fd5404ea2079fb78c2d55d68ace51f216ce870d9008781c276cad4c762cd","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":167,"moveSpeed":0,"flags":32},{"index":1,"id":144,"variationIndex":0,"durationMs":166,"moveSpeed":0,"flags":32}],"globalSequences":[1167,1000,0],"bones":[{"parent":-1,"flags":0,"pivot":[0.15160131454467773,0.001829293672926724,-0.01534542441368103],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.11117497831583023,0.006037035025656223,0.0014417407801374793],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,233,467,667,1000],"values":[[0.8021179845576342,0,0,0.5971251564073611],[0.27561265907773064,0,0,0.9612414929654836],[-0.3638111514633625,0,0,0.9314554277169103],[-0.8936429944761498,0,0,0.4487746818445387],[-0.8511001922666097,0,0,-0.5249488814966277]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.000869612442329526,0.007500121369957924,-0.0002718764008022845],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":2,"sequences":[{"timestamps":[3333],"values":[[0.499984740745262,-0.500015259254738,-0.500015259254738,0.499984740745262]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.10243908315896988,0.014717658050358295,0.0006598348845727742],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":2,"sequences":[{"timestamps":[3333],"values":[[-0.7071138645588549,0,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.05126483365893364,0.006366182118654251,-0.0002718860050663352],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.008395865559577942,0.004717534873634577,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":2,"flags":512,"pivot":[-0.0014084784779697657,0.007500114385038614,-0.02318141609430313],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":512,"pivot":[-0.07039981335401535,0.005244395229965448,-0.01543481182307005],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":2,"sequences":[{"timestamps":[3333],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[{"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,1167],"values":[[0,0,0],[0,2.0220723152160645,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"materials":[{"flags":21,"blendMode":4},{"flags":19,"blendMode":4},{"flags":4,"blendMode":0}],"textures":[{"type":0,"flags":3,"filename":"ITEM\\OBJECTCOMPONENTS\\SHOULDER\\SHOULDER_ROBE_RAIDMAGE_D_01_RIGHT.BLP","sourcePath":"item/objectcomponents/shoulder/shoulder_robe_raidmage_d_01_right.blp","sourceSha256":"5c34308c5a0f45e6e818b1b05ab4aaafec3aa73045448bdd4f8a1a428e5b9bb1","url":"/assets/game/combat-effects/original/wow335/all/textures/5c34308c5a0f45e6e818.png"},{"type":0,"flags":0,"filename":"SPELLS\\ALPHACLOUD.BLP","sourcePath":"spells/alphacloud.blp","sourceSha256":"de3a4fefb4263085fbdd3fe3e4abb0bb6216b242d9c2fdd5ff3ec9b428175794","url":"/assets/game/combat-effects/original/wow335/all/textures/de3a4fefb4263085fbdd.png"},{"type":0,"flags":0,"filename":"WORLD\\EXPANSION01\\DOODADS\\GENERIC\\NAGA\\TORCH\\SHOCKWAVEWATER1EXTREME.BLP","sourcePath":"world/expansion01/doodads/generic/naga/torch/shockwavewater1extreme.blp","sourceSha256":"48918351c528e5797f000099a4e49c0bc8a12caf6b97e96fd701f32da9d7c44f","url":"/assets/game/combat-effectsLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/astral_recall_impact_base.m2","sourceSha256":"526748c21245366a074037e763609f880e87d667c0398bf4af914016ca2bd605","sourceSkinSha256":"708b047bb8b71c592f87de3bfbdeb557ff187ef69fc151109b6c5954553f707f","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1667,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":0,"pivot":[-0.008668029680848122,-0.0003901587624568492,0.03140423074364662],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.008668010123074055,-0.0003901587624568492,0.21620093286037445],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,-0.035072751343250275,-0.34259501099586487],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0,-0.11946684867143631],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0017322509083896875,0.0025364623870700598,0.1491517573595047],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\GenericGlow2b.blp","sourcePath":"spells/genericglow2b.blp","sourceSha256":"c7b300c18ca1cca804fed3d744ce62ac318ce6fb24d113b4fc9c8747ba4674e1","url":"/assets/game/combat-effects/original/wow335/all/textures/c7b300c18ca1cca804fe.png"},{"type":0,"flags":0,"filename":"Interface\\Buttons\\GlowStar.blp","sourcePath":"interface/buttons/glowstar.blp","sourceSha256":"f2b3e1c57b30e8ae8970605070452352ecd07092e69701a10ac5c47bc081c2f0","url":"/assets/game/combat-effects/original/wow335/all/textures/f2b3e1c57b30e8ae8970.png"},{"type":0,"flags":0,"filename":"Spells\\AuraRune256b.blp","sourcePath":"spells/aurarune256b.blp","sourceSha256":"d52ef1b5abd299888ae41967ed98c53c699cf208ade491cc4501f8171d8281a5","url":"/assets/game/combat-effects/original/wow335/all/textures/d52ef1b5abd299888ae4.png"},{"type":0,"flags":0,"filename":"Spells\\GenericGlow2b1.blp","sourcePath":"spells/genericglow2b1.blp","sourceSha256":"26f5d8ed086a75dbe1fd62aa172a49930f1a2ed41ffa7a55aa892e13d90e62ed","url":"/assets/game/combat-effects/original/wow335/all/textures/26f5d8ed086a75dbe1fd.png"},{"type":0,"flags":0,"filename":"Item\\ObjectComponents\\Ammo\\Blue_Glow2.blp","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256":"dc81da74a65a3d904efc448e055599a5345e898eae40a1168a0ca64a45a6ba43","url":"/assets/game/combat-effects/original/wow335/all/textures/dc81da74a65a3d904efc.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/astral_recall_impact_base.m2","normalizedSourceModel":"spells/astral_recall_impact_base.m2","sourceSha256":"526748c21245366a074037e763609f880e87d667c0398bf4af914016ca2bd605","durationMs":1667,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1667,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"Spells\\GenericGlow2b.blp","sourcePath":"spells/genericglow2b.blp","sourceSha256":"c7b300c18ca1cca804fed3d744ce62ac318ce6fb24d113b4fc9c8747ba4674e1","url":"/assets/game/combat-effects/original/wow335/all/textures/c7b300c18ca1cca804fe.png"},{"type":0,"flags":0,"filename":"Interface\\Buttons\\GlowStar.blp","sourcePath":"interface/buttons/glowstar.blp","sourceSha256":"f2b3e1c57b30e8ae8970605070452352ecd07092e69701a10ac5c47bc081c2f0","url":"/assets/game/combat-effects/original/wow335/all/textures/f2b3e1c57b30e8ae8970.png"},{"type":0,"flags":0,"filename":"Spells\\AuraRune256b.blp","sourcePath":"spells/aurarune256b.blp","sourceSha256":"d52ef1b5abd299888ae41967ed98c53c699cf208ade491cc4501f8171d8281a5","url":"/assets/game/combat-effects/original/wow335/all/textures/d52ef1b5abd299888ae4.png"},{"type":0,"flags":0,"filename":"Spells\\GenericGlow2b1.blp","sourcePath":"spells/genericglow2b1.blp","sourceSha256":"26f5d8ed086a75dbe1fd62aa172a49930f1a2ed41ffa7a55aa892e13d90e62ed","url":"/assets/game/combat-effects/original/wow335/all/textures/26f5d8ed086a75dbe1fd.png"},{"type":0,"flags":0,"filename":"Item\\ObjectComponents\\Ammo\\Blue_Glow2.blp","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256"Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/avengingwrath_impact_base.m2","sourceSha256":"74b14c4f14a456c31dfcdecf1dc8383e22361d75727e1d92aa70d44b9509323d","sourceSkinSha256":"b9126f5efc6060e781ac0e607247ac4c755096ce788be64c8c3942ed97a910c6","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3067,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":512,"pivot":[0.03147146478295326,-0.018235763534903526,0.18272143602371216],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,367,933,1167,1733,3067],"values":[[1,1,1],[1,1,1],[0.02979637309908867,0.029796376824378967,0.9533243179321289],[1,1,0.9805194139480591],[0.02979637309908867,0.029796376824378967,0.9533243179321289],[0.02979637309908867,0.029796376824378967,0.9533243179321289]]}]}},{"parent":-1,"flags":512,"pivot":[0.031471334397792816,-0.018235763534903526,0.1416996866464615],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,367,933,1167,1733,3067],"values":[[1,1,1],[1,1,1],[0.02979636751115322,0.02979637309908867,0.9533242583274841],[1,1,0.9805192947387695],[0.02979636751115322,0.02979637309908867,0.9533242583274841],[0.02979636751115322,0.02979637309908867,0.9533242583274841]]}]}},{"parent":-1,"flags":512,"pivot":[0.03147146478295326,-0.018235763534903526,0.18272143602371216],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,367,933,1167,1733,3067],"values":[[1,1,1],[1,1,1],[0.02979637309908867,0.029796378687024117,0.953324556350708],[1,1,0.9805194139480591],[0.02979637309908867,0.029796378687024117,0.953324556350708],[0.02979637309908867,0.029796378687024117,0.953324556350708]]}]}},{"parent":-1,"flags":512,"pivot":[0.03147133067250252,-0.018235763534903526,0.1652134507894516],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,367,933,1167,1733,3067],"values":[[1,1,1],[1,1,1],[0.02979637309908867,0.029796380549669266,0.9533243775367737],[1,1,0.9805192351341248],[0.02979637309908867,0.029796380549669266,0.9533243775367737],[0.02979637309908867,0.029796380549669266,0.9533243775367737]]}]}},{"parent":1,"flags":0,"pivot":[0.03727801516652107,-0.006916031241416931,0.0803137794137001],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":64,"pivot":[0,0,0.2777777910232544],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0,0.23148293793201447],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0,0.0030812157783657312,0.42718765139579773],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0018019189592450857,0.016105810180306435,7.6049017906188965],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.03483479470014572,0.04557747393846512,0.46729108691215515],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":5,"flags":0,"pivot":[0,-0.009563234634697437,0.25444847345352173],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":23,"blendMode":4},{"flags":23,"blendMode":4},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\GRAD2B.BLP","sourcePath":"spells/grad2b.blp","sourceSha256":"c091cdf555756ffe895c7f2b09bb907cb431ad68c794073d9584d7041ed52762","url":"/assets/game/Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/avengingwrath_state_chest.m2","sourceSha256":"1d7c22a0633842f9b7941673e0053d6c66adc6a084713154a6d239a2f686f43b","sourceSkinSha256":"77bbff4fa5820065ce50a1718cd4aed338269dfa93b775fa2a889e8d13936019","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":367,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":1633,"moveSpeed":0,"flags":32},{"index":2,"id":1,"variationIndex":0,"durationMs":766,"moveSpeed":0,"flags":35}],"globalSequences":[5000,1433,933,4867,1100,1600,2033],"bones":[{"parent":-1,"flags":0,"pivot":[-0.7419275641441345,0.17676052451133728,0.3652673363685608],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":8,"pivot":[-0.6811395883560181,0.18799354135990143,0.3029208779335022],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.6102647185325623,0.23904167115688324,0.3345975875854492],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,733,1700,2467,2767,3467,4233,4467,5000],"values":[[0,0,0,1],[0,0,-0.04873805963316752,0.9988097781304361],[0,0,0.02337717825861385,0.999725333414716],[0,0,-0.054383983886227,0.9985045930356762],[0,0,-0.017914365062410353,0.999816888943144],[0,0,0,1],[0,0,-0.19492172002319408,0.9808038575395978],[0,0,-0.19492172002319408,0.9808038575395978],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.5963295102119446,0.26386845111846924,0.35689491033554077],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,133,333,400,533,733,900,1067,1133,1300,1433],"values":[[1,1,1],[0.8447193503379822,0.8447197079658508,0.8447198271751404],[0.9182733297348022,0.9182736873626709,0.9182738065719604],[0.8600280284881592,0.8600282669067383,0.8600284457206726],[1.076367974281311,1.0763683319091797,1.0763685703277588],[0.901858389377594,0.9018586874008179,0.9018588662147522],[1.0589171648025513,1.0589174032211304,1.05891752243042],[0.9655045866966248,0.9655047655105591,0.9655049443244934],[1.0215520858764648,1.021552324295044,1.021552562713623],[0.8920877575874329,0.8920880556106567,0.8920882344245911],[1,1,1]]}]}},{"parent":-1,"flags":512,"pivot":[-0.6102647185325623,0.23904167115688324,0.3345975875854492],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,733,1700,2467,2767,3467,4233,4467,5000],"values":[[0,0,0,1],[0,0,-0.04873805963316752,0.9988097781304361],[0,0,0.02337717825861385,0.999725333414716],[0,0,-0.054383983886227,0.9985045930356762],[0,0,-0.017914365062410353,0.999816888943144],[0,0,0,1],[0,0,-0.19492172002319408,0.9808038575395978],[0,0,-0.19492172002319408,0.9808038575395978],[0,0,0,1]]}]},"scale":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,100,200,267,433,600,700,833,933],"values":[[1,1,1],[0.8807080984115601,0.8807080984115601,0.8807080984115601],[1,1,1],[0.9451349377632141,0.9451349377632141,0.9451349973678589],[1.0548650026321411,1.0548650026321411,1.0548651218414307],[0.8910649418830872,0.8910650610923767,0.8910651206970215],[1.0031391382217407,1.0031381845474243,1.0031390190124512],[0.8543534874916077,0.8543526530265808,0.8543533086776733],[1,1,1]]}]}},{"parent":-1,"flags":8,"pivot":[-0.6811395883560181,-0.12936636805534363,0.3029208779335022],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.6102647185325623,-0.2130093276500702,0.3345975875854492],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":3,"sequences":[{"timestamps":[0,667,1533,2200,2467,3100,4000,4233,4867],"values":[[0,0,0,1],[0,0,-0.1500595110934782,0.988647114474929],[0,0,0.02847376934110538,0.999572740867336],[0,0,-0.04361095004119999,0.9990234076967681],[0,0,-0.05673390911587878,0.9983825189977722],[0,0,0,1],[0,0,0.0836207159642323,0.9964903714102603],[0,0,0.0836207159642323,0.9964903714102603],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.5944227576255798,-0.22075019776821136,0.35689491033554077],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"glLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/backstab_cast_base.m2","sourceSha256":"b509d26a656aacfc170bd057dab58235f9bfe2ffa8fd2b644e4a7f46ae80f4c9","sourceSkinSha256":"51df0419bddc4a33df9f9d7c211da9fc7880a0beac8970d8a194f1a6dcf0009e","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":634,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":512,"pivot":[0.778619110584259,0.20569410920143127,1.671016812324524],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,134,234,634],"values":[[-0.20666496455669403,0.0018035133834928274,0.2535380423069],[0.014093074947595596,-0.00012297350622247905,-0.019096296280622482],[-0.11637677252292633,0.0010156040079891682,-0.25442686676979065],[-0.11637677252292633,0.0010156040079891682,-0.25442686676979065]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,67,134,234,634],"values":[[-0.0023194067201757866,-0.2674642170476394,0.3423261207922605,0.9006927701651052],[0,-0.00772118289742729,0.009826960051271096,0.999908444471572],[0.0032349620044557024,0.37263100070192573,-0.4769737846003601,0.7959837641529588],[0.004791405987731559,0.5533005767998291,-0.7082735679189428,0.43833735160374765],[0.004791405987731559,0.5533005767998291,-0.7082735679189428,0.43833735160374765]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,134,634],"values":[[0.49261099100112915,0.4926108419895172,0.49261102080345154],[1.1231529712677002,1.1231528520584106,1.123152732849121],[1.1231529712677002,1.1231528520584106,1.123152732849121]]}]}},{"parent":-1,"flags":512,"pivot":[0.6803311705589294,-0.2698027193546295,1.554941177368164],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,134,267,367,634],"values":[[-0.2066650092601776,0.0018035140819847584,0.2535380423069],[-0.2066650092601776,0.0018035140819847584,0.2535380423069],[0.014093074947595596,-0.00012298674846533686,-0.019096218049526215],[-0.11637682467699051,0.0010156177449971437,-0.25442683696746826],[-0.11637682467699051,0.0010156177449971437,-0.25442683696746826]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,134,200,267,367,396,425,455,484,542,571,600,634],"values":[[0.09097567674794763,-0.29926450392162846,-0.30152287362285224,0.9006927701651052],[0.11792352061525316,-0.34055604724265265,-0.3003936887722404,0.8830835901974547],[0.0025940733054597613,-0.008636738181707206,-0.0086977752006592,0.999908444471572],[-0.12677388836329234,0.4169133579515976,0.42005676442762535,0.7959837641529588],[-0.14694662312692647,0.6128421887874996,0.6661885433515428,0.3987243263039033],[-0.2884304330576495,0.5991393780327768,0.4721823786126286,0.5786309396649068],[-0.4252143925290689,0.44956816309091463,0.09595019379253518,0.7796258430738243],[-0.4545426801355022,0.1913815729239784,-0.2975249488814966,0.8174382763145848],[-0.41145054475539417,-0.005554368724631489,-0.5167699209570604,0.7507248146000549],[-0.43122653889584034,0.3463545640430921,-0.054261909848323006,0.8313241981261635],[-0.33756523331400495,0.5423749504074221,0.33280434583574936,0.6935636463515122],[-0.1882381664479507,0.619098483230079,0.6237372966704307,0.43833735160374765],[-0.1882381664479507,0.619098483230079,0.6237372966704307,0.43833735160374765]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,134,267,634],"values":[[0.49261099100112915,0.4926110804080963,0.49261096119880676],[0.49261099100112915,0.4926110804080963,0.49261096119880676],[1.1231532096862793,1.1231536865234375,1.1231526136398315],[1.1231532096862793,1.1231536865234375,1.1231526136398315]]}]}}],"textureTransforms":[],"materials":[{"flags":23,"blendMode":4},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\GradientCrescent.blp","sourcePath":"spells/gradientcrescent.blp","sourceSha256":"8cb4340f28b49ee8c98df54eaf37d26f6ed6af285fab072414ab81ee58bbd0f0","url":"/assets/game/combat-effects/original/wow335/all/textures/8cb4340f28b49ee8c98d.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[1.1512254476547241,0.6904564499855042,2.0522804260253906,1.1470403671264648,0.2108929306268692,1.6775903701782227,-0.012540481984615326,0.7006126642227173,2.0522801876068115,0.3194832503795624,0.47181618213653564,1.8807108402252197,0.4574491083621979,0.7983036041259766,2.136721611022949,1.1128607988357544,0.2612854838371277,1.7216417789459229,1.2508267164230347,0.5877729058265686,1.9776524305343628,-0.016725504770874977,0.22104914486408234,1.6775903701782227,1.038152813911438,-0.1849246621131897,1.5786820650100708,-0.00014881465176586062,-0.8901248574256897,1.965288758277893,-0.0875137522816658,-0.4760422110557556,1.527917504310608,0.7538888454437256,-0.965251088142395,2.1701090335845947,0.8036515712738037,-0.14948399364948273,1.5581743717193604,1.2063871622085571,-0.30075007677078247,1.7550756931304932,0.3511532247066498,Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/backstab_impact_chest.m2","sourceSha256":"021b88c624857bffe447ff6cc3f207d42ccffc046cbe4ea718b450c1b41926e8","sourceSkinSha256":"5ea96f999224b67b37f919c434fe222a47aae928f3ec13398baac9a840efb86f","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1500,"moveSpeed":0,"flags":33}],"globalSequences":[533],"bones":[{"parent":-1,"flags":520,"pivot":[0,0.005842922255396843,-0.000982356141321361],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,500,800,1500],"values":[[1,1,1],[0.8222154974937439,0.8222154378890991,0.8222153782844543],[1.5481001138687134,1.5480999946594238,1.5480998754501343],[0.41641348600387573,0.41641345620155334,0.41641342639923096]]}]}},{"parent":-1,"flags":520,"pivot":[0,0.0007161395624279976,0.0006376830860972404],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,200,300,533],"values":[[1.3457176685333252,1.3457176685333252,1.3457176685333252],[2.684650182723999,2.684650182723999,2.684650182723999],[1.1121630668640137,1.1121630668640137,1.1121630668640137],[3.1220648288726807,3.1220645904541016,3.1220643520355225]]}]}},{"parent":-1,"flags":520,"pivot":[0,0.000578535080421716,0.00243716430850327],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,500,700,1200,1500],"values":[[1,1,1],[0.15380826592445374,0.15380826592445374,0.15380826592445374],[1.808888554573059,1.8088884353637695,1.80888831615448],[0.06204264611005783,0.06204264238476753,0.062042638659477234],[0.026616737246513367,0.026616735383868217,0.026616733521223068]]}]}},{"parent":-1,"flags":520,"pivot":[0,0.0009340577526018023,0.0006455208058468997],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,300,533],"values":[[1.152381181716919,1.152381181716919,1.152381181716919],[0.9523810744285583,0.9523810148239136,0.9523809552192688],[1.152381181716919,1.152381181716919,1.152381181716919]]}]}},{"parent":-1,"flags":0,"pivot":[0.00043898215517401695,0.00007227725291159004,0.00014123652363196015],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0004389834648463875,0.00007227725291159004,0.0020504621788859367],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"spells\\Red_star2.blp","sourcePath":"spells/red_star2.blp","sourceSha256":"690e378ab8e0a7231b53819c7868c2d72f63ab1fbf03fba82dffd219c65e7f02","url":"/assets/game/combat-effects/original/wow335/all/textures/690e378ab8e0a7231b53.png"},{"type":0,"flags":0,"filename":"CREATURE\\GOLEMHARVEST\\RED_GLOW3.BLP","sourcePath":"creature/golemharvest/red_glow3.blp","sourceSha256":"d9005df0925d6fd35b2fbdda9a8f1133383ed1777a2dd0514983bf1e9aa46b43","url":"/assets/game/combat-effects/original/wow335/all/textures/d9005df0925d6fd35b2f.png"},{"type":0,"flags":0,"filename":"spells\\Shockwave10d.blp","sourcePath":"spells/shockwave10d.blp","sourceSha256":"5f4d313d78c1e80988c2a6021c42a0f380200da405028ea0f8abcaf5d20abd10","url":"/assets/game/combat-effects/original/wow335/all/textures/5f4d313d78c1e80988c2.png"},{"type":0,"flags":0,"filename":"Spells\\Shockwave10c.blp","sourcePath":"spells/shockwave10c.blp","sourceSha256":"11abdb1f0a7abc92c92bf2ec63192375c9587af49783bde1cc9e96d9b0d24770","url":"/assets/game/combat-effects/original/wow335/all/textures/11abdb1f0a7abc92c92b.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/backstab_impact_chest.m2","normalizedSourceModel":"spells/backstab_impact_chest.m2","sourceSha256":"021b88c624857bffe447ff6cc3f207d42ccffc046cbe4ea718b450c1b41926e8","durationMs":1500,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1500,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"spells\\Red_star2.blp","sourcePath":"spells/red_star2.blp","sourceSha256":"690e378ab8e0a7231b53819c7868c2d72f63ab1fbf03fba82dffd219c65e7f02","url":"/assets/game/combat-effects/original/wow335/all/textures/690e378ab8e0a7231b53.png"},{Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/banish_chest.m2","sourceSha256":"ccbb0f8c5c9205abb7132eb8251945946517916e2d0ff9c48fddc69609aed883","sourceSkinSha256":"a445b440038c4d315db8e335f87ccf86ff28fa9a4f50b591f8ad1a1fec344b2e","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":700,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":633,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":1100,"moveSpeed":0,"flags":33}],"globalSequences":[1100,767,567,367,1067,700,433,1233,800,500],"bones":[{"parent":-1,"flags":8,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":520,"pivot":[0.5555524826049805,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[1.2499995231628418,1.25,1.25],[0.40540534257888794,0.4054054617881775,0.4054054617881775],[0.9999998211860657,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,300,633],"values":[[0.9999998211860657,1.0000001192092896,1.0000001192092896],[0.862068772315979,0.8620689511299133,0.8620689511299133],[0.9999998211860657,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,334,1000,1100],"values":[[0.9999998211860657,1.0000001192092896,1.0000001192092896],[0.899999737739563,0.8999999761581421,0.8999999761581421],[1.299999475479126,1.2999999523162842,1.2999999523162842],[1.299999475479126,1.2999999523162842,1.2999999523162842]]}]}},{"parent":0,"flags":520,"pivot":[0.5555524826049805,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[1.249999761581421,1.2500001192092896,1.2500001192092896],[0.8999997973442078,0.9000000953674316,0.9000000357627869],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,300,633],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.8620688915252686,0.8620691895484924,0.8620691299438477],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,334,1000,1100],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.8999997973442078,0.9000000953674316,0.9000000357627869],[1.2999998331069946,1.3000001907348633,1.3000001907348633],[1.2999998331069946,1.3000001907348633,1.3000001907348633]]}]}},{"parent":0,"flags":512,"pivot":[0.5555524826049805,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[1.249999761581421,1.2500001192092896,1.2500001192092896],[0.6999998092651367,0.7000000476837158,0.7000000476837158],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,300,633],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.862068772315979,0.8620690703392029,0.8620690107345581],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,334,1000,1100],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.8999998569488525,0.9000001549720764,0.9000000953674316],[1.2999998331069946,1.3000001907348633,1.3000001907348633],[1.2999998331069946,1.3000001907348633,1.3000001907348633]]}]}},{"parent":0,"flags":512,"pivot":[0.5555524826049805,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.5999998450279236,0.6000000238418579,0.6000000238418579],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,300,633],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.862068772315979,0.8620690703392029,0.8620690107345581],[0.9999997615814209,1.0000001192092896,1.0000001192092896]]},{"timestamps":[0,334,1000,1100],"values":[[0.9999997615814209,1.0000001192092896,1.0000001192092896],[0.8999998569488525,0.9000001549720764,0.9000000953674316],[1.2999998331069946,1.3000001907348633,1.3000001907348633],[1.2999998331069946,1.3000001907348633,1.3000001907348633]]}]}},{"parent":-1,"flags":512,"pivot":[0,0,-0.060863953083753586],"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,367,1100],"values":[[0,0,0],[0,0,0.07364532351493835],[0,0,0]]}]},"rotation":{"interpolation":1,"glLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/barkskin_state_base.m2","sourceSha256":"13274dd4cd4a1b395112c1de96ab1573d6cd4c6e53166bdfd911483edd2210ab","sourceSkinSha256":"f5b43c7cad51e30caf22daf7aeb3a7b9ee29bf30f1f5b02c7a36fd6c37320fcf","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":367,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":634,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":1100,"moveSpeed":0,"flags":33}],"globalSequences":[1833,2000,2200],"bones":[{"parent":-1,"flags":576,"pivot":[0,0,0.0320180244743824],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[0,167,933,1100],"values":[[0,0,0],[0,0,-0.06456705182790756],[0,0,-1.3293215036392212],[0,0,-1.4622536897659302]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,297,332,367],"values":[[0.09541984647512436,0.09541984647512436,0.09541984647512436],[1,1,1],[1.1414529085159302,1.1414529085159302,1.1414529085159302],[1,1,1]]},{"timestamps":[],"values":[]},{"timestamps":[0,1100],"values":[[1,1,1],[0.09737098217010498,0.09737098217010498,0.09737098217010498]]}]}},{"parent":0,"flags":512,"pivot":[-0.014322817325592041,-0.010646901093423367,0.02085508592426777],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,433,933,1367,1833],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.706961272011475,-0.7072054200872829],[0,0,0.0003051850947599719,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[-0.014322817325592041,-0.010646901093423367,0.08126065880060196],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,500,1000,1500,2000],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.706930753501999,-0.7072359385967589],[0,0,0.0004272591326639607,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[-0.014322817325592041,-0.010646901093423367,-0.07174903899431229],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":2,"sequences":[{"timestamps":[0,567,1133,1667,2200],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.706961272011475,-0.7072054200872829],[0,0,0.0003051850947599719,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":2,"flags":0,"pivot":[-0.4042917490005493,0.5687119364738464,0.007367776706814766],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":2,"flags":0,"pivot":[0.5280284881591797,-0.3308190107345581,0.007367776706814766],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":20,"blendMode":2}],"textures":[{"type":0,"flags":3,"filename":"SPELLS\\KALIDARTREETRUNK02.BLP","sourcePath":"spells/kalidartreetrunk02.blp","sourceSha256":"c516dc10f78b2f55e4903043504c9ee95085c01027f92ecfc80b459f8de03608","url":"/assets/game/combat-effects/original/wow335/all/textures/c516dc10f78b2f55e490.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6","url":"/assets/game/combat-effects/original/wow335/all/textures/af8b9a0098956c5acf18.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/barkskin_state_base.m2","normalizedSourceModel":"spells/barkskin_state_base.m2","sourceSha256":"13274dd4cd4a1b395112c1de96ab1573d6cd4c6e53166bdfd911483edd2210ab","durationMs":1100,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":367,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":634,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":1100,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":3,"filename":"SPELLS\\KALIDARTREETRUNK02.BLP","sourcePath":"spells/kalidartreetrunk02.blp","sourceSha256":"c516dc10f78b2f55e4903043504c9ee95085c01027f92ecfc80b459f8de03608","url":"/assets/game/combat-effects/original/wow335/all/textures/c516dc10f78b2f55e490.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR5A.BLP","sourcePath":"spells/star5a.blp","sourceSha256":"af8b9a0098956c5acf1829f343ad2823d6dd841783d0ccd8685e91c6288f56f6",Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/battleshout_cast_base.m2","sourceSha256":"5d346e15ed9794d657d909499fad584a2db822c603120f180375805fd9e2c4f5","sourceSkinSha256":"e2b8c60d75b9107f0b71a58fa784bedc8f30cdc1c5e5c4471f77fdb8e79bcb88","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":900,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[110000],"values":[[0,0,-0.7071138645588549,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,667,900],"values":[[0,0,0],[-1.83511221408844,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,667,900],"values":[[1.0000003576278687,0.9999997019767761,1],[3.0000009536743164,2.9999990463256836,3],[3.0000009536743164,2.9999990463256836,3]]}]}},{"parent":0,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,133,800,900],"values":[[0,0,0],[0,0,0],[-1.83511221408844,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,133,800,900],"values":[[1,1,1],[1,1,1],[3,3,3],[3,3,3]]}]}},{"parent":0,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,900],"values":[[0,0,0],[0,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,900],"values":[[1,1,1],[1,1,1],[3,3,3]]}]}},{"parent":0,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[110000],"values":[[0,0,-1,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,133,800,900],"values":[[0,0,0],[0,0,0],[-1.83511221408844,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,133,800,900],"values":[[1,1,1],[1.000000238418579,0.9999997615814209,1],[3.0000007152557373,2.9999992847442627,3],[3.0000007152557373,2.9999992847442627,3]]}]}},{"parent":4,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,900],"values":[[0,0,0],[0,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,900],"values":[[1,1,1],[1.000000238418579,0.9999997615814209,1],[3.0000007152557373,2.9999992847442627,3]]}]}},{"parent":4,"flags":512,"pivot":[-0.2823249399662018,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,667,900],"values":[[0,0,0],[-1.83511221408844,0,0],[-1.83511221408844,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,667,900],"values":[[1.0000003576278687,0.9999997019767761,1],[3.0000009536743164,2.9999990463256836,3],[3.0000009536743164,2.9999990463256836,3]]}]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"Spells\\GradientCrescent.blp","sourcePath":"spells/gradientcrescent.blp","sourceSha256":"8cb4340f28b49ee8c98df54eaf37d26f6ed6af285fab072414ab81ee58bbd0f0","url":"/assets/game/combat-effects/original/wow335/all/textures/8cb4340f28b49ee8c98d.png"}],"particleGraph":null,"ribbons":[],"children":{},"mesh":{"positions":[-0.7763935327529907,-0.49406883120536804,0,0.21174383163452148,-0.49406856298446655,0,-0.776393711566925,0.49406853318214417,0,0.21174359321594238,0.4940687417984009,0,-0.7763935327529907,-0.49406883120536804,0,0.21174383163452148,-0.49406856298446655,0,-0.776393711566925,0.49406853318214417,0,0.21174359321594238,0.4940687417984009,0,-0.776393473148346,-0.49406883120536804,0,0.21174386143684387,-0.49406856298446655,0,-0.7763937711715698,0.4940684735774994,0,0.21174356341362,0.49406877160072327,0,-0.776393473148346,-0.49406883120536804,0,0.21174386143684387,-0.49406856298446655,0,-0.7763937711715698,0.4940684735774994,0,0.21174356341362,0.49406877160072327,0Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/battlestance_impact_head.m2","sourceSha256":"9494ca465c1ffa1bfb018f0a2cec29d00654cb167c8fc34d17768989ebc6ca1a","sourceSkinSha256":"9915335e7ac85d8f8cd89f70e407cec4f178c81f121bf7155868f9ecdcca4040","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3000,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":64,"pivot":[0,0,0.9722222089767456],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0,0,0.9722222089767456],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,100,200,300,2800,2900,3000],"values":[[0,0,0],[1.6499993801116943,1.649999976158142,2.000000476837158],[1.3999994993209839,1.5999999046325684,1.4000004529953003],[1.4999995231628418,1.5,1.5000004768371582],[1.4999995231628418,1.5,1.5000004768371582],[1.4999991655349731,1.5999999046325684,1.4000004529953003],[2.2649371089755732e-7,0,0.75]]}]}},{"parent":1,"flags":512,"pivot":[0.03271515667438507,0.0018032636726275086,0.8811146020889282],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,234,467,2500,2767,3000],"values":[[0,0,0],[0,0,0],[0,0.05708302929997444,0],[0,0.05708302929997444,0],[0,0,0],[0,0,0]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,234,467,2500,2767,3000],"values":[[0,0,0,1],[0,0,0,1],[0.34199041718802453,0,0,0.9396649067659536],[0.34199041718802453,0,0,0.9396649067659536],[0,0,0,1],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[-0.0018841930432245135,-0.0028409177903085947,0.8811146020889282],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,234,467,2500,2767,3000],"values":[[0,0,0],[0,0,0],[0,-0.059614673256874084,0],[0,-0.059614673256874084,0],[0,0,0],[0,0,0]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,234,467,2500,2767,3000],"values":[[0,0,0,1],[0,0,0,1],[-0.3420209356975005,0,0,0.9396649067659536],[-0.3420209356975005,0,0,0.9396649067659536],[0,0,0,1],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0,-0.0059586395509541035,1.011203646659851],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,67,167,267,367,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2867,2967,3000],"values":[[1,1,1],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[0.953856885433197,0.9538571834564209,0.9538574814796448],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[1,1,1],[0.9117845296859741,0.911784827709198,0.9117851257324219],[0.9117845296859741,0.911784827709198,0.9117851257324219]]}]}},{"parent":1,"flags":512,"pivot":[0,-0.003336608409881592,1.011203646659851],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,67,167,267,367,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2867,2967,3000],"values":[[1,1,1],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[0.9538567662239075,0.9538570642471313,0.9538573622703552],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[1,1,1],[0.9117844700813293,0.9117847681045532,0.9117850661277771],[1,1,1]Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/beastragecaster.m2","sourceSha256":"8fc76cdcdd2fa741985ddcee187ea1bf7accd23bcfe9c73674a5a3eb5680a4f5","sourceSkinSha256":"5386ea5be68d55d10e0236f404cba70c97dcb5a26272018090a531a1eb2c7fc2","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1500,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[0.936894953250885,-0.00791991502046585,0.022305728867650032],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,1500],"values":[[-0.03235625475645065,0,0.03258747234940529],[0,0,-0.02143383026123047],[0,0,-0.02143383026123047]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,1500],"values":[[0,-0.1218604083376568,0,0.9925229651783807],[0,0.02154606769005402,0,0.999755851924192],[0,0.0005798516800439467,0,0.999969481490524]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,1275,1375,1500],"values":[[1.4700000286102295,1.470000147819519,1.4700002670288086],[0.9999999403953552,1,1.0000001192092896],[0.9999999403953552,1,1.0000001192092896],[1.2527999877929688,1.2528001070022583,1.2528002262115479],[0.04471132159233093,0.04471132531762123,0.04471132904291153]]}]}},{"parent":0,"flags":512,"pivot":[1.0060579776763916,-0.010040877386927605,0.17499090731143951],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,1500],"values":[[0.03701474517583847,0,0.2533804774284363],[0,0,0],[0,0,0]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,175,575,625,800,1000,1075,1225,1500],"values":[[0,-0.04361095004119999,0,0.9990234076967681],[0,0,0,1],[-0.023133030182805873,0,-0.0035401470992156743,0.999725333414716],[0.028839991454817346,0,0.0022888882106997894,0.999572740867336],[0.0173650318918424,0,0.001281777397991882,0.99984740745262],[0,0,0,1],[0.028839991454817346,0,0.0022888882106997894,0.999572740867336],[0.0173650318918424,0,0.001281777397991882,0.99984740745262],[0,0,0,1],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.9432746171951294,-0.010040877386927605,-0.07554810494184494],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,200,225,300,375,400,475,500,525,600,625,700,775,800,875,900,925,1000,1025,1075,1125,1275,1500],"values":[[-0.11152956634759903,0,-0.2809373140335083],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0.0019558866042643785,0,-0.030177272856235504],[0,0,0],[0,0,0]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,125,200,225,300,375,400,475,500,525,600,625,700,775,800,875,900,925,1000,1025,1075,1125,1275,1500],"values":[[0,0.34607989745780815,0,0.9381694998016297],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0.08276619769890439,0,0.9965514084292123],[0,0,0,1],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":8,"pivot":[0.9821116328239441,-0.19868691265583038,0.2561306357383728],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":8,"pivot":[0.9821116328239441,0.18557731807231903,0.2518827021121979],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":2,"flags":8,"pivot":[0.8240369558334351,-0.2277252972126007,-0.180871844291687],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequenLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/beastragestate.m2","sourceSha256":"e521aac0e0689bb8996ade4d242607684e2e50d80374323b6ee25310344e2a8d","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,0.2746428847312927],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,500,1000],"values":[[0,0,0,1],[0,0,0.999908444471572,0.013061922055726798],[0,0,0.026184881130405593,-0.999664296395764]]},{"timestamps":[0,500,1000],"values":[[0,0,0,1],[0,0,0.999908444471572,0.013061922055726798],[0,0,0.026184881130405593,-0.999664296395764]]},{"timestamps":[0,500,1000],"values":[[0,0,0,1],[0,0,0.999908444471572,0.013061922055726798],[0,0,0.026184881130405593,-0.999664296395764]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0.2520468533039093],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,250,500,750,1000],"values":[[0,0,0,1],[0.12903225806451613,0.12863551744132817,-0.6941740165410322,0.6963408307138279],[0,0,-1,0.002349925229651784],[0.11029389324625385,-0.1109042634357738,-0.7003387554551835,-0.6964323862422559],[0,0,-0.004333628345591601,-1]]},{"timestamps":[0,267,500,767,1000],"values":[[0,0,0,1],[0.12903225806451613,0.12863551744132817,-0.6941740165410322,0.6963408307138279],[0,0,-1,0.002349925229651784],[0.11029389324625385,-0.1109042634357738,-0.7003387554551835,-0.6964323862422559],[0,0,-0.004333628345591601,-1]]},{"timestamps":[0,267,500,767,1000],"values":[[0,0,0,1],[0.12903225806451613,0.12863551744132817,-0.6941740165410322,0.6963408307138279],[0,0,-1,0.002349925229651784],[0.11029389324625385,-0.1109042634357738,-0.7003387554551835,-0.6964323862422559],[0,0,-0.004333628345591601,-1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0.5885336995124817,-0.0010729895438998938,0.2746428847312927],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,500,1000],"values":[[-0.7071138645588549,0,0,0.707083346049379],[-0.7326578569902646,0,0,0.6805932798242134],[-0.7071138645588549,0,0,0.707083346049379]]},{"timestamps":[0,500,1000],"values":[[-0.7071138645588549,0,0,0.707083346049379],[-0.7326578569902646,0,0,0.6805932798242134],[-0.7071138645588549,0,0,0.707083346049379]]},{"timestamps":[0,500,1000],"values":[[-0.7071138645588549,0,0,0.707083346049379],[-0.7326578569902646,0,0,0.6805932798242134],[-0.7071138645588549,0,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[-0.44756609201431274,-0.0010729895438998938,0.2746428847312927],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,500,1000],"values":[[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136],[-0.003204443494979705,-0.7326578569902646,0.6805627613147374,0.0030518509475997192],[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136]]},{"timestamps":[0,500,1000],"values":[[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136],[-0.003204443494979705,-0.7326578569902646,0.6805627613147374,0.0030518509475997192],[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136]]},{"timestamps":[0,500,1000],"values":[[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136],[-0.003204443494979705,-0.7326578569902646,0.6805627613147374,0.0030518509475997192],[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0.5885336995124817,-0.0010729895438998938,0.2520468533039093],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[-0.7071138645588549,0,0,0.707083346049379]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[-0.44756609201431274,-0.0010729895438998938,0.2520468533039093],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[-0.0030823694570757164,-0.7071138645588549,0.707083346049379,0.0031128879665517136]]}]},"scale":{"interpolatioLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/berzerkerstance_impact_head.m2","sourceSha256":"61b42ed64b6223cc200b546a19bce3e59de5b081cb53dd6680598f442cad853a","sourceSkinSha256":"d0dc1a226194a85fde925781e05ac4c566065e7b64e897cf777f1027ee5a9b7d","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3000,"moveSpeed":0,"flags":33}],"globalSequences":[],"bones":[{"parent":-1,"flags":64,"pivot":[0,0,0.9722222089767456],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":512,"pivot":[0,0,0.9722222089767456],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,100,200,300,467,534,634,734,800,900,1000,1067,1167,1234,1367,1434,1534,1600,1700,1767,1900,1967,2100,2167,2267,2334,2434,2500,2600,2667,2800,2900,3000],"values":[[0,0,0],[1.6499993801116943,1.649999976158142,2.000000476837158],[1.3999994993209839,1.5999997854232788,1.4000004529953003],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.5145121812820435,1.5145126581192017,1.5145131349563599],[1.4999995231628418,1.5,1.5000004768371582],[1.4999995231628418,1.5,1.5000004768371582],[1.4999991655349731,1.5999997854232788,1.4000004529953003],[2.2649371089755732e-7,0,0.75]]}]}},{"parent":1,"flags":512,"pivot":[0.14816100895404816,0.039054471999406815,1.0948055982589722],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,534,834,1767,3000],"values":[[1,1,1],[1,1,1],[2.4263298511505127,2.4263296127319336,2.4263293743133545],[1,1,1],[1,1,1]]}]}},{"parent":1,"flags":512,"pivot":[0.14816100895404816,-0.04202758148312569,1.0948055982589722],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,534,834,1767,3000],"values":[[1,1,1],[1,1,1],[2.426330089569092,2.4263293743133545,2.4263298511505127],[1,1,1],[1,1,1]]}]}},{"parent":1,"flags":512,"pivot":[0.1497325301170349,0.039054471999406815,1.0948055982589722],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,534,834,1767,3000],"values":[[1,1,1],[1,1,1],[2.426330089569092,2.4263298511505127,2.4263296127319336],[1,1,1],[1,1,1]]}]}},{"parent":1,"flags":512,"pivot":[0.1497325301170349,-0.04202758148312569,1.0948055982589722],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,534,834,1767,3000],"values":[[1,1,1],[1,1,1],[2.426330089569092,2.4263298511505127,2.4263296127319336],[1,1,1],[1,1,1]]}]}},{"parent":-1,"flags":0,"pivot":[-0.03319371119141579,0.0014756122836843133,1.1601061820983887],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0.05944587290287018,0.0006373851210810244,0.8598441481590271],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/bestowdisease_impact_chest.m2","sourceSha256":"7e6c72efdded0ed6784ec73192af74c1b285966c6e98f1957aad8b2cf9b046cf","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3000,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":4000,"moveSpeed":0,"flags":32}],"globalSequences":[],"bones":[{"parent":-1,"flags":8,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[],"textures":[{"type":0,"flags":0,"filename":"Spells\\StarGradient64.blp","sourcePath":"spells/stargradient64.blp","sourceSha256":"1101fa4e121faf67b18eab3b62771906facbccb808856fe954ee3bb0365d5618","url":"/assets/game/combat-effects/original/wow335/all/textures/1101fa4e121faf67b18e.png"},{"type":0,"flags":0,"filename":"Spells\\Clouds8x8Fade.blp","sourcePath":"spells/clouds8x8fade.blp","sourceSha256":"b3b24ef2b458683abd0377190ee140dcbdab0a6b99d8f835c1df007a795537cc","url":"/assets/game/combat-effects/original/wow335/all/textures/b3b24ef2b458683abd03.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ce72f09b7fc8532b256b8b8e31731f5c5b6c16","url":"/assets/game/combat-effects/original/wow335/all/textures/20ef5e726bf050a7fa08.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/bestowdisease_impact_chest.m2","normalizedSourceModel":"spells/bestowdisease_impact_chest.m2","sourceSha256":"7e6c72efdded0ed6784ec73192af74c1b285966c6e98f1957aad8b2cf9b046cf","durationMs":4000,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":3000,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":4000,"moveSpeed":0,"flags":32}],"textures":[{"type":0,"flags":0,"filename":"Spells\\StarGradient64.blp","sourcePath":"spells/stargradient64.blp","sourceSha256":"1101fa4e121faf67b18eab3b62771906facbccb808856fe954ee3bb0365d5618","url":"/assets/game/combat-effects/original/wow335/all/textures/1101fa4e121faf67b18e.png"},{"type":0,"flags":0,"filename":"Spells\\Clouds8x8Fade.blp","sourcePath":"spells/clouds8x8fade.blp","sourceSha256":"b3b24ef2b458683abd0377190ee140dcbdab0a6b99d8f835c1df007a795537cc","url":"/assets/game/combat-effects/original/wow335/all/textures/b3b24ef2b458683abd03.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ce72f09b7fc8532b256b8b8e31731f5c5b6c16","url":"/assets/game/combat-effects/original/wow335/all/textures/20ef5e726bf050a7fa08.png"}],"particles":[{"id":4294967295,"flags":131585,"position":[0,0,0],"parentBone":1,"textureIndex":0,"geometryModel":"Spells\\Skull180.mdx","recursionModel":"","blendMode":4,"emitterType":2,"particleColorIndex":0,"particleType":0,"headOrTail":0,"textureTileRotation":0,"textureRows":1,"textureColumns":1,"lifespanVariation":0,"emissionRateVariation":0,"scaleVariation":[0,0],"tailLength":0.10000000149011612,"interpolation":{"emissionSpeed":0,"speedVariation":0,"verticalRange":0,"horizontalRange":0,"gravity":0,"lifespan":0,"emissionRate":0,"emissionAreaLength":0,"emissionAreaWidth":0,"zSource":0,"enabled":0},"globalSequence":{"emissionSpeed":-1,"speedVariation":-1,"verticalRange":-1,"horizontalRange":-1,"gravity":-1,"lifespan":-1,"emissionRate":-1,"emissionAreaLength":-1,"emissionAreaWidth":-1,"zSource":-1,"enabled":-1},"samples":{"emissionSpeed":[{"timeMs":0,"value":0}],"speedVariation":[{"timeMs":0,"value":0.019999999552965164}],"verticalRange":[{"timeMs":0,"value":3.1415927410125732}],"horizontalRange":[{"timeMs":0,"value":0}],"gravity":[{"timeMs":0,"value":0}],"lifespan":[{"timeMs":0,"value":1.5}],"emissionRate":[{"timeMs":0,"value":10}],"emissionAreaLength":[{"timeMs":0,"value":0.2777777910232544}],"emissionAreaWidth":[{"timeMs":0,"value":1.1111111640930176}],"zSource":[{"timeMs":0,"value":0}],"color":[{"timestamp":0,"normalizedTime":0,"value":[0,119.0000076293945Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blackshot_missile.m2","sourceSha256":"936c1547d45d800e6b1645350415832557e385e35a7c8392f7b9eac2fe84a954","sourceSkinSha256":null,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":167,"moveSpeed":0,"flags":32},{"index":1,"id":144,"variationIndex":0,"durationMs":166,"moveSpeed":0,"flags":32}],"globalSequences":[],"bones":[{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,-0.7071138645588549,0,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.11926633503219702,0.1891232032227546,-0.08224738303781243,0.9711905270546587]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.11926633503219702,0.1891232032227546,-0.08224738303781243,0.9711905270546587]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.018037477508187294,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.014668828807771206,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0.015533921323282572,-0.006469924008911405,-0.0576189458906827,0.9981688894314402]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0.01462869718670845,0.0012798452517017722]]},{"timestamps":[],"values":[]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0],"values":[[0,0,0.707083346049379,0.707083346049379]]},{"timestamps":[],"values":[]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":0,"pivot":[0,0,0.042308490723371506],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":22,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\PURPLE_GLOW.BLP","sourcePath":"spells/purple_glow.blp","sourceSha256":"1f2676b959ef80574cfbc9d0803ca61b4d6aaea5a94b079e845d699691867b87","url":"/assets/game/combat-effects/original/wow335/all/textures/1f2676b959ef80574cfb.png"},{"type":0,"flags":0,"filename":"SPELLS\\STAR4_32.BLP","sourcePath":"spells/star4_32.blp","sourceSha256":"7503e14370a94df760791b027d9d2ca47142d90189ba66593363eb6916728a2d","url":"/assets/game/combat-effects/original/wow335/all/textures/7503e14370a94df76079.png"},{"type":0,"flags":0,"filename":"SPELLS\\SHOCKWAVEWATER1BLACK.BLP","sourcePath":"spells/shockwavewater1black.blp","sourceSha256":"4ae2c315255dfe631b74c7761a8d18b9cd2892bd4758dcbd4e9032228c56fa03","url":"/assets/game/combat-effects/original/wow335/all/textures/4ae2c315255dfe631b74.png"},{"type":0,"flags":0,"filename":"SPELLS\\RIBBONBLUR1BEA_PURPLE.BLP","sourcePath":"spells/ribbonblur1bea_purple.blp","sourceSha256":"fd2d7db80270256d1eb6664cb4438c1d8611b95abca96c802a260bf5f90fe96d","url":"/assets/game/combat-effects/original/wow335/all/textures/fd2d7db80270256d1eb6.png"},{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\WEAPON\\FLARE.BLP","sourcePath":"item/objectcomponents/weapon/flare.blp","sourceSha256":"20ef5e726bf050a7fa082377d5ceLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessed_mending_impact.m2","sourceSha256":"bbe8dd60df4566adf27f1e723a8dffcd43d5f01e2cddcf509e6d2595636f5755","sourceSkinSha256":"c7604980481de7bb01467a4bd9ea57c665e5f0c243c9f168f8f7e1c28b8abe63","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1967,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[-0.02111966349184513,0.006177014671266079,0.011269105598330498],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,67,734,1967],"values":[[1,1,1],[0.4080965518951416,0.4080965518951416,0.4080965518951416],[1.2005205154418945,1.2005205154418945,1.2005205154418945],[1.2005205154418945,1.2005205154418945,1.2005205154418945]]}]}},{"parent":-1,"flags":512,"pivot":[-0.02111966349184513,0.006177014671266079,0.011269105598330498],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,267,1967],"values":[[0.408096581697464,0.408096581697464,0.408096581697464],[3.211975336074829,3.211975336074829,3.211975336074829],[3.211975336074829,3.211975336074829,3.211975336074829]]}]}},{"parent":-1,"flags":512,"pivot":[0,0.0007960001821629703,0.027937212958931923],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[333],"values":[[0.499984740745262,-0.500015259254738,-0.500015259254738,0.499984740745262]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.005309488158673048,-0.00103074312210083,-0.025181174278259277],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0.005309488158673048,-0.00103074312210083,-0.025181174278259277],"translation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[733],"values":[[0,0,-0.010766135528683662]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":21,"blendMode":4},{"flags":21,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT64FLIPA.BLP","sourcePath":"spells/gradient64flipa.blp","sourceSha256":"74150ec2d2b5d29d644122eddb77f4943512d49a5eed7296c52b2875092b7795","url":"/assets/game/combat-effects/original/wow335/all/textures/74150ec2d2b5d29d6441.png"},{"type":0,"flags":3,"filename":"SPELLS\\RUNE1D.BLP","sourcePath":"spells/rune1d.blp","sourceSha256":"051d3c831f1808d69fe11d9cb8a6892462af22ec29bffe77c213512b8239c2bf","url":"/assets/game/combat-effects/original/wow335/all/textures/051d3c831f1808d69fe1.png"},{"type":0,"flags":0,"filename":"SPELLS\\AURARUNE_B.BLP","sourcePath":"spells/aurarune_b.blp","sourceSha256":"7856967bb0335aeb171011c8fdaac8dcf4c63fc7cc87719d36d42c54e6d80f6f","url":"/assets/game/combat-effects/original/wow335/all/textures/7856967bb0335aeb1710.png"}],"particleGraph":{"schemaVersion":1,"kind":"wow-m2-particle-effect","source":"wow335","sourceModel":"spells/blessed_mending_impact.m2","normalizedSourceModel":"spells/blessed_mending_impact.m2","sourceSha256":"bbe8dd60df4566adf27f1e723a8dffcd43d5f01e2cddcf509e6d2595636f5755","durationMs":1967,"animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1967,"moveSpeed":0,"flags":33}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\GRADIENT64FLIPA.BLP","sourcePath":"spells/gradient64flipa.blp","sourceSha256":"74150ec2d2b5d29d644122eddb77f4943512d49a5eed7296c52b2875092b7795","url":"/assets/game/combat-effects/original/wow335/all/textures/74150ec2d2b5d29d6441.png"},{"type":0,"flags":3,"filename":"SPELLS\\RUNE1D.BLP","sourcePath":"spells/rune1d.blp","sourceSha256":"051d3c831f1808d69fe11d9cb8a6892462af22ec29bffe77c213512b8239c2bf","url":"/assets/game/combat-effects/original/wow335/all/textures/051d3c831f1808d69fe1.png"},{"type":0,"flags":0,"filename":"SPELLS\\AURARUNE_B.BLP","sourcePath":"spells/aurarune_b.blp","sourceSha256":"7856967bb0335aeb171011c8fdaac8dcf4c63fc7cc87719d36d42c54e6d80f6f","url":"/assets/game/combat-effects/original/wow335/all/textures/7856967bb0335aeb1710.png"}],"particles":[{"id":4294967295,"flags":263224,"position":[0,0.0007960001821629703,0.027937212958931923],"parentBone":2,"textureIndex":0,"geometryModel":"","recursionModel":"","blendMode":4,"emitterType":2,"particleColorIndex":0,"particleType":0,"headOrTail":0,"textureTileRotation":65535,"textureRows":1,"textureColumns":1,"lifespanVariation":0,"emissionRateVariation":0,"scaleVariation":[0,0],"tailLength":6,"interpolation":{"Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingoffreedom_impact.m2","sourceSha256":"0339984234d3b204756fa76dd54d119d0f554bff46f60f7c59d6fa564b91a851","sourceSkinSha256":"abc213e95539600755f1a72f60388b8198bc8c478afc864e901886776087d809","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333,0],"bones":[{"parent":-1,"flags":0,"pivot":[-0.0003273936454206705,0.015124165453016758,0.1227642074227333],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.707083346049379,0.707083346049379],[0,0,0.9238563188573871,0.3826715903195288]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.4883412718772888],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1900],"values":[[0.9904177784919739,0.9904177188873291,0.9904176592826843],[1.7761656045913696,1.77616548538208,1.7761653661727905]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173513501882553,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928571939468384,0.8928570747375488,0.8928570747375488],[1,1,1]]}]}},{"parent":3,"flags":64,"pivot":[0.026798468083143234,-0.0035485215485095978,1.022129774093628],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":64,"pivot":[0.026798468083143234,-0.0035485215485095978,1.022129774093628],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":8,"pivot":[-0.001972849713638425,-0.001133421086706221,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.01490443479269743,0.002469513099640608,1.9603729248046875],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":1,"sequences":[{"timestamps":[100],"values":[[-1,0,0,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":0,"pivot":[-0.033815648406744,-0.017080718651413918,1.2810384035110474],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingoffreedom_state.m2","sourceSha256":"6f0847f7c6a4845731a5ee1a0fab07f6246ea8f9b07707796306c7dafb16f445","sourceSkinSha256":"d6851b96d2958c0faba28b1546d1f0289d2aa91f153b024a8312fd76fba8c175","animations":[{"index":0,"id":145,"variationIndex":0,"durationMs":934,"moveSpeed":0,"flags":32},{"index":1,"id":0,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":32},{"index":2,"id":147,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":96},{"index":3,"id":149,"variationIndex":0,"durationMs":1000,"moveSpeed":0,"flags":32},{"index":4,"id":157,"variationIndex":0,"durationMs":3000,"moveSpeed":0,"flags":33}],"globalSequences":[1100,767,567,367,1067,700,433,1233,800,500,533,0],"bones":[{"parent":-1,"flags":8,"pivot":[-0.002184846205636859,0.017818130552768707,1.1169191598892212],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":520,"pivot":[-0.002184846205636859,0.017818130552768707,1.1169191598892212],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":10,"sequences":[{"timestamps":[0,300,533],"values":[[1,1,1],[0.8264461755752563,0.8264461159706116,0.8264460563659668],[1,1,1]]}]}},{"parent":-1,"flags":0,"pivot":[-0.0003273936454206705,0.015124165453016758,0.1227642074227333],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,467,700,934],"values":[[0,0,0.30130924405652026,0.9534897915585803],[0,0,0.9537339396343882,-0.30066835535752434],[0,0,0.4617450483718375,-0.8869899594103824],[0,0,-0.3010650959807123,-0.9535813470870083]]},{"timestamps":[0,500,766,1000],"values":[[0,0,0.7300637836848048,0.6833399456770531],[0,0,0.6833704641865291,-0.7300637836848048],[0,0,-0.07657094027527696,-0.9970397045808282],[0,0,-0.7300637836848048,-0.6833399456770531]]},{"timestamps":[0,500,766,1000],"values":[[0,0,0.7300637836848048,0.6833399456770531],[0,0,0.6833704641865291,-0.7300637836848048],[0,0,-0.07657094027527696,-0.9970397045808282],[0,0,-0.7300637836848048,-0.6833399456770531]]},{"timestamps":[],"values":[]},{"timestamps":[0],"values":[[0,0,0.9961851863155003,0.08713034455397198]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.002181106014177203,0.017818130552768707,1.05691397190094],"translation":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,367,1100],"values":[[0,0,0],[0,0,0.07260630279779434],[0,0,0]]}]},"rotation":{"interpolation":1,"globalSequence":1,"sequences":[{"timestamps":[0,433,767],"values":[[0,0,0,1],[0.18649861140781884,0,0,0.9824213385418256],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.0021811046171933413,0.017818130552768707,1.1169191598892212],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":4,"sequences":[{"timestamps":[0,300,567,833,1067],"values":[[0,0,0,1],[0,0.4446546830652791,0,0.8956877346110416],[0,0.7372661519211402,0,0.6755577257606739],[0,0.4292123172704245,0,0.9031952879421369],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.0021811046171933413,0.017818130552768707,1.1169191598892212],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":7,"sequences":[{"timestamps":[0,333,667,967,1233],"values":[[0,0,0,1],[-0.2676168095950194,0.19855342265083772,0.29438154240546893,0.8956877346110416],[-0.44370860927152317,0.32923368022705773,0.4881130405590991,0.6755577257606739],[-0.2583086642048402,0.19165623950926236,0.28415784173100983,0.9031952879421369],[0,0,0,1]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[0,0,0],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,934],"values":[[0,0,13.88888931274414],[0,0,0],[0,0,0]]},{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[0,1000,3000],"values":[[0,0,0],[0,0,0],[0,0,13.88888931274414]]}]},"rotation":{"interpolation":1,"globalSequence":4,"sequences":[{"timestamps":[0,267,533,800,1067],"values":[[0,0,0,1],[0,0,0.707083346049379,0.707083346049379],[0,0,1,0],[0,0,0.7071138645588549,-0.707083346049379],Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofkings_base.m2","sourceSha256":"21014d39db5199acfe5bfabb38bb2f300f647e08479e31b7c6406a5d682b9c2c","sourceSkinSha256":"98fe40d05f32a382279c5a991dba3d7bfba3d081879cd7e0bdbea5fce8bbeeda","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333],"bones":[{"parent":-1,"flags":0,"pivot":[-0.0003273936454206705,0.015124165453016758,0.1227642074227333],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.707083346049379,0.707083346049379],[0,0,0.9238563188573871,0.3826715903195288]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.4883412718772888],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1900],"values":[[0.8743290305137634,0.8743289709091187,0.8743289113044739],[1.7130147218704224,1.7130146026611328,1.7130144834518433]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":3,"flags":64,"pivot":[0.026798486709594727,-0.0035485215485095978,1.4021965265274048],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":64,"pivot":[0.026798486709594727,-0.0035485215485095978,1.4021965265274048],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":8,"pivot":[-0.001972849713638425,-0.001133421086706221,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0018019189592450857,0.016105810180306435,5.191479206085205],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":0,"pivot":[-0.033815648406744,-0.017080718651413918,1.2810384035110474],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":7,"blendMode":0},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"ITEM\\OBJECTCOMPONENTS\\AMMO\\BLUE_GLOW2.BLP","sourcePath":"item/objectcomponents/ammo/blue_glow2.blp","sourceSha256":"dc81da74a65a3d904efc448e055599a5345e898eae40a1168a0ca64a45a6ba43","url":"/assets/game/combat-effects/original/wow335/all/textures/dc81da74a65a3d904efc.png"},{"type":0,"flags":0,"filename":"WORLD\\GENERIC\\ACTIVEDOODALine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofmight_base.m2","sourceSha256":"2199a030299496a357e0d2666d6bed40c83cb1def3a19f263c310a8eab2fd4e4","sourceSkinSha256":"d4634b72f8ca6acf158a0f04a9f152d9e90d881e8f42c2d5fae25532f55c2a9f","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333,0],"bones":[{"parent":-1,"flags":8,"pivot":[-0.0003001816803589463,0.016635848209261894,0.838181734085083],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.9238563188573871,0.3826715903195288],[0,0,0.9238868373668631,-0.3826715903195288]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739428570494056,0.015124165453016758,0.2721487581729889],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,133,567,1900],"values":[[0,0,0.00785801187157631],[0,0,0.011074913665652275],[0,0,0.001919905305840075],[0,0,-0.005112329963594675]]}]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1900],"values":[[1.0984708070755005,1.098470687866211,1.0984705686569214],[1.048475980758667,1.0484758615493774,1.048475742340088],[1.7997417449951172,1.7997416257858276,1.799741506576538]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":4,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":4,"flags":64,"pivot":[0.03315442055463791,-0.01384693756699562,1.3409602642059326],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":64,"pivot":[0.03315442055463791,-0.01384693756699562,1.3409602642059326],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":5,"flags":8,"pivot":[-0.001972849713638425,-0.0011334177106618881,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.01490443479269743,0.002469513099640608,0.4995647072792053],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":1,"sequences":[{"timestamps":[100],"values":[[-1,0,0,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0018019189592450857,0.016105810180306435,7.6049017906188965],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":0,"pivoLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofprotection_base.m2","sourceSha256":"a9def828cbd7cc24373237f8e58482c99efa8482ed4caf536a533d361130d45b","sourceSkinSha256":"74af559da19be02c2a8a9e2a42496b7413b8170849251ca732de494159beb621","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":700,"moveSpeed":0,"flags":33},{"index":1,"id":158,"variationIndex":0,"durationMs":633,"moveSpeed":0,"flags":32},{"index":2,"id":159,"variationIndex":0,"durationMs":1100,"moveSpeed":0,"flags":33}],"globalSequences":[0],"bones":[{"parent":-1,"flags":512,"pivot":[-0.003473795484751463,-0.0024830002803355455,3.2875092029571533],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[0,200,300,1100],"values":[[1,1,1],[0.9624999165534973,0.9624998569488525,1.0394736528396606],[0.9749999642372131,0.9749999046325684,1.026315689086914],[0.9749999642372131,0.9749999046325684,1.026315689086914]]}]}},{"parent":-1,"flags":576,"pivot":[0.2083333283662796,0,0],"translation":{"interpolation":0,"globalSequence":0,"sequences":[{"timestamps":[3333],"values":[[-0.2083333283662796,0,0]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":8,"pivot":[-0.03408272564411163,-0.030001822859048843,3.3446133136749268],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":0,"flags":8,"pivot":[-0.034082818776369095,-0.030001822859048843,3.3446133136749268],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":1,"flags":512,"pivot":[0.2083333283662796,0.013790713623166084,1.203460454940796],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[0,200,1100],"values":[[0,0,0],[0,0,0.7405707240104675],[0,0,1.1352893114089966]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[1.1095653772354126,0.5221386551856995,1],[1,1.0900001525878906,1],[1.1231038570404053,0.9009010195732117,1]]},{"timestamps":[0,300,633],"values":[[1.1231038570404053,0.9009010195732117,1],[1,1.0400002002716064,1],[1.1231038570404053,0.9009010195732117,1]]},{"timestamps":[0,34,200,1100],"values":[[1.7891221046447754,0.7141997814178467,1.5928813219070435],[1.7891221046447754,0.7141997814178467,1.5928813219070435],[0.0987553596496582,0.06002577394247055,0.08528896421194077],[0.0987553596496582,0.06002577394247055,0.08528896421194077]]}]}},{"parent":1,"flags":512,"pivot":[0.2083333283662796,0.025520652532577515,1.131256341934204],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[],"values":[]},{"timestamps":[],"values":[]},{"timestamps":[0,200,1100],"values":[[0,0,0.09082317352294922],[0,0,0.8313940167427063],[0,0,1.2261126041412354]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,200,300,500,700],"values":[[0,0,0],[0,0,0],[1.1095654964447021,0.5221386551856995,1],[1,1.090000033378601,1],[1.1231038570404053,0.9009009599685669,1]]},{"timestamps":[0,333,633],"values":[[1,1.040000081062317,1],[1.1231038570404053,0.9009009599685669,1],[1,1.040000081062317,1]]},{"timestamps":[0,34,200,1100],"values":[[1.561423420906067,0.6211183071136475,1.389553427696228],[1.561423420906067,0.6211183071136475,1.389553427696228],[0.0987553521990776,0.06002577394247055,0.08528897166252136],[0.0987553521990776,0.06002577394247055,0.08528897166252136]]}]}},{"parent":2,"flags":8,"pivot":[-0.004999531898647547,-0.003854632843285799,3.361346483230591],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.018434153869748116,0.0042877197265625,0.9134556651115417],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.012115693651139736,0,0.5947826504707336],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofprotection_impact.m2","sourceSha256":"752c01d5781369163de9899e00b36d66dfaf3727abd4806305a2fef37017ad25","sourceSkinSha256":"2e804fb247de118f603a535285cd10f2c0cfd496021db9cbd6a9e8dc41e1de18","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333,0],"bones":[{"parent":-1,"flags":512,"pivot":[-0.0003273955371696502,0.015124165453016758,0.052892688661813736],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.707083346049379,0.707083346049379],[0,0,0.9238563188573871,0.3826715903195288]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,933,1900],"values":[[1,1,1],[1.019999623298645,1.0199995040893555,1.019999384880066],[0.13144326210021973,0.13144324719905853,0.13144323229789734]]}]}},{"parent":-1,"flags":0,"pivot":[-0.0003273936454206705,0.015124165453016758,0.1227642074227333],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.0003273955371696502,0.015124165453016758,0.586934506893158],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,933,1900],"values":[[1,1,1],[1.1976326704025269,1.1976325511932373,1.1976324319839478],[1.6371521949768066,1.637152075767517,1.6371519565582275]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173513501882553,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928571939468384,0.8928570747375488,0.8928570747375488],[1,1,1]]}]}},{"parent":3,"flags":64,"pivot":[0.026798486709594727,-0.0035485215485095978,1.4021965265274048],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":64,"pivot":[0.026798486709594727,-0.0035485215485095978,1.4021965265274048],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":8,"pivot":[-0.001972849713638425,-0.001133421086706221,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.01490443479269743,0.002469513099640608,0.4995647072792053],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":1,"sequences":[{"timestamps":[100],"values":[[-1,0,0,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":0,"pivot":[0.0018019189592450857,0.016105810180306435,7.6049017906188965],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":0,"pivot":[-0.033815648406744,-0.017080718651413918,1.2810384035110474],"trLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofsacrifice_impact.m2","sourceSha256":"c71dbe12cec3aaf0e95786b6926be6af53da8c41769dd8ffffa7b86df3cb3a11","sourceSkinSha256":"f561fcd1eaa340af0ef201942ebfd5fc64afc2f143afd07f36ff328af9d3f958","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333,0],"bones":[{"parent":-1,"flags":0,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.707083346049379,0.707083346049379],[0,0,0.9238563188573871,0.3826715903195288]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.4883412718772888],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1900],"values":[[0.9717937707901001,0.9717937111854553,0.9717936515808105],[1.6299411058425903,1.6299409866333008,1.6299408674240112]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173513501882553,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928571939468384,0.8928570747375488,0.8928570747375488],[1,1,1]]}]}},{"parent":4,"flags":8,"pivot":[-0.001972849713638425,-0.001133421086706221,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.01490443479269743,0.002469513099640608,0.9788193106651306],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":1,"sequences":[{"timestamps":[100],"values":[[-1,0,0,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":0,"pivot":[-0.033815648406744,-0.017080718651413918,1.2810384035110474],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":23,"blendMode":2},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"SPELLS\\BEERBUBBLE.BLP","sourcePath":"spells/beerbubble.blp","sourceSha256":"1e72ed14bf6b915f5cb3e2f2db80ace42fc8e308bf5f09fc3f1485194b05dc4f","url":"/assets/game/combat-effects/original/wow335/all/textures/1e72ed14bf6b915f5cb3.png"},{"type":0,"flags":0,"filename":"WORLD\\GENERIC\\NIGHTELF\\PASSIVE DOODADS\\MAGICALIMPLEMENTS\\GLOW.BLP","sourcePath":"world/generic/nightelf/passive doodads/magicalimplements/glow.blp","sourceSha256":"020677b62d1e424fbb9243b3ba337bLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"schemaVersion":1,"kind":"wow-m2-model","source":"wow335","sourceModel":"spells/blessingofsalvation_impact.m2","sourceSha256":"55482aa9c1582aa19caf600c705cb710452dce47fe1da288a89a52ae7ceba246","sourceSkinSha256":"f4858fca76b69c1da7583781704649c50c58337291cd150556e2bea4b2b22338","animations":[{"index":0,"id":0,"variationIndex":0,"durationMs":1900,"moveSpeed":0,"flags":33}],"globalSequences":[333,0],"bones":[{"parent":-1,"flags":0,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.03477339446544647],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,0.3826715903195288,0.9238563188573871],[0,0,0.707083346049379,0.707083346049379],[0,0,0.9238563188573871,0.3826715903195288]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.00032739745802246034,0.015124165453016758,0.4883412718772888],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,567,1233,1900],"values":[[0,0,0,1],[0,0,-0.7071138645588549,0.707083346049379],[0,0,-1,0],[0,0,-0.707083346049379,-0.707083346049379]]}]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,1900],"values":[[1.0290250778198242,1.0290249586105347,1.0290248394012451],[1.6064623594284058,1.6064622402191162,1.6064621210098267]]}]}},{"parent":-1,"flags":512,"pivot":[-0.0034738618414849043,-0.0024830002803355455,1.3430649042129517],"translation":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,433,1433,1900],"values":[[0,0,0],[0,0,0],[0,0,1.9444444179534912],[0,0,1.9444444179534912]]}]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":-1,"sequences":[{"timestamps":[0,233,433,1433,1767,1900],"values":[[1,1,1],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.1000000461935997,0.09999999403953552,0.7999999523162842],[0.8000001311302185,0.8000000715255737,0.7599999904632568],[0.7699999809265137,0.7699999213218689,0.7899999618530273],[0.7699999809265137,0.7699999213218689,0.7899999618530273]]}]}},{"parent":3,"flags":520,"pivot":[-0.04173501953482628,-0.036881525069475174,1.4182019233703613],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":1,"globalSequence":0,"sequences":[{"timestamps":[0,167,333],"values":[[1,1,1],[0.8928573131561279,0.8928571939468384,0.8928571939468384],[1,1,1]]}]}},{"parent":3,"flags":64,"pivot":[-0.05683645233511925,0.0033588476944714785,1.3802381753921509],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":64,"pivot":[-0.05147658661007881,0.0033573724795132875,1.3994485139846802],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":4,"flags":8,"pivot":[-0.001972849713638425,-0.001133421086706221,1.4422833919525146],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":-1,"flags":512,"pivot":[-0.01490443479269743,0.002469513099640608,0.4995647072792053],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":1,"sequences":[{"timestamps":[100],"values":[[-1,0,0,0]]}]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}},{"parent":3,"flags":0,"pivot":[-0.033815648406744,-0.017080718651413918,1.2810384035110474],"translation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"rotation":{"interpolation":0,"globalSequence":-1,"sequences":[]},"scale":{"interpolation":0,"globalSequence":-1,"sequences":[]}}],"textureTransforms":[],"materials":[{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":19,"blendMode":4},{"flags":23,"blendMode":2},{"flags":23,"blendMode":4}],"textures":[{"type":0,"flags":0,"filename":"WORLD\\GENERIC\\NIGHTELF\\PASSIVE DOODADS\\MAGICALIMPLEMENTS\\GLOW.BLP","sourcePath":"world/generic/nightelf/passive doodads/magicalimplements/glow.blp","sourceSha256":"020677b62d1e424fbb9243b3ba337b893672b4be3472fb2396140240effe6b67","url":"/assets/game/combat-effects/original/wow3Line truncated
|
||||
Loaded 100 of 1485 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user