Commit graph

64 commits

Author SHA1 Message Date
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
VladimirMangos
fdd8176d74 [7227] Implement prismatic sockets. Related code cleanups.
Big thanks to TOM_RUS for help in reseach!
2009-02-04 02:09:46 +03:00
Sarjuuk
9e52b0f748 [7183] Updated spell casting pushback system.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-25 23:26:28 +03:00
DiSlord
528d85ed4d Aways apply additional buff for some spells (an do it as normal cast)
Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-25 03:32:22 +03:00
DiSlord
abaa111eaa [7159] Allow GO cast as need (use go coordinates for target select in some cases)
Fixed work all Huter traps target selection
More check in ObjectAccessor::Get Object
More generic work 22 TARGET_CASTER_COORDINATES target type

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-24 03:44:45 +03:00
evilstar
c54383360a [7137] Implement SPELL_EFFECT_ALLOW_RENAME_PET, and then item 43850 work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-22 00:00:32 +03:00
VladimirMangos
ee6072f232 [7117] Implement explicit recipe discovery abilities.
* Implement SPELL_EFFECT_CREATE_ITEM_2 (157). This alos let work many item creating spells.
* Add `skill_discovery_template`.`reqClass` for allow clas specific racipes storing in table.
* Make primary key for `skill_discovery_template` pair (spellId,reqSpell) that allow have duplicate recipes for different reqSpells.
* Implement SPELL_EFFECT_SCRIPT (77) cases for explicit recipe discovery spells with learn spell selected by `skill_discovery_template` data.
Note: as expected explicit recipe discovery abilities always return some spell while exist any not learned yet for player class.
2009-01-20 00:07:43 +03:00
VladimirMangos
9e590f7ceb [7114] Code cleanups.
Remove redundant `inline` for in-class function definitions.
Fixed float -> int implicit casts.
2009-01-19 15:13:57 +03:00
DiSlord
17004d59d4 [7111] Fixes in Spell Effect immunes
Correct totem immunes for dot/leech/Fear/Transform auras (immune only to effect)
Correct log if all effects immuned by Effect Immune
Move check for IMMUNITY_STATE to Unit::IsImmunedToSpellEffect

Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-19 02:57:50 +03:00
VladimirMangos
633cad5a56 [7089] Implement ITEM_ENCHANTMENT_TYPE_USE_SPELL support.
This allow cast spells at item used from engineering recipes 54999, 54736, 54998, 55002, 55016, 54793.
2009-01-15 03:08:45 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00