Commit graph

286 commits

Author SHA1 Message Date
VladimirMangos
4a051e2443 [9496] HomeBind fixes.
* Use area id instead zone id for home bind zone info as expected.
  This will for example proper show capital name in area himebinding for capital; tavern.
* Clarify that player create zone in fact is area (subzone)
* Implement SPELL_EFFECT_BIND for normal homebinding.
  Also support spell target position mode used in 53823/53821 spells
* Add Spell::EffectEmpty for mark spell effects that used but not expect any code in handler.
  Example weapon spells that used just as known spell markers for client.

Original patch idea inspirit by Sadikum patch suggestion.
2010-03-01 13:08:52 +03:00
VladimirMangos
9bebf96c8e [9483] Not affect anything but not nice typos... 2010-02-28 17:17:28 +03:00
VladimirMangos
4dc85260c7 [9482] Implement 48266, and 50365, 50384, 50391 and ranks.
Original patch provided by laise.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-28 17:10:25 +03:00
VladimirMangos
7e2d7d8324 [9474] Implement negative totem effect apply for 30706 and ranks. 2010-02-28 03:58:35 +03:00
MrLama
530be51dc5 [9457] Implement spell/attack power bonus for 59547 and similar spells.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also fix build in prev. rev. in result my not added changes.
2010-02-26 03:44:41 +03:00
pasdVn
1e05a737bd [9456] Fixed spell proc code for mixed proc event cases.
* Allow spells with multiple procEx flags to trigger also with 0 dmg, if current
procExtra is no normal hit (e.g. block and normal hit as flags -> all dmg blocked).

* Also allow proc at hit as result partly block. This fix case from unknown author
  prepered by KAPATEJIb.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-26 02:49:06 +03:00
VladimirMangos
233e75ab4b [9415] Dome not catched cases for MAX_EFFECT_INDEX use. 2010-02-19 19:57:07 +03:00
VladimirMangos
84080aaf60 [9411] More SpellEffectIndex using in apropriate cases 2010-02-19 06:45:11 +03:00
VladimirMangos
ff8d494ed4 [9408] Add MAX_EFFECT_INDEX to enum SpellEffectIndex and use it. 2010-02-18 23:33:16 +03:00
NoFantasy
7c555add76 [9403] Replace number with enum name where explicitly used in array/other checks
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-02-17 19:07:00 +01:00
AlexDereka
5368751c13 [9386] Store some config values in Rate emun. 2010-02-15 00:17:44 +03:00
VladimirMangos
f4c38044c4 [9384] Resore use uint64 instead time_t in query, some other fixes. 2010-02-14 21:35:03 +03:00
laise
71d0989db3 [9364] Update diminishing categories.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-12 14:07:55 +03:00
VladimirMangos
b2c3132eaa [9301] Implement proper check of broken spells for IsLootCraftingSpell case. 2010-02-04 15:27:45 +03:00
NoFantasy
2718884192 [9300] A few more error message corrections/clarifications.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-02-04 12:08:33 +01:00
Lightguard
dae28aafc4 [9293] Fix stacking problem of tracking spells 2010-02-03 18:51:33 +01:00
VladimirMangos
8ff7010750 [9285] Fixed unexpected double time for apply damage for spell 1464 and ranks.
* Implement way ignore some redundent data for triggered spells base at cast cost exist.
  Reason: some triggered spells inherited data from main spells
  just for porper client show spell attributes, we not need this data.
* Use check for ignore inherited cast time.
2010-02-02 20:17:04 +03:00
j4r0d
8294754cc0 [9258] Add break for safe and code style.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-26 19:43:13 +03:00
VladimirMangos
40c1e6e772 [9239] Apply second part of spell 50397. 2010-01-23 00:59:54 +03:00
Insider
4e6befc43d [9226] Fixed a bug with applying spells 1784,5215,24450 and ranks as debuff.
All non generic spells expected to be cancellable and part of buff abilities.

(based on commit 7f5310b from insider42/mangos).

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-21 07:40:46 +03:00
laise
a20a0a9d5c [9220] Implement talent 53527 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-20 10:48:26 +03:00
MrLama
fc7bb9468f [9151] More paladin spells fixes
* Allow stacking caster effect with target effect at same player for 53736. Provided by KAPATEJIb.
* Allow proc 53736/31801 at melee hits or melee like spell hits

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-12 03:46:52 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
VladimirMangos
c09ee423ba [9098] More correct targets selection for target pairs with TARGET_SELF2
* Many spell effects that have A target mode SELF2 expected applied to enemy
  target selected by targetmode B so we need skip SELF2 target mode.
* remove SEFL2 from explicit positive target modes.
2010-01-01 21:18:43 +03:00
NoFantasy
56407bdb32 [9096] Implement periodic dummy aura for spell 52441
Note speed is not really reduced as expected, this need correction in other parts of code.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-01 18:35:35 +01:00
Splinter
15d4388696 [9078] Allow stacking healing buffs from spell 33763 and 48438, and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-29 00:31:40 +03:00
laise
2a189d7275 [9053] Fxied some mage DoTs stacking.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-24 02:37:53 +03:00
VladimirMangos
68c8757127 [9044] Exclude TARGET_SELF from IsExplicitPositiveTarget.
This must fix triggred spells casting in case when it self casted but cast code send diff target.
2009-12-21 16:55:46 +03:00
VladimirMangos
7b0a059d2f [9039] Allow have more one hunter aspect from different casters. 2009-12-21 00:02:54 +03:00
VladimirMangos
15de428242 [9037] Cleanups in spellmode apply code.
* Add constructores for spellmode creating instead explcit fields init
* Use uint32 for family mask 2 instead unneded uint64

