Commit Graph

2189 Commits

Author SHA1 Message Date
Shauren
31d3080091 Core/Players: Corrected shield block value calculations 2021-02-20 14:00:48 +01:00
Shauren
331b9ccd6a Core/Entities: Regenerated updatefields code with latest generator fixes 2021-02-15 00:19:35 +01:00
Matan Shukry
c261b16a32 Core/Spells: Add const to triggeredByAura argument on Unit::CastSpell(GameObject* go,... overload for consistency 2021-02-13 14:08:16 +01:00
Shauren
49992508a4 Core/Movement: Refresh collision height on shapeshifting 2021-02-11 22:59:28 +01:00
Shauren
409ca262b3 Core/Movement: Updated MovementFlags2 for 9.0.2 2021-02-11 22:03:30 +01:00
Shauren
9e9fb667ec Core/Creatures: Fixed crediting loot and quests for creatures using level scaling
Closes #26058
2021-02-09 17:40:47 +01:00
Robingad
964340bb76 Core/Auras: Handle SPELL_AURA_MOD_AUTOATTACK_DAMAGE
(cherry picked from AshamaneProject/AshamaneCore@92bbcfde0b)
2021-02-07 19:43:13 +01:00
Traesh
e11067a398 Core/Auras: Handle SPELL_AURA_MOD_SCHOOL_MASK_DAMAGE_FROM_CASTER
(cherry picked from commit AshamaneProject/AshamaneCore@458d0f2a53)
2021-02-07 19:43:13 +01:00
Shauren
d697882dfb Core/Auras: Renamed a bunch of unknown or changed spell aura types and implemented some of them 2021-02-03 19:25:30 +01:00
ccrs
bf12bae467 Core/Misc: waypoint movement
- Creature: update current waypoint to store nodeId and pathId
- MotionMaster: change variable type on GetMotionSlotType and GetMotionSlot to keep consistency and prevent errors (ASSERT is now no longer needed)
- UnitAI: add new waypoint hooks WaypointPathStarted and WaypointPathEnded
- SAI: handle WAYPOINT related events if creature is no escorting
* SMART_EVENT_WAYPOINT_RESUMED still not implemented for no escorting

TODO: the new hooks can save, now duplicated, logic on EscortAI and SAI

closes #20777
updates #20310
updates 21bd52cb99

(cherry picked from commit e10d7dd45c)
2021-01-29 19:23:53 +01:00
Robingad
22d6ea3620 Core/Auras: Fixed stacking SPELL_AURA_MOD_CRIT_DAMAGE_BONUS with SPELLMOD_CRIT_DAMAGE_BONUS (#25978) 2021-01-29 10:52:38 +01:00
Shauren
28d470c50e Build fix 2021-01-15 15:47:59 +01:00
Robingadko
f9650a3fae Core/Units: Fixed max damage of base attack (#25813) 2021-01-06 23:33:35 +01:00
Vladislav Golub
5bb6243f1a Core/Misc: Adjust comment about can fly movement flag (#24927) 2020-12-31 23:30:19 +01:00
Sevi
c7b10d3c5f Core/Vehicles: add a way to delay the Vehicle despawn Time if its needed.
* New database table `vehicle_template` holds info for despawn delay with option to extend it in the future
2020-12-31 14:13:29 +01:00
Shauren
96d340f70c Core/PacketIO: Updated packet structures to 9.0.2 2020-12-08 18:16:47 +01:00
Shauren
b82a3a557a Core/DataStores: Updated db2 structures to 9.0.2
* Includes support for new character customization
2020-12-08 18:16:47 +01:00
Shauren
7f6eef37e6 Core/Spells: Use new spell visual structure instead of just SpellXSpellVisualID 2020-12-08 18:16:46 +01:00
Shauren
83eecaf2c4 Core/PacketIO: Fill new packet fields with data 2020-12-08 18:16:46 +01:00
Shauren
cab4c87d2d Core/PacketIO: Updated most packet structures to 9.0.1 2020-12-08 18:16:41 +01:00
Shauren
dd21e7ff40 Core/Spells: Implemented using base weapon damage in spell attack power formulas 2020-09-07 20:59:50 +02:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
Treeston
f97b601d93 Core/Creature: Fix an oversight in Creature::SelectVictim that was causing creatures to evade when chased by another creature from outside their own aggro range. Closes #19998.
(cherry picked from commit 1f57d1ac67)
2020-08-23 16:01:13 +02:00
ccrs
0a133e77d6 Core/Movement: 7fff83d675 followup
remove home position set from creature PauseMovement, and use it when necessary
change log level on DelayedDelete

(cherry picked from commit cd4775420a)
2020-08-23 00:48:46 +02:00
ccrs
97585597f0 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)

(cherry picked from commit 7fff83d675)
2020-08-23 00:45:46 +02:00
Treeston
acb4934f76 Core/Unit: Don't apply liquid effects to game masters.
(cherry picked from commit 2644fa703a)
2020-08-22 13:35:46 +02:00
Treeston
e5836dcc1a Core/Unit: No code change, just updating a comment with insights gleaned from sniffs.
(cherry picked from commit f2f45765e4)
2020-08-20 00:19:23 +02:00
jackpoz
77e6355fba Core/Misc: Fix static analysis issues
(cherry picked from commit 9cf4dd7345)
2020-08-19 00:14:06 +02:00
treeston
2dfafa69eb Hi, I'm Treeston, and welcome to Combat PR Prep Refactors.
Today, we're moving UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC to higher-level abstraction so combat manager can react to it.
New methods on Unit:
- void SetImmuneTo<All/PC/NPC>(apply, keepCombat = false);
- bool IsImmuneTo<All/PC/NPC>() const;

(cherry picked from commit 74af880217)
2020-08-18 18:53:13 +02:00
Ovah
71db17220a Core/Spells: enable and implement SMSG_MISSILE_CANCEL (#25215) 2020-08-16 12:07:51 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Treeston
8be23fcbbd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.

(cherry picked from commit e2a1ccd118)
2020-08-13 22:46:44 +02:00
treeston
09027e5ccc Fix an overly strict check that was causing guardians to evade loop. Also make players properly enter combat when their pets are engaged by a creature.
(cherry picked from commit 052fc24315)
2020-07-16 22:00:30 +02:00
Treeston
51ce3b1c1d [3.3.5] Get zone/area IDs from vmap data in the liquid update (#19840)
* Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
* Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject
* Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields
* Clean up liquid state handling on Unit and Player
* Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject.

Closes #16489

(cherry picked from commit f6c849729b)
2020-07-16 22:00:24 +02:00
Treeston
f7a7d02a7f Pet/Guardian AI hook re-organizing (#19824)
* Pet/Guardian AI hook re-organizing:
- Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets.
- Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait.
  - Adjust PetAI to use DamageTaken instead of AttackedBy.
  - Adjust behavior of AttackStart on PetAI to compensate.

(cherry picked from commit 1660bb7d27)
2020-07-16 21:47:28 +02:00
Shauren
661470c658 Core/PacketIO: Convert all leftover packets to use packet classes 2020-07-02 00:07:38 +02:00
Peter Keresztes Schmidt
bab5fd87a3 Core/Misc: Replace Trinity::make_unique with std (#24869) 2020-06-23 08:54:12 +02:00
Treeston
aa811d57b6 Partial revert of 15a207f, which was causing issues (ref #4943 and #19768). Instead, fix the underlying issue from 15a207f one level further down - Unit::getAttackerForHelper() shouldn't return units that we aren't in combat with (victim can be such a unit for players/player pets, which can startattack from a distance without entering combat). (#19814)
Fixes the following issues:
- Player pets would aggro neutral mobs as soon as they start autocasting (Imp's Firebolt) if they're in react range (due to victim != null, autocast counts as autoattack and sets victim)
- Neutral mobs would randomly evade when aggro switched between targets.

Closes #19768, #19485 and #10921.

(from PR #19814)

(cherry picked from commit 69fd6245dc)
2020-06-14 23:49:04 +02:00
Treeston
496263fccb Fix evade issues when a spell hits the target just before evading. (#19815)
- Creatures should no longer get stuck in evade mode following a target if a spell hits the creature just as it's entering evade mode.
- Fixes and closes #4943. Finally.

(cherry picked from commit 1945874f96)
2020-06-14 23:49:04 +02:00
ariel-
f1eb73001c Core/Spell: fixed some problems with per caster aura states
- Update clients whenever target has more than one application of an aura that applies such aurastate
- Update again when one application gets removed
- Fixed Fire and Brimstone computing damage if any warlock applied the Immolate (should only count for own)

Closes #19790

(cherry picked from commit e27c385b48)
2020-06-14 23:49:04 +02:00
ariel-
19eeca684f Core/Unit: don't clear low health aura states on death
- Confirmed with sniffs, healthless states aren't cleared
- Prevents some procs from happening

Closes #19754

(cherry picked from commit 05b42eef7e)
2020-06-14 22:47:27 +02:00
ariel-
3698f3a262 Core/Entities: allow guardian pets to inherit spellmods
(cherry picked from commit 97e608b053)
2020-06-14 20:09:45 +02:00
Shauren
6533de3100 Core/Items: Implemented corruption and corruption resistance stats 2020-06-13 00:30:32 +02:00
Shauren
c7306439e7 Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower 2020-06-12 01:29:18 +02:00
Shauren
4d69cc1c56 Core/Misc: GCC build and warning fixes 2020-05-21 22:15:58 +02:00
funjoker
314a35f0cd Core/Creatures: Update creature scaling to use content tuning
Closes #22831
2020-05-02 22:37:28 +02:00
ariel-
4f6d38fe9d Core/Entities: moved PetAura handling to Player where it belongs
(cherry picked from commit 231ec8331b)
2020-04-29 01:36:47 +02:00
ariel-
93c19c4194 Core/Misc: camelize GetFaction/SetFaction properly
(cherry picked from commit 4c4dca6d69)
2020-04-29 01:36:41 +02:00
ccrs
a46286a803 Core/Unit: revert 3ea46e57af
After discussion we realized, ariel and me, that Creature and Unit IsMovementPreventedByCasting() have not the same checks (order matters)

(cherry picked from commit 5a2f0ce29e)
2020-04-28 22:42:17 +02:00
ariel-
6a96addadd Core/Unit: 229444b74a follow-up
- IsFocusing is made virtual again, so there's no need to keep a duplicated function

This reverts commit 5043639c56.

(cherry picked from commit 3ea46e57af)
2020-04-28 17:51:57 +02:00