Commit Graph

16912 Commits

Author SHA1 Message Date
Ovahlord
f722d70d29 Core/Guilds: initialize bit array properly when sending recipes of a member 2019-09-04 23:16:53 +02:00
Ovahlord
ca9b424e11 Core/Guilds: implement CMSG_GUILD_QUERY_MEMBER_RECIPES and SMSG_GUILD_MEMBER_RECIPES 2019-09-04 23:12:49 +02:00
Ovahlord
ca51f7f9ad Core/Packets: allow CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE a few more requests per second 2019-09-04 22:29:43 +02:00
Ovahlord
f5c7a623f6 Core/Packets: added new handled cmsg opcodes to ddos protection data 2019-09-04 22:04:45 +02:00
Ovahlord
739067c0fa Core/Guilds: always send member with recipes packet even if there is no member with the recipe 2019-09-04 21:54:50 +02:00
Ovahlord
9668494ae0 Core/Guilds: implement CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE and SMSG_GUILD_MEMBERS_WITH_RECIPE 2019-09-04 21:50:00 +02:00
Ovahlord
193da31e51 Core/Packets: renamed guild recipe packet field names to match client values 2019-09-04 20:23:48 +02:00
Ovahlord
77b5a7a796 Core/Guilds: fixed displaying profession spells that are being learned uppon learning the skill 2019-09-04 20:13:57 +02:00
Ovahlord
547b708cdd Corer/Guilds: index unique bits properly for each profession to fix an issue that was causing low bit recipes not being displayed properly 2019-09-04 15:13:27 +02:00
Ovahlord
46eaff5a74 Core/Guilds: implement SMSG_GUILD_KNOWN_RECIPES and CMSG_GUILD_QUERY_RECIPES
* updated CMSG_GUILD_GET_ROSTER and SMSG_GUILD_ROSTER_UPDATE to packet class
* optimized caching process and updating for guild member profession data
2019-09-04 03:52:48 +02:00
Ovahlord
600486f0b2 Core/Guilds: fixed updating profession skill values in guild roster when gaining skill points 2019-09-03 16:50:43 +02:00
Ovahlord
6d759dc6e8 Core/Guilds: implement guild profession fields for guild roster packets 2019-09-03 16:31:59 +02:00
Ovahlord
d17d8e9277 Core/Packets: updated SMSG_GUILD_ROSTER to packet class 2019-09-03 05:17:12 +02:00
Ovahlord
91e76df7f4 Core/Packets: use item instance members for random enchantments on items in GuildBankItemInfo 2019-09-03 01:23:11 +02:00
Ovahlord
be559af3eb Core/Packets: corrected bit flushing position and corrected data types 2019-09-03 00:11:26 +02:00
Ovahlord
144b0ca9a4 Core/Packets: updated SMSG_GUILD_EVENT, SMSG_GUILD_MEMBER_DAILY_RESET, SMSG_GUILD_REPUTATION_WEEKLY_CAP and SMSG_GUILD_XP to packet class 2019-09-02 20:54:03 +02:00
Ovahlord
c858107f5e Core/Packets:
* updated remaining guild bank client opcodes to packet class
* corrected gem socket data naming for guild bank query packet
* renamed several opcodes to match master branch namings
2019-09-02 19:46:49 +02:00
Ovahlord
773d8bf647 Core/Packets: fixed spacing in guild packets 2019-09-02 16:49:46 +02:00
Ovahlord
b1291713bf Core/Spells: fixed display hit chance changes of SPELL_AURA_MOD_HIT_CHANCE in the character panel 2019-09-02 15:25:04 +02:00
Ovahlord
4eba6027d3 Core/Spells: fixed displayed spell hit bonus aura effects in character panel 2019-09-02 15:06:56 +02:00
Ovahlord
cd25d7c884 Scripts/HoO:
* updated Temple Guardian Anhuur's script to new model
* fixed achievement 'I hate that Song'
* corrected Beacon of Light handling to blizzlike standards
* Cave In Stalker will now get despawned alongside Beacons of Light
* scripted trash packs prior to Temple Guardian Anhuur
Todo:
* add encounter related creatures to instance spawn groups
2019-09-02 03:50:58 +02:00
Ovahlord
1f78a55f20 Core/Creature: ported assert crashfix that fixes a focus related crash that was happening when dismissing a warlock pet while it was casting a spell 2019-09-02 00:36:34 +02:00
Ovahlord
d78d787292 Core/Packets:
* renamed CMSG_GUILD_BANKER_ACTIVATE to CMSG_GUILD_BANK_ACTIVATE and updated handler to packet class
* renamed SMSG_GUILD_BANK_LIST to SMSG_GUILD_BANK_QUERY_RESULTS and updated packets to packet class
* Updated CMSG_GUILD_BANK_QUERY_TAB, CMSG_GUILD_BANK_BUY_TAB and CMSG_GUILD_BANK_UPDATE_TAB handlers to packet class
* fixed displaying sockets, reforged stats and enchantments for items in the guild bank
2019-09-02 00:15:25 +02:00
Ovahlord
4737bcb866 Core/LFG: validate player roles on lfg join to avoid cheating players to join with roles that they should not be able to join 2019-08-30 13:35:17 +02:00
Ovahlord
cb79782662 Core/Spells: defined and implement TARGET_UNK_112 as TARGET_DEST_TARGET_ANY_2 2019-08-30 13:32:39 +02:00
Ovahlord
2605c93a85 Core/Spells: reverted a change that was causing Death Knight abilities with no Rune Cost to generate Runic Power 2019-08-30 13:14:48 +02:00
Ovahlord
c3518933ba Core/Spells: Chill of the Grave will now grant Runic Power in all cases and will now again grant Runic Power for each target hit by Howling Blast 2019-08-30 13:09:08 +02:00
Ovahlord
5657e61b24 Core/Packets: restore packet compression that got lost during the packet class porting 2019-08-29 17:15:18 +02:00
Ovahlord
706a9fea1a Core/OutdoorPvP: updated and enabled SMSG_DEFENSE_MESSAGE 2019-08-29 03:30:21 +02:00
Ovahlord
c577991095 Core/Misc: fixed packet structures of CMSG_MESSAGECHAT_ADDON_PARTY, CMSG_MESSAGECHAT_ADDON_OFFICER and CMSG_AUCTION_LIST_ITEMS 2019-08-28 13:02:07 +02:00
Ovahlord
111e8e3ac4 Core/Spells: correct spell class mask for Enhanced Elements mastery 2019-08-26 22:31:21 +02:00
Ovahlord
94e21bab21 Core/Spells: reworked handling for Death Knight's improved presence talents.
*todo: validate if improved presences are suposed to activate after learning or on next presence switching
2019-08-25 13:33:53 +02:00
Ovahlord
e63f663f3b Core/Spells: fixed a crash in Stampede aurascript and added missing proc data to it. 2019-08-25 00:26:08 +02:00
Ovahlord
bd43c1d4d1 Core/Spells: fixed a logic mistake in calculating spell bonus values with multiple stacks which was causing the stack bonus getting applied twice
* corrected a damage bonus calculation for Mirror Image
2019-08-23 23:32:41 +02:00
Ovahlord
1cb0430ffc Core/Groups: followup change for player group updates when changing zones 2019-08-22 21:06:01 +02:00
Ovahlord
3e4568d68a Core/Groups: defined some unknown group update flags seen in sniff packets and send pet group update packets only if the player actually has a pet
* corrected some data types for group update packets to reflect wpp fields
2019-08-22 20:24:55 +02:00
Ovahlord
c6f6861dbf Core/Loot: fixed loot roll packet structures 2019-08-22 19:06:03 +02:00
Ovahlord
fc1956dc4d Core/Spells: ported some melee bonus damage calculation refactors from 335 branch
* fixed rune regeneration affecting aura effects properly
2019-08-22 01:34:00 +02:00
Ovahlord
ff187ae8be Core/Player: fixed a possible underflow when sending the remaining refund time 2019-08-20 01:26:22 +02:00
Ovahlord
5251c6abb9 Core/Items: use ITEM_FIELD_CREATE_PLAYED_TIME properly to determine an item's age and send the correct value in order to fix the refund info texts 2019-08-20 00:57:20 +02:00
Ovahlord
1ee046721b Core/Spells: fixed several conditional procs of 4.0.3a content trinkets 2019-08-19 20:57:54 +02:00
Ovahlord
1b0e6ca130 Core/Spells: fixed a potential crash in Will of the Necropolis aurascript 2019-08-18 21:13:37 +02:00
Treeston
c597a1bcb7 Entities/Creature: Fix a bug that caused map respawn timers to be scheduled for compatibility mode creatures. 2019-08-18 13:11:37 +02:00
Ovahlord
d7e79d1892 Core/Movement: fixed build 2019-08-18 12:53:29 +02:00
Treeston
90540d684b Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime

