Commit Graph
799 Commits
Author SHA1 Message Date
sevi 3f65afb962 Core/Player: Fix MAX_TITLE_INDEX calculation for title mask (#461)
* Core/Player: Fix MAX_TITLE_INDEX calculation for title mask

* Core/Player: Replace sizeof-based bit calculation with explicit 64
2026-02-18 21:34:24 +01:00
Shauren 672579de8e Core/Players: Define all character flags used in SMSG_ENUM_CHARACTERS_RESULT 2025-08-29 22:04:51 +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
Treeston f95a8bfdca Core/Common: Tokenizer -> Trinity::Tokenize 2025-07-30 20:51:19 +02:00
Ovahlord a9579cb33b Core/Skills: ported skill refactors from master branch
* implement automatic skill learning from dbc data which
2025-06-21 01:23:27 +02:00
Ovahlord ca505967e3 Core/Quests: fixed sending the correct gold amount when a quest has RequiredMoney 2025-06-18 19:51:26 +02:00
Ovahlord 44f466030b Core/Quests: ported quest level scaling and reward money calculation from Classic 2025-06-18 16:53:29 +02:00
Mykhailo Redko a145c21495 Core/PacketIO: Implemented CMSG_BUSY_TRADE and CMSG_IGNORE_TRADE 2025-06-17 17:48:49 +02:00
stoneharry 1c38edaae4 Core/Chat: Apply chat flood control to addon messages as well
(cherry picked from commit 5384fc194f9061bbac314abb66a9bac88aaaf760)
2025-06-17 17:43:49 +02:00
Ovahlord c4f1f8d82a Core/Player: converted all macros into constexpr 2025-06-17 13:28:56 +02:00
Ovahlord c092c6ad00 Core/Player: allow players to learn a primary specialization without having to select a talent
* converted CMSG_LEARN_PREVIEW_TALENTS to packet class
2025-06-16 20:32:28 +02:00
Ovahlord 53df12ae73 Core/Player: moved PlayerTalentInfo into a own header and removed the unneeded pointer mess 2025-06-16 18:50:33 +02:00
Ovahlord 452da00b2a Core/Player: updated the Death Knight Rune system to get closer to the Classic implementation
* Runes will no longer trigger a 1.5 seconds cooldown when missing and instead refund the runes immediately
2025-06-15 15:13:56 +02:00
Ovahlord 4f08f34e26 Core/Misc: converted more raw pointers to smart pointers 2025-06-14 12:55:35 +02:00
Ovahlord 1b22d87f91 Core/Player: converted void storage items to smart pointers 2025-06-13 20:19:56 +02:00
Ovahlord f46b6f0797 Core/Units: removed the packetOnly parameter from several movement flag setters 2025-03-10 17:43:42 +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 ff0eb86c54 Core/Achievements: ported start event and fail event mechanics from master branch 2023-10-11 01:38:01 +02:00
Ovahlord 5c13baf230 Core/Misc: removed unused includes and removed unit include from vehicle.h 2023-10-10 03:01:05 +02:00
Shauren 0b5ac91a0c Core/Misc: Add missing virtual destructors 2023-08-22 14:28:04 +02:00
Shauren b48e834b1c Core/Loot: Removed unneccessary field from Loot class and pass it as parameter everywhere 2023-07-12 13:05:00 +02:00
Ovahlord a3dd0d75cf Core/Quests: ported quest flag and visbility update changes from master branch 2023-07-11 15:21:09 +02:00
Ovahlord 5f808b5247 Core/Entities: modernized several pointers and arrays in Player, Unit and Creature classes 2023-07-08 17:55:25 +02:00
Shauren 07376de9fc Core/Spells: Always remove spell target from transport on teleport spells if spell destination does not target a position on the transport 2023-06-29 20:31:45 +02:00
Ovahlord f18a592a7e Core/GameObjects: remove incorrect gathering experience implementation 2023-01-17 19:56:25 +01:00
Shauren 5f8f854794 Core/Players: Allow teleporting to a specific instance id 2023-01-09 11:22:58 +01:00
Ovahlord c72018b1a8 Core/Players: no longer allow Goblins and Worgen to leave their starting zones early and added their according error messages when trying to do so 2022-12-31 17:16:28 +01:00
Ovahlord e6103dae3e Core/Players: moved area exploration to a own helper 2022-12-31 16:19:40 +01:00
Shauren 3ae02de71b Core/Quests: Reset seasonal quests based on saved completion time and intended holiday start time 2022-12-24 23:56:06 +01:00
Shauren ccff3af924 Core/WorldStates: Migrate battleground HolidayWorldState to new system 2022-12-21 22:01:54 +01:00
Ovahlord 554eb584b0 Core/Packets: updated internals for currency handling
* converted SMSG_SET_CURRENCY to packet class
* greatly simplified ModifyCurrency method
* handle CMSG_SET_CURRENCY_FLAGS packet
* fixed sending currency flags upon login. This fixes displaying them in the bagpack
* .modify currency is no longer affected by SPELL_AURA_MOD_CURRENCY_GAIN and can now bypass weekly limits
* defined all currency type flags
2022-12-05 10:10:45 +01:00
Shauren fe7e42b0b8 Core/WorldStates: Migrate Tol Barad worldstates to new system 2022-10-09 13:11:33 +02:00
Shauren c3b52fd29f Core/Auras: Improve aura interactions with immunities on spell effect level
* Effects that target is immune to will be suppressed instead of completely removed
2022-09-30 12:49:31 +02:00
Ovahlord ef3632109d Core/Spells: ported SpellModOp definitions from master branch 2022-09-17 11:56:54 +02:00
Ovahlord 6d89d242a7 Core/Loot: no longer restrict need before greed rules to lfg parties only and no longer allow players to roll on mounts and companions they already have 2022-09-12 09:15:35 +02:00
Ovahlord 7e72ee241f Core/Players: removed an unused spellmod helper 2022-09-12 09:15:32 +02:00
Shauren ca7d36873f Core/Spells: Rename SpellAttr1 to use official attribute names
* Implemented SPELL_ATTR1_NO_SKILL_INCREASE, SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT, SPELL_ATTR1_DISPEL_ALL_STACKS
2022-09-12 09:15:31 +02:00
Wyrserth 2f5fd3f227 Core/Spells: don't allow spells with SPELL_EFFECT_CREATE_ITEM_2 to be cast if there isn't enough space in inventory 2022-09-12 09:15:24 +02:00
Shauren 96c4a1b1f9 Core/Spells: Fixed unapplying rockbiter weapon 2022-09-12 09:15:21 +02:00
ariel- 082121cb38 Core/Entities: cleanup of weapon damage
- ScalingStatDistribution/Value (ie heirlooms): apply bonuses in all cases, some calls used nullptr (like after disarm) and item wasn't regaining them
- AP multiplier wasn't correctly reflected after unequipping a weapon
- Correctly set base damages at unequip
2022-09-12 09:15:18 +02:00
ariel- b6fac86b71 Core/Spells: rework part 5: GameObject casting 2022-09-12 09:15:14 +02:00
ariel- 29fddba8fd Core/Entities: Port some refactors from f1986c6aafdf2457902a7a4cc7acc903cbbdc7bb 2022-09-12 09:15:06 +02:00
ariel- 1d3fbff332 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
2022-09-12 09:15:04 +02:00
Ovahlord 6e9ec1a4bf Core/Transports: undo all custom transport changes as preparation for cherry picks 2022-06-18 18:37:14 +02:00
Ovahlord 74c60fa456 Core/Spells: ported SPELLMOD_PCT calculation fixups from master branch 2022-06-18 13:18:48 +02:00
Mikhail Redko c0a1bc8c8d * Core/Misc: Improvement item durability repair logic
* Move item repair cost calculation logic from Player::DurabilityRepair to Item::CalculateDurabilityRepairCost
* Make item repair cost calculation more congruent with client logic (std::round)
* Do not repair items if player does not have enough money to pay for the repair of all items at once
* Withdrawing money from guild bank only once to avoid spam in the guild bank log and reduce number of transactions in the database
2022-06-15 14:24:35 +02:00
xinef1 e5f3de026f Core/Misc: implemented petition manager (#19010)
- Implemented manager for petitions to perform all petition related tasks and synchronize data with database.
- This kills ugly synchronous querys on packet handlers

(cherry picked from commit a4aa95a5a39d75b9e38fe03aac57ceb7d9bba90f)
2022-02-16 04:59:12 +01:00
ariel- 4ad1d377fe Core/Entities: virtualize CheckAttackFitToAuraRequirement
- Should've been like this to begin with

(cherry picked from commit 21d95a1d767c95910d4508e0e83f34b4f89f587a)
2022-02-16 04:49:24 +01:00