Commit Graph

17591 Commits

Author SHA1 Message Date
Treeston
74cdf260e1 Core/Threat: Fix taunt logic relying on unspecified behavior by unordered boost heap iterators. Use ordered iterators instead, this is cheap for our use case anyway. This will make taunt behave consistently again.
Closes #21499.

(cherry picked from commit 71b5ed6832)
2021-08-08 21:21:34 +02:00
ariel-
67a1a1d29b Core/GameObject: implemented gameobject_overrides table to change faction and flags values on a per-spawn basis
Updates #20957
Closes #20958

(cherry picked from commit 34967e9c32)
2021-08-08 21:21:34 +02:00
ariel-
4c8a49302f Core/GameObject: kill uninitialized, unused field from GameObjectTemplateAddon struct
(cherry picked from commit 02739c2cbb)
2021-08-08 21:21:34 +02:00
ariel-
a1a00f823e 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>

(cherry picked from commit 98d6258efd)
2021-08-08 21:21:34 +02:00
ariel-
ffa359c21c Core/Auras: check conditions against referer caster, just as spells do
Closes #21492

(cherry picked from commit 83292cd983)
2021-08-08 21:21:34 +02:00
Treeston
32997a5989 Core/SmartScripts: Rename SMART_ACTION_RESPAWN_TARGET -> SMART_ACTION_ENABLE_TEMP_GOBJ, since that's the only thing it still does in the dynspawn model. Adjust body accordingly to warn on misuse.
(cherry picked from commit 0850b5ff39)
2021-08-08 21:21:34 +02:00
Treeston
65b8dafb53 Core/GameObject: Force compatibility mode for stupid ridiculous junk legacy hack gameobjects, ref 27e7906.
(cherry picked from commit 9f92896c52)
2021-08-08 21:21:34 +02:00
Treeston
de3eb7b298 Core/GameObject: fix stupid ridiculous junk legacy hack code with negative gobj respawn time to work again
(cherry picked from commit 27e7906814)
2021-08-08 21:21:34 +02:00
ariel-
181c671924 Core/Scripts: remove hack that caused aura to not be applied and saved twice on owned auras, causing an error on save
- This is handled by group stack rules actually
- Also reset removed aura counter when cleaning removed auras

Closes #21486

(cherry picked from commit 1074a9b053)
2021-08-08 21:21:34 +02:00
Treeston
61baf6704c AI/SmartAI: New SMART_ACTION_RESPAWN_BY_SPAWNID (hi kilyana)
(cherry picked from commit 691c67f0be)
2021-08-08 21:21:34 +02:00
Treeston
5c80f50734 Core/Spawning: Actually check spawn group state before processing a respawn. It feels like that is something that should've been noticed at some point.
Also remove CreatureScript::CanSpawn since nobody uses it, and spawn groups do the same thing.

(cherry picked from commit 94b5d9bfa1)
2021-08-08 21:21:34 +02:00
ariel-
5e7a11f88d Core/Scripts: apply resilience on Vampiric Touch and Unstable Affliction dispel effect
- Spell with SPELL_ATTR4_FIXED_DAMAGE won't do it by itself to avoid applying resilience twice, but because those are triggered from a periodic aura, those apply resilience on tick, not saved to amount.
- This is one of the cases where you have to call Unit::SpellDamageBonusTaken directly

Closes #21393

(cherry picked from commit 3753ec5647)
2021-08-08 21:21:34 +02:00
ariel-
8e7a12a87a Core/Auras: restrict target map update only to area auras as player requires to have auras registered on load
Closes #21472

(cherry picked from commit 7cff1b540c)
2021-08-08 21:21:34 +02:00
ariel-
b1a76fc756 Core/Unit: clear charmed/possessed state before returning client control. Works like a charm
Closes #21471

(cherry picked from commit fc678bb3c2)
2021-08-08 21:21:34 +02:00
ariel-
489b111a8a Core/Vehicles: fix crash
- Aura could be removed in Unit::SetCharmedBy (StopMoving->Relocate->ProcessTerrainStatusUpdate->RemoveAurasWithInterruptFlags)
- By not passing AuraApplication parameter execution continued with a removed application leaving vehicle in a invalid state (m_sharedVision not empty)

