Commit Graph

1304 Commits

Author SHA1 Message Date
QAston 7ef6842cf3 *Fix a memory leak with auras for cases when there are some spells casted on unit during remove from world - all thanks go to debug assert fails, which you all love so much.
--HG--
branch : trunk
2010-01-19 21:33:35 +01:00
QAston f5dea61b66 *Remove some of no longer needed debug code.
--HG--
branch : trunk
2010-01-18 23:47:26 +01:00
silver1ce cfca61b176 Auras with turn/move interrupt flags are now removed for creatures when they turn/move, cleanup
--HG--
branch : trunk
2010-01-18 21:51:45 +02:00
QAston f03a2a60e7 *Use std::map instead of UNORDERED_MAP for storing aura applications of an aura.
--HG--
branch : trunk
2010-01-18 20:15:23 +01:00
QAston 9a7746c9fc *Add some debug info to trac reason of assertion fail in Unit destructor.
--HG--
branch : trunk
2010-01-18 18:42:36 +01:00
n0n4m3 99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03:00
n0n4m3 c9a3698a11 Implement speed reduction at creatures DoFleeToGetAssistance, by NoFantasy.
--HG--
branch : trunk
2010-01-16 19:35:30 +03:00
n0n4m3 b9c09071b0 Fixed Lifebloom final crit, by PrinceCreed.
--HG--
branch : trunk
2010-01-16 18:47:40 +03:00
QAston 69b2900137 *Fix single target auras related crash
*Apply aura stacking rules to m_ownedAuras holder.

--HG--
branch : trunk
2010-01-16 15:12:21 +01:00
silver1ce 0451e45e06 parse CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE opcode in proper way
--HG--
branch : trunk
2010-01-15 19:23:59 +02:00
silver1ce e3edc52a2d Stop aura update packet spam, sorry about that
--HG--
branch : trunk
2010-01-15 15:08:06 +02:00
thenecromancer a428293dae Issue 62: DK talent Impurity
Note that there are probably more of things having just "dummy effect".
This way to get them is quite slow (auras are at least sorted by their type) and probably some sort of modifier could be stored for them

--HG--
branch : trunk
2010-01-14 17:47:38 +01:00
XTZGZoReX 53f9e0fba0 * Merge.
--HG--
branch : trunk
2010-01-13 18:25:46 +01:00
XTZGZoReX f5998611c3 Backed out changeset: 52e769d95f14
--HG--
branch : trunk
2010-01-13 18:24:23 +01:00
XTZGZoReX 5a9ef604e2 * Fix CRLF.
--HG--
branch : trunk
2010-01-13 18:22:31 +01:00
thenecromancer c53ecf6dad Fix Stealth Detection formula (Stealth auras are based on player level)
--HG--
branch : trunk
2010-01-13 18:15:24 +01:00
n0n4m3 f7ad3aefc8 Removed all my commits for today, this is hack? really? okey
--HG--
branch : trunk
2010-01-13 19:11:46 +03:00
n0n4m3 0bcf3b32f1 Fixed insane damage from some spells in case of negative spell.
--HG--
branch : trunk
2010-01-13 14:31:57 +03:00
thenecromancer 91e1bf323d Generate rage when hitting critters/targets with absorb
--HG--
branch : trunk
2010-01-13 11:37:49 +01:00
thenecromancer ea4e25f3aa Implement vehicles created by player mounts.
Original idea by Elmaster, packet research by Wrong, ty.

--HG--
branch : trunk
2010-01-13 11:16:38 +01:00
thenecromancer db24e2927c Implement Sacred Shield bonus for Flash of Light, fix absorb being proced on taking heals
--HG--
branch : trunk
2010-01-13 10:47:51 +01:00
thenecromancer 8c5ece6420 Implement effect for aura #243 (temporary faction change)
--HG--
branch : trunk
2010-01-13 10:45:34 +01:00
thenecromancer b98fc794e4 Fix heal combat log event not displaying if heal was critical
--HG--
branch : trunk
2010-01-13 10:28:44 +01:00
thenecromancer 8dd67e8bb3 Allow state/effect immunities ignore whole spell when one effect is immuned
(Fixes getting part of CC auras with some immunities)

