Commit Graph
100 Commits
Author SHA1 Message Date
Ovahlord 5b5914beda Core/Units: no longer set PowerUpdate packets when gaining rage from damage taken 2023-12-11 20:48:45 +01:00
Ovahlord 8613a5623c Core/Units: use the weapon's/druid's base attack speed to calculate melee rage amounts instead of plain attack swing timers
The normalized rage calculation uses base speeds, which are the weapon's attack base attack speed and the druid's shapeshift base attack speed. The old implementation used plain swing timers which are affected by haste and thus resulting in negating any rage gains from faster attacks
2023-12-11 19:55:54 +01:00
Ovahlord 96e9b6189f Core/Units: fixed a typo which was causing armor mitigation to be bypassed 2023-12-10 18:45:59 +01:00
Ovahlord 0f035fe940 Core/Units: refactor rage generation to reflect patch 4.0.1 changes:
* melee attacks will now send their awarded rage within SMSG_ATTACKER_STATE_UPDATE and moved the rage reward mechnic from Unit::DealDamage into Unit::AttackerStateUpdate

* killed CleanDamage struct and provide plain unmitigated damage values instead as since patch 4.0.1 the rage gained from damage taken is fully normalized and ignores any kind of damage reduction or negation
2023-12-10 18:26:24 +01:00
Ovahlord 4f309c127a Core/Units: round rage gain values up so taking at least one point of damage will ensure you gain a rage point 2023-12-10 17:09:55 +01:00
Ovahlord 6cb2bd953d Core/Units: fixed a rounding issue that caused very low damage unintentionally being reduced to zero
*also feed the AttackerStateUpdate  SubDamage with the correct values
2023-12-10 16:58:21 +01:00
Ovahlord 8c3d501524 Core/Units: generating rage from damage taken will now use the full unmitigated damage amount instead of the final instead 2023-12-10 04:37:44 +01:00
Ovahlord df646fbe6a Core/Objects: fixed packet guid writing 2023-12-10 03:29:23 +01:00
Ovahlord 65218b02f9 Scripts/Instances: converted DataHeader macro to constexpr to keep their definition within their namespace 2023-12-10 02:22:54 +01:00
Ovahlord 96b2c70c04 buildfix 2023-12-09 22:11:16 +01:00
Ovahlord 2e3d90352f nopch fix 2023-12-09 21:47:11 +01:00
Ovahlord bdf61a6f1f Scripts/World: b1fce7c88f followup 2023-12-09 20:58:45 +01:00
Ovahlord 758694af49 Build/CMake: enable unity builds for scripts project 2023-12-09 05:31:05 +01:00
Ovahlord 40d6e2a1a7 Scripts/Misc: fixed redundant enum names and definitions in same namespaces 2023-12-09 05:30:44 +01:00
Ovahlord ea30806159 Scripts/EasterKingdoms: moved scripts into their corresponding namespace 2023-12-09 05:09:19 +01:00
Ovahlord 22c843d8fe Scripts/Kalimdor: moved scipts into their corresponding namespace 2023-12-09 02:34:48 +01:00
Ovahlord 93d8ed48b7 Scripts/Northrend: moved scripted into their corresponding namespace (part 2) 2023-12-09 00:21:22 +01:00
Ovahlord 7ad103d20f Scripts/Northrend: moved scripts into their corresponding namespace (part 1) 2023-12-08 23:06:53 +01:00
Ovahlord 6d1eb573bc Scripts/Events: moved scripts into their respective namespace 2023-12-08 22:04:53 +01:00
Ovahlord 714d93c9da Scripts/Battlefields: moved scripts into their respective namespace 2023-12-08 22:03:08 +01:00
Ovahlord c494ec1f87 Scripts/OutdoorPvP: moved scripts into their respective namespace 2023-12-08 21:39:47 +01:00
Ovahlord 773e12c58b Scripts/Outland: moved scripts into their respective namespace (part 2) 2023-12-08 21:27:25 +01:00
Ovahlord cf80433af8 Scripts/Outland: moved scripts into their respectice namespace (part 1) 2023-12-08 20:35:23 +01:00
Ovahlord c1ac99cc5d Scripts/Pet: moved all scripts into their own respective namespaces 2023-12-08 20:02:14 +01:00
Ovahlord 7e62a55074 Scripts/Spells: moved all scripts into their own respective namespaces 2023-12-08 19:57:27 +01:00
Ovahlord d5f1aea2d2 Scripts/World: moved all scripts into their own respective namespaces 2023-12-08 19:47:17 +01:00
Ovahlord cd107956f5 Build/CMake: disable unity builds for external dependencies as their support for unity builds was rather hacky and relied too much on random factors 2023-12-08 18:14:22 +01:00
Ovahlord 5549d82845 Scripts/Maelstrom: moved all scripts into their own zone or instance related namespace 2023-12-08 18:10:27 +01:00
Ovahlord 1251a781a0 CMake: added MySQL 8.2.0 to FindMySQL macro 2023-12-04 22:17:26 +01:00
Ovahlord b4811b7a5d Core/Packets: used the correct opcode for RoleChangedInform packet 2023-12-01 13:19:50 +01:00
Ovahlord 133588ca60 Core/Groups: fixed a crash when rolling for items 2023-11-12 07:36:39 +01:00
Ovahlord 4d27b31b6b Core/Misc: removed dead AddonHandler code which has been moved into WorldSession a long time ago 2023-10-31 22:02:49 +01:00
Ovahlord 056248cef1 Core/Packets: converted CMSG_SET_ROLE and SMSG_ROLE_CHANGED_INFORM to packet class 2023-10-30 22:30:14 +01:00
Ovahlord 2283572243 Core/Packets: use the reserve instead of resize in PartyCommandResult packet
ref #428
2023-10-30 22:01:36 +01:00
Ovahlord e9ea6f8f06 Core/Groups: converted group roll raw pointers to smart pointers 2023-10-30 01:26:57 +01:00
Ovahlord 94f7ee4dda Core/Spells: check the correct effect index for Beacon of Light auras in heal predicitions 2023-10-24 22:12:55 +02:00
Ovahlord 1dfe0f0974 Core/Spells: modernize a bunch of spell scripts in spell_generic 2023-10-21 21:34:19 +02:00
Ovahlord 6e5a63f165 Core/Spells: handle missing creature interrupt part of Silence, Strangulate and Arcane Torrent 2023-10-21 21:09:24 +02:00
Ovahlord 4b1cf485e0 Tools/MapExtractor: fixed dbc/db2 extraction under linux
clses #426
2023-10-20 15:53:46 +02:00
Ovahlord ef9b9b3887 nopchfix 2023-10-13 00:47:54 +02:00
Ovahlord 75ae2cbeac Core/Packets: converted reforge packets to packet class and enabled and added packet structure for SMSG_FORGE_MASTER_SET 2023-10-12 22:01:16 +02:00
Ovahlord bfb045e964 nopch fix 2023-10-11 03:32:57 +02:00
Ovahlord 1f5aa1a219 Scripts/VP: fixed resetting Asaad's achievement 'Not Static At All' 2023-10-11 03:30:50 +02:00
Ovahlord 5ee22c58f6 Core/Achievements: renamed ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 to ACHIEVEMENT_CRITERIA_TYPE_LAND_TARGETED_SPELL_ON_SPELL_TARGET 2023-10-11 03:17:14 +02:00
Ovahlord 4ff88148c8 Core/Spells: only provide base difficulty spell Ids to criteria events to match their requirements (see It's Not Easy Being Green' for reference) 2023-10-11 02:09:44 +02:00
Ovahlord faa4fbfbce nopch buildfix 2023-10-11 01:51:34 +02:00
Ovahlord df0de16bc5 Scripts/ZG: fixed achievement 'It's Not Easy Being Green' 2023-10-11 01:49:39 +02:00
Ovahlord ff0eb86c54 Core/Achievements: ported start event and fail event mechanics from master branch 2023-10-11 01:38:01 +02:00
Ovahlord a599f7461d build fix 2023-10-10 22:03:26 +02:00
Ovahlord 88e4309bcb Core/Achievements: implemented ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_MIN_ACHIEVEMENT_POINTS 2023-10-10 21:50:10 +02:00
Ovahlord 4851269f9b Core/Achievements: implemented ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_COMPLETE_QUEST_NOT_IN_GROUP 2023-10-10 21:47:26 +02:00
Ovahlord 9a82ad2a75 Core/Achievements: implemented ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_IS_ALIVE 2023-10-10 21:44:27 +02:00
Ovahlord 3efa9c9ed3 Core/Achievements: implement ACHIEVEMENT_CRITERIA_ADDITIONAL_CONDITION_SOURCE_DRUNK_VALUE 2023-10-10 21:41:00 +02:00
Ovahlord a2658b436c buildfix 2023-10-10 12:20:03 +02:00
Ovahlord a1e5045fa6 buildfix 2023-10-10 11:42:38 +02:00
Ovahlord 17f5be5a63 pch buildfix for tools 2023-10-10 03:38:00 +02:00
Ovahlord dab2292a6f Build/Game: sync gamePCH with master branch 2023-10-10 03:26:16 +02:00
Ovahlord 2824e00d90 Build/Scripts: ported ScriptPCH fine tuning from master branch 2023-10-10 03:14:26 +02:00
Ovahlord 5c13baf230 Core/Misc: removed unused includes and removed unit include from vehicle.h 2023-10-10 03:01:05 +02:00
Ovahlord faa78b9e07 Core/Units: moved spell cast request includes out of unit class and use unique_ptr instead of optionals 2023-10-09 22:07:13 +02:00
Ovahlord b49f95e1e9 Build: added support for unity builds in most projects except for StormLib, ZLib and Scripts 2023-10-09 21:40:38 +02:00
Ovahlord 8ae604df69 Core/Spells: fixed proc of No'Kaled, the Elements of Death 2023-09-20 19:18:36 +02:00
Ovahlord 58302441a2 Core/Creatures: implement CREATURE_STATIC_FLAG_DESPAWN_INSTANTLY 2023-08-27 19:52:09 +02:00
Ovahlord 5f2dbdd63c Core/Creatures: implement CREATURE_STATIC_FLAG_4_CANNOT_DAZE 2023-08-27 19:39:11 +02:00
Ovahlord aa459e53af Core/Creatures: apply CREATURE_STATIC_FLAG_5_240_DEGREE_BACK_ARC for parries and blocks as well 2023-08-27 19:14:56 +02:00
Ovahlord d1e59764da Core/Creatures: implement CREATURE_STATIC_FLAG_4_NO_BIRTH_ANIM 2023-08-27 18:35:02 +02:00
Ovahlord 94a37eeaa0 Core/Spells: implement CREATURE_STATIC_FLAG_5_240_DEGREE_BACK_ARC 2023-08-27 18:24:41 +02:00
Ovahlord 71ecd754ce build fix 2023-08-27 17:46:22 +02:00
Ovahlord 577bdd5ff4 Core/Creatures: implement CREATURE_STATIC_FLAG_NO_LOOT 2023-08-27 17:41:50 +02:00
Ovahlord ff575bcef0 Core/Creatures: ported all existing static flag implementations from master branch 2023-08-27 17:16:18 +02:00
Ovahlord 393b4d0dc6 Core/Creatures: implement static flag fields for creatures and ported their values from MoP 2023-08-27 16:14:18 +02:00
Ovahlord f3a09fd934 Core/Movement: allow PATHFIND_SHORTCUT to be used for chasing units that have pathfinding disabled 2023-08-26 13:01:14 +02:00
Ovahlord 9fa5f65e5b Scripts/VP: reworked Altairus' up- and downwind spell script 2023-08-25 13:02:43 +02:00
Ovahlord 070db638a5 Core/Objects: converted a bunch of macros to constexpr 2023-08-25 12:25:23 +02:00
Ovahlord 41cb5dc8db buildfix 2023-08-25 12:24:53 +02:00
Ovahlord 72fd054bd7 Core/Maps: removed a unused leftover method from previous cherrypicks 2023-08-25 12:07:19 +02:00
Ovahlord 4a8d96b8d5 Core/World: modernized a couple arrays 2023-08-25 12:05:20 +02:00
Ovahlord 852f0cbc52 Core/Misc: fixed a couple warnings reported by file analysis 2023-08-25 11:53:53 +02:00
Ovahlord 5a62d6c570 Core/Movement: fixed edge cases in which hovering units were considered far from poly during path generation, resulting in incomplete paths getting returned 2023-08-24 21:35:05 +02:00
Ovahlord ff3beb0e92 Core/Movement: added some overloads to PathGenerator::CalculatePath 2023-08-24 20:51:15 +02:00
Ovahlord a9751de67c Core/Movement: allow hovering units to return PATHFIND_INCOMPLETE as their destination is always set off 2023-08-24 20:45:18 +02:00
Ovahlord 4e469f7fe0 Scripts/VP: removed SetHover script call from Altairus' script to avoid a duplicate application of the hover offset
*set the anim tier in database
2023-08-24 20:36:58 +02:00
Ovahlord a1e0459859 Core/Movement: kill some dead code from chase movement generator 2023-08-24 20:19:10 +02:00
Ovahlord 0840143137 Core/Movement: reworked chase movement
* the destination prediction is now much more reliable
* the movement generator will now more frequently check for valid positions to match retail behavior
* the catch-up mechanic will now adapt its speed to the target's one when being close enough to hit it
* temporarily disabled backwards movement when being too close to a target to avoid some edge cases that need additional research
* fixed the pathfinding reaching behavior so that they no longer follow you to unreachable obstacles and return home when they can't reach you anymore

