Shauren
4cfd439d34
Core/Spells: Implemented SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED
2022-09-30 02:08:33 +02:00
Shauren
75906f3d06
Core/Auras: Added support for SPELL_ATTR5_LIMIT_N limit to other number than just 1
2022-09-30 01:57:52 +02:00
Shauren
d1700ba5fa
Core/Spells: Rename SpellAttr5 to use official attribute names
...
* Implemented SPELL_ATTR8_HASTE_AFFECTS_DURATION
2022-09-30 01:30:14 +02:00
Shauren
a7dc339a6a
SHA-1: 8d16a79dea4c0100d36e13b068c42499a3a48154
...
* Core/Spells: Rename SpellAttr4 to use official attribute names
* Corrected implementation of SPELL_ATTR4_CLASS_TRIGGER_ONLY_ON_TARGET
* Implemented SPELL_ATTR4_NO_HELPFUL_THREAT
* Implemented SPELL_ATTR4_NO_PARTIAL_IMMUNITY
* Implemented SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING
* Implemented SPELL_ATTR4_USE_FACING_FROM_SPELL
* Implemented SPELL_ATTR4_BOUNCY_CHAIN_MISSILES
* Implemented SPELL_ATTR4_AURA_NEVER_BOUNCES
* Implemented SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL
* Implemented SPELL_ATTR4_AURA_IS_BUFF
* Implemented SPELL_ATTR5_MELEE_CHAIN_TARGETING
* Implemented SpellEffectAttributes::ChainFromInitialTarget
2022-09-30 01:16:39 +02:00
Ovahlord
ef3632109d
Core/Spells: ported SpellModOp definitions from master branch
2022-09-17 11:56:54 +02:00
Shauren
ea4bc6c02a
Core/Spells: Rename SpellAttr2 to use official attribute names
...
* Corrected implementation of SPELL_ATTR1_ALLOW_WHILE_STEALTHED
* Implemented SPELL_ATTR2_RETAIN_ITEM_CAST
* Implemented SPELL_ATTR2_ALLOW_WHILE_INVISIBLE
* Implemented SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE
* Implemented SPELL_ATTR2_PROC_COOLDOWN_ON_FAILURE
* Implemented SPELL_ATTR2_NO_TARGET_PER_SECOND_COSTS
* Implemented SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE
* Implemented SPELL_ATTR1_REQUIRE_ALL_TARGETS
* Implemented SPELL_ATTR2_CHAIN_FROM_CASTER
* Implemented SPELL_ATTR2_NO_ACTIVE_PETS
* Implemented SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY
2022-09-13 14:36:32 +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
bd2850cc08
Core/Players: fixed an oversight in spellmod sending that caused pct spellmods to appear clientside as flat bonus
2022-09-12 09:15:33 +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
Shauren
dc8bf301bb
Core/Auras: Fixed saving auras with same spell id but different item source
2022-09-12 09:15:21 +02:00
ariel-
b1adc269fb
Core/Player: partial revert of m_items handling as it's cause of a exploit
2022-09-12 09:15:20 +02:00
ariel-
58e418574e
Core/Player: properly clear m_items array when unequipping items from the bag
...
- Also cleanup weapon damage ap mult when direct destroying a equipped weapon
2022-09-12 09:15:18 +02:00
Ovahlord
f75fdfef6f
warning fix
2022-09-12 09:15:18 +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-
4bb8c93df8
Core/Spells: rework part 4: iterate over effects first
...
Implement far spell queue processing
# Conflicts:
# src/server/game/Spells/Spell.cpp
2022-09-12 09:15:13 +02:00
ariel-
3fbbea61bd
Core/Spells: rework part 3: spells only handle at most one UnitAura and one DynObjAura during its lifetime
...
# Conflicts:
# src/server/game/Spells/Auras/SpellAuras.h
2022-09-12 09:15:13 +02:00
ariel-
80ab03a8af
Core/Player: only call _ApplyWeaponDamage for actual weapons
2022-09-12 09:15:09 +02:00
ariel-
29fddba8fd
Core/Entities: Port some refactors from f1986c6aafdf2457902a7a4cc7acc903cbbdc7bb
2022-09-12 09:15:06 +02:00
ariel-
a804af7219
Core/Spell: SpellValueOverrides encapsulation
...
- No sense to let scripts use SpellValueOverrides, we already have modifiers in CastSpellExtraArgs struct
2022-09-12 09:15:04 +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
Shauren
d448ea4370
Core/Spells: Rename SpellAttr0 to use official attribute names
2022-09-12 09:15:04 +02:00
Ovahlord
fd27f0020d
Core/Units: defined all faction template flags and properly implemented FactionTemplateFlags::HatesAllExceptFriends
...
*refactored FactionTemplateEntry helpers to use pointers instead of references since we use datastore pointers in all cases so there is no need to create references
2022-08-10 20:28:47 +02:00
Shauren
786131a162
Core/Transports: Localized transport objects within each map
...
Transports no longer move between maps, each map gets a separate copy of the transport object and players are moved between them when transferring to another map
This means they can no longer be globally looked up in HashMapHolder
2022-06-19 18:11:20 +02:00
Ovahlord
8312130d34
Core/Transports: corrected a few more mistakes when reverting and porting transport changes
2022-06-18 22:06:44 +02:00
Shauren
25465699f7
Core/GameObjects: Transport (type 11) improvements
...
* Fully synchronize serverside animation progress with client
* Implemented updating passenger positions on elevators
* Removed visibility hack for elevators that always forced CreateObject packet to be sent to client
2022-06-18 21:36:17 +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
Intel
ce79689c96
Core/Player: Prevent updating visibility if player is not in world. Closes #13659
...
(cherry picked from commit 3ec88b7086953685617c2ccd79207a388d20e129)
Closes #27914
2022-05-18 13:52:36 +02:00
Ovahlord
a82fe54bb7
Core/Skills: assign loaded skills that have been marked as forbidden to a proper skill position to avoid interfering with legit skills
...
closes #332
2022-03-25 11:37:52 +01:00
Ovahlord
5f2b1e45e4
Core/Spells: improve integer to float conversions and checks for spell proc entries
2022-03-10 20:43:12 +01: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
Chaouki Dhib
17c4d8f6d9
Core/Spells: fix wrong distance calculations in AoE spells [Needs testing] ( #16290 )
...
Core/Spells: Fix wrong distance calculations in AoE spells.
Pull request #16290 by chaodhib.
God bless, finally.
(cherry picked from commit a1f2f30c145f6ad9c4baeffeff32618e71ff537c)
2022-02-16 04:49:24 +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
ariel-
827fcb652a
Core/Entities: Fix null-dereference crash
...
Closes #19191
(cherry picked from commit d61e0f79c40681ce7675e878e0ec0bdc2294527f)
2022-02-16 04:49:24 +01:00
ariel-
b8d1bab8de
Core/Spells: refactor spell_enchant_proc_data table
...
- Renamed fields to mimic those in spell_proc
- Added Enchant proc attributes for controlling specific enchant features
Ref #7789
(cherry picked from commit f609e7a08b3b4d2d9642e5ec252e1eedad836f0f)
2022-02-16 04:49:24 +01:00
ariel-
5e57ad6fa8
Core/Scripts: fix Nightfall proc chance and reduce it for victims with level above 60
...
Closes #15734
missing code
(cherry picked from commit eac9c1f0b992fd3622fd7dd864b2acc2781ec778)
2022-02-16 04:49:24 +01:00
xinef1
a627ea354a
Properly stop attacking after player leaves ffa area (like Gurubashi Arena) ( #18952 )
...
(cherry picked from commit 4eae29d421e1d7a28aaa50d401cbbf09c50bd476)
2022-02-16 04:49:24 +01:00
xinef1
df9738aaa9
Core/Misc: Fixed player corpse looting, added player corpse loot and some more ( #19122 )
...
* Fixed corpse looting in wintergrasp
Added corpse loot for wintergrasp quests and To the Looter Go the Spoils (1166) achievement
Don't generate money for loot if no loot mode is available
Simplified few things
(cherry picked from commit 2412886ef69d305df1bd6e6422ca3134c0ab1449)
2022-02-16 04:49:24 +01:00
Shauren
f2b4f2208e
Core/Objects: ported master branch handling for properly destroying objects via out of range and destroy object opcode
...
# Conflicts:
# src/server/game/Entities/Creature/Creature.cpp
2022-02-02 16:24:42 +01:00
Xinef
62a7c88ef6
Core/Achievements: Optimized resetting achievement criteria by condition and changed the functionality to properly reset all possible criteria with given condition
...
Closes #18905
(cherry picked from commit 7c7b877c3fc0292f33f54f4e8b514be3bf8514a6)
2022-01-28 22:32:59 +01:00
Xinef
dc15ba1193
Core/Achievements: Greatly optimize achievement system by splitting large types by miscvalue
...
Closes #18633
(cherry picked from commit 9b44ed9cda347bfda1078666b3779d985fc37b2b)
2022-01-28 22:32:59 +01:00
Ovahlord
ba4df11ab8
Core/Items: handle ITEM_MOD_EXTRA_ARMOR
...
closes #323
2022-01-21 23:12:16 +01:00
Ovahlord
3ff8840fe2
Core/Items: ported several enchantment flag implementations from master branch
2022-01-09 18:15:38 +01:00
Ovahlord
7f62463f36
Core/Movement: no longer blindy rely on ack messages to change movementstatus values as the client can and will sometimes ignore packets such as when receiving movement packets while not being sent out via update object (changing maps via teleport)
2022-01-04 15:04:49 +01:00
Ovahlord
7b3f163ef6
Core/Movement: no longer override a player's movementInfo with the info returned from dismissing controlled vehicles as these do not belong to him. This fixes players getting stuck in a disable gravity state when exiting vehicle seats that have disabled a player's gravity
2022-01-04 12:59:55 +01:00