diff --git a/pages/spell.php b/pages/spell.php index 8f5a2294..d27e4597 100644 --- a/pages/spell.php +++ b/pages/spell.php @@ -350,8 +350,6 @@ class SpellPage extends GenericPage /* Extra Tabs */ /**************/ - $j = [null, 'A', 'B', 'C']; - $ubSAI = SmartAI::getOwnerOfSpellCast($this->typeId); // tab: abilities [of shapeshift form] @@ -398,9 +396,9 @@ class SpellPage extends GenericPage if (!in_array($this->subject->getField('effect'.$i.'AuraId'), self::$modAuras)) continue; - $m1 = $this->subject->getField('effect1SpellClassMask'.$j[$i]); - $m2 = $this->subject->getField('effect2SpellClassMask'.$j[$i]); - $m3 = $this->subject->getField('effect3SpellClassMask'.$j[$i]); + $m1 = $this->subject->getField('effect'.$i.'SpellClassMaskA'); + $m2 = $this->subject->getField('effect'.$i.'SpellClassMaskB'); + $m3 = $this->subject->getField('effect'.$i.'SpellClassMaskC'); if (!$m1 && !$m2 && !$m3) continue; @@ -481,9 +479,9 @@ class SpellPage extends GenericPage ['s.effect'.$i.'AuraId', self::$modAuras], [ 'OR', - ['s.effect1SpellClassMask'.$j[$i], $m1, '&'], - ['s.effect2SpellClassMask'.$j[$i], $m2, '&'], - ['s.effect3SpellClassMask'.$j[$i], $m3, '&'] + ['s.effect'.$i.'SpellClassMaskA', $m1, '&'], + ['s.effect'.$i.'SpellClassMaskB', $m2, '&'], + ['s.effect'.$i.'SpellClassMaskC', $m3, '&'] ] ); } diff --git a/setup/db_structure.sql b/setup/db_structure.sql index 0dd47f37..9635f9a7 100644 --- a/setup/db_structure.sql +++ b/setup/db_structure.sql @@ -2836,13 +2836,13 @@ CREATE TABLE `aowow_spell` ( `effect2PointsPerComboPoint` mediumint NOT NULL, `effect3PointsPerComboPoint` mediumint NOT NULL, `effect1SpellClassMaskA` int NOT NULL, - `effect2SpellClassMaskA` int NOT NULL, - `effect3SpellClassMaskA` int NOT NULL, `effect1SpellClassMaskB` int NOT NULL, - `effect2SpellClassMaskB` int NOT NULL, - `effect3SpellClassMaskB` int NOT NULL, `effect1SpellClassMaskC` int NOT NULL, + `effect2SpellClassMaskA` int NOT NULL, + `effect2SpellClassMaskB` int NOT NULL, `effect2SpellClassMaskC` int NOT NULL, + `effect3SpellClassMaskA` int NOT NULL, + `effect3SpellClassMaskB` int NOT NULL, `effect3SpellClassMaskC` int NOT NULL, `effect1DamageMultiplier` float NOT NULL, `effect2DamageMultiplier` float NOT NULL, diff --git a/setup/tools/dbc/12340.ini b/setup/tools/dbc/12340.ini index 06acdde8..d49eb616 100644 --- a/setup/tools/dbc/12340.ini +++ b/setup/tools/dbc/12340.ini @@ -1107,13 +1107,13 @@ effect1PointsPerComboPoint = f effect2PointsPerComboPoint = f effect3PointsPerComboPoint = f effect1SpellClassMaskA = i -effect2SpellClassMaskA = i -effect3SpellClassMaskA = i effect1SpellClassMaskB = i -effect2SpellClassMaskB = i -effect3SpellClassMaskB = i effect1SpellClassMaskC = i +effect2SpellClassMaskA = i +effect2SpellClassMaskB = i effect2SpellClassMaskC = i +effect3SpellClassMaskA = i +effect3SpellClassMaskB = i effect3SpellClassMaskC = i spellVisualId1 = i spellVisualId2 = i diff --git a/setup/tools/sqlgen/spell.ss.php b/setup/tools/sqlgen/spell.ss.php index 3c42d6ff..c31b0717 100644 --- a/setup/tools/sqlgen/spell.ss.php +++ b/setup/tools/sqlgen/spell.ss.php @@ -74,9 +74,9 @@ CLISetup::registerSetup("sql", new class extends SetupScript EffectMiscValueB1, EffectMiscValueB2, EffectMiscValueB3, EffectTriggerSpell1, EffectTriggerSpell2, EffectTriggerSpell3, 0 AS effect1PointsPerComboPoint, 0 AS effect2PointsPerComboPoint, 0 AS effect3PointsPerComboPoint, - EffectSpellClassMaskA1, EffectSpellClassMaskA2, EffectSpellClassMaskA3, - EffectSpellClassMaskB1, EffectSpellClassMaskB2, EffectSpellClassMaskB3, - EffectSpellClassMaskC1, EffectSpellClassMaskC2, EffectSpellClassMaskC3, + EffectSpellClassMaskA1, EffectSpellClassMaskB1, EffectSpellClassMaskC1, + EffectSpellClassMaskA2, EffectSpellClassMaskB2, EffectSpellClassMaskC2, + EffectSpellClassMaskA3, EffectSpellClassMaskB3, EffectSpellClassMaskC3, DmgMultiplier1, DmgMultiplier2, DmgMultiplier3, 0 AS effect1BonusMultiplier, 0 AS effect2BonusMultiplier, 0 AS effect3BonusMultiplier, 0 AS iconId, 0 AS iconIdBak, 0 AS iconIdAlt, @@ -158,9 +158,9 @@ CLISetup::registerSetup("sql", new class extends SetupScript effect1MiscValueB, effect2MiscValueB, effect3MiscValueB, effect1TriggerSpell, effect2TriggerSpell, effect3TriggerSpell, effect1PointsPerComboPoint, effect2PointsPerComboPoint, effect3PointsPerComboPoint, - effect1SpellClassMaskA, effect2SpellClassMaskA, effect3SpellClassMaskA, - effect1SpellClassMaskB, effect2SpellClassMaskB, effect3SpellClassMaskB, - effect1SpellClassMaskC, effect2SpellClassMaskC, effect3SpellClassMaskC, + effect1SpellClassMaskA, effect1SpellClassMaskB, effect1SpellClassMaskC, + effect2SpellClassMaskA, effect2SpellClassMaskB, effect2SpellClassMaskC, + effect3SpellClassMaskA, effect3SpellClassMaskB, effect3SpellClassMaskC, effect1DamageMultiplier, effect2DamageMultiplier, effect3DamageMultiplier, effect1BonusMultiplier, effect2BonusMultiplier, effect3BonusMultiplier, 0 AS iconId, iconId AS iconIdBak, 0 AS iconIdAlt, @@ -668,9 +668,9 @@ CLISetup::registerSetup("sql", new class extends SetupScript s1.spellFamilyId, s1.spellFamilyFlags1, s1.spellFamilyFlags2, s1.spellFamilyFlags3, s1.effect1Id, s1.effect2Id, s1.effect3Id, - s1.effect1SpellClassMaskA, s1.effect1SpellClassMaskB, s1.effect1SpellClassMaskC, - s1.effect2SpellClassMaskA, s1.effect2SpellClassMaskB, s1.effect2SpellClassMaskC, - s1.effect3SpellClassMaskA, s1.effect3SpellClassMaskB, s1.effect3SpellClassMaskC + s1.effect1SpellClassMaskA, s1.effect2SpellClassMaskA, s1.effect3SpellClassMaskA, + s1.effect1SpellClassMaskB, s1.effect2SpellClassMaskB, s1.effect3SpellClassMaskB, + s1.effect1SpellClassMaskC, s1.effect2SpellClassMaskC, s1.effect3SpellClassMaskC FROM dbc_glyphproperties gp JOIN ?_spell s1 ON s1.id = gp.spellId JOIN ?_spell s2 ON s2.effect1MiscValue = gp.id AND s2.effect1Id = 74 @@ -679,7 +679,6 @@ CLISetup::registerSetup("sql", new class extends SetupScript foreach ($effects as $applyId => $glyphEffect) { - $l = [null, 'A', 'B', 'C']; $i = 0; $icons = []; $fam = $glyphEffect['spellFamilyId']; @@ -708,9 +707,9 @@ CLISetup::registerSetup("sql", new class extends SetupScript while (empty($icons) && $i < 3) { $i++; - $m1 = $glyphEffect['effect1SpellClassMask'.$l[$i]]; - $m2 = $glyphEffect['effect2SpellClassMask'.$l[$i]]; - $m3 = $glyphEffect['effect3SpellClassMask'.$l[$i]]; + $m1 = $glyphEffect['effect'.$i.'SpellClassMaskA']; + $m2 = $glyphEffect['effect'.$i.'SpellClassMaskB']; + $m3 = $glyphEffect['effect'.$i.'SpellClassMaskC']; if ($glyphEffect['effect'.$i.'Id'] != 6 || (!$m1 && !$m2 && !$m3)) continue; diff --git a/setup/updates/1720608489_01.sql b/setup/updates/1720608489_01.sql new file mode 100644 index 00000000..cc47e011 --- /dev/null +++ b/setup/updates/1720608489_01.sql @@ -0,0 +1,25 @@ +DROP TABLE IF EXISTS dbc_spell; + +ALTER TABLE `aowow_spell` + DROP COLUMN `effect1SpellClassMaskA`, + DROP COLUMN `effect2SpellClassMaskA`, + DROP COLUMN `effect3SpellClassMaskA`, + DROP COLUMN `effect1SpellClassMaskB`, + DROP COLUMN `effect2SpellClassMaskB`, + DROP COLUMN `effect3SpellClassMaskB`, + DROP COLUMN `effect1SpellClassMaskC`, + DROP COLUMN `effect2SpellClassMaskC`, + DROP COLUMN `effect3SpellClassMaskC`; + +ALTER TABLE `aowow_spell` + ADD COLUMN `effect1SpellClassMaskA` int NOT NULL AFTER `effect3PointsPerComboPoint`, + ADD COLUMN `effect1SpellClassMaskB` int NOT NULL AFTER `effect1SpellClassMaskA`, + ADD COLUMN `effect1SpellClassMaskC` int NOT NULL AFTER `effect1SpellClassMaskB`, + ADD COLUMN `effect2SpellClassMaskA` int NOT NULL AFTER `effect1SpellClassMaskC`, + ADD COLUMN `effect2SpellClassMaskB` int NOT NULL AFTER `effect2SpellClassMaskA`, + ADD COLUMN `effect2SpellClassMaskC` int NOT NULL AFTER `effect2SpellClassMaskB`, + ADD COLUMN `effect3SpellClassMaskA` int NOT NULL AFTER `effect2SpellClassMaskC`, + ADD COLUMN `effect3SpellClassMaskB` int NOT NULL AFTER `effect3SpellClassMaskA`, + ADD COLUMN `effect3SpellClassMaskC` int NOT NULL AFTER `effect3SpellClassMaskB`; + +UPDATE `aowow_dbversion` SET `sql` = CONCAT(IFNULL(`sql`, ''), ' spell');