Commit graph

97 commits

Author SHA1 Message Date
VladimirMangos
670a2dbb4c [8866] Replace [8864] by more correct way fix attack stance problem.
Thanks to TOM_RUS for help in more deep reseach problem source.
2009-11-23 15:10:14 +03:00
balrok
1d362eace4 [8845] fixed some gcc warnings 2009-11-20 12:57:19 +01:00
VladimirMangos
fe1fae46ee [8830] Restore build at *nix. Make MAKE_PAIR* users includes explicit.
Comment for recently added field also.
2009-11-18 23:57:20 +03:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
XTZGZoReX
611b17a431 [8787] Cleanup in Errors.h. 2009-11-08 11:38:34 +01:00
XTZGZoReX
dc725ad6b8 [8785] Use macro instead of explicit call to singleton Instance().
* For: ObjectAccessor, MapManager.
2009-11-08 03:54:41 +01:00
NoFantasy
7b6f4accd1 [8741] Remove trainer npcflags for player that can not train from npc.
Tracking of class and profession trainer should then work as expected client side, but database still need to apply flag values based on trainer function.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-10-27 01:26:45 +01:00
VladimirMangos
ce3d0170f6 [8729] Fix crash added in [8725]. Sorry. 2009-10-25 03:25:02 +03:00
VladimirMangos
e79aa4dee2 [8719] More early detection possible crash sources at object deletion.
* If object still in world at delete
* If object still listed in client update queue

Possible with this crash reports will more informative and let find porblem.
2009-10-24 02:09:35 +04:00
VladimirMangos
7ffb8e20ff [8696] Replace pure virtual functions for better error output. 2009-10-21 18:11:10 +04:00
VladimirMangos
dcadfb7cae [8679] Remove 2 now unneeded includes. 2009-10-20 01:12:37 +04:00
VladimirMangos
8bf52f7c63 [8678] Move objects updates store and proccessing for send to client in per map way. 2009-10-19 23:46:58 +04:00
VladimirMangos
abb77cfdbf [8677] Move most client update data functions to object itself from ObjectAccessor.
Also use virtual function BuildUpdateData (old ObjectAccessor::_buildUpdateObject)
that different for world objects and items.
2009-10-19 15:03:06 +04:00
NoFantasy
4011433918 [8647] Use correct check in _BuildMovementUpdate, if creature can fly.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-10-15 00:28:01 +02:00
SilverIce
023b13f348 [8627] Avoid not needed too oftent send update data, cleanups.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-10-11 19:31:57 +04:00
balrok
02d45b4b54 [8625] feign_death cleanups
use an extra function for setfeigndeath()
like it's done with setfeared already..
allow to apply feigndeath on creatures too
avoid moving of creatures with feign death applied
and start attacking last victim when feigndeath disappears
2009-10-11 14:22:52 +02:00
VladimirMangos
59befa2e0e Merge branch 'master' into 320 2009-10-02 19:09:06 +04:00
VladimirMangos
5440deddea [8582] Correctly use yell range for boss textemote broadcast. 2009-10-02 04:50:23 +04:00
XTZGZoReX
63897d56d7 Move visibility update functions to more appropriate classes.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-10-01 19:01:42 +04:00
tomrus88
258e19a4a3 Merge commit 'origin/master' into 320 2009-09-22 18:14:06 +04:00
Ambal
cfea99ea62 [8524] New cell search algorithm implemented. You can now choose different visibility distances on continents, in BG/Arenas and instances.
Please, update your config files and check new options:

Visibility.Distance.Continents    = 90
Visibility.Distance.Instances     = 120
Visibility.Distance.BGArenas      = 180

Thanks everyone involved in patch tests!

Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-21 23:25:29 +03:00
tomrus88
2d86aa4535 Misc fixes. 2009-09-14 18:11:15 +04:00
Opterman
26a104a05a [8461] Correcting buildUpdateValues for GAMEOBJECT_DYNAMIC flag.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-09-04 01:18:17 +02:00
VladimirMangos
45dd7140b5 [8422] Implement far sight like spells work for long distance.
* Added basic infrastructure for visibility update in case difference player and current view point.
  Just for note: seletect additional arg way beacuse repeatable search object will slow but store pointer will not safe,
  so use middle case: get view point pointer early as possible at visibility updates.
