Commit graph

891 commits

Author SHA1 Message Date
Schmoozerd
5951d77a0d [11069] Set aggro for player controlled units only at zone aggro.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-25 14:13:08 +03:00
breakwater
d5b982cbbe [11065] Implement stun absorb part of spell 24858
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-24 23:07:39 +03:00
zergtmn
9bc37afa28 [11044] Make EffectDistract implementation less hacky 2011-01-19 23:13:19 +05:00
Darkknight900
d12fa5b8ac [11035] Implement some spell duration glyphs work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-18 15:57:07 +03:00
Schmoozerd
54cb8f1a63 [11032] Implement CREATURE_FLAG_EXTRA_AGGRO_ZONE.
This let control zone wide aggro in DB data instead
need special script code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-18 13:48:46 +03:00
x3n
d35be7f4c1 [11023] Implement support for threat multiplier and AP based threat bonus for spells.
* Higher ranks are now automatically filled when not listed in spell_threat
* Added some loading checks to detect inconsistent data

Signed-off-by: Lynx3d <lynx3d@some-imaginary-isp.org>
2011-01-17 12:55:24 +01:00
NoFantasy
d38539f12a [11000] Minor code style changes for readability in aggro related unit functions
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-01-11 15:03:00 +01:00
VladimirMangos
b7f4a41fcd [10998] Re-write work proc of stackable spells with charges in more simple way
Some spells have procCharges > 0 and in same time maxStack > 1. It's support has been implemented more year ago
but current way work with single aura from stack remove at proc always made some spells work wrongly
(7 spells (with ranks) in 3.3.5a). In fact only 3 spell (with ranks) need this "one from stack" way and
all form its have similarity: Its apply max stack from start and decrease stacks at proc hit.
Another prove for correctness this way: in 2.x exist single spell with charges and maxstack that expect full aura stack remove.

So implemented opposition way: normal aura proc remove always full aura holder stack.
Special 3 cases have overwrite code for work with stack in correct for its way.

Fixed work:

* items 31857 and 50259
* recipe 46027 effects.
* talent 63730 and ranks

Affected by code changes talents 51528 and 55166 tested and work.

Spell 34026 use similar decrease stack at hit but req. independent patch for full implemention, so not work.
2011-01-11 05:15:51 +03:00
VladimirMangos
2d2b17dd3a [10995] Not do redundent unlock aura holder at each proccessed spell proc handler.
Aura holder unlock called later by code.
This prevent unexpected real aura delete at early effect aura proccessing
and crash at next effect aura proccessing.
2011-01-10 13:50:49 +03:00
VladimirMangos
6e241689e7 [10987] Prevent deleting reflect source aura ebfore reflected spell cast. 2011-01-09 00:53:05 +03:00
Pat S
46fdc3af97 [10979] Add extra ghost speed rate for BGs: Death.Ghost.RunSpeed.Battleground
Also recently added option renamed to Death.Ghost.RunSpeed.World

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-07 07:46:41 +03:00
Pat S
af50b352b2 [10977] Add ghost speed rate in config: Death.Ghost.RunSpeed.
Also clarify context for remove ghost auras place after set alive state.
This let get more expected results at remove ghost speed aura.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-07 06:45:25 +03:00
NoFantasy
514a66fd67 [10963] Rename UNIT_STAND_STATE_SUBMERGED to more generic *_CUSTOM
Visual appearance depend on model animation capability.
In addition, change stand state for creature at enter combat when creature has custom stand state.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-01-05 00:13:27 +01:00
VladimirMangos
3a99027a80 [10960] Send SMSG_DISMOUNT to client.
As know no any affect in work from it.
2011-01-04 21:55:58 +03:00
NoFantasy
b3076146fc [10958] Rename function to CanUseEquippedWeapon
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-01-04 10:29:04 +01:00
QAston
4fe41fb335 [10957] Implement auras SPELL_AURA_MOD_DISARM_OFFHAND (254) and SPELL_AURA_MOD_DISARM_RANGED (278).
Thanks to Qsa prepare for mangos.

Note: single unsure case: is block chance must be show or set to 0 in shield disarm time.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-04 06:42:35 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
Ambal
b11820593c [10924] Send time diff between Update() calls for object - should help with mob respawn on inactive grids etc. Based on patches by VladimirMangos and cipherCOM. All issues from previous patches should be finally fixed now.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-12-27 22:27:20 +02:00
zergtmn
72b1d30a1c [10923] Cleanup some magic numbers 2010-12-27 19:04:59 +05:00
VladimirMangos
3c58f25ad9 [10922] Revert "[8722] Fixed possible creash."
This reverts commit 8dd3e4b31a31bb6dfc4d9fb51b1b7e67bad4ca16.

This is impossible crash case. Creature object can't be created without creatureInfo != NULL
So crash source can be only result wrong calling ClearInCombat() for deleted or NULL creature.
2010-12-27 05:07:31 +03:00
zergtmn
14c1329ea5 [10919] Actually use spell penetration gained by items in calculations 2010-12-24 21:18:23 +05:00
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