Closes #18281

(cherry picked from commit eb7d22d23e)
2021-08-08 21:21:34 +02:00
ariel-
70c26d53cb 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

(cherry picked from commit ba27711145)
2021-08-08 21:21:34 +02:00
Wilcalaf
e3941e4199 Scripts/Nexus: Fixed a rare bug when sometimes Magus telestra managed to die while invisible preventing players from looting. (#21436)
(cherry picked from commit 2dd5735bd9)
2021-08-08 21:21:34 +02:00
jackpoz
b7aef385e8 Core/Misc: ASSERT() cleanup
Move some functions calls out of ASSERT() calls. ASSERT() should only apply checks without modifying any object and without having any side effect.

(cherry picked from commit 572eab1c35)
2021-08-08 21:21:34 +02:00
sirikfoll
74101eaf7c Scripts/Icecrown Citadel: Prevent Lady Deathwhisper movement during first phase.
(cherry picked from commit 076bd11002)
2021-08-08 21:21:34 +02:00
ariel-
64399f58a3 Core/Auras: fixed Drain Mana breaking early if caster has Mana Feed talent but no active pet
(cherry picked from commit 1ac87b6c60)
2021-08-08 21:21:34 +02:00
Cannix
64234b35ed Core/Spells: Execute item casts immediately instead (#21396)
(cherry picked from commit 7e71b4535a)
2021-08-08 21:21:34 +02:00
Wyreth
8713a62328 Core/Entities: remove grid-wide visibility from setActive and implement another method for it (#20725)
(cherry picked from commit 56874b44f0)
2021-08-08 21:21:34 +02:00
jackpoz
efce8ca379 Core/Misc: Fix static analysis issues
Fix static analysis issues reported by Coverity

(cherry picked from commit d3d0640a8d)
2021-08-08 21:21:34 +02:00
Jeremy
69edf282fa Partial: Core/Entities: Reduce the probability of units dropping under the map (#21322)
Reduce the probabilty of going under the map

(cherry picked from commit 9e0faace9a)

Revert "Core/Entities: Reduce the probability of units dropping under the map (#21322)"

(cherry picked from commit 2dadbda24a)
2021-08-08 21:21:34 +02:00
Shauren
fcead0b4ea Core/Spells: Use caster as chat source in Spell::EffectSendChatMessage 2021-08-08 18:15:00 +02:00
Jeremy
58be6007fb Core/Battlegrounds: Remove duplicate info from GroupQueueInfo (#26759)
- BgTypeId
- ArenaType
- IsRated

Those are fields that are already present in the field m_queueId
2021-08-08 18:06:29 +02:00
Shauren
193233286d Core/Misc: ASSERT() cleanup - followup of cherry pick 572eab1c35 2021-08-08 15:22:55 +02:00
Shauren
9067eb22ce Core/Units: Fixed crash in Unit::CalcArmorReducedDamage when called from periodic aura tick if caster is no longer in world
Closes #26776
2021-08-08 13:03:57 +02:00
Shauren
262ee285db Core/Misc: Updated SpellCastResult, GameError and HotfixStatus enums 2021-08-08 00:18:10 +02:00
Shauren
ce1046a8fd Core/DataStores: 9.1.0 db2 structures 2021-08-08 00:18:10 +02:00
Shauren
cd5357dc18 Core/PacketIO: 9.1.0 opcodes and packet structures 2021-08-08 00:18:05 +02:00
Shauren
07f51437fc Core/Auras: Fix incorrect use of GetUnitOwner() in DynObjAura::FillTargetMap
Closes #26735
2021-07-22 10:38:23 +02:00
Shauren
515d3da181 Core/Auras: Skip estimated points calculation for SPELL_EFFECT_PERSISTENT_AREA_AURA
Closes #26731
2021-07-21 16:19:14 +02:00
Shauren
0bbf3f7300 Core/AuctionHouse: Fixed paying for commodities
Closes #26621
2021-06-24 16:04:51 +02:00
Shauren
61a7026f17 Core/AuctionHouse: Fixed buying commodities
Closes #26110
Closes #26619
2021-06-23 22:44:39 +02:00
Killyana
f6f098171f Core/SAI: Move enum to the correct file
(cherry picked from commit 8aa10f6c65)
2021-06-22 13:19:36 +02:00
ariel-
5714e89ccf Core/Events: update holiday code and remove misleading log (event date is the one from game_event)
- add siign to DBC struct member CalendarFilterType as it was being used as such
- kill localtime usage as it's deprecated

Closes #18542

(cherry picked from commit 5b4287e683)
2021-06-22 13:19:03 +02:00
ariel-
d36f8bb754 Core/Scripts: implemented Fungal Decay & Tail Sting
Refs #18542

(cherry picked from commit 7dc78d8e3f)
2021-06-22 13:15:11 +02:00
ariel-
1fe817a995 Core/Auras: remove obsolete check that was preventing some auras to proc even if they met conditions otherwise
(cherry picked from commit 5f38b92340)
2021-06-22 13:07:03 +02:00
Keader
ab8f8e1ffb Scripts/Ulduar: Fixed amount of Mole Machines in Razorscale 10 man
(cherry picked from commit f609589e22)
2021-06-22 13:06:33 +02:00
Killyana
4b6e76a5ef Core/SAI: Add an action_param3 to "summon gob" to control when the object will despawn
0 - For despawn when creature dies or time runs out
1 - For despawn after time
Closes #11601

(cherry picked from commit ca4f1e334a)
2021-06-22 12:51:28 +02:00
Treeston
f0823eb048 Scripts/TotC: Reduce Twin Val'kyr berserk timer from 10 minutes to 8 minutes on normal mode (match DBM). This closes #15367, no matter what ccrs' bong says.
(cherry picked from commit 789f3c5d37)
2021-06-22 12:47:40 +02:00
ariel-
d91e099b10 Core/Spells: prevent creatures to focus channeled spells without SPELL_ATTR1_CHANNEL_TRACK_TARGET
- Creatures stuck here wouldn't try attacking because of this
- Remove one workaround in halion script, now it's unneeded

Ref #11311

(cherry picked from commit 29f7258dc8)
2021-06-21 12:47:03 +02:00
Gooyeth
493be0c888 Scripts/Commands: add AI/ScriptName to .gobject info (PR #21419)
(cherry picked from commit 42a11e97d5)
2021-06-21 00:10:39 +02:00
Treeston
f982f3019a Core/Combat: Unify combat permitted checks between CvC and PvC - only require "not friendly" in all cases. Fixes Yogg-Saron encounter. Closes #21380.
Also some bonus cleanup to Yogg's script to make transition cleaner.

(cherry picked from commit 4da9321d2b)
2021-06-21 00:07:24 +02:00
Treeston
37298ca99c Scripts/SmartAI: SetData now has an invoker (if the setting is done by something using SmartAI).
Also, some refactors. SMARTAI IS SUCH A FUCKING CLUSTERFUCK I SWEAR.

(cherry picked from commit cfc77fd843)
2021-06-21 00:06:41 +02:00
Gooyeth
17004c4121 Core/Scripts: Add bossId in state error log. (#21421)
(cherry picked from commit b9aec3b4d3)
2021-06-21 00:06:41 +02:00
ariel-
1f3e365ff6 Core/Auras: make area and dynauras condition compliant by using the spellarea searcher instead of script searchers
Closes #17317

(cherry picked from commit f1f6976f91)
2021-06-21 00:06:41 +02:00
ariel-
16b1f5c7f6 Core/Handlers: fix bogus check that skipped CMSG_CAST_SPELL packet under certain conditions, missing a target change
Closes #21390

(cherry picked from commit a145a14166)
2021-06-21 00:06:41 +02:00
ariel-
5323a7d386 Core/Spells: fixed server being too overzealous with autoshot
- Interrupting it when casting another spell and switching targets

Ref #21390

(cherry picked from commit 93cbe815cb)
2021-06-21 00:06:41 +02:00