--HG--
branch : trunk
2010-01-13 10:20:00 +01:00
thenecromancer 6b07806d0c Add support for additional passive for FORM_MOONKIN
--HG--
branch : trunk
2010-01-13 10:08:49 +01:00
thenecromancer d8d346ef1f Apply haste to nonmagic class spells too. (For instance Arcane Missiles have dmgclass_none )
--HG--
branch : trunk
2010-01-13 09:58:44 +01:00
QAston 758baae61b *Make sure that any aura (in case of aura remove linked auras for example) won't survive Unit::RemoveAllAuras.
--HG--
branch : trunk
2010-01-12 00:14:09 +01:00
Astellar 879948260f Fixed typo.
--HG--
branch : trunk
2010-01-11 20:01:16 +03:00
QAston ef24d90472 * Make sure that aura is applied on unit before trying to remove it.
--HG--
branch : trunk
2010-01-10 20:09:44 +01:00
Rat 5b6079ea67 *cleaned up SharedDefines
--HG--
branch : trunk
2010-01-10 16:27:47 +01:00
silver1ce 74bd8084a0 dropped old code, which unused since new visibility system implemented
--HG--
branch : trunk
2010-01-10 16:33:14 +02:00
silver1ce eea50de960 now all aura updates are placed into one packet
--HG--
branch : trunk
2010-01-10 13:52:13 +02:00
QAston e3ff6145ee * Use pair<uint32, uint64> lists instead of <Aura*> lists in Dispel/SpellSteal effects handlers (prevent reference to aura removed from unit)
* Correctly fill EffectStealBeneficialBuff list with Stackable/Chargeable auras

--HG--
branch : trunk
2010-01-10 12:08:58 +01:00
QAston 8e9d2cdf01 Update aura system:
* Change system logic - unify Auras, AreaAuras and PersistentAreaAuras:
  * Aura has now its owner - which is the WorldObject, which applies aura (creates AuraApplication object) dependant on aura radius, and effect type
  * Owner can be Dynobj (DynObjAura class) for PersistentAreaAuras, or Unit (UnitAura class) for Area and nonArea auras
  * Aura data is shared for all units which have AuraApplication of the Aura
   * Because of that AuraEffect handlers , and periodic tick functions can't modify AuraEffect object (they are const now)
  * Remove spell source and AreaAuraEffect classes
  * Add AuraEffect::UpdatePeriodic function, to allow periodic aura object modification (target independant)
  * Add AuraEffect::CalculateAmount and AuraEffect::CalculateSpellMod function, to allow non-default amount calculation
  * AreaAura updates are done in owner _UpdateSpells cycle
  * Since now you don't need to wait an aura update cycle to get area aura applied on it's correct target list
  * And you can access area aura target list
  * Add basic support for aura amount recalculation
  * Save recalculation state and base amount of auras to db
  * Add AuraEffect::CalculatePeriodic function to determine if aura is periodic, and to set correct tick number after aura is loaded from db
  * Add ChangeAmount function in addition to SetAmount function, to allow easy reapplication of AuraEffect handlers on all targets
  * Sort aura effect handlers in SpellAuras.cpp and .h by their use
  * Add check for already existing aura of that type to some AuraEffect handlers, to prevent incorrect effect removal
  * SPELL_AURA_CONVERT_RUNE and MOD_POWER_REGEN and MOD_REGEN hacky handlers are now implemented correctly
  * Send aura application client update only once per unit update - prevent unnecesary packet spam
 * Fix ByteBuffer::appendPackGUID function - it added additionall 0s at the end of the packet
 * Fix memory leak at player creation (not deleted auras)
 * Updated some naming conventions (too many to mention)
 * Added Unit::GetAuraOfRankedSpell() function
 * Remove procflags on aura remove, use Aura::HandleAuraSpecificMods instead
 * Added functions to maintain owned auras (GetOwnedAuras, GetOwnedAura, RemoveOwnedAura, etc)
 * Implement AURA_INTERRUPT_FLAG_LANDING
 * Implement EffectPlayerNotification (thanks to Spp)
 * Remove wrong aura 304 handler
 * Add better handler for death runes
 * Remove unnecesary variables from DynamicObject class, and cleanup related code, link dynobj duration with aura
 * Add GetAuraEffectTriggerTarget function in CreatureAi for special target selection for periodic trigger auras used in a script
 * Add many assert() procection from idiots using some functions in wrong way
 * I am to lazy to write here anything more
