Commit Graph
24644 Commits
Author SHA1 Message Date
ArtamedesandCarbenium e85bd8fd39 Scripts/Stockades: Cleanup the scripts (#23524)
* Scripts/Stockades: Cleanup the scripts

Scripts looked ugly before, now they are less ugly
Move Mortimer Moloch and Warden Thelwater to use TaskScheduler rather than EventMap
Use new script registers
Cleanup some other code

Co-authored-by: Carbenium <[email protected]>
2020-08-10 20:50:25 +02:00
Shauren 7e4fdf0522 Core/PacketIO: Fixed SMSG_WORLD_SERVER_INFO structure 2020-08-09 14:12:13 +02:00
Treeston 22bad09c01 Core/DB: Split accounts.session_key into session_key_auth (3.3.5) and session_key_bnet (master), so the branches will no longer break each other's realm switching.
(cherry picked from commit 38de6d330711f0439d311a3c493cc82eaf9d09db)
2020-08-03 22:49:31 +02:00
Treeston 73922d2a85 Core/Authserver: Re-organize the accounts table (PR #25135)
- no longer use sha_pass_hash for anything else core-side (.account, SOAP, RA)
- salt/verifier/session_key are now binary
- old s/v/sha_pass_hash fields kept around for backwards compatibility
- sha_pass_hash is still updated (for now), s/v are not
- sha_pass_hash is only read if s/v have been manually changed
- SRP6 b now uses the full 32 bytes of randomness (instead of randomly only using 19)

(cherry picked from commit 3164b58c7d170810b69378950c0891e5f5b8678b)
2020-08-03 22:37:47 +02:00
Treeston 77380f032b Core/Authserver: Split SRP6 into its own file (PR #25131)
(cherry picked from commit 7f7fa8b23d71297f75ff4ca3c1d6e38333a5cc76)
2020-08-03 21:16:30 +02:00
Treeston ac37ca040b how does VC++ never catch these? 5e36bf7 follow-up
(No more witty one-liners. Let me go to bed please.)

(cherry picked from commit 35411e5ed99584c7061a5feede8cb9b8d71c9b68)
2020-08-03 19:47:19 +02:00
Treeston 287e18a57c Core/Authserver: Auth cleanup phase 1b, the "I didn't hit Stage All" commit. Sorry. (5e36bf7 follow-up)
(cherry picked from commit 4f570e5d08d0338ac16aace81865c04b0605b0a5)
2020-08-03 19:45:11 +02:00
Treeston 059bd630e9 Core/Authserver: Auth cleanup phase 1a, the "stuff I ran across while making phase 2" commit.
- Did you know BigNumber quietly assumes every byte array it gets is little-endian, even though openssl bignums use big-endian? Now you do!
- In entirely unrelated news, make the above behavior explicit through a default-true boolean, same as existing GetBytes derivatives.
- Also, if you are in the enlightened openssl 1.1 crowd, there's no more endian wrangling involved, because openssl now does all of that for us. Progress!

(cherry picked from commit 5e36bf7c67e077bd1664eee59d5758fbae7666cd)
2020-08-03 19:41:41 +02:00
Treeston e9392ad287 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above

(cherry picked from commit 210176fd915cf4ba16f428d3c1a249a71f4aa7a7)
2020-08-03 19:39:00 +02:00
Aokromes c9e3356ba4 Core/Creatures: Fix typo 2020-07-31 12:37:31 +02:00
Shauren 1340f2cdb3 Core/Creatures: Move gossip trainer assignment to creature_trainer table - same gossip can open different trainers depending on which creature it is assigned to
Closes #21723
2020-07-31 11:21:24 +02:00
Shauren e3cf94d4fd Core/GameObjects: Properly set GO_FLAG_MAP_OBJECT during gameobject creation 2020-07-27 08:58:40 +02:00
Traesh 97afa3a609 Core/Spells: Handle GAMEOBJECT_TYPE_UI_LINK spellFocus (#25132) 2020-07-26 16:51:43 +02:00
Shauren 588dce6bb0 Core/Entities: Support setting nested updatefield types like ActivePlayerData::Research 2020-07-26 12:44:44 +02:00
Shauren 8f9a69c9fa Core: Updated to 8.3.7.35249 2020-07-23 20:00:27 +02:00
Shauren 59d66041b1 Core/PacketIO: Add missing opcode handler/name definitions 2020-07-23 10:16:04 +02:00
Shauren 7968fec011 Core/PlayerDump: Fix collecting pet guids 2020-07-21 20:09:51 +02:00
ariel- 4b8c4f6064 Core/PlayerDump: general revamping
- Changed insert queries to include column names, check columns on dump load
- Modify and search columns by name instead of storing magic offsets
- Fully forward and backward compatible with previous dumps
- Added better logs, C++11-ize code

(cherry picked from commit 9bdbd696552f2bfe99790f5b3794c8cc3d806403)
(cherry picked from commit 545f1a8385ee7e83472d1046aee5f10e65eeac49)
(cherry picked from commit 4bf8802da17148f27a8da2857eaffb58b4727269)
(cherry picked from commit 44381a78736f4e1b852e24b7a5766fa97a24881a)
(cherry picked from commit f50575ca77fd683ee265998c436a86d544df213a)
2020-07-21 20:03:06 +02:00
sueastward b20ede9061 Core/Battlefield: Fixed crash in wintergrasp setup revealed after 4c173e4b7b (#25072) 2020-07-18 11:18:35 +02:00
Shauren 4c173e4b7b Core/Maps: Use FindMap instead of CreateBaseMap in places where the intent was to check for a existing map (and a loaded grid on that map) 2020-07-18 00:57:16 +02:00
ariel- 593d3243d4 Core/SmartAI: implemented SMART_EVENT_EVENT_PHASE_CHANGE
- Use instead of Update + event_phase_mask when action needs to be synchronized

(cherry picked from commit 619a5534c5f6ce5e736b22e645f7bac72eba9b16)
2020-07-17 18:38:25 +02:00
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
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 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