Shauren
fe7e42b0b8
Core/WorldStates: Migrate Tol Barad worldstates to new system
2022-10-09 13:11:33 +02:00
Ovahlord
9f85a104d7
Core/Spells: fixed a typo that was causing all charmed units to now have any spells despite being defined as such
2022-10-09 12:47:04 +02:00
Shauren
10823f8fcc
Core/WorldStates: Add area requirements to world states
2022-10-09 01:34:37 +02:00
Shauren
8a98cc0205
Core/WorldStates: Migrate Wintergrasp worldstates to new system
2022-10-09 01:15:02 +02:00
Carbenium
0ef220fca0
Battlefields: Move BF scripts out of game
...
This commit introduces the usual script interface
for battlefields.
2022-10-09 00:35:07 +02:00
Carbenium
d5f7d7b754
Core/Misc: Move WorldState enum to SharedDefines
...
Move WG battlefield world states to the global enum
2022-10-09 00:03:42 +02:00
Carbenium
45e1e8c282
Core/Misc: Create new enum for AreaIds
...
Move Wintergrasp BF related values there
2022-10-08 23:59:21 +02:00
Shauren
0461bdc730
Core/WorldStates: Migrate conditions and criteria to new worldstate api
2022-10-08 23:18:03 +02:00
Ovahlord
2521489e2b
Core/World: adapted Master branch version of world state handling
2022-10-08 23:13:06 +02:00
Ovahlord
a13f955a82
Core/Loot: fixed a cherrypick mistake that was causing all creatures to drop pickpocket loot only
2022-10-08 10:03:31 +02:00
Shauren
0ba58aeb6e
Core/Maps: Move terrain data handling out of Map class
...
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-10-08 00:25:32 +02:00
Shauren
21e9854686
Core/Maps & Extractors: Move copypasted map file headers into a single shared file and replace #defines with enums
2022-10-07 22:16:46 +02:00
Shauren
0ca955897f
Core/Spells: Remove all hardcoded restrictions for pick pocket spell effect and rely only on presence of pickpocket loot in db
2022-10-04 12:42:10 +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
Shauren
6900a904cb
Core/Spells: Implemented SPELL_ATTR6_DO_NOT_RESET_COOLDOWN_IN_ARENA
2022-09-30 10:53:09 +02:00
tisk
a7ad67bb63
Core/Spells: Implemented SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING
2022-09-30 10:52:24 +02:00
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