Commit graph

454 commits

Author SHA1 Message Date
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
19ccf59cd4 [8301] Restore work 1122 broken after switch.
Also small cleanup in summon code: move statue summon cal from EffectSummonGuardian
to common summon type selector code.
2009-08-03 16:05:31 +04:00
KAPATEJIb
cdf895d134 [8287] Allow caster targeting in target selection for 52759 and buf from 51556 and rabks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-08-01 19:15:06 +04:00
VladimirMangos
c7f8c9b52b Avoid target requirement checks for spells with caster base target selection (self,pet,around).
This fix cast fail for some spells, mostly triggered or scripted with unexpected prowided explicit tatrget different from caster.
2009-07-31 17:08:47 +04:00
Gendalph
ae61c1eec0 [8277] Add new line at the end of some .cpp to make gcc happy
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-29 18:34:37 +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
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
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
VladimirMangos
36605805b4 [8218] Final part of talent 17962 and ranks fixes.
* Support correct aura state at server set for different casters effects
* Correctly check this telent (per caster) aura state at cast
* Correctly show per-caster aura state for cleitns.
2009-07-20 11:47:59 +04:00
Ungaminga
eba34304ea [8213] Update code for talent 17962.
* Fixed place, basic dependent from 2 auras type at target and damage calculation.
* Avoid double apply spell bonus from original effect and talent self.

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

This is first patch in series for resolve all problem suggested by different authors.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-20 06:14:57 +04:00
Ungaminga
7ace4b2cd7 [8198] Implemented heal part of spell 15237 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-18 21:30:32 +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
d98cff1e68 Added comments for better code readability.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-15 23:44:28 +02:00
ApoC
f3fa9bf5e5 [8184] Added same handling for non existing excludeTargetAuraSpell as for excludeCasterAuraSpell
* This fix casting 10278 and ranks to targets with 61987

Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-15 23:34:56 +02:00
VladimirMangos
9a0abf0e01 [8183] Some gameobject despanw related fixes
* Implement use `consumable` field in gameobject template for gameobject required explcit despawn at use.
* Move gameobject template fields cech function from Gameobject to gameobject template class, and update callers.
* Cast spells at gameobject use with gameobject guid as original caster guid, as already used in some other cases.
2009-07-15 06:32:08 +04:00
VladimirMangos
12ee5cdc08 [8178] Fixed absent break in spell targeting code. 2009-07-14 03:41:12 +04:00
VladimirMangos
3bfe549a2b [8147] Some fixes and cleanups in mind control and charmed code. Mind control stil not finished.
* Allow command to mind controlled unit attack target at client. Rename related flag to UNIT_FLAG_PLAYER_CONTROLLED.
* Move code for pet action bar remove at client side to new function Player::RemovePetActionBar
* Not allow cast spells with SPELL_AURA_MOD_POSSESS and SPELL_AURA_MOD_POSSESS_PET by non-players and simplify related code base at this.
2009-07-08 20:09:33 +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
afdfa4f564 Cast 61987 also with 25771 as precasts.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-07 02:59: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
c8bb0c75a3 [8138] Prevent stacking pet mind control auras. Thanks to NetSky for reset. 2009-07-07 00:13:39 +04:00
Lightguard
ac051d10e9 [8132] Use real caster in some cases in Spell::DoSpellHitOnUnit.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-05 23:41:59 +04:00
Lightguard
6a574896f5 [8131] Some anti-cheating server side checks.
* Loot in ghost state
* Apply duplicate glyphs.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-05 23:06:58 +04:00
ApoC
5d0f5f5421 [8088] Fixed min_range checking for spell casts.
Skip in check values 0.0f from DBC, this spells
do not have min range limitation.

This should fix some inappropriate target too close messages.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-06-29 01:11:53 +02:00
VladimirMangos
21a6a26386 [8077] Resolve mixed store and use 2 different flags values types in single field.
* Create new monster move field in Creature class and use it in all cases when expected use MONSTER_MOVE_* flags.
* Store and use MOVEMENTFLAG_* values in field in MovementInfo structure of Player class.
* Cleanups and fix related code.

