Commit Graph

33175 Commits

Author SHA1 Message Date
Killyana
4e5b7d8a0b DB/Creature: Add some missing Beryl Mage Hunter
(cherry picked from commit 17c3374d1f)
2020-07-17 17:21:44 +02:00
Killyana
d2ec7a5b57 DB/Creature: Add some missing spawns in Borean Tundra
(cherry picked from commit 1841752acb)
2020-07-17 17:19:58 +02:00
Killyana
c6a3b716f3 DB/Creature: Fix some spawns on Borean Tundra
(cherry picked from commit 13ecf54c25)
2020-07-16 22:32:18 +02:00
Mikhail Redko
9ee7f42d44 Core/Spells: Move Big Blizzard Bear implementation to spell script (#19544)
(cherry picked from commit 8a5b998f48)
2020-07-16 22:21:39 +02:00
Killyana
ebab9aa208 DB/SAI: Fix Some Smart Scripts
(cherry picked from commit cda5542bd1)
2020-07-16 22:18:41 +02:00
Killyana
5eafd1ae6f DB/SAI: Fix Some Smart Scripts
(cherry picked from commit bd3cf8f7cd)
2020-07-16 22:17:02 +02:00
Killyana
22d2298fce DB: Fix some SAI
Ref #18542

(cherry picked from commit 8c3b6d5716)
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 144cfbf598)
2020-07-16 22:09:08 +02:00
treeston
118e53f1b8 Combat/threat rewrite prep - merge RBAC/DB changes.
(cherry picked from commit e35092c6a1)
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 7dfd472f8d)
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 9d37c2b8eb)
2020-07-16 22:00:30 +02:00
ariel-
d73e4015d1 Core/Spells: fixed crash
Closes #19924

(cherry picked from commit 9f765a1620)
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 052fc24315)
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 3eba093704)
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 08d0105396)
2020-07-16 22:00:30 +02:00
treeston
f8fa4d734c Correct some missing auth DB changes from b59ca1c.
(cherry picked from commit 41eddd59aa)
2020-07-16 22:00:30 +02:00
treeston
64baba77b6 30ac4f5 follow-up. (Finally, Keader. Finally.)
(cherry picked from commit c81f221e48)
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 30ac4f5377)
2020-07-16 22:00:29 +02:00
treeston
29db04c3c9 Rename .debug uws to .debug worldstate (clarity change).
(cherry picked from commit b59ca1cc81)
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 250e8d998b)
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 4b6351e6a5)
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 c14b448d63)
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 3bfe67792d)
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 132538db1d)
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 6f29aac936)
2020-07-16 22:00:29 +02:00
treeston
d4caff90aa dynamic_spawning conflict avoidance, part deux: World.h enums
(cherry picked from commit c9e7ab496e)
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 06c5d139f6)
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 ac0f76f8c5)
2020-07-16 22:00:29 +02:00
treeston
7df8546d7e Removed a now-unused local (ca02629 follow-up)
(cherry picked from commit 4e41d3e6bd)
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 ca02629950)
2020-07-16 22:00:29 +02:00
ariel-
8abbc097a0 Core/Scripts: fix some /W4 warnings
(cherry picked from commit d6cae113c6)
2020-07-16 22:00:29 +02:00
ariel-
47ca8cb021 Core/OutdoorPvP: fix another warning
(cherry picked from commit 6b49380806)
2020-07-16 22:00:29 +02:00
ariel-
66d66b00ee Core/OutdoorPvP: fix warning
(cherry picked from commit a05e1095c6)
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 3e7b64b2f7)
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 b58a364192)
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 b3336cf943)
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 d57307f63d)
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 9e80e977df)
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 a2c123b529)
2020-07-16 22:00:28 +02:00
jackpoz
a3dbf4b088 Core/Scripts: Simplify code
Partially revert 753e7074d8 and 12c680f9b1 to simplify the code and to only remove GMs from the target list.

(cherry picked from commit f9cfc202e9)
2020-07-16 22:00:28 +02:00
kelno
e576ddbb82 Core/Misc: Fix typo in UNDERWARER_INDARKWATER (#19864)
(cherry picked from commit f5fd0b5ef3)
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 753e7074d8)
2020-07-16 22:00:28 +02:00
treeston
8eaf00a11f Fixed a potential crash when resuming a SplineChainMovementGenerator.
(cherry picked from commit e5301e2c98)
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 f6c849729b)
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 1660bb7d27)
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 2335b9de1a)
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 cb265e02aa)
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 823007934a)
2020-07-16 21:47:27 +02:00