Commit graph

112 commits

Author SHA1 Message Date
tomrus88
2d86aa4535 Misc fixes. 2009-09-14 18:11:15 +04:00
tomrus88
d26712c6ba Merge commit 'origin/master' into 320
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Opcodes.cpp
	src/game/WorldSession.h
2009-08-29 12:01:39 +04:00
VladimirMangos
5cf72882ad [8433] Implement proper store and use character specific account data.
* Base at TOM_RUS reseach save/load character specific account data in new table `character_account_data`
* Move its in sql update from `account_data` to new table.
* For client packets that can be send in loggined state or just after logout but assocualted
  with recently logout character add new login status STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT
* Store low guid for loggedin player or recently logout into WorldSession.
2009-08-29 11:26:57 +04:00
tomrus88
fdc20af337 Some fixes. 2009-08-28 22:33:52 +04:00
tomrus88
3882772658 Merge commit 'origin/master' into 320
Conflicts:
	src/game/Player.cpp
2009-08-27 01:54:04 +04: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
ed2b97287b Compile fix. 2009-08-24 01:28:12 +04:00
tomrus88
e7353428b1 Fixed one more opcode.
Added startup check for gameobject displayid==0.
2009-08-24 00:59:23 +04:00
tomrus88
fec1a1954c Merge commit 'origin/master' into 320
Conflicts:
	src/game/MovementHandler.cpp
2009-08-20 16:24:37 +04:00
tomrus88
3097dcda2b Removed useless code. 2009-08-20 16:18:34 +04:00
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
VladimirMangos
35121cdd34 [8389] Implement check really read received packet size and warning it not all data read.
* This let more easy catch packet structure chnages at client switch.
* Fixed structure CMSG_GUILD_BANK_SWAP_ITEMS
* Fixed structure CMSG_SPLIT_ITEM, CMSG_SELL_ITEM
* Added read data amount fixes for some other packets.

Thanks to TOM_RUS in help check correct packets structure.

Note: not all packets possible fixed. Please report for not fixed cases at errors:
"opcode %s (0x%.4X) have unprocessed tail data (read stop at %u from %u)"
2009-08-19 00:45:24 +04:00
arrai
6e70c05191 [8386] Fixed areatrigger distance check
Old check caused false positives for trigger #4853
2009-08-18 17:41:28 +02:00
arrai
c34ff46443 [8385] Use 3D coordinates for checking corpse distance at reclaiming 2009-08-18 16:09:10 +02:00
tomrus88
373a837aa5 Merge commit 'origin/master' into 320 2009-08-18 09:30:02 +04:00
VladimirMangos
2b534cbc23 [8382] Implement ByteArray functions for skip read of fields not needed for server in received packets.
* Use this fucntions in some case.
* Change some packets to form: read fields first check later for better control recieved packets structure.
* Fix CMSG_STAND_STATE_CHANGE packet structure to more correct.
2009-08-18 03:49:50 +04:00
tomrus88
f553cf2887 Merge commit 'origin/master' into 320
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/DuelHandler.cpp
	src/game/ItemHandler.cpp
	src/game/Mail.cpp
	src/game/MiscHandler.cpp
	src/game/MovementHandler.cpp
	src/game/TaxiHandler.cpp
	src/game/WorldSession.h
	src/game/WorldSocket.cpp
2009-08-17 10:31:02 +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
tomrus88
6bf8eb346d Added CMSG_WORLD_STATE_UI_TIMER_UPDATE handler. 2009-08-08 18:28:22 +04:00
tomrus88
7c52111fb1 Fixed /played chat command.
(cherry picked from commit 3e49bbe692ea5f44ea2daffdfe970a7201d501f5)

Conflicts:

	src/game/MiscHandler.cpp
	src/game/SharedDefines.h
	src/game/UpdateFields.h
	src/realmd/AuthCodes.h
2009-07-29 15:14:23 +04:00
tomrus88
3058ba26c6 Applied coding style. 2009-07-28 17:04:01 +04:00
tomrus88
786e48cdba [8262] Fixed work /played client chat command.
Thanks to The_Game_Maste for prepering patch for master branch.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-28 01:03:59 +04:00
tomrus88
299f40ac0c Merge commit 'origin/master' into 320 2009-07-26 10:52:21 +04:00
tomrus88
1c93b206e8 Updated to 10147 client build. 2009-07-25 13:50:28 +04:00
SilverIce
0cf083eb55 [8231] Use more safe destination buffer size for zlib compression.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-22 15:59:36 +04:00
tomrus88
a26e90019b /played command should work once again. 2009-07-22 01:25:15 +04:00
tomrus88
4c709772c1 Merge commit 'origin/master' into 320
Conflicts:
	src/game/Player.cpp
	src/game/Totem.cpp
2009-07-21 08:22:30 +04:00
XTZGZoReX
4f53c4ee28 [8193] Use constant instead explicit value in title index checks.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-07-17 19:29:48 +04:00
tomrus88
02f9416963 Merge commit 'origin/master' into 320 2009-07-16 13:23:03 +04:00
VladimirMangos
c129b0a1bd [8185] Allow set visible gm level for in gm list and in who list checks.
* GM.InGMList replaced by GM.InGMList.Level with default value 3 (visible any gm levels)
* GM.InWhoList replaced by GM.InWhoList.Level with default value 3 (visible any gm levels)

Update mangosd.conf if used non default value for old GM.InGMList and GM.InWhoList
2009-07-16 02:54:57 +04:00
tomrus88
2066de036f Updated auras enum, dbc comments. 2009-07-11 10:36:56 +04:00
tomrus88
c9258deb5a Updated to 10072 client build. 2009-07-08 22:03:53 +04:00
Ambal
2baccbebc3 [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-02 09:18:43 +04:00
VladimirMangos
c9fbd99579 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-07-02 09:18:39 +04:00
VladimirMangos
48caaaffcf [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-07-02 09:18:24 +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
1baec77845 [8098] Support uint32 spell ids in code.
* Propertly work with uint32 spell ids in player action bar
* Fix in same time bug with not save equipment set button with id==0
* Merge misc field in character_action and playercreateinfo_action to action field as 3 byte
* Propertly load uint32 spell ids from character_spell
* Fixed types for some pet/creature related structure for spell id storing.
2009-06-30 11:25:32 +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
tomrus88
02bcc56919 Added placeholders for new battlegrounds, some other stuff. 2009-06-25 19:08:53 +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
42f8ce5f3e [7911] Applied coding style. 2009-05-29 19:07:28 +04:00
tomrus88
6734694a90 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-16 00:47:37 +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
5e26a2a152 Just a few renames. 2009-05-09 16:01:31 +04:00
tomrus88
b5548f9f12 Small fixes. 2009-05-08 18:09:53 +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
tomrus88
d4323e0071 Merge commit 'origin/master' into 310
Conflicts:
	src/game/CharacterHandler.cpp
	src/game/Player.cpp
2009-04-29 11:51:15 +04:00