Commit Graph
2344 Commits
Author SHA1 Message Date
Ovahlord 266d1d7717 Core/Creatures: temporarily revert all summon changes in order to keep the master branch functional until the implementation is done 2026-02-28 11:06:35 +01:00
Ovahlord 857f79b22a Core/Creatures: converted CMSG_PET_ACTION to packet class and moved most parts of it to the SummonInfo API 2025-08-24 18:17:38 +02:00
Ovahlord 0e5489a9da Core/Creatures: moved despawning summons upon summoner death to SummonInfo API and implemented more specific despawn rules 2025-08-24 13:23:45 +02:00
Ovahlord 73effb91ad Core/Creatures: moved summon AI hooks to SummonInfo API 2025-08-23 08:08:02 +02:00
Ovahlord 98d4a57db1 Core/Creatures: moved pre/post summon actions into SummonInfo API and disabled most old TemporarySummon functionalities 2025-08-22 20:26:10 +02:00
Ovahlord 860f6b1bd3 Core/Creatures: implement SummonPropertiesFlags::DespawnOnSummonerLogout and fixed replacing totems when summoning new ones 2025-08-20 07:13:05 +02:00
Ovahlord 7f4c7a4412 Core/Units: Added new accessor methods to select Summons either by slot, spellId or creatureId 2025-08-18 20:02:59 +02:00
Ovahlord 2f9ced6ddc Core/Creatures: moved the initialization of CreatorGUIDs to new summon handling 2025-08-18 07:30:11 +02:00
Ovahlord ce55b5ad24 Core/Creatures: moved replacement of old summons and sending of SMSG_TOTEM_CREATED to new SummonInfo API and 2025-08-17 15:13:18 +02:00
Ovahlord 5848eedb24 Core/Creature: implement initial SummonInfo API for handling summons in the future 2025-08-09 15:01:55 +02:00
Ovahlord ede231982e Core/Spells: added missing part of 0d1d468c 2025-08-03 19:23:38 +02:00
Shauren 0d1d468c88 Core/Spells: Fully prevent infinite proc loops and add logging to detect most spells that could possibly trigger this behavior at startup 2025-08-03 14:28:23 +02:00
Shauren b13703f1ea Core/Auras: Fixed iterator invalidation crash with procs using SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE attribute 2025-08-03 14:11:56 +02:00
Ovahlord 744aa1fd96 Core/Spells: make proc related fields typesafe 2025-08-03 13:33:05 +02:00
Shauren 78de91a487 Core/Spells: Rename confusing SpellState enum values
* SPELL_STATE_CASTING -> SPELL_STATE_CHANNELING (was used for "channel in progress")
* SPELL_STATE_DELAYED -> SPELL_STATE_LAUNCHED
2025-08-02 12:37:52 +02:00
Ovahlord 088bbbd328 Core/Units: make use of the PlayHoverAnim update flag to store the play hover anim state
* this fixes playing hover animations for units which have enabled their hover animation without using anim tiers
2025-07-31 22:36:52 +02:00
Shauren a2079b5835 Core/Spells: Split TRIGGERED_IGNORE_POWER_AND_REAGENT_COST into separate POWER and REAGENT flags 2025-07-28 21:57:12 +02:00
Ovahlord 65b0057332 Core/Units: fixed differences for rage generation between branches 2025-06-20 00:00:45 +02:00
Ovahlord e8c928fc74 Core/Units: ported rage generation refactors from Classic 2025-06-19 23:30:04 +02:00
Ovahlord 4539f848ac Core/Units: ported base attack time refactors from master branch 2025-06-19 23:18:17 +02:00
Ovahlord ab866ca985 Core/Units: dealing melee damage will now generate rage based on armor reduced damage instead of the original value 2025-06-19 22:47:45 +02:00
Ovahlord bb6a8ac297 Core/Units: moved CharmInfo class to an own file 2025-06-14 19:13:44 +02:00
Ovahlord 5c9ecf27e9 Core/Spells: dropped spell_bonus_data table and use the dbc internal data to calculate ap and sp bonus values
* some spells have a special formula in their tooltips, which need manual scripting via the CalcDamage and CalcHealing hooks respectively
2025-06-08 15:16:17 +02:00
Ovahlord 6eb73788f4 Core/Units: deprecate CREATURE_FLAG_EXTRA_NO_COMBAT and use CREATURE_STATIC_FLAG_IGNORE_COMBAT to turn creatures passive 2025-03-15 14:27:16 +01:00
Ovahlord 3e3212c9fe Core/Units: Allow self inflicted damage to bypass CREATURE_STATIC_FLAG_UNKILLABLE 2025-03-15 09:09:03 +01:00
Shauren a7644b03d4 Core/Creatures: Implemented CREATURE_STATIC_FLAG_2_IGNORE_SANCTUARY (ignore SPELL_EFFECT_SANCTUARY, used by Vanish) 2025-03-15 07:16:45 +01:00
Shauren 4ead80f388 Core/Auras: Minor optimization for Unit object creation with msvc (not allocating a list end sentinel node for all of the 500 lists stored in Unit for each aura type) 2025-03-14 16:57:04 +01:00
Ovahlord 291741c440 Core/Units: updated UpdateStatBuffMod to the same handling as the cata_classic branch 2025-03-10 20:05:14 +01:00
Ovahlord f46b6f0797 Core/Units: removed the packetOnly parameter from several movement flag setters 2025-03-10 17:43:42 +01:00
Ovahlord 2953efb7a3 Core/Movement: ported most movement updates from master branch and corrected behavior of CREATURE_STATIC_FLAG_4_PREVENT_SWIM 2025-03-09 20:49:41 +01:00
Ovahlord 83958342d9 Core/Spells: ported spellMod handling from master branch 2025-03-09 13:20:40 +01:00
Ovahlord f9425284ca Core/Units: updated power regeneration handling to get closer to the master version of it 2025-03-09 10:30:07 +01:00
Ovahlord e8588fd5ba Core/Objects: ported Heartbeat implementation fron master branch 2025-03-09 02:40:05 +01:00
Ovahlord 6b67cd773e Core/Objects: replaced ObjectUpdateFlags with CreateObjectBits to get closer to how master branch handles their bits 2025-03-09 00:26:00 +01:00
Ovahlord 0927c5af40 Core/Misc: backported most boost changes from master branch 2025-02-27 23:47:52 +01:00
Shauren b5ec59a07e Core/Units: Power handling improvements 2023-12-18 10:02:19 +01:00
Ovahlord 620c39be06 Core/Units: update facing splines immediately after launch 2023-12-17 05:50:10 +01:00
Ovahlord 9a4a902636 Core/Units: also allow creatures to generate rage from auto attacks and use their base attack time as base to calculate the generated amount 2023-12-12 20:56:33 +01:00
Ovahlord ba10718ea7 Core/Units: removed a debug logging message that sneaked in 2023-12-11 21:02:39 +01:00
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
Shauren 7d57ef7299 Core/Random: Changed random functions returning doubles to return floats
* They were all cast to float at use anyway
* Improves roll_chance_f performance (rand32() is now called internally by uniform_real_distribution once instead of twice)
2023-10-31 22:00:52 +01:00
Shauren 388c504047 Core/Spells: Named and implemented most of SpellAttr8 2023-10-23 18:07:05 +02:00
Meji 56077b35c3 Core/Creatures: Improved movement interruption while casting spells 2023-10-21 20:41:40 +02:00
Shauren 3c0cf32b43 Core/Spells: Named and implemented most of SpellAttr7 2023-10-21 20:32:32 +02:00