NOTE: DB in creature_addon store values similar MONSTER_MOVE_* flags, scritps also expected set only this flags.
2009-06-26 01:57:34 +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
pasdVn
14700e9918 [8064] Implemented dummy procs for spell 47535 and ranks
(cherry picked from commit 80d0367959b110cb3daa0c6dd65022f5ecf84ac5)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-22 00:22:25 +04:00
bobaz
d49d7e74f9 [8063] Fix summon water elemental.
Summon type changed in 3.1.0.

Signed-off-by: hunuza <hunuza@gmail.com>
2009-06-21 15:13:33 +02:00
VladimirMangos
3e2b810376 [8041] Avoid send talent info many times at loading. Small cleanups. 2009-06-18 22:01:34 +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
Tanatos
57ac3bdfef [8028] Missing part of [7879] commit.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-06-16 14:11:05 +02:00
Ambal
b76c4c2f3c [8026] Obtain object's map directly by calling appropriate WorldObject::GetMap()/GetBaseMap() functions instead of accessing MapManager. Code cleanups. Big thanks Infinity for tests.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-06-16 12:47:02 +04:00
VladimirMangos
06c4ef3931 [8020] Use proper aura stack size check for post-0.12 code 2009-06-15 12:16:04 +04:00
arrai
2412e1fc9c [7992] added additionally check for SPELL_EFFECT_OPEN_LOCK
Every gameobject which may be a target of such a spelleffect
has to have a lockid. Prior to this commit it was possible to
exploit SPELL_EFFECT_OPEN_LOCK spells and despawn abitrary GOs
2009-06-11 13:17:23 +02:00
VladimirMangos
9588b43d0c Merge commit 'origin/master' into 310 2009-06-10 18:56:29 +04:00
VladimirMangos
07fa9cc8d7 [7983] Make static Spell::SendCastResult accessable from script DLL. 2009-06-09 14:47:28 +04:00
VladimirMangos
05b1bda879 Merge commit 'origin/master' into 310 2009-06-09 09:51:34 +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
tomrus88
1f87157edf Merge commit 'origin/master' into 310
Conflicts:
	src/game/UpdateData.cpp
2009-06-07 21:42:02 +04:00
VladimirMangos
5ac6b2f34b [7971] Implement support exotic pets limtations related to hunter telent 53270.
Note: before this commit hunters can tame exotic pets like any other.
      After patch like not propertly contriolled pets will auto-dismiss at loading
      if talent not learned.
2009-06-06 21:21:27 +04:00
ApoC
e5e8a3755f [7966] Clean up in Spell:SetTargetMap
* Little optimization
* Code style cleanup
* Formating cleanup

Signed-off-by: ApoC <apoc@nymfe.net>
2009-06-05 16:44:18 +02:00
tomrus88
4236f7c75c Merge branch 'master' into 310 2009-06-05 14:54:05 +04:00
ApoC
b1d70d4078 [7958] Disable targeting hidden units for TARGET_CHAIN_DAMAGE.
This will fix hidden unit damaging by 2643 and similar spells.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-06-05 03:04:36 +02:00
pasdVn
eaad24d8d5 [7954] Added support for spellranges at friendly targets.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-06-04 21:10:01 +02:00
tomrus88
cae3f0a532 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
2009-05-31 12:16:25 +04:00
VladimirMangos
2a27a44e2a [7918] Improve portability in work with uint64 string format specifiers and in code literals.
* Replace platform seelction MaNGOS code for select format descriptor for uint64 by using ACE define.
  I64FMTD renamed to UI64FMTD for more clear name.
* Add new define UI64LIT (base at ACE seelction) for build portables uint64 literals.
  Please always use UI64LIT(0x00001) instead less portable 0x00001LL
2009-05-30 22:44:20 +04:00
tomrus88
e454cb693d Merge branch 'master' into 310
Conflicts:
	src/game/GameObject.h
	src/game/MiscHandler.cpp
	src/game/Player.cpp
	src/game/QueryHandler.cpp
	src/game/QuestHandler.cpp
	src/game/SkillHandler.cpp
	src/game/SpellAuras.cpp
	src/game/SpellEffects.cpp
	src/game/Unit.cpp
	src/game/WorldSession.h
2009-05-29 19:15:43 +04:00
tomrus88
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
tomrus88
2f15546120 Merge commit 'origin/master' into 310 2009-05-25 21:57:59 +04:00
Sorken
b35a9d4c99 [7889] Fixed from behind check for 1329 and ranks.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-05-24 17:16:08 +02:00