Commit graph

261 commits

Author SHA1 Message Date
michalpolko
08b32d7d32 [10841] Implement charges counting for magnet target auras.
Also implement skip spell effects redirecting if magnet target can't be
targeted by this spell effect base at spell effect target data requirements.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-08 10:42:19 +03:00
VladimirMangos
4c02094737 [10834] Cleanup shapeshift form code. 2010-12-07 14:41:59 +03:00
VladimirMangos
c3254c88ca [10833] Avoid use unsafe remove auras in aura apply code.
Specailly example Aura::HandleModCharm code where old code
call RemoveSpellsCausingAura or (a) dead and not called,
or (b) will remove aura self at call.

* Added safe for aura holder context version of RemoveSpellsCausingAura
* Cleanup old simple RemoveSpellsCausingAura code also.
2010-12-07 12:31:01 +03:00
VladimirMangos
b6ea36192e [10829] Update SpellFamily check functions.
* Move SPELLFAMILY_* to DBCEnums.h and name it as SpellFamily
* Use enum in Unit::GetAura, move family mask code to new SpellEntry helper function.
* Avoid all auras scan in search of triggred spell for 20243.
2010-12-06 08:40:39 +03:00
NoFantasy
0c85afea79 [10778] Make AI call OwnerKilledUnit() more proper.
Affect any pet that are not being controlled (minipet/guardian/protector) and will also apply to pets owned by another creature.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-11-23 11:07:07 +01:00
zergtmn
272fa74854 [10767] Show <overkill> value in combat logs.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-21 10:51:48 +02:00
insider42
f7b4b88e02 [10762] Implement SPELL_AURA_IGNORE_UNIT_STATE (252).
Original patch provided by Wojta

Note: From patch excluded talent 44543 and ranks stacking code.
      It look like need another implemention different from suggested,
      or at least more research.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

In patch added enum IgnoreUnitState and related checks now more cheating protected.
2010-11-21 01:42:25 +03:00
Schmoozerd
ca56284912 [10759] Correctly reset mob orientation upon reaching spawn point. Should also improve visualisation of mob orientation on clients
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-20 19:38:18 +02:00
rsa
07c48c77c9 [10758] Fixed typo in CONTROLED_*
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-20 20:03:43 +03:00
VladimirMangos
b20b3e5ade [10757] Implement zone limited pets unsummon at leave allowed zones.
* Also remove redundant zone/area args for zone/area update function like UpdateZoneDependentAuras.
* Merge Player::*AllControlledUnits functions to Unit version with replace option args by mask arg.
* Unit::*AllControlledUnits guardian iteration make working with internal unsummon call suport for guardians case.
2010-11-20 08:10:32 +03:00
rsa
92ed528eb9 [10754] Use UNIT_FIELD_CRITTER for store minipet guid.
Also move related code to Unit and allow summon minipets by creatures.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also fix creature's totems unsummon at owner remove from world.
2010-11-20 04:37:14 +03:00
VladimirMangos
12b80fec68 [10747] Some other aura caster object guid use cases. 2010-11-19 18:36:43 +03:00
VladimirMangos
876458c6e4 [10735] Fixed spell 51420 work by use recently added protector pets as expected.
Thanks to NoFantasy for problem research (and prev. new pet type adding case research aslo) ;)
2010-11-18 22:21:31 +03:00
tomrus88
76dfdd336f Backports from 400 branch. 2010-11-15 18:01:45 +03:00
VladimirMangos
3b0e926788 [10717] Revert "[10716][10688] New version of patch for send real diff from last update."
This reverts commit 8398a55fa274471daae115e00c627b299a3fdbbd.
This reverts commit 06e2d6859ba3d7fd47be72c23a64e68ae039701f.
2010-11-10 06:29:49 +03:00
VladimirMangos
9508001213 [10696] Avoid selection despawned creatures as spell autoselected targets.
Original patch provided by virusav.
2010-11-08 03:09:01 +03:00
VladimirMangos
d2b3981631 [10695] Cleanup some death state enums usage. 2010-11-08 02:13:25 +03:00
VladimirMangos
e219ee99bb [10688] New version of patch for send real diff from last update.
In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.

Original version provided by ciphercom.
2010-11-06 22:59:54 +03:00
VladimirMangos
0847d4c8cd [10683] Revert "[10677] Send to creature/etc Update call real diff from last update and use it."
This reverts commit 10784a8c7cc81c468b5411e973d36ecf31de9603.

Main reason: impossibility for me as commiter test problem and fix all corner cases problems.
2010-11-05 19:54:31 +03:00
cipherCOM
555c1a9094 [10677] Send to creature/etc Update call real diff from last update and use it.
Now in case when creature/etc some tices not updates in result stay
in not active (no near players or active objects) cell some important
timers (corpse decay, summon timers, group loot expire, aura durations, etc) will
updates at real diff time from last prev. update call.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

For some systems added exclude use real diff time because current limitations
like move generators. So its stay use last tick diff and considered freeze and
skip all time while creature in not active map part.
2010-11-03 07:07:13 +03:00
mns
54d0c9b77d [10672] Allow damage own pet in sanctuary.
Also mome repeating code to new function.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-01 14:57:54 +03:00
VladimirMangos
a32d68febd [10671] Convert some Unit owner/etc guids to ObjectGuid way. 2010-11-01 13:19:50 +03:00
SilverIce
1871cf977f [10653] Implemented MSG_MOVE_KNOCK_BACK opcode
* Player's knockback movement now smooth and doesn't looks like teleporting
 * Cleanup WorldSession::HandleMovementOpcodes, separated opcode specific and generic movement handlers code
 * Handle Feign Death aura interrupting into more appropriate place
