Commit Graph
5185 Commits
Author SHA1 Message Date
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 db24e2927c Implement Sacred Shield bonus for Flash of Light, fix absorb being proced on taking heals
--HG--
branch : trunk
2010-01-13 10:47:51 +01:00
thenecromancer 83ddbf0f53 Fix updating spellpower from attack power for paladins
--HG--
branch : trunk
2010-01-13 10:46:01 +01:00
thenecromancer 8c5ece6420 Implement effect for aura #243 (temporary faction change)
--HG--
branch : trunk
2010-01-13 10:45:34 +01:00
thenecromancer b98fc794e4 Fix heal combat log event not displaying if heal was critical
--HG--
branch : trunk
2010-01-13 10:28:44 +01:00
thenecromancer c36a8d2d5f Change SPELL_EFFECT_SUMMON_PHANTAS to SPELL_EFFECT_FORCE_DESELECT and allow it to be casted with active pet
This fixes Mirror Image not changing names when Water Elemental is active. (Note that deselect effect is done in linked spells for Killing Spree/Shadowmeld)

--HG--
branch : trunk
2010-01-13 10:27:44 +01:00
thenecromancer a4cb03d9cd Remove unexpected arg, sorry for that
--HG--
branch : trunk
2010-01-13 10:20:28 +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
thenecromancer 6b07806d0c Add support for additional passive for FORM_MOONKIN
--HG--
branch : trunk
2010-01-13 10:08:49 +01:00
thenecromancer 3af5237f8c Do not remove MOVEMENTFLAG_ONTRANSPORT when unit has existing GAMEOBJECT_TYPE_TRANSPORT in movement info
Note that this will fix movement on elevators only visualy ( server position is still going to be wrong )

--HG--
branch : trunk
2010-01-13 10:04:48 +01:00
thenecromancer ac4bab5451 Allow pet cast spells unaffected by global cooldown, while global cooldown is active
--HG--
branch : trunk
2010-01-13 10:03:09 +01:00
thenecromancer d8d346ef1f Apply haste to nonmagic class spells too. (For instance Arcane Missiles have dmgclass_none )
--HG--
branch : trunk
2010-01-13 09:58:44 +01:00
thenecromancer 2b94d181cd Check if precast spell exists before trying to cast it. (Otherwise charge-like spells spam console a lot)
--HG--
branch : trunk
2010-01-13 09:56:51 +01:00
thenecromancer ecd9470dc8 Fix Kill Shot damage (increase damage by attack power, not weapon damage ( that is already included in effects))
--HG--
branch : trunk
2010-01-13 09:54:03 +01:00
thenecromancer a3e66287bf Remove hack for Freezing Fog aura.
Instead apply modifier directly to rune cost ( this will also fix runic power generation in that case )

--HG--
branch : trunk
2010-01-13 09:49:37 +01:00
thenecromancer 44e2bfce77 Fix problems with action buttons related to switching specs
*saving spells without saving current talent map and m_activeSpec is not good idea at all,
this might allow players various exploits
*send expected packet to correctly handle action bar

--HG--
branch : trunk
2010-01-13 09:45:05 +01:00
Brian 6aea9f7a0a * Fixed a small opps on the last commit with NPCHandler
* Fixed error in script boss_grand_champions (Thanks QAston)

--HG--
branch : trunk
2010-01-12 19:55:18 -07:00
Brian f5b1534f22 * Renamed 3.2.2.a_old to 3.2.2a_old (proper format)
* Fixes cmake complaining :)

