Commit Graph
1754 Commits
Author SHA1 Message Date
Treeston 867ca8817f Core/Unit: Don't apply liquid effects to game masters. 2017-08-03 19:39:45 +02:00
Killyana 7b714a7033 Core/Npc: Remove bytes1 once the npc start a combat
Closes #16832
By Rushor
2017-07-22 09:13:12 +02:00
Aokromes 8b6261c809 Core/Misc: Fix static analysis issues 2017-07-16 19:05:26 +02:00
treeston af36d491a1 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. 2017-06-20 03:55:07 +02:00
Aokromes 1a5c0f5c3b Core/Grids: Ported cmangos/mangos-wotlk@ea99457
(cherry picked from commit 9299e9b)
2017-06-19 20:20:26 +02:00
Aokromes f8d9d954d1 Get zone/area IDs from vmap data in the liquid update
* 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.
2017-06-09 13:20:37 +02:00
Aokromes 0bb27ecd4b 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.
2017-06-07 02:50:14 +02:00
Treeston 16e60ba408 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)
2017-05-30 09:21:38 +02:00
Treeston e80602f048 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.
2017-05-30 09:20:49 +02:00
Ryan e054036742 Fix SMSG_POWER_UPDATE 2017-05-28 20:19:33 +01:00
Ryan 5e50bb9481 Fix warning and whitespace 2017-05-28 18:39:41 +01:00
Ryan 20726edec2 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2017-05-19 23:49:46 +01:00
ariel- ddb787482c 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
2017-05-16 06:50:39 +02:00
ariel- 4eaa6b50b6 Core/Entities: allow guardian pets to inherit spellmods 2017-05-07 06:06:34 +02:00
Aokromes 0fbcdca05e Core/Collision: Replaced phasemask with proper phases in GameObject c…
…ollision calculation
2017-05-06 01:55:17 +02:00
xinef1 b88200cd58 Core/Misc: Various crash fixes 2017-05-05 01:59:34 +01:00
roc13x 7d6884dcb5 Core/Spells: Fix SPELL_AURA_PROC_ON_POWER_AMOUNT
Will re-implement the eclipse handling in spellscripts later
2017-05-04 21:16:50 +01:00
ariel- eee81e3748 Core/Spell: fix nopch build x2 2017-05-04 05:02:26 +01:00
ariel- 76349ea8ce 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
2017-05-04 05:01:47 +01:00
ariel- 091100f795 Core/Spell: check aura positivity per effect on spell hit
- Fixes applying DR to positive effects, and changing duration of whole aura

Closes #19447
2017-05-04 05:01:17 +01:00
ariel- ba2e4d90ec Core/Spell: fix SPELL_ATTR3_IGNORE_HIT_RESULT bypassing reflects
Closes #19440
2017-05-04 05:00:28 +01:00
ariel- 948335f911 Core/Spell: add missing null caster check
01d272d6cb348c968c531620c341f760e50cb97b follow-up

Closes #18875
2017-05-04 04:09:07 +01:00
ariel- c89bf30b4d Missing change 2017-05-04 03:59:33 +01:00
ariel- 62f9b5a0a1 Core/Misc: readd some codestyle changes inadvertently reverted 2017-05-04 03:42:24 +01:00
ariel- 4f3f455de4 Core/Spell: partial revert of SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE immunity handling
- Bonus: without breaking Banish... yay!

Closes #18370
2017-05-04 03:35:47 +01:00
ariel- aee4958ed8 Core/Unit: added GetTotalAuraXXX overloads taking a predicate 2017-05-04 03:33:13 +01:00
ariel- f12035a600 Core/Unit: added missing nullptr check in IsImmunedToSpellEffect
Closes #18461
2017-05-04 03:29:20 +01:00
ariel- 6e62130e96 Core/Spell: improved immunity logic for dispels 2017-05-04 03:26:54 +01:00
ariel- 1cffe99136 Core/Spells: proc spells after damage apply, not before. Fixes #13025 2017-05-04 02:57:40 +01:00
roc13x 9dca905ea4 Add some missing code 2017-05-04 02:53:10 +01:00
ariel- c7e27dd511 Core/Unit: do not allow judgement spells to bypass damage immunity
3f19eea5e41fd47b571c17529e08d9f8caa91705 follow-up. Without the #16658 regression
2017-05-04 02:36:54 +01:00
ariel- 938f43302c Core/Entities: fix interaction of traps with ffa pvp and sanctuary flags 2017-05-04 02:34:25 +01:00
ariel- 6aac0c2073 Core/Entities: better support of absorb, resist and block procs 2017-05-04 02:25:01 +01:00
ariel- c62077237d Core/Spell: restore old proc system behaviour on auras self proc. 2017-05-04 02:21:58 +01:00
ariel- cb77d33cb9 Core/Spell: Added the possibility to explicitly disable auraEffect procs using attributes
- Renamed IsProcTriggeredOnEvent to GetProcEffectMask, since long ago this function returned bool, new name should better reflect its use
2017-05-04 02:16:50 +01:00
ariel- 39f5cfafc5 Core/Spell: spells with ignore hit result should pierce damage immunities 2017-05-04 02:16:30 +01:00
ariel- a6c7f2b98c Core/Spell: Fixed irregular handling of SPELLMOD_DOT 2017-05-04 02:15:54 +01:00
roc13x 31b1b42b07 Remove duplicate code 2017-05-04 02:10:38 +01:00
ariel- b7b69b88ba Core/Unit: damage immune improvements 2017-05-04 01:48:16 +01:00
ariel- 746cb97dce Core/Unit: don't use damage immunity to calculate hit result for the whole spell. Should be used only for damage 2017-05-04 01:45:58 +01:00
ariel- 045bf711c2 Core/Unit: improved handling of some spell attributes
- SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE
- SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE
- SPELL_ATTR3_IGNORE_HIT_RESULT
2017-05-04 01:44:49 +01:00
ariel- e6bdc58bf0 Core/Unit: misc codestyle
use typedef for constant reference
2017-05-04 01:37:04 +01:00
ariel- fcb7910533 Core/Spell: reimplemented TRIGGERED_DISALLOW_PROC_EVENTS trigger flag
Triggered spells shouldn't chain-trigger other spells

Closes #18217
2017-05-04 01:28:42 +01:00
ariel- fb6cde2730 Core/Entities: add yet another utility overload to CastSpell, fixes AppVeyor build
Ninja NULL->nullptr cleanup
2017-05-04 01:28:15 +01:00
ariel- 030224ff32 Core/Spells: do not add PROC_HIT_NORMAL/PROC_HIT_CRITICAL flags if damage is fully nullified
- Aka: full absorbs/full resists/full blocks/immune
2017-05-04 01:24:26 +01:00
ariel- c9101f6707 Core/Spells: workaround stealth interaction with Death and Decay and GameObject casts 2017-05-04 01:16:00 +01:00
ariel- e2fb7a8218 Core/Unit: send original caster in heal packet log 2017-05-04 01:13:27 +01:00
ariel- c131f68f63 Core/Unit: allow pets and totems to drop mod charges in owner auras.
Needed for Cobra Strikes (re)implementation
2017-05-04 01:10:51 +01:00
ariel- 759e19cee7 Core/Unit: CalculateMeleeDamage should use unmodified damage to compute HitInfo
d3a71a83387f757f87c7d27e1054498c8cc49c8f follow-up
2017-05-04 01:07:58 +01:00
ariel- 3d9c4fd3fc Core/Spells: use DamageInfo struct to calc spell absorbs and resists, and use calculated proc hitMask on aura ticks 2017-05-04 01:07:05 +01:00