Commit Graph
12626 Commits
Author SHA1 Message Date
treeston 27f0edde0f Game/Maps: Instance handling follow-up:
- Fix a bug where a player could maintain a conflicting non-perm solo bind if they were in the instance when invited to group. Closes #16150.
- If a group is created while the leader is in an instance that nobody is bound to, the group will take over the instance and bind to it. This stops the homebind timer when reforming group after disconnects and the like.

(cherry picked from commit 0f0a51b87a)
2016-01-11 01:51:25 -03:00
treeston 94a5629949 Game/Maps: Clean up instance handling.
- Rename Map::CanEnter to Map::CannotEnter. Return value changed from boolean (true means player can enter) to enum Map::EnterState (CAN_ENTER=0 means player can enter, any other value is a reason for deny).
- Move hack-y player error messages from within Map::CanEnter to the function calling CanEnter as appropriate (primarily WorldSession::HandleAreaTriggerOpcode).
- Modify WorldSession::HandleAreaTriggerOpcode to properly revive the player upon touching the portal leading to the instance they died in even if they are currently unable to zone in. Fixes and closes #15758.
- Modify Player::LoadFromDB to properly spawn players in the instance they logged off in if possible. Fixes and closes #15561.
- Modify permanent save behavior to be blizzlike: Players can always enter an instance they are saved to (assuming there are no map constraints against it), but get a homebind timer if the instance is already in use.

(cherry picked from commit 43fa7d48a5)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Maps/Map.cpp
	src/server/game/Maps/MapInstanced.cpp
	src/server/game/Miscellaneous/Language.h
2016-01-11 01:51:21 -03:00
Shauren 4a07a95c18 Core/Corpses: Fixed a possible crash adding bones to grid
Closes #15808

(cherry picked from commit ec1583df67605b7253a34dc5f153cdad5b16969e)
(cherry picked from commit 910fb00130)
2016-01-11 01:51:14 -03:00
MitchesD 100d847483 Core/PacketIO: fixed instance binding of gamemasters
(cherry picked from commit 231fb1d322bc1c91f9227d43d3ef672605232154)
(cherry picked from commit a968595977)
2016-01-11 01:51:11 -03:00
Shauren b215184cc0 Core/Corpses: Fixed a crash happening when a corpse is added to a grid that was not yet fully loaded
Closes #15684

(cherry picked from commit 8c9ea7782a)
2016-01-11 01:51:07 -03:00
Shauren ce7fc03930 Core/World: Store account id in CharacterInfo to reduce the amount of database queries
(cherry picked from commit aaaa1c34410c160c7b0382f5ecdb39fa01ba007c)
(cherry picked from commit 4a36850167)

Conflicts:
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/World/World.cpp
2016-01-11 01:51:04 -03:00
Shauren b7d37daa74 Core/Corpses: Fixed map crash happening during map unload when there are corpses inside
(cherry picked from commit 1d17475791)
2016-01-11 01:51:00 -03:00
Shauren fc9c587604 Core/Corpses: Fixed leaking bones
Ref #15765

(cherry picked from commit bd16520ecc91d827abae7f0447cc292fe9e843e9)

Conflicts:
	src/server/game/Entities/Corpse/Corpse.cpp
2016-01-11 01:50:56 -03:00
pete318 6664a3acc3 Change many uint32 to ObjectGuid::LowType in line with 6.x changes.
(cherry picked from commit b1032ed620)

Conflicts:
	src/server/game/AuctionHouse/AuctionHouseMgr.h
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/DynamicObject/DynamicObject.cpp
	src/server/game/Entities/DynamicObject/DynamicObject.h
	src/server/game/Entities/GameObject/GameObject.cpp
	src/server/game/Entities/GameObject/GameObject.h
	src/server/game/Entities/Object/ObjectGuid.h
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Pet/Pet.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Transport/Transport.h
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Guilds/Guild.h
	src/server/game/Guilds/GuildMgr.cpp
	src/server/game/Guilds/GuildMgr.h
	src/server/game/Mails/Mail.h
	src/server/game/Maps/Map.cpp
	src/server/game/Maps/TransportMgr.cpp
	src/server/game/Maps/TransportMgr.h
	src/server/game/OutdoorPvP/OutdoorPvP.h