--HG--
branch : trunk
rename : sql/updates/3.2.2.a_old/6589_characters_bugreport.sql => sql/updates/3.2.2a_old/6589_characters_bugreport.sql
rename : sql/updates/3.2.2.a_old/6589_characters_character_action.sql => sql/updates/3.2.2a_old/6589_characters_character_action.sql
rename : sql/updates/3.2.2.a_old/6589_characters_character_aura.sql => sql/updates/3.2.2a_old/6589_characters_character_aura.sql
rename : sql/updates/3.2.2.a_old/6589_characters_character_spell_cooldown.sql => sql/updates/3.2.2a_old/6589_characters_character_spell_cooldown.sql
rename : sql/updates/3.2.2.a_old/6589_characters_characters.sql => sql/updates/3.2.2a_old/6589_characters_characters.sql
rename : sql/updates/3.2.2.a_old/6589_characters_groups.sql => sql/updates/3.2.2a_old/6589_characters_groups.sql
rename : sql/updates/3.2.2.a_old/6589_characters_instance_reset.sql => sql/updates/3.2.2a_old/6589_characters_instance_reset.sql
rename : sql/updates/3.2.2.a_old/6589_characters_spell.sql => sql/updates/3.2.2a_old/6589_characters_spell.sql
rename : sql/updates/3.2.2.a_old/6589_realmd_realmlist.sql => sql/updates/3.2.2a_old/6589_realmd_realmlist.sql
rename : sql/updates/3.2.2.a_old/6589_world_battleground_template.sql => sql/updates/3.2.2a_old/6589_world_battleground_template.sql
rename : sql/updates/3.2.2.a_old/6589_world_creature_template.sql => sql/updates/3.2.2a_old/6589_world_creature_template.sql
rename : sql/updates/3.2.2.a_old/6589_world_instance_template.sql => sql/updates/3.2.2a_old/6589_world_instance_template.sql
rename : sql/updates/3.2.2.a_old/6589_world_item_template.sql => sql/updates/3.2.2a_old/6589_world_item_template.sql
rename : sql/updates/3.2.2.a_old/6589_world_player_classlevelstats.sql => sql/updates/3.2.2a_old/6589_world_player_classlevelstats.sql
rename : sql/updates/3.2.2.a_old/6589_world_playercreateinfo_action.sql => sql/updates/3.2.2a_old/6589_world_playercreateinfo_action.sql
rename : sql/updates/3.2.2.a_old/6589_world_playercreateinfo_spell.sql => sql/updates/3.2.2a_old/6589_world_playercreateinfo_spell.sql
rename : sql/updates/3.2.2.a_old/6589_world_quest_template.sql => sql/updates/3.2.2a_old/6589_world_quest_template.sql
rename : sql/updates/3.2.2.a_old/6589_world_spell_bonus_data.sql => sql/updates/3.2.2a_old/6589_world_spell_bonus_data.sql
rename : sql/updates/3.2.2.a_old/6589_world_spell_elixir.sql => sql/updates/3.2.2a_old/6589_world_spell_elixir.sql
rename : sql/updates/3.2.2.a_old/6589_world_spell_proc_event.sql => sql/updates/3.2.2a_old/6589_world_spell_proc_event.sql
rename : sql/updates/3.2.2.a_old/6597_world_spell_proc_event.sql => sql/updates/3.2.2a_old/6597_world_spell_proc_event.sql
rename : sql/updates/3.2.2.a_old/6643_world_gameobject_template.sql => sql/updates/3.2.2a_old/6643_world_gameobject_template.sql
rename : sql/updates/3.2.2.a_old/6644_world_creature_template.sql => sql/updates/3.2.2a_old/6644_world_creature_template.sql
rename : sql/updates/3.2.2.a_old/6644_world_gossip_menu.sql => sql/updates/3.2.2a_old/6644_world_gossip_menu.sql
rename : sql/updates/3.2.2.a_old/6644_world_gossip_menu_option.sql => sql/updates/3.2.2a_old/6644_world_gossip_menu_option.sql
rename : sql/updates/3.2.2.a_old/6644_world_gossip_scripts.sql => sql/updates/3.2.2a_old/6644_world_gossip_scripts.sql
rename : sql/updates/3.2.2.a_old/6644_world_locales_npc_option.sql => sql/updates/3.2.2a_old/6644_world_locales_npc_option.sql
rename : sql/updates/3.2.2.a_old/6644_world_npc_gossip_textid.sql => sql/updates/3.2.2a_old/6644_world_npc_gossip_textid.sql
rename : sql/updates/3.2.2.a_old/6644_world_npc_option.sql => sql/updates/3.2.2a_old/6644_world_npc_option.sql
rename : sql/updates/3.2.2.a_old/6644_world_scriptname.sql => sql/updates/3.2.2a_old/6644_world_scriptname.sql
rename : sql/updates/3.2.2.a_old/6645_world_gameobject_template.sql => sql/updates/3.2.2a_old/6645_world_gameobject_template.sql
rename : sql/updates/3.2.2.a_old/6649_world_scriptname.sql => sql/updates/3.2.2a_old/6649_world_scriptname.sql
rename : sql/updates/3.2.2.a_old/6655_world_spell_bonus_data.sql => sql/updates/3.2.2a_old/6655_world_spell_bonus_data.sql
rename : sql/updates/3.2.2.a_old/6657_world_spell_proc_event.sql => sql/updates/3.2.2a_old/6657_world_spell_proc_event.sql
rename : sql/updates/3.2.2.a_old/6664_world_quest_template.sql => sql/updates/3.2.2a_old/6664_world_quest_template.sql
rename : sql/updates/3.2.2.a_old/6665_world_creature_classlevelstats.sql => sql/updates/3.2.2a_old/6665_world_creature_classlevelstats.sql
rename : sql/updates/3.2.2.a_old/6665_world_creature_template.sql => sql/updates/3.2.2a_old/6665_world_creature_template.sql
rename : sql/updates/3.2.2.a_old/6669_world_creature_template.sql => sql/updates/3.2.2a_old/6669_world_creature_template.sql
rename : sql/updates/3.2.2.a_old/6675_world_spell_linked_spell.sql => sql/updates/3.2.2a_old/6675_world_spell_linked_spell.sql
rename : sql/updates/3.2.2.a_old/6676_world_script_texts.sql => sql/updates/3.2.2a_old/6676_world_script_texts.sql
rename : sql/updates/3.2.2.a_old/6678_world_creature_classlevelstats.sql => sql/updates/3.2.2a_old/6678_world_creature_classlevelstats.sql
rename : sql/updates/3.2.2.a_old/6686_world_scriptname.sql => sql/updates/3.2.2a_old/6686_world_scriptname.sql
rename : sql/updates/3.2.2.a_old/6691_world_spell_proc_event.sql => sql/updates/3.2.2a_old/6691_world_spell_proc_event.sql
rename : sql/updates/3.2.2.a_old/6694_world_item_template.sql => sql/updates/3.2.2a_old/6694_world_item_template.sql
rename : sql/updates/3.2.2.a_old/6710_realmd_account_access.sql => sql/updates/3.2.2a_old/6710_realmd_account_access.sql
rename : sql/updates/3.2.2.a_old/6710_world_command.sql => sql/updates/3.2.2a_old/6710_world_command.sql
rename : sql/updates/3.2.2.a_old/6710_world_trinity_string.sql => sql/updates/3.2.2a_old/6710_world_trinity_string.sql
rename : sql/updates/3.2.2.a_old/6711_world_creature_classlevelstats.sql => sql/updates/3.2.2a_old/6711_world_creature_classlevelstats.sql
rename : sql/updates/3.2.2.a_old/6712_realmd_account_access.sql => sql/updates/3.2.2a_old/6712_realmd_account_access.sql
rename : sql/updates/3.2.2.a_old/6739_world_script_waypoints.sql => sql/updates/3.2.2a_old/6739_world_script_waypoints.sql
rename : sql/updates/3.2.2.a_old/6742_world_script_texts.sql => sql/updates/3.2.2a_old/6742_world_script_texts.sql
rename : sql/updates/3.2.2.a_old/6742_world_script_waypoints.sql => sql/updates/3.2.2a_old/6742_world_script_waypoints.sql
rename : sql/updates/3.2.2.a_old/6742_world_scriptname.sql => sql/updates/3.2.2a_old/6742_world_scriptname.sql
rename : sql/updates/3.2.2.a_old/6748_world_command.sql => sql/updates/3.2.2a_old/6748_world_command.sql
rename : sql/updates/3.2.2.a_old/6751_world_creature_classlevelstats.sql => sql/updates/3.2.2a_old/6751_world_creature_classlevelstats.sql
2010-01-12 19:02:54 -07:00
Trazom62 445a603bef Fix ACTION_T_RANDOM_PHASE_RANGE. Thanks Nayre and raczman
--HG--
branch : trunk
2010-01-12 21:16:12 +01:00
Trazom62 6cf82048a5 Fix normal10/normal25 raid detection in scripts.
Replace HEROIC(n,h) macro by DUNGEON_MODE(n,h), RAID_MODE(n10,n25) and RAID_MODE(n10,n25,h10,h25) functions
Cleanup all HeroicMode like flags in ScriptedAI sub-class
Fix some missing virtual destructors

