Commit Graph

1353 Commits

Author SHA1 Message Date
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
fcad2b56ae refactor(Core/Spell): Define some unknown spell attributes (#4305)
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2021-01-31 23:03:44 +01:00
r0m1ntik
c9b46beae2 fix(Core/Spell): Glyph apply bonus (#4206) 2021-01-26 21:55:33 +01:00
Kitzunu
17d2560ffa fix(Core/Creature): Implement CREATURE_FLAG_EXTRA_NO_SELL_VENDOR (#4233) 2021-01-26 14:12:21 +01:00
Kitzunu
582a211ccd fix(Core/Creature): Move CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK (#4232) 2021-01-25 21:50:23 +01:00
Kitzunu
879468506f chore(Core/Global): Fix grouping of Worldserver initialization (#4130) 2021-01-25 20:50:53 +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
Kitzunu
eddde2198c fix(Core/Creature): Implement INHABIT_ROOT (#4141) 2021-01-18 12:22:33 +01:00
Kitzunu
43f59c4c82 feat(Core/Player): implement GetFreeInventorySpace() (#4297) 2021-01-16 17:33:30 +01:00
Stefano Borzì
df600f9946 fix(Core/CreatureAI): revert NPC repositioning and path system (temporarily) (#4274) 2021-01-14 19:17:34 +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
Francesco Borzì
dd8abcd87e chore(CI/codestyle): fix build (#4241) 2021-01-09 12:06:02 +01:00
Kargatum
ea93a5c1a1 feat(CI/Codestyle): added codestyle check (#3668) 2021-01-09 11:59:50 +01:00
Kitzunu
c5fe21fe9a fix(Core/Spell): Earthliving weapon proc (#4015) 2021-01-08 20:18:36 +01:00
Yehonal
aeab8d8bc6 fix(Core/Crash): safe calculation in GetMeleeAttackPoint (#4235)
Should solve: https://github.com/azerothcore/azerothcore-wotlk/issues/4225
2021-01-08 16:55:51 +01:00
Kitzunu
71b9124f69 fix(Core/Creature): Implement CREATURE_FLAG_EXTRA_GHOST_VISIBILITY (#4129) 2021-01-04 22:53:07 +01:00
Stefano Borzì
b2761626fe feat(Core/CreatureAI): improve npc position during the combat (#3369)
+ tangent equation to find correct angle and distance when moving

+ implemented proper backward

* Improved performance + random angle margin

* chore: add tollerance calculation in instance

* improved LOS checks with movements

* implemented collisions using raycast (imported by TC)

+ improved collision detection for CanReachPositionAndGetCoords

+ improved collision check

+ set correct flags for the backward movement

+ first implementation of slope angle (to improve)

Co-authored-by: Yehonal <yehonal.azeroth@gmail.com>
2021-01-04 20:23:08 +01:00
Kitzunu
d3aff86c32 fix(Core/Object): Fix small error in Position::IsWithinBox (#4050) 2020-12-25 18:44:19 -06:00
IntelligentQuantum
d6abb82055 refactor(Core): Remove player title defines (#2781) 2020-12-23 13:13:37 -06:00
zxdhe121
ab8967c638 feat(Core): Another way to get talent points (#3773) 2020-12-20 19:26:00 -06:00
Francesco Borzì
f5f3360e01 refactor(Core/Social): Cleanup (#3843) 2020-12-14 13:45:43 -06:00
Meltie2013
282966c117 fix(Core): a typo introduced in the Rest & Inn Improvements (#3985) 2020-12-12 23:24:48 +01:00
Meltie2013
af53598fa2 fix(Core/Game): Rest & Inn Improvements (#3780) 2020-12-11 08:23:09 -06:00
Francesco Borzì
c5a35efd7b refactor(Core): apply clang-tidy modernize-use-default-member-init (#3827) 2020-12-07 13:34:06 -06:00
Francesco Borzì
1cf39b3d22 refactor(Core): apply clang-tidy modernize-use-equals-default (#3834) 2020-12-07 19:21:55 +01:00
Francesco Borzì
0b8ec1f6ee refactor(Core): apply clang-tidy modernize-loop-convert (#3822) 2020-12-07 19:04:19 +01:00
Francesco Borzì
a7faf4a16f refactor(Core): apply clang-tidy modernize-redundant-void-arg (#3825) 2020-12-06 21:38:52 +01:00
Francesco Borzì
cba126fa84 refactor(Core): apply clang-tidy modernize-use-nullptr (#3819) 2020-12-06 20:55:11 +01:00
Francesco Borzì
161302252e refactor(Core): apply clang-tidy modernize-use-nodiscard (#3835) 2020-12-06 19:39:48 +01:00
Francesco Borzì
d4a58700d4 refactor(Core): apply clang-tidy modernize-use-override (#3817) 2020-12-06 18:04:55 +01: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
FALL1N1
0baecd3e8f fix(Core/Pathfinding): Improve - Point movement (#3658) 2020-12-01 10:58:00 -06:00
Petric
5984e82f22 feat(Core/Script): Hooks for custom arena teams/types (#3508) 2020-11-29 15:04:38 -06:00
Francesco Borzì
35fb9f49d2 Revert "fix(Core/Player): Improve rested removal (#3715)" (#3762) 2020-11-25 05:28:56 -06:00
Petric
78179f7108 feat(Core/Config): Added pet experience rate (#3703) 2020-11-24 08:45:29 -06:00
Kargatum
37ba988409 feat(Core/Misc): remove ACE Auto_Ptr (#3454) 2020-11-23 02:10:33 +01:00
Kitzunu
fb69db212f fix(Core/Player): Improve rested removal (#3715) 2020-11-19 10:11:56 -06:00
Kitzunu
2788d495f9 fix(Core/Conditions): Implement CONDITION_DAILY_QUEST_DONE (#3050) 2020-11-14 06:08:00 +01:00
placemolle
fc63d935b9 fix(Core/Item): Meta gems sometimes ignore added sockets (#3643) 2020-11-13 10:24:16 -06:00
Andrius Peleckas
d7becdae27 feat(Core/Spells): Functions will return cast result (#3635) 2020-11-13 08:00:07 -06:00
Goatform
5254aec645 fix(Core/Unit): ranged auto-attack sound issue if a player attacks target not in LOS (#3610) 2020-11-07 18:23:42 +01:00
Petric
b3a967db60 fix(Core): fixed crash happening when clearing old mail (#3604) 2020-10-24 10:42:35 +02:00
Stefano Borzì
d07a34c1d5 feat(Core/Unit): don't allow additions threat in evade mode and implement AURA_INTERRUPT_FLAG_LEAVE_COMBAT (#3381) 2020-10-23 22:12:37 +02: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
Kitzunu
036a8c2450 fix(Core/Unit): Eating anim (#3472) 2020-10-13 10:23:18 +02:00
Kargatum
a2b26272d2 refactor(Core/Game): restyle game lib with astyle (#3466) 2020-10-12 10:08:15 +02:00
Stefano Borzì
4cca286a4d fix(Core/Creature): dead creatures spawn position on respawn (#3382) 2020-10-09 11:18:01 +02:00
Stefano Borzì
1910b4ab35 chore(Core/Player): remove useless SendQuestComplete (#3380) 2020-09-26 14:46:27 +02:00
Stefano Borzì
4e5440ad91 feat(Core/Events): update holiday code and remove misleading log (event date is the one from game_event) (#3365)
Cherry-picked 5b4287e683

Co-authored-by: ariel- <ariel-@users.noreply.github.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2020-09-20 20:36:33 +02:00