Commit Graph

26588 Commits

Author SHA1 Message Date
ccrs
8c12f36915 Core/Spell: move creature focus
bellow the possible interruptions

(cherry picked from commit df96e053a5)
2020-04-28 14:59:05 +02:00
ccrs
5d411e0b21 Core/CreatureAI: b6b0353bff followup
(cherry picked from commit 5fc366d03b)
2020-04-28 14:55:44 +02:00
ccrs
9a57e95f10 Core/Misc: 522f537048 followup
(cherry picked from commit 5043639c56)
2020-04-28 14:54:44 +02:00
xinef1
9842ca3f4a Core/Spells: Corrected aura SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK handling for auras with very high values (#19054)
(cherry picked from commit e30e11d4c7)
2020-04-28 14:49:14 +02:00
ariel-
3c2882c29d Core/Player: don't check quest requirements against RewardNextQuest
- This field is only used to propose a new quest to player after completion, shouldn't be used to condition current quest

Closes #19515

(cherry picked from commit a82a12b5ef)
2020-04-28 14:14:42 +02:00
ariel-
f3a49059ac Core/AI: some tweaks on boundary functionality:
- Moved SetBoundary to public scope to allow for greater flexibility (ie set from external script)
- Extended to allow checking inverted boundaries

(cherry picked from commit 6892404b27)
2020-04-28 14:07:43 +02:00
ariel-
bb3f2a11cf Core/AI: added a function to allow 0 damage attacks (sparring) depending on target
(cherry picked from commit 3a2ecaa05f)
2020-04-28 14:05:16 +02:00
jackpoz
49f25f6e33 Core/Misc: Fix static analysis issues
(cherry picked from commit 486b032343)
2020-04-28 13:47:58 +02:00
Keader
cc148ebc40 Core/Scripts: Added a missing break in Illidan Stormrage script
Thanks Jackpoz

(cherry picked from commit 3194d089cb)
2020-04-28 13:44:02 +02:00
jackpoz
6611211d31 Core/Misc: Fix static analysis issues
(cherry picked from commit 65aeeafad3)
2020-04-28 13:43:40 +02:00
ariel-
dea7159745 Core/Scripts: fix gaseous bloat proc (again)
- UNIT_STATE_CASTING removal not needed for movement now, but it's needed for melee attacking

(cherry picked from commit 85076dd799)
2020-04-28 13:40:56 +02:00
ariel-
3eee76b1c6 Core/Quests: implemented MSG_QUEST_PUSH_RESULT notifications
- Allow to share already completed (but not rewarded) quests, restriction was unblizzlike

thanks Cannix for the heads up

(cherry picked from commit 157e9311c4)
2020-04-28 13:32:46 +02:00
Keader
292c03ec04 Core/Scripts: Fix a typo in Blood Prince Council
Thanks ariel-

(cherry picked from commit 136f1e75aa)
2020-04-28 13:13:49 +02:00
xinef1
16cf95654f Various quest system fixes (seasonal quests, timed quests and more) (#18940)
- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone

Closes #18913
Closes #11187
Closes #15279

(cherry picked from commit cbbb745246)
2020-04-28 12:56:03 +02:00
ariel-
9ef39fa5d2 Core/Movement: allow focused spells to not break movement if it's movement allowed spell
- Core/Unit: made IsFocusing virtual

Thanks to ccrs for suggestion

(cherry picked from commit 522f537048)
2020-04-28 12:35:23 +02:00
ariel-
52ab270768 Core/Spell: don't make creature change orientation to 0 if channeling self
(cherry picked from commit 1f4439ece4)
2020-04-28 12:35:22 +02:00
ariel-
5e32e96278 Core/Spell: define channels without movement interrupt flags as allowed move
- Remove script hacks no longer needed

(cherry picked from commit 3a0cb90ea9)
2020-04-28 12:35:16 +02:00
Traesh
98b1c02a1c Core/Packets Fix SMSG_START_TIMER struct & update to new packet system (#22614) 2020-04-27 21:31:27 +02:00
ariel-
9c53ee0fe8 Core/AI: prevent launching a new MoveChase if victim didn't change
Thanks ccrs for feedback :P

(cherry picked from commit b6b0353bff)
2020-04-27 18:29:39 +02:00
Xyventh
2bd7c9aa40 [3.3.5] Core/Quest: always send the specified RewardNextQuest regardless of eventual scripts (#19498)
- Fixes certain situations in which the quest window would get stuck after completing a quest

(cherry picked from commit f0bf1fc77a)
2020-04-27 18:23:07 +02:00
tkrokli
cf3c5dc948 Core/Scripts: Willix the Importer - $n in aggro text
* In the existing core script, Willix the Importer in Razorfen Kraul says
"Help! Get this $n off of me!" (showing the $n part in his SAY text)
instead of naming the attacker when using his 'SAY_AGGRO1' creature_text.

* With this commit change, unit target is no longer missing for Talk,
making Willix name the attacking unit when he shouts for help.

(cherry picked from commit 6cc267d909)
2020-04-27 17:29:27 +02:00
ariel-
cfdde556cd Core/Player: don't randomly change temporary spell status
- They shouldn't be saved in db
- Prevented temporary spell removal after a save

Closes #14373

(cherry picked from commit 7ffe056366)
2020-04-27 15:50:27 +02:00
ariel-
e3eca0c264 Core/Spell: fix creature focus with channeled spells
- Remove one not needed ReleaseFocus, this is done at finish already

(cherry picked from commit 88c12b45d0)
2020-04-27 15:34:38 +02:00
ariel-
92719d1dc9 Revert "Core/Spell: don't set scaleAura for some special spells"
This reverts commit 1ca8434b36.

Closes #19472

(cherry picked from commit c296d255e2)
2020-04-27 15:20:00 +02:00
ariel-
8889b6f54c Core/Unit: fix SPELL_AURA_MOD_DAMAGE_DONE damage calculation on non-melee schools
for Keader :P

(cherry picked from commit 66ac1509ae)
2020-04-27 14:58:52 +02:00
ariel-
71c2fda113 Core/Spell: register spell mod owner properly on spell cast
- This fixes pets and totems getting mods from owner

(cherry picked from commit 8b52cf902b)
2020-04-27 14:51:36 +02:00
ariel-
677df56d2d Core/Auras: don't skip stack rule check whenever spells have same ID
- The auras might not have the same amounts due to spellmods

Closes #1626

(cherry picked from commit 9414f50f5c)
2020-04-27 14:31:29 +02:00
ariel-
1edfd0d064 Core/Spell: fix broken Unit::GetHighestExclusiveSameEffectSpellGroupValue
- Affects 3 aura effects currently, should be rewritten with GetTotalAuraModifier maybe?

(cherry picked from commit d44a44abac)
2020-04-27 14:31:29 +02:00
ariel-
60824d8c7a Core/Spell: fix nopch build x2
(cherry picked from commit abaa9d635a)
2020-04-27 14:31:29 +02:00
ariel-
3675d2b494 Core/Spell: fix nopch build
(cherry picked from commit f0a93140e8)
2020-04-27 14:31:28 +02:00
ariel-
4523c5619b Core/Spell: build fix
(cherry picked from commit 9a05157003)
2020-04-27 14:31:28 +02:00
ariel-
52e00746cf Core/Spell: fixed SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT to actually check effects
- This commit enables stack rule 3 to be properly used to fix auras that should be active but only one providing effects, even if the spell has multiple auras

Closes #19454

(cherry picked from commit 9900899dd9)
2020-04-27 14:31:21 +02:00
ariel-
f31e380499 Core/Spell: check aura positivity per effect on spell hit
- Fixes applying DR to positive effects, and changing duration of whole aura

Closes #19447

(cherry picked from commit 232e631390)
2020-04-27 12:25:52 +02:00
ariel-
296abf3e12 Core/Player: fix use after free crash
(cherry picked from commit d914c55c05)
2020-04-27 12:25:52 +02:00
ariel-
fc0a037eef Core/Spell: fix SPELL_ATTR3_IGNORE_HIT_RESULT bypassing reflects
Closes #19440

(cherry picked from commit 83177e771a)
2020-04-27 12:25:52 +02:00
ariel-
7dcc185a15 Core/Instance: stop updating the instance resettimes based on creature respawns
- Rather update normal instance reset time to 2 hours after last creature kill
- This fixes yet another integer overflow due to the possibility of having time_t max showing up
- Also change respawntime and resettime fields to bigint on respawn/instance related tables
- Start using prepared statements on the InstanceSaveMgr

(cherry picked from commit 4c593f12ca)
2020-04-27 12:25:52 +02:00
ariel-
a2ee35d9a3 Core/Misc: pch fixes pt 2
(cherry picked from commit e32a4f26aa)
2020-04-27 12:25:52 +02:00
ariel-
0d8c1b49b8 Core/Creature: fix integer overflow in Creature::Update leading to endless thrashing of characters database
Closes #19182

(cherry picked from commit 66755eecf1)
2020-04-27 12:25:52 +02:00
ariel-
7c571c5b0a Core/Misc: fix non-pch build
(cherry picked from commit 5e0485178d)
2020-04-27 12:25:52 +02:00
xinef1
090fd8304a Core/Loot: implement Loot Item Storage (#19018)
* Created Item Loot Storage, no more synchronous DB selects
* Fixed buyback case, where stored loot was not removed from db
* Added Primary key, and changed field types to be unsigned for table item_loot_money

(cherry picked from commit 9dc3de10f0)
2020-04-27 12:25:52 +02:00
ccrs
4e03d2717a Core/Movement: correct no point recalculation on speed change in TargetedMovementGenerator
(cherry picked from commit 4d7e7a97b3)
2020-04-27 12:25:52 +02:00
ariel-
e5e37f0d86 Core/Unit: fix crash on magic school autoattacks
Closes #19436

(cherry picked from commit 0b50ea072e)
2020-04-27 12:25:52 +02:00
ariel-
1960a95425 Core/Unit: cleanup and minor fixes of miss and resist calculations
- Removed Unit::GetUnitMeleeSkill as it was basically a copy of GetMaxSkillValueForLevel
- Removed static from GetEffectiveResistChance, as this was passed anyways, changed name to CalculateAverageResistReduction, which better reflects what it does
- Fix melee miss chances calculated from attacker maxskill instead of victim maxskill
- Do actual checks if spell can be resisted/missed in MagicSpellHitResult (ie chances > 0)
- Fixed SPELLMOD_RESIST_MISS_CHANCE calculation in MeleeSpellMissChance
- Minor codestyle and cleanup of diminishing returns calcs

(cherry picked from commit e565b34f6d)
2020-04-27 12:25:52 +02:00
ariel-
16e3796c7f Core/Misc: fix static analysis issues
CID 1373466
CID 1373481
CID 1373482

(cherry picked from commit e478434146)
2020-04-27 12:25:52 +02:00
ariel-
9e945615bc Core/Quest: fix RewardNextQuest being used to condition previous quests in chain
(cherry picked from commit 214b8e53c5)
2020-04-27 12:25:52 +02:00
Keader
304eeea570 Core/Scripts: Baltharus the Warborn preincrement _cloneCount
(cherry picked from commit 2921449a33)
2020-04-27 12:25:52 +02:00
ccrs
84df2c57a3 Core/Movement: FormationMovementGenerator
Use own movement generator for creatures following on a formation.
First step of implementation, huge room for improvement.

Closes #19422

(cherry picked from commit 46221b6dc1)
2020-04-27 12:25:52 +02:00
jackpoz
c31f875cc8 Core/Misc: Fix static analysis issues
(cherry picked from commit 3c4c67160a)
2020-04-27 12:25:52 +02:00
ccrs
14c6a4d823 [3.3.5] Core/Movement: MotionMaster & MovementGenerators cleaning (#19361)
(cherry picked from commit 21b8c4997a)
2020-04-27 12:25:52 +02:00
ariel-
7f64eaa3ee Core/Player: fix weapon dependent aura talents not applied on talent learn
Closes #19408

(cherry picked from commit 5cb1555de6)
2020-04-27 12:25:52 +02:00