Commit Graph
917 Commits
Author SHA1 Message Date
Ovahlord 1149fbce3d Core/Spells: revert an unwanted change that sneaked into 9085526f9a 2022-01-12 17:57:41 +01:00
Ovahlord 9085526f9a Core/Spells: define and implement SPELL_ATTR8_PERIODIC_CAN_CRIT
* SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER has been moved to a custom attribute (SPELL_ATTR0_CU_DONT_RESET_PERIODIC)
2022-01-12 17:33:34 +01:00
Shauren adfc991f02 Core/Spells: Use orientation given in destTarget instead of always taking casters orientation for all effect types 2021-12-30 20:06:10 +01:00
ariel- af98e8516c Core/Auras: reworked multiplicative AuraEffects calculation 2021-11-28 12:14:05 +01:00
Ovahlord edbbeba5a2 Core/Movement: ported client control logic updates from 335 branch 2021-11-06 23:41:34 +01:00
Ovahlord 32ff2f427f Core/Spells: implement triggering spell casts from charge effects 2021-10-30 16:59:33 +02:00
Ovahlord fcc371e453 Core/Spells: fixed mounting summoned vehicles if the seat id is o 2021-10-10 01:01:55 +02:00
Ovahlord 52f45202d8 Core/Spells: Blood Rune activation no longer can activate Death Runes 2021-09-11 12:29:40 +02:00
Ovahlord 8ac7e71690 Core/Spells: implement summon properties parameter types based on the leaked enumerated strings values
Summon spells can now be commanded to interpret their basepoints depending on the parameter type that has been assigned to the summon properties dbc record Id

