Commit Graph

677 Commits

Author SHA1 Message Date
ModoX 0e322fdbf4 Core/Object: Added max height change param to MovePosition
(cherry picked from commit 35b8868763)
2024-09-21 05:50:21 +02:00
Shauren 5a495d8e02 Core/Spells: Refactor CastSpellExtraArgs
* Allow C++20 designated initializers
* Allow precise float values for SPELLVALUE_RADIUS_MOD, SPELLVALUE_CRIT_CHANCE and SPELLVALUE_DURATION_PCT

(cherry picked from commit 975e7cc072)
2024-09-13 19:30:56 +02:00
Ovahlord 947fd260a8 Core/Spells: treat combo points consumption similar to regular power to allow spending and gaining combo points within the same update tick 2024-07-31 13:40:01 +02:00
Ovahlord 72e9036481 Core/Auras: updated aura duration bonus from combo points for Cataclysm 2024-07-31 12:40:30 +02:00
Shauren db2d4c484b Core/Creatures: Create a CreatureGroup for every SummonCreatureGroup
(cherry picked from commit 9a7a83ef30)
2024-07-14 19:02:52 +02:00
Ovahlord 20a8c46a72 Core/Players: turn rune cooldowns into floats and change their cooldown calculation to get closer to what the other power types do 2024-07-12 02:58:00 +02:00
Ovahlord fe97a86415 Core/Player: update rune regeneration and consumption for Cataclysm Classic
* the regeneration bonus from haste is tied to the HasteRegen update field and must be implemented first before we can handle it
2024-07-11 17:14:22 +02:00
Shauren 574f7617e1 Core/Spells: Implemented SPELL_ATTR9_HASTE_AFFECTS_MELEE_ABILITY_CASTTIME
(cherry picked from commit 0d5a1b175f)
2024-06-24 20:16:28 +02:00
Shauren f52d9b9916 Core/Spells: Fixed implementation of SPELL_ATTR1_IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS and removed banish special cases that were neccessary because that attribute wasn't correctly supported
(cherry picked from commit c968dedfee)
2024-06-20 01:22:04 +02:00
ModoX c2987853ed Core/Object: Added possibility to override sourceLocation for SendPlayOrphanSpellVisual
(cherry picked from commit 53204130c6)
2024-06-20 01:20:20 +02:00
Shauren f7992964c3 Core/Spells: Rename more SpellAttr9
(cherry picked from commit 56a027131a)
2024-06-20 01:19:46 +02:00
Shauren 2c643fe7d0 Core/Spells: Implemented SPELL_ATTR9_FORCE_DEST_LOCATION
(cherry picked from commit 84c84b66d4)
2024-06-20 01:19:21 +02:00
Ovahlord 8d851e8576 Core/Spells: removed no longer used parameters from SpellEffectInfo::CalcValue and SpellEffectInfo::CalcBaseValue 2024-05-30 14:55:34 +02:00
Ovahlord 2a5733d0b1 Core/Objects: implement internal heartbeat timer for WorldObjects (#29941)
This is the first step of porting the functionality of #25822 by cutting each change into a nicely self-contained commit

---------

Co-authored-by: Mykhailo Redko <ovitnez@gmail.com>
(cherry picked from commit bf9cd88ceb)
2024-05-28 16:44:51 +02:00
Shauren d4e18bdef4 Core/Movement: Refactor MoveSplineFlag to get rid of undefined behavior (cast in raw()) and unify enum to string formatting for it
(cherry picked from commit a02804fa02)
2024-05-28 16:44:09 +02:00
ModoX 32243eb1c1 Core/Entities: Added possibility to inherit StringIds from other entities (#29908)
* also implicitly do so for personal summons

(cherry picked from commit 88bbd27f8d)
2024-05-28 16:40:42 +02:00
Shauren 093546f22c Core/Scripts: Integrate new ActionResultSetter with movement generators and spells
(cherry picked from commit b265c49977)
2024-05-28 16:34:58 +02:00
funjoker 7d66813175 Core: Start updating to 54027 2024-04-01 05:42:09 +02:00
Jeremy d0d5d309bb Core/Battlegrounds: Move to scripts (#29799)
* Introduce new BattlegroundScript class for map/bg specific scripts
* Remove all sub, zone specific, battleground classes except Arena
* Move all bg zone scripts to new BattlegroundScripts class in script folder
* Remove ZoneScript from Battleground class
* Remove some unused hooks from Battleground

(cherry picked from commit be11f42a16)
2024-03-28 20:38:55 +01:00
funjoker e769af1044 Core: port sneaky fixes from "Core: Updated to 10.2.6.53840" 2024-03-28 20:20:04 +01:00
Shauren 6f9a5933a5 Core/Objects: Added ToWorldObject and ToItem
(cherry picked from commit 6f6af6a1a1)
2024-03-25 20:22:23 +01:00
Shauren 9072664038 Core/Objects: Rename Object::m_isWorldObject and related functions to avoid conflicting with "WorldObject" class name
(cherry picked from commit 9402c66e84)
2024-03-25 20:22:13 +01:00
Shauren 6472446440 Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
(cherry picked from commit 4779fa5048)
2024-03-25 20:21:24 +01:00
MaxtorCoder cfc9cc9ec2 Core/PacketIO: Update to 4.4.0.53627 (#29805)
* Core/PacketIO: Update to 4.4.0.53627

* Core/IO: Remove duplicate declaration of PetSpellDataID

* Core/IO: Assign STATUS_UNHANDLED to some azerite packets
2024-03-13 21:16:18 +01:00
Ovahlord d9ffc33724 Core/DataStores: duc-taped build 2024-03-10 02:39:59 +01:00
Shauren d397b636d4 Core/Objects: Keep current WMO info on position updates and use it in party member state packets 2024-03-07 13:31:12 +01:00
Shauren 45ee989c70 Core/vmaps: Removed vmap lookup functions duplicating functionality of each other 2024-03-07 00:23:52 +01:00
Shauren 3f8f867425 Core/PacketIO: Implemented and enabled SMSG_STOP_SPEAKERBOT_SOUND 2024-03-02 00:07:47 +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 877ae5b47d Core/Spells: Implemented SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE 2024-02-19 21:05:03 +01:00
Shauren 6a0de41fd2 Core/PacketIO: Fixed CreateObject packet structure for areatriggers
Closes #29616
2024-01-24 20:10:36 +01:00
Meji 37eb2e64a6 Core/AreaTriggers: Refactor (#29500)
* Moved IsServerside to custom flags
* Flags moved from areatrigger_template to areatrigger_create_properties
* New field to create custom CreateProperties (IsCustom)
* New field to reference custom areatriggers (IsAreatriggerCustom)
* Moved fields for shape data to areatrigger_create_properties
2023-12-30 17:14:09 +01:00
Shauren dfc757acc3 Core/Objects: Fixed SelectNearestPlayer 2023-11-13 19:01:11 +01:00
Shauren 32c537c24f Build fix 2023-10-31 21:22:51 +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 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 0ce96adb7a Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas 2023-10-06 20:22:14 +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 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
ModoX 35e5da37bd Core/Object: Implemented helper method PlayObjectSound 2023-08-13 23:59:24 +02:00
Shauren 1dd4b38170 Core/Creatures: std::chrono-ify TempSummon 2023-08-09 11:37:17 +02:00
Shauren 9e68fd1458 Core/Spells: Fixed spell duration scaling with combo points 2023-07-31 00:11:05 +02:00
Shauren 845f61e0a9 Core/GameObjects: Added stringid to gameobjects 2023-07-30 13:55:34 +02:00
Shauren 1acaed2af4 Core/Objects: Switch to using designated initializers instead of chaining functions for FindCreatureOptions 2023-07-29 23:46:31 +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
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
Shauren 7881f0ef5f Core/Creatures: Allow summons to be initialized properly when summoner is not in world yet 2023-05-27 18:43:43 +02:00
Shauren c76d96edfb Core/Objects: Fixed uninitialized variables in FindCreatureOptions 2023-05-22 10:40:57 +02:00