Commit graph

137 commits

Author SHA1 Message Date
Laise
31e983a692 [11762] move IsCastEndProcModifierAura to more fitting place 2011-07-30 16:48:40 +03:00
Laise
43e45c2b35 [11761] change conditions for default cast end proc 2011-07-30 09:39:23 +03:00
Laise
98bd7918f4 [11760] change proc related part of [11748] note: PROC_EX_CAST_END shouldn't be used with any on-hit proc exs to avoid double proc 2011-07-29 09:38:21 +03:00
Laise
e178c79d51 [11748] Replace SpellModifier struct by direct aura access (this should fix charge drops of 36032) also revert [11740] 2011-07-20 15:41:39 +03:00
Laise
6a597ae755 [11708] add negative auras, channeled and regeneration spells immunity for totems 2011-07-03 12:26:53 +03:00
VladimirMangos
387a15f1a1 [11692] Fixed damage/heal amount from some triggered HoTs/DoTs. 2011-06-28 15:22:13 +04:00
VladimirMangos
c686697c2d [11623] Implement ClassFamilyMask as wrapper for uint64+uint32 spell family masks
Inspired by patch suggested by darkstalker

Also
* Remove existed enums for family masks as contra-productive for developement.
* Drop one from horrible hack checks in SpellMgr::IsNoStackSpellDueToSpell
  (spells for any fimilies with exactly 0x800 mask) I fail find useful cases
  for current spell data with this check. All cases expected work correct without it.
  If will some problems detected with this please report for fix in less strange way.
2011-06-11 21:20:42 +04:00
PSZ
3a60c4ae3b [11610] Select proper spell difficulty subtitution.
Fix mostly affect cases when absent 25-man difficulties spell version.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-05 21:52:56 +04:00
VladimirMangos
108a167c46 [11587] Use SkillRaceClassInfo.dbc data for check spell training.
* Show race/class specific min level in trainer list (for weapon master for example)
  and use it for check spell traing possibility.
* Hide for specific race/class some spells marked by flag  ABILITY_SKILL_NONTRAINABLE
  This possible in cases when spell available for race/class but learned from talent/etc
  and then don't must be show for race/calss pair in trainer list. Single case in 3.3.5a.
* Add to code tables for profession ranks for seelct correct rank related reqlevel
  and check DB side data for it. Note: DB reqlevel values redundant for profession rank
  spells now.
* Use for reqlevel selection (if DB value not provided) learned spell insteed cast-spell
  spellLevel field. This let in more cases select training reqlevel without provided DB value.
  For LogFilter_DbStrictedCheck = 0 mode output data about like redundant reqlevel values
  in traner tables.
2011-06-02 09:55:25 +04:00
VladimirMangos
2b79599986 [11540] Fixed spell 59752 and some other impossibility cast in stun like states.
Original patch provided by darkstalker.
2011-05-26 03:47:03 +04:00
rsa
d2d3c22b77 [11300] Fix compile in GCC 2011-03-31 01:24:15 +06:00
zergtmn
4687fa8cb4 [11299] Handle aura durations in SpellAuraHolder
- Unit::CalculateSpellDuration split into two functions
    - CalculateSpellDuration taking into account combo points and caster-side spell mods
    - Unit::CalculateAuraDuration taking into account target-side spell mods
- Diminishing is now applied before duration reduction mods
- Implement saving per-effect periodic timers to DB (required for auras affected by haste)
2011-03-30 23:29:01 +06:00
VladimirMangos
989d229968 [11288] Check IsPositiveEffect in IsPositiveSpell only for existed effects.
Thanks to NoFantasy for problem research.

Also make IsPositiveEffect use SpellEntry* arg instead spell id.
2011-03-26 03:10:26 +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
VladimirMangos
8d62e9dbf7 [11004] Fixed not apply spell for current form at learning.
Some non-passive spells autocasted at shapeshift but without fix
in case already active form at like spell learning it not has been casted
in different from passive similar spells.

This is fix apply dodge chance part of spell 17002 for described case.
2011-01-14 03:59:22 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
VladimirMangos
d38df50a7e [10932] Imporvments gameevent creature morphing.
* Table `game_event_model_equip` renamed to `game_event_creature_data`
* Table allow now store same creatures for different events, BUT
  expected that related events no active in same time.
* Added possibility switch entry at gameevent time.
  This let have diff factions/loot and etc for creatures.
* Added possibility cast spells at gameevent start/end.
  Exist some spells that expected casted to creature at gameevent start
  for model replace, and for animation in other cases.

Note: `game_event_creature_data`.`modelid` field posisble will removed soon in fowor related spell use.
      Ofc, when spells will implemented in core.