2016-01-11 01:50:53 -03:00
ariel- b20c9ae283 Corpses update: cd27fd38b93884797c094a82dc7beb0498e2f124 2016-01-11 01:50:49 -03:00
ariel- b3ea9fbbe5 Map local guids 6.x -> 4.3.4
Ported the following commits:
https://github.com/TrinityCore/TrinityCore/commit/ca83e14f8b141fab0a13e08f48fca6c1ace0c4c7
https://github.com/TrinityCore/TrinityCore/commit/ee1c1b97be4492ecabe8b15ea6323fc37e4eaa8c
https://github.com/TrinityCore/TrinityCore/commit/18e4ab6911468b829b0fc768e532a770263c3717
https://github.com/TrinityCore/TrinityCore/commit/bf37446b3c2ed73b4d3aa9e227d3eff5c53b378b
https://github.com/TrinityCore/TrinityCore/commit/cb854a2b7bb7bd96cf9c4d1daf3789f797bf4db8
2016-01-11 01:50:45 -03:00
pete318 6d04b6ecc6 Improved Auction house deposit handling.
Including the weird quirks.

Changes:
* Deposit caculated according to same rule as client. (detailed below). Should always match client deposit now
* Deposit for multiple auctions now only collected once. Deferred calculation of deposit until all auctions listed.

Deposit calculation is as follows:

Base deposit calculation = MSV x 15/75% (depending on AH). However this is not rounded. Case to int is used (so always round down)
The remainder is held in a float.
The base is then multiplied by number of items, and the time multiplier (x2 for 24 hour, x4 for 48 hour)
The nearest (no of items or lower) no of items when multiplied by the remainder that creates a whole number is then multiplied by the time multiplier (x1/x2/x4) and then added to deposit.

Example:

Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 1 = 36c. Remainder = 0.75 (n) Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 2 = 72c. Remainder = 1.50 (n)  Min = 1s. Deposit 1s
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 3 = 108c. Remainder = 2.25 (n) Min = 1s. Deposit 1s08c
Item sell price 1s25. Deposit 18.75c (15% of 1s25). So base deposit = 18, remainder 0.75. Time 24h (x2) Item count 4 = 144c. Remainder = 3.00 (n) Min = 1s. Deposit 1s50c (144c + (3c * 2))

Horrible kludge, to re-create a very weird deposit method.

Closes #15674 (PR)
Closes #15643 (Issue)

(cherry picked from commit 0ac442f19f)

Conflicts:
	src/server/game/AuctionHouse/AuctionHouseMgr.h
2016-01-11 01:50:38 -03:00
pete318 c29fc4cbd9 Auction house changes:
- Stop storing guid for auctioneer.
 - Store instead house ID
 - No separate ID for various houses. Only Horde, Alliance and Neutral.
 - Removed non-needed faction checks.
 - Use enum for auction house IDs

NOTE: This will expire all current auctions and return item to player (or
award to high bidder) in order to prepare database for the changes.

(cherry-picked from commit 01ae5c4bf6)

Conflicts:
	sql/base/characters_database.sql
	src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
2016-01-11 01:50:35 -03:00
Aokromes 03dc96b4c4 Core/Misc: Fix build 2015-11-01 20:02:41 +01:00
Aokromes c58f540348 Core/Conditions: Phase condition changes
* SourceGroup defines which phase should the condition affect

