Commit Graph

1566 Commits

Author SHA1 Message Date
Gildor
f8d7b26047 Core/Misc: Fix parry-haste mechanic. (#23773)
* Should check victim that do a parry instead of the unit that deal the damage (Wrong implementation of this commit: 4a46fee03e )

Closes #23754
2019-09-07 12:57:02 +02:00
Giacomo Pozzoni
15e85f882f Core/Vehicle: Change vehicle accessories' phase according to the player on the vehicle (#23646)
* Core/Vehicle: Change vehicle accessories' phase according to the player on the vehicle

* Get the root vehicle to set the phase to all accessories.
Attempt to get the accessories to stay mounted on the vehicle.

* Fix the accessories to stay mounted on the vehicle
2019-08-04 11:33:29 +02:00
Wyrserth
0b87dffc35 Core/Spell: honor IsStackableOnOneSlotWithDifferentCasters() when deciding if an aura should stack from different casters or not. (#23579)
Fixes #23387 and #22818.
2019-08-03 09:29:56 +02:00
Ovah
d629bad7a1 Core/Spells: fixed root behaivior of creatures that are being rooted via movement template while getting a root aura removed (#23216)
* Core/Spells: do not allow root auras to bypass the root movement template state when getting removed

* yeah....
2019-08-01 15:40:07 +02:00
Treeston
0b722e23cf Entities/Unit: fix an unrelated check from doing nothing because somebody didn't understand how type-casting works 2019-08-01 01:27:10 +02:00
Treeston
a8b1b9a3c6 Entities/Unit: Add a missing underflow check to prevent really really low damage from underflowing when paired with flat damage modifiers. Closes #23655. 2019-08-01 01:27:10 +02:00
Treeston
9c603ea87f Core/Combat: Properly unset engagement flag on death. 2019-07-31 13:17:32 +02:00
jackpoz
9b292f4369 Core/Spells: Fix infinite loop
Fix an infinite loop caused by a mix of item 25498 and liquid damage
2019-07-28 17:13:48 +02:00
ForesterDev
915f8a9d2c Core/Totems: update select display for shaman totems (#23583)
(cherry picked from commit 8ca6a20e73)

# Conflicts:
#	src/server/game/Entities/Totem/Totem.cpp
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Spells/SpellMgr.cpp
#	src/server/game/Spells/SpellMgr.h
#	src/server/game/World/World.cpp
2019-07-24 23:53:31 +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
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
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
ccrs
294a3a2789 Core/Unit: movement related corrections prior to getting Charmed 2019-07-12 20:06:27 +02:00
ccrs
4fa3c04b72 Core/Unit: f869c49 followup
Movement Pause/Clear is already handled in Unit::SetCharmedBy and Unit::RemoveCharmedBy, respectively

TODO: missing PAUSE handling in RandomMovementGenerator
2019-07-07 17:41:36 +02:00
Wyrserth
f869c4969e Core/Vehicle: prevent creature vehicles from following their old movement generator when a player enters them in some cases.
Closes #21731 and #22368.
2019-07-07 17:12:22 +02:00
Wyrserth
12e545f7e2 Core/Conditions: allow spellclick conditions to properly work for aura apply/remove (#23527) 2019-07-05 14:11:15 +02:00
ForesterDev
c44fb37f74 Core/Unit: Implement more helper methods (#23555) 2019-07-05 14:07:35 +02:00
Treeston
f6f1c48aa5 Entities/Player: Clean up client control handling behavior around possession. Mind Control should no longer cause various weirdness. Closes #23539. 2019-07-02 11:58:12 +02:00
ForesterDev
b47bb59e2a Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender (#23520)
* Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender and fix some cases, where we should get player gender, instead of modified by display gender

* fix merge

* Add virtual methods for Unit class
2019-07-02 10:17:02 +02:00
ccrs
401777d024 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()
2019-07-01 21:36:32 +02:00
jackpoz
de88691e25 Core/Misc: Fix static analysis issues reported by Coverity Scan 2019-06-28 22:18:30 +02:00
Wyrserth
efc999227d Core/Spell: allow damage from binary spells to go through elemental resistance's damage reduction. (#23479) 2019-06-26 18:25:06 +02:00
Aokromes
fe744977c9 Coding standards (#23514)
* Coding standards

* revert part
2019-06-26 08:56:20 +02:00
Treeston
1158f267df Combat/Threat: Split ThreatManager::NotifyDisengaged off from ThreatManager::ClearAllThreat. NotifyDisengaged signifies intent to clear the engagement flag, and should only be called from AI. Fixes #23490. 2019-06-23 23:31:51 +02:00
Treeston
aeed616c22 Entities/Unit: Adjust an overzealous assert to not catch self references, and add the inverse assert too. 396f87c follow-up. 2019-06-23 16:56:15 +02:00
Treeston
f4b06fd0b7 Entities/Unit: Fix an issue where Unit pointers could be left dangling if a channeled Charm was interrupted by a control aura application. Closes #23440. 2019-06-23 16:45:32 +02:00
Treeston
396f87c30d Entities/Unit: Cleanup all the direct accesses to m_unitMovedByMe. Refactor the field to be protected. Add assertions to catch dangling pointers. 2019-06-23 16:44:37 +02:00
Treeston
632a300dd2 Core/Misc: Rename Unit::AttackedTarget to Unit::AtTargetAttacked to match naming scheme for these notifiers 2019-06-23 00:32:59 +02:00
Treeston
dbe3bbefe7 Core/Entities: Kick engagement logic upstairs to Unit (from ThreatManager), since all Units with AI need it (not just those with threat list). Fixes #17981. 2019-06-23 00:32:13 +02:00
jackpoz
c90f789eac Core/Unit: Ignore On Transport spline movements if the Unit isn't on a transport anymore
On Transport splines use coordinates relative to the transport but if the transport is not found anymore than there is no way to get the absolute coordinates, leading to relative coordinates being used as absolute instead. The result is a Unit being set at position (0, 0, 0) or close by.
2019-06-15 20:49:34 +02:00
ForesterDev
865ab86173 Core/Entities: fix excessive damage of exotic pets and some creatures (#23403)
* Core/Conditions: implement CONDITION_GAMEMASTER

* Core/Entities: fix excessive exotic pet and some creatures damage
2019-06-15 15:09:52 +02:00
Wyrserth
88c6c61b95 Core/Script: add script hook to allow overriding of a vehicle passenger's exit position (#23322)
* Core/Script: add script hook to allow overriding of a vehicle passenger's exit position.

* Allow to change orientation, and fix nopch.

* Keep original orientation, thanks jackpoz!

* Update Unit.cpp

Code cleanup

* Update Unit.cpp
2019-05-30 17:35:18 +02:00
Giacomo Pozzoni
797fba98e9 3.3.5 gameobject summoner (#23289)
* Scripts/Misc: Change IsSummonedBy(Unit*) to IsSummonedBy(WorldObject*)

* Scripts/Misc: Fix build

* Core/TempSummons: Rename GetSummoner() to GetSummonerUnit()

* Core/TempSummons: Add support to TempSummons::GetSummoner() to return GameObject too

* Fix build

* Core/TempSummons: Allow GameObject to be owner of TempSummon

* Core/TempSummons: Add support to SAI for GameObject owner of TempSummon

* Scripts/Misc: Fix no-pch build

* Core/TempSummons: Implement PR comments
2019-05-23 21:08:29 +02:00
jackpoz
a0bd68cf46 Core/Misc: Fix static analysis issues reported by Coverity 2019-05-18 16:12:23 +02:00
Killyana
fd166025c8 Remove Deprecated code 2019-05-04 16:11:50 +02:00
ccrs
aee26eb467 Core/Misc: standarize a couple logs 2019-04-28 19:41:30 +02:00
jackpoz
f45ebe71b0 Core/Misc: Fix *nix build 2019-04-28 18:53:01 +02:00
jackpoz
70fcdc687d Core/Pet: Change assert to error log
Change assert added in 43dec9e4d0 to error log since charmed creatures lose their AI until next map update
2019-04-28 18:47:19 +02:00
jackpoz
f26f716714 Core/Commands: Fix .cheat god command letting you die
Fix .cheat god command still letting you die with Area Aura like Slime near Thaddius, broken since 777b287dff
2019-04-27 14:40:28 +02:00
Killyana
c52eb49f71 Core: Remove wrong emotes played in combat
Ref #23152
2019-04-04 15:36:29 +02:00
jackpoz
1d04a3b216 Core/Misc: Fix GCC 8 warnings 2019-03-31 17:34:28 +02:00
Shauren
9d34739d69 Core/PacketIO: Fixed wrong opcode being sent for stunned creatures 2019-03-08 19:22:34 +01:00
PolarCookie
ec3cb05d7f Core/Spell: SpellAura Redux (#22794)
* typo and correction

* spell aura no longer shared between targets

_spellAura isolated

* SPELL_AURA_CONTROL_VEHICLE is not strictly single target spell

Steam Tank Control and Wyrmrest Commander

units can reseat themselves again

* Rename 9999_99_99_99_world.sql to 2019_03_08_00_world.sql
2019-03-08 08:34:16 +01:00
Gustavo
2dfea54533 Core/Units: Only update height in SetHover if unit is bellow HoverHeight (#23061) 2019-02-23 11:42:20 +01:00
jackpoz
43dec9e4d0 Core/Pet: Add assert
Add additional assert to check if it's possible for a Pet not to have an active AI when the Player owner kills an enemy.
Ref #23036
2019-02-16 19:06:56 +01:00
Shauren
8d57b32938 Core/Units: Prevent taking melee damage while dead and removed incorrect extra DealDamage call (including script hooks) for autoattacks done with a weapon that has only one damage type
Closes #23033
2019-02-16 18:58:55 +01:00
Aokromes
2d22c027fe Core/Misc: Add categories to 3 logs 2019-02-08 10:58:33 +01:00
jackpoz
46c7446bd4 Core/Spells: Fix assert triggered
Fix assert triggered when a spell would trigger another spell in OnEffectHitTarget that would kill the aura owner, then processing the main spell effects. The triggered spell can kill the aura owner, changing its death state to CORPSE and removing auras created.

Fix #21856
Ref 518e6299ca
2019-02-02 21:00:28 +01:00
jackpoz
518e6299ca Core/Spells: Fix assert triggered
Fix assert triggered when a spell would trigger another spell in OnEffectHitTarget that would kill the target, then processing the main spell effects. The triggered spell can kill the target, changing its death state to CORPSE and removing auras created.
Fix #22306
2019-01-19 17:41:03 +01:00
ccrs
954fd2639a Core/Unit: rename & cleanup GetCreatePowers
it hurted my eyes too much
2019-01-14 07:07:06 +01:00