Commit Graph
32339 Commits
Author SHA1 Message Date
xinef1 ca26c33145 Implemented binary resistances and some more (#18933)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects

(cherrypicked from 93746e8c4a79c8256cd4896533315683f143508c)
2019-07-21 21:06:54 +02:00
xinef1 ad008c43b7 Core/Misc: Fix various crashes, also related to multithreading (#19012)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove
* remove some possible references item may have when it is deleted during save.
* Also clear all hostile references when unit is removed from map.

(cherrypicked from 86da1a19bb36edf3242dafac6e45e87434ddff73)
2019-07-21 21:06:54 +02:00
xinef1 92e95ddf55 Core/Spells: Fixed spell effect 93 (SPELL_EFFECT_FORCE_DESELECT) (#19001)
(cherrypicked from 9e1b286984c63b801561a67dd4eae7910ec1af10)
2019-07-21 21:06:54 +02:00
Rushor c050c4f968 DB/Creature: Garm Watcher and Snowblind Devotee
Closes #18991

(cherrypicked from 4187c9f1846fa90f45fd05d1741117862bbe7bea)
2019-07-21 21:06:54 +02:00
Rushor e78d3c8500 DB/Creature: Ancient Sentinel
Closes #18990

(cherrypicked from 6da12318021a6a3a76fa44279bb0af876f7a4773)
2019-07-21 21:06:54 +02:00
Rushor 5d2b1f0efc DB/Creature: Stormforged Loreseeker and Stormforged
Closes #18989

(cherrypicked from 2ab0a8a83579563392072ebfd37a5e17a26a2075)
2019-07-21 21:06:54 +02:00
Rushor 327fc4c143 DB/Creature: Library Guardian and Databank
Closes #18984

(cherrypicked from 3b9d59ffe167f286435ccc4243c4555192bf6dd5)
2019-07-21 21:06:54 +02:00
Rushor fc9201dc53 DB/Creature: Valkyrion Aspirant
Closes #18983

(cherrypicked from f8604061bf33a03beaae509d5c02a818f07dd7ce)
2019-07-21 21:06:54 +02:00
Rushor 8c46688640 DB/Creature: Frostborn Scout and Frostfeather Witch/Frostfeather Screecher
Closes #18982

(cherrypicked from 91e0efc6639ae29ecf760ec5a06da3c20e9353fb)
2019-07-21 21:06:54 +02:00
Rushor 5a0709e442 DB/Creature: Stormrider and Snowdrift Jormungar
Closes #18979

(cherrypicked from 743dc973e88b9124603606f0acb6847e3688bc64)
2019-07-21 21:06:54 +02:00
Rushor 57b1bfe55a DB/Loot: Fix prospecting from titanium and saronite
Closes #12011

(cherrypicked from 03f87e400d60bf3c71dea9300e1b3ff5afd4043f)
2019-07-21 21:06:54 +02:00
Killyana 411b0c32a0 DB/Creature: Greatfather Aldrimus
Closes #7605

(cherrypicked from 9edad9fc1b1a94cc8428194b59e0b960d56f86cc)
2019-07-21 21:06:54 +02:00
ariel- 26fe949619 Core/Server: fix duplicated inserts into tutorials table for newly created characters
(cherrypicked from 60dd803bbe01283b15e2b2c5b02d8f857b96745a)
2019-07-21 21:06:54 +02:00
xinef1 192f088248 Core/Achievements: Mountain o' Mounts and similar achievement will be properly awarded when you have required amount of mounts, not earlier (#19002)
(cherrypicked from 8646e72f18172062e98b449478d3f8e1d554d4b9)
2019-07-21 21:06:54 +02:00
Aokromes d6a6162d6e Rename 9999_99_99_99_world.sql to 2017_01_29_00_world.sql
(cherrypicked from 356f7d59293860bf197b4e040cfaad83a9ff8240)
2019-07-21 21:06:54 +02:00
Gerhood 7e83cce81f Core/Spells: implement Mad/Crazy Alchemist's potions
(cherrypicked frombab59b28faad262dc5d9873ca7c0856477ec4d66)
2019-07-21 21:06:54 +02:00
ariel- 894c667d32 Core/World: readd lines lost in rebase
(cherrypicked from d3d6c55650b83611d3a2a8c7f7b43675ffb3cdf0)
2019-07-21 21:06:54 +02:00
ariel- 7f490819f5 Misc: fixed some headers.
Updated year, bye bye 2016!

(cherrypicked from 6245b0703e92cb096a9a9c4f2411a43011100043)
2019-07-21 21:06:54 +02:00
xinef1 07d02d744f Remade who list processing (#18636)
* Remade who list processing, requests are now processed in maps. Player entries are now copied every 5 seconds to dedicated storage (avoids usage of hashmapholder mutex)

(cherrypicked from 88f746935ff6a9055c5712997254aff63b406352)
2019-07-21 21:06:54 +02:00
ariel- b742c87222 Core: add some missing Player Name normalization on input data
(cherrypicked from 6f9e8b6c9174249025562faf9ad4c56bbb642547)
2019-07-21 21:06:54 +02:00
xinef1 b485f3e673 Few small optimizations here and there (#18684)
Changes list:
- Added CharacterGuidByNameContainer which contains name -> guid unordered map (updated along CharacterInfo)
- Extended CharacterInfo structure with GuildId
- Extended CharacterInfo structure with ArenaTeamId[3], for all possible teams (2v2, 3v3, 5v5)
- Removed CHAR_SEL_GUID_BY_NAME and CHAR_SEL_CHAR_GUID_BY_NAME synchronous queries, name -> guid can be now retrieved in World::GetCharacterGuidByName
- Removed CHAR_SEL_GUID_RACE_ACC_BY_NAME synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_CHAR_LEVEL synchronous query, level can be retrieved by guid
- Changed CHAR_SEL_CHARACTER_ACTIONS_SPEC to asynchronous query, action bars are now loaded asynchronously
- Removed CHAR_SEL_CHARACTER_NAME_CLASS synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_PLAYER_ARENA_TEAMS and CHAR_SEL_ARENA_TEAM_ID_BY_PLAYER_GUID synchronous queries, arena teams are now stored in CharacterInfo
- Replaced synchronous db calls with CharacterInfo lookups
- Removed ObjectMgr::GetPlayerGUIDByName, as it used db query
- Replaced some unnecessary UpdateObjectVisibility() calls because they were either duplicated (called few lines above in other function) or it is enough to call DestroyForNearbyPlayers because object is being removed or should be invisible and DestroyForNearbyPlayers is faster
- Corrected typo in Player::DestroyForPlayer, only items in slots 0 to EQUIPMENT_SLOT_END are sent to other players
- Renamed Player::GetGuildIdFromDB to Player::GetGuildIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetArenaTeamIdFromDB to Player::GetArenaTeamIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetLevelFromDB to Player::GetLevelFromCharacterInfo and changed the function to use CharacterInfo structure
- Removed GameEventMgr::_questToEventLinks and associated functions, eventId is now stored in Quest class under _eventIdForQuest variable
- Changed some functions checking quest status to use other functions for quest status check instead of duplicating code
- Removed callback from add friend, because we can get the guid from appropriate storage, no need to make db query
- Removed callback from add ignore, because we can get the guid from appropriate storage, no need to make db query
- Added callback to unwrap wrapped items asynchronously
- Removed synchronous select in tutorials to check if we have any entries in db, if any entry exists in db, m_TutorialsChanged variable will have TUTORIALS_FLAG_LOADED_FROM_DB flag added and it is no longer necessary to query database

(cherrypicked from b955456008191e60b6bda1f22e3486a3792b08db)
2019-07-21 21:06:54 +02:00
Rushor e6885d50c6 DB/Creature: Stormforged Taskmaster
Closes #18976

(cherrypicked from 6de46d30c9a6f2589543107bd33a5db5c416f1e0)
2019-07-21 21:06:54 +02:00
Rushor 4aa4aed780 DB/Creature: Iron Sentinel <Servant of Loken>
Closes #18974

(cherrypicked from d5ab68250c8e883a622f437579f428c9d29ef45c)
2019-07-21 21:06:54 +02:00
Rushor 5ee6fd6131 DB/Creature: Wild Elekks
Closes #18970

(cherrypicked from 5d626c8e550216683a8883d671b2c25ed50c1d61)
2019-07-21 21:06:54 +02:00
Rushor 5b74a25947 DB/Creature: Romping Rhino
Closes #18967

(cherrypicked from bb46b09fe8280ee5d764cf8999e7381c94dc7cb3)
2019-07-21 21:06:54 +02:00
Rushor 3f5e9ba575 DB/Creature: Stormforged Iron Giant
Closes #18965

(cherrypicked from 535b727b943b2ea104244ddfaef4c80e94742482)
2019-07-21 21:06:54 +02:00
Rushor 8b23a6a3a4 DB/Quest: The Last of Her Kind
Closes #18962

(cherrypicked from cca6bfee7b1649bd53b06d25f5658602df789ba1)
2019-07-21 21:06:54 +02:00
Rushor 5d5a296b54 DB/Creature: Son of Hodir
Closes #18961

(cherrypicked from 35675ceef112f833dc4207cad933de59a56002b4)
2019-07-21 21:06:54 +02:00
Rushor 7bbedad532 DB/Creature: Plains Mammoth
Closes #18960

(cherrypicked from cb466b7543e689151b67d41c795b321c7dbdcaf3)
2019-07-21 21:06:54 +02:00
Rushor e170e809ed DB/Creature: Brittle Revenant
Closes #18959

(cherrypicked from 6485a4afd88fd2097d8f930802e75270fc855d0d)
2019-07-21 21:06:54 +02:00
Rushor 3886c2b43b DB/Creature: Stormpeak Wyrm and Stormpeak Hatchling
Closes #18958

(cherrypicked from 57beed2f70656f8e0d8b602a56bf6077b5f34fdc)
2019-07-21 21:06:54 +02:00
Rushor 4ff4469f2b DB/Creature: Ice Steppe Bull, Ice Steppe Rhino
Closes #18953

(cherrypicked from fd1e484baa0a469cf7f26326f0fe4f55d496d561)
2019-07-21 21:06:54 +02:00
Rushor 4fc8797199 DB/Creature: Stormforged Tracker
Closes #18949

(cherrypicked from 3c4c3a26bdbf09d7c1642db4b48171e3217cc9f0)
2019-07-21 21:06:54 +02:00
Rushor 7ce7938cc0 DB/Creature: Hyldnir Overseer and Overseer Syra
Closes #18947

(cherrypicked from 3ad455f87abf8be3863028592aebe90f80284f16)
2019-07-21 21:06:54 +02:00
ariel- f95caecca1 DB/Spell: added conditions for Argent Squire/Gruntling Pennant spells
- Should only target the pet, according to sniffs

(cherrypicked from 77b59c07adf1bbbe3b0b90ce95c31889dca02555)
2019-07-21 21:06:54 +02:00
Rushor e2e7961a6f DB/Creature: Heldgarr Steelbeard
Closes #18937

(cherrypicked from f43a940b544906ddbede269e99be68bf0ec05f43)
2019-07-21 21:06:54 +02:00
Rushor 9f2c844a23 DB/Creature: Civilian Recruit
Closes #18936

(cherrypicked from 533749bfa271bdb681b3cbb2c6706ef6f7bf7da2)
2019-07-21 21:06:54 +02:00
Rushor cf8f31f739 DB/Creature: Sifreldar Runekeeper and Storm Maiden
Closes #18931

(cherrypicked from d3a860547075c0fcacbdbfbdfdc1b54281698652)
2019-07-21 21:06:54 +02:00
Rushor 222d4349e0 DB/Creature: Thrallmar Grunt
Closes #18930

(cherrypicked from e6e73543965da3ed53a5cbdba5deceb661b7ccc0)
2019-07-21 21:06:54 +02:00
Rushor 50a651b17b DB/Creature: Icetip Crawler
Closes #18929

(cherrypicked from 31d77d277367aec8e8ec7ef869b67fb1e1474997)
2019-07-21 21:06:54 +02:00
Rushor 5a999c994a DB/Creature: Jimmy the Stable Boy
Closes #18928

(cherrypicked from e2400c6d78605c721ddbeebf51c74a754c04a04d)
2019-07-21 21:06:54 +02:00
Rushor 46c78134b1 DB/Creature: Snowblind Devotee
Closes #18920

(cherrypicked from d1d2fbd3e3ce2028bd2f7be1d9403d7afe47d458)
2019-07-21 21:06:54 +02:00
Rushor 3b1b7a49de DB/Creature: Ironwool Mammoth, Part 2
Closes #18896

(cherrypicked from ffbaab818754b1e785f1632b40b2e93fa0edfb8b)
2019-07-21 21:06:54 +02:00
Rushor cb3631c41d DB/Creature: Ironwool Mammoth, Part 1
Closes #18895

(cherrypicked from 41530b5ac9a3e56f005d04fbc6d94d90c5e2afe8)
2019-07-21 21:06:54 +02:00
Rushor 12b230d52a DB/Creature: Initiate Park
Closes #18866

(cherrypicked from e55f674abc01da07b9b4d6e02864a4969e1d24f7)
2019-07-21 21:06:54 +02:00
ariel- 17703e8924 Core/Spell: remove duplicated SPELL_AURA_MOD_DEBUFF_RESISTANCE handling.
Each spell had two rolls in which it could be resisted, effectively adding to the resist chance.

Closes #7406

(cherrypicked from 23f76b563f3002e1557eb5dd75e0d26bd22357ab)
2019-07-21 21:06:54 +02:00
Rushor a09f572d24 DB/Creature: Moarg Peon - Increase spawndistance and update to Randommovement
Closes #18818

(cherrypicked from 91201f11f805a7bd21291717af8008c6b5e855fe)
2019-07-21 21:06:54 +02:00
Killyana 09311a2f44 DB/Creature: Add missing spawn to Gimorak's Den
(cherrypicked from fa4347e788551e90f68b5fa0925af67ba1f86f44)
2019-07-21 21:06:54 +02:00
Rushor c753b229ae DB/Creature: Padaar
Closes #18804

(cherrypicked from 7d4ca0b6c4b99f9987228b5e548a2f80f208d2fb)
2019-07-21 21:06:54 +02:00
Rushor 6a0658abb0 DB/Creature: Dekin
Closes #18803

(cherrypicked from d16547352b1a8f5cd421271d7f928b5c62f6ad98)
2019-07-21 21:06:54 +02:00