* SourceEntry limits the area of the phase (alternatively 0 means all areas)
2015-11-01 19:11:52 +01:00
Carbenium dc577ab1e6 BNet/Build: Fix build after lastest merge 2015-09-20 22:51:55 +02:00
Aokromes a6077b31ec Core/Gameobject: Fix a crash when enter Hor 2015-09-15 21:20:17 +02:00
Carbenium 221f1405b6 Merge branch '3.3.5' into 4.3.4
Conflicts:
	sql/base/auth_database.sql
	sql/updates/world/2015_08_29_00_world.sql
	sql/updates/world/2015_08_29_01_world.sql
	sql/updates/world/2015_08_30_00_world.sql
	sql/updates/world/2015_08_31_01_world.sql
	sql/updates/world/2015_09_02_00_world.sql
	sql/updates/world/2015_09_02_01_world.sql
	sql/updates/world/2015_09_02_04_world.sql
	sql/updates/world/2015_09_03_00_world.sql
	sql/updates/world/2015_09_03_01_world.sql
	sql/updates/world/2015_09_03_02_world.sql
	sql/updates/world/2015_09_03_03_world.sql
	sql/updates/world/2015_09_03_04_world.sql
	sql/updates/world/2015_09_03_06_world.sql
	sql/updates/world/2015_09_03_07_world.sql
	sql/updates/world/2015_09_03_08_world.sql
	sql/updates/world/2015_09_03_09_world.sql
	sql/updates/world/2015_09_03_10_world.sql
	sql/updates/world/2015_09_03_11_world.sql
	sql/updates/world/2015_09_04_00_world.sql
	sql/updates/world/2015_09_04_01_world.sql
	sql/updates/world/2015_09_04_02_world.sql
	sql/updates/world/2015_09_04_03_world.sql
	sql/updates/world/2015_09_07_00_world.sql
	sql/updates/world/2015_09_07_01_world.sql
	sql/updates/world/2015_09_07_02_world.sql
	sql/updates/world/2015_09_07_03_world.sql
	sql/updates/world/2015_09_07_04_world.sql
	sql/updates/world/2015_09_07_05_world.sql
	sql/updates/world/2015_09_08_00_world.sql
	src/common/Collision/Management/MMapManager.cpp
	src/common/Cryptography/Authentication/AuthCrypt.cpp
	src/common/Cryptography/Authentication/AuthCrypt.h
	src/common/Cryptography/HMACSHA1.cpp
	src/common/Cryptography/HMACSHA1.h
	src/server/CMakeLists.txt
	src/server/collision/CMakeLists.txt
	src/server/game/CMakeLists.txt
	src/server/game/Entities/Object/ObjectGuid.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Quests/QuestDef.cpp
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/World/World.cpp
	src/server/scripts/CMakeLists.txt
	src/server/scripts/Commands/cs_cheat.cpp
	src/server/scripts/Commands/cs_debug.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
	src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
	src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
	src/server/scripts/Spells/spell_mage.cpp
	src/server/worldserver/CMakeLists.txt
	src/server/worldserver/Main.cpp
2015-09-15 20:42:34 +02:00
ShinDarth 38cbefd3c4 DB/World schema backport: updated quest_template table 2015-09-10 15:54:56 +02:00
MitchesD 8abbb54ad0 Merge pull request #15459 from ShinDarth/quest_template_backport
DB/World schema backport: updated quest_template table
2015-09-10 13:17:13 +02:00
ShinDarth 33892e0f9d DB/World schema backport: updated quest_template table 2015-09-10 13:16:05 +02:00
Duarte Duarte 6cdfe9dc09 Merge pull request #15452 from Treeston/3.3.5
Core/Unit: Allow mounting for certain transformations
2015-09-09 08:37:03 -07:00
m_pan 1503be010b Config: Minor Typo
#    Updates.SourcePath   >   #    Updates.MySqlCLIPath
2015-09-08 13:49:14 -05:00
Aokromes 1709282c2c Core/AHbot: fix seller guids
closes ##18
2015-09-08 05:16:08 +02:00
treeston d42a498063 Allow mounting while under transformations that can be cast while mounted.
Closes #12042.

Credit to @SeTM for base code used.
2015-09-07 19:04:44 +02:00
jackpoz 166e66cc06 Core/Spells: Fix crash happening when using items to cast spells
Fix a crash happening when using items casting spells like Item ID 37198
Fix #14900
2015-09-05 22:45:15 +02:00
jackpoz 42a71133fa Core/Dungeon Finder: Fix groups queuing broken by 1e71aba2ee
Fix queuing in LFG with 5-men groups leaving the party in queue forever, caused by group GUID being added to list of party members.
2015-09-05 21:18:52 +02:00
jackpoz 16e9882aa8 Core/Dungeon Finder: Improve ".lfg queue debug" command
Log roles of every combinations in ".lfg queue debug" output
2015-09-05 17:08:37 +02:00
jackpoz 7c91984a64 Core/Chat: Allow to sanitize | characters when sending messages to clients
Add an optional parameter "escapeCharacters" to ChatHandler::SendSysMessage() to properly escape | character, otherwise it might freeze the client.
2015-09-05 13:54:44 +02:00
MitchesD 02d014c69d Core/SmartScripts: SMART_ACTION_TALK - added action param 3 to set target as talk target (used for $vars in texts and whisper target)
* by default (action param 3 is 0), it will try to trigger talk of the target