--HG--
branch : trunk
2010-01-12 20:51:59 +01:00
_manuel_ 4a366a5e6e Closes #292. Updates flag respawn timer from battlegrounds and updates max score and score warning from Eye of the Storm. Fix by naitsabes.s
--HG--
branch : trunk
2010-01-12 02:14:05 -03:00
_manuel_ a7c23494c3 Fixed spell 44401 (Missile Barrage). Thanks to QAston.
--HG--
branch : trunk
2010-01-11 20:44:13 -03: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
Astellar b2082db189 Do not compute incoming time for self casts.
--HG--
branch : trunk
2010-01-11 22:24:31 +03:00
XTZGZoReX ebc5901161 * Fix crash when there's no creature_classlevelstats entry for a creature level.
* All this really does is fill in default values of 1.. If you got custom content, you'll have to fill in the creature_classlevelstats table yourself. This patch doesn't automagically fix stats for you.

--HG--
branch : trunk
2010-01-11 18:13:21 +01:00
Astellar 879948260f Fixed typo.
--HG--
branch : trunk
2010-01-11 20:01:16 +03:00
Brian 378388d0a6 * Add support for .gobj target to output phaseMask
* Thanks to Aokromes for the original idea of adding it to .npc info output.

--HG--
branch : trunk
2010-01-10 19:03:47 -07:00
XTZGZoReX a66152215e * Add support for base armor values in creature_classlevelstats.
* Change the table structure to be more core-friendly.
* Remove armor field in creature_template and add Armor_mod field.
* Also add static CreatureBaseStats::GetBaseStats() function for scripts.

