From 07464e7fc3a6e2a13756c2839f4722dbd2767e50 Mon Sep 17 00:00:00 2001 From: zamalaev Date: Thu, 20 Feb 2020 12:22:58 +0000 Subject: [PATCH] Some fixed worldserver start, update DBC structure 5.4.8 --- src/game/Server/DBCStructure.cpp | 6 ++++ src/game/Server/DBCStructure.h | 19 ++++++----- src/game/Server/DBCfmt.h | 2 +- src/game/Server/SharedDefines.h | 37 +++++++++++++++++++++- src/tools/Extractor_Binaries/MoveMapGen.sh | 6 ++-- 5 files changed, 57 insertions(+), 13 deletions(-) diff --git a/src/game/Server/DBCStructure.cpp b/src/game/Server/DBCStructure.cpp index 44ec3ee43..7675c9519 100644 --- a/src/game/Server/DBCStructure.cpp +++ b/src/game/Server/DBCStructure.cpp @@ -442,6 +442,12 @@ uint32 SpellEntry::GetAttributesEx12() const return misc ? misc->AttributesEx12 : 0; } +uint32 SpellEntry::GetAttributesEx13() const +{ + SpellMiscEntry const* misc = GetSpellMisc(); + return misc ? misc->AttributesEx13 : 0; +} + uint32 SpellEntry::GetCastingTimeIndex() const { SpellMiscEntry const* misc = GetSpellMisc(); diff --git a/src/game/Server/DBCStructure.h b/src/game/Server/DBCStructure.h index e042913a5..345714e9d 100644 --- a/src/game/Server/DBCStructure.h +++ b/src/game/Server/DBCStructure.h @@ -2091,14 +2091,15 @@ struct SpellMiscEntry uint32 AttributesEx10; // 13 uint32 AttributesEx11; // 14 uint32 AttributesEx12; // 15 - uint32 CastingTimeIndex; // 16 m_castingTimeIndex - uint32 DurationIndex; // 17 m_durationIndex - uint32 rangeIndex; // 18 m_rangeIndex - float speed; // 19 m_speed - uint32 SpellVisual[2]; // 20-21 m_spellVisualID - uint32 SpellIconID; // 22 m_spellIconID - uint32 activeIconID; // 23 m_activeIconID - uint32 SchoolMask; // 24 m_schoolMask + uint32 AttributesEx13; // 16 + uint32 CastingTimeIndex; // 17 m_castingTimeIndex + uint32 DurationIndex; // 18 m_durationIndex + uint32 rangeIndex; // 19 m_rangeIndex + float speed; // 20 m_speed + uint32 SpellVisual[2]; // 21-22 m_spellVisualID + uint32 SpellIconID; // 23 m_spellIconID + uint32 activeIconID; // 24 m_activeIconID + uint32 SchoolMask; // 25 m_schoolMask }; struct SpellReagentsEntry; @@ -2242,6 +2243,7 @@ struct SpellEntry uint32 GetAttributesEx10() const; uint32 GetAttributesEx11() const; uint32 GetAttributesEx12() const; + uint32 GetAttributesEx13() const; inline bool HasAttribute(SpellAttributes attribute) const { return GetAttributes() & attribute; } inline bool HasAttribute(SpellAttributesEx attribute) const { return GetAttributesEx() & attribute; } inline bool HasAttribute(SpellAttributesEx2 attribute) const { return GetAttributesEx2() & attribute; } @@ -2255,6 +2257,7 @@ struct SpellEntry inline bool HasAttribute(SpellAttributesEx10 attribute) const { return GetAttributesEx10() & attribute; } inline bool HasAttribute(SpellAttributesEx11 attribute) const { return GetAttributesEx11() & attribute; } inline bool HasAttribute(SpellAttributesEx12 attribute) const { return GetAttributesEx12() & attribute; } + inline bool HasAttribute(SpellAttributesEx13 attribute) const { return GetAttributesEx13() & attribute; } private: // prevent creating custom entries (copy data from original in fact) diff --git a/src/game/Server/DBCfmt.h b/src/game/Server/DBCfmt.h index 4c08132f4..a9ebbce90 100644 --- a/src/game/Server/DBCfmt.h +++ b/src/game/Server/DBCfmt.h @@ -133,7 +133,7 @@ const char SpellTotemsEntryfmt[]="diiii"; // 5.3.0 Checked const char SpellFocusObjectfmt[]="nx"; const char SpellItemEnchantmentfmt[]="nxiiiiiiiiisiiiixxixxxxxxx"; // 17538 const char SpellItemEnchantmentConditionfmt[] = "nbbbbbxxxxxbbbbbbbbbbiiiiiXXXXX"; // 5.3.0 Checked -const char SpellMiscfmt[]="dxxiiiiiiiiiiiiiiiifiiiii"; // 17538 +const char SpellMiscfmt[]="dxxiiiiiiiiiiiiiiiiifiiiii"; // 17538 const char SpellRadiusfmt[]="nfxxx"; // 16357 const char SpellRangefmt[]="nffffxxx"; // 5.3.0 Checked const char SpellRuneCostfmt[]="niiixi"; // 16357 diff --git a/src/game/Server/SharedDefines.h b/src/game/Server/SharedDefines.h index 360605d9b..ddd58dab9 100644 --- a/src/game/Server/SharedDefines.h +++ b/src/game/Server/SharedDefines.h @@ -756,6 +756,41 @@ enum SpellAttributesEx12 SPELL_ATTR_EX12_UNK30 = 0x40000000,// 30 SPELL_ATTR_EX12_UNK31 = 0x80000000,// 31 }; +enum SpellAttributesEx13 +{ + SPELL_ATTR_EX13_UNK0 = 0x00000001,// 0 + SPELL_ATTR_EX13_UNK1 = 0x00000002,// 1 + SPELL_ATTR_EX13_UNK2 = 0x00000004,// 2 + SPELL_ATTR_EX13_UNK3 = 0x00000008,// 3 + SPELL_ATTR_EX13_UNK4 = 0x00000010,// 4 + SPELL_ATTR_EX13_UNK5 = 0x00000020,// 5 + SPELL_ATTR_EX13_UNK6 = 0x00000040,// 6 + SPELL_ATTR_EX13_UNK7 = 0x00000080,// 7 + SPELL_ATTR_EX13_UNK8 = 0x00000100,// 8 + SPELL_ATTR_EX13_UNK9 = 0x00000200,// 9 + SPELL_ATTR_EX13_UNK10 = 0x00000400,// 10 + SPELL_ATTR_EX13_UNK11 = 0x00000800,// 11 + SPELL_ATTR_EX13_UNK12 = 0x00001000,// 12 + SPELL_ATTR_EX13_UNK13 = 0x00002000,// 13 + SPELL_ATTR_EX13_UNK14 = 0x00004000,// 14 + SPELL_ATTR_EX13_UNK15 = 0x00008000,// 15 + SPELL_ATTR_EX13_UNK16 = 0x00010000,// 16 + SPELL_ATTR_EX13_UNK17 = 0x00020000,// 17 + SPELL_ATTR_EX13_UNK18 = 0x00040000,// 18 + SPELL_ATTR_EX13_UNK19 = 0x00080000,// 19 + SPELL_ATTR_EX13_UNK20 = 0x00100000,// 20 + SPELL_ATTR_EX13_UNK21 = 0x00200000,// 21 + SPELL_ATTR_EX13_UNK22 = 0x00400000,// 22 + SPELL_ATTR_EX13_UNK23 = 0x00800000,// 23 + SPELL_ATTR_EX13_UNK24 = 0x01000000,// 24 + SPELL_ATTR_EX13_UNK25 = 0x02000000,// 25 + SPELL_ATTR_EX13_UNK26 = 0x04000000,// 26 + SPELL_ATTR_EX13_UNK27 = 0x08000000,// 27 + SPELL_ATTR_EX13_UNK28 = 0x10000000,// 28 + SPELL_ATTR_EX13_UNK29 = 0x20000000,// 29 + SPELL_ATTR_EX13_UNK30 = 0x40000000,// 30 + SPELL_ATTR_EX13_UNK31 = 0x80000000,// 31 +}; #define MAX_TALENT_SPEC_COUNT 2 #define MAX_GLYPH_SLOT_INDEX 6 #define REQ_PRIMARY_TREE_TALENTS 31 @@ -4177,7 +4212,7 @@ enum TrackedAuraType // others will not and opposite // will only support WoW:MOP 5.4.8 client build 18414... -#define EXPECTED_MANGOSD_CLIENT_BUILD {18414, 0} +#define EXPECTED_MANGOSD_CLIENT_BUILD {18273, 18414, 0} // max supported expansion level in mangosd // NOTE: not set it more that supported by targeted client version with all expansions installed diff --git a/src/tools/Extractor_Binaries/MoveMapGen.sh b/src/tools/Extractor_Binaries/MoveMapGen.sh index 8494ae3f5..7cdffc775 100644 --- a/src/tools/Extractor_Binaries/MoveMapGen.sh +++ b/src/tools/Extractor_Binaries/MoveMapGen.sh @@ -56,9 +56,9 @@ MAP_LIST_A="1 37 543 595 289 572 529 562 531 269 47 649 650 599 548 559 429 230 MAP_LIST_B="571 628 560 509 723 532 607 600 668 33 585 566 389 601 369 129 550 189 542 70 109 554 632 552 555 540 598 450 558 249 35 624 557" MAP_LIST_C="0 631 609 534 533 619 469 602 329 580 615 578 36 556 44 565 544 34 617 608 618 449 616 42 451 582 584 586 587 588 589 590 591 592" MAP_LIST_D="530 169 575 603 309 574 30 564 568 209 724 658 489 593 594 596 597 605 606 610 612 613 614 620 621 622 623 641 642 647 672 673 712 713 718" -MAP_LIST_D1="209 724 658 489 606 610 612 613 614 620 621" -MAP_LIST_D2="169 575 603 309 574 30 564 568 622 623 641 642 647 672 673 712 713 718" -MAP_LIST_D3="530 593 594 596 597 605" +MAP_LIST_D1="209 724 658 489 606 610 612 613 614 620 621 754 755 757 759 760 761" +MAP_LIST_D2="169 575 603 309 574 30 564 568 622 623 641 642 647 672 673 712 713" +MAP_LIST_D3="530 593 594 596 597 605 651 654 655 656 657 751 752 753 974 977 718" badParam() {