* implemented SummonCreatureExtraArgs to reduce the amount of arguments in Map::SummonCreature
2021-08-15 10:35:02 +02:00
Ovahlord c927ca98ba Core/Spells: allow knockback spell effects to use negative misc values as well for forward knockbacks 2021-08-15 07:07:37 +02:00
Ovahlord 8011d2de29 Core/Spells: ported resistance and immunity updates from 3.3.5 branch 2021-06-12 14:10:44 +02:00
Ovahlord a10ddd49bf Core/Spells: allow Death Runes getting activated by Blood Rune activation spell effects 2021-05-24 18:33:55 +02:00
Shauren 0f02c6a699 Core/Spells: Implemented SUMMON_PROP_FLAG_PERSONAL_GROUP_SPAWN 2021-03-29 20:56:00 +02:00
Shauren ddb50c2e3d Core/Objects: Pass privateObjectOwner guid directly to SummonCreature functions 2021-03-29 20:52:32 +02:00
Matan Shukry 434bc017c2 Core/Objects: Move personal summon handling from TemporarySummon/GameObject to WorldObject and check it using dedicated guid field 2021-03-29 20:45:13 +02:00
Ovahlord 4f23fb3d29 Core/Quests: make the player questgiver handling a bit more flexible to allow popup quest accepting at more places in the future 2021-03-28 14:44:16 +02:00
Ovahlord 83298b52a2 Core/Spells: ported SpellInterruptFlags updates from master branch and corrected some own implementations based on these new results 2021-03-25 15:53:26 +01:00
Shauren fed82c1002 Core/Auras: Defined and implemented many new interrupt flags 2021-03-24 14:53:30 +01:00
Ovahlord 44de269fca fixed build errors caused by recent cherry picks 2021-02-19 13:31:04 +01:00
Matan Shukry abae5e4596 Core/Spells: Implemented summoning a personal gameobject effect (#25917)
# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Miscellaneous/SharedDefines.h
#	src/server/game/Spells/SpellInfo.cpp
2021-02-19 13:01:10 +01:00
Ovahlord e2d6a2f0cd Core/Players:
* converted SMSG_SET_PROFICIENCY to packet class and corrected initial sending for it
* removed death rune hack and replaced it with the correct packet instead
* corrected sending order for a few login packets
2020-11-21 14:45:36 +01:00
Ovahlord 754c138f89 Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch 2020-11-04 22:37:11 +01:00
Ovahlord 72d7819c2e Core/Misc: converted more packets to packet class and implement some new fields for them 2020-10-22 08:47:24 +02:00
Wyrserth d2b27bc43c Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura (#23319)
* Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura.

* Forgot to change this in last-second rename.

* Apply suggested changes, thanks Shauren!

# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Unit/UnitDefines.h
#	src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
2020-09-11 15:06:15 +02:00
Ovahlord b36233b8f6 fixed build 2020-08-09 17:55:50 +02:00
Ovahlord ddbe5d9dd2 Core/Spells: ported some edge case fixes for taunts 2020-08-09 17:45:17 +02:00
Treeston 7df7dcca7d Core/Threat: Threat system adjustments:
* Online states are now re-evaluated before victim update instead of continuously. Closes #22226. Tagging #21501.
* Victim update now happens every 1s as opposed to every server tick unless current target goes away.
* Suppressed threat is no longer re-established until the victim gains additional threat (by hitting the target, for instance).
* Assistance threat is now split between non-controlled units threatened by target, as opposed to all units threatened by target.

# Conflicts:
#	src/server/game/Combat/ThreatManager.cpp
2020-07-22 17:44:05 +02:00
Treeston 942c3a77da Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.
2020-07-22 16:49:37 +02:00
Treeston 7d361cc25c Core/Spell: Remove some leftover hack code from ::EffectSanctuary pertaining to vanish. None of this code did anything anymore.
# Conflicts:
#	src/server/game/Spells/SpellEffects.cpp
2020-07-22 15:08:14 +02:00
Treeston ec04d3b2cd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.
2020-07-22 13:43:23 +02:00
Peter Keresztes Schmidt cbd6fb2315 Build: Enable -Wimplicit-fallthrough on clang (#25056)
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs

Related: #25006

* Misc: Add some missing breaks (no-ops) to satisfy clang

Related: #25006
Closes #25055

* Build: Enable -Wimplicit-fallthrough on clang

Closes #25006
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/scripts/Battlefield/BattlefieldWG.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
#	src/server/shared/DataStores/DBCDatabaseLoader.cpp
2020-07-18 22:47:52 +02:00
Ovah b09d6e2330 Core/Movement: reimplement follow movement (#124) 2020-06-26 21:22:21 +02:00
Ovahlord 893b80d0c4 Scripts/ScarletEnclave: ported several fixes from 335 2020-06-14 00:40:59 +02:00
Warpten 0af44ccc01 Core/Spells: implement DoT clipping
* Core/Spells: Implementation of DoT clipping.
* Core/Utilities: Backport "EnumFlags v3.0" from master.
* Core/Spells: Switch AURA_REMOVE_MODE to a flag set.
2020-06-04 18:16:03 +02:00
Ovahlord 518d0ce669 Core/Spells: fixed a potential crash in skinning player corpse spell effect handler 2020-05-01 21:20:31 +02:00
Ovahlord a2e6b77208 Core/Spells: restored summon number restriction as it needs more research on how to handle it 2020-04-24 22:48:59 +02:00
Ovahlord bc68ecdbcc Core/Spells: fixed The Quick and the Dead guild perk 2020-04-23 17:04:32 +02:00
Ovahlord bc178168cd Core/GameObjects: spellcaster and guild bank gameobjects will now inherits their summoner's guild data if available 2020-04-23 03:26:02 +02:00
Ovahlord b22f52acfa Core/Spells: fixed build 2020-04-22 17:38:51 +02:00
jackpoz 3f7c7dcc30 Core/Spells: Fix assertion triggered 2020-04-22 17:04:57 +02:00
Ovahlord 78acad8f53 Core/Creatures: corrected vehicle requirements to automatically enter a summoned vehicle 2020-04-22 04:27:04 +02:00
Ovahlord b653f2f819 Core/Units: ported power type updates from master branch 2020-04-22 03:13:02 +02:00
Ovahlord d30c811d9e Core/Creatures: reworked tempoary summon creation
* all stats and values will now be set before summons are getting added to map
* cleaned up summon spell effect handler to reduce duplicade code
* summoner guids will no longer be set for every minion and correctly handle assigning creator guids instead. These values will serve as fallback guid if there is no summoner guid
* friendly tempsummons will now inherit the guild data of their player and pass them on to further allied summons. This fixes guild specific visuals for creatures such as Guild Battle Standards and Guild Heralds.

Todo: check for regressions
2020-04-22 00:20:18 +02:00
Ovahlord 73722f2531 Core/Spells: fixed build 2020-04-16 14:45:16 +02:00
Shauren cb6ce1302b Core/Misc: Defined new summon properties titles 2020-04-07 18:33:13 +02:00
Ovahlord 113202ea48 Core/Packets: converted SMSG_PLAY_MUSIC to packet class and corrected packet structure 2020-04-07 15:59:33 +02:00
Ovahlord 77cf10ee5f Core/Misc: fixed gcc warnings 2020-04-04 20:20:41 +02:00
Ovahlord dc64d9ab91 Core/Spells: fixed a possible client crash introduced in b2af17eb4a which was not covering cataclysm spell scenarios where a pull towards dest spell can indeed have a misc value of 0 2020-03-29 19:11:22 +02:00
NoName b2af17eb4a Core/Spell: Proper SPELL_EFFECT_PULL_TOWARDS_DEST implementation for players
* Core/Spell: SPELL_EFFECT_PULL_TOWARDS correction
2020-03-29 16:23:47 +02:00
Ovahlord 9bfe43a88a Core/Entities: remove PhaseMask
* database fields and values will remain until they have been converted to their according phase IDs
2020-03-29 04:05:43 +02:00