2010-12-29 01:38:49 +03:00
NoFantasy
7751579303 [10855] Add TARGET_AREAEFFECT_GO_AROUND_DEST(52) (renamed from TARGET_AREAEFFECT_CUSTOM_2)
Target selects all gameobject around destination, limited by adding spell with a corresponding gameobject entry in database table spell_script_target.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-12-11 10:34:46 +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
VladimirMangos
80712b928a [10825] Move specific SQLStorage defines to game dir
This let have in shared dir only generic declarations of class SQLStorage
Not game specific details.
2010-12-05 03:29:11 +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
tomrus88
76dfdd336f Backports from 400 branch. 2010-11-15 18:01:45 +03: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
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
daf7041231 [10522] Fix periodic procs - spells that require periodic healing to proc need to be defined in spell_proc_event with procEx PROC_EX_PERIODIC_POSITIVE, by default all procs without it are negative 2010-09-23 14:27:26 +02:00
VladimirMangos
acd0716297 [10432] Rename ASSERT -> MANGOS_ASSERT and related fixes
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.

In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
2010-09-02 05:13:16 +04:00
VladimirMangos
acdaac3587 [10370] Rename UnorderedMap.h -> UnorderedMapSet.h 2010-08-18 04:54:25 +04:00
VladimirMangos
6244d992ef [10274] Make gcc happy after last commits. Restore Unix build. 2010-07-26 21:12:56 +04:00
VladimirMangos
6a4cae890e [10273] Avoid some redundent and recursive calls to SpellMgr singleton. 2010-07-26 16:51:52 +04: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
zerg
3dbb8385b5 [10130] Proper stacking 30108/348 anr ranks from 3.2.x
(based on zergtmn's repo commit 7588ca9)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-30 22:34:59 +04:00
VladimirMangos
81851074ad [10075] Attempt use more expected by result buffs downranking algo.
* In small rate more fast
* Not affect non-buff ranked spells like 10909
2010-06-18 04:21:34 +04:00
VladimirMangos
07a931e141 [10074] Add IsPassive(SpellEntry*) function and use in cases wjern entry already known.
Some other small code cleanups
2010-06-18 02:17:51 +04:00
VladimirMangos
0a24a170d1 [10016] Remove unused RewardSinglePlayerAtKill result. 2010-06-01 05:17:12 +04:00
VladimirMangos
59cf9c1dbd [10010] Use schoolmask enum in struct SpellNonMeleeDamage, some indents fix. 2010-05-31 08:09:03 +04:00
VladimirMangos
de454d6ff8 [9955] Prevent negetive proc events from possitive effects of negative spells.
Some negative spells have positive effects with targets not affected by negative effects of spell.
For example spell 45524 cast negative effecst to target and possitive effect to caster self.
For like possitive only target of negetive spell will not triggered negative proc events.
In last cases will avoid triggering glyph 43537 at caster at spell 43537 cast.
2010-05-22 16:18:03 +04:00
nos4r2zod
e880e7d236 [9895] Move DotFactor+GetSpellCastTimeForBonus call to CalculateDefaultCoefficient
* This coeff used if not spell_bonus_data provided for spell
* Continue prev. commit line expected that creature casts not affected by DotFactor

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:16:02 +04:00
nos4r2zod
4951f846dd [9894] Move GetCastingTimeForBonus and some other code to GetSpellCastTimeForBonus.
Important changes:

* Chaged way caluclation "-5% of total per any additional effect" to percent
  apply instead use raw value that correct only for 3500 cast time spells.
* GetSpellCastTimeForBonus result now alwasy not applied to creature casted spells
  Before it not applied only to instant spells. Please test if this ok in all cases.
* Leech effect modify spell casting time move into GetCastingTimeForBonus and then called
  also for melee spells. But only creature spells exist with melee class damage and its
  not affected by GetCastingTimeForBonus anyway now.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:15:05 +04:00
nos4r2zod
34a1cc31d0 [9893] Fixed some spelling typos in function/structure names.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:14:03 +04:00
Laise
51546e1ff9 [9789] Implement spell selection, for creatures in instances, based on map difficulty 2010-04-24 20:08:18 +03:00
Laise
10b65dcf8f [9784] Move damage and crit calculation for certain effects of spells with delayed hit to spell launch 2010-04-23 19:53:51 +03:00
VladimirMangos
61255a1a8f Update IsExplicitDiscoverySpell/IsLootCraftingSpell and related code. 2010-04-06 20:00:37 +04:00
tomrus88
b99f51a984 Fixed bug with professions in trainer list not being marked as known until trainer list re-opened. 2010-03-27 19:41:15 +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
VladimirMangos
a21affbd68 [9160] Implement and use PROC_EX_FULL_BLOCK
It used for spell 31245 and ranks new proc flags.

Original patch provided by dardennf.
2010-01-12 12:07:58 +03:00
VladimirMangos
51cb5b356a [9131] Use more generic check for IsLootCraftingSpell
This include spell 69412 to autoloot generation spells.
2010-01-09 18:31:29 +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
NoFantasy
1ec90288fb [9101] Correct target mode 48, and rename to something more meaningful
Also adjust target 49/50 angles to be really left/right.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-02 14:50:39 +01:00