Commit Graph

26687 Commits

Author SHA1 Message Date
ariel-
5d8fc591ed Core/Unit: fix mess-up with CalcArmorReducedDamage parameter order 2022-09-12 09:15:06 +02:00
ariel-
29fddba8fd Core/Entities: Port some refactors from f1986c6aaf 2022-09-12 09:15:06 +02:00
ariel-
6fc5bfcd08 Core/Unit: fixed crash 2022-09-12 09:15:05 +02:00
ariel-
fd228f6c41 Core/Unit: simplified and arranged spell bonus calculation 2022-09-12 09:15:05 +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
24b84ba980 Core/Spells: Eye for an Eye will now deal damage to the attacker instead of attempting (and failing) to target the caster himself 2022-09-12 09:15:03 +02:00
Ovahlord
3c2d2880b7 Core/Spells: Grand Crusader will now only have a chance to proc by hitting the trigger spell's primary target 2022-09-12 09:15:03 +02:00
Ovahlord
8d5544d20c Core/Spells: fixed Judgements of the Just talent 2022-09-12 09:15:03 +02:00
Ovahlord
073f7d34db Core/Spells: fixed Speed of Light and Denounce talents 2022-09-12 09:15:03 +02:00
Ovahlord
bf306d133a Core/Spells: refactored scaling code in SpellEffectInfo::CalcValue to reduce differences with master branch 2022-09-12 09:15:02 +02:00
Shauren
dcd46b8b1a Core/Phasing: Fixed terrain swaps appearing on incorrect maps when player is added to a map wilth not meeting its condition but later condition gets satisfied 2022-08-14 18:15:27 +02:00
Ovahlord
6d79ced79a Core/Weather: some minor refactors to reduce differences between master branch 2022-08-12 23:31:54 +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
Ovahlord
45af6bbd4b Scripts/Firelands: Burning Blast will now deal 10% increased damage instead of multiplying the entire damage 2022-07-23 23:12:18 +02:00
Ovahlord
f09a7a37cc Scripts/Firelands: Majordomo Staghelm's Leaping Flames will now prioritize ranged classes and specs and falls back to any random target when no eligible target has been found 2022-07-23 22:47:54 +02:00
Ovahlord
149d9aec8d Core/Spells: allow Rip's periodic effect to crit 2022-07-17 11:47:56 +02:00
Shauren
4b92f09fec Core/Transports: Initialize stoppable transports at start of path 2022-07-15 22:21:07 +02:00
Shauren
279f1cccae Core/GameObjects: Fixed crash when GameObject::Delete was used for transports 2022-07-10 01:15:57 +02:00
Ovahlord
33843c506f Core/Transports: remove an obsolete check that prevented vehicles from updating their passenger positions.
*vehicles now share the TransportBase class with regular transports
2022-07-09 22:47:12 +02:00
Shauren
16f699b049 Tools/mmaps_generator: Fixed loading db2 stores on linux
* Author @rapsys

Closes #21898

# Conflicts:
#	src/tools/mmaps_generator/PathCommon.h
2022-07-05 20:02:29 +02:00
Ovahlord
67a5f43536 Core/Spells: no longer allow trigger npcs to trigger combat mechanics when launching or hitting spells 2022-07-02 18:15:16 +02:00
Ovahlord
9ea4f3914d Core/Creatures: always remove UNIT_STATE_FOCUSING when releasing spell focus regardless of the spell's attributes to prevent soft-locking a creatures's orientation 2022-07-02 18:15:16 +02:00
Shauren
5931ab55f6 Core/Maps: fixed a typo in world state loading that caused all world states to become realm wide 2022-06-25 19:50:07 +02:00
Ovahlord
846e89c1fc Core/Spells: allow Combustion's damage over time effect to crit 2022-06-24 23:13:48 +02:00
Ovahlord
b13bcc85b0 Scripts/BWD: updated Nefarian's End encounter for new transport mechanics 2022-06-24 23:07:01 +02:00
Ovahlord
dff55fa7ab Core/GameObjects: use the correc HighGuid value when spawning GAMEOBJECT_TYPE_TRANSPORT gameobjects 2022-06-24 22:49:08 +02:00
Ovahlord
1c77132c55 Core/Random: no longer use bernoulli_distribution for roll chances 2022-06-24 22:44:08 +02:00
Ovahlord
2a19782397 Core/Spells: corrected damage bonus effect handling for Shadow Word: Death 2022-06-24 21:50:20 +02:00
Shauren
412f166561 Core/Items: Fixed logic mistake in ItemTemplate::IsRangedWeapon 2022-06-24 21:08:37 +02:00
Shauren
338e9d8033 Core/GameObjects: Use all axis rotations for gameobject model collision, not just orientation 2022-06-20 15:21:55 +02:00
Ovahlord
fc36c0da82 Core/Maps: use correct header definition for Map::ScriptsStart 2022-06-19 22:51:51 +02:00
Ovahlord
da8cb5e5b0 Core/Movement: partial cherrypick of f8ad7017dd 2022-06-19 22:11:09 +02:00
Shauren
8733f6fafa Core/Utils: Added helper function to make creating unique_ptr with custom deleters more convenient
# Conflicts:
#	src/server/game/World/World.cpp
2022-06-19 21:42:45 +02:00
Ovahlord
fc0dc939ba fixed nopch build and some warnings 2022-06-19 21:19:26 +02:00
Ovahlord
fbd92f5476 Core/GameEvents: removed a debugging leftover that was causing GameEvents to not launch at all
* fixed a crash when trying to cast event sources and targets into non-allowed types
2022-06-19 19:56:51 +02:00
Shauren
440aecfe7b Core/Battlegrounds: Replace manual criteria timer starts in battlegrounds with new GameEvents api 2022-06-19 18:47:51 +02:00
Jeremy
c5f81dc58f Core/ZoneScript: Add "invoker" param to ProcessEvent 2022-06-19 18:36:41 +02:00
Ovahlord
b1e99db2a4 Core/Util: ported Coalesce template 2022-06-19 18:20:42 +02:00
Ovahlord
edc3940f37 Scripts/HoO: updated Lift of the Makers console to new transport handling 2022-06-19 18:16:01 +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
Shauren
acb599823e Core/Transports: Fixed stoppable elevator position calculation when going from first floor to third or higher
# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
2022-06-19 16:15:44 +02:00
Ovahlord
aa0b4ab7f5 Core/Misc: resolved more cherrypick mistakes 2022-06-19 00:38:26 +02:00
Shauren
5a236799c2 Core/Transports: Path generation rewrite v2
* No TaxiPathNode row is skipped anymore (events/delays on first node now work)
* Fixed transport animation synchronization with client
* Fixed stoppable transports randomly resuming their path after relogging
2022-06-18 22:37:46 +02:00
Shauren
c682680a2f Core/Movement: Allow overwriting number of steps for spline length calculations
* Also minor cleanup of non-virtual functions in spline derived classes
2022-06-18 22:21:22 +02:00
Shauren
e212f92161 GCC warning fix 2022-06-18 22:16:26 +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
Ovahlord
58aac6430a Core/Transports: corrected a cherry pick mistake for BuildingUpdateValues 2022-06-18 21:55:34 +02:00
Shauren
5c0c2e3f25 Core/Objects: Remove restriction on what object types can be set as active 2022-06-18 21:43:24 +02:00