Commit graph

113 commits

Author SHA1 Message Date
VladimirMangos
0bbc496192 [8357] Use less hacky Spell::AddTriggeredSpell call for spell 33076 and ranks jump animation cast 2009-08-12 17:49:37 +04:00
XTZGZoReX
5c2ae96e38 [8338] Use expected constant name instead explicit value.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-09 11:01:53 +04:00
VladimirMangos
c8cc9b28f8 [8329] Implement aura deleting delay in case aura lock as currently used.
* Use counter for aura uses lock for recursivly mark as used in some cases.
* At aura remove add aura to deleting delayed auras list for aura target.
* Remove now unneeded hacks from aura handlers and aura tick code (maybe not all found yet)
* Use new aura delete locking for simplify proc spell event code.
* Prevent apply aura boost spells if aura deleted while adding to target by triggered spells.
* Re-implement aura list updating at auras update for target to better way skip
  removed from aura list auras while auras update.
2009-08-08 11:31:29 +04:00
VladimirMangos
a1973ced28 [8321] For additional atatck target ignore source spell target instaed auto-attack target.
This is fix targets selection in special cases for 13877, 26654 and ranks.
2009-08-06 02:01:17 +04:00
VladimirMangos
822a34e2c7 [8295] Remove single target auras at caster/target shift to not accessable phase.
This must fix another source of "Couldn't find the caster of the single target aura" errors.
2009-08-02 10:55:41 +04:00
nos4r2zod
13b709a10b [8249] Implement support spell_proc_item_enchant table for ppm item enchantments triggering at hit.
* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras.
  With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting.

* Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26).
  That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part.

Thanks to MaS0n as author alternative patch that partly used in this patch.
Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-26 04:58:46 +04:00
ApoC
6b2b58cec9 [8236] Implemented explicit remove of Aura by pointer to it (used for single cast auras).
* This can prevent removing single cast aura of same id and effect
  but different caster what can cause assert in next code.

Thanks Vladimir for hints.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-23 21:45:13 +02:00
Ambal
fc7871f0a2 [8229] Improve stealth detection code for player case.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-22 12:23:12 +04:00
VladimirMangos
36605805b4 [8218] Final part of talent 17962 and ranks fixes.
* Support correct aura state at server set for different casters effects
* Correctly check this telent (per caster) aura state at cast
* Correctly show per-caster aura state for cleitns.
2009-07-20 11:47:59 +04:00
VladimirMangos
3bfe549a2b [8147] Some fixes and cleanups in mind control and charmed code. Mind control stil not finished.
* Allow command to mind controlled unit attack target at client. Rename related flag to UNIT_FLAG_PLAYER_CONTROLLED.
* Move code for pet action bar remove at client side to new function Player::RemovePetActionBar
* Not allow cast spells with SPELL_AURA_MOD_POSSESS and SPELL_AURA_MOD_POSSESS_PET by non-players and simplify related code base at this.
2009-07-08 20:09:33 +04:00
ApoC
17d0cda637 [8144] Forgotten uninitialized value fix.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-07 19:42:10 +02:00
ApoC
fccba20c9d [8139] Implemented aura SPELL_AURA_ABILITY_PERIODIC_CRIT(286).
This commit affects spells 49868, 58435, 63068, 63091, 63503,
64915, 64925.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-06 22:48:34 +02:00
VladimirMangos
1baec77845 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-06-30 11:25:32 +04:00
Lightguard
df064ebd9f [8082] Update Diminishing Returns.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-27 11:32:52 +04:00
VladimirMangos
21a6a26386 [8077] Resolve mixed store and use 2 different flags values types in single field.
* Create new monster move field in Creature class and use it in all cases when expected use MONSTER_MOVE_* flags.
* Store and use MOVEMENTFLAG_* values in field in MovementInfo structure of Player class.
* Cleanups and fix related code.

