Commit graph

74 commits

Author SHA1 Message Date
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
Valroft
ad7729479c [9280] Fixed work scrolls of enchantment.
SOme for its have spells with unexpected reagent requirements.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-01 00:19:17 +03:00
VladimirMangos
904995c024 [9274] Implement SPELL_EFFECT_SUMMON_ALL_TOTEMS
This implement work spells 66842, 66843, 66844.

Patch originall writed by Arthorius, with additional fixes from darkstalker
and hack removes from me.
2010-01-31 18:40:59 +03:00
VladimirMangos
bf9cccfd5b [9243] Some spell rune code fixes
* Also replace check/take functions for runes by single 2 mode function
* Implement proper check for dead runes case
* Implement proper rune selection for Aura::HandleAuraConvertRune
2010-01-23 20:08:09 +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
awpolt
4b0ceaeb6b [9092] Fixed typo in function name.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-01 14:08:59 +03:00
NoFantasy
663f8df849 [9083] Rename maps naming used in spell targeting code for easier readability
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-29 13:13:33 +01:00
balrok
7c4acf31e2 [9012] fix crash when achievement is completed and player isn't in world
also don't divide money loot for players who are not inside the
same map..
and player shouldn't be able to reclaim his corpse if it isn't in same map

and some other related cleanups
2009-12-17 14:02:48 +01:00
Maxxie
0ec0f34be7 [8956] Implement aura SPELL_AURA_ALLOW_ONLY_ABILITY.
(cherry picked from commit f4d1e05)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-09 16:01:08 +03:00
qsa
ffca4301d0 [8944] Use DBC data for summon effect functionality.
Also some more local fixes:
* Alow multiply same type guardians req. for some spells.
* Apply spell duration mods to summons

Many summon spells must start work.

Great work qsa! :)

Thanks The_Game_Master for updaing patch to recent sources.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-12-07 23:40:10 +03:00
tomrus88
546f7a7fe5 Merge commit 'origin/master' into 320
Conflicts:
	src/game/BattleGround.cpp
2009-09-28 19:52:54 +04:00
balrok
1f9b4ca4c3 [8553] removed spiritguide from code
they basicaly should
*autocast 22011
*give player after gossiphello buff 2584
*port players away to another spiritguides, when they die

so this can be done by a script
and maybe eventai
2009-09-28 16:45:06 +02:00
balrok
2da82a8c68 [8552] implemented spells which can be casted while dead
i added a function IsDeathOnlySpell() which returns true
if this spell can ONLY be casted while dead, so i haven't
implemented all spells which could be cast while dead..
2009-09-28 16:44:49 +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
fff2cae4b4 [8545] Implement implicit target type 54, TARGET_LARGE_FRONTAL_CONE
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-28 15:13:05 +03:00
qsa
549556c7d0 [8543] Implement implicit target 60 (affects 82 spells)
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-27 22:01:09 +03:00
VladimirMangos
7974e1ebcb Merge branch 'master' into 320 2009-09-10 05:46:08 +04:00
ApoC
2a4889e10c [8471] Little correction to prev. commit. Spell effect 90 seems to be kill credit but only for single person.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-09-05 03:13:35 +02:00
VladimirMangos
b145659b31 [8468] Move TARGET_EFFECT_SELECT target selection to normal place for target modes.
* Make from TARGET_EFFECT_SELECT code normal Spell::SetTargetMap case
* In additional for old 0/TARGET_EFFECT_SELECT pairs call it in case coordinate targets.
2009-09-05 04:13:08 +04:00
tomrus88
fdc20af337 Some fixes. 2009-08-28 22:33:52 +04:00
VladimirMangos
fdb2842f60 [8425] Implement SPELL_EFFECT_LEAP_BACK and spell 781
* Move CMSG_MOVE_KNOCK_BACK_ACK (player case) to Unit::KnockBackFrom
* Implement creature case, most at hack way currently :(
  Need information about expected server packet, and possible some disorientation movegen apply at short time.
* In adition of spell 781 implement related creature versions.

* Fixed warnings spawn at reading CMSG_MOVE_KNOCK_BACK_ACK, CMSG_MOVE_HOVER_ACK, CMSG_MOVE_WATER_WALK_ACK.
2009-08-27 05:27:45 +04:00
VladimirMangos
74d27294aa [8381] Some refactoring work in Unit::m_currentSpells code.
* Restrict access, use enum args, move some repeated code parts to function.
* Make m_selfContainer set only part of Unit::SetCurrentCastedSpell
2009-08-18 02:12:56 +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
6c395cf79c [8232] Implement talent 48438 and ranks in target seelction and per-tick heal amount.
Original patch has been suggested by Beaste.
2009-07-23 00:15:52 +04:00
evilstar
0a7f878eb8 [8220] Implement SPELL_EFFECT_PLAY_MUSIC(132)
Thanks to GriffonHeart for help in reseach.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-20 13:20:46 +04:00
VladimirMangos
9c91796443 [8197] Use more similar code for triggered and precast spells.
Also better error reporting at not existed spells.
Clear use in comments for this 2 dependent cast ways.
2009-07-18 21:30:11 +04:00
ApoC
5d4b581009 [8142] Remade precast spell system to be more similar to trigger spell system.
* Removed runtime allocation of list
* Methods and defines from precast spell system and trigger system moved closer
  to each other

Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-07 16:15:30 +02:00
ApoC
6002d7ea2c Implemented precast spell store as dynamicaly allocated list of precasts.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-07 01:39:56 +02:00
VladimirMangos
f420fdde77 [8090] Fixed build problems. 2009-06-29 12:06:09 +04:00
VladimirMangos
7175007aba [8070] Restore spell casting loot items and recipes.
* SPELL_EFFECT_OPEN_LOCK_ITEM (59) effect removed in 3.1.3
* It replaced by SPELL_EFFECT_CREATE_RANDOM_ITEM (59), random item without template replace spells like clam loot spells)
  Used by spells that use before SPELL_EFFECT_CREATE_ITEM_2 (157) with itemtype==0

