Commit graph

136 commits

Author SHA1 Message Date
VladimirMangos
17b0c43ea9 [8614] Simplify check, drop redundent break. 2009-10-10 11:40:44 +04:00
balrok
4dc1df7d54 [8610] castchecks for recall spell for the av-trinket
this spell should be cast only in battlegrounds
and only after battleground started
2009-10-09 20:48:07 +02:00
balrok
3de0c8f3dd [8558] fixed typo which disabled accidently some spells 2009-09-28 22:59:03 +02:00
balrok
5385b385bc [8551] code cleanup
moved arena/battleground check from spell::checkcast
to SpellMgr::GetSpellAllowedInLocationError

also i adjusted some spell_fail-codes related to battleground
cause a spell_fail_wrong_area always requires the areaid, else it
would output "not in area %s"

then we don't need to check for map->isarena() when player is already in an
arena

----
in Spell.h
i moved "isTargetableForAttack()" to the top - cause it was anyway used
in every case of that switch

and isTargetableForAttack for attack also checks for isAlive
and isInFlight

so this could get simplified
2009-09-28 16:44:37 +02:00
qsa
f6f5b532cc [8544] Implement implicit target type 40, TARGET_FOCUS_OR_SCRIPTED_GAMEOBJECT
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-28 14:58:12 +03:00
nos4r2zod
c361b0dc0b [8509] Some absorb shield aura fixes for specific spells.
* Apply expected healing bonus to spell 53601.
* Allow stacking spell 62600 and 22842 effects at caster.
* Update charges for absorb shield with charges and preopertly expire it at last charge.
  This fix spell 62600 effect remove at next damage.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-09-19 16:10:10 +04:00
VladimirMangos
610703c14b [8492] Implement talent 53563.
Original patch suggested by Arthorius.
Added data in mangos_spell_check to remember requirement update code for 3.2.x support in future.
2009-09-12 11:04:03 +04:00
pasdVn
70df7c8e91 [8484] Fix priest spell 47585
* Move precast spell and add one more to Aura boosts for proper remove at cancel.
* Check in ispositivespell as positive to allow cancel in client.

(cherry picked from commit 6566ec2bbd3654921446b6522e9800ef835ffffe)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-09-10 07:31:51 +04:00
VladimirMangos
7a2df3c309 [8476] Revert some recent cleanup changes, some other fixes and cleanups. 2009-09-05 22:09:37 +04:00
balrok
bd30769dec [8475] fixed some gcc-warnings
all warnings from Wunused
and some from Wall

cause unused may be most interesting for some:
they were in following files:
src/game/Level2.cpp
src/game/Map.cpp
src/game/SpellAuras.cpp
src/game/Unit.cpp
src/mangosd/Master.cpp
but i guess mostly someone just fogot to remove this code

for some unsigned vs signed warnings i used:
ack "for.*int .*size\(\)" | ack -v uint

also note for coding:
if you do something like
    if( a && b || c)
