Commit graph

957 commits

Author SHA1 Message Date
SilverIce
e47e9a2218 [10201] Broadcast packets only if worldobject is in world
There is no sense to do that for objects that not in world - those objects are unknown for clients
and their packets will be ignored

(based on SilverIce's repo commit 6305402)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-07-17 03:46:57 +04:00
Laise
ae51168ffc [10199] Fix 33763 and ranks final heal and mana return on dispel and on expire 2010-07-16 21:35:00 +03:00
Laise
904ef55b4e [10189] Fix display of Interrupted message and fix channelled spells interrupting 2010-07-14 13:24:16 +03:00
Laise
beff2a145c [10185] fix auras adding to previously added holder 2010-07-12 20:29:26 +03:00
Lynx3d
5e89098a61 [10165] New collission system (vmap) implementation
Important:
* You have to re-extract and assemble vmaps
* Update your config file, new option 'vmap.enableIndoorCheck' added

New features:
* Include WMO+DBC area information for correct subarea identification and indoor check
* Support for WMO liquid (fishing/swimming in cities, instances and oterh WMO based environments)

Technical changes:
* New Bounding Interval Hierarchy (BIH) data structure for better performance
* Referenced model data for reduced memory usage,
  needs more files, but reduces overall file size from ~1.9GB to ~550MB

Additional Authors:
arrai (DBC handling and indoor detection)
faramir118 (windows support and bug investigation)
And of course thanks Vladimir for a lot of patience and support!
2010-07-08 23:17:26 +02:00
Laise
a32b3063a2 [10156] Add shared object for auras of same spell and move spell proc code to its own file, also spread procs by auras and effect indexes. 2010-07-07 19:08:26 +03:00
zerg
3215c80cce [10129] Add cooldown marker for talent 56342 and ranks triggering spell.
(based on zergtmn's repo commit 87d1309)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-30 22:14:03 +04:00
zerg
f5d6fe6b01 [10128] Since 3.3 pets receive 100% of master's resilience
(based on zergtmn's repo commit 21eba43)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-30 21:57:12 +04:00
NoFantasy
1713caae17 [10115] Add function to update model_info at changes to scale or model.
* At every change to model or scale, the related data (bounding_radius/combat_reach) is now updated accordingly (note that player combat_reach are not changed like creature).
* UpdateModelData is called from within SetDisplayId while changes to scale has explicit call to UpdateModelData after new scale is set (mostly for aura scale)
* The updated values are calculated by (scale*bounding_radius)/(scale*combat_reach)
* Database values for bounding_radius/combat_reach are expected to be relative to scale like 1.0

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-28 12:10:56 +02:00
VladimirMangos
67a7892075 [10114] Store associated InstanceSave for dungeon map in Map object 2010-06-27 21:11:26 +04:00
Laise
407156cbaf [10088] Restore work of 1120 and ranks. (Revert of [9962]) 2010-06-20 22:30:57 +03:00
VladimirMangos
3e210228f9 [10076] Fixed crash at remove from world pet under SPELL_AURA_MOD_POSSESS_PET
* Prevent crash at camera list update at attempt increment end() iterator.
* Properly do unapply SPELL_AURA_MOD_POSSESS_PET (GetPet() can return NULL at call, and not need checked)
* Propertly call unapply at delete auras cases for auras that set player-caster mover pointer.
2010-06-19 02:31:07 +04:00
VladimirMangos
07a931e141 [10074] Add IsPassive(SpellEntry*) function and use in cases wjern entry already known.
Some other small code cleanups
2010-06-18 02:17:51 +04:00
VladimirMangos
523584766b [10071] Not need add new cases inline for in-class function definition.
This is redundant from current C++ standart point.
2010-06-17 05:35:41 +04:00
NoFantasy
9091d56e70 [10070] Remove old, commented code no longer needed in SendMonsterMove
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-17 01:04:35 +02:00
VladimirMangos
492f467bcc [10068] Fixes in pet movments
* Use proper stop packet as expected. In case 0 trevel time used before move packet
  can generate infinity move forward (at client side).
* Avoid reset top movegen before add idle in pet stay command.
* Avoid assign random move to player owned creatures as default movegen.
* Finish follow movegen init including need-stay case.
2010-06-17 02:46:39 +04:00
ApoC
7dd5456401 [10066] Some tuning in consts.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-06-16 23:31:23 +02:00
VladimirMangos
0304448b85 [10064] Fixed recently show up crash in Unit::StopMoving. 2010-06-15 19:14:44 +04:00
VladimirMangos
5b15cd5dd2 [10063] Cleanup recent added code. 2010-06-15 17:19:45 +04:00
Laise
9811858d44 Implement 49220 and ranks 2010-06-15 15:27:08 +03:00
VladimirMangos
b4b45333d8 [10053] Use UNIT_STAT_CONTROLED for mark unit state under direct player control.
* This allow prevent move home/to caster at apply
* Also replace AI and reset movegens at control time
* Also stop combat and clear threat/hostile list at lost control for prevent combat with freindly units.
2010-06-14 10:27:44 +04:00
SilverIce
e427ce80cc [10052] Camera System
(based on SilverIce's repo commit 4f2f4ab + next 3 more)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-14 07:23:03 +04:00
virusav
a248a1a32d [10049] Fix SPELL_AURA_MOD_HEALING_DONE healing bonus with 0 misc value
Signed-off-by: Laise <fenrisse@gmail.com>
2010-06-10 12:16:44 +03:00
tehmarto
5ea6815ea1 [10041] Use for spell 49145 and ranks for decrease SPELL_DIRECT_DAMAGE damage.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-06 22:27:16 +04:00
zergtmn
7f8ad96038 [10039] Partly revert [10033] for spell 44394 and ranks related code.
Not all ranks of spell have proper triggered spell info.
Return to old more explicit code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-06 22:03:05 +04:00
zergtmn
ff2f722f49 [10038] Prevent double triggering heal from 63534 and ranks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also use more simple and safe checks for added in [10035].
2010-06-06 21:49:40 +04:00
Insider42
18ffffd379 [10035] Additinal reqs for spell 49219/51459 and ranks triggering.
* Only at melee attack or spell 56815 hit.
* Spell 49219 and ranks also ignore offhand attack.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-06 18:09:37 +04:00
VladimirMangos
ea9dd78d35 [10034] In case unknown triggered spell output more known info for location problem. 2010-06-06 17:55:54 +04:00
VladimirMangos
63018ccc4a [10033] Use sometime stored in spell data triggred spell info for dummy auras. 2010-06-06 17:44:07 +04:00
Laise
f94175f90f [10030] Add aura remove modes for expire and absorb shield break cases and use GetTarget()/GetSpellProto() instead of m_target/m_spellProto 2010-06-05 09:12:00 +03:00
VladimirMangos
59cf9c1dbd [10010] Use schoolmask enum in struct SpellNonMeleeDamage, some indents fix. 2010-05-31 08:09:03 +04:00
Tassadar
4d61fba28f [9987] Restore work talent 12311 and ranks.
Thanks to insider42 for prepare patch for mangos.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-28 00:46:12 +04:00
insider42
5a8c84a2ec [9986] Talent 51459 and ranks affect only melee auto-attacks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-28 00:09:47 +04:00
VladimirMangos
ce85076033 [9981] For non-player at "offline" delete hostile references.
This must fix porblem with call message broadcast from unit destructor.
2010-05-27 14:56:37 +04:00
insider42
fe69843ce7 [9977] Update talent 16180 and ranks work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-26 22:15:06 +04:00
VladimirMangos
c7ea2be1d1 [9962] Modify way 4x damage bonus claculated for spell 1120 and ranks.
* Now apply 4x bonus dependent from target health in time spell cast,
  not from current health in tick.
* 4x bonus applied to own spell damage value, not to total taken damage.
2010-05-23 15:32:13 +04:00
pasdVn
2c396da82b [9961] Restore work talent 18213 and ranks.
Thanks also to insider42 for updating.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-23 15:05:23 +04:00
VladimirMangos
d4f1b510ae [9934] Skinning related fixes
* Show skinning tooltip only after creature loot
  (when creature can be explcitly skinned).
* Allow reopen skinning loot if still have not looted items.
2010-05-19 15:35:20 +04:00
VladimirMangos
54c2da8d53 [9929] Move apply spell coeffs and level penalties code to new function.
* No reson have 6 copies near to exactly same code.

* This fix problem with apply attack power bonus in some case.
  Thanks to Wowka321 for find and reseach problem.
2010-05-19 02:50:31 +04:00
zergtmn
611b53fab8 [9926] Typos in Unit::DealDamageMods
Can be source very strange damage/absorb and any near stored/calculated in memory values. and crashes also.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-18 14:21:22 +04:00
VladimirMangos
d86dcd60d7 [9925] Add more log filters
* damage - different direct damage calculation tracing
* combat - combat state updates, roll attack result and etc
* spell_cast - spell cast progress and aura apply
2010-05-18 12:38:52 +04:00
VladimirMangos
bed8794a75 [9921] In case player who tap creature in group leave group it must anyway rewarded with group. 2010-05-18 04:48:33 +04:00
KillerFrca
e5dc7a098c [9920] Restore group rewarding at player kill.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-18 04:37:59 +04:00
VladimirMangos
696a4b6db0 [9918] Fixed player's tapped creature loot access by group in diff cases
* If player tap creature in group and leave then group will have access to creature loot if not disbanded
* If player tap creature and after join to group then creature loot will accesable only by player
* Also RewardPlayerAndGroupAtKill divided to simgle player and group reward versions used for group tap
  and single player tap cases.
2010-05-17 12:56:57 +04:00
darkstalker
9fb36ed021 [9900] Fix SPELL_MOD_SPELL_BONUS_DAMAGE applying
Signed-off-by: Laise <fenrisse@gmail.com>
2010-05-15 11:37:07 +03:00
VladimirMangos
6e92d43237 [9897] Avoid multiply AP bonus coeff. with spell power bonus.
Problem exist in original code before recent commits.
2010-05-15 11:17:38 +04:00
nos4r2zod
b2b8ca1d70 [9896] Cleanup spell bonus coeff use code
* Avoid coeff calculation if target value is 0.0f
* Avoid use spell_bonus_data coeffs for creature damage.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:17:17 +04:00
nos4r2zod
e880e7d236 [9895] Move DotFactor+GetSpellCastTimeForBonus call to CalculateDefaultCoefficient
* This coeff used if not spell_bonus_data provided for spell
* Continue prev. commit line expected that creature casts not affected by DotFactor

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:16:02 +04:00
nos4r2zod
4951f846dd [9894] Move GetCastingTimeForBonus and some other code to GetSpellCastTimeForBonus.
Important changes:

* Chaged way caluclation "-5% of total per any additional effect" to percent
  apply instead use raw value that correct only for 3500 cast time spells.
* GetSpellCastTimeForBonus result now alwasy not applied to creature casted spells
  Before it not applied only to instant spells. Please test if this ok in all cases.
* Leech effect modify spell casting time move into GetCastingTimeForBonus and then called
  also for melee spells. But only creature spells exist with melee class damage and its
  not affected by GetCastingTimeForBonus anyway now.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-05-15 11:15:05 +04:00
tomrus88
ff2cda6af1 [9861] Backporting some code chnages from 400 branch.
(based on 400's commit 0f37423)
(based on 400's commit 636cfef)
(based on 400's commit 0bbe3a7)
(based on 400's commit ce86b56)
(based on 400's commit b74c6a8)
2010-05-10 23:45:49 +04:00