refactor(DB/Spells): Move custom attributes from core to database (#26375)

This commit is contained in:
Kitzunu
2026-07-25 22:33:35 +02:00
committed by GitHub
parent 362e39903f
commit 0b2d522089
2 changed files with 102 additions and 264 deletions

View File

@@ -3507,268 +3507,6 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
switch (spellInfo->Id)
{
// Xinef: additional spells which should be binary
case 45145: // Snake Trap Effect
spellInfo->AttributesCu |= SPELL_ATTR0_CU_BINARY_SPELL;
break;
case 1776: // Gouge
case 1777:
case 8629:
case 11285:
case 11286:
case 12540:
case 13579:
case 24698:
case 28456:
case 29425:
case 34940:
case 36862:
case 38764:
case 38863:
case 52743: // Head Smack
spellInfo->AttributesCu |= SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER;
break;
case 53: // Backstab
case 2589:
case 2590:
case 2591:
case 7159:
case 8627:
case 8721:
case 11279:
case 11280:
case 11281:
case 15582:
case 15657:
case 22416:
case 25300:
case 26863:
case 37685:
case 48656:
case 48657:
case 703: // Garrote
case 8631:
case 8632:
case 8633:
case 11289:
case 11290:
case 26839:
case 26884:
case 48675:
case 48676:
case 5221: // Shred
case 6800:
case 8992:
case 9829:
case 9830:
case 27001:
case 27002:
case 48571:
case 48572:
case 8676: // Ambush
case 8724:
case 8725:
case 11267:
case 11268:
case 11269:
case 27441:
case 48689:
case 48690:
case 48691:
case 6785: // Ravage
case 6787:
case 9866:
case 9867:
case 27005:
case 48578:
case 48579:
case 21987: // Lash of Pain
case 23959: // Test Stab R50
case 24825: // Test Backstab
case 58563: // Assassinate Restless Lookout
case 63124: // quest There's Something About the Squire (13654)
spellInfo->AttributesCu |= SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET;
break;
case 26029: // Dark Glare
case 43140: // Flame Breath
case 43215: // Flame Breath
case 70461: // Coldflame Trap
case 72133: // Pain and Suffering
case 73788: // Pain and Suffering
case 73789: // Pain and Suffering
case 73790: // Pain and Suffering
case 63293: // Mimiron - spinning damage
case 68873: // Wailing Souls
case 70324: // Wailing Souls
case 64619: // Ulduar, Mimiron, Emergency Fire Bot, Water Spray
spellInfo->AttributesCu |= SPELL_ATTR0_CU_CONE_LINE;
break;
case 58690: // Cyanigosa, Tail Sweep
case 59283: // Cyanigosa, Tail Sweep
spellInfo->AttributesCu |= SPELL_ATTR0_CU_CONE_BACK;
break;
case 24340: // Meteor
case 26558: // Meteor
case 28884: // Meteor
case 36837: // Meteor
case 38903: // Meteor
case 41276: // Meteor
case 57467: // Meteor
case 26789: // Shard of the Fallen Star
case 31436: // Malevolent Cleave
case 40810: // Saber Lash
case 43267: // Saber Lash
case 43268: // Saber Lash
case 42384: // Brutal Swipe
case 45150: // Meteor Slash
case 64688: // Sonic Screech
case 72373: // Shared Suffering
case 71904: // Chaos Bane
case 70492: // Ooze Eruption
case 72505: // Ooze Eruption
case 72624: // Ooze Eruption
case 72625: // Ooze Eruption
// ONLY SPELLS WITH SPELLFAMILY_GENERIC and EFFECT_SCHOOL_DAMAGE, OR WEAPON_DMG_X
case 66809: // Meteor Fists
case 67331: // Meteor Fists
case 66765: // Meteor Fists
case 67333: // Meteor Fists
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SHARE_DAMAGE;
break;
case 18500: // Wing Buffet
case 33086: // Wild Bite
case 49749: // Piercing Blow
case 52890: // Penetrating Strike
case 53454: // Impale
case 59446: // Impale
case 62383: // Shatter
case 64777: // Machine Gun
case 65239: // Machine Gun
case 69293: // Wing Buffet
case 74439: // Machine Gun
// Trial of the Crusader, Jaraxxus, Shivan Slash
case 66378:
case 67097:
case 67098:
case 67099:
// Trial of the Crusader, Anub'arak, Impale
case 65919:
case 67858:
case 67859:
case 67860:
case 63278: // Mark of the Faceless (General Vezax)
case 64125: // Ulduar, Yogg-Saron, Squeeze
case 64126: // Ulduar, Yogg-Saron, Squeeze
case 62544: // Thrust (Argent Tournament)
case 64588: // Thrust (Argent Tournament)
case 66479: // Thrust (Argent Tournament)
case 68505: // Thrust (Argent Tournament)
case 62709: // Counterattack! (Argent Tournament)
case 62626: // Break-Shield (Argent Tournament, Player)
case 64590: // Break-Shield (Argent Tournament, Player)
case 64342: // Break-Shield (Argent Tournament, NPC)
case 64686: // Break-Shield (Argent Tournament, NPC)
case 65147: // Break-Shield (Argent Tournament, NPC)
case 68504: // Break-Shield (Argent Tournament, NPC)
case 62874: // Charge (Argent Tournament, Player)
case 68498: // Charge (Argent Tournament, Player)
case 64591: // Charge (Argent Tournament, Player)
case 63003: // Charge (Argent Tournament, NPC)
case 63010: // Charge (Argent Tournament, NPC)
case 68321: // Charge (Argent Tournament, NPC)
case 72255: // Mark of the Fallen Champion (Deathbringer Saurfang)
case 72444: // Mark of the Fallen Champion (Deathbringer Saurfang)
case 72445: // Mark of the Fallen Champion (Deathbringer Saurfang)
case 72446: // Mark of the Fallen Champion (Deathbringer Saurfang)
case 72409: // Rune of Blood (Deathbringer Saurfang)
case 72447: // Rune of Blood (Deathbringer Saurfang)
case 72448: // Rune of Blood (Deathbringer Saurfang)
case 72449: // Rune of Blood (Deathbringer Saurfang)
case 49882: // Leviroth Self-Impale
case 62775: // Ulduar: XT-002 Tympanic Tamparum
spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_ARMOR;
break;
case 64422: // Sonic Screech (Auriaya)
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SHARE_DAMAGE;
spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_ARMOR;
break;
case 72293: // Mark of the Fallen Champion (Deathbringer Saurfang)
case 72347: // Lock Players and Tap Chest (Gunship Battle)
spellInfo->AttributesCu |= SPELL_ATTR0_CU_NEGATIVE_EFF0;
break;
default:
break;
case 63675: // Improved Devouring Plague
case 17962: // Conflagrate
case 32593: // Earth Shield aura
case 32594: // Earth Shield aura
case 49283: // Earth Shield aura
case 49284: // Earth Shield aura
case 50526: // Wandering Plague
case 53353: // Chimera Shot - Serpent trigger
case 52752: // Ancestral Awakening Heal
spellInfo->AttributesCu |= SPELL_ATTR0_CU_NO_POSITIVE_TAKEN_BONUS;
break;
case 65280: // Ulduar, Hodir, Singed
case 28969: // Naxxramas, Crypt Guard, Acid Spit (10 normal)
case 56098: // Naxxramas, Crypt Guard, Acid Spit (25 normal)
case 27891: // Naxxramas, Sludge Belcher, Acidic Sludge (10 normal)
case 54331: // Naxxramas, Sludge Belcher, Acidic Sludge (25 normal)
case 29325: // Naxxramas, Stoneskin Gargoyle, Acid Volley (10 normal)
case 54714: // Naxxramas, Stoneskin Gargoyle, Acid Volley (25 normal)
case 65775: // Anub'arak, Swarm Scarab, Acid-Drenched Mandibles (10 normal)
case 67861: // Anub'arak, Swarm Scarab, Acid-Drenched Mandibles (25 normal)
case 67862: // Anub'arak, Swarm Scarab, Acid-Drenched Mandibles (10 heroic)
case 67863: // Anub'arak, Swarm Scarab, Acid-Drenched Mandibles (25 heroic)
case 55604: // Naxxramas, Unrelenting Trainee, Death Plague (10 normal)
case 55645: // Naxxramas, Unrelenting Trainee, Death Plague (25 normal)
case 67721: // Anub'arak, Nerubian Burrower, Expose Weakness (normal)
case 67847: // Anub'arak, Nerubian Burrower, Expose Weakness (heroic)
case 64638: // Ulduar, Winter Jormungar, Acidic Bite
case 71157: // Icecrown Citadel, Plagued Zombie, Infected Wound
case 72963: // Icecrown Citadel, Rot Worm, Flesh Rot (10 normal)
case 72964: // Icecrown Citadel, Rot Worm, Flesh Rot (25 normal)
case 72965: // Icecrown Citadel, Rot Worm, Flesh Rot (10 heroic)
case 72966: // Icecrown Citadel, Rot Worm, Flesh Rot (25 heroic)
case 72465: // Icecrown Citadel, Sindragosa, Respite for a Tormented Soul (weekly quest)
case 45271: // Sunwell, Eredar Twins encounter, Dark Strike
case 45347: // Sunwell, Eredar Twins encounter, Dark Touched
case 45348: // Sunwell, Eredar Twins encounter, Flame Touched
case 35859: // The Eye, Nether Vapor
case 40520: // Black Temple, Shade Soul Channel
case 40327: // Black Temple, Atrophy
case 38449: // Serpentshrine Cavern, Blessing of the Tides
case 38044: // Serpentshrine Cavern, Surge
case 74507: // Ruby Sanctum, Siphoned Might
case 49381: // Drak'tharon Keep, Consume
case 59805: // Drak'tharon Keep, Consume
case 55093: // Gundrak, Grip of Slad'ran
case 30659: // Hellfire Ramparts, Fel Infusion
case 54314: // Azjol'Nerub Drain Power
case 59354: // Azjol'Nerub Drain Power
case 34655: // Snake Trap, Deadly Poison
case 11971: // Sunder Armor
case 58567: // Player Sunder Armor
case 12579: // Player Winter's Chill
case 29306: // Naxxramas(Gluth's Zombies): Infected Wound
case 61920: // Ulduar(Spellbreaker): Supercharge
case 63978: // Ulduar(Rubble): Stone Nova
case 15502: // Sunder Armor
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SINGLE_AURA_STACK;
break;
case 43138: // North Fleet Reservist Kill Credit
spellInfo->AttributesCu |= SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET;
break;
case 6197: // Eagle Eye
spellInfo->AttributesCu |= SPELL_ATTR0_CU_NO_INITIAL_THREAT;
break;
case 50315: // Disco Ball
spellInfo->AttributesCu |= SPELL_ATTR0_CU_NO_PVP_FLAG;
break;
case 14183: // Premeditation
spellInfo->AttributesCu |= SPELL_ATTR0_CU_DONT_BREAK_STEALTH;
break;
// Xinef: NOT CUSTOM, cant add in DBC CORRECTION because i need to swap effects, too much work to do there
// Envenom
case 32645:
@@ -3796,8 +3534,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
case 44535: // Spirit Heal, abilities also have no cost
spellInfo->Effects[EFFECT_0].MiscValue = 127;
break;
case 45537: // Cosmetic - Lightning Beam Channel
spellInfo->AttributesCu |= SPELL_ATTR0_CU_IGNORE_EVADE;
default:
break;
}