Commit Graph

684 Commits

Author SHA1 Message Date
raczman 07f3b91426 Some Creature* casts moved to new ToCreature.
Added const Creature* ToCreature()

--HG--
branch : trunk
2010-03-07 18:30:53 +01:00
raczman 91b8ee104e Added new type-safe cast functions.
This, when properly used, should get rid of most memory corruption issues,
currently, casting types C-style with no checks leads to some abstract crashing.
Functionality is same as with dynamic_cast<>, but with no RTTI check - so when
casting into invalid type you will receive NULL, and most probably crash.
At the same time, i took the liberty to convert most Player* casts to ToPlayer().
Still needs crapload of casts being moved to new facility.

--HG--
branch : trunk
2010-03-07 15:20:19 +01:00
p0wer 4b5a3f41ab Fix Shadow Affinity. Patch by Ouden. Fixes issue #988.
--HG--
branch : trunk
2010-03-04 17:49:10 -06:00
thenecromancer cedf706f29 Treat rune cooldowns as timers and not as remaining tick counts
Implement support for modifiers changing rune regeneration rate
Apply all spells from Improved Unholy Aura

--HG--
branch : trunk
2010-02-18 01:06:47 +01:00
n0n4m3 bcd4a48328 Removed stupid/not needed file Spellid.h.
--HG--
branch : trunk
2010-02-15 18:23:39 +01:00
Brian 486c00891b * Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to:
* n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo,
* thenecromancer, Xanadu, Trazom, Zor, kiper
* Additional credits to:
* TOM_RUS and NoFantasy from MaNGOS
* Thanks for testing Aokromes and XTElite1
* SoTA still needs some work, but is very playable (huge thanks to raczman and
* kiper)
* To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the
* last rev you are on
* and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world
* DBs
* Known problem with guild banks.

--HG--
branch : trunk
2010-02-14 19:13:14 -07:00
Xanadu f8d1920fa5 Yet more cleanup, mostly in the script system. This should conclude the script integration into core.
--HG--
branch : trunk
2010-02-05 13:01:32 +01:00
QAston 3d7b021b23 Remove SpellChannelInterruptFlags definitions which were duplicate of SpellAuraInterruptFlags, move IsRemoved check to Aura::UpdateTargetMap
--HG--
branch : trunk
2010-01-24 18:58:06 +01:00
QAston 492fe452fd *Bring back one unintentionally removed check in Aura::UpdateOwner
*Remove not blizzlike hack for Vanish (it should not remove delayed spells from player)

--HG--
branch : trunk
2010-01-24 18:26:29 +01:00
QAston d1a40eb688 *Do not keep area aura targets in combat with aura owner
*Add some safety checks to area aura target map update.

--HG--
branch : trunk
2010-01-24 13:08:25 +01:00
QAston d9b38250ff *Remove Death runes from Reaping/Blood of the North/Death Rune Mastery when talent aura is removed.
--HG--
branch : trunk
2010-01-23 10:33:16 +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 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
n0n4m3 99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +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
QAston 4374709a38 Backed out changeset 343bb9cc23ce - mistake fixed in last commit was the real problem.
--HG--
branch : trunk
2010-01-10 21:24:02 +01:00
QAston 334de07dfb Fixes #262. Do not keep area aura enemy targets in combat - 61248 doesn't bring whole northrend to Dalaran anymore:)
--HG--
branch : trunk
2010-01-10 17:49:35 +01:00
Rat 5b6079ea67 *cleaned up SharedDefines
--HG--
branch : trunk
2010-01-10 16:27:47 +01:00
silver1ce eea50de960 now all aura updates are placed into one packet
--HG--
branch : trunk
2010-01-10 13:52:13 +02:00
QAston c65aa45bc6 *Tabs to spaces
*Fix a type in CreatureEventAI.cpp from last rev

--HG--
branch : trunk
2010-01-10 02:12:02 +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
Astellar 39746981c7 Fixed Glyph of Lightwell.
--HG--
branch : trunk
2010-01-04 21:48:42 +03:00
n0n4m3 3c8c104781 Fixed spell Borrowed Time, by Metaphysical.Drama.
--HG--
branch : trunk
2010-01-01 06:56:39 +01:00
p0wer c833ff59e1 Forgot to add the new header to SpellAuras.cpp in last commit. Sorry about that. Thanks Kiper.
--HG--
branch : trunk
2009-12-28 15:40:56 -06:00
p0wer 31e96989ea Fix Wintergrasp no fly zone to remove your mount instead of just giving a parachute but not dismounting you.
Also switch around the condition inside the if statement to fit the standard.