2010-10-28 05:48:43 +03:00
VladimirMangos
da07caba28 [10630] Convert Set(Get)ChannelObjectGuid to ObjectGuid way.
Also fix typo in debug output for prev. commit.
2010-10-20 11:19:47 +04:00
VladimirMangos
c955941b55 [10627] Use ObjectGuid for player's selection and unit's target 2010-10-20 08:19:48 +04:00
zerg
3c6d5e985f [10620] Fixed MSG_MOVE_HEARTBEAT structure.
Thx Wojta for pointing.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-10-19 00:55:26 +04:00
DasBlub
fc5dd54f37 [10612] Revert "[10611] Made some values const"
Reason: It makes no sense to make a local variable const.

This reverts commit 49e3184d69056738701bc15d9b7f982bf11d7bbc.
2010-10-15 22:29:10 +02:00
Reve
47d971c7f9 [10611] Made some values const
Signed-off-by: DasBlub <dasblub@gmail.com>
2010-10-15 22:14:42 +02:00
DasBlub
61102e3b16 [10610] Renamed some functions from the Creature class
Also other classes have been affected, due to the use of search&replace.
This will probably break some patches and 3rd party libraries, so make sure to update them if required.
Thanks to Phille for the original idea and patch!
2010-10-14 22:07:04 +02:00
zerg
2fa5fa43bd [10594] Use equal_range instead of lower_bound/upper_bound pairs
(based on zergtmn's repo commit 0499169)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-10-09 01:37:57 +04:00
Laise
a67b6a1da5 [10570] Store spell entry of triggering spell on triggered, original patch provided by insider42 2010-10-01 13:17:28 +02:00
VladimirMangos
98f36e4652 [10562] Cleanup WorldSession::HandlePetAction
Also fixed attack target seelction base at packet content instead direct player selection.
Remove unneded arg for Unit::SendPetAIReaction.
2010-09-30 20:39:13 +04:00
DasBlub
f8ff8d78ea [10557] Add optionial arg to Unit::SetFacingTo which is passed to SendMessageToSet 2010-09-29 22:08:13 +02:00
Laise
cebc77414a [10552] Add some vehicle flags, thanks to zergtmn and community 2010-09-27 11:25:13 +02:00
darkstalker
3a8ad26a5e [10526] Implement server side global cooldown check.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also pet/controlled unit global cooldown code replaced by new placed in charmInfo structure.

Thanks to nos4r2zod for testing and gcd range check implement.
2010-09-24 06:07:26 +04:00
Laise
abbf4f5331 [10486] Use casterGUID check for delaying holder since possible stacking same spell from different casters 2010-09-15 11:36:04 +02:00
VladimirMangos
84a915e1b1 [10475] Implement SPELL_AURA_HEAL_ABSORB (301)
Used for example in spells 66237 and 70659.

Also rename CalculateAbsorbAndResist -> CalculateDamageAbsorbAndResist
2010-09-12 02:45:26 +04:00
Laise
0cb6f7be0c [10453] Fix disease consume part of 49020 and ranks 2010-09-08 10:47:41 +03:00
VladimirMangos
dfc9966d3b [10445] Re-implement in more safe way single cast spell targets system.
It also fix case when target can unexpected lost single target aura at phase switch
in case when target still visible in new phase (pet for example)
2010-09-05 07:47:45 +04:00
VladimirMangos
9d76725a0e [10391] Restore build at Unix after Unit::GetUnit drop. 2010-08-20 23:44:01 +04:00
VladimirMangos
77ae9a63b8 [10385] Remove Unit::GetUnit and update it callers. 2010-08-20 16:53:45 +04:00
NoFantasy
8aaf32798f [10310] Clarify argument in emote related functions, expecting emote id
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-03 01:01:45 +02:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
Lynx3d
6c6ce87867 [10253] Small cleanup in Unit::HasAura() to prevent redundant upper_bound calls. 2010-07-23 23:15:13 +02:00
Laise
f37c73e255 [10211] Fix aura procs for spells with auras that can't trigger 2010-07-17 21:32:05 +03:00
Lynx3d
01d326b90d [10202] Rename isInFlight() to IsTaxiFlying() and UNIT_STAT_IN_FLIGHT to UNIT_STAT_TAXI_FLIGHT.
Also add IsFreeFlying() function to Player class.
2010-07-17 02:06:28 +02:00
Laise
ae51168ffc [10199] Fix 33763 and ranks final heal and mana return on dispel and on expire 2010-07-16 21:35:00 +03:00
Laise
beff2a145c [10185] fix auras adding to previously added holder 2010-07-12 20:29:26 +03:00
Lynx3d
5e89098a61 [10165] New collission system (vmap) implementation
Important:
* You have to re-extract and assemble vmaps
* Update your config file, new option 'vmap.enableIndoorCheck' added

New features:
* Include WMO+DBC area information for correct subarea identification and indoor check
* Support for WMO liquid (fishing/swimming in cities, instances and oterh WMO based environments)

Technical changes:
* New Bounding Interval Hierarchy (BIH) data structure for better performance
* Referenced model data for reduced memory usage,
  needs more files, but reduces overall file size from ~1.9GB to ~550MB

Additional Authors:
arrai (DBC handling and indoor detection)
faramir118 (windows support and bug investigation)
And of course thanks Vladimir for a lot of patience and support!
2010-07-08 23:17:26 +02:00
Laise
a32b3063a2 [10156] Add shared object for auras of same spell and move spell proc code to its own file, also spread procs by auras and effect indexes. 2010-07-07 19:08:26 +03:00