Ovahlord
4430863a1e
Core/Spells: Implement spell queue
...
As of patch 4.1 spell casts can now be queued up 400ms before a ongoing cast finishes or the global cooldown expires to deliver a smooth transitions between casts though emulators do not really benefit from it.
closes #224
2021-05-24 17:14:55 +02:00
Ovahlord
1325c8cb97
fixed a warning
2021-05-23 13:49:54 +02:00
Ovahlord
254b4eb011
Core/Spells: Drain Life's healing effect will no longer benefit from Soul Siphon and updated Soul Siphon's bonus check to Cataclysm
2021-05-23 12:59:39 +02:00
Ovahlord
b5994ec6c5
Core/Units: improved logic for determining when a power update shall happen
2021-04-30 16:48:26 +02:00
Shauren
22eaf31bfa
Core/Spells: Only interrupt spells with interrupt flag Combat when spell also has SPELL_ATTR0_CANT_USED_IN_COMBAT attribute
2021-04-29 20:37:18 +02:00
Shauren
f3e0650886
Core/PacketIO: Reduce size of SMSG_UPDATE_OBJECT by trimming trailing zeros in values updatemask
2021-04-25 17:22:58 +02:00
Ovahlord
9ff4bbd085
Core/Spells: ported implementations of SPELL_AURA_DISABLE_CASTING_EXCEPT_ABILITIES and SPELL_AURA_DISABLE_ATTACKING_EXCEPT_ABILITIES from master branch
...
closes #93
2021-04-21 18:51:34 +02:00
ariel-
5c882e8788
Core/Unit: fixed Global cooldown cancelation on spell interrupt
2021-04-16 20:41:20 +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
eca1b5bcaa
Core/Units: fixed comma based calculations for rewarding rage
2021-04-09 19:27:44 +02:00
Ovahlord
4faabd8e18
Core/Units: refactor MeleeSpellMissChance to use a SpellInfo argument instead of using spell IDs
2021-04-07 14:20:35 +02:00
Ovahlord
2165580350
Core/Units: fixed a inversed logic mistake when determining when to remove auras with SpellAuraInterruptFlags::UnderWater
2021-04-07 13:58:41 +02:00
Ovahlord
c13c2ec421
Core/Spells: renamed SPELL_ATTR3_BLOCKABLE_SPELL to SPELL_ATTR3_COMPLETELY_BLOCKED and corrected its implementation
2021-04-07 13:22:19 +02:00
Ovahlord
51d5ad93cf
Fixed build
2021-04-07 12:41:15 +02:00
Ovahlord
71356d7971
Core/Spells: added missing SPELL_ATTR10_IGNORE_POSITIVE_DAMAGE_TAKEN_MODS check to SpellBaseDamageBonusTaken
2021-04-07 12:40:05 +02:00
Ovahlord
eb22ea3af3
Core/Units: added a missing check for SPELL_ATTR10_IGNORE_POSITIVE_DAMAGE_TAKEN_MODS when checking for SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
2021-04-07 12:31:52 +02:00
Ovahlord
47ad0286b1
Core/Units: added a missing spell id check in MeleeSpellMissChance
2021-04-07 12:26:29 +02:00
Ovahlord
c927bb7924
Core/Units: fixed a typo in MeleeDamageBonusTaken
2021-04-07 12:21:11 +02:00
Ovahlord
6052573c87
Core/Spells: defined and implemented SPELL_ATTR7_CANT_DODGE, SPELL_ATTR7_CANT_PARRY, SPELL_ATTR7_CANT_MISS, SPELL_ATTR8_CANT_BLOCK, SPELL_ATTR10_ALLOW_DEFENSE_WHILE_CASTING and SPELL_ATTR10_ALLOW_DEFENSE_WHILE_CHANNELING
2021-04-07 12:17:48 +02:00
Ovahlord
3fd333cff9
Core/Spells: defined and implemented SPELL_ATTR10_IGNORE_POSITIVE_DAMAGE_TAKEN_MODS
2021-04-07 11:38:23 +02: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
Ovahlord
ca13843290
fixed build
2021-03-24 15:24:39 +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
c1cb11c19f
Core/PacketIO: implement and enable SMSG_PLAY_SPELL_VISUAL
2021-03-12 21:56:15 +01:00
Ovahlord
bc0703e55c
Core/Units: fixed more static analysis issues
2021-03-11 19:53:48 +01:00
Ovahlord
218dff6847
Core/Units: further improvements for 7a08639397
...
Fixed an edge case in which units with SPELL_AURA_MOD_DAMAGE_FROM_MANA would deal zero damage when their total bonus or scaling coefficient would be zero
2021-02-28 17:24:04 +01:00
Ovahlord
7a08639397
Core/Units: fixed a typo that was causing units without mana to deal no spell damage anymore
2021-02-28 16:59:12 +01:00
Ovahlord
2711267480
Core/Spells:
...
* handle PLAYER_FIELD_MOD_HEALING_DONE_PCT in SPELL_AURA_MOD_HEALING_DONE_PERCENT
* handle PLAYER_FIELD_MOD_HEALING_PCT in SPELL_AURA_MOD_HEALING_PCT
2021-02-27 19:07:39 +01:00
Ovahlord
cd1de5078d
Core/Spells: improve implementation of SPELL_AURA_MOD_DAMAGE_FROM_MANA
2021-02-27 16:05:38 +01:00
Ovahlord
ba26ff03ba
fixed another warning
2021-02-27 13:49:28 +01:00
Ovahlord
6e3539df30
Core/Spells:
...
* corrected implementation of SPELL_AURA_MOD_SPELL_POWER_PCT
* ported implementation of SPELL_AURA_OVERRIDE_SPELL_POWER_BY_AP_PCT from master branch
* dropped some deprecated class script handlings and moved Nourish 20% healing bonus to spell script
2021-02-27 12:37:14 +01:00
Ovahlord
14cf32da88
Core/Spells: minor cleanup for ad175f11f6
2021-02-27 00:17:01 +01:00
Ovahlord
ad175f11f6
Core/Spells: renamed SPELL_AURA_MOD_HEALING_FROM_TARGET_HEALTH to SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH and make its implementation look a bit prettier
2021-02-26 23:33:56 +01:00
Metalaka
4343dd6d55
Core/Unit: Improve Glancing Blow calculation
2021-02-21 20:22:03 +01:00
Ovahlord
43d76be2fd
fixed a warning
2021-02-20 23:30:46 +01:00
Ovahlord
ca288aaab3
Core/Units: updated crit healing bonus calculation with patch 4.2.0 change
2021-02-20 23:13:45 +01:00
Ovahlord
c288745598
Revert "Core/Unit: Improve Glancing Blow calculation"
...
This reverts commit 3d2013e168 .
2021-02-20 19:11:30 +01:00
Metalaka
3d2013e168
Core/Unit: Improve Glancing Blow calculation
2021-02-19 18:47:47 +01:00
Ovahlord
0299fa4fe1
Core/Misc: replace boost::optional with std::optional
2021-02-19 14:07:43 +01:00
Shauren
ef25a19326
Core/Units: Allow mind controlling non-controllable vehicles (for example players that become vehicle during boss encounters or creatures that only are vehicles to show non standard power type)
...
Closes #24562
2021-02-19 13:15:08 +01:00
Ovahlord
c3e9861723
Core/Movement: implement creature movement info table to override movement speeds based on movement IDs
...
thx to @xvwyh for providing initial table data for the most common entries
2021-02-16 16:56:10 +01:00
Ovahlord
cc25457fe8
Core/Units: send AI reactions uppon entering combat instead of attacking an enemy
2021-01-31 14:08:58 +01:00
Shauren
69fb775c2d
Core/Spells: Defined new spell attributes
2021-01-15 18:23:09 +01:00
Giacomo Pozzoni
5e3b57bae7
Core/Unit: Fix movement hiccups in water
...
* Core/Unit: Allow to define Units which can enter water but cannot swim
Allow to define Units which can enter water but cannot swim, i.e. crabs walking at the bottom of a sea.
* Add UNIT_FLAG_SWIMMING to creatures when entering combat
* Fix charmed creatures not entering water
* Always allow Creatures controlled by players to enter water
* Add swimming flag when possessing a unit and remove it properly at the end, even if the creature engaged combat before and after.
When adding/removing UNIT_FLAG_SWIMMING manually calling Creature::RefreshSwimmingFlag(true) might be required.
2021-01-11 12:33:54 +01:00
Ovahlord
c3831d30e5
Core/Packets: converted SMSG_PARTY_MEMBER_STATE and SMSG_PARTY_MEMBER_FULL_STATE to packet class
...
* handle GROUP_UPDATE_FLAG_PHASE when changing phases
* define and implement GROUP_UPDATE_FLAG_WMO_GROUP_ID
2021-01-09 16:42:53 +01:00
Ovahlord
754c138f89
Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch
2020-11-04 22:37:11 +01:00
Ovahlord
88024e0e74
Core/Packets: converted more packets to packet class
2020-11-02 17:51:08 +01:00
Ovahlord
3d29ffeb1a
Partial revert of af9c6b4483
...
send the packet to all other players instead
2020-10-24 11:24:40 +02:00
Ovahlord
af9c6b4483
Core/Units: do not send loot list packets to players when they are not in a group
2020-10-24 10:03:29 +02:00