Commit Graph
894 Commits
Author SHA1 Message Date
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
DevPrime 914da12cc1 Core/Misc: fixed no pch build 2020-03-27 23:48:19 +01:00
Ovahlord 98b075cb4b Core/Spells: implement TARGET_CORPSE_SRC_AREA_RAID and updated remaining resurrection effect handlers for updated corpse targeting 2020-03-26 22:03:58 +01:00
Ovahlord df193945d9 Core/Spells: implement corpse target type support and properly fix resurrections 2020-03-26 19:54:54 +01:00
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +01:00
Ovahlord fc12e97cfe Core/Spells: implement SPELL_EFFECT_APPLY_AURA_2 and TARGET_DEST_CASTER_FLOOR 2020-03-14 21:14:07 +01:00
Ovahlord d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
Ovahlord 2ad22015ad Core/Spells: another followup for the summon number logic 2020-02-03 08:37:38 +01:00
Ovahlord c0ff73467f Core/Spells: corrected logic in 494404a549 2020-02-02 15:54:40 +01:00
Ovahlord 494404a549 Core/Spells: added another attribute for summon number restrictions 2020-02-02 15:48:58 +01:00
Ovahlord 6c74be5dfa Core/Spells: added another summon number restriction based on spell attribute research 2020-02-02 15:45:12 +01:00
Ovahlord 5b8e441b40 Core/Spells: f04a20d717 followup 2020-02-02 12:38:15 +01:00
Ovahlord f04a20d717 Core/Spells: set ownerGUID only under certain circumstances instead of setting it always
* The number of summons is now entirely determined by the effect value of the summon spell and only skipped for totems
2020-02-02 12:23:59 +01:00
Ovahlord 638d368130 Core/Creatures: re-organized default summoning behaivior to make sure that all fields are set before the summon gets sent out to clients 2020-01-31 11:29:58 +01:00
Ovahlord 86d479a087 Core/Spells: expand personal spawn handling for summons to all kind of summons
* personal summon target checks for spells will now always happen instead of only if a player is the caster
2020-01-31 07:46:43 +01:00
Ovahlord eaa635ab32 Core/Movement: backported cleanup for determining follow movement on appearing instead of calling evade modes right away 2020-01-31 07:34:11 +01:00
Ovahlord fcb79fee07 Core/Datastores: updated DBC structure names to generated member format 2020-01-25 12:36:32 +01:00
Aokromes d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
Warpten c69627f4b4 Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23)
Original research by @xvwyh.
2020-01-04 15:05:22 +01:00
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Ovahlord 0dd5fdafbd Core/Spells:
* corrected crit chance bonus for Last Word Talent
* fixed Improved Searing Pain talent
* removed hackfix for Improved Mind Blast
* moved Incerate damage bonus hack into proper spell script
* updated and fixed Afterpath proc
* fixed Shadow and Fame proc
* updated Backdraft proc
* fixed Burning Embers talent
* fixed Empowered Imp talent
* fixed Fire and Brimstone damage bonus for Incenerate and Chaos Bolt
* updated several spell scripts to new model
2019-12-08 20:23:51 +01:00
Ovahlord c66e194f23 Core/Spells: updated skinning required level values to Cataclysm
* hi @warpten
2019-12-03 21:26:15 +01:00
Ovahlord b8ffc464d6 Core/Spells: hardcoded weapon damage percent bonuses will no longer get applied twice
* use correct combo point spell for Mangle
2019-12-03 15:09:53 +01:00
Ovahlord 386160d359 Core/Spells: define and implement PROC_FLAG_JUMP
* added forward leap exception for Thermal Jump
2019-11-30 01:07:38 +01:00