Commit graph

786 commits

Author SHA1 Message Date
NoFantasy
32e3e252fb [10431] Correcting issues with flying creatures falling to ground at death.
Simplified the way FallGround works and death states are set in a more logical way when a mob is in fact DEAD_FALLING.
Visual will in some cases not be correct. Notes in code for details.

Thanks to Lynx fixing Map::GetHeight
It now return mapHeight as last resort, making FallGround work as expected.
This fix reveal one (known) bug, and therefore a temp hack is added in TargetedMovegen, to be sure Z is not the ground Z for a creature that are able to fly.
Other creatures will follow by the ground level Z (in other words, they will no longer follow in the air).
2010-09-01 00:31:31 +02:00
NoFantasy
9700d481fa [10421] Correct typo in function name.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-29 12:24:21 +02:00
rsa
7f9208426a [10408] Fix mistake in recent debug log output change (ref 10395)
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-25 00:25:34 +02:00
VladimirMangos
09b03b470e [10402] Use ObjectGuid in packets and fix some uint32 guids cases. 2010-08-23 12:37:11 +04:00
NoFantasy
ddfc6386c5 [10395] No debug log output when a certain ability is active
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-21 18:12:45 +02:00
NoFantasy
c252ca5bc4 [10394] Remove redundant use of this-> in recent implemented script calls
Thanks porteyoplait for pointing it out /bonk author

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-21 16:37:42 +02:00
VladimirMangos
9d76725a0e [10391] Restore build at Unix after Unit::GetUnit drop. 2010-08-20 23:44:01 +04:00
NoFantasy
9c02f476ec [10390] Add several new script calls for InstanceData
OnCreature Evade/Death/EnterCombat and in addition OnPlayerLeave
The functions are intended to help doing instance related tasks (in other words, not for the general AI of creatures).

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-20 20:26:06 +02:00
VladimirMangos
77ae9a63b8 [10385] Remove Unit::GetUnit and update it callers. 2010-08-20 16:53:45 +04:00
VladimirMangos
dbe9c6f190 [10371] More wide use ObjectGuid in group code.
Also drop some unused functions.
And fix some uint32 -> uint6 guid assigns.
2010-08-18 13:43:55 +04:00
VladimirMangos
5f44c4da21 [10363] More wide use ObjectGuid in way remove MAKE_NEW_GUID uses.
Also
* Fixed some amount wrong uses low guids as full player guids.
* Add private without body ObjectGuid(uint32 const&) for catch wrong assigns low guids to ObjectGuid.
  In some cases need assign "0" guid, then use ObjectGuid() instead.
* Fixed .pdump commands work.
2010-08-17 08:22:28 +04:00
VladimirMangos
085811fc06 [10336] Server side checks for casting non-combat spells in combat.
Interrupt casting non combat spell spell at neter to combat
and prevent it casting in combat (last checked by client
but better recheck at server for prevent cheating).
2010-08-10 02:01:08 +04:00
VladimirMangos
bfb1cb9e67 [10319] Prevent double remove aura holder at stacking limit.
If aura holder have 2 or 3 auras with fit to aura type stacking limitation
code can attempt deleted old aura holder 2/3 times.
2010-08-04 19:00:41 +04:00
zergtmn
d31ce2e2a3 [10315] Make AuraHolder::IsDeleted() really work.
In fact it has been broken originally when added in Aura long before move it to AuraHolder.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-04 01:36:56 +04:00
NoFantasy
8aaf32798f [10310] Clarify argument in emote related functions, expecting emote id
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-03 01:01:45 +02:00
VladimirMangos
4f19017872 [10300] Fixed some strange GetAura arg values. 2010-07-31 21:46:24 +04:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
VladimirMangos
ed737c55cd [10287] Fixed crash in result double deleting auras in some cases.
Pre-aura holder code always remove auras from diff lists before un-apply aura affect call.
Restore this way work for new aura holder code. This prevent different strange affects
when aura find by search when it already expected to be removed from target, including case when in
result som un-apply called code aura deleted 2 times.
2010-07-30 05:00:59 +04:00
Laise
0faa1185ae [10268] If schoolMask present for proc, ignore SpellFamilyFlags check 2010-07-25 07:31:25 +03:00
Laise
dbf2d02762 [10255] Fix aura remove in Unit:: _UpdateSpells 2010-07-24 12:56:42 +03:00
Lynx3d
6c6ce87867 [10253] Small cleanup in Unit::HasAura() to prevent redundant upper_bound calls. 2010-07-23 23:15:13 +02:00
Laise
02532a469a [10249] Don't interrupt area effects for channeled spells from target side 2010-07-23 09:22:05 +03:00
Laise
30a0701ca9 [10241] Fix expired spell interrupt 2010-07-21 13:01:59 +03:00
Laise
3e326311ad [10240] Fix some spells proc from spells that don't deal damage/heal 2010-07-21 08:16:23 +03:00
Laise
d8c1374fcd [10232] Fix mechanic-related check, thanks to VladimirMangos 2010-07-20 13:20:35 +03:00
Laise
c384650af8 [10218] Restore trinket procs when no specific spell is defined for proc 2010-07-18 18:53:46 +03:00
zergtmn
5c6fbdb54e [10212] Fix iterator update in Unit::RemoveNotOwnSingleTargetAuras
Signed-off-by: Laise <fenrisse@gmail.com>
2010-07-17 21:36:53 +03:00
Laise
f37c73e255 [10211] Fix aura procs for spells with auras that can't trigger 2010-07-17 21:32:05 +03:00
Lynx3d
01d326b90d [10202] Rename isInFlight() to IsTaxiFlying() and UNIT_STAT_IN_FLIGHT to UNIT_STAT_TAXI_FLIGHT.
Also add IsFreeFlying() function to Player class.
2010-07-17 02:06:28 +02:00
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