Commit Graph
390 Commits
Author SHA1 Message Date
Trazom62 d9056adc8a refactor UnitAI::SelectTarget to allow having a predicate function (1st step).
--HG--
branch : trunk
2010-02-27 16:29:58 +01:00
silver1ce fcaa318fb3 Update visibility system
*visibility updates and ai relocations processed simultaneously for each grid
  *these operations now are not synchronized for different grids
  *some changes into structure of visibility notifiers

--HG--
branch : trunk
2010-02-27 15:25:14 +02: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 a5d1bc77ab A great purge of obsolete macros.
--HG--
branch : trunk
2010-02-05 00:31:28 +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 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 216d32e8a7 *Prevent assertion fail in Unit::_AddAura after creature add to remove list.
--HG--
branch : trunk
2010-01-22 20:03:47 +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
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
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 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
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
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 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
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
silver1ce 74bd8084a0 dropped old code, which unused since new visibility system implemented
--HG--
branch : trunk
2010-01-10 16:33:14 +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
_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
n0n4m3 cd9f84aae5 Implement expected combat stop with friendly faction. by VladimirMangos
--HG--
branch : trunk
2009-12-26 09:43:39 +01:00
n0n4m3 f97f6e5201 Add a missing stand_state definition. by NoFantasy
--HG--
branch : trunk
2009-12-19 19:11:31 +01:00
n0n4m3 12dd4b709c Set creatures PvP state flag based on creature faction and renamerelated enum. by NoFantasy
--HG--
branch : trunk
2009-12-19 19:10:14 +01: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
n0n4m3 57bdbdc0ca Add function to update orientation of unit (for both server andclient). by NoFantasy
--HG--
branch : trunk
2009-12-19 17:48:45 +01:00
n0n4m3 89656d5749 Restore some commits from trinitycore2 3.1.3
--HG--
branch : trunk
2009-12-17 13:07:38 +01:00
n0n4m3 fec5aa38cd Update Spell code for 322a. Part 3
--HG--
branch : trunk
2009-12-17 12:25:31 +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
Kudlaty 7d38088860 Add function to change orientation or set in front of some unit. It also send packet with move update, so client also will see that creature change orientation.
--HG--
branch : trunk
2009-12-05 11:12:21 +01:00
maximius 6b72b304ad *Correct Seal of Command formula, and minor cleanup, thanks lobuz
--HG--
branch : trunk
2009-11-17 20:04:39 -08:00
maximius c3ba7d2208 *Fix getLevel() being parsed as a char in ostringstream use
--HG--
branch : trunk
2009-11-01 20:50:31 -08:00
maximius b257a28fa9 *Cleanup, fix many cases of unoptimized loops, potential crashes, excessively large data types, unnecessary or wrong casts, non-standardized function calls, and so on..
*Proper Maexxna Web Spray locations (old locations sent players flying into the air)

--HG--
branch : trunk
2009-11-01 17:53:07 -08: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
maximius 46f2faf1f3 *Cleanup, remove all positive auras (ie: buffs from another spec) on spec change.
--HG--
branch : trunk
2009-10-17 02:52:10 -07:00
Chaz Brown ad9eb5e89d * Some changes to scarlet ghouls script, still needs proper core support to work 100% correctly.
* Add item script for the harvester's gift, to prevent creating more than 5 scarlet ghouls, I know this can be done in a better way, but, I couldn't figure out how.
* Add new function Unit::GetAllMinionsByEntry(std::list<Creature*>& Minions, uint32 entry) used to correctly count how many scarlet ghouls a player has, can probably be handy in other situations.

--HG--
branch : trunk
2009-10-09 13:49:41 -04:00
Machiavelli b059ff3839 * Do not make nonphysical damage spells that use EffectWeaponDmg (like Seal of Command) receive total damage mod % auras twice - based on nos4r2zod's patch for MaNGOS
--HG--
branch : trunk
2009-10-07 19:34:20 +02:00
maximius b3f3a82e5f *Fix Unit::m_regenTimer so creatures regen health properly, by MrSmite
*Partial Utgarde Pinnacle instance & boss scripts, rewritten by Tartalo, original by ckegg
*Fix a bug where pets would engage new attackers while approaching the target their owner sent them to attack, by MrSmite

--HG--
branch : trunk
2009-09-22 16:14:37 -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 <[email protected]>

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 bcf19139af *Cleanup comments, update THANKS (no idea if I missed anybody o_O), added Themris' Warlock's Death Coil healing and damage fix, corrected some typos
--HG--
branch : trunk
2009-09-10 22:15:29 -07:00
maximius 5633ea57d1 *MrSmite's PetAI patch, plus Hawthorne's Instant Flight Paths (now with actual code! >_<)
--HG--
branch : trunk
2009-09-10 09:59:16 -07:00
megamage c6a831e0ae *Try to fix a crash caused by CalcAbsorbResist. Thanks to nanouniko
--HG--
branch : trunk
2009-09-06 22:00:10 -05:00
megamage 8efb15c52a *Try to fix the bug that creature does not regenerate after evade.
--HG--
branch : trunk
2009-09-02 12:46:26 -05:00
megamage 1e7386c638 [8442] Change some unit flag names. Author: NoFantasy
--HG--
branch : trunk
2009-09-01 17:21:22 -05:00
megamage 33a0155281 *Allow pet to have combo points.
--HG--
branch : trunk
2009-09-01 00:17:39 -05:00
maximius 1646b0bcef *More updates to Rate.MoveSpeed, thanks megamage
--HG--
branch : trunk
2009-08-30 21:33:17 -07:00