mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 02:53:51 +00:00
Novel open replacement for Blizzard's ItemEnchantment.dbc +
GemProperties.dbc + SpellItemEnchantment.dbc. The 35th
open format added to the editor.
Defines two related kinds of item enhancement in one
catalog:
• Gems — socketable jewelry pieces with color
(red / blue / yellow / meta) that fit
into gear sockets, granting stats or
triggering passive spells when socketed
• Enchantments — persistent buffs applied to weapon /
armor pieces, either by an enchanter
spell or by an item proc (Mongoose,
Crusader, Berserking)
Cross-references with previously-added formats:
WGEM.gem.itemIdToInsert -> WIT.entry.itemId
WGEM.gem.spellId -> WSPL.entry.spellId
WGEM.enchantment.spellId -> WSPL.entry.spellId
Format:
• magic "WGEM", version 1, little-endian
• gems[]: gemId / itemIdToInsert / name / color /
statType + statValue / requiredItemQuality / spellId
• enchantments[]: enchantId / name / description /
iconPath / enchantSlot / statType + statValue /
spellId / durationSeconds / chargeCount
Enums:
• Color (8): Meta / Red / Yellow / Blue / Purple /
Green / Orange / Prismatic
• EnchantSlot (5): Permanent / Temporary / SocketColor /
Ring / Cloak
API: WoweeGemLoader::save / load / exists +
WoweeGem::findGem / findEnchant.
Three preset emitters showcase common shapes:
• makeStarter — 3 gems (one per primary color) +
2 enchantments (proc + stat)
• makeGemSet — 6-gem full color palette covering
primary + secondary combinations
• makeEnchants — 5 enchant variants spanning slots
(Mongoose / Deadly Poison / stats ring /
cloak / Berserking)
CLI added (5 flags, 642 documented total now):
--gen-gems / --gen-gems-set / --gen-gems-enchants
--info-wgem / --validate-wgem
Validator catches: ids=0 + duplicates, empty name, color /
slot out of range, stat-only entries with statValue=0 (gem
provides nothing), chargeCount > 0 on non-Temporary
enchant slots (charges silently ignored at runtime).
The validator caught a real preset issue on first run —
the proc enchants (Mongoose / Deadly Poison / Berserking)
had spellId=0 and statValue=0, providing nothing. Fixed by
adding placeholder spellIds in the 28000-29000 range, with
a comment noting they resolve to real WSPL proc spells
when the spell catalog is extended.
|
||
|---|---|---|
| .. | ||
| adt_loader.hpp | ||
| asset_manager.hpp | ||
| asset_manifest.hpp | ||
| blp_loader.hpp | ||
| custom_zone_discovery.hpp | ||
| dbc_layout.hpp | ||
| dbc_loader.hpp | ||
| loose_file_reader.hpp | ||
| m2_loader.hpp | ||
| terrain_mesh.hpp | ||
| wdt_loader.hpp | ||
| wmo_loader.hpp | ||
| wowee_achievements.hpp | ||
| wowee_battlegrounds.hpp | ||
| wowee_building.hpp | ||
| wowee_chars.hpp | ||
| wowee_collision.hpp | ||
| wowee_creatures.hpp | ||
| wowee_events.hpp | ||
| wowee_factions.hpp | ||
| wowee_gems.hpp | ||
| wowee_gossip.hpp | ||
| wowee_items.hpp | ||
| wowee_light.hpp | ||
| wowee_locks.hpp | ||
| wowee_loot.hpp | ||
| wowee_mail.hpp | ||
| wowee_maps.hpp | ||
| wowee_model.hpp | ||
| wowee_mounts.hpp | ||
| wowee_objects.hpp | ||
| wowee_quests.hpp | ||
| wowee_skills.hpp | ||
| wowee_sound.hpp | ||
| wowee_spawns.hpp | ||
| wowee_spells.hpp | ||
| wowee_talents.hpp | ||
| wowee_taxi.hpp | ||
| wowee_terrain_loader.hpp | ||
| wowee_titles.hpp | ||
| wowee_tokens.hpp | ||
| wowee_trainers.hpp | ||
| wowee_triggers.hpp | ||
| wowee_weather.hpp | ||
| wowee_world_map.hpp | ||