58 Commits
Author SHA1 Message Date
xinef1 1912999b9e Core/Spells: Defined and implemented some new spell attributes (#18950)
(cherry picked from commit 23823f5147e808928e1d8cd31b6cdf31753ef14d)
2021-05-16 21:56:07 +02:00
xinef1 2ea8f5e6fc Move some packets processing to map context (#18638)
Core/Network: Allow some packets to be processied in map context

(cherry picked from commit 2286da2166dda037f36a6cccfbafb7d5a6672369)
2021-04-15 20:05:39 +02:00
xinef1 9e954295c5 Core/Quests: Display quest objective explore completion message
- Game client should show an on-screen message for explored quest objectives
  (AreaExploredOrEventHappens) when the objective has been completed.

Closes #19543

(cherry picked from commit 538f60a880c4ace6a08bbc74fc175e878060adfe)
2020-06-14 20:14:41 +02:00
xinef1 48a40fae0a Core/Misc: implemented petition manager (#19010)
- Implemented manager for petitions to perform all petition related tasks and synchronize data with database.
- This kills ugly synchronous querys on packet handlers

(cherry picked from commit a4aa95a5a39d75b9e38fe03aac57ceb7d9bba90f)
2020-05-01 19:32:11 +02:00
xinef1 9842ca3f4a Core/Spells: Corrected aura SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK handling for auras with very high values (#19054)
(cherry picked from commit e30e11d4c74872c6de87df831696aa643321f6d9)
2020-04-28 14:49:14 +02:00
xinef1 16cf95654f Various quest system fixes (seasonal quests, timed quests and more) (#18940)
- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone

Closes #18913
Closes #11187
Closes #15279

(cherry picked from commit cbbb74524623ea22fc5375697d6ec2ec16a1755f)
2020-04-28 12:56:03 +02:00
xinef1 090fd8304a Core/Loot: implement Loot Item Storage (#19018)
* Created Item Loot Storage, no more synchronous DB selects
* Fixed buyback case, where stored loot was not removed from db
* Added Primary key, and changed field types to be unsigned for table item_loot_money

(cherry picked from commit 9dc3de10f0044c35a95e9b72e7b874f4b5b8e867)
2020-04-27 12:25:52 +02:00
xinef1 e36497aef5 Core/Misc: Always reward all necessary reputations on creature kill (#19106)
(cherry picked from commit fb2aebe46be7439a8f9b99067edb27fd844c1a28)
2020-04-27 12:25:52 +02:00
xinef1 8df577ebfe Corrected points per level calculation for some spells (#19105)
(cherry picked from commit 9142c778dd861eda188ba868433af05038c4e13c)
2020-04-27 12:25:52 +02:00
xinef1 70d5775d3f Added new creature extra flag which makes npc visible only to dead units
closes #19333

* Rename 9999_99_99_99_world.sql to 2017_99_99_99_world_335.sql

- file affects creature removed in patch 4.0.3a

* Update Creature.cpp

(cherry picked from commit e72b380b9374c92e5688002bf3a15065419a2ea0)
2020-04-24 17:18:50 +02:00
xinef1 ca4720662d Core/Items: Fixed durability problems for wrapped item (#19003)
(cherry picked from commit 81d011170d48e7d4cce7892897d24528254615af)
2020-04-24 17:18:49 +02:00
xinef1 a0a6b155e2 Core/Spells: Fixed some enchantments checks and fixed serious logic flaw in create item effect check (#19123)
(cherrypicked from 8c80e2b6b723669db7eafa3421e7d53481c5e64d)
2019-08-17 20:04:14 +02:00
xinef1 b6a6a43a09 Corrected doors and buttons without autoclose time after recent changes (#19249)
(cherrypicked from 071ba2c924ce4b27c9e16b38277ac729500f7445)
2019-08-17 20:04:14 +02:00
xinef1 73ee82e92c Make ObjectMgrs _mailId and _hiPetNumber atomic (#19129)
- They can be accessed from multiple threads simultaneously

(cherrypicked from 3fe03392d792b4f7ddcc2326f215d9f459bef991)
2019-08-17 20:04:14 +02:00
xinef1 60663d1374 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world

(cherrypicked from 7567cafec84080d26ea513242a1f540a823b8f9d)
2019-08-17 20:04:14 +02:00
xinef1 98180ecdc1 Core/GameObject: regenerate GO loot if respawn time passed since last loot generation time and not all items were taken (#19101)
(cherrypicked from 7011aabb56f061fc889ec42ce32b7605ceb35b53)
2019-08-17 20:04:14 +02:00
xinef1 6cd254d83b Corrected calculation for SPELL_AURA_PERIODIC_DAMAGE_PERCENT (#19060)
(cherrypicked from ce1108b8a28c1f69840bc161a06f08ee0a147753)
2019-08-17 20:04:14 +02:00
xinef1 825719c25c Remove auras interrupted by falling when we fall to the ground or water (#19115)
(cherrypicked from 9b284ab329b55b0c41f47d171573780205a3a81a)
2019-08-17 20:04:14 +02:00
xinef1 4380fe2751 Properly stop attacking after player leaves ffa area (like Gurubashi Arena) (#18952)
(cherrypicked from 4eae29d421e1d7a28aaa50d401cbbf09c50bd476)
2019-08-17 20:04:14 +02:00
xinef1 a32d5cfa17 Core/SmartAI: Various fixes and extensions for smart scripts: (#18673)
- Possible crashes fixed
- Memory leak fixed
- Implemented checking of vehicle conditions
- Extended eventphasemask to 12 bits (sql required to change DB field type)
- SMART_EVENT_GOSSIP_HELLO - added possibility to detect for gameobject reportUse call
- Renamed action SMART_ACTION_SET_FLY to SMART_ACTION_SET_DISABLE_GRAVITY (to reflect actual functionality)
- Added targetsLimit to action SMART_ACTION_CAST and SMART_ACTION_INVOKER_CAST to limit max amount of targets (selected randomly)
- Action SMART_ACTION_TALK corrected to always work as intended
- Properly call GroupEventHappens in action SMART_ACTION_CALL_GROUPEVENTHAPPENS if invoker was charmed or owned by the player
- Properly utilize followAngle in action SMART_ACTION_FOLLOW (db orientation should be in degrees), but keep backward compatibility
- Added action SMART_ACTION_SET_CAN_FLY (119) 0/1
- Added action SMART_ACTION_REMOVE_AURAS_BY_TYPE (120) AuraType, can be used to exit vehicle for example
- Added action SMART_ACTION_SET_SIGHT_DIST (121) sightDist
- Added action SMART_ACTION_FLEE (122) fleeTime
- Added action SMART_ACTION_ADD_THREAT (123) +threat, -threat
- Added action SMART_ACTION_LOAD_EQUIPMENT (124) equipmentId
- Added action SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT (125) minId, maxId
- Added action SMART_ACTION_REMOVE_ALL_GAMEOBJECTS (126), removes all owned gameobjects
- Added action SMART_ACTION_STOP_MOTION (127), stopMoving, movementExpired
- Extended target SMART_TARGET_HOSTILE_SECOND_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_LAST_AGGRO with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_HOSTILE_RANDOM_NOT_TOP with following parameters maxdist, playerOnly, powerType + 1
- Extended target SMART_TARGET_THREAT_LIST with maxdist
- Extended target SMART_TARGET_OWNER_OR_SUMMONER to be able to get charmer/owner of current owner
- Added new target SMART_TARGET_FARTHEST with maxDist, playerOnly, isInLos restrictions
- Added SpellHit hook to GameObjectAI and extended SmartGameObjectAI to call SMART_EVENT_SPELLHIT when gameobject is hit by spell
- Call GameObjectAI Reset hook on gameobject respawn (for ex. to reset one time events in smart scripts)
- Fixed some logic errors in code
- SmartAI Escorts properly despawn escortee if no players are in range
- Disable Evading while charming creature with SmartAI
- Don't call SMART_EVENT_RESPAWN for dead units before they actually respawn
- Don't call SMART_EVENT_RESPAWN for not spawned gameobjects
- Properly call SMART_EVENT_RESPAWN for gameobject respawn
- Allow action SMART_ACTION_SET_IN_COMBAT_WITH_ZONE to utilize targetlist
- Allow action SMART_ACTION_CALL_FOR_HELP to utilize targetList
- Allow action SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL to utilize targetList
- Allow action SMART_ACTION_SET_VISIBILITY to utilize targetList
- Allow action SMART_ACTION_SET_ACTIVE to utilize targetList
- Allow action SMART_ACTION_ATTACK_START to select random attack target instead of first on the list
- Allow gameobjects to summon gameobjects with action SMART_ACTION_SUMMON_GO
- Properly store action invokers for action SMART_ACTION_WP_START, if no player invokers are found, distance despawn check won't be used
- Allow action SMART_ACTION_WP_RESUME to compensate for the state the unit actually is in (eg. combat)
- Allow action SMART_ACTION_MOVE_TO_POS to select random of the avaiable targets, not only the first one.
- Allow action SMART_ACTION_MOVE_TO_POS to utilize x, y, z parameters as an offset to calculated coordinates
- Action SMART_ACTION_RESPAWN_TARGET should never modify respawntime of already spawned gameobjects, use dedicated function
- Properly delete ontime events created by SMART_ACTION_CREATE_TIMED_EVENT
- If action could not be started because conditions were not satisfied, do not recalculate the waittime to action repeattime, use smaller value to recheck more frequently
- Allow target SMART_TARGET_CLOSEST_PLAYER to be used by gameobjects
- Allow target SMART_TARGET_OWNER_OR_SUMMONER to be used by gameobjects
- Fixed SMART_EVENT_COUNTER_SET to be only called for the id that was incremented
- Changed the way counters work
- Protect PhaseInc from surpassing maximum phase
- Added loading checks for missing NON_REPEATABLE flag if no repeatmin, repeatmax is set
- Added spell validation for SMART_ACTION_CROSS_CAST

(cherrypicked from b0ae5fadd19fd172ec5154cde4f4fd14aa20ff88)
2019-08-17 20:04:14 +02:00
xinef1 fb5c07ffe8 Fixed setting and unsetting of m_spellModTakingSpell (#19116)
- A problem when a different spell tries to overwrite existing ModTakingSpell should no longer happen

(cherrypicked from e261754c9cd8b14a0555e866b4e193e1fe3c25ae)
2019-07-21 21:06:54 +02:00
xinef1 ecb44f82a4 Core/Creatures: Remove template immunities only for hunter pets (#19100)
(cherrypicked from 949b38b0481a752db124f8a3dbc1251d5b98b7cf)
2019-07-21 21:06:54 +02:00
xinef1 fc9f00d351 Core/Spells: Fixed some item ranged spells dealing wrong damage (#19104)
(cherrypicked from e7a9549422b09da6c88b0a191bae072997cbeddb)
2019-07-21 21:06:54 +02:00
xinef1 cfefd27cb8 Added some missing SetFallInformation calls (#19121)
Fixed HP drop bug on zeppelins
Fixed possible packet relocation problems on huge transports

(cherrypicked from b3f04ec1570c7fd6ef0d1dacfb7ff9f8ab00a43d)
2019-07-21 21:06:54 +02:00
xinef1 89f728cd5b Core/Misc: Fixed player corpse looting, added player corpse loot and some more (#19122)
* Fixed corpse looting in wintergrasp
Added corpse loot for wintergrasp quests and To the Looter Go the Spoils (1166) achievement
Don't generate money for loot if no loot mode is available
Simplified few things

(cherrypicked from 2412886ef69d305df1bd6e6422ca3134c0ab1449)
2019-07-21 21:06:54 +02:00
xinef1 4f65dc5e20 Core/Misc: Various crash fixes (#19059)
* Replaced some FindPlayer calls with GetPlayer
Fixed some more crashes

* Correction

(cherrypicked from 14dfc377b48bc909894396e65d4e4ce89d9708b6)
2019-07-21 21:06:54 +02:00
xinef1 ad4e63bae1 Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030

(cherrypicked from 59ce3d6c9bd82d55cbfa505bb945b71cab21a12f)
2019-07-21 21:06:54 +02:00
xinef1 36a4e008d0 Corrected immunity checking after recent changes (#19049)
- Shouldn't compare immunity to spells without schoolmask

(cherrypicked from 78a729b6a4f1643eea7120da87a5a10f268dd3c3)
2019-07-21 21:06:54 +02:00
xinef1 fe63cd3dbb Core/Creatures: Various fixes for creatures, regarding combat conditions, despawning, and few others (#18998)
* Made some changes to kiting mechanics, simplified code and made taunt auras prolong combat no matter the distance from the spawn
Unified some creature despawning code, removed some brutal direct calls in scripts
Don't play death anim on forced despawn
Removed some redundant visibility changes on creature despawn
Fixed possible problem with pet initializing template info from difficulty greater than normal
Properly keep UNIT_FLAG_IN_COMBAT on UpdateEntry call
Moved RegenerateMana function to general Regenerate(Power) function
Fixed increased health regeneration from polymorph for pets
Implemented CREATURE_TYPE_FLAG_GHOST_VISIBLE, those creatures will be properly seen when player is dead also
Removed hackfix from Gaeriyan and Franclorn Forgewright, fixed properly
Simplified ForcedRespawnTime code in ForcedDespawn
Do not allow to assist unit while evading or when enemy is evading
Do not allow to attack other units when evading or when the unit is evading
Corrected distance checking code before creature is allowed to evade, should fix some common problems
Properly return summon position for summoned creatures as their respawn position
Properly stop all moving units on gossip hello, no matter their npc flags

(cherrypicked from e1f14215d86fc9f0cd041f0e87bf0a689c086329)
2019-07-21 21:06:54 +02:00
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
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
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
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
xinef1 3f7fe6f8a5 Core/Spells: Remade trajectory target selection (#19048)
* Remade trajectory target selection
* Added possibility to apply conditions to trajectory spells
* Properly recalculate delay time if CMSG_UPDATE_PROJECTILE_POSITION is received

(cherrypicked from c6060dd0c511ddad3cb1f0423aa9ccf2de7aedec)
2019-06-15 18:41:09 +02:00
xinef1 b711f0bcae Core/Spells: Added SPELL_FAILED_NOTHING_TO_STEAL error (#19036)
Corrected Dispel check in sanctuary area
Added root check for SPELL_EFFECT_JUMP and SPELL_EFFECT_JUMP_DEST

(cherrypicked from 3c605ba614c45c4b8f99c12fb49f342c068054a5)
2019-06-15 18:41:09 +02:00
xinef1 68cc366d88 Core/Spells: Corrected summon category SUMMON_CATEGORY_VEHICLE (#19052)
(cherrypicked from 227d5a9288db1200720444226320914ebcc8a216)
2019-06-15 18:41:09 +02:00
xinef1 8d6d00dc15 Core/Spells: Corrected execution time calculation for dst targets (#19039)
(cherrypicked from c1ca852e1682c8a09b9fbb4143663674320ce021)
2019-06-15 18:41:09 +02:00
xinef1 d1cbd8a837 Core/Pets: Fixed flashing pet attack button (#18906)
(cherrypicked from 0fa38d0ae03e3d301fb1f94c48122ea81f000131)
2019-06-15 18:41:09 +02:00
xinef1 67000a7826 Core/Spells: Properly send autorepeat cancel packet to self and fix some problems with autoshot (#18918)
Closes #13595
Closes #14460

(cherrypicked from 587786ce6661fb4741ff623458b3c6c590f642fe)
2019-06-15 18:41:09 +02:00
xinef1 8725eec9c1 Core/Loot: Only allow the roll winner to loot the item he won in case it cannot be added to inventory instantly (full or any other reason) (#19037)
(cherry-picked from ab6ac42bf032b723167c37caed875c76a1295ec6)
2018-12-09 14:18:42 +01:00
xinef1 fef8e5fe14 Core/Pets: Fixed bug where pets tamed from large npcs had too big combat reach (#18909)
(cherry-picked from 2ecc0c0775927934dcfb60d3ce7664b8273da8a6)
2018-12-09 14:18:42 +01:00
xinef1 befea2f7a6 Core/Creatures: Stop falling if corpse is removed (can happen when alive unit is despawned instantly in air) (#18995)
Do not allow to start waypoint movement when unit is dead

(cherry-picked from f86ca9e3c97ab708705eef262bf69837f84bc3d9)
2018-12-09 14:18:42 +01:00
xinef1 d8f701e1ac Properly clear focused target on evade (#18992)
Closes #18095

(cherry-picked from 3c81a9a6d429b157a41628f35725b0cd7a469e9b)
2018-12-09 14:18:42 +01:00
xinef1 2b20cb5a64 Core/Spells: Added very little tolerance level to completed casts to ensure that spell cast at target standing at the max possible range is finished properly even if target moves a little (#18969)
(cherry-picked from 66dc97bb27382f3c0935ed6ca1abe91ceba6058d)
2018-12-09 14:18:42 +01:00
xinef1 e1cda57955 Core/Pets: Disable pet interface for charmed units while mounted (#18607)
(cherry-picked from 44388bc8fb7d51c2454372d40a4c929b887ee668)
2018-12-09 14:18:42 +01:00
xinef1 4afee01b01 Core/Auras: Prevent remove of auras interrupted by turning if the turn could be caused by float calculation error (#18595)
(cherry-picked from 38f9919a37e0a3f17c454d4353d9ff2b79382e6b)
2018-12-09 14:18:42 +01:00
xinef1 8573b651c8 Core/Units: Drop hostile world references that are out of our sight (fixes combat bug) (#18591)
(cherry-picked from ba6281bf429384a506aad5125bcc537eef5bfe77)
2018-12-09 14:18:42 +01:00
xinef1 0d0dea6398 Fixed visual bug where accessory could detach from vehicle on client (#18590)
Closes #15153

(cherry-picked from 2e635cf3cf73577a0d65d19a4ddddffc4ebc33a2)
2018-12-09 14:18:42 +01:00
xinef1 114aedcc14 Core/Pets: Fixed hunter pet resistance exploit (#18600) 2018-12-09 14:18:42 +01:00
xinef1 0a2876c091 Core/Pets: Fixed exploit where warlock can abandon its pet to generate new name (#18606)
(cherry-picked from 8ce5712552df47c6eff45c596b95a8890826d8b4)
2018-12-09 14:18:42 +01:00
xinef1 608260b853 Core/World: Simplified sleep calculation routine for world update thread (#18634)
(cherry picked from commit 48f30911b9e09e45ed4426d41c4284141037bcc6)
2018-03-18 00:19:48 +01:00
xinef1 15b22590be Core/Items: Fixed problem where item dependent auras are not properly updated (#18592)
-  Introduced in 7e83d7e22a82104e53f872758fc7fe835472782c

Closes #18506

(cherry picked from commit 90a330c910804f9cb770681ff646a2362c8c0efa)
2018-03-18 00:19:46 +01:00
xinef1 429fac7cb6 Core/Spell: Fixed bug where spell could fail to hit a target properly even if all conditions were met (#18596)
(cherry picked from commit 464d3ad5d09d58136911f4ad09335f53049ac628)
2018-03-18 00:19:45 +01:00
xinef1 044a38629e Core/Movement: Typo fix for falling to void case (#18611)
(cherry picked from commit 3ea9f3b0e2bc46fdbefda88a0c6aa9c675042899)
2018-03-18 00:19:40 +01:00
xinef1 10af748969 Core/Units: Fixed bug in stun code making units summoned by npcs to never break out of stun (#18612)
(cherry picked from commit 7c3961244d83503191881cfd64745781cc1253ab)
2018-03-18 00:19:36 +01:00
xinef1 f44572ce56 Core/Units: Fixed exploit where killing tamed pet could yield emblems (#18605)
(cherry picked from commit 2aae46ad49851239f69910dc0ccd2efed87bdb10)
2018-03-18 00:19:36 +01:00