Commit graph

870 commits

Author SHA1 Message Date
zergtmn
3693821cee [10903] Drop unused code in Unit::MeleeDamageBonusDone() 2010-12-21 15:46:11 +05:00
zergtmn
d736fe9d9a [10900] Remove SPELL_AURA_MOD_POSSESS_PET auras in Unit::Uncharm() 2010-12-21 15:06:20 +05:00
click
ddd37b719f [10885] Hunter pet can't have < owner-5 level
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also make tame time check call safe.
2010-12-17 19:27:51 +03:00
VladimirMangos
e9719d5844 [10872] Grr, restore code style. 2010-12-13 22:08:07 +03:00
VladimirMangos
00db6dbf28 [10844] Remove small redundency in magnet spell charges checks. 2010-12-09 07:15:23 +03:00
michalpolko
4686f905ac [10843] Fix AuraType 138 to not affect ranged haste, and rename to SPELL_AURA_MOD_MELEE_HASTE.
Also type 192 had misleading name, rename to SPELL_AURA_MOD_MELEE_RANGED_HASTE.

Signed-off-by: Lynx3d <lynx3d@some-imaginary-isp.org>
2010-12-09 02:18:53 +01:00
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
Lynx3d
29d5f56247 [10836] Again ignore EffectSpellClassMask when SchoolMask given in spell_proc_event.
There's just too much garbage in dbc...
Should restore some damage school based talents broken with [10830],
hopefully without excessively triggering other spells again that shouldn't.
2010-12-08 02:10:14 +01: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
Lynx3d
81b6cb2751 [10830] Prevent spell_proc_event entries to proc on any spell cast when SpellFamilyName is zero.
Now only spells that actually deal damage or heal will trigger
when neither SpellFamilyName nor ProcEx & PROC_EX_EX_TRIGGER_ALWAYS are set.
Before, setting a SchoolMask would override this check, causing many bogus procs.
2010-12-06 21:18:25 +01: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
SilverIce
d560503a03 [10819] Fixed creature's speed recalculation, forgotten DB speed mods are used now
Also properly update speeds at creature entry change(in case there are aura speed bonuses), thanks to Vladimir for pointing
2010-12-03 04:11:52 +02:00
VladimirMangos
957c9331a9 [10813] Use ObjectGuid for aura holder cast item guid.
Still exist 7 GUID_LOPART uses in code.
2010-12-02 08:02:22 +03:00
SeTM
29f7f05414 [10805] Remove code duplication in visibility distance check.
at_same_transport already include player checks at assign and
it move to common if make 3 distance cases exactly same.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-02 00:50:02 +03:00
VladimirMangos
ce7b98c45e [10799] Add GetGuidStr() short call for GetObjectGuid().GetString() and use it. 2010-12-01 09:56:13 +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
VladimirMangos
962acb5198 Fixed invisibility detection for new invisibility types. 2010-11-22 14:03:34 +03: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
qsa
996b284277 [10765] Implement SPELL_AURA_MOD_PERIODIC_HEAL (259)
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-21 06:05:30 +03: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
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
Lynx3d
1ef8ea1161 [10756] Implement armor penetration limitations
The tool-tip says "up to X%" for a reason...
2010-11-20 04:21:41 +01: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
6154cb3b43 [10749] Convert Gameobject owner to objectguid use. 2010-11-19 20:55:19 +03:00
VladimirMangos
12b80fec68 [10747] Some other aura caster object guid use cases. 2010-11-19 18:36:43 +03:00
QAston
f27741460f [10742] Add spell_bonus_data.spell_bonus_data field and support for RAP bonuses use for spells damage from table.
Thanks to insider42 for prepering patch for mangos repo.

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

Also added loading check for redundant ap/ap_dot data in table.
2010-11-19 05:23:29 +03:00
NoFantasy
21d63d491b [10741] Add AI function OwnerKilledUnit for protector pets (when owner kills unit)
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-11-19 01:56:52 +01:00
VladimirMangos
f9bcfa3a89 [10739] Cleanup pet remove code and some fixes.
* Merge Player::RemovePet and Pet::Remove function code to Pet::Unsummon
  This let be sure that in all cases all required steps doen. For example this fix
  creature's guardians propertly remove from guardians list.
* Add new pet save mode PET_SAVE_REAGENTS as replacement PET_SAVE_NOT_IN_SLOT+true-arg stable pair in old function args
  This will avoid use reagent save arg with wrong different save modes.
* Fixed recently added code with absent check for re-summon protector pet call.
2010-11-19 02:17:55 +03:00
zergtmn
5579471075 [10736] Fixed unexpected typo in prev. commit.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-18 22:26:46 +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
Ambal
f67d89f109 [10727] Map system re-engineered. Special thanks to Blueboy for tests.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-16 21:08:28 +02: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
534ff29f15 [10711] Check localization data for existance main table entres.
Data will skipped for nonexistent entries, and reported with
disabled LogFilter_DbStrictedCheck filter.
2010-11-09 20:26:59 +03:00
eggxp
11f13e10bd [10707] Move Glancing Blow early in melee outcome results.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-09 05:32:29 +03:00
michalpolko
71b50e6e42 [10703] Check SPELL_ATTR_IMPOSSIBLE_DODGE_PARRY_BLOCK for special attacks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-08 23:25:50 +03:00
VladimirMangos
10d3d3ce24 [10692] Fixed some GCC warnings and code errors.
Thanks to freghar for provide cleaned list of warning messages.
2010-11-07 21:30:55 +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
464908f453 [10687] UInt32 timer class copies instead using time_t timers for mstime cases.
Also cleanup weather update code and some random code cleanups.
2010-11-06 22:51:40 +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
Laise
8f71d95c0d [10642] Implement spell 56826 2010-10-25 15:20:28 +02:00
VladimirMangos
691412d05c [10636] Implement server side check combo points req. for spell cast.
Thanks to nos4r2zod for problem research.
2010-10-21 15:00:56 +04:00
VladimirMangos
31c9efd219 [10629] Drop function GuidHigh2TypeId
Added ObjectGuid version Aura::GetCasterGuid()

But for prevent big problen with backporting AuraHolder
to mangos-0.12 in most cases still used old uint64 version
Aura::GetCasterGUID.

Recommended use new version where possible in clean way
as done for some cases in commit already.
2010-10-20 09:12:43 +04:00
VladimirMangos
c955941b55 [10627] Use ObjectGuid for player's selection and unit's target 2010-10-20 08:19:48 +04:00