closes #345
closes #260
2023-08-24 20:16:41 +02:00
Ovahlord 4d8da1fcf3 CI/Cicle: sync config with trinity's master branch and no longer use the 4.3.4 branch name since we do work on our own master branch 2023-08-21 17:03:54 +02:00
Ovahlord 972239e25c CI/CircleCI: use the correct branch in dockerhub images 2023-08-20 21:17:48 +02:00
Ovahlord 18e2a744bb Misc: reduce differences in Docker and CircleCI configs between branches 2023-08-20 21:12:29 +02:00
Ovahlord a4ffa701a5 Core/Spells: implement SPELL_ATTR0_CU_IS_TALENT 2023-08-19 22:39:23 +02:00
Ovahlord 86a06a5a5d Core/Spells: use already stored spell scaling values for coefficient calculation instead of accessing dbc data every single time 2023-08-19 18:50:56 +02:00
Ovahlord 770f9e11db Core/Movement: sync spline code with master branch 2023-08-19 15:04:34 +02:00
Ovahlord dfa6f7a709 Core/Movement: fixed up logic in previously added random movement minumum wander distance check and prevent the random movement generator from launching too short splines 2023-08-19 14:51:31 +02:00
Ovahlord e9fecb39d8 Core/Movement: random movement now requires a minimum wander distance of 0.1 yards 2023-08-19 14:33:01 +02:00
Ovahlord ab1b089b80 Dep/StormLib: fixed debug build 2023-08-19 10:13:37 +02:00
Ovahlord 6ec7c6e757 Core/Datastores: fixed loading SpellCastingRequirements.dbc 2023-08-14 08:39:47 +02:00
Ovahlord a57e27e6d3 Core/Spells: implement reputation requirements for spells (mostly used in guild spells such as Guild Page) 2023-08-13 11:48:20 +02:00
Ovahlord e936684e78 Core/Spells: converted FacingCasterFlags of spell casting requirements to enumflag 2023-08-13 11:38:09 +02:00
Ovahlord 21c9d52d6f Core/Datastores: load all fields of SpellCastingRequirements.dbc 2023-08-13 11:36:06 +02:00
Ovahlord 96b1933a6c Core/Spells: removed deprecated radius fix for the Lich Kings's Defile ability 2023-08-07 20:32:32 +02:00
Ovahlord e1492bc0e9 Core/Spells: removed unnecessary spell attribute hack from Earth Shield and cleaned up its spell script a bit 2023-08-07 19:29:31 +02:00
Ovahlord be53999f09 Core/Spells: restore a couple spell attribute assignments that went lost in 2bcc645cd3 2023-08-07 17:41:24 +02:00