----------

Core/DB: Unify `creature_respawn` and `gameobject_respawn` into a single `respawn` table
2019-08-18 12:47:10 +02:00
Treeston
f9184f026b Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
- .npc respawn no longer causes stupid things to happen (Fixes #23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
2019-08-18 12:12:09 +02:00
jackpoz
8a1828aa43 Core/Misc: Fix linux build 2019-08-18 11:53:01 +02:00
jackpoz
b407e6da1c Core/MMaps: Fix mobs evading when target is out of MMap meshes
Fix mobs evading when target is out of MMap meshes causes by an overzealous check added in c602220e02 when trying to fix an infinite loop in Recast.
If the target is outside of the MMap mesh (for example very close to a wall which is an un-walkable area with current TrinityCore settings and that might be changed in the future) Detour will not be able to find the height of the poly and getPolyHeight() will return DT_FAILURE | DT_INVALID_PARAM . Most of the time this is ok and can be ignored and it's still better than having the Unit evade.
Fix #23613
2019-08-18 11:52:54 +02:00
Shauren
0b8ab68eb3 Core/Map: Kill zoneId from RespawnInfo, all it did was significantly slow down startup to make one gm command faster 2019-08-18 11:51:09 +02:00
Ovahlord
16b459b7cd Revert "Core/Maps: Loading respawn times will now used database cached zoneId data to avoid loading unnneeded grids during startup"
This reverts commit bdc0f1433f.
2019-08-18 11:30:59 +02:00