--HG--
branch : trunk
2009-12-28 15:25:54 -06:00
n0n4m3 28df19d205 Fixed spell Combustion
--HG--
branch : trunk
2009-12-26 17:38:54 +01:00
n0n4m3 aadbff5903 Revert not needed changes(this implemented soon)
--HG--
branch : trunk
2009-12-26 16:47:40 +01:00
n0n4m3 37d255d70f Removed SPELL_AURA_MOUNTED when BG end and player leave
--HG--
branch : trunk
2009-12-26 16:45:43 +01:00
n0n4m3 cd9f84aae5 Implement expected combat stop with friendly faction. by VladimirMangos
--HG--
branch : trunk
2009-12-26 09:43:39 +01:00
n0n4m3 621634642d Implement expire effect for spell 28169. by yavi, PSZ
--HG--
branch : trunk
2009-12-25 15:26:06 +01:00
n0n4m3 250a00cc1c Temporary revert 6743 commit. I fix this patch across 1-2 days.
--HG--
branch : trunk
2009-12-24 10:20:15 +01:00
n0n4m3 3fe0bc5254 Replaced time(NULL) on sGameTime.GetGameTime() this is used for better performance.
Original Timer.h divided into 2 parts. Shared project has no need to know about GameTime Singleton.
2 Identical structures with different types are now replaced with one generic templated structure and 2 typedefs.

--HG--
branch : trunk
2009-12-23 08:04:10 +01:00
win32 636018ca7e Implement aura 304.
--HG--
branch : trunk
2009-12-21 15:52:02 +02:00
win32 c92fbc0dfb Cleanup in spell code
--HG--
branch : trunk
2009-12-21 15:45:28 +02:00
n0n4m3 c3ee3f537d Set use mtmaps by default, and cleanup some code in MapManager.
TODO: Set MapUpdate.Threads=0 in config, for full disable mtmaps, for correct work mtmaps, need ACE 5.7.2+, recommend 5.7.5

--HG--
branch : trunk
2009-12-21 07:58:19 +01:00
p0wer 0e8dd6d97e Fix Replenishment to apply 1% every 5 seconds rather then 4. Thanks to Morpheux for pointing it out.
--HG--
branch : trunk
2009-12-20 19:02:21 -06:00
p0wer 5ae3686d71 Fix whitespace. Sorry about that.
--HG--
branch : trunk
2009-12-20 18:51:58 -06:00
p0wer 34fe36ecac Fix Preserved Holly. Patch by laise. Closes #822.
--HG--
branch : trunk
2009-12-20 18:51:10 -06: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
n0n4m3 c4a270ed35 Fixed periodic damage from Seal of Vengeance, Seal of Corruption
--HG--
branch : trunk
2009-12-20 15:35:13 +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
win32 857fa2e4f6 fix warrning
--HG--
branch : trunk
2009-12-20 12:06:14 +02:00
n0n4m3 1d79bc51ea Implement player's pet resilience, also fix DoT case. by VladimirMangos and thx tali
--HG--
branch : trunk
2009-12-19 18:46:51 +01:00
maximius dc1207139a *Cleanup, proper indentation, and remove some wrong/irrelevant comments copied from custom patches..
--HG--
branch : trunk
2009-12-18 13:41:30 -08:00
win32 5384413b04 replace hack code from spell 48391
--HG--
branch : trunk
2009-12-18 11:25:53 +02:00
n0n4m3 89656d5749 Restore some commits from trinitycore2 3.1.3
--HG--
branch : trunk
2009-12-17 13:07:38 +01:00
n0n4m3 772cf54fb5 Update Spell code for 322a. Part 2
--HG--
branch : trunk
2009-12-17 12:23:01 +01:00
Brian 2aa7f64622 * Implement support for shapeshit form 26 used by spell 24347
* Patch by azuritus -- Thanks
* Closes #542

--HG--
branch : trunk
2009-12-14 20:12:24 -07:00
spp 3a46634a20 Display DoT absorption and overkill in combat log. By MetaphysicalDrama, closes #614
--HG--
branch : trunk
2009-12-14 02:34:06 +01:00