Commit Graph

645 Commits

Author SHA1 Message Date
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
silver1ce
15618563ef merge
--HG--
branch : trunk
2010-01-06 12:27:52 +02:00
silver1ce
f82d5cb3fc fixed the bug that GetVmapHeight returns incorrect height on terrains(flying units fall below map etc)
also unlocked max ray lenght for getHeight, by default it's 10 yards

--HG--
branch : trunk
2010-01-06 12:15:02 +02:00
Astellar
b56b2c2a43 Fixed Issue 11. Now combo points are kept when finishing move misses. Revert it if it's wrong.
--HG--
branch : trunk
2010-01-06 00:26:15 +03:00
p0wer
c3d7bffc14 Add support for TARGET_UNIT_DRIVER where the target must be controlling a vehicle. Should fix 63665 used for ToC.
--HG--
branch : trunk
2009-12-31 17:30:09 -06:00
Anubisss
cd824b50fe Implement Glyph of Circle of Healing.
--HG--
branch : trunk
2009-12-29 21:48:01 +01:00
p0wer
afde5e0207 Fix warning. Don't use UI64LIT with the & operator.
--HG--
branch : trunk
2009-12-28 12:50:35 -06:00
n0n4m3
947b258479 Fixed Mana Gems, implement SPELL_EFFECT_CREATE_MANA_GEM and revert prev. commit...
--HG--
branch : trunk
2009-12-26 18:25:49 +01:00
n0n4m3
088d332545 Fixed spell Rime, by Themris.
--HG--
branch : trunk
2009-12-26 14:02:24 +01:00
n0n4m3
9f40c92fb4 Restore patch: No Fly Zone using Spell
--HG--
branch : trunk
2009-12-20 18:02:57 +01:00
n0n4m3
cc19e73174 Merge
--HG--
branch : trunk
2009-12-20 17:39:36 +01:00
Rat
6fe36efe0f *apply trinity style to whole source
*comment out all mangos to trinity defines
*this will make merging a little harder, but code will be more clear

--HG--
branch : trunk
2009-12-20 15:20:04 +01:00
n0n4m3
c412c437a3 Fixed spell Righteous Defense
--HG--
branch : trunk
2009-12-20 15:11:57 +01:00
n0n4m3
89a2d7e46c Fixed Wild Growth
--HG--
branch : trunk
2009-12-20 15:07:51 +01:00
n0n4m3
73081c18c0 Use more appropriate error for cast fail on taxi flight. by VladimirMangos
--HG--
branch : trunk
2009-12-19 18:55:29 +01:00
n0n4m3
db29bc3ae5 Revert wrong changes
--HG--
branch : trunk
2009-12-18 09:18:22 +01:00
n0n4m3
515cf192ef Update Spell code for 322a. Part 1
--HG--
branch : trunk
2009-12-17 12:18:10 +01:00
n0n4m3
1db0cbc339 Fixed talent Ruthlessness
--HG--
branch : trunk
2009-12-17 07:08:21 +01:00
tartalo
c6e4cd0a77 Fix No Fly Zone, by Spp. Closes #574
--HG--
branch : trunk
2009-12-01 13:29:16 +01:00
tartalo
d7262a6298 Implement No Fly Zone using Spell, by Spp. Needs db support. Closes #494
--HG--
branch : trunk
2009-12-01 11:43:57 +01:00
maximius
c767576d92 *Cleanup, more consistant HandleDummyAuraProc code (added basepoints1 and basepoints2 and edited some spell cases to use these instead of more hacky custom methods..)
--HG--
branch : trunk
2009-11-21 17:59:24 -08:00
maximius
654519d1a6 *Some cleanup (mostly whitespace changes)
--HG--
branch : trunk
2009-11-20 19:11:28 -08:00
tartalo
5b7ef6fd2f Set proper orientation after being teleported by spell, by Spp. Closes #100
--HG--
branch : trunk
2009-11-07 18:47:11 +01:00
tartalo
bcfff09c74 *Implementation of 'No Fly Zone' (Dalaran and Wintergrasp), by Spp
--HG--
branch : trunk
2009-11-02 21:05:54 +01:00
maximius
743578b81f *Reinit the iterator in each loop as the iter is removed from the list, in AuctionHouseObject::Update, by Trazom
*No longer disregard z/o in Map::CreatureRelocation, thanks Sisif
*Cleanup, and make Divine Storm default to m_caster is no unitTarget is available
*Some mtmaps optimization