just place parentheses around (a && b) && always will have
precedence over || but without parentheses this could be overseen
quite fast (at least that's my guess why gcc will warn for this)

Signed-off-by: balrok <der-coole-carl@gmx.net>
2009-09-05 13:47:47 +02:00
VladimirMangos
e59eea4fb5 [8456] Implement area check for SPELL_ATTR_EX6_NOT_IN_RAID_INSTANCE
Base at hunuza reseach.
2009-09-02 23:10:37 +04:00
ksergik
8497b520ce [8448] Fixed loaded spell target position records in log.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-09-01 16:34:26 +04:00
win
4d413e4a87 [8439] Fixed counting loaded extra spell bonuses.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-29 23:37:02 +04:00
VladimirMangos
5d50bb16b8 [8426] Use upper/lower iterator pairs as result instead 2 function calls. 2009-08-27 10:56:20 +04:00
arrai
43a4d1505e [8424] Added support for strict chatmessage validation 2009-08-27 01:08:21 +02:00
VladimirMangos
9f01551210 [8414] Re-implement [8406] in more clear and working way.
* Rename IsSingleFromSpellSpecificPerCaster to IsSingleFromSpellSpecificPerTargetPerCaster for clear meaning.
* Rename IsSingleFromSpellSpecificRanksPerTarget to IsSingleFromSpellSpecificSpellRanksPerTarget for clear meaning.
* Add new IsSingleFromSpellSpecificPerTarget for case single spell specific aura allowed to be at target from any caster and use it.
  Move some spell psecific checks (mostly sellf casted) from IsSingleFromSpellSpecificPerCaster to new function.
2009-08-24 06:44:15 +04:00
nos4r2zod
89a84127eb [8411] Fixed typos in recent spell stacking related comits.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-23 21:42:15 +04:00
VladimirMangos
f3930cb06f [8406] Detect/check stacking of food/drink/elental shileds as spell specifics.
Food/Drink checks base at nos4r2zod's patch code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-23 03:33:01 +04:00
nos4r2zod
6c57a01507 [8401] Restore original check as suggested by autor for priest bufs cast
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-21 06:50:34 +04:00
VladimirMangos
6695b1319d [8400] Remove redundent wrong check. 2009-08-21 06:39:40 +04:00
nos4r2zod
e07a0d9652 [8399] Prevent stacking well fed buffs.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-21 06:00:08 +04:00
VladimirMangos
c26c7395a1 [8377] Resolve some spell_area problems in GM and non-GM mode.
* Make spell 40216 and 42016 casted/remove at aura 40214 apply/remove.
  And drop related spell_area possible existed data.
* In general restore apply area limitations to spell casting in GM mode.
2009-08-17 00:40:19 +04:00
VladimirMangos
4b644a57a4 [8374] Implement glyph 43379. 2009-08-16 10:41:26 +04:00
Sarjuuk
fdfc235faa [8363] Implement spell 52610.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-13 19:27:28 +04:00
VladimirMangos
39b2844210 [8359] Make effect from item 20414 positive. 2009-08-12 23:14:54 +04:00
VladimirMangos
99f74411a0 [8346] Avoid aggro at positive spells for non friendly targets.
* Not all positive spell have SPELL_ATTR_EX_NO_INITIAL_AGGRO (for react at assistance).
  Avoid aggro at positive spell without this flag for non frindly target.
* Some cleanups and better checks in IsPositiveEffect.
2009-08-11 01:24:37 +04:00
balrok
dddacab0dd [8345] corrected startup-checks for spell_area table
old problem was that, for example
a single spell couldn't be cast
at aura OR quest (so 2 entries in this table)

.. will be now possible

Signed-off-by: balrok <der-coole-carl@gmx.net>
2009-08-10 21:28:12 +02:00
VladimirMangos
3c47e6117a [8308] More generic code for new continent spell casting including fly form/mounts.
* Check new continent requirement by SPELL_ATTR_EX4_CAST_ONLY_IN_OUTLAND in
  SpellMgr::GetSpellAllowedInLocationError.
* Also in this function let ignore any area requirement in GM-mode (except client side checks ofc if use spellbook/item)
* For fly form/mount auras check only speciaal reqirement like special fly skill and ignore it for dead state.
* Drop explicit fly auras drop at zone update, now this part GetSpellAllowedInLocationError functionality.
* Allow in `spell_area` have data deepndent from ghost auras

This all allow implement apply spells 55173/55164 to player ghost wiht DB support in `spell_area`
2009-08-04 23:43:35 +04:00
VladimirMangos
bb273d51ad [8306] Implement single-per-caster limitation for paladin "hand of" spells. 2009-08-04 20:01:34 +04:00
nos4r2zod
39eca7d43a [8298] Use new Aura::HandleSpellSpecificBoosts for apply/remove dependent auras.
This provided more clear place where dependent auras can be applied/removed,
if expected manual apply _with_ aura remove at parent aura expire.
This can be used for more cases.

In current state it implement additional effects for
29836 and ranks, 61846 and ranks, 31869, 53379 and ranks, 20254 and ranks,
20138 an ranks, 48263, and 48265.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-03 02:27:30 +04:00
nos4r2zod
93b0ccfe0b [8279] Fixed hunter aspets, paladin auras and DK presence detection for SpellSpecific.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-30 14:06:39 +04:00
Lutik
48eb01666d [8264] Implement target mode 104 (forward 30 degries cone)
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-28 14:14:05 +04:00
VladimirMangos
7ac4dc6f13 [8251] Store in some DB tables only data for first rank.
* Allow add to DB data only for first rank in table `mangos_spell_bonus_data` and `mangos_spell_proc_event`.
* Copy data for other ranks for speedup use at loading for this data and data from `spell_proc_item_enchant`.
2009-07-26 10:46:36 +04:00
nos4r2zod
fd2eb3cfee [8250] Cleanup code and data for spell_threat
* Load table data to std::map instead SQLStorage and add check loaded spell existance.
* Drop from table not existed spells.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-26 05:49:17 +04:00
nos4r2zod
13b709a10b [8249] Implement support spell_proc_item_enchant table for ppm item enchantments triggering at hit.
* Added a new SQL table, spell_proc_item_enchant, for "custom" ppmRates on Item Enchants that do not use auras.
  With table data this must fix ppm for effect from 8033 and ranks enchanting, and item 6947/10918 and ranks enchanting.

* Implemented SPELLMOD_FREQUENCY_OF_SUCCESS (26).
  That must fix work talent 14113, spell 32645 with ranks, glyph 41094 and item set effect 64917 in frequency part.

Thanks to MaS0n as author alternative patch that partly used in this patch.
Thanks to Thenecromancer as author alternative patch that ideas inspire MaS0n's patch writing and then this patch also.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-26 04:58:46 +04:00
VladimirMangos
4c26accd39 [8243] Fixed problems with unexpected set diminishion return level at arena for fear/turn spells. 2009-07-25 04:12:08 +04:00
VladimirMangos
7b42377980 [8238] Revert "[8118] More diminishing returns for mage case."
This reverts commit 4a054a44cd4ff0a29691660fa34cf72fedbf184c.

Totally wrong commit inspirid not finish broken talent implementation not added in mangos sources.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-24 23:20:38 +04:00
Alez
ce387187c1 [8201] Apply PvP duration limit to spell 15286
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-19 03:23:18 +04:00
Astellar
8a279eda4b [8199] Allow stack auras from different spells triggred at talent 59672 use.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-19 01:53:20 +04:00
VladimirMangos
3e2477945d [8192] Some other spell mechanics affected by diminishing returns.
Commit inspired by Astellar patch attempt fix problem in another way.
2009-07-17 06:24:29 +04:00
XTZGZoReX
a538fa621c [8191] Drop code related to use long time empty spell_affect table.
After switch to 3.x.x all data get explcitly from ClassMask fields in spell.dbc
and no need in custom values.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-17 04:29:33 +04:00
VladimirMangos
f99f477fe8 [8169] Implement new optional table spell_check and console command .debug spellcheck
* Table expected to be store data mirror same data in code:
  - explicit spell ids with related expected spell properties like effects, spell family or auras
  - implicit requirements for select some spell sets like spell family masks, icons or visual values
* For check can be used .debug spellcheck _console_ only command.
* Main purpose table and related command check code parts for outdated data at client switch.
  It also can be used for check data in patch writing time to be sure code correctness.
2009-07-12 22:15:56 +04:00
ApoC
61443d7583 [8130] Allow stacking spell 18820 with 1459 and ranks
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-05 20:54:08 +02:00
Lightguard
0e1d03baeb [8118] More diminishing returns for mage case.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-04 23:29:42 +04:00
zuudu
7091e84f38 Fixed old typo in disarm diminishing selection.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-03 12:59:52 +04:00
Lightguard
b768bbb8ff [8109] Implement some more PvP aura duration limits.
Thanks for reseach to Alez.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-03 12:56:08 +04:00
VladimirMangos
dc10620148 [8101] Prevent use talents as quest rewards or spell_learn_spell learned spells. 2009-07-01 06:43:27 +04:00
VladimirMangos
29493ef779 [8099] Small not detected uint16 cases for spell ids. 2009-06-30 12:38:50 +04:00
VladimirMangos
1baec77845 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-06-30 11:25:32 +04:00
Maxxie
14a4e0ec53 [8086] Restore work spell 11196.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-28 11:28:25 +04:00