Commit graph

615 commits

Author SHA1 Message Date
tomrus88
f2572fdda0 Merge remote branch 'origin/master' into 330 2010-03-31 02:29:02 +04:00
XTZGZoReX
34e56c9978 [9641] Fix typo; IN_MILISECONDS -> IN_MILLISECONDS. 2010-03-30 14:44:57 +02:00
tomrus88
4c8dd37612 Merge remote branch 'origin/master' into 330 2010-03-30 13:06:34 +04:00
VladimirMangos
d7c1e06d1b [9636] Move item real-time/in-game duration counting flag to new extraflags field.
Client expected only positive duration values, so stop use duration field as signed.
2010-03-29 09:52:59 +04:00
tomrus88
dd3d5eec69 Updated to client build 11723. 2010-03-27 03:50:35 +03:00
VladimirMangos
b658b25ff8 [9618] More use ObjectGuid in spell/etc code 2010-03-25 13:59:46 +03:00
VladimirMangos
ab7840a591 [9580] Add ObjectGuid const& Object::GetObjectGuid() and restore build. 2010-03-13 17:35:47 +03:00
VladimirMangos
8416702d7c [9579] Use ObjectGuid in some loot code.
Also use ObjectGuidSet instead std::set<ObjectGuid>
2010-03-13 14:06:27 +03:00
VladimirMangos
c8fd454a79 [9551] Add and use PackedGuid wrapper.
Also
* use more wide bytebuff << >> operators for objects
* use at read packet faisl alsways exception way instead some time used bool results.
2010-03-08 20:23:16 +03:00
NoFantasy
c5fc08934d [9546] Less strict check in spell CheckTarget, and allow triggered spell.
Unit may be not selectable, but spell may be expected to target this unit in any case.
Mostly known problem with npc->npc spells and dummy/triggered spells from AI side.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-03-07 21:39:24 +01:00
przemratajczak
8e9063ed80 [9538] Implement proper work spells 59465 and 56151.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-03-06 21:13:37 +03:00
NoFantasy
81c6f3ff9b [9533] Use selected target for target mode 38/46 when provided.
For cases where provided target is not valid (or not provided), normal closest in range will be used.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-03-06 16:36:05 +01:00
VladimirMangos
3cf9e47110 [9530] Fixed check for SPELL_AURA_ALLOW_ONLY_ABILITY
Also remove public access to SpellAura::m_spellmod for avoid another hacks
with it use. Spellmods only for Player::ApplySpellMod use.
2010-03-06 07:58:09 +03:00
VladimirMangos
7fb5d850bf [9510] Gameobject casting improvements.
* Add IsHostileTo/IsFriendlyTo and implement expected way checks for diff. world object types.
  For controlled object check redirected to specific owner, for wild gameobject base at gameobject faction.
  If faction not set expected to be hostile to anyone.
* Update grid searchers to be usable with world object instead only unit case.
  Some grid searches lost redundent second object arg, AnyAoETargetUnitInObjectRangeCheck lost hitHidden arg
  (for hitHidden==true case added new AnyAoEVisibleTargetUnitInObjectRangeCheck)
* Updated grid searchers used with gameobject area casts now.
  Note: Gameobject area spell cast animation will still wrong show around cast triggering target instead
  center around gameobject.
* In case gameobject aura apply to target for restored use target itself as caster because
  we not have currently another way apply aura form wild gameobject.
2010-03-04 07:38:26 +03:00
VladimirMangos
52701a58f6 [9509] Move custom data from item spell charges sign to new field NoConsumable.
Some items with negative by defaul charges not expected to be deletedt at no charges.
In past this fixed by using positive charges amount in like cases in different from
expected negative value. Adding new field for avoid this.
2010-03-03 09:14:09 +03:00
VladimirMangos
84e5f7520b [9508] Finish impement new functionlity for item 5513 and similar.
* Implement recharge low rank item in inventory.
* Implement recharge item at loading after 15 offline mins
2010-03-03 07:36:00 +03:00
VladimirMangos
4c4629e861 [9507] Implement SPELL_EFFECT_RESTORE_ITEM_CHARGES
Also it application in special case of item 5513 and similar.
2010-03-03 06:02:32 +03:00
KAPATEJIb
3a5f6ff0fb [9505] Removed facing limitation for spell 2764.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-03-02 23:47:21 +01:00
VladimirMangos
c71f79584d [9501] Implement item limit category inventory mode.
* Now expected item limit categories (for example for item 5513 and related)
  correctly limited by its amount in inventory.
* Provide and use additional arg in SendEquipError for alt. way get affected
  item prototype. This let send to function item id and prevent crash client at
  limit category equip errors that required item prototype data.
2010-03-02 14:10:38 +03:00
VladimirMangos
4a051e2443 [9496] HomeBind fixes.
* Use area id instead zone id for home bind zone info as expected.
  This will for example proper show capital name in area himebinding for capital; tavern.
