diff options
-rw-r--r-- | sql/scripts/world_scripts_full.sql | 2 | ||||
-rwxr-xr-x | src/server/authserver/Server/RealmSocket.cpp | 1 | ||||
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 3 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/Server/WorldSocket.cpp | 1 | ||||
-rwxr-xr-x | src/server/shared/Database/Implementation/CharacterDatabase.h | 2 |
6 files changed, 9 insertions, 6 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index 10c751218ee..a76b81da11d 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -2052,7 +2052,7 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( -543, 'spell_mage_incanters_absorbtion_absorb'), ( -6143, 'spell_mage_incanters_absorbtion_absorb'), (-11426, 'spell_mage_incanters_absorbtion_absorb'), -( -1463, 'spell_mage_incanters_absorbtion_manashield') +( -1463, 'spell_mage_incanters_absorbtion_manashield'), ( 31687, 'spell_mage_summon_water_elemental'), ( 32826, 'spell_mage_polymorph_visual'), -- warlock diff --git a/src/server/authserver/Server/RealmSocket.cpp b/src/server/authserver/Server/RealmSocket.cpp index 7d727a94b69..299dd450994 100755 --- a/src/server/authserver/Server/RealmSocket.cpp +++ b/src/server/authserver/Server/RealmSocket.cpp @@ -246,6 +246,7 @@ int RealmSocket::handle_close(ACE_HANDLE h, ACE_Reactor_Mask) if (session_) session_->OnClose(); + reactor()->remove_handler(this, ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK); return 0; } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 7ed20819e68..8d330143ae1 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1305,7 +1305,8 @@ void Player::Update(uint32 p_time) if (now > m_Last_tick) UpdateItemDuration(uint32(now - m_Last_tick)); - if (now > m_Last_tick + IN_MILLISECONDS) + // check every second + if (now > m_Last_tick + 1) UpdateSoulboundTradeItems(); if (!m_timedquests.empty()) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 81b02334d65..bb3a1276fa5 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -426,11 +426,11 @@ void Unit::SendMonsterMoveTransport(Unit *vehicleOwner) data << GetPositionX() - vehicleOwner->GetPositionX(); data << GetPositionY() - vehicleOwner->GetPositionY(); data << GetPositionZ() - vehicleOwner->GetPositionZ(); - data << uint32(100); // should be an increasing constant that indicates movement packet count + data << uint32(getMSTime()); // should be an increasing constant that indicates movement packet count data << uint8(SPLINETYPE_FACING_ANGLE); - data << GetTransOffsetO(); // facing angle? + data << GetOrientation(); // facing angle? data << uint32(SPLINEFLAG_TRANSPORT); - data << uint32(0); // move time + data << uint32(GetTransTime()); // move time data << uint32(1); // amount of waypoints data << GetTransOffsetX(); data << GetTransOffsetY(); diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index eb6d0234faf..084eade7555 100755 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -459,6 +459,7 @@ int WorldSocket::handle_close (ACE_HANDLE h, ACE_Reactor_Mask) m_Session = NULL; } + reactor()->remove_handler(this, ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK); return 0; } diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index d1c9ae875da..af0420123c0 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -288,7 +288,7 @@ static const PreparedStatementTable CharacterDatabasePreparedStatements[] = {CHAR_LOAD_AUCTION_ITEMS, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, itemguid, itemEntry FROM auctionhouse ah JOIN item_instance ii ON ah.itemguid = ii.guid", CONNECTION_SYNCH}, {CHAR_LOAD_AUCTIONS, "SELECT id, auctioneerguid, itemguid, itemEntry, itemowner, buyoutprice, time, buyguid, lastbid, startbid, deposit FROM auctionhouse ah INNER JOIN item_instance ii ON ii.guid = ah.itemguid", CONNECTION_SYNCH}, {CHAR_ADD_AUCTION, "INSERT INTO auctionhouse (id, auctioneerguid, itemguid, itemowner, buyoutprice, time, buyguid, lastbid, startbid, deposit) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC}, - {CHAR_DEL_AUCTION, "DELETE FROM auctionhouse WHERE id = ?", CONNECTION_SYNCH}, + {CHAR_DEL_AUCTION, "DELETE FROM auctionhouse WHERE id = ?", CONNECTION_ASYNC}, {CHAR_ADD_MAIL, "INSERT INTO mail(id, messageType, stationery, mailTemplateId, sender, receiver, subject, body, has_items, expire_time, deliver_time, money,cod, checked) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC}, {CHAR_DEL_MAIL, "DELETE FROM mail WHERE id = ?", CONNECTION_ASYNC}, {CHAR_ADD_MAIL_ITEM, "INSERT INTO mail_items(mail_id, item_guid, receiver) VALUES (?, ?, ?)", CONNECTION_ASYNC}, |