Commit Graph
360 Commits
Author SHA1 Message Date
Shauren a322e4eb37 Core/Spells: Implemented target 124 TARGET_UNIT_TARGET_TAP_LIST 2021-12-30 20:16:33 +01:00
Shauren 383e7c1315 Core/Spells: Implemented target 121 TARGET_CORPSE_TARGET_ALLY 2021-12-30 20:14:29 +01:00
Ovahlord 8bb9376aa2 Core/Spells: Rename targets 110 to TARGET_UNIT_CONE_CASTER_TO_DEST_ENTRY 2021-12-30 20:12:02 +01:00
Shauren 84c7434b8b Core/Spells: Rename targets 108 and 109 to include CASTER_TO_DEST wording 2021-12-30 20:10:09 +01:00
Shauren 5fcf5bdee5 Core/Spells: Implemented target 107 TARGET_DEST_NEARBY_ENTRY_2 (the same as target 46) 2021-12-30 20:08:10 +01:00
Shauren 28f79765ca Core/Spells: Implemented target 62 TARGET_DEST_CASTER_GROUND (the same as target 125) 2021-12-30 20:00:42 +01:00
Shauren 7ef17f416c Core/Spells: Rename TARGET_UNIT_CONE_ENEMY_54 to TARGET_UNIT_CONE_180_DEG_ENEMY and add 180 degree fallback for this target type 2021-12-30 19:57:50 +01:00
Shauren 8e657a9b7c Core/Spells: Implemented target 105 TARGET_UNIT_CASTER_AND_PASSENGERS 2021-12-30 19:55:29 +01:00
Shauren 0ef0498d13 Core/Spells: Rename TARGET_UNIT_CONE_ENEMY_104 to TARGET_UNIT_CONE_CASTER_TO_DEST_ENEMY 2021-12-30 19:46:50 +01:00
Ovahlord 8596cf6be2 Core/Spells: renamed SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING to SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL to match its leaked name 2021-12-26 22:09:27 +01:00
Ovahlord 3a2e3452e0 Core/Spells: implement TARGET_UNIT_CASTER_PASSENGERS (105)
closes #297
2021-11-17 17:47:18 +01:00
Ovahlord edbbeba5a2 Core/Movement: ported client control logic updates from 335 branch 2021-11-06 23:41:34 +01:00
Ovahlord b10f962ba3 Core/Creatures: several cleanups and improvements to spell focusing to reduce edge case issues 2021-10-21 13:18:24 +02:00
Ovahlord 5e677b876b Core/Spells: restored the old logic when determining when to add additional haste based ticks 2021-09-19 14:36:01 +02:00
Ovahlord 0ef4e66c1d make CI happy 2021-09-19 10:21:44 +02:00
Ovahlord 6c7e2830c1 Core/Spells: fixed a possible null divider crash for spells with a periodic interval of 0 caused by exceptionally high haste and spell mod values 2021-09-18 23:25:33 +02:00
Ovahlord 9616582b05 Core/Spells: load BonusCoefficient into SpellInfo and use it for Goblin's Rocket Barrage Racial spell damage calculation 2021-08-28 15:01:28 +02:00
Ovahlord be614ded97 Core/Misc: fixed issues reported by pvs studio
closes #281
2021-08-18 21:11:20 +02:00
Ovahlord 6510b2b034 Core/Spells: fixed a cherrypick typo in checking for affecting spellmods 2021-07-06 10:55:05 +02:00
Ovahlord 8011d2de29 Core/Spells: ported resistance and immunity updates from 3.3.5 branch 2021-06-12 14:10:44 +02:00
Ovahlord 95651d9f88 Core/Spells: renamed SPELL_ATTR1_REQ_COMBO_POINTS1 to SPELL_ATTR1_FINISHING_MOVE_DAMAGE and SPELL_ATTR1_REQ_COMBO_POINTS2 to SPELL_ATTR1_FINISHING_MOVE_DURATION and implemented them 2021-05-16 19:19:51 +02:00
Ovahlord bf28dfcf0c Core/Spells: corrected a check when retrieving mechanic immunities in cast and channel packets and fixed a typo in SMSG_CHANNEL_START that was overwriting school immunities with mechanic immunities instead 2021-04-27 15:42:50 +02:00
Ovahlord b82943eab0 Core/Spells: renamed SPELL_ATTR5_HASTE_AFFECT_DURATION to SPELL_ATTR5_SPELL_HASTE_AFFECTS_PERIODIC and renamed SPELL_ATTR8_UNK17 to SPELL_ATTR8_HASTE_AFFECTS_DURATION 2021-04-16 16:12:58 +02:00
Ovahlord 77158594ff Core/Spells:
* renamed SPELL_ATTR3_CANT_TRIGGER_PROC to SPELL_ATTR3_CANT_TRIGGER_CASTER_PROCS and expanded its implementation
* renamed SPELL_ATTR3_NO_INITIAL_AGGRO to SPELL_ATTR3_CANT_TRIGGER_TARGET_PROCS and implement the attribute
* expanded implementation SPELL_ATTR2_NO_INITIAL_THREAT to cover all remaining spots
2021-03-30 17:50:27 +02:00
Ovahlord f43d8aa804 fixed build 2021-03-29 21:20:49 +02:00
Shauren a8f0ec3e92 Core/Auras: Corrected logic used to determine if a spellmod should affect another spell, empty family name or class mask should not apply to any spell 2021-03-27 09:49:53 +01:00
Ovahlord 6301a324cd Core/Spells: added and updated SpellCategoryFlags and implemented SpellCategoryFlags::CooldownInDays 2021-03-25 17:10:51 +01:00
Ovahlord 83298b52a2 Core/Spells: ported SpellInterruptFlags updates from master branch and corrected some own implementations based on these new results 2021-03-25 15:53:26 +01:00
Shauren fed82c1002 Core/Auras: Defined and implemented many new interrupt flags 2021-03-24 14:53:30 +01:00
Shauren 45df49c826 Core/Spells: Updated spell shapeshift form flags enum 2021-03-24 13:16:17 +01:00
Ovahlord ffc05d0bf1 Core/Spells: implement helper to filter mechanic immunities in packets to reflect sniff behavior and removed pct heal effects from heal prediction
Despite being able to send all mechanic immunities in spell_start and channel_start, sniffs confirm that only relevant immunities are being sent which in most cases are silence and interrupt immunities. Further sniff analysis may reveal even more possible interrupt flags
2021-02-26 11:30:44 +01:00
Ovahlord 7b0e15d149 Core/Spells: fixed calculating additional aura duration for haste based periodic spells 2021-02-20 23:31:43 +01:00
Matan Shukry abae5e4596 Core/Spells: Implemented summoning a personal gameobject effect (#25917)
# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Miscellaneous/SharedDefines.h
#	src/server/game/Spells/SpellInfo.cpp
2021-02-19 13:01:10 +01:00
xvwyh 4d95bcc068 Core/Spells: Correct swapped TARGET_UNIT_NEARBY_ALLY and TARGET_UNIT_NEARBY_PARTY 2021-01-15 18:27:22 +01:00
Ovahlord 3a97aad549 Core/Spells: corrected mechanic of target type 126 and renamed it to TARGET_UNIT_AREA_ENEMY 2020-11-25 15:15:03 +01:00
Ovahlord 6dfa793567 Core/Spells: define and enable TARGET_UNIT_SRC_AREA_ENEMY_2 2020-11-25 10:07:36 +01:00
Keader 3b2ef0ec45 Scripts/BT: full instance rewrite 2020-11-05 17:42:33 +01:00
Ovahlord 25c980c390 Core/Units: ported spell crit chance updates from 335 branch 2020-08-28 11:46:07 +02:00
Treeston 942c3a77da Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.
2020-07-22 16:49:37 +02:00
Ovahlord e1d74d4dc6 Core/Misc: added more fallthrough attributes and added some missing breaks reported by CI 2020-07-19 12:24:58 +02:00
Peter Keresztes Schmidt a06e5d7d40 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs 2020-07-18 22:43:24 +02:00
Ovahlord a8d850ef00 Core/Spells: SPELL_EFFECT_KILL_CREDIT2 will follow the same target selection rules such as SPELL_EFFECT_KILL_CREDIT 2020-07-12 02:23:13 +02:00
Ovahlord 29c332949f Core/Spells: followup fixed for merge conflicts 2020-06-22 12:03:30 +02:00
Shauren 9fe40967b1 Core/Spells: Implemented new target types
* TARGET_UNIT_TARGET_ALLY_OR_RAID
* TARGET_UNIT_CASTER_AND_SUMMONS
* TARGET_UNIT_AREA_THREAT_LIST
* TARGET_UNIT_AREA_TAP_LIST
2020-06-22 11:49:26 +02:00
Warpten 0af44ccc01 Core/Spells: implement DoT clipping
* Core/Spells: Implementation of DoT clipping.
* Core/Utilities: Backport "EnumFlags v3.0" from master.
* Core/Spells: Switch AURA_REMOVE_MODE to a flag set.
2020-06-04 18:16:03 +02:00
Ovahlord 38f2238293 Core/Spells: removed deprecated 500ms cast time delay for spells with attribute SPELL_ATTR0_REQ_AMMO 2020-06-03 00:20:19 +02:00
Ovahlord b770d2e4d0 Core/Spells: renamed Amplitude and ValueMultiplier to match DBC field names 2020-04-16 14:40:30 +02:00
Ovahlord 6ffd3672c4 Core/Spells: added a additional scaling ratio for SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION spells that are cast by npcs that are level 81 or higher to come closer to retail values. These numbers have been reversed by using sniffed damage log packets 2020-04-10 22:50:42 +02:00
Ovahlord 98b075cb4b Core/Spells: implement TARGET_CORPSE_SRC_AREA_RAID and updated remaining resurrection effect handlers for updated corpse targeting 2020-03-26 22:03:58 +01:00
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +01:00