Commit Graph

168 Commits

Author SHA1 Message Date
Shauren
36332d2463 Core/Misc: Remove a bunch of code from headers 2025-06-13 16:36:03 +02:00
Shauren
cc7e1bdcae Core/Instances: Added back missing cases to InstanceScript::SendEncounterUnit that are supported in 3.3.5 branch 2024-02-14 15:33:59 +01:00
Shauren
765f86fdc0 Core/Achievements: Implemented DefeatDungeonEncounter and DefeatDungeonEncounterWhileElegibleForLoot criteria types 2023-11-12 00:31:45 +01:00
ModoX
0e2f041728 Core/InstanceScript: Refactored door types to reflect its behavior (#29406) 2023-11-06 00:11:42 +01:00
Shauren
47fc3cb852 Core/Instances: Kill instance_encounters table, it is no longer neccessary 2023-09-19 10:59:04 +02:00
Shauren
cf79cfa1b2 Core/Instances: Removed deprecated field from InstanceScript (here too) 2023-09-19 00:23:55 +02:00
Shauren
1e29c0066e Core/Instances: Removed deprecated field from InstanceScript 2023-09-19 00:18:50 +02:00
Shauren
ba224f70ad Core/Auras: Defined and implemented new aura interrupt flags 2023-09-03 16:06:43 +02:00
Teleqraph
998ee363c5 Core/Auras: Implement SpellAuraInterruptFlags2::EndOfEncounter (#28939)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2023-05-06 21:03:00 +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
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
5f1a4cf904 Core/Loot: Set loot dungeon encounter id before generating 2022-10-05 20:04:15 +02:00
Shauren
ca5f7a15b9 Core/Instances: Spawn defeated bosses in instances using loot based locks if their preceding bosses are not killed 2022-10-04 00:19:38 +02:00
Shauren
5a516fb654 Core/Loot: Send DungeonEncounter id in SMSG_ITEM_PUSH_RESULT 2022-10-04 00:19:38 +02:00
Shauren
4cbaaa3435 Core/Instances: Save instance entrance based on completed encounters 2022-10-04 00:19:38 +02:00
Shauren
1e99011edf Core/Scenarios: Attempt to restore scenario state from completed encounter info 2022-10-04 00:19:38 +02:00
Shauren
76be303351 Core/Scripts: Save instance data in JSON format 2022-10-04 00:19:38 +02:00
Shauren
9b924522d0 Core/Instances: Delete InstanceSaveMgr and replace most of its uses with new InstanceLockMgr 2022-10-04 00:19:38 +02:00
Shauren
17665c929c Core/Instances: Instance lock rewrite (WIP) 2022-10-04 00:19:38 +02:00
Shauren
3598d280ff Core/WorldStates: Implemented setting dungeon encounter world states 2022-07-24 22:15:57 +02:00
Shauren
de26cafbbe Core/WorldStates: Allow setting "hidden" field of SMSG_UPDATE_WORLD_STATE 2022-07-07 23:07:20 +02:00
Shauren
cfca26c264 Core/WorldStates: Migrate instance script worldstates to new system 2022-06-30 00:16:41 +02:00
Shauren
e2cf6d68fc Core/SpawnGroups: Renamed GetSpawnGroupsForInstance and its argument to not cause confusion with instance ids (equivalent to instance save id, not map id) 2022-06-24 21:38:29 +02:00
Shauren
1c62b0b90f Scripts/Instances: Replace manual criteria timer starts in instances with new GameEvents api 2022-04-24 13:58:18 +02:00
Shauren
e1abd8256b Core/Achievements: Implemented criteria flag "Reset on Start" and removed manual script workarounds for it 2022-04-24 12:36:28 +02:00
Ovah
203dfec2a1 Core/Maps: add new FLAG_ALLIANCE_ONLY and FLAG_HORDE_ONLY for instance spawn groups (PR #25656)
(cherry picked from commit 4abbeb2a60)
2022-03-01 21:46:43 +01:00
Traesh
543a7b79c3 Core/Maps: Add Map::DoOnPlayers helper function (#25233) 2022-02-16 23:54:26 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
f8ad7017dd Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them) 2022-02-12 21:36:46 +01:00
Carbenium
5f296fb7c7 Core/InstanceScript: std::chrono-ify DoRespawnGameObject
(cherry picked from commit d7ff8c272a)
2022-01-23 23:09:27 +01:00
ccrs
fce492d2e2 Core/Instance: 14788ce followup
No need to repeat code

(cherry picked from commit b9a8095967)
2021-12-13 00:42:19 +01:00
ccrs
934b72262d Core/Instance: add new method
(cherry picked from commit 14788ce026)
2021-12-13 00:42:18 +01:00
ccrs
6a63200e40 Core/Instance: add new hook & method
(cherry picked from commit 953b05459a)
2021-12-13 00:42:18 +01:00
ccrs
70fd6e7398 Core/Instances: improve DoRemoveAurasDueToSpellOnPlayers & DoCastSpellOnPlayers handling
(cherry picked from commit 22b3b21ae3)
2021-12-13 00:42:18 +01:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Treeston
5c80f50734 Core/Spawning: Actually check spawn group state before processing a respawn. It feels like that is something that should've been noticed at some point.
Also remove CreatureScript::CanSpawn since nobody uses it, and spawn groups do the same thing.

(cherry picked from commit 94b5d9bfa1)
2021-08-08 21:21:34 +02:00
Gooyeth
17004c4121 Core/Scripts: Add bossId in state error log. (#21421)
(cherry picked from commit b9aec3b4d3)
2021-06-21 00:06:41 +02:00
ariel-
3bc3b3eeeb Core/Globals: revert back to unordered_map for templates
Partial revert of commit b64c504314
See discussion on b64c504314

(cherry picked from commit b75ff7d4bf)
2021-06-16 01:29:25 +02:00
ariel-
21556667c1 Core/Globals: throw some RAII into ObjectMgr, and load templates into vectors
Ref #14274

(cherry picked from commit b64c504314)
2021-06-16 01:00:11 +02:00
ariel-
fccf1a8c62 Core/Auras: removed caster dependency from core
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling

Closes #19876

(cherry picked from commit cb9e72e521)
2021-06-13 00:59:13 +02:00
Shauren
0b2087ae41 Core/Criteria: Add all values of CriteriaStartEvent 2021-06-01 21:16:41 +02:00
Shauren
f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
Treeston
06a1271a50 Core/Misc: random refactors
(cherry picked from commit 37dff2b7a1)
2020-08-23 17:47:41 +02:00
Treeston
27806eeac9 Core/Spawn: Move spawn group state management from sObjectMgr to the Map object, which makes it actually function as intended with instances. Woops.
(cherry picked from commit f279207d48)
2020-08-23 17:00:59 +02:00
Treeston
608c9aaabf Scripts/InstanceScript: Implement database framework for managing spawn groups based on boss state. (#20103)
(cherry picked from commit 84590be26d)
2020-08-22 13:48:44 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
deca201f77 Core/DataStores: Simplified string memory allocation in db2 files, dropped unneccessary level of indirection 2020-06-27 13:33:17 +02:00
ariel-
3f79c9f696 Core/AI: AreaBoundary refactor
- Added an auxiliary function IsInBounds to base CreatureAI
- Changed container to vector. Set had no sense because we're storing new pointers, they have different addresses even if the boundary is the same

(cherry picked from commit 2f99fa09c9)
2020-04-24 17:18:51 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00