Commit Graph

133 Commits

Author SHA1 Message Date
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
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
n0n4m3 4737d8111a Revert some commits. Now repo is stable. I recommend to disable Wintergrasp, because now its use leads to a crash.
--HG--
branch : trunk
2009-12-27 11:27:38 +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 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
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
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
n0n4m3 89656d5749 Restore some commits from trinitycore2 3.1.3
--HG--
branch : trunk
2009-12-17 13:07:38 +01:00
n0n4m3 5697ea9c94 Update BattleGround System for 322a
--HG--
branch : trunk
2009-12-17 10:43:12 +01:00
n0n4m3 a9c28a63a6 Set max health and mana at the end BG
--HG--
branch : trunk
2009-12-17 06:55:45 +01:00
win32 f64a11dfdc Restore work arena unit frame
Closes #289

--HG--
branch : trunk
2009-12-16 23:23:42 +02:00
win32 bf2c3fd8cf MaNGOS merge: Mail System.
* Store loot in mail_loot_template indexed by mail template ids.
* Implement proper creating mail text copy item from mail template based mail.
* Move send functions to new MailDraft class from WorldSession.
* Implement mails sending at player levelup.
* Autor VladimirMangos, converted by me.

--HG--
branch : trunk
2009-12-16 18:58:36 +02:00
maximius 654519d1a6 *Some cleanup (mostly whitespace changes)
--HG--
branch : trunk
2009-11-20 19:11:28 -08: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 f162303eae * Implement Spell 6962 by Muhaha & Nevan , based on http://bitbucket.org/panaut0lordv/tc2-patches/src/tip/bgpetressurect
--HG--
branch : trunk
2009-10-06 22:41:37 +02: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
maximius 2bb0c31978 *[8474] Allow to delete BattleGround objects when any of invited players didn't click to enter battle. Rename m_TeamScores500disadvantage to m_TeamScores500Disadvantage, and optimize its update. Patch is tested. Author: Triply
*Added some missed changes that might of broken compile in the last 2~ commits.
*Some fixes to Warlock's Death Coil by Gyullo.
*Last MaNGOS merge until KingPin says otherwise..

--HG--
branch : trunk
2009-09-11 16:25:11 -07:00
megamage dc208f351b [8427] remove afk-flag at bg-join
Signed-off-by: balrok <der-coole-carl@gmx.net>

--HG--
branch : trunk
2009-08-27 20:28:28 -05:00
megamage 1ee90e1022 *Update vehicle system. Make vehicle a seperate class from creature.
--HG--
branch : trunk
2009-08-23 22:09:43 -05:00
Rat ce84190b5c *stop combat on battleground end, so creatures won't kill players
*added enum from BGCreatures

--HG--
branch : trunk
2009-08-14 22:09:06 +02:00
megamage d1a5689b65 [8344] In case battleground reward items player must "receive" instead "create" item in message. Author: VladimirMangos
--HG--
branch : trunk
2009-08-12 20:36:55 -05:00
megamage 4f4775a31b [8339] Improved storing/restoring BG entry point
* Introduced new table character_battleground_data
    * Entry point is now stored on BG enter event not join event
    * Entry point for dungeons is now correctly set to nearest graveyard
      (this prevent well known assert in GetInstance because of porting to already destroyed instance)
    * Teleporting from BG correctly restore mount state
    * Teleporting from BG correctly restore taxi flight
      (in multipath flight you will end up in nearest transition point on the route)

    Signed-off-by: ApoC <apoc@nymfe.net>

--HG--
branch : trunk
2009-08-12 20:27:00 -05:00
megamage 3eb938b8de [8331] Restore spirit guids work, step 2 Author: VladimirMangos
Remove hack in battleground code that prevent proper work guids in result
    sabotage of now correct work spell itself.

--HG--
branch : trunk
2009-08-09 15:33:45 -05:00
QAston 6b4772207f *Cleanups, remove obsolete code and minor optimizations in spellauras.cpp and spelleffects.cpp
*Remove GetDummyAura(uint32 spellid) function - it is faster to use GetAuraEffect or GetAura if id is known than iterate threw dummy auras list
*Move Death Strike code from HandleDummyAuraProc to Spell::EffectDummy - original patch by hununza.

--HG--
branch : trunk
2009-08-08 16:18:05 +02:00
megamage 7f8ce1d809 [8315] Fixed memory leaks (mostly at server shutdown) and code cleanups. Author: VladimirMangos
* Fixed leak in BattleGround::m_PlayerScores at BattleGround::Reset,
      add and use BattleGroundScoreMap typedef
    * Delete AreaTeam objects stored in global map at shutdown
    * Delete Corpse objects stored in global map at shutdown
    * Store guild bank log entries as objectes instead pointers in log event lists

