diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DataStores/DBCStores.cpp | 1 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCStructure.h | 59 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCfmt.h | 21 | ||||
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 4 |
4 files changed, 40 insertions, 45 deletions
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp index 99d84bc779b..9ee43f8f206 100644 --- a/src/server/game/DataStores/DBCStores.cpp +++ b/src/server/game/DataStores/DBCStores.cpp @@ -233,7 +233,6 @@ DBCStorage <TaxiPathEntry> sTaxiPathStore(TaxiPathEntryfmt); TaxiPathNodesByPath sTaxiPathNodesByPath; static DBCStorage <TaxiPathNodeEntry> sTaxiPathNodeStore(TaxiPathNodeEntryfmt); -DBCStorage <TeamContributionPointsEntry> sTeamContributionPointsStore(TeamContributionPointsfmt); DBCStorage <TotemCategoryEntry> sTotemCategoryStore(TotemCategoryEntryfmt); DBCStorage <VehicleEntry> sVehicleStore(VehicleEntryfmt); DBCStorage <VehicleSeatEntry> sVehicleSeatStore(VehicleSeatEntryfmt); diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index 00e73dafc32..601e59163ab 100644 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -549,9 +549,9 @@ struct AreaTableEntry uint32 team; // 12 uint32 LiquidTypeOverride[4]; // 13-16 liquid override by type float MaxDepth; // 17, - //float unk13; // 18, - //uint32 unk19; // 19, All zeros (4.2.2) - //uint32 unk20; // 20 4.0.0 + float AmbientMultiplier; // 18 client only? + uint32 LightId; // 19 + //uint32 unk20; // 20 4.0.0 - Mounting related //uint32 unk21; // 21 4.0.0 //uint32 unk22; // 22 4.0.0 //uint32 unk23; // 23 4.0.0 @@ -668,11 +668,8 @@ struct CharStartOutfitEntry int32 ItemId[MAX_OUTFIT_ITEMS]; // 2-13 //int32 ItemDisplayId[MAX_OUTFIT_ITEMS]; // 14-25 not required at server side //int32 ItemInventorySlot[MAX_OUTFIT_ITEMS]; // 26-37 not required at server side - //uint32 Unknown1; // 38, unique values (index-like with gaps ordered in other way as ids) - //uint32 Unknown2; // 39 - //uint32 Unknown3; // 40 - //uint32 Unknown4; // 41 - //uint32 Unknown5; // 42 + uint32 PetDisplayId; // 38 Pet Model ID for starting pet + uint32 PetFamilyEntry; // 39 Pet Family Entry for starting pet }; struct CharTitlesEntry @@ -853,7 +850,7 @@ struct CurrencyTypesEntry //char* name; // 2 //char* iconName; // 3 //uint32 unk4; // 4 all 0 - //uint32 unk5; // 5 archaeology-related (?) + uint32 HasSubstitution; // 5 archaeology-related (?) uint32 SubstitutionId; // 6 uint32 TotalCap; // 7 uint32 WeekCap; // 8 @@ -944,9 +941,9 @@ struct FactionEntry float spilloverRateOut; // 20 Faction outputs rep * spilloverRateOut as spillover reputation uint32 spilloverMaxRankIn; // 21 The highest rank the faction will profit from incoming spillover //uint32 spilloverRank_unk; // 22 It does not seem to be the max standing at which a faction outputs spillover ...so no idea - char* name; // 23 m_name_lang + char* name; // 23 m_name_lang //char* description; // 24 m_description_lang - //uint32 // 25 + uint32 GroupExpansion; // 25 m_factionGroupExpansion // helpers bool CanHaveReputation() const @@ -1032,7 +1029,7 @@ struct GemPropertiesEntry // 2 m_maxcount_inv // 3 m_maxcount_item uint32 color; // 4 m_type - //uint32 // 5 + uint32 minJewelCraftingSkill; // 5 m_minJewelCraftingSkill }; struct GlyphPropertiesEntry @@ -1040,7 +1037,7 @@ struct GlyphPropertiesEntry uint32 Id; uint32 SpellId; uint32 TypeFlags; - uint32 Unk1; // GlyphIconId (SpellIcon.dbc) + uint32 IconId; // GlyphIconId (SpellIcon.dbc) }; struct GlyphSlotEntry @@ -1356,7 +1353,7 @@ struct LFGDungeonEntry uint32 reclevel; // 4 uint32 recminlevel; // 5 uint32 recmaxlevel; // 6 - int32 map; // 7 + int32 map; // 7 uint32 difficulty; // 8 uint32 flags; // 9 uint32 type; // 10 @@ -1366,6 +1363,7 @@ struct LFGDungeonEntry //uint32 unk4; // 14 uint32 grouptype; // 15 //char* desc; // 16 Description + uint32 randomCategoryId; // 17 RandomDungeonID assigned for this dungeon // Helpers uint32 Entry() const { return ID + (type << 24); } }; @@ -1438,7 +1436,7 @@ struct MapEntry float entrance_y; // 14 m_corpseY entrance y coordinate in ghost mode (in most cases = normal entrance) //uint32 timeOfDayOverride; // 15 m_timeOfDayOverride uint32 addon; // 16 m_expansionID - uint32 unk_time; // 17 m_raidOffset + uint32 expireTime; // 17 m_raidOffset //uint32 maxPlayers; // 18 m_maxPlayers int32 rootPhaseMap; // 19 new 4.0.0, mapid, related to phasing @@ -1530,7 +1528,7 @@ struct OverrideSpellDataEntry uint32 id; // 0 uint32 spellId[MAX_OVERRIDE_SPELL]; // 1-10 //uint32 unk0; // 11 - //uint32 unk3; // 12 possibly flag + //char* SpellBarName; // 12 }; struct PvPDifficultyEntry @@ -1647,8 +1645,7 @@ struct SkillLineAbilityEntry uint32 learnOnGetSkill; // 9 m_acquireMethod uint32 max_value; // 10 m_trivialSkillLineRankHigh uint32 min_value; // 11 m_trivialSkillLineRankLow - //uint32 // 12 - //uint32 // 13 4.0.0 + uint32 character_points[2]; // 12-13 m_characterPoints }; struct SoundEntriesEntry @@ -1783,7 +1780,7 @@ struct SpellEntry //uint32 spellMissileID; // 27 m_spellMissileID not used //uint32 spellDescriptionVariableID; // 28 m_spellDescriptionVariableID, 3.2.0 uint32 SpellDifficultyId; // 29 m_spellDifficultyID - id from SpellDifficulty.dbc - //float unk_f1; // 30 + float SpellCoef; // 30 uint32 SpellScalingId; // 31 SpellScaling.dbc uint32 SpellAuraOptionsId; // 32 SpellAuraOptions.dbc uint32 SpellAuraRestrictionsId; // 33 SpellAuraRestrictions.dbc @@ -1916,9 +1913,9 @@ struct SpellPowerEntry uint32 manaCostPerlevel; // 2 m_manaCostPerLevel uint32 ManaCostPercentage; // 3 m_manaCostPct uint32 manaPerSecond; // 4 m_manaPerSecond - //uint32 PowerDisplayId; // 5 m_powerDisplayID - id from PowerDisplay.dbc, new in 3.1 - //uint32 unk1; // 6 4.0.0 - //float unk2; // 7 4.3.0 + uint32 manaPerSecondPerLevel; // 5 m_manaPerSecondPerLevel + //uint32 PowerDisplayId; // 6 m_powerDisplayID - id from PowerDisplay.dbc, new in 3.1 + float ManaCostPercentageFloat; // 7 4.3.0 }; struct SpellRuneCostEntry @@ -1940,8 +1937,9 @@ struct SpellShapeshiftFormEntry //char* Name; // 2 unused uint32 flags1; // 3 int32 creatureType; // 4 <=0 humanoid, other normal creature types - //uint32 unk1; // 5 unused, related to next field + //uint32 spellIcon; // 5 unused, related to next field uint32 attackSpeed; // 6 + // Models changed, 0 is main model, the rest 3 are unused. uint32 modelID_A; // 7 alliance modelid (0 means no model) uint32 modelID_H; // 8 horde modelid (but only for one form) //uint32 unk3; // 9 unused always 0 @@ -2078,7 +2076,7 @@ struct TalentTabEntry //char* internalname; // 6 m_backgroundFile //char* description; // 7 //uint32 rolesMask; // 8 4.0.0 - //uint32 spellIds[2]; // 9-10 passive mastery bonus spells? + //uint32 MasterySpells[2]; // 9-10 passive mastery bonus spells? }; struct TalentTreePrimarySpellsEntry @@ -2098,6 +2096,7 @@ struct TaxiNodesEntry float z; // 4 m_z char* name; // 5 m_Name_lang uint32 MountCreatureID[2]; // 6-7 m_MountCreatureID[2] + uint32 Flags; // 8 m_Flags }; struct TaxiPathEntry @@ -2123,12 +2122,6 @@ struct TaxiPathNodeEntry uint32 departureEventID; // 10 m_departureEventID }; -struct TeamContributionPointsEntry -{ - //uint32 entry; // 0 - float value; // 1 (???) -}; - struct TotemCategoryEntry { uint32 ID; // 0 @@ -2164,9 +2157,9 @@ struct VehicleEntry float m_msslTrgtArcRepeat; // 25 float m_msslTrgtArcWidth; // 26 float m_msslTrgtImpactRadius[2]; // 27-28 - char* m_msslTrgtArcTexture; // 29 - char* m_msslTrgtImpactTexture; // 30 - char* m_msslTrgtImpactModel[2]; // 31-32 + char* m_msslTrgtArcTexture; // 29 + char* m_msslTrgtImpactTexture; // 30 + char* m_msslTrgtImpactModel[2]; // 31-32 float m_cameraYawOffset; // 33 uint32 m_uiLocomotionType; // 34 float m_msslTrgtImpactTexRadius; // 35 diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h index 2cdf5509bc3..29f584b4bae 100644 --- a/src/server/game/DataStores/DBCfmt.h +++ b/src/server/game/DataStores/DBCfmt.h @@ -26,7 +26,7 @@ char const Achievementfmt[]="niixsxiixixxii"; const std::string CustomAchievementfmt="pppaaaapapaapp"; const std::string CustomAchievementIndex = "ID"; char const AchievementCriteriafmt[]="niiiiiiiisiiiiixxiiiiii"; -char const AreaTableEntryfmt[]="iiinixxxxxisiiiiifxxxxxxxx"; +char const AreaTableEntryfmt[]="iiinixxxxxisiiiiiffixxxxxx"; char const AreaGroupEntryfmt[]="niiiiiii"; char const AreaPOIEntryfmt[]="niiiiiiiiiiiffixixxixx"; char const AreaTriggerEntryfmt[]="nifffxxxfffff"; @@ -35,7 +35,7 @@ char const AuctionHouseEntryfmt[]="niiix"; char const BankBagSlotPricesEntryfmt[]="ni"; char const BarberShopStyleEntryfmt[]="nixxxiii"; char const BattlemasterListEntryfmt[]="niiiiiiiiixsiiiixxxx"; -char const CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; +char const CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxii"; char const CharTitlesEntryfmt[]="nxsxix"; char const ChatChannelsEntryfmt[]="nixsx"; @@ -49,7 +49,7 @@ char const CreatureModelDatafmt[]="nxxxxxxxxxxxxxffxxxxxxxxxxxxxxx"; char const CreatureFamilyfmt[]="nfifiiiiixsx"; char const CreatureSpellDatafmt[]="niiiixxxx"; char const CreatureTypefmt[]="nxx"; -char const CurrencyTypesfmt[]="nixxxxiiiix"; +char const CurrencyTypesfmt[]="nixxxiiiiix"; char const DestructibleModelDatafmt[]="ixxixxxixxxixxxixxxxxxxx"; char const DungeonEncounterfmt[]="iiixisxx"; @@ -57,11 +57,11 @@ char const DurabilityCostsfmt[]="niiiiiiiiiiiiiiiiiiiiiiiiiiiii"; char const DurabilityQualityfmt[]="nf"; char const EmotesEntryfmt[]="nxxiiixx"; char const EmotesTextEntryfmt[]="nxixxxxxxxxxxxxxxxx"; -char const FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixsxx"; +char const FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixsxi"; char const FactionTemplateEntryfmt[]="niiiiiiiiiiiii"; char const GameObjectDisplayInfofmt[]="nsxxxxxxxxxxffffffxxx"; -char const GemPropertiesEntryfmt[]="nixxix"; +char const GemPropertiesEntryfmt[]="nixxii"; char const GlyphPropertiesfmt[]="niii"; char const GlyphSlotfmt[]="nii"; @@ -99,7 +99,7 @@ char const ItemLimitCategoryEntryfmt[]="nxii"; char const ItemRandomPropertiesfmt[]="nxiiixxs"; char const ItemRandomSuffixfmt[]="nsxiiiiiiiiii"; char const ItemSetEntryfmt[]="dsiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii"; -char const LFGDungeonEntryfmt[]="nsiiiiiiiiixxixixxxxx"; +char const LFGDungeonEntryfmt[]="nsiiiiiiiiixxixixixxx"; char const LiquidTypefmt[]="nxxixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; char const LockEntryfmt[]="niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx"; char const PhaseEntryfmt[]="nsi"; @@ -120,7 +120,7 @@ char const RandomPropertiesPointsfmt[]="niiiiiiiiiiiiiii"; char const ScalingStatDistributionfmt[]="niiiiiiiiiiiiiiiiiiiixi"; char const ScalingStatValuesfmt[]="iniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; char const SkillLinefmt[]="nisxixi"; -char const SkillLineAbilityfmt[]="niiiixxiiiiixx"; +char const SkillLineAbilityfmt[]="niiiixxiiiiiii"; char const SoundEntriesfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; char const SpellCastTimefmt[]="nixx"; char const SpellCategoriesEntryfmt[]="diiiiii"; @@ -129,7 +129,7 @@ const std::string CustomSpellDifficultyfmt="ppppp"; const std::string CustomSpellDifficultyIndex="id"; char const SpellDurationfmt[]="niii"; char const SpellEffectEntryfmt[]="nifiiiffiiiiiifiifiiiiiiiix"; -char const SpellEntryfmt[]="niiiiiiiiiiiiiiifiiiissxxiixxixiiiiiiixiiiiiiiix"; +char const SpellEntryfmt[]="niiiiiiiiiiiiiiifiiiissxxiixxifiiiiiiixiiiiiiiix"; const std::string CustomSpellEntryfmt="papppppppppppapapaaaaaaaaaaapaaapapppppppaaaaapaapaaaaaaaaaaaaaaaaaappppppppppppppppppppppppppppppppppppaaaaaapppppppppaaapppppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappppppppapppaaaaappaaaaaaa"; const std::string CustomSpellEntryIndex = "Id"; char const SpellFocusObjectfmt[]="nx"; @@ -141,7 +141,7 @@ char const SpellReagentsEntryfmt[]="diiiiiiiiiiiiiiii"; char const SpellScalingEntryfmt[]="diiiiffffffffffi"; char const SpellTotemsEntryfmt[]="niiii"; char const SpellTargetRestrictionsEntryfmt[]="nxiiii"; -char const SpellPowerEntryfmt[]="diiiixxx"; +char const SpellPowerEntryfmt[]="diiiiixf"; char const SpellInterruptsEntryfmt[]="dixixi"; char const SpellEquippedItemsEntryfmt[]="diii"; char const SpellAuraOptionsEntryfmt[]="niiii"; @@ -158,10 +158,9 @@ char const SummonPropertiesfmt[] = "niiiii"; char const TalentEntryfmt[]="niiiiiiiiixxixxxxxx"; char const TalentTabEntryfmt[]="nxxiiixxxxx"; char const TalentTreePrimarySpellsfmt[]="diix"; -char const TaxiNodesEntryfmt[]="nifffsiixxx"; +char const TaxiNodesEntryfmt[]="nifffsiiixx"; char const TaxiPathEntryfmt[]="niii"; char const TaxiPathNodeEntryfmt[]="diiifffiiii"; -char const TeamContributionPointsfmt[]="df"; char const TotemCategoryEntryfmt[]="nxii"; char const VehicleEntryfmt[]="niffffiiiiiiiifffffffffffffffssssfifiixx"; char const VehicleSeatEntryfmt[]="niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxxxxxxxxxx"; diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index b30632f9e7a..3d2e84c57e8 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -456,6 +456,7 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData) static char const* move_type_name[MAX_MOVE_TYPE] = { "Walk", "Run", "RunBack", "Swim", "SwimBack", "TurnRate", "Flight", "FlightBack", "PitchRate" }; + /* switch (opcode) { //case CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK: move_type = MOVE_WALK; force_move_type = MOVE_WALK; break; @@ -471,6 +472,9 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData) sLog->outError(LOG_FILTER_NETWORKIO, "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode); return; } + */ + sLog->outError(LOG_FILTER_NETWORKIO, "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode); + return; // skip all forced speed changes except last and unexpected // in run/mounted case used one ACK and it must be skipped.m_forced_speed_changes[MOVE_RUN} store both. |