Thanks to Visagalis for testing this patch
PS: Do not make patches like this, please

--HG--
branch : trunk
2010-01-10 01:23:15 +01:00
XTZGZoReX c3e02980ef * Fix some more cases where movement flags were +'d together, instead of |'d.
--HG--
branch : trunk
2010-01-08 07:59:39 +01:00
Astellar c239c380df Some Fixes for Earth Shield.
Now Dispel and Spellsteal effects will correctly dispel and steal Earth Shield's charges instead of entire aura.

--HG--
branch : trunk
2010-01-07 23:31:46 +03:00
Astellar b0e7dc95a4 Fixes issue 152. Now Improved Water Shield works as intended.
1. Removed hardcoded proc chance for Lesser Healing Wave (all ranks had equal proc chance).
2. Added proc chance for Chain Heal (patch 3.2).
3. Fixed bug with Lesser Healing Wave and Chain Heal rolled default spell proc chance at first and then correct chance in dummy proc. So they have never ever proced for low ranks of the talent.
4. Removed consumption of charges (patch 3.2).

--HG--
branch : trunk
2010-01-07 00:24:58 +03:00
Astellar 082e7bac47 DB update to have correct Windfury proc chance for already commited hack :)
--HG--
branch : trunk
2010-01-05 21:08:44 +03:00
Astellar a886552c85 Glyph of Blocking proc moved to DB.
--HG--
branch : trunk
2010-01-05 15:52:44 +03:00
Astellar 53a7a7bd48 Cleanups for Devastate and Glyph of Devastate.
--HG--
branch : trunk
2010-01-05 14:36:06 +03:00
Astellar a93b987637 Fixed Glyph of Sunder Armor.
--HG--
branch : trunk
2010-01-05 12:09:50 +03:00
Astellar a4895ce876 Fixed previous commit. Now elemental is despawned when totem is replaced.
--HG--
branch : trunk
2010-01-05 02:42:40 +03:00
n0n4m3 875fb3500c Fixed spell Ignite, by Metaphysical.Drama.
--HG--
branch : trunk
2010-01-01 06:59:57 +01:00
n0n4m3 bec67fd68e Fixed spell Glacier Rot, by Metaphysical.Drama.
--HG--
branch : trunk
2010-01-01 06:54:50 +01:00
n0n4m3 6d553237d5 Fixed spell Tundra Stalker, by Metaphysical.Drama.
--HG--
branch : trunk
2010-01-01 06:54:09 +01:00
_manuel_ ebe7b29987 Implemented function CheckPlayerCondition, it will be used before the player enters in vehicles. Now vehicles Argent Warhorse and Argent Battleworg can't be used if the player dosen't have Argent Lance eqquiped.
--HG--
branch : trunk
2009-12-31 17:59:56 -03:00
Anubisss 6b997f35af Implement Glyph of Divine Storm. Based on zajast's patch.
--HG--
branch : trunk
2009-12-29 23:53:00 +01:00
maanuel bdc8ba8b0c Reverted commit 6762, because it breaks PetAI.
--HG--
branch : trunk
2009-12-27 02:23:30 -03:00
p0wer 7cad1ebb44 Update flag for spell Wrath in Eclipse. Correct buff should now be applied. Closes #976.
--HG--
branch : trunk
2009-12-26 19:50:25 -06:00
n0n4m3 28df19d205 Fixed spell Combustion
--HG--
branch : trunk
2009-12-26 17:38:54 +01:00