Commit graph

63 commits

Author SHA1 Message Date
VladimirMangos
f45253ac8b [8393] Fixed format CMSG_FORCE_MOVE_UNROOT_ACK and CMSG_FORCE_MOVE_ROOT_ACK.
Also avoid packet tail warnings spam at rejected movement packets.
2009-08-20 00:15:34 +04:00
arrai
a24f39a36f [8378] Use exceptions instead of explicit size checking for each packet
CHECK_PACKET_SIZE was pretty error prone; once it was forgotten mangosd
could crash due to the asserts in ByteBuffer.h. That was exploitable by
malicious players.
Furthermore, there were duplicate checks: Additionally to
CHECK_PACKET_SIZE, the ByteBuffer assertions keept an eye
on not exceeding the packet boundaries - just to crash the server for
sure in such a case.
To prevent memory leaks or other undesirable states, please read in
every handler all variables _before_ doing any concrete handling.
2009-08-16 23:50:22 +02:00
VladimirMangos
79c1324bed [8327] Fixed recieved packet size check for MSG_MOVE_TELEPORT_ACK. 2009-08-08 06:40:43 +04: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
Win32
03926619d9 [8151] Fixed some format warnings and typos.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

SOme changes rewrited with using [8150]
2009-07-09 01:09:12 +04:00
Ambal
9f938a9ed4 [8103] More wide use IsInWorld checks and delayed at teleport operations.
* IsInWorld used to prevent return unexpected not in world objects.
* Delayed operations need to process its in world state.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-01 14:00:29 +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
tomrus88
25140ea3cc [8013] Fixed SMSG_RAID_INSTANCE_INFO opcode, some other fixes. 2009-06-14 19:24:56 +04: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
a57bf5a78b Applied coding style. 2009-05-29 19:23:28 +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
tomrus88
b980e9ac59 Updated to 3.1.2.9855 client build, fixed quests, some work on monster movement. Not tested. 2009-05-02 19:41:00 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
VladimirMangos
278cd970f4 [7652] Fixed unexpected GM death at deep swim. 2009-04-12 02:36:19 +04:00
VladimirMangos
199c09640d [7648] Resolve problems with expected fall damage at near teleport.
Move near teleport landing code to WorldSession::HandleMoveTeleportAck.
This make Player::TeleportTo code working in same way for both far/near teleports.
Move mSemaphoreTeleport from WorldObject to Player and merge with DoNotMove (using 2 fields for far/near teleport flag).
Skip movement packets until landing confirmation for near teleport from client.
2009-04-11 11:06:30 +04:00
VladimirMangos
eb198f8239 [7645] Fixed problems wit temporary unsummoned pets and cleanup code.
* Save temporary unsummoned pet to current slot (instead non_in_slot mode) and
  prevent save as current pet summoned while temporay unsummon (arena)
* Prevent overwrite temporary summoned pet data
* At player loading set temporary unsummoned pet data instead pet loading
  if pet expected to be temporary unsummoned in current player state (loading in taxi flight/etc)
* Restore proper pet at arena leave and unsummon in arena summoned.
2009-04-11 08:46:48 +04:00
maikash
294e2c69a9 [7535] Fixed typo in transport boarding code.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-24 18:41:30 +03:00
VladimirMangos
cc11ff40fe [7533] Redirect movement packet in proper way to controlled target.
* In creature case ignore fall/etc damage
* In player case apply fall damage/etc to controlled player, apply other movement effect to it also.
2009-03-24 14:06:39 +03:00
VladimirMangos
16ab4b6849 [7529] Hide some implementation details for fall damage calculation and breath timers. 2009-03-24 02:26:24 +03:00
VladimirMangos
73ac0bcc7f [7527] Remove redundent arg from Player::EnvironmentalDamage 2009-03-23 18:01:30 +03:00
VladimirMangos
e09435326f [7525] Prevent crashes at death controlled (including movement) creature. 2009-03-23 13:39:11 +03:00
VladimirMangos
722395be75 [7413] Fixed finally problems with node names localization in BattleGroundAB messages.
Also fix build at some platforms.
2009-03-08 14:39:53 +03:00
balrok
6c39db38f4 removed unneeded World.h includes
this is done by this script:
ack -c "World.h" | ack :1 | sed 's/:1//' | xargs grep -c sWorld | grep :0 | sed 's/:0//' | xargs sed -i '/#include "World.h"/d'
i didn't checked every change but gcc haven't complained
2009-03-08 01:26:52 +03:00
VladimirMangos
02dd431846 [7373] Implement expansion check at character loading (for homebind, transport and plain coordinates).
Also move fall damage calucaltion in new function.
2009-03-03 00:47:30 +03:00
Triply
a81d174288 [7353] Fixed problem with joining rated arena matches. Thanks to balrok for help.
Signed-off-by: Triply <triply@getmangos.com>
2009-02-27 14:20:31 +01:00
Triply
3560d9de54 [7351] Fixed removing normal horde groups from queue.
Fixed Reflective shield - patch provided by Rastik. Thx