Also drop one from manual applies for uno-existed now spell.
2009-12-20 19:47:14 +03:00
VladimirMangos
9e18fc5745 [9035] Attempt make more fast and less hackish spell target checks
* Enable server side recheck clear negative to friend or positive to enemy casts that already checks at client side
* Use more fast way check in similar cases for non-players, and fall back to old way in unclear (for while at least)

Please report if some spell stop propertly casted at friends/enemies.
2009-12-20 03:29:36 +03:00
VladimirMangos
53680ec3b6 [8972] Some hacks to our hackish IsPositiveEffect function.
In attempt improve positive spells detection.
2009-12-11 22:11:08 +03:00
VladimirMangos
5e2c6e6b86 [8969] Ignore in stacking check pure dummy spells.
One more hacks to SpellMgr::IsNoStackSpellDueToSpell
This fix for example 53601 with 20911 stacking.
2009-12-11 15:25:29 +03:00
MrLama
895c84b8b0 [8942] Spells 20911 and 25899 stats bonus.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also stacking rule to prevent log spam.
2009-12-07 22:17:34 +03:00
darkstalker
486c628ce2 [8934] Implement aura PELL_AURA_MOD_MINIMUM_SPEED (305) and it used for FORM_GHOSTWOLF.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-06 23:06:16 +03:00
Sarjuuk
92ec5ace70 [8916] Fixed spell stacking problem for somr sprlls with spell icon 240.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-04 05:09:58 +03:00
Sarjuuk
d542e25302 [8892] Implement spell 29166 and glyph 40908.
Original patch provided by bobaz.

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

Also add protection from wrong periodic heal at relogin.
2009-11-29 19:22:22 +03:00
laise
166c4feaca [8847] Implement talent 20335 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also reorder switch cases by case values.
2009-11-20 17:32:16 +03:00
XTZGZoReX
b3f3ffa885 [8793] Don't do operations through singleton if already in singleton context.
* Also, some minor things:
   - Remove duplicate sWorldLog define.
   - Add sRealmList macro for RealmList::Instance().
   - Use sLog macro in scripting log functions.
2009-11-08 19:32:59 +01:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
AlexDereka
f286a2e64e [8715] Fixed possible crashes and some typos 2009-10-23 17:09:51 +04:00
ApoC
58139610eb [8687] Fixes in TARGET_FOCUS_OR_SCRIPTED_GAMEOBJECT.
* Removed my too script check on data load.
* Allow looking up fo DB target also if spell has required focus set.
* Makes DB targets optional not required.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-20 23:21:44 +02:00
ApoC
356f1da19b [8674] Fixed mistake in my commit [8657]
I accidentaly put code into wrong switch.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-18 20:18:23 +02:00
ApoC
ba62cdbe8f [8657] Mark spell 44689 as negative.
This allows aura to be counted down in logoff.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-17 00:56:39 +02:00
laise
adcfd1e078 [8650] Allow stacking some paladin spell auras.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-10-16 06:11:50 +04:00
VladimirMangos
a4d61a6988 [8649] Implement SPELL_AURA_MECHANIC_IMMUNITY_MASK (147) and related cleanups.
* Always use machanic masks in form (1 << (mech-1)), fix all cases.
* Imppement SPELL_AURA_MECHANIC_IMMUNITY_MASK (mostly boss/elite spells).

Note: db stored mechannic masks already stored in proper format so not affected.
2009-10-15 20:53:01 +04:00
ApoC
7eb95ed64b [8640] Puted back commented not obsolete but disabled code what i removed in [8637] by mistake.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-14 10:34:59 +02:00
ApoC
9fd4965299 [8638] For TARGET_FOCUS_OR_SCRIPTED_GAMEOBJECT check also if target type in DB is GameObject target.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-14 03:07:38 +02:00
ApoC
ed0b01c65c [8637] Added special check in load time for TARGET_FOCUS_OR_SCRIPTED_GAMEOBJECT, code cleanup.
- Added check for presence of implicit spell focus for TARGET_FOCUS_OR_SCRIPTED_GAMEOBJECT
- Avoid double creature lookup in loading code
- Code style cleanup
- Old commented code part removed

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-14 02:38:52 +02:00
pasdVn
c47cf7bd61 [8635] Rewrote bonus damage claculation
* calculation depends on the damageClass now
  ->SPELL_DAMAGE_CLASS_RANGED & SPELL_DAMAGE_CLASS_MELEE use MeleeDamageBonus()
  ->SPELL_DAMAGE_CLASS_MAGIC & SPELL_DAMAGE_CLASS_RANGED use SpellDamageBonus()
* changes/improvements in MeleeDamageBonus:
  -> improved criterions to apply bonuses
  -> implemented scaling of FLAT damage Bonus for non weapon damage based spells
  -> support of DOT's
  -> added pet's bonus damage for non weapon based spells
* general cleanup in CalculateSpellDamage() and MeleeDamageBonus()
* implemented global helper functions GetWeaponAttackType() and GetAuraTicks() in SpellMgr

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-14 00:33:24 +02:00