Commit Graph

2002 Commits

Author SHA1 Message Date
Robingad
995fb23bc1 Core/Scripts: Add SpellInfo argument to ScriptMgr::ModifySpellDamageTaken (#26141) 2021-02-28 18:42:36 +01:00
Ovah
ee2ebfe87d Core/Auras: implemented SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH (#26176) 2021-02-27 20:55:59 +01:00
Ovah
2a51edc5bc Core/Creatures: Implemented extra flag to use offhand attacks (#21008)
* Fixed initial offhand attack timer so the main and offhand attacks will now act blizzlike instead of getting executed at the same time

Note: since some creature equipment items cannot be identified as weapon since they are only visual items there is no way to detect this automaticly
(cherry picked from commit 869affa893)
2021-02-25 18:50:55 +01:00
Matan Shukry
03f1d3cedf Core/Auras: Implemented SPELL_AURA_MOD_POWER_GAIN_PCT (#26132) 2021-02-23 17:36:36 +01:00
Shauren
ac1ef5efbe Core/Auras: Implemented SPELL_AURA_DISABLE_ATTACKING_EXCEPT_ABILITIES 2021-02-21 16:10:48 +01:00
Shauren
1b8ef46808 Core/Auras: Reimplement SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES to properly allow casting listed spells 2021-02-21 16:10:22 +01:00
Shauren
84cb6718ee Core/Auras: Implemented SPELL_AURA_MOD_CRIT_CHANCE_VERSUS_TARGET_HEALTH and SPELL_AURA_MOD_CRIT_CHANCE_FOR_CASTER 2021-02-21 15:43:58 +01:00
Shauren
983e565650 Core/Auras: Restore old SPELL_AURA_MOD_HOT_PCT implementation from 3.3.5 branch 2021-02-21 15:39:14 +01:00
Shauren
ffbbc1d8e5 Core/Auras: Implemented SPELL_AURA_MOD_AUTOATTACK_RANGE and SPELL_AURA_MOD_AUTOATTACK_CRIT_CHANCE 2021-02-21 15:35:33 +01:00
Shauren
4ee565b2c8 Core/Auras: Implemented SPELL_AURA_MOD_PERIODIC_DAMAGE_TAKEN 2021-02-21 15:20:18 +01:00
Shauren
bd7c714c97 Core/Auras: Rename many old aura types to their new meaning 2021-02-21 15:16:55 +01:00
Shauren
04bf6b500d Fix build 2021-02-20 14:30:44 +01:00
Shauren
31d3080091 Core/Players: Corrected shield block value calculations 2021-02-20 14:00:48 +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
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
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
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
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
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
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