diff --git a/Source/Game/Spells/SpellManager.cs b/Source/Game/Spells/SpellManager.cs index 83f964ce8..5e222f248 100644 --- a/Source/Game/Spells/SpellManager.cs +++ b/Source/Game/Spells/SpellManager.cs @@ -2552,21 +2552,21 @@ namespace Game.Entities SQLResult spellsResult = DB.World.Query("SELECT Id, DifficultyID, CategoryId, Dispel, Mechanic, Attributes, AttributesEx, AttributesEx2, AttributesEx3, " + //9 10 11 12 13 14 15 16 17 18 "AttributesEx4, AttributesEx5, AttributesEx6, AttributesEx7, AttributesEx8, AttributesEx9, AttributesEx10, AttributesEx11, AttributesEx12, AttributesEx13, " + - //19 20 21 22 23 24 25 26 27 - "AttributesEx14, Stances, StancesNot, Targets, TargetCreatureType, RequiresSpellFocus, FacingCasterFlags, CasterAuraState, TargetAuraState, " + - //28 29 30 31 32 33 + //19 20 21 22 23 24 25 26 27 28 + "AttributesEx14, AttributesEx15, Stances, StancesNot, Targets, TargetCreatureType, RequiresSpellFocus, FacingCasterFlags, CasterAuraState, TargetAuraState, " + + //29 30 31 32 33 34 "ExcludeCasterAuraState, ExcludeTargetAuraState, CasterAuraSpell, TargetAuraSpell, ExcludeCasterAuraSpell, ExcludeTargetAuraSpell, " + - //34 35 36 37 38 + //35 36 37 38 39 "CasterAuraType, TargetAuraType, ExcludeCasterAuraType, ExcludeTargetAuraType, CastingTimeIndex, " + - //39 40 41 42 43 44 45 + //40 41 42 43 44 45 46 "RecoveryTime, CategoryRecoveryTime, StartRecoveryCategory, StartRecoveryTime, InterruptFlags, AuraInterruptFlags1, AuraInterruptFlags2, " + - //46 47 48 49 50 51 52 53 54 55 56 + //47 48 49 50 51 52 53 54 55 56 57 "ChannelInterruptFlags1, ChannelInterruptFlags2, ProcFlags, ProcFlags2, ProcChance, ProcCharges, ProcCooldown, ProcBasePPM, MaxLevel, BaseLevel, SpellLevel, " + - //57 58 59 60 61 62 63 64 65 + //58 59 60 61 62 63 64 65 66 "DurationIndex, RangeIndex, Speed, LaunchDelay, StackAmount, EquippedItemClass, EquippedItemSubClassMask, EquippedItemInventoryTypeMask, ContentTuningId, " + - //66 67 68 69 70 71 72 73 74 75 + //67 68 69 70 71 72 73 74 75 76 "SpellName, ConeAngle, ConeWidth, MaxTargetLevel, MaxAffectedTargets, SpellFamilyName, SpellFamilyFlags1, SpellFamilyFlags2, SpellFamilyFlags3, SpellFamilyFlags4, " + - //76 77 78 79 80 + //77 78 79 80 81 "DmgClass, PreventionType, AreaGroupId, SchoolMask, ChargeCategoryId FROM serverside_spell"); if (!spellsResult.IsEmpty()) @@ -2581,7 +2581,7 @@ namespace Game.Entities continue; } - mServersideSpellNames.Add(new(spellId, spellsResult.Read(66))); + mServersideSpellNames.Add(new(spellId, spellsResult.Read(67))); SpellInfo spellInfo = new(mServersideSpellNames.Last().Name, difficulty, spellEffects[(spellId, difficulty)]); spellInfo.CategoryId = spellsResult.Read(2); @@ -2602,62 +2602,63 @@ namespace Game.Entities spellInfo.AttributesEx12 = (SpellAttr12)spellsResult.Read(17); spellInfo.AttributesEx13 = (SpellAttr13)spellsResult.Read(18); spellInfo.AttributesEx14 = (SpellAttr14)spellsResult.Read(19); - spellInfo.Stances = spellsResult.Read(20); - spellInfo.StancesNot = spellsResult.Read(21); - spellInfo.Targets = (SpellCastTargetFlags)spellsResult.Read(22); - spellInfo.TargetCreatureType = spellsResult.Read(23); - spellInfo.RequiresSpellFocus = spellsResult.Read(24); - spellInfo.FacingCasterFlags = spellsResult.Read(25); - spellInfo.CasterAuraState = (AuraStateType)spellsResult.Read(26); - spellInfo.TargetAuraState = (AuraStateType)spellsResult.Read(27); - spellInfo.ExcludeCasterAuraState = (AuraStateType)spellsResult.Read(28); - spellInfo.ExcludeTargetAuraState = (AuraStateType)spellsResult.Read(29); - spellInfo.CasterAuraSpell = spellsResult.Read(30); - spellInfo.TargetAuraSpell = spellsResult.Read(31); - spellInfo.ExcludeCasterAuraSpell = spellsResult.Read(32); - spellInfo.ExcludeTargetAuraSpell = spellsResult.Read(33); - spellInfo.CasterAuraType = (AuraType)spellsResult.Read(34); - spellInfo.TargetAuraType = (AuraType)spellsResult.Read(35); - spellInfo.ExcludeCasterAuraType = (AuraType)spellsResult.Read(36); - spellInfo.ExcludeTargetAuraType = (AuraType)spellsResult.Read(37); - spellInfo.CastTimeEntry = CliDB.SpellCastTimesStorage.LookupByKey(spellsResult.Read(38)); - spellInfo.RecoveryTime = spellsResult.Read(39); - spellInfo.CategoryRecoveryTime = spellsResult.Read(40); - spellInfo.StartRecoveryCategory = spellsResult.Read(41); - spellInfo.StartRecoveryTime = spellsResult.Read(42); - spellInfo.InterruptFlags = (SpellInterruptFlags)spellsResult.Read(43); - spellInfo.AuraInterruptFlags = (SpellAuraInterruptFlags)spellsResult.Read(44); - spellInfo.AuraInterruptFlags2 = (SpellAuraInterruptFlags2)spellsResult.Read(45); - spellInfo.ChannelInterruptFlags = (SpellAuraInterruptFlags)spellsResult.Read(46); - spellInfo.ChannelInterruptFlags2 = (SpellAuraInterruptFlags2)spellsResult.Read(47); - spellInfo.ProcFlags = new ProcFlagsInit(spellsResult.Read(48), spellsResult.Read(49)); - spellInfo.ProcChance = spellsResult.Read(50); - spellInfo.ProcCharges = spellsResult.Read(51); - spellInfo.ProcCooldown = spellsResult.Read(52); - spellInfo.ProcBasePPM = spellsResult.Read(53); - spellInfo.MaxLevel = spellsResult.Read(54); - spellInfo.BaseLevel = spellsResult.Read(55); - spellInfo.SpellLevel = spellsResult.Read(56); - spellInfo.DurationEntry = CliDB.SpellDurationStorage.LookupByKey(spellsResult.Read(57)); - spellInfo.RangeEntry = CliDB.SpellRangeStorage.LookupByKey(spellsResult.Read(58)); - spellInfo.Speed = spellsResult.Read(59); - spellInfo.LaunchDelay = spellsResult.Read(60); - spellInfo.StackAmount = spellsResult.Read(61); - spellInfo.EquippedItemClass = (ItemClass)spellsResult.Read(62); - spellInfo.EquippedItemSubClassMask = spellsResult.Read(63); - spellInfo.EquippedItemInventoryTypeMask = spellsResult.Read(64); - spellInfo.ContentTuningId = spellsResult.Read(65); - spellInfo.ConeAngle = spellsResult.Read(67); - spellInfo.Width = spellsResult.Read(68); - spellInfo.MaxTargetLevel = spellsResult.Read(69); - spellInfo.MaxAffectedTargets = spellsResult.Read(70); - spellInfo.SpellFamilyName = (SpellFamilyNames)spellsResult.Read(71); - spellInfo.SpellFamilyFlags = new FlagArray128(spellsResult.Read(72), spellsResult.Read(73), spellsResult.Read(74), spellsResult.Read(75)); - spellInfo.DmgClass = (SpellDmgClass)spellsResult.Read(76); - spellInfo.PreventionType = (SpellPreventionType)spellsResult.Read(77); - spellInfo.RequiredAreasID = spellsResult.Read(78); - spellInfo.SchoolMask = (SpellSchoolMask)spellsResult.Read(79); - spellInfo.ChargeCategoryId = spellsResult.Read(80); + spellInfo.AttributesEx15 = (SpellAttr15)spellsResult.Read(20); + spellInfo.Stances = spellsResult.Read(21); + spellInfo.StancesNot = spellsResult.Read(22); + spellInfo.Targets = (SpellCastTargetFlags)spellsResult.Read(23); + spellInfo.TargetCreatureType = spellsResult.Read(24); + spellInfo.RequiresSpellFocus = spellsResult.Read(25); + spellInfo.FacingCasterFlags = spellsResult.Read(26); + spellInfo.CasterAuraState = (AuraStateType)spellsResult.Read(27); + spellInfo.TargetAuraState = (AuraStateType)spellsResult.Read(28); + spellInfo.ExcludeCasterAuraState = (AuraStateType)spellsResult.Read(29); + spellInfo.ExcludeTargetAuraState = (AuraStateType)spellsResult.Read(30); + spellInfo.CasterAuraSpell = spellsResult.Read(31); + spellInfo.TargetAuraSpell = spellsResult.Read(32); + spellInfo.ExcludeCasterAuraSpell = spellsResult.Read(33); + spellInfo.ExcludeTargetAuraSpell = spellsResult.Read(34); + spellInfo.CasterAuraType = (AuraType)spellsResult.Read(35); + spellInfo.TargetAuraType = (AuraType)spellsResult.Read(36); + spellInfo.ExcludeCasterAuraType = (AuraType)spellsResult.Read(37); + spellInfo.ExcludeTargetAuraType = (AuraType)spellsResult.Read(38); + spellInfo.CastTimeEntry = CliDB.SpellCastTimesStorage.LookupByKey(spellsResult.Read(39)); + spellInfo.RecoveryTime = spellsResult.Read(40); + spellInfo.CategoryRecoveryTime = spellsResult.Read(41); + spellInfo.StartRecoveryCategory = spellsResult.Read(42); + spellInfo.StartRecoveryTime = spellsResult.Read(43); + spellInfo.InterruptFlags = (SpellInterruptFlags)spellsResult.Read(44); + spellInfo.AuraInterruptFlags = (SpellAuraInterruptFlags)spellsResult.Read(45); + spellInfo.AuraInterruptFlags2 = (SpellAuraInterruptFlags2)spellsResult.Read(46); + spellInfo.ChannelInterruptFlags = (SpellAuraInterruptFlags)spellsResult.Read(47); + spellInfo.ChannelInterruptFlags2 = (SpellAuraInterruptFlags2)spellsResult.Read(48); + spellInfo.ProcFlags = new ProcFlagsInit(spellsResult.Read(49), spellsResult.Read(50)); + spellInfo.ProcChance = spellsResult.Read(51); + spellInfo.ProcCharges = spellsResult.Read(52); + spellInfo.ProcCooldown = spellsResult.Read(53); + spellInfo.ProcBasePPM = spellsResult.Read(54); + spellInfo.MaxLevel = spellsResult.Read(55); + spellInfo.BaseLevel = spellsResult.Read(56); + spellInfo.SpellLevel = spellsResult.Read(57); + spellInfo.DurationEntry = CliDB.SpellDurationStorage.LookupByKey(spellsResult.Read(58)); + spellInfo.RangeEntry = CliDB.SpellRangeStorage.LookupByKey(spellsResult.Read(59)); + spellInfo.Speed = spellsResult.Read(60); + spellInfo.LaunchDelay = spellsResult.Read(61); + spellInfo.StackAmount = spellsResult.Read(62); + spellInfo.EquippedItemClass = (ItemClass)spellsResult.Read(63); + spellInfo.EquippedItemSubClassMask = spellsResult.Read(64); + spellInfo.EquippedItemInventoryTypeMask = spellsResult.Read(65); + spellInfo.ContentTuningId = spellsResult.Read(66); + spellInfo.ConeAngle = spellsResult.Read(68); + spellInfo.Width = spellsResult.Read(69); + spellInfo.MaxTargetLevel = spellsResult.Read(70); + spellInfo.MaxAffectedTargets = spellsResult.Read(71); + spellInfo.SpellFamilyName = (SpellFamilyNames)spellsResult.Read(72); + spellInfo.SpellFamilyFlags = new FlagArray128(spellsResult.Read(73), spellsResult.Read(74), spellsResult.Read(75), spellsResult.Read(76)); + spellInfo.DmgClass = (SpellDmgClass)spellsResult.Read(77); + spellInfo.PreventionType = (SpellPreventionType)spellsResult.Read(78); + spellInfo.RequiredAreasID = spellsResult.Read(79); + spellInfo.SchoolMask = (SpellSchoolMask)spellsResult.Read(80); + spellInfo.ChargeCategoryId = spellsResult.Read(81); mSpellInfoMap.Add(spellId, spellInfo);