Commit Graph

1400 Commits

Author SHA1 Message Date
Chaouki Dhib 975f1e364a Core/Movement: Add time synchronisation (#18189) 2019-04-15 23:31:25 +02:00
Jozef Dúc f221fcdd4b Core/Creatures: Filter out trainer spells that belong to a skill that can never be learned by a player with given class and race combination (#23176)
Closes #23172
2019-04-11 21:06:53 +02:00
PolarCookie 5ed77113b6 Core support for breadcrumb quests (#23157)
* Breadcrumb quests support in core

* To Winterspring! & Starfall

* translating ZenoX92's list, part 1

* Carendin Summons is Blood Elf only

* Breadcrumb to an exclusive group

* translating ZenoX92's list, part 2

* class quests

* breadcrumb trails

* better prevquest check

* less harsh error warnings

* minor optimization

* Rename 9999_99_99_99_world.sql to 2019_04_10_00_world.sql
2019-04-10 12:58:40 +02:00
Ovah b9e9ccf93c Core/Objects: use the actual collision height of players and creatures to get more accurate liquid status results (#23070) 2019-04-06 17:39:04 +02:00
jackpoz 1d04a3b216 Core/Misc: Fix GCC 8 warnings 2019-03-31 17:34:28 +02:00
Shauren fe0abfe985 Core/PacketIO: Fixed mistake in setting packet value for SMSG_MULTIPLE_MOVES 2019-03-30 15:44:56 +01:00
Shauren c5ab22b6ed Core/PacketIO: Send movement state change packets only once, not for each player whose visibility we enter
Closes #23141
2019-03-29 23:26:51 +01:00
Gustavo 0eacccc2cd Core/Players: Fix logic in CanSeeSpellClickOn (#23090)
Block SpellClick for the npc if there is no entry
2019-03-05 15:06:19 +01:00
ccrs 7fdf9701df Core/Misc: e69570d followup 2019-03-04 16:52:10 +01:00
ccrs e69570dd76 Core/Misc: use/implement/portfrommaster InitWorldState packet definition
WorldPackets::WorldState::InitWorldStates
2019-03-04 16:33:08 +01:00
ccrs d8819147b0 Core/Misc: update SMSG_UPDATE_WORLD_STATE uses 2019-01-17 11:52:38 +01:00
Shauren 63ea6a50e8 Core/Creatures: Only allow class and pet trainers to reset talents and teach dual spec
Closes #22953
2019-01-16 21:58:21 +01:00
Giacomo Pozzoni 6859dfa2d1 Core/Quest: Fix crash in GetQuestDialogStatus()
Fix possible NULL dereference in GetQuestDialogStatus()
Fixes #22516
2019-01-15 15:37:12 +01:00
ccrs 954fd2639a Core/Unit: rename & cleanup GetCreatePowers
it hurted my eyes too much
2019-01-14 07:07:06 +01:00
Shauren f93a23adc5 Core/Spells: Fixed unapplying rockbiter weapon
Closes #22528
2019-01-05 13:04:21 +01:00
Treeston fcfcb0eb6f Happy New Year, folks. It's 2019! 2019-01-01 15:45:25 +01:00
Shauren baebb2d602 Core/Players: Fixed some spells appearing as available at trainer when they are already known
Closes #16482
2018-12-30 19:51:36 +01:00
Ghaster bf3ab6d9c4 Core/Creatures: Port trainer changes from master
Closes #20493
2018-12-30 19:51:36 +01:00
Giacomo Pozzoni 9a924fb9d5 Core/Misc: Log more information in asserts (#22783)
* Core/Misc: Log more information in asserts

Add a new function GetDebugInfos() to types that could trigger an ASSERT() to easily include more useful information in crashlogs.
This is an initial commit that requires many more commits to implement the new GetDebugInfos() function in all required types.
If the type doesn't have the function, the global default one is picked which doesn't log anything.

* Core/Misc: Fix dynamic build

Add missing attribute for dynamic build

* Core/Misc: Fix gcc/clang build

* Core/Misc: Rename GetDebugInfos() to GetDebugInfo()

* Core/Misc: Fix FormatAssertionMessage() adding an extra '\0'

* Core/Misc: Add GetDebugInfo support to Unit

* Core/Misc: Add GetDebugInfo support to Creature

* Core/Misc: Add more info to GetDebugInfo for Creature

* Core/Misc: Add GetDebugInfo support to GameObject

* Core/Misc: Add GetDebugInfo support to Player

* Core/Misc: Add more GetDebugInfo info

* Core/Misc: Add GetDebugInfo support to Item

* Core/Misc: Add GetDebugInfo support to Bag

* Core/Misc: Add GetDebugInfo support to Transport

* Core/Misc: Add GetDebugInfo support to TempSummon, Minion, Guardian, Pet

* Core/Misc: Add GetDebugInfo support to Map, InstanceMap

* Core/Misc: Add GetDebugInfo support to Spell

* Core/Misc: Fix build warning

* Core/Misc: Add GetDebugInfo support to Aura

* Core/Misc: Add GetDebugInfo support to UnitAI
2018-12-14 22:01:16 +01:00
Shauren be47254a4f Core/Auras: Fixed saving auras with same spell id but different item source 2018-11-09 20:51:20 +01:00
Treeston d8fee3c46b Core/AI: Add some checks to catch if the AI changes mid-update for players. Tag #22731 #22629. 2018-11-05 20:28:42 +01:00
Treeston ab3eab990e Core/Misc: Revert 4990423, need to find out a better way to handle this. 2018-09-27 20:59:48 +02:00
Treeston 4990423dbf Core/Misc: Unify naming of DBC entry, storage and format identifiers based on DBC file name
* DBC file name: <dbc>.dbc
* Format string: DBCfmt_<dbc>
* DB Format string: DBCfmt_<dbc>_DBFormat
* DB index string: DBCfmt_<dbc>_DBIndex
* Entry struct: <dbc>Entry
* Global storage: s<dbc>Store
2018-09-27 18:19:20 +02:00
Treeston 28591fd165 Core/Player: Delay resurrection on release for unreachable maps until teleport has completed. Closes #21481. 2018-09-17 13:14:56 +02:00
Treeston 003cc56d70 Core/Player: Clean up duel related code. Fix a check for abusive client behavior, sanitize pointer usage, code style. Closes #22374. 2018-09-17 12:40:42 +02:00
Treeston 7bc16e2ee6 Core/Unit: Erm, so it turns out that releasing your spirit actually never set your death state to DEAD. It stayed as CORPSE. That's wrong, of course, but we didn't notice because zombie corpses (see f50a8e5).
Zombie corpses are gone, so now it caused a bug. That's fixed too. Closes #21873. (Finally.)
2018-09-12 15:28:03 +02:00
Ovah cd36606027 Core/Conditions: allow CONDITION_QUEST_COMPLETE to handle spellclick conditions (#22371)
This is a needed change in order to make spellclicks functional that are only available when you have a already completed quest.
2018-09-02 12:36:16 +02:00
Treeston 5cea572a9a Core/Threat: Threat system adjustments:
* Online states are now re-evaluated before victim update instead of continuously. Closes #22226. Tagging #21501.
* Victim update now happens every 1s as opposed to every server tick unless current target goes away.
* Suppressed threat is no longer re-established until the victim gains additional threat (by hitting the target, for instance).
* Assistance threat is now split between non-controlled units threatened by target, as opposed to all units threatened by target.
2018-08-27 19:08:17 +02:00
Treeston d4ef2529e9 Core/Unit: Store charmer and charmed pointers on Unit directly, no more map lookups for Unit::GetCharmer and Unit::GetCharmed 2018-08-25 00:44:33 +02:00
Treeston 042f5515e4 Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans 2018-08-23 16:34:42 +02:00
Treeston 077bf43ab5 Scripts/Commands: Fix .quest complete to properly work with PvP kill quests. Closes #16321. 2018-08-14 16:09:51 +02:00
Shauren 8411ec7ed6 Core/Players: Fixed saving quest item progress 2018-07-09 18:32:40 +02:00
Ovah 0dcc318e37 Core/Player: fix periodic eating and drinking emotes (#21280)
Closes: #12567
2018-06-22 20:23:46 -03:00
ccrs 982643cd96 Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).
2018-06-03 10:06:57 -07:00
jackpoz 5f6af8c6cb Core/Quest: Fix crash caused by disabled quests
Fix crash happening when a disabled quest was added and rewarded (through a GM command). Disabled quests are not validated on startup and they can reference invalid spells.
2018-05-05 19:17:52 +02:00
Treeston 081eab3cf5 Core/Unit: UNIT_FLAG renames
[UNIT_FLAG_PLAYER_CONTROLLED -> UNIT_FLAG_POSSESSED]
[UNIT_FLAG_PVP_ATTACKABLE -> UNIT_FLAG_PLAYER_CONTROLLED]
Signed off by: Shauren, Warlockbugs.
2018-05-02 19:09:37 +02:00
Gooyeth 8aad6f828e Core/Battleground: allow Random battleground and arena queues same time. (#21730)
- It also restricts queuing to arenas if it is in queue of dungeon finder
2018-04-15 16:57:57 +02:00
ariel- a413e7dee9 Core/Player: partial revert of m_items handling as it's cause of a exploit
Closes #21760
2018-04-04 15:42:58 -03:00
ariel- 9cc109fe3e Core/Player: properly clear m_items array when unequipping items from the bag
- Also cleanup weapon damage ap mult when direct destroying a equipped weapon
2018-03-14 11:57:51 -03:00
ariel- 8cf7eda8c1 Core/Entities: cleanup of weapon damage
- ScalingStatDistribution/Value (ie heirlooms): apply bonuses in all cases, some calls used nullptr (like after disarm) and item wasn't regaining them
- AP multiplier wasn't correctly reflected after unequipping a weapon
- Correctly set base damages at unequip

Closes #21610
2018-03-14 03:44:00 -03:00
ariel- 45c5e1b9d6 Core/Spells: rework part 5: GameObject casting
Closes #21330
Closes #18885
Ref #18752
2018-03-09 14:41:28 -03:00
ariel- 080d2c6cd4 Core/Spells: rework part 4: iterate over effects first
Ref #18395

Implement far spell queue processing
Closes #7395
2018-03-09 14:41:28 -03:00
ariel- e8d5aa56cc Core/Spells: rework part 3: spells only handle at most one UnitAura and one DynObjAura during its lifetime
Closes #15088
2018-03-09 14:41:28 -03:00
Gooyeth 92b8a870bf Core/Player: Do not remove auras from Gamemasters in arenas (#21568) 2018-03-08 15:00:23 +01:00
ariel- 6e0b9a7916 Core/Creatures: port power type updates from master branch
Core/Misc: Added helper function Unit::SetFullPower
Cherry-picked from 8199eef81c

Core/Creatures: Updated power type handling (#20981)
Cherry-picked from 16a7a414ab
2018-03-07 03:34:45 -03:00
Treeston e79c595b69 Core/VMap: Add outdoor state to Map::GetFullTerrainStatusForPosition. Add WorldObject::IsOutdoors, basic member access.
Ref #21479.
2018-02-26 17:40:40 +01:00
ariel- 34967e9c32 Core/GameObject: implemented gameobject_overrides table to change faction and flags values on a per-spawn basis
Updates #20957
Closes #20958
2018-02-24 20:57:55 -03:00
ariel- 98d6258efd Core/Entities: kill unused return value from Unit::HandleSpellClick
- AI hook will now receive the result by copy, as modifying it had no effect
- Some renaming: result->spellClickHandled, clickPair is actually clickBounds, the clickPair is the pair <creatureID, SpellClickInfo>
2018-02-24 15:52:09 -03:00
ariel- ba27711145 Core/Entities: unit states cleanup
- Added new UNIT_STATE_FOCUSING for creature focus system, this will stop creatures adding/clearing the UNIT_STATE_CANNOT_TURN mask (eg UNIT_STATE_STUNNED if stunned while focusing a spell)
- Added UNIT_STATE_CHARMED that gets set/removed on any charm type (UNIT_STATE_POSSESSED is only for possess as it's name suggests)
- The new states are checked against mask to know whenever client needs to regain character control

Closes and fixes #21460
2018-02-20 17:34:12 -03:00
ariel- e73bfe8df8 Core/Spells: implemented SpellPriority field from SpellEntry to cleanup charged mod proc behaviour
- Only one charged mod will be consumed per SpellMod apply, and it'll be compared against other mod priority
- This is proper way of handling Backdraft/Backlash and Deathchill/Killing Machine

Thanks to killerwife for info
2018-02-12 03:09:22 -03:00