Commit Graph
64 Commits
Author SHA1 Message Date
n0n4m3 99f66a6bc9 Updated copyright for new year.
--HG--
branch : trunk
2010-01-16 20:19:18 +03: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 1c0f2d233f Fix problem with max pet distance from owner. by VladimirMangos
--HG--
branch : trunk
2009-12-19 20:02:38 +01: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 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 465d3c6717 *Fix Hunter pet focus regen (thanks MrSmite)
--HG--
branch : trunk
2009-09-10 08:48:25 -07:00
maximius 790a04bb29 *Replace uint32 with int32, should fix "Pet::Update(): pets aren't regenerating focus even though m_regenTimer is less than diff"..
--HG--
branch : trunk
2009-09-09 23:39:15 -07:00
megamage 5f1589d6d1 *Allow vehicles to regenerate energy.
--HG--
branch : trunk
2009-08-23 22:36:51 -05:00
QAston ba91c78ceb *Update Mana Shield Spell Power Coefficient - by fukifat.
*Add function void AuraEffect::HandleAuraEffectSpecificMods(bool apply, bool Real, bool changeAmount), and aura effect specific stuff to it.
*More correct aura scaling with lvl for area auras.
*Prevent exploits with relog while having auras with modified amount.

--HG--
branch : trunk
2009-08-13 00:52:05 +02:00
megamage 6976043e22 [8126] Improvemets in player/pet/charter name checks. Author: VladimirMangos
* Implement new config options for minimal player/pet/charter name length (2 by default)
    * Better error reporting at problems in names.
    * Add check from max pet/charter name length (same as for player names at client side)

--HG--
branch : trunk
2009-07-10 08:25:33 +08:00
QAston ad91c6b1e2 [8052] Fixed typo in error log output. Author: The_Game_Master
[8049] Added energize effect after last heal tick for 33763 and ranks. Author: bobaz
[8053] At character talents reset using chat command also reset talents
for all character pets. Author: VladimirMangos

--HG--
branch : trunk
2009-06-23 13:05:15 +02:00
megamage d0878ec414 *Fix the bug that shaman/druid/mage pets do not have scaled stats
--HG--
branch : trunk
2009-06-01 23:45:00 -05:00
megamage 1288761fb7 [7905] Implement ACTION_T_SET_SHEATH for creature event ai make possibility set ranged fire state. Author: VladimirMangos
Also related cleanup code in field cases and player Player::SetSheath.

--HG--
branch : trunk
2009-05-28 18:43:57 -05:00
megamage cfa2e223c0 [7903] Load and save for pets only talents. Not store unused (in fact) free talent point amount. Author: VladimirMangos
* Other pet spell types auto-learned at level setup/load.
    * Code will cleanup pet_spell table from non-talents spell if detect any at load.
    * Free talents points recalculated at loading and levelup so store its in DB useless.

    Note: bug with not highlighting learned pet talents (except first line) until learn one more talent not fixed.

--HG--
branch : trunk
2009-05-28 18:22:54 -05:00
megamage 514fc49c3c [7901] Refactoting pet action bar related code. Fixed some related bugs. Author: VladimirMangos
* Correctly update action bar at loading and other cases when listed unlearned/not existed spells
    * Avoid send data by PetSpellInitialize() many times while pet loading

--HG--
branch : trunk
2009-05-27 17:02:39 -05:00
megamage d971d0121f *Do not consider possessed creatures as pet. Also fix the bug that possessed creature does not display spells.
--HG--
branch : trunk
2009-05-25 22:52:08 -05:00
megamage 09b386a786 [7886] Drop use table petcreateinfo_spell
This is first commit in chain for remove oudated and not used pet functionality.

    * Use instead dropped table CreatureSpellData.dbc if creature_template.PetSpellDataId set (mostly hunter pets)
    * Use creature_template.spellN if not set creature_template.PetSpellDataId (mostly different summon creatures)
    * Fixed bug with not removing from action bar spell icon for not ranked unlearned spells.

    Note: summoned controllable creatures without PetSpellDataId must have expected spells in spellN feilds for creature_template.

[7887] Drop pet spell teaching code, including field in character_pet.

Author: VladimirMangos

--HG--
branch : trunk
2009-05-24 12:16:12 -05:00
megamage 2a2eff190c *Fix some bugs about pet spells: such as cannot cast/cannot autocast.
--HG--
branch : trunk
2009-05-19 01:23:52 -05:00
megamage 1d859b6ee4 [7843] Added newline into Pet.h end to make gcc happy. Author: ApoC
--HG--
branch : trunk
2009-05-17 18:43:07 -05:00
megamage 3569f949d7 [7839] Rafactoring player targeting code in chat command and related cleanups/improvments.
* New extractOptFirstArg function for easy get 2 args in case option playe name as first arg.
    * New extractPlayerTarget function for get player pointer/guid/name for online/offline player base at provided name
      or if not provided by current seelction with error cases processing.
    * Property apply mute/unmute in case use different character name from loggined currently for account.
    * .reset commands can be used from console now
    * .repairitems comamnd can be used from console now but only to online player.

Author: VladimirMangos

