Commit Graph

577 Commits

Author SHA1 Message Date
xinef1
e1f14215d8 Core/Creatures: Various fixes for creatures, regarding combat conditions, despawning, and few others (#18998)
* Made some changes to kiting mechanics, simplified code and made taunt auras prolong combat no matter the distance from the spawn
Unified some creature despawning code, removed some brutal direct calls in scripts
Don't play death anim on forced despawn
Removed some redundant visibility changes on creature despawn
Fixed possible problem with pet initializing template info from difficulty greater than normal
Properly keep UNIT_FLAG_IN_COMBAT on UpdateEntry call
Moved RegenerateMana function to general Regenerate(Power) function
Fixed increased health regeneration from polymorph for pets
Implemented CREATURE_TYPE_FLAG_GHOST_VISIBLE, those creatures will be properly seen when player is dead also
Removed hackfix from Gaeriyan and Franclorn Forgewright, fixed properly
Simplified ForcedRespawnTime code in ForcedDespawn
Do not allow to assist unit while evading or when enemy is evading
Do not allow to attack other units when evading or when the unit is evading
Corrected distance checking code before creature is allowed to evade, should fix some common problems
Properly return summon position for summoned creatures as their respawn position
Properly stop all moving units on gossip hello, no matter their npc flags
2017-02-05 15:39:22 +01:00
xinef1
93746e8c4a Implemented binary resistances and some more (#18933)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects
2017-02-04 19:50:32 -03:00
xinef1
9e1b286984 Core/Spells: Fixed spell effect 93 (SPELL_EFFECT_FORCE_DESELECT) (#19001) 2017-02-04 20:21:12 +01:00
Gerhood
bab59b28fa Core/Spells: implement Mad/Crazy Alchemist's potions 2017-01-29 14:06:40 +01:00
xinef1
0d1c535041 Fixed unstuck mechanics (#18968) 2017-01-26 11:57:32 +01:00
joschiwald
62b62ddd63 Core/Packets: updated some contactlist packets
(cherry picked from commit e01bb91887)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Player/SocialMgr.cpp
	src/server/game/Entities/Player/SocialMgr.h
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Server/Packets/MiscPackets.cpp
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Server/Protocol/Opcodes.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.h
2017-01-25 23:36:24 -03:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Shauren
618cf0e1c2 Core/Units: Cleanup hardcoded magic numbers for byte field offsets
(cherry picked from commit ac1dc758b9)
2016-12-15 08:16:01 -03:00
ariel-
e1a2b1a813 Core/Misc: readd some codestyle changes inadvertently reverted
- Ref commit 6dc37a9add
2016-12-13 15:21:41 -03:00
ariel-
3a52ad8d38 Core/Entities: Replace existing GetAuraEffectsByType + iteration uses with proper helper functions 2016-12-13 02:18:06 -03:00
ariel-
f0772eea98 Core/Spell: implemented dispel reflection
Closes #18323
2016-12-11 15:08:01 -03:00
ariel-
01d272d6cb Core/Spell: improved immunity logic for dispels
- Fixes dispel magic removing immunity spells (Divine Shield for example). Ref issue #18370
2016-12-11 15:08:00 -03:00
Aokromes
190fdfdf63 Core/Spell: Hand Of Reckoning no damage when taunting players pet (#17518)
* Core/Spell: Hand Of Reckoning no damage when taunting players pet

By Effec7, closes #9068
2016-12-01 11:48:13 -03:00
Shauren
6dc37a9add Core/Auras: Rewritten conditionally applying SPELL_AURA_MOD_WEAPON_CRIT_PERCENT, SPELL_AURA_MOD_DAMAGE_DONE and SPELL_AURA_MOD_DAMAGE_PERCENT_DONE auras
* Now the entire aura is removed when changing equipment
* All aura types can now depend on equipped items

(cherry picked from commit b9f7b500a3)
2016-11-20 01:46:47 -03:00
ariel-
503259e6fe Core/Spell: register items received through SPELL_EFFECT_SUMMON_CHANGE_ITEM for quest credit
- Also sends proper SMSG_ITEM_PUSH_RESULT packet

Closes #3505
2016-11-18 03:42:01 -03:00
ariel-
56beec8aaf Core/Spell: Fixed irregular handling of SPELLMOD_DOT
- Applied twice for some dots
- Missing for Health Leech Periodic
- Missing in a few scripts

Closes #17463
2016-11-16 04:06:32 -03:00
SnapperRy
a38c094a11 Core/GameObject: spawn linked traps at gameobject creation instead of using DB spawns. (#18172)
Closes #11328.
2016-11-01 22:24:03 +01:00
Snapper
5d9d25d596 Core/GameObjects: Handle despawning and respawning of nearby linked traps on gameobject despawn and respawn
Closes #12139
Closes #17553
2016-10-30 11:20:58 +01:00
ariel-
d3a71a8338 Core/Spells: use DamageInfo struct to calc spell absorbs and resists, and use calculated proc hitMask on aura ticks
Closes #18135
2016-10-26 02:16:11 -03:00
SnapperRy
551a8ff8ae Core/Spell: allow SPELL_EFFECT_QUEST_COMPLETE to set a quest to rewarded only if that quest is used as internal flag by the server (has flag 1024 - QUEST_FLAGS_TRACKING). 2016-10-16 22:39:36 +02:00
Shauren
1c7f099297 Core/Items: Defined all item flags
(cherry picked from commit ef29f32965)
2016-10-11 19:46:29 -03:00
Krudor
73a72fb7d3 Core/Spells: Effect leap back fix (#18057)
* Fixed unintentional typo?

Seemed to fix the issues related to the effect for the spells I tried.
Sometimes the caster triggers leapback onto targets, and with the old
code, it instead made the caster leap back instead of its targets

(cherry picked from commit 08aab73c7f)
2016-10-09 21:57:36 +02:00
ariel-
d078029124 Revert "Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS"
This reverts commit f09e7cbbfe.
2016-10-07 12:50:08 -03:00
ariel-
f09e7cbbfe Core/Unit: prevent m_extraAttacks underflow. Fixes a freeze with SPELL_EFFECT_ADD_EXTRA_ATTACKS 2016-10-05 22:46:26 -03:00
ariel-
d9e4c8e04f Core/Spells: add Target Processing (SMSG_SPELLLOGEXECUTE) to LAUNCH_TARGET phase.
Move EffectInterruptCast to LAUNCH_TARGET Phase.

Closes #3718
Closes #6042
2016-10-04 23:35:50 -03:00
ariel-
e641d0c7d7 Core/Spells: Implementation of QAston proc system
- Move checks from Unit::IsTriggeredAtSpellProcEvent (old system) to Aura::IsProcTriggeredOnEvent (new system)
- Templatize SpellModOp param of Player::ApplySpellMod, also killed charge counter from SpellModifier and Player system for handling charges... no point in having 3 different systems doing the same thing
- Automatically add default entries to spellProcMap, based on spellinfo (else auras won't proc without an entry) Based on old Unit::ProcDamageAndSpellFor
- Old Unit::ProcDamageAndSpellFor renamed to Unit::ProcSkillsAndReactives and made private, will no longer handle auras.
- Start making use of HealInfo::AbsorbHeal in unit calculations, add effective healing info to HealInfo struct
- Changes in spell reflection system, emulates old behaviour, delaying aura drop
- Removed old charge count hacks in SpellMgr::LoadSpellInfoCorrections
- Removed bogus error log when procChance is 0: Some auras have initial 0 procChance but modified by SPELLMOD_CHANCE_OF_SUCCESS
- Fixed TriggerAurasProcOnEvent logic that tried to trigger twice from actor.
- Allow non damaging spells with DamageClass Melee or Ranged to proc character enchants. Ref issue #17034:

  * http://web.archive.org/web/20110309092008/http://elitistjerks.com/f47/t49865-paladin_retribution_pve/
  * When an auto-attack lands (does not dodge/parry/miss) that can proc a seal the of the following things happen independently of each other (see 2 roll system).

  * 1) A "hidden strike" which uses melee combat mechanics occurs. If it lands it refreshes/stacks SoV DoT. Only white swings can trigger a refresh or stack. (This hidden strike mechanic can also proc things like berserking..)
  * 2) A weapon damage based proc will occur if you used a special (CS/DS/judge) or if you have a 5 stack (from auto attacks). This attack can not be avoided.

  * Holy Vengeance is the "hidden strike" it has an apply aura effect and damage class melee.
- Fixed Blood Tap interaction with Death Runes (btw, don't know what was going on with those MiscValueB, spell 45529 doesn't have any MiscValueB in SPELL_EFFECT_ACTIVATE_RUNE)
- Ported some AuraEffect checks from old Unit.cpp function. added new AuraScript hook to check procs of an specific effect
- Allow only AuraEffects that passed the check to proc, this won't block whole aura from proccing (and lose charges) if at least one of the effects procs, though
- Changes in spell mod system (for SPELLMOD_CASTING_TIME). fixes #17558.
- Added an exception for SPELLMOD_CRITICAL_CHANCE too, fixes #15193
2016-10-04 20:21:55 -03:00
ariel-
a4baef19dd Core/Player: Implemented Titan's Grip damage reduction
Closes #6375
2016-10-02 02:34:23 -03:00
joschiwald
8024ae4d26 Core/Spells: use spellinfo helper methods
(cherry picked from commit 12a52595ed)
2016-10-02 00:25:21 +02:00
SnapperRy
6d62f852ac Core/Spell: set quest to rewarded instead of complete when targeted by SPELL_EFFECT_QUEST_COMPLETE. (#18021)
Prevents people from ending up with strange quests in their quest logs.
2016-09-30 13:17:04 +02:00
Rochet2
c52566a888 Core/Scripts: Enhance quest status hook by making it catch more status changes (#17865) 2016-09-09 21:11:36 +02:00
ariel-
31399d5f34 Core/Scripts: Implement Glyph of Backstab. Closes #7500 2016-09-04 01:31:02 -03:00
ariel-
14445d2202 Core/Misc: calculate rotation fields from orientation in some places it's impossible to get:
- SmartScripts: SMART_ACTION_SUMMON_GO
- Spell Effects:
  * SPELL_EFFECT_DUEL
  * SPELL_EFFECT_SUMMON_OBJECT_WILD
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT1
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT2
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT3
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT4
- Command Scripts: .gobject add

Closes #17891
2016-09-03 17:31:29 -03:00
ariel-
5b81f55141 Update SpellEffects.cpp 2016-08-28 07:16:48 -03:00
ariel-
f5a0342913 Core/Spell: Calculate GO rotation for SPELL_EFFECT_TRANS_DOOR 2016-08-28 07:15:03 -03:00
treeston
78a44dd81e Core/Spells: Fix Spell::EffectJumpDest not to turn caster to zero orientation when ground targeting. 2016-08-20 13:08:09 +02:00
Treeston
8deda7ed7f Entities/Unit: Cleanup refactor. Changes: (#17819)
+ Unit::m_movedPlayer -> Unit::m_playerMovingMe
+ Player::m_mover -> Player::m_unitMovedByMe
+ Unit::GetMover() -> Unit::GetUnitBeingMoved()
+ Unit::GetPlayerMover() -> Unit::GetPlayerBeingMoved()
+ NEW: Unit::GetClientControllingPlayer()
2016-08-20 12:43:04 +02:00
Aokromes
1ad24352ac Core/Logs: Fine tune more logs
And move others to more logical appenders
2016-08-11 09:10:20 +02:00
Aokromes
b51409a5d3 Core/Logs: Fine tunning some logs 2016-08-05 21:22:12 +02:00
ariel-
0d91ccf6bd Core/Spells: Abyssal Shatter should have a chance to skill up 2016-08-01 04:53:27 -03:00
ariel-
62bfee37cb Core/Entities: debloat SummonGameObject parameter list using proper wrappers and enable GO rotation in scripts
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)
2016-07-30 18:50:44 -03:00
ariel-
2967bf59b4 Core/GameObjects: Gameobject rotation (from cmangos/mangos-wotlk@2bcbc0f) (#14146)
cmangos/mangos-wotlk@0fe88f35df: [11531] Normalize gameobject's quaternion, thanks to zergtmn for pointing
cmangos/mangos-wotlk@060dfb791b: [11667] Implement transport path rotation
cmangos/mangos-wotlk@565f52c6c1: [11806] A bit gameobject code refactoring
cmangos/mangos-wotlk@6874951: [11807] Add gameobject_addon table

Closes #14146
2016-07-30 11:36:18 +02:00
robinsch
3213e4712c Core/Spells: Rewrite Steady Shot damage to deal correct damage when using Heirloom Weapons (#17481) 2016-06-30 17:17:43 +02:00
ariel-
e881afcd1c Core/Spell: Fix eviscerate AP coefficient, should be fixed, not random (#17085)
http://www.wowace.com/addons/dr-damage/files/8956-r1388/
2016-06-18 10:44:48 +02:00
Trond B Krokli
dc67505a08 [3.3.5] Core/Spell: restore old pet values after dismount (#16551)
* Core/Spell: restore old pet values after dismount & re-summon
Original PR #15667 by ghost

Closes #873
2016-05-26 21:23:59 +02:00
mik1893
868dcb001c Core/Spells: Fix Blood Tap activation when Blood Rune is in cooldown as Death Rune (#17132) 2016-05-15 11:26:50 +02:00
Incorrect
1aa30d3cce Core/Spells: Fixed overwriting summon requests
Closes #17049
2016-05-01 12:31:55 +02:00
joschiwald
029527365f Scripts/Spells: fixed Decahedral Dwarven Dice and Worn Troll Dice
#Closes 16866
2016-04-23 13:53:07 +02:00
Lopfest
5cdc870acc Core/Spells: enabled SPELL_EFFECT_160 (#16987)
(cherry picked from commit ff3e176eb1)
2016-04-19 12:05:19 +01:00
chaodhib
383cc4d94b Scripts/Naxxramas: Rework of Gluth
1) Gluth should be able to eat zombies close to him, one at the time, during the whole fight.
2) Gluth should be able to eat zombies at an accelerated rate after each Decimate.
3) The zombies should put the "Infected Wound" debuff on their auto-attack targets.
4) Zombies should have a normal threat table before decimate and should loose all kind of aggro behavior and walk toward Gluth after decimate.
5) Gluth shouldn't be affected by the decimate damage.
6) Newly poped zombies should have all players in their aggro list as soon as they spawn. So far, they were not moving and were only aggroed by proximity.
7) and several minor fixes (emotes, useless data in db).
2016-04-16 10:54:13 +02:00
Shauren
836788ed3c Core/Misc: MSVC /W4 warning fixes
(cherry picked from commit 08c27d3205)
2016-04-09 18:25:53 +02:00