Commit Graph

14089 Commits

Author SHA1 Message Date
Shauren 211b2fa354 Core/Conditions: Reserve master branch condition types 2019-07-21 20:06:32 +02:00
jackpoz 2bac44c7d0 Core/Spline: Fix crash
Fix crash when calling MoveSpline::ToString() on an empty spline
2019-07-21 16:21:43 +02:00
Treeston c4c739fea5 remove unnecessary check, 37f6982 follow-up 2019-07-21 15:49:42 +02:00
Shauren adc82b78f7 Core/Conditions: Synchronize condition types between branches 2019-07-21 13:20:24 +02:00
Gildor 81d402446f Spell/Mage: Fixed duplicate / erroneous ID of the spell Consumption (#23618) 2019-07-21 12:03:20 +02:00
Treeston 49b04c0fdd Core/AI: No longer override chase movement with follow movement if the creature engages before JustAppeared has had a chance to fire. 2019-07-21 03:59:43 +02:00
Wyrserth e5615402cc Core/Instance: remove wrong raid-only restriction in the logic that kicks offline players out of instances when the instance is reset. 2019-07-21 02:57:04 +02:00
Treeston 0e7c66cb4c Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time. 2019-07-21 01:50:52 +02:00
Wyrserth b8d86bba99 Script/SethekkHalls: fix gossip text and quest event for NPC Lakka in Sethekk Halls. 2019-07-20 21:02:23 +02:00
Giacomo Pozzoni aeddd417c4 Core/Misc: Handle timezones for hour-specific events specifieds in worldserver.conf (#23540)
* Core/Misc: Handle timezones for hour-specific events specifieds in worldserver.conf

* Handle Respawn.RestartQuietTime too

* Handle XP.Boost.Daymask too

* Core/Misc: Code cleanup

* Core/Misc: Code cleanup

* Update Util.cpp

* Update boosted_xp.cpp
2019-07-19 21:24:56 +02:00
Treeston c0f8e8535a build fix after d1dc0e2 2019-07-19 20:37:22 +02:00
ccrs ba8d3254c2 Core/Player: d1dc0e2 followup
build error going to be fixed soon..ish
2019-07-19 18:52:07 +02:00
ccrs 0e3e4353a1 Core/SmartAI: add missing movement generator type check on SmartAI::SetCombatMove
ref #21562
2019-07-19 16:07:00 +02:00
ccrs c8cb866db0 Core/SmartAI: allow more Unit::ResumeMovement calls on JustReachedHome()
Since ResumeMovement also works on other MOTION_SLOT_DEFAULT generators (like RandomMG)
2019-07-19 15:52:35 +02:00
ccrs bca46aa750 Core/Player: d1dc0e2 followup 2019-07-19 15:43:30 +02:00
Wyrserth 246a8661fd Script/Spell: don't use invalid spells for the Magic Rooster mount.
Closes #1822.
2019-07-19 00:31:39 +02:00
Ovah 6e2ca481e5 Core/Misc: Add new centralized location for generic predicates (PR #23607) 2019-07-18 22:51:23 +02:00
jackpoz a9f1dc1da7 Core/Misc: Fix warnings 2019-07-18 21:16:28 +02:00
jackpoz 9ed35e2108 Core/MovementGenerator: Add more asserts 2019-07-18 21:14:27 +02:00
jackpoz 560b7e3397 Core/MovementGenerator: Add more details to asserts
Include movespline in Unit::GetDebugInfo() and the Player owner in FlightPathMovementGenerator::DoEventIfAny() assert
2019-07-18 20:09:00 +02:00
Ovah 3f7b2252a1 Core/Movement: add a velocity argument for the spline chain meta table (PR #23575) 2019-07-18 15:52:03 +02:00
OcelotGear 085f40a278 Script/Hunter: fix Snake Trap's snakes' initialization.
Closes #23570.
2019-07-18 03:36:00 +02:00
Wyrserth 55570be661 Core/Creature: honor existing DB data for health and mana in case of summoned pets that don't have pet-specific stat data.
Closes #23570.
2019-07-18 02:47:58 +02:00
Wyrserth 5f5d2028df Core/Creature: don't set guardian stats in Creature::UpdateEntry(), because stat calculation from guardians is already done in Guardian::InitStatsForLevel.
Closes #281.

Signed-off-by: Wyrserth <wyrserth@protonmail.com>
2019-07-18 02:20:36 +02:00
Treeston b64834c3f5 Scripts/Commands: Adjust .list respawns to use enum iteration. Add enum iteration capability to SpawnObjectTypes. 2019-07-17 22:58:49 +02:00
Treeston af66b60987 Core/DB: Add a trinity string for pool respawns. 2019-07-17 22:31:03 +02:00
Wyrserth a58955d88c Core/Achievement: don't increase ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM counters for items bought back from vendors. 2019-07-17 20:48:21 +02:00
Wyrserth 25e01b0402 Core/Script: fix logical mistake in spell_gen_clone_weapon_aura. 2019-07-17 20:42:42 +02:00
Wyrserth 3db4fbbcef Core/Pet: generate a new name for Death Knights' Ghouls when a new one is summoned.
Unlike Warlock pets, whose names are generated only once because they're the same demon that is summoned over and over, Death Knight pets are different entities generated from different corpses (or corpse dust). So each has their own, randomly generated, name.
2019-07-17 20:17:10 +02:00
Wyrserth e7cf24d263 Script/BoreanTundra: move Pile of Fake Furs' script (related to quest Unfit for Death) from ItemScript to SpellScript.
Closes #21890.
2019-07-17 19:57:21 +02:00
Wyrserth c52c0f0b7d Core/GameObject: do not allow players to interact with gameobjects that use the "Point" icon.
Updates #21890.
2019-07-17 19:56:02 +02:00
Wyrserth 91f214cd22 Core/Quest: when receiving an item required for a quest, update every quest in the quest log instead of stopping at the first objective that matches the received item.
Closes #10586.
2019-07-17 18:08:21 +02:00
Wyrserth ad039c0999 Core/Player: always set the player's dugeon/raid difficulty to the group's dungeon/raid difficulty, regardless of level.
Fixes cases where players could enter heroic dungeons without meeting the heroic version requirements.
2019-07-17 17:15:07 +02:00
Wyrserth a4ddb30489 Core/Player: don't send errors to client from Satisfy* methods when Player::CanRewardQuest() is called with msg = false.
Fixes cases where people would get strange errors like "You are not high enough level for that quest" when entering WotLK instances.
2019-07-17 16:11:54 +02:00
Treeston a82bbeb101 Core/DB: Add RBAC for .debug poolstatus, because I need it for the pooling branch. 2019-07-17 15:59:52 +02:00
jackpoz 504e452450 Core/Misc: Fix no-pch build 2019-07-16 19:50:11 +02:00
Treeston 45bc91c238 Core/DB: Merge pool_creature, pool_gameobject and pool_pool into a single pool_members table.
(More pooling prep, I really don't want to have any sql update files in that PR if I can help it.)
2019-07-16 19:22:24 +02:00
Shauren 86b516c3f2 Core/Addons: Fixed Blizzard_* addons insecure lua errors
Closes #23599
2019-07-16 17:10:28 +02:00
Treeston 293ba08d21 Scripts/Commands: Add .debug questreset to force daily/weekly/monthly quest reset. 2019-07-16 15:04:14 +02:00
Treeston 2c1b87ca29 Core/Chat: Properly reload saved channel settings from DB after 8c16f31. 2019-07-16 13:17:45 +02:00
Treeston 1277c54263 Core/DB: Add a world state for daily quest reset time to characters. Not used right now, but written to allow easier transition later. 2019-07-16 12:50:16 +02:00
Shauren c278044739 Core/Authserver: Fixed crash happening when sending packets larger than 4096 bytes (giant realmlist basically)
Closes #23597
2019-07-15 22:28:10 +02:00
Shauren 01124c6f4e Fix clang build 2019-07-15 18:30:17 +02:00
Shauren cd3d317ebf Core/Addons: Improve WorldSession::ReadAddonsInfo
* Only allow built-in addons to be marked as secure
* Better protect against malformed packets
2019-07-15 17:47:35 +02:00
Treeston 37f69825c4 Core/Spells: Spell pushback now only affects players (as it should) 2019-07-15 17:21:40 +02:00
Treeston d60082ae86 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
2019-07-15 17:14:58 +02:00
Treeston 26440857c1 Core/Spawns: Exterminate CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY with extreme prejudice. (It didn't work anyway.) 2019-07-15 15:57:04 +02:00
Treeston 374597c8e9 Core/DB: Unify creature_respawn and gameobject_respawn into a single respawn table 2019-07-14 18:49:38 +02:00
ccrs 6826b8cb2c Build: fix build error
In file included from /home/circleci/project/src/server/game/Entities/Player/Player.cpp:19:
In file included from /home/circleci/project/src/server/game/Entities/Player/Player.h:22:
In file included from /home/circleci/project/src/server/game/Entities/Unit/Unit.h:22:
In file included from /home/circleci/project/src/server/game/Entities/Object/Object.h:22:
In file included from /home/circleci/project/src/common/Common.h:23:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/memory:63:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/allocator.h:46:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/x86_64-linux-gnu/c++/8/bits/c++allocator.h:33:
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/ext/new_allocator.h:136:23: fatal error: no matching constructor for initialization of 'WorldPackets::Spells::ResyncRune'
        { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
                             ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/alloc_traits.h:475:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<WorldPackets::Spells::ResyncRune>::construct<WorldPackets::Spells::ResyncRune, unsigned char &, unsigned int &>' requested here
        { __a.construct(__p, std::forward<_Args>(__args)...); }
              ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/vector.tcc:103:21: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<WorldPackets::Spells::ResyncRune> >::construct<WorldPackets::Spells::ResyncRune, unsigned char &, unsigned int &>' requested here
            _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
                           ^
/home/circleci/project/src/server/game/Entities/Player/Player.cpp:24611:22: note: in instantiation of function template specialization 'std::vector<WorldPackets::Spells::ResyncRune, std::allocator<WorldPackets::Spells::ResyncRune> >::emplace_back<unsigned char &, unsigned int &>' requested here
        packet.Runes.emplace_back(type, cooldown);
                     ^
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
        struct ResyncRune
               ^
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/home/circleci/project/src/server/game/Server/Packets/SpellPackets.h:117:16: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 2 were provided
1 error generated.
2019-07-14 14:20:39 +02:00
ccrs bbb9d94acc Core/Server: 3785a35 followup 2019-07-14 13:21:49 +02:00