* Implement dynamic object and creature activisation while it's target of far sight spell effect
* Use this for SPELL_AURA_BIND_SIGHT, SPELL_AURA_FAR_SIGHT and SPELL_EFFECT_ADD_FARSIGHT.
* Note2: some spyglass like spells let look _around_ at long distance, this hard implement in current grid loading system
  Without additional changes and not implemented (you will see empty area without creatures in likes case)

* Also fixed warning spam at CMSG_MOVE_SET_CAN_FLY_ACK receive by use proper packet sructure reading.
2009-08-26 08:30:40 +04:00
tomrus88
a0efd034ca [8225] Some fixes from 320 branch.
(backported from commit 4bdcf42)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-21 05:30:58 +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
NoFantasy
212ece4e06 [8187] Remove %s prefix in BuildMonsterChat().
For cases where name of sender is expected to show in client chat (mainly emote texts), add %s to the text where name should display.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-07-16 17:20:58 +02:00
Ambal
58209ee79a [8182] Store and use Map* pointer in WorldObject instead map ids for speedup
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-15 02:13:52 +04:00
VladimirMangos
9f41772828 [8102] Simplify code base at new root method WorldObject::CleanupsBeforeDelete
* Call it from Map::AddObjectToRemoveList and remove now not needed explcit calls
* Create Gameobject version to make GO with owner more safe for remove
2009-07-01 11:09:34 +04: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
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
Ambal
6a5b6f08e0 [8007] Do not create empty maps while sending packets.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-06-14 11:11:27 +04:00
tomrus88
cffbb8661b Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
	src/game/SpellAuras.cpp
2009-06-02 15:01:26 +04:00
tomrus88
4154d606cc Updated to 3.1.3.9947 client build. 2009-06-02 14:58:59 +04:00
VladimirMangos
fb45529eff [7929] Some fixes and optimizations for work with packet guids.
* Allocate only minimal required buffer size for object packet guid cache, avoid it realocation.
* At adding aboyher buffer content copy only until wpos (really writed to buffer data)
* In appendPackGUID check buffer size before data write.
2009-05-31 22:18:48 +04:00
tomrus88
cae3f0a532 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
2009-05-31 12:16:25 +04:00
tomrus88
f7c733cd21 Fixed warnings. 2009-05-31 12:13:40 +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
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
tomrus88
ec4928008c Some coding style fixes. 2009-05-26 14:41:57 +04:00
tomrus88
ebb03b7b9f Merge commit 'origin/master' into 310
Hope it works with live 3.1.2.9901 client
2009-05-20 10:53:55 +04:00
VladimirMangos
45b209df50 [7836] Fixes for distance range checks.
* ignore 0.0f min range limit (this correct case when 2 object overlapped)
* typo in CreatureEventAI::CanCast

Also use int32 for temporary store GetSessionDbLocaleIndex result.
2009-05-16 10:25:11 +04:00
tomrus88
6734694a90 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-16 00:47:37 +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
42d74d811f [7828] Add 2d/3d versions for WorldObject::IsInRange(x,y,... and WorldObject::IsWithinDist(x,y,... 2009-05-14 20:55:06 +04:00
VladimirMangos
592db69c0c [7827] dd support 2d version for WorldObject::GetDistanceOrder. 2009-05-14 20:10:11 +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
tomrus88
908f41b031 Attempt to fix quests. Some other fixes. 2009-05-07 02:04:43 +04:00
tomrus88
6821c24268 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-06 09:40:35 +04:00
arrai
fefe56e3c5 [7776] Completed implementation of CMSG_SPELLCLICK
For vehicles, you have to add the correct SPELL_AURA_CONTROL_VEHICLE spells to
npc_spellclick_spells, otherwise you won't be able to use them
2009-05-05 18:58:58 +02:00