Commit Graph

115 Commits

Author SHA1 Message Date
UltraNix
485f7e7639 feat(Core/DB/Authserver): remove sha_pass_hash (#4827) 2021-03-21 15:17:57 +01:00
r0m1ntik
cb0fb719db fix(Core/MailHandler): Fix display of item enchantments in mailbox (#4872)
* fix(Core/MailHandler): Fix display of item enchantments in mailbox

* Update MailHandler.cpp

Co-authored-by: r0m1ntik <r.badanin94@yandex.ru–>
2021-03-19 11:23:01 +01:00
Francesco Borzì
f6a17164be fix(Core/License): issue with old files license (#4762) 2021-03-17 09:46:01 -06:00
Kitzunu
28f1dc5c0c refactor(Core): replace NULL with nullptr (#4593) 2021-03-02 01:34:20 +01:00
Kargatum
b9e132a941 chore(Misc): correct double includes (#4647) 2021-02-26 17:44:08 +07:00
Kitzunu
dbc0ff6554 refactor(Core): sort #includes alphabetically (#4579) 2021-02-24 22:34:42 +01:00
Francesco Borzì
a4115862de feat(Core/Hooks): OnBattlegroundDesertion (#4619) 2021-02-21 22:12:25 +01:00
Walter Pagani
5106e8234b fix(Core): loot party (#4409) 2021-02-12 13:03:49 +01:00
Yehonal
c8f43d8584 feat(Core/Movement): Improved pathfinding, collisions and movements (#4220)
Npc positioning
Implemented slope check to avoid unwanted climbing for some kind of movements (backwards, repositioning etc.)
Implemented backwards movement
Re-implemented circle repositioning algorithm (smartest than retail, but with the same feeling)
Fixed random position of summoned minions
Improved pet following movement. Also, they attack NPC from behind now. Thanks to @Footman

Swimming creatures
Fixed max_z coordinate for swimming creatures. Now only part of their body is allowed to be out of the water level
Fixed pathfinder for swimming creatures creating shortcuts for specific segments, now they swim underwater to reach the seashore instead of flying above the water level.
Creatures with water InhabitType but no swimming flag now, when not in combat, will walk on water depth instead of swimming. Thanks @jackpoz for the original code
UNIT_FLAG_SWIMMING in UpdateEnvironmentIfNeeded to show the swimming animation correctly when underwater
Implemented HasEnoughWater check to avoid swimming creatures to go where the water level is too low but also to properly enable swimming animation only when a creature has enough water to swim.

Walking creatures
Extended the DetourNavMeshQuery adding area cost based on walkability (slope angle + source height) to find better paths at runtime instead of completely remove them from mmaps
improve Z height in certain conditions (see #4205, #4203, #4247 )

Flying creatures
Rewriting of the hover system
Removed hacks and improved the UpdateEnvironmentIfNeeded. Now creatures can properly switch from flying to walk etc.
Spells
LOS on spell effect must be calculated on CollisionHeight and HitSpherePoint instead of position coords.
Improved position for object/creature spawned via spells
Improved checks for Fleeing movements (fear spells)

Other improvements
Implemented method to calculate the CollisionWidth from dbc (used by repositioning algorithm etc.)
Improved raycast and collision checks

Co-authored-by: Footman <p.alexej@freenet.de>
Co-authored-by: Helias <stefanoborzi32@gmail.com>
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2021-02-01 01:34:27 +01:00
Kitzunu
17d2560ffa fix(Core/Creature): Implement CREATURE_FLAG_EXTRA_NO_SELL_VENDOR (#4233) 2021-01-26 14:12:21 +01:00
Silker
0a8a7ef149 fix(Core): Activate creatures and objects during opening cinematics (#4045)
Co-authored-by: Si1ker <55638679+Sombranator@users.noreply.github.com>
Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
2021-01-22 01:03:30 +01:00
Francesco Borzì
8d5347b9ab fix(Core/QuestTracker): do not store quest if quest_id is null (#4027) 2021-01-20 01:14:04 +01:00
FALL1N1
0181b73bc2 feat(Core/Opcodes): Implement CMSG_CHANNEL_MODERATE (#4021)
* Core/Opcodes: Implement CMSG_CHANNEL_MODERATE

* Cleanup, prettify

* fix build

* whitespaces
2021-01-18 19:37:50 +01:00
Andrius Peleckas
2794842553 feat(Core/Warden): optimization + PQR detection (#3875)
* Update AuctionHouseHandler.cpp

* feat(warden): block PQR

* wip

* Update Warden.cpp

* Core/Warden: minor preperation

* Core/Misc: implemented some needed container wrapper functions

* Core/Warden: more preperations

* Core/Warden: more rework
* LUA checks now are splitted to seperate config
* LUA checks are always in front of queue
* Fixed "Other" checks
* Fixed PQR detection

* Core/Warden: adjusted and optimized

* Core/Warden: optimization

* Core/Warden: more optimization

* Core/Warden: use warden comments in ban reason

* Core/Warden: more warden work

* Core/Warden: more optimizations

* Core/Warden: more refactors

* Core/Warden: some more refactors + use default SHA definitions

* Core/Warden: more refactoring

* Core/Warden: fixed PQR detection again

* Core/Warden: improved detection logging

* Core/Misc: removed SmartEnums - we do not need it here + maybe should go as seperate commit

* Core/Warden: fixed some warnings

* Core/Warden: codestyle

* Core/Warden: include warden check comment to console logs

* Core/Warden: minor adjustment for previous commit

* Core/Warden: fixed static analysis warning

* Core/Warden: compilers, you're drunk this time... function is not unused...

* Core/Warden: minor correction for logs

* Core/Warden: one more improvement for logs

* Core/Warden: added missing overrides

* Core/Warden: some codestyle

* Core/Misc: more codestyle

* Core/Misc: more codestyle!

* Core/Warden: restored default config options... (if you change it, change in core source too)

* Core/Warden: addition to previous commit

* DB/Warden: added EWT and WOWPlus checks (provided by lineagedr)

* DB/Warden: addition to previous commit

* fix: codestyle

* Core/Warden: fixed build when extra logs are enabled in cmake

Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
2021-01-17 18:36:35 +01:00
Kitzunu
da4edd547d chore(core): remove malformed whitespaces (#4244)
* from https://www.codefactor.io/repository/github/azerothcore/azerothcore-wotlk/issues?category=Style&groupId=838&lang=5&page=75
2021-01-10 14:27:55 +01:00
FALL1N1
7cf097eab2 fix(Core/Opcodes): Implement CMSG_GROUP_SWAP_SUB_GROUP (#4020) 2021-01-10 01:03:01 +01:00
Kargatum
ea93a5c1a1 feat(CI/Codestyle): added codestyle check (#3668) 2021-01-09 11:59:50 +01:00
Degen
2dd6141afa fix(Core/ArenaTeam): Arena team queue protections (#3803) 2021-01-08 02:39:09 +01:00
Francesco Borzì
f5f3360e01 refactor(Core/Social): Cleanup (#3843) 2020-12-14 13:45:43 -06:00
Meltie2013
af53598fa2 fix(Core/Game): Rest & Inn Improvements (#3780) 2020-12-11 08:23:09 -06:00
Viste
755e30f916 fix(Core/Social): cleanup + fix crash in friend system (#3832)
fix crash when a friend or ignore get GUID 0 and also double friend list
2020-12-04 01:20:35 +01:00
Petric
d5bb6ba1c4 refactor(Core/Mail): avoid big mail loading/saving time, only load 50 mails at a time (#3420) 2020-10-21 15:20:32 +02:00
Kargatum
a2b26272d2 refactor(Core/Game): restyle game lib with astyle (#3466) 2020-10-12 10:08:15 +02:00
Francesco Borzì
b61ae8abcd fix(Core/Misc): all GCC warnings (#3457) 2020-09-14 17:31:12 +02:00
Kitzunu
1f89282b22 refactor(Core): NULL -> nullptr (#3275)
* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
2020-08-31 11:55:09 +02:00
Kitzunu
dd40e2e844 fix(Core/SpellAuras): Show auras to client limit (#3193)
Co-authored-by: Pascal Bachor <gerhood@users.noreply.github.com>
2020-08-22 10:34:12 +02:00
IntelligentQuantum
5d284f02a7 feat(Core/SendListInventory): Add multivendor function (#3172) 2020-08-20 11:00:11 +02:00
Francesco Borzì
2bc832efe3 fix(CI/Core/ArenaSpectator): clang warnings + prevent new warnings (#3317)
Co-authored by @meerd
2020-08-19 19:44:07 +02:00
Francesco Borzì
d2cc3fcbc2 feat(Docker): update to Ubuntu 20.04 + more improvements (#3277) 2020-08-13 00:25:20 +02:00
Kitzunu
64778f8dec feature(World/Config): Implement MaxWhoListReturns (#3127) 2020-08-04 22:36:01 +02:00
Stefano Borzì
fdb84742d1 fix(Core/MailHandler): Prevent client crash while receiving a malformed mail (#3223)
* Fix an issue in the MailHandler that let you crash the users client.
2020-07-28 11:02:09 +02:00
Kitzunu
3d9d51977d fix(Core/MailHandler): Security check (#2889) 2020-06-03 08:42:12 +02:00
Stefano Borzì
3c5bb73f29 fix(Core/ChatHandler): Prevent messages > 255 characters (#3063) 2020-05-27 08:50:21 +02:00
TheWatchingI
c7f4204d1f fix(Core/Pet): Risen Ghoul random name & pet detail (#2945)
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2020-05-23 15:38:38 +02:00
Kitzunu
55dc9afc73 feat(Core/Battleground): Config to allow/disallow ability to Share Quest & Ready Check (#2924) 2020-05-22 16:54:17 +02:00
IntelligentQuantum
c9b7c75e1e feat(Core/conf): Move arena charters cost to config (#2790)
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
2020-05-04 12:01:19 +02:00
Stefano Borzì
ad6985f459 fix(core/packet): prevent client crash from malformed packet/message (#2910)
* Update AuctionHouseHandler.cpp

* fix(core/packet): prevent crash from malformed string
2020-04-21 00:00:26 +02:00
Viste
1432f17c32 fix(Core/Mail): Mailhandler cleanup (#2802) 2020-04-15 12:23:30 +02:00
Amin.MasterkinG
378cd6fe28 fix(core): "Silenced - You can only chat with GMs" spell (#2716) 2020-04-04 11:01:11 +02:00
arenacraftwow
cfdbf00afe fix(Core/Hook): OnFirstLogin can now make persistent changes (#2793)
PlayerScript#OnFirstLogin was broken in that if you tried to teach the
player a spell or give an item to him that change wouldn't persist.
Meaning that the next time the Player would log in, his awarded spells
or items would be gone.

Meanwhile PlayerScript#OnLogin didn't have this behavior meaning
that the sematics of PlayerScript#OnFirstLogin and PlayerScript#OnLogin
where very different, which is unexpected.

This issue was caused by an implementation detail in Player#learnSpell
(and similiar) which behaves differently depending on
Player#isBeingLoaded phase. This code change makes its that
PlayerOnFirstLogin hook executes when Player#isBeingLoaded == false
fixing the issue.

Alternatives: The fact that Player#learnSpells and others behave
differently depending on the load phase is questionable and from my
research it seems like this impl detail is only used when giving the
player his template spells. We could add a overload to
Player#learnSpell with a flag like `isSpellTemporary` and make
the template spells loading use it. Then we would be able to remove
this implicit temporary spell mechanism when Player#isBeingLoaded
thing.  However this is a deeper change and not worth the risk.
2020-04-01 20:16:00 +02:00
Nefertumm
bb6047248a fix(Calendar/Packets): add additional validation when creating events (#2799) 2020-03-28 22:47:53 +01:00
Stefano Borzì
5ef98b95c9 chore(Core/AH): Restore little comment (#2702) 2020-03-25 20:40:25 +01:00
Nefertumm
8d6bf1f4dc Fix(Core/Packet): Calendar events exploits (#2753)
* Calendar handler exploit fix

* Travis and sugestions

* What a noob <.<
2020-03-17 22:11:07 +01:00
Francesco Borzì
8231a7cc1a fix(GameObject/Quest): GameObject quest / gossip window (#2676)
Co-authored-by: Stoabrogga <38475780+Stoabrogga@users.noreply.github.com>
2020-03-15 10:09:25 +01:00
Stefano Borzì
ce2f622ef0 fix(core/packet): check malformed guild packet to prevent client crash (#2739)
* Update AuctionHouseHandler.cpp

* fix(core/packet): prevent crash for malformed guild message

* fix(lint): fix codacy warnings
2020-03-07 10:12:16 +01:00
Stoabrogga
2eb0705668 fix(Core/Pet): only show pet details for hunter pets and demons (#2637) 2020-02-28 17:02:54 +01:00
Stefano Borzì
0749a861aa fix(Core): build with ENABLE_EXTRA_LOGS (#2709) 2020-02-27 08:04:24 +01:00
Amin.MasterkinG
17fc93d864 fix(Core/Crash): remove unneeded hook OnPlayerChat (#2707) 2020-02-26 08:03:18 +01:00
Stefano Borzì
9e307455a8 refactor(HandleAuctionListOwnerItems): prevent crash (#2684) 2020-02-24 08:40:02 +01:00
Shard
35b6bedd81 fix(Core/DK): Don't allow starter dk to queue bg (#2584) 2020-01-26 16:25:48 +01:00