--HG--
branch : trunk
2009-08-06 17:45:37 -05:00
Rat dfe158074d *fixed Alterac Valley
--HG--
branch : trunk
2009-08-04 23:16:44 +02:00
megamage 70e31cce3f [8276] Implement achievment ACHIEVEMENT_CRITERIA_TYPE_WIN_BG Author: VladimirMangos
* including new achievement createria data type ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE

    Note: Some achivement creteria for success need data in `achievement_criteria_data`

--HG--
branch : trunk
2009-07-31 11:36:02 +08:00
megamage d96642c92f [8274] use virtual m_TeamScore for battlegrounds
score is used in every battleground (not arena)
    so we can use it as a virtual variable to access
    it also from BattleGround-class

    Signed-off-by: balrok <der-coole-carl@gmx.net>

--HG--
branch : trunk
2009-07-31 11:34:38 +08:00
QAston 9eaf1e6de3 *Implement ACHIEVEMENT_CRITERIA_TYPE_WIN_BG - by BudIcePenguin.
--HG--
branch : trunk
2009-07-22 23:51:39 +02:00
megamage 111dac5f94 [8102] Simplify code base at new root method WorldObject::CleanupsBeforeDelete Author: VladimirMangos
* Call it from Map::AddObjectToRemoveList and remove now not needed explcit calls
    * Create Gameobject version to make GO with owner more safe for remove

--HG--
branch : trunk
2009-07-01 18:23:36 -05:00
megamage 7b3d740749 *Do not give rating if two groups from the same arena teams fight against each other. (This is a temp fix. They should not even begin the battle)
--HG--
branch : trunk
2009-06-16 12:25:18 -05:00
megamage 39b2f6a5bb [8006] Fixed crash in EndBattleGround(). Author: AlexDereka
--HG--
branch : trunk
2009-06-14 10:02:20 -05:00
megamage 87aa7465fb *A missing part of previous patch.
--HG--
branch : trunk
2009-06-04 16:09:01 -05:00
panaut0lordv f6447e8f34 *Including style fixing - part 1
--HG--
branch : trunk
2009-06-04 21:41:07 +02:00
megamage 0ba4878c48 fixed the bg ballance system By Farah
In this patch only in preparation state invites anyone.
If BG is already started do not allow to join too much players of one faction and allow to join one person if the sides are equal.

--HG--
branch : trunk
2009-06-03 00:43:04 -05:00
megamage b05ebfa8e9 [7934] Implement ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA Author: Trazom
Also added ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE and support
    this criteira special cases base at `achievement_criteria_data`
    that required DB support.

--HG--
branch : trunk
2009-06-01 21:51:34 -05:00
megamage 2c350bcb80 *Merge.
--HG--
branch : trunk
2009-06-01 15:53:03 -05:00
krz 38c6880d93 Detailed log of arena fights and arena team creation.
--HG--
branch : trunk
2009-06-01 20:44:23 +02:00
megamage f92e8315cf [7918] Improve portability in work with uint64 string format specifiers and in code literals. Author: VladimirMangos
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
      I64FMTD renamed to UI64FMTD for more clear name.
    * Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
      Please always use UI64LIT(0x00001) instead less portable 0x00001LL

--HG--
branch : trunk
2009-05-31 16:15:12 -05:00
megamage 8d1f4f9ea0 *Provide another way to implement dynamic spawns. Now a creature will call its zonescript before spawn to determine the spawned entry. This can be used to implement zones such as wintergrasp with less data requirement (only need to know the entry of counterpart creatures, not require spawn points)
*Use zonescript as basic class of opvp script and dugeon script (can also be used for bg)
*Store zonescript in worldobject.
*Add door for sapphiron.

--HG--
branch : trunk
2009-05-30 22:15:05 -05:00
tvaroh a3a7996fd1 Do not remove poison enchantment auras when entering arena battle.
--HG--
branch : trunk
2009-05-30 18:27:08 +02:00
QAston 93a9fef498 *Remove obsolete code for Arcane Blast
*Reduce amount of auras removed at arena match start.

--HG--
branch : trunk
2009-05-25 17:04:52 +02:00
QAston 1c505261bc *Remove auras with duration lower than 30 sec on arena start.
*Do not remove rougue poisons and dk runes on arena start.
*Apply healing bonus for healing stream totem.
*Do not duplicate damage bonus in code with the one in db for Seal of Vengenance/Corruption

--HG--
branch : trunk
2009-05-24 22:54:13 +02:00
raczman bfaaa8201e Possibly fixed more memory leaks in other places.
--HG--
branch : trunk
2009-05-13 14:06:33 +02:00
megamage 65b10830b8 *Fix a bug that arena never ends if the last player is killed with spirit of redemption talent.
--HG--
branch : trunk
2009-05-12 10:01:09 -05:00