(cherry picked from commit 7b491046e94af498b2428ebe7decf6353cbb61a2)
2015-09-04 11:02:23 +02:00
ShinDarth b41e0156db DB/World: fix bad field rename introduced in 6b43e72f01 2015-09-03 15:02:21 +02:00
Duarte Duarte 139598a07e Merge pull request #15384 from ShinDarth/quest_backports2
DB/World schema backport: sort some quest_template fields using 6.x style
2015-09-02 07:20:20 -07:00
Duarte Duarte e28ee38664 Merge pull request #15356 from ShinDarth/quest_backports
DB/World schema backport: quest_details, _request_items and _offer_reward
2015-09-02 07:20:04 -07:00
treeston a83437af3d Script/BoreanTundra: Fix dialog and final waypoint for quest 11570: "Escape from the Winterfin Caverns"
This fixes the following bugs:

Escortee NPC quotes are out of order (see #15396 (comment))
Final escort waypoint is located incorrectly and causes the escorted NPC to drop all the way to the bottom of the ocean before quest completion is awarded.

Closes #15396

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
2015-09-02 02:02:34 +01:00
jackpoz b7f9836d22 Core/Dungeon Finder: Remove disconnected players from LFG queue
Fix LFG queue issues by removing disconnected players from LFG queue and their party with them.
2015-09-01 22:33:55 +02:00
jackpoz 1e71aba2ee Core/Dungeon Finder: Add LFG roles of group members in LFG logs
This changes logs like "(1|18)" to "(1 Healer, Dps|18 Tank, Healer, Dps)"
2015-08-31 22:45:45 +02:00
Incorrect 3748dddaa4 Core/Scripts: Remove duplicate code 2015-08-30 05:24:32 +03:00
ShinDarth f7c7b92ef3 DB/World schema backport: quest_details, quest_request_items and quest_offer_reward tables 2015-08-29 18:38:26 +02:00
joschiwald 05429b3593 Scripts/BWL: cleanup instancescript 2015-08-29 18:20:59 +02:00
ShinDarth bc67016e7b DB/World schema backport: sort quest_template fields 6.x style 2015-08-29 17:27:03 +02:00
joschiwald 2b21fbb58e Scripts/Ulduar: fixed sara get killed by guardians of yogg saron 2015-08-29 16:24:06 +02:00
StormBytePP 4ada913d02 Core/Unit: Prevent AoE damage to have effect in some cases when faction is unfriendly but they don't attack you and you don't have at war enabled (Example, Sporaggar faction)
Fixes #15374
2015-08-29 02:35:58 +02:00
StormBytePP ac2845ee77 Core/Vehicles: Fix CanEnterOrExit by implying that if a vehicle seat have anim for enter/ride means it can be entered/exited even in cases where it lacks VEHICLE_SEAT_FLAG_CAN_ENTER_OR_EXIT flag
Fixes issues #13298, #8195, #7468, #1290
2015-08-29 01:04:44 +02:00
jackpoz 4940072102 Core/Spells: Skip spell category additional cooldown check added in 43e8c841f5 for SPELL_CATEGORY_FOOD.
Workaround for #15278 till spell cooldown system properly supports spells with spell category triggering spells with same spell category.
Fixes #15278.
2015-08-27 20:41:57 +02:00
StormBytePP 4c420344fc Merge pull request #15347 from StormBytePP/3.3.5_fix_dismounting_when_over_water
Core/Unit: Do not remove aura with interrupt flag AURA_INTERRUPT_FLAG_NOT_UNDERWATER when already flying
2015-08-27 00:39:14 +02:00
jackpoz c67118f909 Core/Battleground: Fix issue reported by static analysis
Coverity defect IDs: 1193415
2015-08-26 22:59:03 +02:00
duhow 558ce7d877 Scripts/Commands: Add taxinodes cheat status to
* Some cleanup

Closes #15065
2015-08-26 21:47:47 +02:00
StormBytePP 5406f82044 Scripts/VioletHold: Fix correct boss erekem repeat time interval
Updates coverity issue #1318019
2015-08-25 13:24:27 +02:00
jackpoz 95bae7143f Scripts/VioletHold: Fix issue reported by static analysis
Coverity defect IDs: 1318019
2015-08-24 22:37:59 +02:00
StormBytePP 70f029fd0a Core/Unit: Do not remove aura with interrupt flag AURA_INTERRUPT_FLAG_NOT_UNDERWATER when already flying 2015-08-24 16:00:38 +02:00