--HG--
branch : trunk
2009-10-31 16:00:47 -07:00
maximius
e6e621bfad *Add virtual bool IsEscorted() to escort_ai.h
*Some minor cleanup and optimization

--HG--
branch : trunk
2009-10-30 18:54:38 -07:00
maximius
1134fd99f0 *Target is never valid on MAPID_INVALID.
--HG--
branch : trunk
2009-10-30 10:46:14 -07:00
maximius
d22768a6b5 *Cleanup
--HG--
branch : trunk
2009-10-18 18:38:46 -07:00
maximius
3f338cc1c3 *Massive cleanup redux.
--HG--
branch : trunk
2009-10-17 16:20:24 -07:00
maximius
e585187b24 *Backed out changeset 3be01fb200a5
--HG--
branch : trunk
2009-10-17 15:51:44 -07:00
maximius
26b5e033ff *Massive cleanup (\n\n -> \n, *\n -> \n, cleanup for(...) to for (...), and some other cleanups by hand)
*Fix a possible crash in Spell::DoAllEffectOnTarget

--HG--
branch : trunk
2009-10-17 15:35:07 -07:00
Muhaha
6438a91592 Fix Faerie Fire (feral) - Damage. Original Author: Nevan.
--HG--
branch : trunk
2009-10-17 18:12:21 +02:00
maximius
b4c7a2514d *Blackfathom Deeps - Event: Aku'mai, by Tartalo
*Split Personality Achivement, by Destalker
*Halls of Lightning Fixes, by Destalker
    Volkhan fixes + Achievement
    Ionar Fix - without this he resets each time he is invisible, spamming sparks
    Arcing Burn - should be a debuff (and stackable, stackable part NYI :/)
*Naxxramas - Thaddius - the aura shall affect only the character without the proper aura, by Trazom
*Naxxramas - Kelthuzad - some timer adjustments (may need verification or tweaking) by Cass
*Merges by Stryker, thanks to all authors and testers.
[8458] Re-implement SPELL_AURA_MOD_TARGET_ARMOR_PCT in more porper way for weapon dependent cases. Author: VladimirMangos
[8459] Avoid mutiply apply weapon dependent armor penetration bonus for each weapon. Author: VladimirMangos
[8529] check rune cost only if spell has PowerType == POWER_RUNE. Patch provided by yavi. Author: Ambal
[8532] Fixed situation where some items like 42947 were not giving spell power bonus. By: Ambal
[8533] Not remove timed quest and correctly fail when time runs out. Add function to remove timed quest instead of direct access to set. Author: NoFantasy
[8536] Fixed spell 62776. By: Ambal
[8539] Check pet aura range at area aura update. By: Ambal
[8546] Implement battleground bonusweekends call to arms. Also fix typo in auctionmgr. Author: balrok
[8547] Implemented scriptcall: CorpseRemoved(uint32 & /*respawnDelay*/) it will be called when the corpse of the scripted creature get's removed, it's possible to adjust the next respawn inside the script. Author: balrok
[8561] Replace another auras code call by explicit code
[8566] avoid singleton-lock when accessing BattleGroundMGR::isBGWeekend() Proposed by vladimir. Comitter: balrok

--HG--
branch : trunk
2009-10-09 20:48:55 -07:00
Biglad
1e8fcf16f3 * Force pvp flag on player if assisting player all ready flagged for pvp, (exploit fix)
--HG--
branch : trunk
2009-10-08 13:39:56 +01:00
Machiavelli
2cd66e90c2 * Do not let Seal of Command proc on anything other than a melee swing.
* Fix Judgement of Blood/Martyr dummy by nos4r2zod
* Fix Judgement of Command dummy by nos4r2zod

--HG--
branch : trunk
2009-10-06 17:09:11 +02:00
maximius
09bb578d86 *Cleanup and attempt to fix some crashes.
--HG--
branch : trunk
2009-09-29 20:59:32 -07:00
maximius
f980dd9ac6 *Merge [8524] New cell search algorithm implemented. You can now choose different
visibility distances on continents, in BG/Arenas and instances. Author: Ambal
*Some warning cleanup