NOTE: DB in creature_addon store values similar MONSTER_MOVE_* flags, scritps also expected set only this flags.
2009-06-26 01:57:34 +04:00
XTZGZoReX
9b9fe55981 [8056] Move SMSG_CLEAR_COOLDOWN into function and use it. Other cleanups.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-21 03:07:54 +04:00
VladimirMangos
0b4c37f751 [8035] Return found guardian in search function. Update caller. 2009-06-17 19:37:08 +04:00
VladimirMangos
309ac7ead0 [8023] Move guardian list at Unit level and unsummon guardians at owner-creature death/unload.
This expected to fix well known crash at intances unload with creature with summoned guardians.
Note: this "fix" special case but not original source of problem in general.
2009-06-15 23:46:13 +04:00
VladimirMangos
5254a498df [8016] Work at npc click table data use.
* New fields in `npc_spellclick_spells` for allow set npc spell click mode from quest to infinity
  or to another quest, or from reward quest.
* Not expect (and forbid set UNIT_NPC_FLAG_SPELLCLICK in DB and set it at `npc_spellclick_spells` loading.
* Apply some speedups for creature checks affected by spel click state
2009-06-15 01:01:38 +04:00
nos4r2zod
82d3e2ae7d [8011] Send energize packets in correct order to avoid strange client behaviour.
If you send SMSG_SPELLENERGIZELOG after SMSG_POWER_UPDATE client shows mana gain twice.

Signed-off-by: hunuza <hunuza@gmail.com>
2009-06-14 12:06:50 +02:00
DonTomika
dcba023261 [8010] Show overheal in combat log.
Signed-off-by: hunuza <hunuza@gmail.com>
2009-06-14 11:33:52 +02:00
hunuza
a34e7857f1 [8009] Pass const string reference to functions where possible.
Avoids creating an unnecessary copy of strings.

Signed-off-by: hunuza <hunuza@gmail.com>
2009-06-14 11:21:26 +02:00
VladimirMangos
7d6bf1fdbf [7932] Store in DB only spell part of pet action bar, set other to default state (reaction saved). 2009-06-01 04:44:02 +04:00
VladimirMangos
79dab3dae5 [7922] Implement param2 for ACTION_T_COMBAT_MOVEMENT for allow control start/stop melee combat state for creature at start/stop movement in combat.
Also small fix for avoid unexpected set pet speed to owner speed for non-player case. In player case this hack speed setting still required.
2009-05-31 04:35:38 +04:00
tomrus88
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
VladimirMangos
b83f32fc19 [7905] Implement ACTION_T_SET_SHEATH for creature event ai make possibility set ranged fire state.
Also related cleanup code in field cases and player Player::SetSheath.
2009-05-29 01:05:39 +04:00
VladimirMangos
4d8adefe70 [7901] Refactoting pet action bar related code. Fixed some related bugs.
* 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
2009-05-27 19:43:57 +04:00
ApoC
ba450b4eca [7888] Fixed typos in comment.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-05-24 16:54:06 +02:00
VladimirMangos
bc4611e8c0 [7877] Correctly set totem PvP state at loading and owner PvP state change, including GM totem case.
* Also set PvP state in proper way at pet loading if owner in PvP state.
2009-05-23 00:37:49 +04:00
Neo2003
fa03b3663a Mobs fleeing and getting assistance feature implementaion.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also rename ACTION_T_FLEE to ACTION_T_FLEE_FOR_ASSIST for clear use
2009-05-21 01:33:28 +04:00
VladimirMangos
788cdf9b3a [7826] Avoid use GetDistance* that used slow sqrt call where possible, other related speedups. 2009-05-14 18:51:13 +04:00
VladimirMangos
f53d06ad70 [7801] Apply damage mods from scripts or target state not in DealDamage but in new function before send data to client.
* Fixed bug with health decrease (client side visual bug) at spell damage by target with AI::DamageTaken damage set to 0
* Fixed bug with ignore .die command and instant kill damage in some cases.
2009-05-08 17:07:40 +04:00
VladimirMangos
943c76869d [7799] Use single function for SMSG_SPELLNONMELEEDAMAGELOG prepare. Merge comments, replace values by enums. 2009-05-08 12:42:58 +04:00
AlexDereka
27fabf7ace [7745] Fixed gcc warnings. 2009-05-03 20:25:27 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
VladimirMangos
73db1cbe01 [7723] New AI call EnterCombat called at enter creature to combat (and re-enter if leave by some reason). 2009-04-27 03:40:50 +04:00
Trazom
7c0201f834 [7701] Move explicit healing repeating code to DealHeal functions.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-23 04:54:57 +04:00
VladimirMangos
d910610600 [7697] Interrupt casting at enter to evade mode. 2009-04-22 18:05:59 +04:00
Lightguard
f97735f519 [7686] Implement aura SPELL_AURA_ADD_CASTER_HIT_TRIGGER (111).
Fixed bug with triggering SPELL_AURA_SPELL_MAGNET at non-magic casts (special weapon attacks).

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-19 00:42:16 +04:00
VladimirMangos
0e1997f746 [7657] Implement function for access to gameobject owned by unit and created by some spell. 2009-04-13 01:07:21 +04:00
arrai
5dd3ce31bc [7576] Fixed spell range check for spells with minimal distances 2009-03-28 22:27:39 +01:00
VladimirMangos
c4d4bb5620 [7552] Move client version dependend DBC code to src/game. 2009-03-27 01:59:26 +03:00
`win
0f6b2ab9ae [7523] Fixed: players will now drop flag in battleground if they cast immunity buff on themselves.
TODO: players who carry flag in bg are imune to immunity buffs casted by friendly players. (todo added to code).
Bug: if paladin casts Hand of protection on flag carrier - flag will be dropped, but he should get "target is immune" message.
Fixed: Do not call Battleground::Update for battleground template objects.
Fixed: Do not allow immune player to click on object in battleground (not sure if this is correct in all cases).

Signed-off-by: Triply <triply@getmangos.com>
2009-03-23 10:16:44 +01:00
VladimirMangos
c99a849eb9 [7475] Move Player::IsInFeralForm to Unit::IsInFeralForm 2009-03-16 23:22:52 +03:00
VladimirMangos
5d6cb5fe80 [7468] Convert pet cast check code to use SpellCastResult and finaly fix SPELL_CAST_OK value (255 custom value now) 2009-03-16 15:40:43 +03:00
=Neo2003
9b1216f21c [7458] Not reset/set some data at attack target switch that expected do at any target lost.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-14 23:40:57 +03:00
Triply
b45b075668 [7455] Implemented condition that player can be in 2 groups in 1 time - BG raid and normal group / raid.
Patch is tested, but can cause problems / unexpected behaviour.
TODO: set raid leader of battleground raid to raid leader who entered BG
TODO: when player leaves group, he is removed from GroupQueueInfo, and for him is created new GroupQueueInfo in normal queue.

Signed-off-by: Triply <triply@getmangos.com>
2009-03-14 17:01:30 +01:00
VladimirMangos
3a5d59c0c7 [7450] Fixes and improvements in TARGET_BEHIND_VICTIM, SPELL_EFFECT_JUMP2, SPELL_EFFECT_TELEPORT_UNITS work.
* Move near teleport code for player/creature in Unit::NearTeleportTo
* Allow correctly seelct target and end point orientation for script casted spells with TARGET_BEHIND_VICTIM
* Replace use BuildTeleportAckMsg by BuildHeartBeatMsg for creature teleports. BuildTeleportAckMsg
  set active mover for targeted player to affected creature and "freeze" player.
2009-03-13 17:08:10 +03:00
VladimirMangos
1349d36270 [7333] Refactoring DestinationHolder/Traveler/Unit::SendMonsterMoveWithSpeed code.
* Move common code in appropriate functions.
* Correct select speed and 2D/3D distance for creature/player walk/fly
2009-02-25 07:03:45 +03:00
VladimirMangos
9b3daf3933 [7330] Code warnings and style cleanups. Some bugs fixes.
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.

Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
2009-02-24 01:54:53 +03:00