Commit Graph

2678 Commits

Author SHA1 Message Date
Shauren
f2ce5072d6 Core/Creatures: Implemented unsummoning and resummoning critter pets on flying mounts and teleports (and related static flags) 2024-03-02 15:06:33 +01:00
Shauren
a814eb65b1 Core/Spells: Implemented pausing spell cooldowns 2024-03-01 00:23:09 +01:00
Shauren
0139ec41bb Core/Creatures: Allow toggling CREATURE_STATIC_FLAG_4_TREAT_AS_RAID_UNIT_FOR_HELPFUL_SPELLS 2024-02-29 18:09:10 +01:00
Ovahlord
c541eda54d Core/Creatures: implemented most movement related static flags and migrated existing movement data into static flags (#29541)
* implemented CREATURE_STATIC_FLAG_AQUATIC - creatures cannot leave liquids
* implemented CREATURE_STATIC_FLAG_AMPHIBIOUS - creatures can enter and leave liquids but remain on the ocean floor when swimming is not enabled until engaged
* implemented CREATURE_STATIC_FLAG_FLOATING - creatures have their gravity on spawn / reset disabled
* implemented CREATURE_STATIC_FLAG_SESSILE - creatures are rooted in place
* implemented CREATURE_STATIC_FLAG_CAN_SWIM - creature can swim in liquids
* implemented CREATURE_STATIC_FLAG_3_CANNOT_SWIM - Amphibious creatures cannot toggle on swimming
* implemented CREATURE_STATIC_FLAG_3_CANNOT_TURN - Creatures cannot turn at all
* implemented CREATURE_STATIC_FLAG_4_PREVENT_SWIM - Amphibious creatures won't toggle on swimming until their victim starts leaving the ocean floor
* partially implemented CREATURE_STATIC_FLAG_3_CANNOT_PENETRATE_WATER
* deprecated CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE as this flag was a hackfix to a wrong implementation that is now gone
2024-02-29 14:43:37 +01:00
Shauren
288966e796 Core/Movement: Fixed MoveRotate not updating orientation 2024-02-28 20:41:04 +01:00
Shauren
deb24f3f53 Core/Units: Added helper function to clear boss emote frame and enable SMSG_CLEAR_BOSS_EMOTES 2024-02-27 16:13:23 +01:00
Shauren
0c76618b19 Core/Auras: Implemented SpellEffectAttributes::AuraPointsStack 2024-02-26 00:03:02 +01:00
Ovahlord
6c15fb00e5 Core/Units: Update facing spline movement immediately after launching (#29494) 2024-02-25 15:12:46 +01:00
Shauren
a748fddfa4 Core/Creatures: Implemented CREATURE_STATIC_FLAG_4_NO_MELEE_APPROACH and fixed CREATURE_STATIC_FLAG_NO_MELEE_FLEE implementation (should cause fleeing from melee range) 2024-02-22 15:47:11 +01:00
Shauren
c8bd6f5da3 Core/Spells: Fixed incorrect switch logic in Unit::SpellCritChanceDone 2024-02-21 13:16:55 +01:00
Shauren
877ae5b47d Core/Spells: Implemented SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE 2024-02-19 21:05:03 +01:00
Shauren
ed0b621d15 Core/Auras: Allow SPELL_AURA_MECHANIC_IMMUNITY_MASK to apply aoe/chain targeting immunity 2024-02-13 00:46:42 +01:00
Shauren
b4064d38c8 Core/Spells: Allow spells with SPELL_DAMAGE_CLASS_NONE to crit 2024-02-11 00:58:21 +01:00
Shauren
f70a5817e1 Core/Creatures: Move immunities to separate table and implemented setting immunties to dispel, spell effects, aura types, aoe and chain targeting 2024-01-30 21:29:55 +01:00
ModoX
61d16856e4 Core/Unit: Set DemonCreator for wild allied summons 2024-01-25 16:12:06 +01:00
Ovahlord
2f6ed2c203 Core/Units: moved health and power ordering predicates from Unit header into CommonPredicates (#29584) 2024-01-16 20:18:25 +01:00
Ovahlord
ea093fef27 Core/Units: moved CharmInfo class and its definitions into a own file (#29583) 2024-01-16 18:43:32 +01:00
Shauren
605e5f94c0 Core/Creatures: Moved autoattack handling from scripts to game 2024-01-08 22:23:12 +01:00
Ovahlord
97af0c31af Core/Maps: implement LIQUID_MAP_OCEAN_FLOOR to identify units that are on the bottom of a liquid (#29545) 2024-01-02 19:46:44 +01:00
ModoX
78012dadf2 Core/Unit: Restore function of HandleKillPlayer after bf107e0581
* also fix build
2024-01-01 03:33:17 +01:00
Jeremy
bf107e0581 Core/Battleground: Changed HandleKillUnit hook to accept any Unit* as killer 2024-01-01 03:26:56 +01:00
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
2eceab3963 Add missing override 2023-10-24 10:51:00 +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
112e60003f Core/Creatures: Allow UNIT_FLAG2_INTERACT_WHILE_HOSTILE to be set in database 2023-09-27 14:41:27 +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
1dd4b38170 Core/Creatures: std::chrono-ify TempSummon 2023-08-09 11:37:17 +02:00
Shauren
98007f859b Core/Misc: Turn ChrSpecialization into enum class 2023-08-07 00:05:36 +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