Note: required DB support in `spell_loot_termplate`
2009-06-23 03:46:27 +04:00
VladimirMangos
7024862b82 [8030] Fixed spell 64901 work and related target selection code refactoring.
* Replace 64904 by 64901 in spellbook and action bars.
* Implement proper max mana percent buff
* Implement proper target selection.
* Move group/raid targets seelction code to functions for reuse code.
2009-06-17 01:05:41 +04:00
tomrus88
55836df62f [8008] Fixed SMSG_RAID_INSTANCE_MESSAGE opcode. 2009-06-14 14:00:00 +04:00
VladimirMangos
07fa9cc8d7 [7983] Make static Spell::SendCastResult accessable from script DLL. 2009-06-09 14:47:28 +04:00
NoFantasy
6a1b4e5729 [7980] Implement item use target requirements store and check (new table item_required_target).
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

* Also implement this table reload
* Static Spell::SendCastResult function for call not from spell code.
  Can be also used in scripts where need send explicitly spell cast error to client.
2009-06-09 00:26:36 +04:00
VladimirMangos
8858aacfb0 [7829] Rename 3d (x,y,.. versions of IsWithinDist/IsWithinDist functions with adding 3d explict posfix to name for avoid wrong use. 2009-05-14 21:42:32 +04:00
VladimirMangos
788cdf9b3a [7826] Avoid use GetDistance* that used slow sqrt call where possible, other related speedups. 2009-05-14 18:51:13 +04:00
Astellar
09046df744 [7808] Move corpse search code in function with template arg for class-check.
This let reuse code for other similar near corpse target selection spells.
Also provided currently not used class-checks for 2 spells

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-05-09 18:48:18 +04:00
ApoC
8168b0f2eb [7742] Fix my prev. commit
Use already defined method for getting charmer or owner player or player itself.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-05-02 00:27:47 +02:00
ApoC
8e39ea0151 [7741] Allow pets/charmed NPCs to count master's spell cast conditions in quests.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-05-02 00:15:59 +02:00
VladimirMangos
898acd1248 [7699] Avoid implicit convertion enum constant value to 'uint32 const&' in templated code.
This triggering wrong code generation in release mode for VS2003/VS2005.
2009-04-22 21:59:05 +04:00
Lightguard
f97735f519 [7686] Implement aura SPELL_AURA_ADD_CASTER_HIT_TRIGGER (111).
Fixed bug with triggering SPELL_AURA_SPELL_MAGNET at non-magic casts (special weapon attacks).

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-19 00:42:16 +04:00
VladimirMangos
b576b2382d [7675] Move spell targets in area selection code to function. 2009-04-16 18:41:35 +04:00
VladimirMangos
5d6cb5fe80 [7468] Convert pet cast check code to use SpellCastResult and finaly fix SPELL_CAST_OK value (255 custom value now) 2009-03-16 15:40:43 +03:00
VladimirMangos
0e987bf59e [7467] Use SpellCastResult and replace CanCast by CheckCast.
Note: proper way to check: if(spell->CheckCast(...)==SPELL_CAST_OK)
2009-03-16 13:17:44 +03:00
VladimirMangos
78879cc634 [7465] More fixes in SPELL_CAST_OK use. 2009-03-16 09:58:43 +03:00
VladimirMangos
4aaf758ab7 [7464] Move check of spell using for lock open to single function. Remove more hacks. 2009-03-16 00:43:53 +03:00
VladimirMangos
9def5df2d7 [7463] Make basic preparations for replace 0 as ok spell cast value by more correct value.
Currently 0 used ast OK value for spell cast checks BUT 0 = SPELL_FAILED_AFFECTING_COMBAT
So another values need used. This required lot code changes. This is first step.
2009-03-15 23:57:57 +03:00
VladimirMangos
b71759d204 [7445] Implement SPELL_EFFECT_JUMP2 used in some jump to target (unit/go/coordinates) spells. 2009-03-12 14:01:04 +03:00
VladimirMangos
2b9eeb782e [7362] Use IN_MILISECONDS where appropriate, other cleanups. 2009-03-01 05:22:56 +03:00
VladimirMangos
f94377622e Use spell_loot_table for item creating in case SPELL_EFFECT_CREATE_ITEM_2 (157) and itemType==0 2009-02-06 06:00:01 +03:00