Commit Graph
33172 Commits
Author SHA1 Message Date
Mikhail Redko 9ee7f42d44 Core/Spells: Move Big Blizzard Bear implementation to spell script (#19544)
(cherry picked from commit 8a5b998f487bd1a391cc9d2d350c4a686b4e61b0)
2020-07-16 22:21:39 +02:00
Killyana ebab9aa208 DB/SAI: Fix Some Smart Scripts
(cherry picked from commit cda5542bd18f27ae88ff59358f31793cb4d62615)
2020-07-16 22:18:41 +02:00
Killyana 5eafd1ae6f DB/SAI: Fix Some Smart Scripts
(cherry picked from commit bd3cf8f7cd479a1097e966198cf9abd5da0c2522)
2020-07-16 22:17:02 +02:00
Killyana 22d2298fce DB: Fix some SAI
Ref #18542

(cherry picked from commit 8c3b6d57162a9da6006890dd46ad57d1f508d495)
2020-07-16 22:12:04 +02:00
Killyana 005fc08254 DB/Quest: On Spirit's Wings
Use the DBC spell to summon the npc

(cherry picked from commit 144cfbf5988d883da477975324c9ddb17610e6cc)
2020-07-16 22:09:08 +02:00
treeston 118e53f1b8 Combat/threat rewrite prep - merge RBAC/DB changes.
(cherry picked from commit e35092c6a164e929f9684b350093b2beefee5d86)
2020-07-16 22:06:56 +02:00
Treeston 2c3fc47a96 Proper client timeout detection (#19906)
- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.

(cherry picked from commit 7dfd472f8dff6ce067572e2887c2beb56d9ba9de)
2020-07-16 22:00:30 +02:00
Shauren 37c3259de8 Core/Maps: Fixed initializing instance free ids when compiled with WITH_COREDEBUG
Closes #19931

(cherry picked from commit 9d37c2b8eb5260964b315c9af304c0952f527fe8)
2020-07-16 22:00:30 +02:00
ariel- d73e4015d1 Core/Spells: fixed crash
Closes #19924

(cherry picked from commit 9f765a162092e8b65cc9bc924e0c456f719b3678)
2020-07-16 22:00:30 +02:00
Carbenium 692ec8e7c1 Core/SAI: Apply include cleanups to cherry-picked changes 2020-07-16 22:00:30 +02:00
treeston 09027e5ccc Fix an overly strict check that was causing guardians to evade loop. Also make players properly enter combat when their pets are engaged by a creature.
(cherry picked from commit 052fc24315ace866ea1cf610e85df119b68100c9)
2020-07-16 22:00:30 +02:00
S.V ced4820252 Core/Scripts: Fixed GAMEOBJECT_TYPE_DOOR closing automatically after being opened with .gobj act (#19342)
Closes #19261.

(cherry picked from commit 3eba0937047a1586d42f813ee21fb1752ae85853)
2020-07-16 22:00:30 +02:00
ariel- 148dc34cb2 Core/Scripts: fix array out of bounds in Pit of Saron doorData
(cherry picked from commit 08d01053969fe0c243e214d49adf7ca7513e76ea)
2020-07-16 22:00:30 +02:00
treeston f8fa4d734c Correct some missing auth DB changes from b59ca1c.
(cherry picked from commit 41eddd59aa3c911ba77f9ffbb85af42a4e6c2b53)
2020-07-16 22:00:30 +02:00
treeston 64baba77b6 30ac4f5 follow-up. (Finally, Keader. Finally.)
(cherry picked from commit c81f221e4817271a2778938bdc427734413ae42c)
2020-07-16 22:00:29 +02:00
treeston ec9fbaceb0 Fix an issue where temp summons were ignoring m_regenHealth. (Hi Keader.)
(cherry picked from commit 30ac4f537774c7d36b75fa260acea884f307b8f9)
2020-07-16 22:00:29 +02:00
treeston 29db04c3c9 Rename .debug uws to .debug worldstate (clarity change).
(cherry picked from commit b59ca1cc81c08bbe043f8974f41fee191e7fd6ad)
2020-07-16 22:00:29 +02:00
treeston e3077813d5 Group creation again (follow-up to 132538d). Groups now only disband if all members reject the invitation (as opposed to if any member rejects the invitation).
(cherry picked from commit 250e8d998bca7f239e2393b6d002441f70d4daf0)
2020-07-16 22:00:29 +02:00
treeston 2d191a6680 Fixes to all-reputation and all-skill custom option handling:
- Move on-create customs (all explored, all reputations) to CharacterHandler::HandlePlayerLogin for first login. Fixes #19839.
- Add Wrath factions to all reputations custom (it only had BC factions).
- Remove unused ReputationMgr::SendStates. Add ReputationMgr::SendState handling for sending all updated states in arbitrary order if nullptr is passed (used in point #1).
- Fix all weapon skills max custom to properly apply on learning new weapon skills.

(cherry picked from commit 4b6351e6a5a2e2c986f3c0ea8e25bc76055c5b2c)
2020-07-16 22:00:29 +02:00
Cannix c12ee97f12 Core/Player: Keep shared quests through map changes instead of getting stuck in busy state (#19821)
(cherry picked from commit c14b448d6334e3a74f2ea44c2d9ae15ac8cbc3da)
2020-07-16 22:00:29 +02:00
Gustavo 23a113756e Core/Spells Allow bosses to receive KnockBack under certain conditions (#19312)
Conditions: Not player, not controlled by player and not hunter's pet

(cherry picked from commit 3bfe67792dbf66f83eae0cfbaff0cff3c14b4d0b)
2020-07-16 22:00:29 +02:00
Treeston 595a871aa2 Modify group invite behavior while creating group to be blizzlike: (#19870)
- Leader can invite multiple people before the first invite is accepted
- Leader can cancel group formation by sending CMSG_GROUP_DISBAND (using /run LeaveParty() or similar)

Fixes #17258.

(cherry picked from commit 132538db1dfb3c495294eeb5acfead59dea02b5c)
2020-07-16 22:00:29 +02:00
treeston 64d8b183de Add new command 'npc showloot'. Does exactly what it says on the tin.
(cherry picked from commit 6f29aac93626ce37922c3c9a85d20b2e4d9d3bbc)
2020-07-16 22:00:29 +02:00
treeston d4caff90aa dynamic_spawning conflict avoidance, part deux: World.h enums
(cherry picked from commit c9e7ab496e0b9bdee622e645a404b406b04dc64f)
2020-07-16 22:00:29 +02:00
treeston 60fadf8c71 Insert dynamic_spawning RBACs (already reserved in RBAC.h as of 55d8c2b) into auth database to prevent constant base file conflicts on that branch.
(cherry picked from commit 06c5d139f6ad7fedb920e0bafda88be57050a970)
2020-07-16 22:00:29 +02:00
treeston 17a0139b0e - Add new commands .group set assistant, .group set maintank and .group set mainassist to toggle raid member flags.
- Fix 2017_05_29_00_auth.sql to be reapply safe.

(cherry picked from commit ac0f76f8c57bba195b773a6a31ade2e8e2318aeb)
2020-07-16 22:00:29 +02:00
treeston 7df8546d7e Removed a now-unused local (ca02629 follow-up)
(cherry picked from commit 4e41d3e6bd90047e2f9e228b6f3adc52012d7b08)
2020-07-16 22:00:29 +02:00
treeston f543e570d6 Make some adjustments to .summon and .group summon behavior to make them more permissive:
- Now only requires the either target's group leader or target itself to be on your map
- Now summons all applicable group members even if one member fails checks
- No longer has some truly weird edge case instance unbind code that could cause exploit behavior (Really, I have no idea why this existed, because it certainly didn't do what it might've been meant to do.)

(cherry picked from commit ca0262995053e0e5baef7e97211fec8f81664ea7)
2020-07-16 22:00:29 +02:00
ariel- 8abbc097a0 Core/Scripts: fix some /W4 warnings
(cherry picked from commit d6cae113c64f1024b11493ee68e06d9b3052bfab)
2020-07-16 22:00:29 +02:00
ariel- 47ca8cb021 Core/OutdoorPvP: fix another warning
(cherry picked from commit 6b493808068d293aaae1fa50b6acbc1abee7b81f)
2020-07-16 22:00:29 +02:00
ariel- 66d66b00ee Core/OutdoorPvP: fix warning
(cherry picked from commit a05e1095c6edb2b9717a217f785499778901a2ae)
2020-07-16 22:00:29 +02:00
ariel- bd96262248 Core/OutdoorPvP: refactor using Position and Quat to pack parameters
- Moved statics to cpp
- Save scriptids into an array

(cherry picked from commit 3e7b64b2f765bebc722c1194b7fc2f749fae77f7)
2020-07-16 22:00:29 +02:00
ariel- 68131dbd92 Core/Spell: fix some spells that shouldn't allow stealth or invisibility
- Touch of Zanzil
- Glowing Blood
- Lambent Blood
- Vibrant Blood
- Black Blood
- Perpetual Instability

(cherry picked from commit b58a364192ee3e30fa8e58f1aca617780321000b)
2020-07-16 22:00:28 +02:00
ariel- ca5cbad6f0 Core/Scripts: remove non-player objects (ie corpses) from Sindragosa's Fury targetlist
(cherry picked from commit b3336cf9433f14dbcc2e9a7eecb4062a936401b2)
2020-07-16 22:00:28 +02:00
treeston 5392212799 So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.
And remove the hack from Sapphiron because I could.

(cherry picked from commit d57307f63d8deb51003d61163adccce4e2c1bd47)
2020-07-16 22:00:28 +02:00
treeston 2e8ce5a70f Added new BoundaryUnionBoundary subclass of AreaBoundary, which does what it says on the tin. Hi, sirikfoll.
(cherry picked from commit 9e80e977df56834d4cdc76a57a417a86a1dbda65)
2020-07-16 22:00:28 +02:00
Golrag 2f27e41c3d Core/Maps: Corrected GetWaterOrGroundLevel (#19863)
* When a gameobject was above water like in ToC. It would return water level

(cherry picked from commit a2c123b5296b2723ae2a0211e7aaafe37fb9246d)
2020-07-16 22:00:28 +02:00
jackpoz a3dbf4b088 Core/Scripts: Simplify code
Partially revert 753e7074d84b5a2e8d3c3e92d25c54bb25ba477e and 12c680f9b1f1068099c3b19443d93d456690ac56 to simplify the code and to only remove GMs from the target list.

(cherry picked from commit f9cfc202e90ded24fe0dcf5d06035d2aab2cf6af)
2020-07-16 22:00:28 +02:00
kelno e576ddbb82 Core/Misc: Fix typo in UNDERWARER_INDARKWATER (#19864)
(cherry picked from commit f5fd0b5ef329bd464e797abc1a1b25be72b1ba40)
2020-07-16 22:00:28 +02:00
ariel- e300d39562 Core/Scripts: filter out corpses from Sindragosa's Fury targetlist
- This would incur in a crash after attempting to convert the Corpse object into Player

Closes #19227
Closes #19862

(cherry picked from commit 753e7074d84b5a2e8d3c3e92d25c54bb25ba477e)
2020-07-16 22:00:28 +02:00
treeston 8eaf00a11f Fixed a potential crash when resuming a SplineChainMovementGenerator.
(cherry picked from commit e5301e2c989f9a0092aede92a38f8c75fb978b2a)
2020-07-16 22:00:28 +02:00
Treeston 51ce3b1c1d [3.3.5] Get zone/area IDs from vmap data in the liquid update (#19840)
* Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
* Use this lookup in Map:: relocation methods to update m_areaId and m_zoneId fields on WorldObject
* Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields
* Clean up liquid state handling on Unit and Player
* Hand floor's Z coord up through GetFullTerrainStatusForPosition, use it to update a new field in WorldObject, and use that to feed a new GetFloorZ call on WorldObject.

Closes #16489

(cherry picked from commit f6c849729b27b77228704b595de3adaf24da2c10)
2020-07-16 22:00:24 +02:00
Treeston f7a7d02a7f Pet/Guardian AI hook re-organizing (#19824)
* Pet/Guardian AI hook re-organizing:
- Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets.
- Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait.
  - Adjust PetAI to use DamageTaken instead of AttackedBy.
  - Adjust behavior of AttackStart on PetAI to compensate.

(cherry picked from commit 1660bb7d27d6f42b49012a6b57e3c2b2eab20fd3)
2020-07-16 21:47:28 +02:00
ariel- 5903a10a83 Core/AI: segregate GameObject ReportUse from normal Use (lock open/normal click)
Closes #19819

(cherry picked from commit 2335b9de1a46a409c714a1dc89cbd0565545e70e)
2020-07-16 21:47:28 +02:00
Carbenium f27b7ba285 Core/Player: Reserve TELE_TO_TRANSPORT_TELEPORT used in 3.3.5 2020-07-16 21:47:27 +02:00
treeston bb7061407f SAI fixes follow-up: I missed one.
(cherry picked from commit cb265e02aa38c17e203191b68966879a1ccb7b31)
2020-07-16 21:47:27 +02:00
treeston e6145a8ec4 Fix a whole set of possible infinite loop crashes in SAI (events triggering themselves even with cooldown set).
(cherry picked from commit 823007934a2bd084a4e6e607da9369fbea16c99d)
2020-07-16 21:47:27 +02:00
treeston 323e3b9cde Re-check target evade state on projectile impact and adjust accordingly. This fixes the incorrect message ("Absorb" instead of "Evade"), and also removes the root cause of the original evade follow bug (that was prevented in 1945874).
(cherry picked from commit b983ec11bd6e6f0fa80c739ddca2152759fb587e)
2020-07-16 21:47:27 +02:00
Aokromes 7246d58f0a DB/Misc: Update access_requirement comments to map.dbc content
Closes #19810 by ForesterDev

(cherry picked from commit 17096ff08a3d5213404fb7f2bc911617f4745dd4)
2020-07-16 21:47:27 +02:00
ariel- 47f7481876 DB/Spell: prevent Vile Gas (H Rotface version) from hitting non-players
(cherry picked from commit 5c94b52a4d247532c759e53ca4f006d2ebc46b99)
2020-07-16 21:47:27 +02:00