* Clarify that player create zone in fact is area (subzone)
* Implement SPELL_EFFECT_BIND for normal homebinding.
  Also support spell target position mode used in 53823/53821 spells
* Add Spell::EffectEmpty for mark spell effects that used but not expect any code in handler.
  Example weapon spells that used just as known spell markers for client.

Original patch idea inspirit by Sadikum patch suggestion.
2010-03-01 13:08:52 +03:00
VladimirMangos
7ecd5365b9 [9492] Some cleanup in effects table. 2010-03-01 06:43:02 +03:00
VladimirMangos
ded1e3c263 [9475] Add and use TotemSlot enum type 2010-02-28 07:31:25 +03:00
VladimirMangos
7e2d7d8324 [9474] Implement negative totem effect apply for 30706 and ranks. 2010-02-28 03:58:35 +03:00
ApoC
9d6531ae6d [9446] Compile fix in MovementGenerator.cpp
Also added few newlines to end of files to satisfy GCC.

Signed-off-by: ApoC <apoc@nymfe.net>
2010-02-24 22:20:37 +01:00
VladimirMangos
84080aaf60 [9411] More SpellEffectIndex using in apropriate cases 2010-02-19 06:45:11 +03:00
VladimirMangos
11b84d27c2 [9409] Use SpellEffectIndex as arg type for spell effect handlers. 2010-02-19 01:06:17 +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
marintrica
500b91c049 [9394] Add expected spell ids to error output.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-15 21:53:50 +03:00
AlexDereka
ebfb0f9835 [9389] Cleanup config data. Use proper names and expected types. 2010-02-15 15:29:06 +03:00
VladimirMangos
58d188f21a [9388] Implement max cast chain length for triggered spells.
* New config option MaxSpellCastsInChain ( 0 is disabled old way work )
* Check added for prevent stack overflow crashes in case infinity triggered casts sequences
  with more useful error output instead crash.
* Default config steeing in 10 casts expected to allow all possible in game proper cast chains.
2010-02-15 12:19:27 +03:00
AlexDereka
ccfd42bf3e [9381] Fixed some compile warnings. 2010-02-14 18:16:07 +03:00
VladimirMangos
97cdb501a8 [9373] Fixed rune consume at no rune code mods
Do rune cost calculations only if no no rune cost mod active
2010-02-14 14:23:28 +03:00
laise
6fbe7f4307 [9363] Implement new way spell 1535 and ranks work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also implemented spell casting requirement check and proper animation.
2010-02-12 11:00:05 +03:00
VladimirMangos
003deed894 [9347] Restore wild gameobject casting.
Most visible case: gameobject based teleports.
2010-02-10 08:04:08 +03:00
VladimirMangos
96202d7dfd [9345] Show enchantment applied to item in trade slot to caster after apply.
Also more strictly check cases when in spell targets presetn item in trade slot.
2010-02-10 03:48:20 +03:00
AlexDereka
696cba9c37 [9330] Fixed msvc compile warnings. 2010-02-08 16:27:35 +03:00
AlexDereka
4338c9105d [9324] Fix some gcc warnings 2010-02-08 02:27:34 +03:00
VladimirMangos
2a01c79609 [9323] Fixes in code work with original caster guid.
* Add 2 function for 2 used way for original caster
  - GetAffectiveCaster(), is posible NULL unit as source spell affects
    (explcit caster, GO owner, caster of aura that trigering affect)..
  - GetCastingObject(), possible NULL world object as in game spell effects
    source, cast center, etc, need because original caster can store GO
    guid that apply effect around. In other cases m_caster
* Use functions and avoid use explicitly m_originalCaster
* Use GetAffectiveCaster() for fix explicit GO cast at near unit, like now fixed campfire bonus.
2010-02-08 00:53:03 +03:00
tomrus88
db547a008a Get rid of monster movement flags, since it's really spline flags.
Thanks to Ralek for research.
2010-02-07 15:03:36 +03:00
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
tomrus88
b85417df73 Movement packets cleanup. 2010-02-01 17:03:04 +03:00
tomrus88
41d8f1a5d4 Movement packets fix. 2010-02-01 00:43:18 +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
laise
a1a0c6edbe [9269] Second attempt to add missing break for SPELL_EFFECT_SUMMON
(earlier accepted patch by daveh never pushed to master)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-30 14:42:17 +01:00
XTZGZoReX
0ff9250de2 [9245] Remove CellLock class and all cell-level thread locking.
* It was wasting CPU power as cell-level locking is not needed.
* Future multithreading will be on map-level.
* CellLock was just a 'proxy' between Cell and CellPair and in some cases carried redundant data.
* Some minor cleanup in Cell::Visit/Map::Visit.
2010-01-23 21:36:15 +01:00
Laise
39b7636094 [9244] Implement talent Rime
And apply SPELLMOD_COST to rune spell cast as part this.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-23 20:19:13 +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
lutik
cee525f9c8 [9230] Add maxtarget limits for spells 66013, 68509, 67700 and 68510
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-21 19:12:50 +01:00