--HG--
branch : trunk
2009-09-27 02:24:25 -07:00
maximius
906b00465a *add 11 new event hooks to the OnEvents system, by Hawthorne
--HG--
branch : trunk
2009-09-23 20:19:21 -07:00
maximius
d79957e5c3 *Send channeling start/update packet, converted by Stryker, original by pasdVn
--HG--
branch : trunk
2009-09-22 18:19:31 -07:00
maximius
cdfb402122 *Hacky fix to Grounding Totem by Themris (better than no fix at all, and very difficult to fix properly)
--HG--
branch : trunk
2009-09-22 18:13:59 -07:00
maximius
9e5c8db01f *[8508] Not assign boolean value to integer variable, expecting to always be 0. Also renaming member variables. Author: NoFantasy
*[8516] Implement spell 53271. Author: Shendor
*[8519] Use RuneType enum where appropriate and more explicit data for rune init. Author: VladimirMangos
Thanks to: Stryker
*[8520] Limit telent 49182 and ranks triggering expected:wq runes cooldown case. Author: Shendor
*Fix Herald Volazj wrongly targeting himself on Shadow Bolt Volley instead of randomly targeting on Shiver, by tlexii.

--HG--
branch : trunk
2009-09-21 12:31:36 -07:00
maximius
333f1c9d72 *[8475] fixed some gcc-warnings Author: balrok
*[8476] Revert some recent cleanup changes, some other fixes and cleanups. Author: VladimirMangos
*[8489] Fixed player visibility update in case view point different from player itself. Author: SilverIce
*[8493] Avoid unexpected multiply error messages at wrong `quest_template`.`RewSpell*` Author: VladimirMangos
*[8496] Resolve some #include cycles and unsafe code.
* Common.h -> Threading.h -> Errors.h -> Common.h
* Remove reduncdent #include "ByteBuffer.h" in headers
* Remove redundent #include "Auth/BigNumber.h" in headers
* Avoid multyply data copy at use some now dropped functions in BigNumber.
* Avoid copy fixed byte count from byte arrays with unknown real size created from BigNumber.
* Avoid possible problems for build mangos at different platform or compilers. Author: VladimirMangos.
*[8501] Apply code style and cleanups to some Player functions. Author: VladimirMangos.
*[8502] Disable quests related to specific game events at startup if event not active. Also rename member boolean variable. Author: NoFantasy
*[8506] Add check for IsAutoComplete() in SendPreparedQuest().
For cases where quest is repeatable but has Method!=0, QuestDetails must be sent instead of RequestItems.
Some additional code cleanup. Author: NoFantasy
*[8507] Check amount of spawned pools before decrement to avoid unexpected result. Also rename variable to more meaningful name. Signed-off-by: NoFantasy <nofantasy@nf.no>

Thanks to Stryker and onkelz28!

--HG--
branch : trunk
2009-09-18 14:10:37 -07:00
maximius
140ec674a0 Backed out changeset d3fe2d6d504a (please test your patches thoroughly before getting me to push them ogeraisi)
--HG--
branch : trunk
2009-09-14 16:49:23 -07:00
maximius
b37f9b1e55 *Merged MaNGOS [8458], [8475], [8476] by ogeraisi, thanks to all authors :)
--HG--
branch : trunk
2009-09-14 16:02:13 -07:00
megamage
c150629f8d *Fix a crash caused by spell target type channelled target. Thanks to nanouniko
--HG--
branch : trunk
2009-09-02 12:11:01 -05:00
megamage
51affe07d0 *Fix some restriction of pet spell cast.
--HG--
branch : trunk
2009-09-01 01:11:28 -05:00
megamage
33a0155281 *Allow pet to have combo points.
--HG--
branch : trunk
2009-09-01 00:17:39 -05:00
megamage
7535a64b42 *Add a line in ~Spell for debug.
--HG--
branch : trunk
2009-08-31 14:30:54 -05:00
megamage
f5d4ee1e95 *Fix a crash caused by unremoved spell mode. Thanks to Visagalis
--HG--
branch : trunk
2009-08-31 00:14:45 -05:00
megamage
d802cd3811 *More update about positions.
*Ulduar: do not allow demolisher to regenerate pyrite. Player must shoot down and grab the containers to refill pyrite.

--HG--
branch : trunk
2009-08-29 23:20:16 -05:00