Commit Graph

2401 Commits

Author SHA1 Message Date
Teleqraph
bfbda8dcce Core/Creatures: Refactor CreatureEliteType (#29525)
* Turn into enum class with official names
2023-12-28 19:11:54 +01:00
Ovahlord
53ac8d3ef5 Core/Units: Allow self inflicted damage to bypass CREATURE_STATIC_FLAG_UNKILLABLE (#29502) 2023-12-19 18:21:45 +01:00
Shauren
78bcc3f52a Core/Misc: Minor code modernization - kill std::bind 2023-12-08 20:27:41 +01:00
Meji
c1b36eec56 Core/Units: Update PlayHoverAnim state when flying or hovering (#29434) 2023-11-25 14:04:33 +01:00
Shauren
3a50bc50a2 Core/Auras: Fixed crash happening when a periodic aura tick triggers SPELL_AURA_SPLIT_DAMAGE_PCT
Closes #29450
2023-11-23 11:05:49 +01:00
Meji
c05466fa0c Core/Creatures: Remove stand state when a creature attacks or dies (#29396) 2023-11-10 22:01:27 +01:00
Shauren
1eea1d11b1 Core: Update to 10.2.0 2023-11-09 13:33:26 +01:00
Shauren
e9b0d347a4 Core/Spells: Store BasePoints as float in SpellEffectInfo 2023-11-03 10:38:43 +01:00
Shauren
9894f6b802 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 20:20:00 +01:00
Shauren
64a14f13ac Core/Players: Don't update mount capability while loading from db - auras are loaded before all known spell sources are processed
Closes #29391
2023-10-27 20:10:20 +02:00
Shauren
dc9361fcc2 Core/Spells: Named and implemented most of SpellAttr8 2023-10-22 18:39:59 +02:00
Shauren
4e87bd7942 Core/Spells: Named and implemented most of SpellAttr7 2023-10-21 14:49:42 +02:00
Shauren
dc661a34b1 Core/Auras: Registering a new owned aura will now search existing owned auras instead of applied auras to check for unstackable one
Closes #22234
2023-10-14 16:55:12 +02:00
Shauren
c676d14772 Core/AreaTriggers: Implement missing functionality
* Scale curves are now taken into account when searching for units inside
* Implemented SpellModOp::Radius for areatrigger radius
* Implemented OverrideMoveCurve updatefields - overrides areatrigger position
* Implemented FacingCurve and AREATRIGGER_FLAG_HAS_ABSOLUTE_ORIENTATION
* Implemented ***Target fields for all shape types
* Fixed facing calculation for areatriggers with spline movement
2023-10-01 18:56:35 +02:00
Shauren
e883b61094 Core/Spells: Implemented NoImmunity spell effect attribute 2023-09-29 21:16:50 +02:00
Shauren
41a20b1e40 Core/Achievements: Fixed achievement criteria StartEvent and FailEvent
* Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements)
* Implemented most StartEvent and FailEvent types
* Fixed saving criteria removed by RemoveCriteriaProgress
2023-09-25 00:53:56 +02:00
Shauren
a667d723bf Core/Pets: Improved pet despawn behavior when mounting
* Pets will now only be despawned when starting to fly
* Fixed crash when summoning a pet that is different than the one that was despawned by flying

Closes #29303
2023-09-10 11:54:09 +02:00
Shauren
ba224f70ad Core/Auras: Defined and implemented new aura interrupt flags 2023-09-03 16:06:43 +02:00
Shauren
ed98146d31 Core/Spells: Allow cancelling spell missiles without cancelling the entire spell 2023-08-26 23:36:26 +02:00
Shauren
c9751eb737 Added changes missing from previous commit 2023-08-26 18:28:13 +02:00
Shauren
7b9493eec7 Core/Auras: Allow effects of SPELL_AURA_SCHOOL_ABSORB_OVERKILL to be prevented by setting absorb value to 0 in script 2023-08-26 15:37:57 +02:00
Shauren
9e1b97900e 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) 2023-08-18 18:23:29 +02:00
Shauren
ac1c041944 Core/Spells: Damage and healing bonus calculation fixes
* Spells with SPELL_DAMAGE_CLASS_NONE are now allowed to benefit from spellmods
* Fixed SPELL_AURA_MOD_DAMAGE_DONE_VERSUS_AURASTATE and SPELL_AURA_MOD_HEALING_DONE_PCT_VERSUS_TARGET_HEALTH not working for players
2023-08-14 13:34:40 +02:00
Shauren
9cdf3530f4 Core/Scripts: Added damage and healing calculation hook to spell and aura scripts allowing to override base damage amount, flat value mod and percent value mod separately 2023-08-01 21:31:06 +02:00
Shauren
197d4369c8 Core/Spells: Removed old combo point code leftovers 2023-07-31 11:55:00 +02:00
Traesh
ea134c0eae Core/AI: Implemented OnHealthDepleted hook (#29134) 2023-07-24 14:31:03 +02:00
Krudor
d3bc5ebf16 Core/Units: Fixed knockback angle calculation for players (#29165) 2023-07-21 20:51:03 +02:00
Shauren
40cdf0750d Core/Units: Fixed crash (previously was a memory leak) when vehicle creatures are deleted without ever being added to world
Closes #29166
2023-07-21 00:19:48 +02:00
Aqua Deus
6a760de79b Core/Auras: Implement SPELL_AURA_MOD_DAMAGE_PERCENT_DONE_BY_TARGET_AURA_MECHANIC (#29162) 2023-07-20 20:17:38 +02:00
Teleqraph
88ff97c1f9 Core/Units: Added helper functions to modify UNIT_FLAG_UNINTERACTIBLE (#29159)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2023-07-20 19:09:27 +02:00
Teleqraph
53f9abec14 Core/Unit: Added helper functions to modify UNIT_FLAG2_CANNOT_TURN (#29160) 2023-07-20 12:20:15 +02:00
Traesh
bbe7cba7f4 Core/Units: Allow autoattack if channelling with SPELL_ATTR5_ALLOW_ACTIONS_DURING_CHANNEL (#29133) 2023-07-16 14:08:48 +02:00
Shauren
1f8eddc4f0 Core/Players: Fixed base hit chance initialization for players 2023-07-15 22:06:56 +02:00
Ovahlord
ab33f35bb5 Core/Unit: modernize some pointers and arrays in unit class (#29104) 2023-07-15 21:47:31 +02:00
Shauren
0cea730fa2 Core: Update to 10.1.5 2023-07-12 16:29:00 +02:00
Shauren
36ecc2d8cb Core/Auras: Removed triggering aura effect from SPELL_AURA_OVERRIDE_AUTOATTACK_WITH_MELEE_SPELL handling (paladin Crusading Strikes combines this with a proc aura on another effect on the same spell) 2023-07-02 00:04:58 +02:00
Shauren
29eac37a16 Core/Spells: Fully prevent infinite proc loops and add logging to detect most spells that could possibly trigger this behavior at startup
Closes #28865
2023-06-29 11:39:02 +02:00
Shauren
8c4a966dc0 Core/Auras: Use std::vector for temporary copies of aura lists 2023-06-28 11:45:29 +02:00
Shauren
63b2188e75 Core/Auras: Fixed accessing invalid iterators in Unit::CalcHealAbsorb (ChangeAmount removes and readds current effect to iterated list) 2023-06-28 00:13:53 +02:00
Shauren
0fb8765a66 Core/Items: Item bonus generation improvements
* Pass ItemContext to item creation wherever possible
* Support scaling item levels with m+ keystone levels (not used currently)
* Fixed item link validation when client sends it as default uninitialized bonus list with context only
* Support scaling items depending on current active season (seasons not implemented)
* Implemented content tuning redirection
2023-06-17 16:29:59 +02:00
Shauren
8cfc8e4141 Core/Spells: Always remove spell target from transport on teleport spells if spell destination does not target a position on the transport 2023-06-08 18:37:08 +02:00
Teleqraph
c4aa4d4b53 Core/Spells: Implement SPELL_ATTR10_RESET_COOLDOWN_UPON_ENDING_AN_ENCOUNTER (#29032) 2023-05-29 10:43:48 +02:00
Meji
06d0b16f15 Core/Creatures: Move creature difficulty specific data from creature_template table to creature_template_difficulty (#28931) 2023-05-29 00:01:23 +02:00
Jeremy
f8f1c3b4f0 Core/Areas: Update AreaFlags from EnumeratedStings values (#29008) 2023-05-19 20:11:31 +02:00
Shauren
1325e0c4b2 Core/Units: Power handling improvements
* Don't include creature_template power multipliers in CreateMana updatefield
* Allow NPCs to have power types other than mana
* Add missing Essence config regeneration rate
* Fixed demon hunter powers not decaying immediately after combat
* Fixed some powers decaying immediately out of combat after energizing (for example holy power)
* Replace hardcoded list of powers to set to full on levelup with a db2 flag check
* Updated Creature::GetPowerIndex for 10.1 new power types
2023-05-09 23:16:30 +02:00
Jeremy
205aba1ff3 Core/Battlegrounds: Moved AreaSpiritHealer resurrection handling to respective npc flags (#28508)
* UNIT_NPC_FLAG_AREA_SPIRIT_HEALER
* UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL
2023-05-09 05:20:35 +02:00
Teleqraph
145bb98ecb Core/Auras: Implement SpellAuraInterruptFlags2::Falling (#28941) 2023-05-06 22:54:13 +02:00
Shauren
f4e5c381ac Build fix 2023-05-06 21:19:58 +02:00
Teleqraph
15135ce16f Core/Auras: Implement SpellAuraInterruptFlags2::StartOfEncounter (#28938)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2023-05-06 20:56:01 +02:00
Teleqraph
513788e884 Core/Auras: Implement SpellAuraInterruptFlags2::AbandonVehicle (#28944) 2023-05-06 17:44:19 +02:00