Ovahlord
bf35a3e2e7
Scripts/World: drop unnecessary GameTime shenanigans from training dummy's script and correct scripting model for current combat / threading model. The dummy will no longer get stuck in a 'engaged' state.
...
* additionally the combat times will now be updated in realtime instead of a 500ms interval which will lead to pin-point accurate results.
2020-07-23 14:37:59 +02:00
Ovahlord
b60da9ba4c
Core/AI: fixed totem target selection
2020-07-23 14:05:56 +02:00
Ovahlord
e677461c5d
Core/Combat: more cleanups and converted threat packets back to packet class
2020-07-23 13:33:46 +02:00
Ovahlord
1ab7a9328f
Core/Combat: reduce differences between 4.x and 335
2020-07-22 21:37:02 +02:00
Ovahlord
ea8d7093e9
Scripts: fixed build
2020-07-22 19:39:43 +02:00
Kelno
507868a9e1
Fixed PvP Combat timer never getting refreshed ( #24058 )
...
* Fixed PvP Combat timer never gets refreshed while meleeing
* Apply Treeston feedback
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com >
2020-07-22 19:24:19 +02:00
Treeston
eb8c652715
Core/Spell: Reset threat to zero when the hunter use Feign Death
...
Closes #23874
2020-07-22 19:24:01 +02:00
Treeston
5823afac9f
Scripts/ICC: Professor Putricide no longer tries to add threat on units it cannot add threat on because of immunity flags. Instead, its AI manually controls the engagement state. Should close #23727 .
2020-07-22 19:22:54 +02:00
Treeston
f41cfa9185
Core/SmartAI: SmartAI creatures no longer process health-based hooks after death.
2020-07-22 19:21:21 +02:00
Treeston
d2df9bdf15
Scripts/Hyjal: Seriously, who calls EnterEvadeMode in a AI constructor????
2020-07-22 19:21:03 +02:00
Ovahlord
2c88471fe3
Scripts/Misc: more followups
2020-07-22 19:20:54 +02:00
Treeston
1d02149384
Core/Combat: Properly unset engagement flag on death.
...
# Conflicts:
# src/server/game/AI/CoreAI/GuardAI.cpp
# src/server/game/Entities/Creature/Creature.cpp
2020-07-22 19:16:35 +02:00
Treeston
58eab458e2
Core/AI: No longer do strange things when told to enter evade mode while there's no need to do so, typically by terrible legacy code.
...
# Conflicts:
# src/common/Utilities/FuzzyFind.h
2020-07-22 19:15:39 +02:00
Treeston
984abde440
Core/Threat: Properly update offline states even if all threat references are offline. Closes #23639 .
2020-07-22 19:15:00 +02:00
Treeston
c7c4f267c4
Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time.
2020-07-22 19:14:52 +02:00
Ovahlord
82d9fba979
Scripts/Naxxramas: ported several updates for Thaddius
2020-07-22 18:46:55 +02:00
Treeston
49ca6b88b0
AI/TotemAI: Tell Shaman Totems to stay put and stop moving. Closes #23498 .
2020-07-22 18:40:07 +02:00
Treeston
db3282e65a
Combat/Threat: Split ThreatManager::NotifyDisengaged off from ThreatManager::ClearAllThreat. NotifyDisengaged signifies intent to clear the engagement flag, and should only be called from AI. Fixes #23490 .
...
# Conflicts:
# src/server/game/AI/CreatureAI.cpp
# src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
# src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
# src/server/scripts/Kalimdor/zone_desolace.cpp
# src/server/scripts/Northrend/zone_borean_tundra.cpp
2020-07-22 18:38:35 +02:00
Ovahlord
de6a514ec5
Core/Misc: fixed build
2020-07-22 18:35:41 +02:00
Ovahlord
47ef91c23d
Core/Misc: more fixups
2020-07-22 18:10:50 +02:00
Treeston
e54f8ca4f7
Core/Misc: Rename Unit::AttackedTarget to Unit::AtTargetAttacked to match naming scheme for these notifiers
...
# Conflicts:
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Spells/Spell.cpp
2020-07-22 18:07:24 +02:00
Ovahlord
e07f4f9dc2
Core/Units: dbe3bbefe7 followup
2020-07-22 18:06:24 +02:00
Treeston
a16d691dd8
Core/Entities: Kick engagement logic upstairs to Unit (from ThreatManager), since all Units with AI need it (not just those with threat list). Fixes #17981 .
...
# Conflicts:
# src/server/game/Combat/ThreatManager.cpp
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Entities/Unit/Unit.h
2020-07-22 18:05:06 +02:00
Ovahlord
6350d94f40
Core: more build fixes
2020-07-22 18:03:31 +02:00
Giacomo Pozzoni
509499efbe
3.3.5 threat assert ( #23034 )
...
* Core/Creature: Change assert about Threat to log
2020-07-22 18:00:15 +02:00
jackpoz
bad4b80374
Core/Misc: Fix issues reported by dynamic analysis
...
Closes #23021
2020-07-22 17:59:42 +02:00
Treeston
b6a9647189
Core/Threat: Properly sequence checking offline state _after_ adding the reference to the threat list. This ensures IsEngagedWith reports consistent values for downstack calls in Creature. Closes #22406 .
2020-07-22 17:55:32 +02:00
Treeston
8dedfaea4b
Core/Creature: Get rid of a few Creature::getAttackerForHelper misuses. That's not what the function does, folks.
2020-07-22 17:55:23 +02:00
Treeston
2eacac1b4d
Core/Threat: Suppressed threat is now re-evaluated on taunt state update, and taunting units can no longer be suppressed.
2020-07-22 17:55:03 +02:00
Ovahlord
471efa832c
Core/Units: build fixes
2020-07-22 17:54:53 +02:00
Treeston
2f075b11e9
Core/Threat: Fear no longer suppresses threat. All confuse effects now suppress threat, even ones that wouldn't break on damage.
2020-07-22 17:51:44 +02:00
Treeston
b634358967
Core/Entities: Fixed an issue where creatures would not properly assist formation members in certain scenarios. Tagging #21967 .
...
# Conflicts:
# src/server/game/Combat/ThreatManager.cpp
2020-07-22 17:45:10 +02:00
Treeston
fd599605da
Core/Threat: Only send SMSG_THREAT_UPDATE if the threat list actually changed
2020-07-22 17:44:33 +02:00
Treeston
990127590a
Core/Threat: Further tweak to assist threat, all CC now prevents assist threat splitting (not just damage-breakable CC)
2020-07-22 17:44:25 +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
1020d1995f
Core/Creature: Fall back to combat list if calling for help without threat list
2020-07-22 17:42:38 +02:00
Treeston
6867b3b201
Scripts/SmartScripts: _SET_IN_COMBAT_WITH_ZONE and _CALL_FOR_HELP no longer use a target. Because that feature made no sense and was unused.
...
# Conflicts:
# sql/old/4.3.4/world/27_2018_03_16/2018_08_22_11_world.sql
# src/server/game/AI/SmartScripts/SmartScript.cpp
2020-07-22 17:41:25 +02:00
Treeston
6f6b6534bf
Core/Creature: Some adjustments to Creature::CallForHelp. Now works even if the Creature hasn't selected a victim yet.
2020-07-22 17:38:22 +02:00
Treeston
607069de36
Core/AI: Remove unnecessary parameter from DoZoneInCombat after eb1972f
2020-07-22 17:38:11 +02:00
Treeston
1d16b98d52
Core/AI: Some cleanup to DoZoneInCombat and Malygos' AI that I found while working out #22226 .
...
# Conflicts:
# src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
2020-07-22 17:37:49 +02:00
Treeston
d910f8b3cf
Scripts/Pets: Some cleanup for Snake Trap. Tagging #21847 , though this doesn't address it (yet).
2020-07-22 17:36:52 +02:00
Treeston
66e5c57765
Core/PassiveAI: Fix an incorrect check that was inducing evade spam with critters. Closes #19998 , for real this time.
2020-07-22 17:36:01 +02:00
jackpoz
84ee3701d5
Core/Thread: Fix crash added in fd33b1cd02
...
Fix crash caused by dereferencing uninitialized field.
2020-07-22 17:34:54 +02:00
Treeston
31f3cb203b
Core/Threat: My dictionary informs me that "fixtate" is not, in fact, a word. Corrected to "fixate".
...
fd33b1c follow-up
2020-07-22 17:33:27 +02:00
Treeston
93864a29c0
Core/Threat: Re-add fixtate system. I am being told Netherspite needs it.
2020-07-22 17:33:17 +02:00
Treeston
b4d5f46ea4
1b7ec4b follow-up
2020-07-22 17:33:08 +02:00
Treeston
de81a77ef8
Core/Threat: Fix taunt behavior in some edge cases
2020-07-22 17:33:00 +02:00
Treeston
d9e6e82c7d
Core/Unit: UNIT_FLAG renames
...
[UNIT_FLAG_PLAYER_CONTROLLED -> UNIT_FLAG_POSSESSED]
[UNIT_FLAG_PVP_ATTACKABLE -> UNIT_FLAG_PLAYER_CONTROLLED]
Signed off by: Shauren, Warlockbugs.
# Conflicts:
# src/server/game/Entities/Object/Object.cpp
# src/server/game/Entities/Pet/Pet.cpp
# src/server/game/Entities/Unit/UnitDefines.h
# src/server/game/Spells/Auras/SpellAuraEffects.cpp
# src/server/game/Spells/Spell.cpp
2020-07-22 17:32:51 +02:00
Treeston
4b07f238ae
Core/Threat: Fix taunt logic relying on unspecified behavior by unordered boost heap iterators. Use ordered iterators instead, this is cheap for our use case anyway. This will make taunt behave consistently again.
...
Closes #21499 .
# Conflicts:
# src/server/game/Combat/ThreatManager.cpp
2020-07-22 17:27:33 +02:00
Treeston
bd0408ff1a
Core/Combat: Unify combat permitted checks between CvC and PvC - only require "not friendly" in all cases. Fixes Yogg-Saron encounter. Closes #21380 .
...
Also some bonus cleanup to Yogg's script to make transition cleaner.
# Conflicts:
# src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
2020-07-22 17:26:26 +02:00