--HG--
branch : trunk
2009-05-17 10:57:55 -05:00
megamage 9b4d3bf0af [7835] Store structures (with size = uint32) insteed pointer to structure in PetSpellMap. Author: VladimirMangos
--HG--
branch : trunk
2009-05-15 16:46:02 -05:00
megamage a442a9b914 [7831] Prevent have hunter pet with level greater player levels at level changes. Propertly set hunter pet xp values at level update. Author: VladimirMangos
--HG--
branch : trunk
2009-05-15 13:44:49 -05:00
megamage 047cc95388 *Add some distance check functions. By VladimirMangos.
--HG--
branch : trunk
2009-05-14 16:50:47 -05:00
megamage d72855e25f [7794] Add DK pet type support for proper show it in client Pet tab. Author: Astellar
--HG--
branch : trunk
2009-05-08 18:43:06 -05:00
megamage 5e2bec88dc [7785] Allow regenerate energy for pets if this current power type. Author: Astellar
--HG--
branch : trunk
2009-05-06 16:47:06 -05:00
QAston 2d1521dea9 *Fix CAST_INTURRUPT_PREVIOUS flag for eventai action cast
*Rewrite .reload all pet_spells command to make it reset actionbars correctly.

--HG--
branch : trunk
2009-04-26 02:48:20 +02:00
QAston 066af701d3 *Fix frenzy and Ferocious Inspiration proc.
*Add command .reset all pet_spells - use it if you still have problems with pet talents after recent revs changes (like pets with all talents for example)

--HG--
branch : trunk
2009-04-23 20:57:17 +02:00
megamage fac5ed6e3b *Fix Pet Focus and Health Regen. By rvnth.
--HG--
branch : trunk
2009-04-16 15:51:20 -05:00
megamage 4d277430c5 [7644] Fixed pet slot values using in pet save. Author: VladimirMangos
Problem exist from client version switch when stable slot amount changed.
    In result this has been source problems with stable use (3-4 slots) and possible pet lost in some cases
    or "not save state" for summoned pets.
    Use enums to avoid repeating problem, use more safe value for not-in-slot save (for summoned pets)
    Fixed data preparing for MSG_LIST_STABLED_PETS.

--HG--
branch : trunk
2009-04-10 18:18:44 -05:00
megamage b858dd535a *Fix the bug that pet cannot be put in stable.
--HG--
branch : trunk
2009-04-03 18:22:46 -06:00
megamage b51cea6ce4 *Remove some code which may cause crash.
--HG--
branch : trunk
2009-03-31 14:08:38 -06:00
megamage ce8462ccf9 [7558] Implement command: .learn all_mypettalents Author: VladimirMangos
Also output more correct messages at use .reset talents to pet

--HG--
branch : trunk
2009-03-28 16:25:42 -06:00
megamage ff83e4a9b1 *Fix some bugs of pet.
--HG--
branch : trunk
2009-03-27 22:47:28 -06:00
megamage 1c2eab4110 *Fix a crash caused by pet.
*Make pet class derived from guardian class.

--HG--
branch : trunk
2009-03-25 21:32:34 -06:00
megamage 8f627853df *More work on summon system.
--HG--
branch : trunk
2009-03-20 14:01:46 -06:00
megamage a2392121f0 *Fix the bug that summon dbc is not read. Now creatures can be summoned.
*Make minipet as tempsummon instead of pet. Make totem as tempsummon.

--HG--
branch : trunk
2009-03-19 14:41:30 -06:00
megamage 1b587c0fe3 *Merge.
--HG--
branch : trunk
2009-02-20 12:05:58 -06:00
megamage eb3abf2556 *Fix a crash caused by summon_type_possess.
--HG--
branch : trunk
2009-02-19 18:30:03 -06:00
megamage 31637d4aac *Merge.
--HG--
branch : trunk
2009-02-18 11:36:19 -06:00
KingPin 14234c86fa Newline added to bottom of all files.
--HG--
branch : trunk
2009-02-17 20:07:49 -06:00
QAston 4c5f0fd6a5 *Fix aura sending to 303 client.
--HG--
branch : trunk
2009-02-06 19:42:03 +01:00
Drahy 5dab980495 * Updated copyright notice for new year (2009) part 2
* Changed mangos website

--HG--
branch : trunk
2009-02-04 12:42:26 +01:00
Drahy 7c19c420c6 * Updated copyright notice for new year (2009) part 1 - Mercurial cant convert all files at once
--HG--
branch : trunk
2009-02-04 12:04:12 +01:00
megamage 336e8501f0 *Update to Mangos 7208. Implement phase system.
--HG--
branch : trunk
2009-01-31 16:38:50 -06:00
megamage ef88b04451 *Update to Mangos 7183.
--HG--
branch : trunk
2009-01-25 16:35:14 -06:00
megamage 4230318f96 *Update to Mangos 7136.
--HG--
branch : trunk
2009-01-21 16:18:57 -06:00
megamage 68c0bcd069 *Update to Mangos 7125.
--HG--
branch : trunk
2009-01-20 19:59:43 -06:00
megamage 5c8f52d134 *Update to Mangos 7059.
--HG--
branch : trunk
2009-01-09 16:06:17 -06:00
megamage 3bbf8d6be8 HG 698.
--HG--
branch : trunk
2008-12-28 10:52:24 -06:00