Signed-off-by: Triply <triply@getmangos.com>
2009-02-27 11:08:57 +01:00
Triply
1eadd9b7b4 [7276] Rewrited fix for same faction arena matches
Added better Object-oriented calls to BattleGround::Reset()
Added more checks to CreateBattleGround() method
This commit doesn't fix anything
2009-02-13 14:47:10 +01:00
Triply
7c67848b48 Fixed arena matches for same faction (players were all in one group - and they couldn't attack each other) 2009-02-12 10:48:07 +01:00
GriffonHeart
75121a5823 [7255] Allows saving characters in Battle Grounds.
* Now player can join to BG after logout during 5 minutes, if BG in progress.
* All players after server crash or restart should appear at the battlemaster

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-09 16:15:29 +03:00
VladimirMangos
5a4358dda9 [7250] Use bg type ids enum insted raw values and catch some bugs in result for fixing.
* Replace max bg type checks by DBC valid index check
* Use in functions and fields BattlegroundTypeId type instead uint32
* Fixed wrong use bg queue ids instead bg type ids in queue update/remove function calls.
  Many bg have same raw values for type id and queue id but some can be affected by this bug:
  BATTLEGROUND_EY, BATTLEGROUND_SA, and all areans (with small arena/team size exceptions)
* Move Battlemaster to bg type ids map fron ObjectMgr to BatteleGroundMgr.
* Remobe redundent for header itself includes for BG headers.
* Use Auction location enum instead raw valus.
2009-02-08 11:05:11 +03:00
DiSlord
4b9af01d42 [7023] Remove not used useCharges for IsImmunedToSpell/IsImmunedToDamage
Signed-off-by: DiSlord <dislord@nomail.com>
2009-01-04 23:20:21 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
tomrus88
71b1065c8b Merge branch 'master' into 303
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Chat.h
	src/game/Player.h
	src/game/World.h
	src/game/debugcmds.cpp
2008-12-16 07:30:23 +03:00
ApoC
a5331ab517 [6910] Implemented rewritten arenas. Original author w12x@getmangos.com
Many thanks also to:
  Balrok@github.com for long time updating.
  Triply@github.com for great work in rewriting process.
  All who I forget to name.
Signed-off-by: ApoC <apoc@nymfe.net>
2008-12-16 00:17:24 +01:00
tomrus88
4f55ef857a Merge branch 'master' into 303
Conflicts:
	src/game/MovementHandler.cpp
2008-12-13 23:16:44 +03:00
arrai
d97a8d33b9 [6905] Fixed items with both healing and energizing effects
Store fall information also at MSG_MOVE_FALL_LAND
2008-12-13 19:05:42 +01:00
tomrus88
5d4d7292b9 Merge branch 'master' into 303
Conflicts:
	src/game/Player.h
2008-12-12 18:14:49 +03:00
arrai
bc816b70fc [6896] Fixed fall damage after teleports 2008-12-11 17:19:32 +01:00
tomrus88
db64bf6b80 Merge branch 'master' into 303
I hope it merged correctly...

Conflicts:
	contrib/extractor/ad.exe
	src/game/MovementHandler.cpp
	src/game/Player.h
2008-12-11 12:22:37 +03:00
arrai
9f8e51ff41 [6891] small performance fix for previous commit 2008-12-10 16:02:26 +01:00
arrai
69e9ab315f [6890] Implemented more correct way of calculating fall damage by using fall distance and not fall time. Thanks to DasMy for finding an appropriate formula 2008-12-10 15:09:03 +01:00
VladimirMangos
3da9f3f4cc [6889] Backport some not client version specific changes and fixes from 303 branch. 2008-12-09 14:08:29 +03:00
tomrus88
5fae2418ab Misc fixes 2008-11-23 16:18:14 +03:00
tomrus88
397efd4fac Merge branch 'master' into 303
Conflicts:
	src/game/SpellEffects.cpp
2008-11-18 18:08:58 +03:00
hunuza
ac00eee418 Replace some MapManager::Instance().GetMap() calls with WorldObject::GetMap() 2008-11-17 17:24:53 +01:00
tomrus88
dcb39d1512 Cleanup 2008-11-16 21:17:56 +03:00
tomrus88
427fca695e Compile fix 2008-11-16 18:13:33 +03:00