Commit Graph

1411 Commits

Author SHA1 Message Date
QAston
216d32e8a7 *Prevent assertion fail in Unit::_AddAura after creature add to remove list.
--HG--
branch : trunk
2010-01-22 20:03:47 +01:00
QAston
c1aa60aaab *Run grid searches for area auras every 500ms instead of every unit update
*Fix a stupid typo which caused memory leak in Unit::RemoveOwnedAura

--HG--
branch : trunk
2010-01-22 18:06:01 +01:00
thenecromancer
3b29a4e6f4 Do not apply SPELL_AURA_MOD_THREAT to negative threat changes (Eg. let Feint and alikes apply full effect)
--HG--
branch : trunk
2010-01-21 15:51:11 +01:00
thenecromancer
fbe09a92f9 Allow spells with effect mechanic to allow apply other effects when effect with mechanic would be fail due to effect/state immunity.
--HG--
branch : trunk
2010-01-20 21:10:18 +01:00
thenecromancer
721c926229 Change GetSpellSpecific() to have SpellEntry argument instead of ID, this saves lookups in spellstore for entries we already have.
--HG--
branch : trunk
2010-01-20 20:54:32 +01:00
thenecromancer
e350775de7 Change MOVE_RUN_BACK speed to match retail data
--HG--
branch : trunk
2010-01-20 20:42:03 +01:00
silver1ce
7ce1c094c0 Fixes #420 fixed out-of-range group member's position update, which broken after 7014f421c8
--HG--
branch : trunk
2010-01-20 15:05:58 +02:00
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