Ground truth: how our data compares with the surviving retail sources

This page compares what Bezgelor holds with the facts harvested from archived retail sources (Jabbithole pages, Dulfy's guides and patch notes, all kept by the Internet Archive, and the retail spawn captures of the NexusForever world database; see ground-truth.md for the sources and how far each can be trusted). Thank you to everyone who recorded this data while the game was live. Each comparison is confirmed (we agree with the source), contradicted (both values exist and differ), filled (we had nothing, the source has a value) or no source (the source says nothing). The fact store is apps/bezgelor_data/priv/data/ground_truth/; the machine-readable result is ground-truth-reconciliation.json. Updated automatically from the data; see how.

Coverage

What Count
creatures in scope 5,654
creatures with a fact 2,903
creatures in scope with no name in our texts (cannot be matched) 15
built-instance bosses and minibosses 537
of those, with a fact 375
built-instance creatures in scope 2,140
built-instance creatures with a fact 1,170
vendors in scope, or merchants standing in the world we spawn (vendor_inventories.json) 355
vendors with retail stock 241
vendors whose stock is exactly the retail list 228
vendors in vendor_inventories.json: reference / guess 228 / 653
all vendors in vendor_inventories.json 881
items our data touches in scope 2,523
of those, items with a retail fact 1,327
items with a retail fact (any) 14,845
quests in scope 799
quests with a fact 654
creatures with a retail capture (Health and Level) 2,257

Scope of this pass: every creature spawned in Northern Wilds, Algoroc, Celestion, Everstar Grove, Crimson Isle, Levian Bay and Whitevale, every creature of a built instance, the vendors among them, and the quests of those zones. "Items our data touches" are the items in the stock of those vendors, the junk, material and meat pools of those creatures, and the reward items of those quests. Pages not yet fetched count as no source; the harvest is resumable (tools/ground_truth/harvest.py).

The ids in the facts are the client's: ability rows: 8,566; ability spell ids that exist in Spell4: 8,564; ability names equal to the Spell4Base name: 8,521; distinct item ids in drops, stock and rewards: 14,845; of those, ids that exist in Item2: 14,845.

Summary by area

Area confirmed contradicted filled no source
creature level 2611 107 59 2877
creature health 2032 727 0 2895
creature abilities 75 50 1826 3703
creature health vs retail capture 2242 15 0 3397
guide numbers (Dulfy, patch notes) 12 12 52 0
instance creature level 1071 16 3 1050
instance creature health 638 448 0 1054
instance creature abilities 75 50 943 1072
vendor stock 228 0 13 114
drop pools 24 822 496 4312
quest level 652 2 0 145
quest minimum level 652 2 0 145
quest giver 537 2 50 210
quest reward items 92 64 9 634
quest experience 653 1 0 145
quest credits 535 1 0 263

How to read the creature rows

  • Level: our level is the Level stat of the retail spawn capture (NexusForever world database) where there is one, otherwise the built instance's level. A Jabbithole creature page pools every level variant of a (name, zone) pair, so the source gives a range and "confirmed" means our level lies inside it.
  • Health: the server computes max health as BaseHealth' + 14 x Stamina', where each is the creature's Creature2OverrideProperties value or CreatureLevel x archetype x difficulty x tier (BezgelorWorld.CreatureProperties; semantic registry, "Creature max health"). We evaluate that formula at the source's own levels and compare with the source's health (tolerance 1.5%). For a page with a level range the two ends are compared.
  • Abilities: compared by name with the ability lists of our encounter data (only built instances have one). For every other creature the source fills a list we do not have.
  • Versions (eras): Bezgelor targets the final live game (after Reloaded and free-to-play), the build of our client. A Jabbithole page records the last game version it was seen in (open beta, launch, Drop 3, 4 or 5, "live"); for the pages used here the newest is Drop 5, which is before WildStar: Reloaded (Drop 6, 2015-09-29), which re-levelled dungeons and changed some creature health (for example Kel Voreth, now level 25, normal-mode trash health lowered by 10-15%). Dulfy's guides are from July 2014 (launch era). The NexusForever retail captures are from the final era: their zones hold free-to-play NPCs (the Protostar Store Consultant in every starting zone, the zone envoys) and Thayd an Arcterra Emissary. Where an older source agrees with the final era, our value is checked by both; where it disagrees, Bezgelor keeps the final build's value and the row is a version difference; where a dated patch note settles it the row says so.
  • Drops: the source's percentages are shares of recorded drops, never per-kill rates. We compare membership (is each retail item one our pool for that creature can produce: family junk, body materials, family meat; gear is a level-based pool?) and, per loot tier, the relative weights of the item classes.

Health: the formula against the retail captures (final era)

The NexusForever world database holds, for each captured spawn, the Health and Level the retail server sent; the captures are from the final live era (see Versions above). For the 2,257 scope creatures that have both, the server's formula gives the captured health (within 1.5%) for 2,242; median ratio ours/retail 1.000. Before the correction of 2026-10-12 (the table default alone: no Stamina term, no Creature2OverrideProperties) it was 25, median 0.797. Where Jabbithole also has a page for the same creature, the captured health equals the archive's health at the same level in 1715 of 1992 comparisons, so the two sources corroborate each other.

Level band creatures median ours/retail within 1.5% before: median before: within
1-10 1140 1.0 1128 0.728 24
11-20 349 1.0 348 0.801 1
21-30 586 1.0 584 0.847 0
31-40 18 1.0 18 0.885 0
41-50 117 1.0 117 0.888 0
51-60 45 1.0 45 0.888 0
61-70 2 1.0 2 0.888 0

The server gives a creature CreatureProperties.max_health(creature, level) and does not read the captured Health: the formula reproduces it, and the captures it does not reproduce are mostly creatures captured hurt (several healths for one creature and level, the largest equal to the formula) or scripted below full health. How the formula was found: semantic registry, "Creature max health"; #229.

Health: the formula against the archive (Jabbithole)

3403 comparisons at the source's own levels; median ratio ours/retail 1.000; 2595 within 1.5%.

Level band comparisons median ours/retail
1-10 1041 1.0
11-20 451 1.0
21-30 941 1.0
31-40 231 1.0
41-50 691 1.0
51-60 45 1.0
61-70 2 1.0
71-80 1 0.501

By the game version each page records (its era):

Where Jabbithole version confirmed contradicted
built instance Drop 3 11 3
built instance Drop 4 55 39
built instance Drop 5 521 388
built instance launch 11 9
built instance live 39 7
built instance open beta 1 1
built instance winter beta 0 1
open world Drop 3 68 14
open world Drop 4 98 28
open world Drop 5 1173 234
open world launch 48 2
open world live 7 1

Open-world pages (Drop 5) agree with the formula, as the final-era captures do. Most built-instance pages that differ are level-50 veteran creatures whose Drop 5 health is 10-20% below the final build's: the final client's Creature2OverrideProperties rows were raised after Drop 5 (Blade-Wind's veteran page says 1,000,014, the Drop 5 override of 1,000,000 plus 14 x a Stamina override of 1; the final build has 1,150,000), and level-50 trash comes out 1.2 times the Drop 5 figure. Those are an older era, and Bezgelor keeps the final build's value. Others pool several Creature2 rows of one name (a page cannot say which row its figure belongs to).

Built-instance bosses and creatures

Tracked in #230 (health) and #231 (encounter numbers and ability lists).

Health contradicted

448 contradicted.

Creature Instance Level (retail) Ours at that level Retail health Era (Jabbithole version)
Ob'mar (19665) malgrave-trail 45-45 1,073,220 1,137,139 Drop 5
Blisterbone Dreglord (19818) malgrave-trail 45-45 492,477 521,809 Drop 5
Thirsty Pricklevine (20413) malgrave-trail 45-45 182,520 213,617 Drop 5
Elemental Horror (20584) malgrave-trail 45-45 455,269 464,517 Drop 5
Murk (20814) malgrave-trail 45-45 1,073,220 1,137,139 Drop 5
Gurk (20828) malgrave-trail 45-45 1,073,220 1,137,139 Drop 5
Exile Rocket Trooper (21499) siege-of-tempest-refuge 50-50 62,320 85,980 Drop 5
Dominion Enforcer (22161) siege-of-tempest-refuge 30-30 11,015 63,220 Drop 5
Esper Moko (22166) siege-of-tempest-refuge 30-30 332,237 371,600 Drop 5
Elementalist Vermilius (22167) siege-of-tempest-refuge 30-30 332,237 397,610 Drop 5
Corporal Vizrek (22168) siege-of-tempest-refuge 30-30 445,293 422,570 Drop 5
Agent Razios (22169) siege-of-tempest-refuge 30-30 416,117 388,780 Drop 5
Chief Engineer Vortec (22170) siege-of-tempest-refuge 30-30 328,590 400,460 Drop 5
Marksman Decimus (22171) siege-of-tempest-refuge 30-30 328,590 423,800 Drop 5
Physician Astius (22172) siege-of-tempest-refuge 30-30 102,391 155,910 Drop 5
Bruiser Shuni (22173) siege-of-tempest-refuge 30-30 138,756 167,940 Drop 5
Bloodshaman Vakaza (22174) siege-of-tempest-refuge 30-30 103,527 159,840 Drop 5
Saboteur Arminex (22175) siege-of-tempest-refuge 30-30 129,665 159,840 Drop 5
Siren Aria (22176) siege-of-tempest-refuge 30-30 332,237 244,400 Drop 5
Dominion Assault Tank (22197) siege-of-tempest-refuge 30-30 180,236 140,860 Drop 5
Dominion Hellfire Tank (22198) siege-of-tempest-refuge 30-30 180,236 140,860 Drop 5
Legion Assault Tank (22199) siege-of-tempest-refuge 30-30 445,293 271,050 Drop 5
Dominion Rifleman (22202) siege-of-tempest-refuge 30-30 10,113 29,072 Drop 5
Dominion Sniper (22203) siege-of-tempest-refuge 30-30 10,113 32,456 Drop 5
Dominion Shocktrooper (22204) siege-of-tempest-refuge 30-30 16,347 48,940 Drop 5
Dominion Rocket Trooper (22205) siege-of-tempest-refuge 30-30 15,008 62,320 Drop 5
Dominion Specialist (22206) siege-of-tempest-refuge 30-30 129,665 69,780 Drop 5
Advanced Warbot (22244) siege-of-tempest-refuge 30-30 408,823 422,570 Drop 5
Dominion Bomb Guardian (22247) siege-of-tempest-refuge 30-30 11,015 29,072 Drop 5
Dominion Bunker Buster (22253) siege-of-tempest-refuge 30-30 298,680 388,230 Drop 5
Lumbering Parasite (22669) infestation 20-50 9,426 / 36,047 9,426 / 43,440 Drop 5
Captain Onghr (23832) crimelords-of-whitevale 50-50 339,080 507,260 launch
Stew-Shaman Tugga (24493) skullcano 35-35 376,569 349,569 Drop 5
Grim-Grim Doomcaller (24494) skullcano 35-35 134,995 164,998 Drop 5
Grim-Grim Hexweaver (24495) skullcano 35-35 129,560 152,432 Drop 5
Grim-Grim Curseblade (24498) skullcano 35-35 131,560 155,152 Drop 5
Grim-Grim Blightmask (24499) skullcano 35-35 130,560 155,152 Drop 5
Redmoon Prisoner (24507) skullcano 35-35 125,734 115,734 Drop 5
Redmoon Prisoner (24508) skullcano 35-35 125,734 115,734 Drop 5
Redmoon Prisoner (24509) skullcano 35-35 125,734 115,734 Drop 5
Redmoon Jailor (24510) skullcano 35-35 107,870 152,432 Drop 5
Redmoon Gold Guardian (24512) skullcano 35-35 130,150 155,152 Drop 5
Redmoon Gold Hoarder (24514) skullcano 35-35 127,430 152,432 Drop 5
Redmoon Cannoneer (24578) skullcano 35-35 127,430 152,432 Drop 5
Redmoon Sniper (24579) skullcano 35-35 127,430 152,432 Drop 5
Redmoon Furyspitter (24580) skullcano 35-35 127,430 152,432 Drop 5
Redmoon Necromancer (24581) skullcano 35-35 132,885 170,888 Drop 5
Redmoon Crusher (24618) skullcano 35-35 133,030 166,035 Drop 5
Thunderfoot (24893) skullcano 50-50 1,776,409 1,562,659 Drop 5
Bosun Octog (24894) skullcano 50-50 1,234,259 1,064,444 Drop 5
Mordechai Redmoon (24895) skullcano 50-50 1,218,409 1,077,659 Drop 5
Quartermaster Gruh'ar (24896) skullcano 50-50 593,754 525,879 Drop 5
Stew-Shaman Tugga (24898) skullcano 50-50 1,109,099 883,349 Drop 5
Grim-Grim Doomcaller (24899) skullcano 50-50 525,932 438,219 Drop 5
Grim-Grim Hexweaver (24900) skullcano 50-50 485,875 404,843 Drop 5
Grim-Grim Curseblade (24901) skullcano 50-50 494,579 412,095 Drop 5
Grim-Grim Blightmask (24902) skullcano 50-50 494,579 412,095 Drop 5
Redmoon Prisoner (24905) skullcano 50-50 185,666 180,778 Drop 5
Redmoon Prisoner (24906) skullcano 50-50 185,666 180,778 Drop 5
Redmoon Prisoner (24907) skullcano 50-50 185,666 180,778 Drop 5

... 388 more in the JSON.

Level contradicted

16 contradicted.

Creature Instance Ours Retail
Merchant Andus (24192) crimelords-of-whitevale [40, 50] 27-27
Quartermaster Hillary (24194) crimelords-of-whitevale [40, 50] 27-27
Rootbrute Deathcap (25961) war-of-the-wilds [25, 50] 4-5
Foreman Krause (29468) outpost-m-13 [14] 13-13
Ragebot Swarmer (32302) rage-logic [28, 50] 29-29
Rage Defender (32322) rage-logic [28, 50] 29-29
Infected Freebot (32323) rage-logic [28, 50] 29-29
Ragebot Exterminator (32324) rage-logic [28, 50] 29-29
Overseerbot (44232) rage-logic [28, 50] 29-29
Riptide the Stone Serpent (48704) deep-space-exploration [34, 50] 35-35
Infected Freebot (69094) rage-logic [28, 50] 29-29
Rage Defender (69095) rage-logic [28, 50] 29-29
Ragebot Swarmer (69096) rage-logic [28, 50] 29-29
Ragebot Exterminator (69097) rage-logic [28, 50] 29-29
Overseerbot (69107) rage-logic [28, 50] 29-29
Riptide the Stone Serpent (69299) deep-space-exploration [34, 50] 35-35

Abilities in the source that our encounter data lacks

50 contradicted.

Creature Instance Retail abilities not in ours
Quartermaster Gruh'ar (24490) skullcano Dead Eye
Quartermaster Gruh'ar (24896) skullcano Dead Eye, Debilitating Fusillade
Kraggar the Earth-Render (26732) world-bosses Crush, Earth Shocks, Granite Club, Kraggar Bonus Damage, Landslide, Maelstrom, Smash, Strain Bomb
Maelstrom Authority (30497) datascape Maelstrom Bolt
Megalith (30499) datascape Pound, Rock Pillar Explosion
Hydroflux (30500) datascape Crashing Wave, Pound
Visceralus (30501) datascape Pound
Avatus (30505) datascape Holo-Swipe, Spell Name Missing, Swipe
Frost-Boulder Avalanche (31677) datascape Swipe
Bio-Enhanced Broodmother (31885) datascape Pincer Slash
Overseer Drift-Catcher (33361) stormtalons-lair Gust Convergence, Static Paroxysm
Overseer Drift-Catcher (33362) stormtalons-lair Gust Convergence, Static Paroxysm
Datascape (46320) datascape Spell Name Missing
Keeper of Sands (48041) datascape Arcane Bolt
Hyper-Accelerated Skeledroid (48065) datascape Crush
Logic Guided Rockslide (48171) datascape Crush
Avatus (48213) datascape Annihilation, Binding Strike, Burning Exhaust, Disruption Beam, Holo-Crush, Holo-Swipe, Invalidate, Nullifying Rays, Obliteration Beam, Phase Punch, Spell Name Missing, Swipe
Warmonger Agratha (48295) datascape Cleave
Augmented Servitor of Avatus (48375) datascape Logic Dart
Datascape (48719) datascape Spell Name Missing
Datascape (48720) datascape Spell Name Missing
Datascape (48724) datascape Spell Name Missing
Datascape (48725) datascape Spell Name Missing
Datascape (48907) datascape Spell Name Missing
Experiment X-89 (49198) genetic-archives Deadly Bite, Forceful Smash
Abstract Augmentation Algorithm (49985) datascape Data Deconstruction
Fleshmonger Vratorg (52964) genetic-archives Bite
Terax Blightweaver (52968) genetic-archives Vile Bolt
Kuralak the Defiler (52969) genetic-archives Corruption Shock
Golgox the Lifecrusher (52970) genetic-archives Smash
Noxmind the Insidious (52971) genetic-archives Slash, Slice
Noxmind the Insidious (54027) genetic-archives Slash, Slice
Phagetech Augmentor (54029) genetic-archives Gouge, Slice
Phagetech Fabricator (54030) genetic-archives Gouge, Slice
Phagetech Commander (54032) genetic-archives Smack, Swipe
Kuralak the Defiler (54629) genetic-archives Corruption Shock
Phagetech Guardian C-148 (54785) genetic-archives Swipe
Genetic Monstrosity (54968) genetic-archives Crush, Smash
Corrupted Beast (56125) genetic-archives Gnash, Tear
Nanite Infused Defender (56169) genetic-archives Swing, Swipe
Nanite Distribution Construct (56170) genetic-archives Gouge, Slice
Malfunctioning Battery (56174) genetic-archives Crossed Wires
Hideously Malformed Mutant (56178) genetic-archives Eviscerate, Lacerate
Gravitron Operator (56184) genetic-archives Gravity Bolt
Frost-Boulder Avalanche (56200) datascape Swipe
Fetid Miscreation (56377) genetic-archives Swipe, Tear
Gargantua (56829) world-bosses Corporal Punishment, Noxious Breath, Pound, Putrid Pugilance, Swipe, Tainted Soul, Waves of Corruption
Kuralak the Defiler (58345) genetic-archives Corruption Shock
Elemental Master (63319) ultimate-protogames Burning, Lingering Venom
Laveka the Dark-Hearted (65997) redmoon-terror Dark Fireball

Boss numbers from Dulfy's veteran guides and the July 2014 patch notes

Dulfy's numbers are for level-50 veteran mode, rounded as the guide rounds them (health within 8% counts as agreeing). "filled" means we hold no comparable value (trash interrupt armor, add health, loot rules, world-boss figures). The guides are of July 2014 (launch era): a veteran health they give below ours is the older era, since the final build's Creature2OverrideProperties rows are higher (see the archive section above); Bezgelor keeps the final build's value.

Subject Fact Dulfy / patch note Ours Result
Blade-Wind the Invoker health 1000000 1150014 contradicted
Thundercall Channeler health 378000 510742 contradicted
Blade-Wind the Invoker interrupt_armor 2 2 confirmed
Blade-Wind the Invoker cast_ms:Thunder Cross 1500 [1500, 2000] confirmed
Blade-Wind the Invoker phase_boundary_pct 55 [50, 55, 60, 100] confirmed
Aethros health 1000000 1246409 contradicted
Gust of Aethros health 160000 176783 contradicted
Aethros interrupt_armor 3 infinite except during Tempest (3) confirmed
Aethros cast_ms:Tempest 15000 [30000] contradicted
Stormtalon health 1100000 1246409 contradicted
Stormtalon interrupt_armor 4 Spell4 40016 sets 5 for 16 s contradicted
Overseer Drift-Catcher interrupt_armor 2 2 confirmed
Grond the Corpsemaker health 1000000 1149409 contradicted
Grond the Corpsemaker interrupt_armor 4 4 confirmed
Darkwitch Gurka health 626000 925904 contradicted
Darkwitch Gurka interrupt_armor 4 4 confirmed
Slavemaster Drokk health 1200000 1396409 contradicted
Slavemaster Drokk interrupt_armor 2 2 confirmed
Slavemaster Drokk phase_boundaries_pct [83, 63, 43, 25] [0, 40, 80, 100] contradicted
Forgemaster Trogun health 1200000 1346409 contradicted
Forgemaster Trogun interrupt_armor 4 4 on Volcanic Strike confirmed
Forgemaster Trogun phase_boundary_pct 50 [50, 60, 100] confirmed
The Ruins of Kel Voreth dungeon_level 25 25 confirmed
Sanctuary of the Swordmaiden dungeon_level 40 40 confirmed

52 further facts have no counterpart in our data (listed in the JSON): Aethros, Blood Pit Gladiator, Blood Pit Necromancer, Doomthorn, Enslaved Augmentor, Enslaved Protector, Hellrose Bowl, Initialization Core Y-83, Laveka the Dark-Hearted, Metal Maw, Metal Maw Prime, Mordechai Redmoon....

Open-world creatures

Level contradicted

91 contradicted.

Creature Zone Ours (sniffed) Retail
Coldscale Ravener (12808) Algoroc [6, 7] 7-7
Crash Survivor (13579) Northern Wilds [4] 3-3
Gallow Citizen (15267) Algoroc [1] 6-6
Gallow Citizen (15268) Algoroc [1] 6-6
Throg Breaker (17444) Algoroc [11] 9-10
Galehorn Roamer (17520) Whitevale [14, 15] 14-14
Gallow Citizen (17653) Algoroc [1] 6-6
Slateface Slammer (17692) Algoroc [9, 10] 10-10
Gallow Citizen (17740) Algoroc [1] 6-6
Eldan Augmentor (19492) Algoroc [11, 12] 14-14
Eldan Augmentor (19590) Algoroc [11] 14-14
Snowshadow Inquisitor (19901) Whitevale [22, 23, 24] 23-24
Eldan Augmentor (21656) Algoroc [12, 13] 14-14
Scanbot (21757) Algoroc [1] 6-22
Black Hoods Assassin (22015) Whitevale [26, 28, 29] 27-27
Scanbot (22201) Algoroc [1] 6-22
Hungry Thermock Citizen (23347) Whitevale [20, 22, 24] 20-23
Hungry Thermock Citizen (23349) Whitevale [20, 22, 23, 24] 20-23
XAS Medic (23574) Algoroc [11] 12-12
Wounded Soldier (23587) Whitevale [23] 30-30

... 71 more in the JSON.

Health contradicted

279 contradicted.

Creature Zone Level (retail) Ours at that level Retail health
Shoveljaw Boulderback (2409) Algoroc 7-7 2,041 1,636
Settler's Reach Protector (11388) Northern Wilds 1-4 130 / 553 1 / 15,232
Settler's Reach Protector (11436) Northern Wilds 1-4 15,054 / 15,232 1 / 15,232
Granok Mercenary (11467) Northern Wilds 3-5 5,112 / 5,202 362 / 5,112
Granok Mercenary (11706) Northern Wilds 3-5 442 / 890 362 / 5,112
Skeech Shaman (11912) Northern Wilds 4-5 654 / 844 535 / 844
Yeti Frostclaw (11948) Northern Wilds 3-5 353 / 709 353 / 844
Granok Mercenary (12842) Northern Wilds 3-5 362 / 739 362 / 5,112
Yeti Frostclaw (12844) Northern Wilds 3-5 420 / 844 353 / 844
Yeti Frostclaw (13116) Northern Wilds 3-5 420 / 844 353 / 844
Crash Survivor (13579) Northern Wilds 3-3 767 538
Granok Mercenary (13683) Northern Wilds 3-5 362 / 739 362 / 5,112
Granok Mercenary (13684) Northern Wilds 3-5 362 / 739 362 / 5,112
Morek Throg (13981) Algoroc 11-11 3,353 4,206
Gallow Citizen (15267) Algoroc 6-6 916 1,360
Gallow Citizen (15268) Algoroc 6-6 916 1,360
Throg Breaker (17444) Algoroc 9-10 2,035 / 2,426 1,574 / 1,868
Throg Pounder (17447) Algoroc 9-11 2,035 / 2,832 1,250 / 2,135
Gallow Citizen (17653) Algoroc 6-6 916 1,360
Gallow Citizen (17740) Algoroc 6-6 916 1,360

... 259 more in the JSON.

Vendors

241 vendors (the scope, and every merchant that stands in the world we spawn) have a retail stock list; 0 of them differ from ours, 228 of them are exactly the retail list.

A vendor with an archived page gets exactly that list (vendor_inventories.json, provenance reference, built by tools/vendor_inventory_generator.py from jabbithole_vendors.json). Every other vendor keeps the list generated from its type, provenance guess, filtered of the client rows retail never sold and the rows it cannot price; the server offers that filtered list (#213). "confirmed" here measures the generator's output against the page it was built from, so a vendor with a page is expected to read confirmed; the open question is the vendors with no page and the era of the pages (2014-2017).

Drops

1342 creatures have a retail drop list (79,409 items in all). For those, the share of recorded drops our pools can produce: 27% (junk, materials, meat), a further 2% are gear a level-based pool covers, 71% are items no pool of ours produces (quest items, path items, schematics, and so on).

Relative weights: what the recorded drops were made of

Per loot tier (Creature2Difficulty rank and group size, as BezgelorWorld.Loot.Profile maps them), the share of recorded drops that were junk, survivalist material or meat, runecrafting signs, gear, or something else (quest, path and tradeskill items, consumables, schematics). "Ours" is the share the tier's configured rates imply (expected items per kill by class, normalised; the rates are designed values). Both columns are shares of items, so they say nothing about how many items a kill yields.

Tier creatures recorded drops junk (retail / ours) material sign gear other (retail)
minor 226 454095 38% / 70% 10% / 26% 4% / 2% 0% / 2% 48%
standard 390 1098098 30% / 67% 14% / 26% 4% / 2% 1% / 5% 51%
elite 202 271281 22% / 56% 18% / 33% 6% / 3% 1% / 8% 53%
prime 31 25938 16% / 38% 32% / 29% 9% / 4% 2% / 29% 40%
group_trash 253 1168354 34% / 60% 2% / 26% 21% / 4% 3% / 10% 40%
group_elite 75 102613 8% / 53% 0% / 29% 14% / 4% 3% / 14% 76%
group_boss 61 569775 3% / 23% 0% / 31% 6% / 8% 0% / 38% 91%
raid_trash 50 123564 41% / 58% 11% / 29% 10% / 7% 7% / 6% 30%
raid_boss 40 273919 2% / 19% 0% / 31% 2% / 12% 1% / 38% 95%

Quests

654 quests have a retail page. Level, minimum level, giver, experience and credits are compared with the formulas of BezgelorWorld.Quest.Info; reward items are compared as sets. The archived reward lists predate Reloaded, whose patch notes say quest rewards were adjusted so that their item levels more closely represent the challenge level of their quests: items we add on top of an archived list are not counted as a disagreement, and an archived reward we lack is often that version difference.

Level contradicted: 2

Quest Quest2 Ours (conLevel) Retail
Loftite Crystal Skull 9136 13 6
Eldan Prismatic Lens 9137 13 6

Minimum level contradicted: 2

Quest Quest2 Ours (preq_level) Retail
Loftite Crystal Skull 9136 10 3
Eldan Prismatic Lens 9137 10 3

Giver contradicted: 2

Quest Quest2 Ours Retail
Moodoo Voodoo 6667 apprentice-laveka fenosh-nightfern
Dance, Moodie, Dance 6669 apprentice-laveka fenosh-nightfern

Reward items contradicted: 64

Quest Quest2 Our reward items Retail In both
Empowered Tower 3486 3 4 1
Indigenous Intelligence 3668 3 4 0
Scattered Supplies 3741 2 3 1
Finish Him! 3770 7 4 3
By Leaps and Bounds 3777 7 4 3
Technical Difficulties 3786 3 2 1
Fiery Distraction 3886 3 4 3
WANTED: Demonclaw [GROUP 2+] 3889 7 6 4
WANTED: Blackpaw [GROUP 2+] 3913 7 3 2
The Final Showdown 3930 3 3 1
Repairing the Core 4525 7 4 3
Medical Mishap 4713 1 2 0
Thieving Skeech 4723 3 3 1
An Explosive Disruption 4786 7 4 3
Closing the Circuit 4825 7 3 2

Experience contradicted: 1

Quest Quest2 Ours (formula) Retail
Travel to Thayd 5272 258 225

Credits contradicted: 1

Quest Quest2 Ours (formula) Retail
The Final Showdown 3930 1534 2500

Proposed follow-ups (not done in this pass)

  1. Health (#229, #230): done for the formula (BaseHealth' + 14 x Stamina', with Creature2OverrideProperties; the server and these tools use it). Left: the built-instance rows above that differ are older-era pages or pages that pool several rows; the other override properties (interrupt armor, move speed) are #240.
  2. Vendor stock (#213): done for every vendor with an archived page (see Vendors above). Left: the vendors no page matched (a name the archive lacks, or two pages for one name that cannot be told apart).
  3. Abilities: give open-world creatures the ability lists of jabbithole_creatures.json (Spell4 ids, checked against our Spell4 table in the coverage section; #232).
  4. Loot pools: add the retail items (quest, path, tradeskill and dungeon gear) to the pools of the creatures that drop them, keeping our rates, which stay designed values. The shares in jabbithole_drops.json give the relative frequency of items within one creature only (#233).
  5. Quests (#239): the level, minimum level, giver, experience and credit checks above are a regression test for the quest formulas; look at the reward lists that differ, and extend the harvest to the quests no page matched by title.
  6. Re-run: harvest.py fetch is resumable; after more pages arrive, build_facts.py, apply_facts.py and reconcile.py refresh everything.