--HG--
branch : trunk
2010-01-10 22:02:03 +01:00
silver1ce 8c85caf41d Resolves #259 fixed crash, caused by incorrect cell_id generation
--HG--
branch : trunk
2010-01-10 22:28:36 +02:00
QAston bf33b9b494 *Merge after backout.
--HG--
branch : trunk
2010-01-10 21:24:39 +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
Astellar f41e837143 Addition to previous commit.
--HG--
branch : trunk
2010-01-10 22:42:41 +03:00
Astellar 40f70a8594 Fixed quest Catch and Release, some fixes for Tag Murloc spell.
--HG--
branch : trunk
2010-01-10 22:37:31 +03:00
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
Astellar 4bd6d06e26 Fixed typo.
--HG--
branch : trunk
2010-01-10 22:01:18 +03:00
Brian 1e7087c75c * add armor output in .npc info
--HG--
branch : trunk
2010-01-10 16:11:24 -07: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 74bd8084a0 dropped old code, which unused since new visibility system implemented
--HG--
branch : trunk
2010-01-10 16:33:14 +02:00
Rat 903f975dc8 *fix spell: Tag Murloc (30877)
--HG--
branch : trunk
2010-01-10 15:29:04 +01:00
QAston feb7acf8aa *spell_linked_spell entry for Deterrance. Resolves #237.
--HG--
branch : trunk
2010-01-10 14:51:34 +01:00
QAston f9c4030f59 *Implement attribute SPELL_ATTR_NEGATIVE_1
*Remove unneeded hacks from SpellMgr::_isPositiveSpell
*Missing ! in prev commit.

--HG--
branch : trunk
2010-01-10 13:48:57 +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 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
Anubisss 6cbe65eaa3 Fix a mem leak.
--HG--
branch : trunk
2010-01-10 11:20:52 +01: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
_manuel_ dcf4883b51 Implemented new event for EventAI, EVENT_T_RESET.
--HG--
branch : trunk
2010-01-08 14:40:55 -03:00
_manuel_ d4228470e4 Fixed typo by Corfiik. Now talent Tidal Waves should work.
--HG--
branch : trunk
2010-01-08 13:12:49 -03:00
XTZGZoReX c3e02980ef * Fix some more cases where movement flags were +'d together, instead of |'d.
--HG--
branch : trunk
2010-01-08 07:59:39 +01:00