Commit Graph
194 Commits
Author SHA1 Message Date
Ovahlord 949f92e0a1 Core/AI: ported charm updates from 335 2021-09-16 16:48:07 +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 de6a514ec5 Core/Misc: fixed build 2020-07-22 18:35:41 +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
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 b708144ca9 Core/Threat: Custom ThreatListIterator that transparently iterates over the backing map (instead of using heap iterators) when working with the unsorted threat list. This greatly reduces the range of actions that can cause iterator invalidation.
Also some minor adjustments to .debug threat, which no longer hides certain invalid states from view.
2020-07-22 17:20:02 +02:00
Treeston 56773ed7f3 nopch fix 2020-07-22 17:19:03 +02:00
Treeston 34ed4c5923 nopch fix
# Conflicts:
#	src/server/scripts/Commands/cs_debug.cpp
2020-07-22 17:06:48 +02:00
Treeston 635371e5f8 missing return 2020-07-22 17:06:24 +02:00
Treeston cbec08f2b5 Scripts/Commands: New command: .debug threatinfo
# Conflicts:
#	sql/base/auth_database.sql
#	sql/old/4.3.4/auth/19_2017_06_18/2018_01_09_00_auth.sql
#	sql/old/4.3.4/world/23_2017_11_15/2018_01_09_00_world.sql
#	src/server/game/Accounts/RBAC.h
#	src/server/game/Combat/ThreatManager.h
2020-07-22 17:02:48 +02:00
Treeston c1237c788b Core/Map: Fix a crash that could happen if a player moved very far away from a creature they were in combat with. Closes #21177. 2020-07-22 16:52:02 +02:00
Treeston 4fd7d9aa00 Core/Misc: A variety of clean-up changes, mostly following up on 532ab1c to fix legacy bugs exposed by it:
- Triggers can no longer have a threat list (this may expose some ugliness in old legacy scripts)
- Threat entries are forced to OFFLINE if the AI refuses to attack the target
- Clean up passive creature evade behavior to be more consistent
- Fix a months old issue in spawn group management that would cause "Inactive" to incorrectly show in .list respawns for system groups outside of map 0
- Valithria script cleanups, remove old hacks and make it work with the new system. Closes #21174.
- Some strings cleanup

# Conflicts:
#	sql/old/4.3.4/world/23_2017_11_15/2018_01_04_00_world.sql
#	src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
2020-07-22 16:50:54 +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 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
Ovahlord d46fb93657 Core/Pools: ported pooling updates from 335 branch 2020-07-13 11:17:19 +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
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 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
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Artamedes 57992c4f0d Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update (#9)
* Core/PacketIO: Update UpdateFlags for SMSG_UPDATE_OBJECT movement update

* 1

* Core/NetworkOI: corrected connection type for SMSG_MOVE_UPDATE

* suggestions
2019-10-15 19:11:15 +02:00
Ovahlord 8bec6af24a Core/NetworkIO: implement 2nd connection 2019-10-03 22:32:24 +02:00
Ovahlord 1e4cc2293a Core/Datastores: use generated member names for MapEntry fields
* load all dbc fields of MapEntry
2019-02-24 00:14:44 +01:00
Ovahlord e6e2421fd1 Core/Phases: synch phasing files with master branch 2019-02-03 21:18:59 +01:00
Ovahlord 5229a734dd Core/Transports: ported transport refactoring
* this implements full support for stoppable transports as well as serverside transport position tracking
* fixed several vehicle related issues
* fixed gameobject passengers not being displayed as transport passengers
* pets, dynamic objects and other summons are not added as transport passengers and will now properly be displayed
Todo:
- Deeprun Tram visual issues needs to be resolved
- Lady Deathwhisper's elevator needs some additional research
2018-11-21 12:04:26 +01:00
Ovahlord 59d169e8e4 Merge branch 'dynamicSpawnMerge' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Maps/Map.h
2018-07-21 23:13:55 +02:00
Ovahlord b976bc1187 Core/Spawns: merged Dynamic Spawning 2018-07-21 20:44:41 +02:00
Ovahlord 0d46b893fc Core/Objects:
*merged 3.3.5 renaming of GetObjectSize() to GetCombatReach()
*made GetBoundaryRadius virtual and use it to determine the actual spell radius distance with it instead of using CombatReach
2018-07-13 14:50:10 +02:00
ariel- 5ff847159c Core: header cleanup, split realmlist, boost compatibility, cotire, remove stormlib/zlib and stormlib/bzip2 and instead use dep sources 2018-03-28 04:41:59 -03:00
Aokromes 8d38ec47fb Core/Misc: Graveyards can now use conditions, SourceType = 27, SourceEntry = graveyard_zone.ID 2018-03-17 09:56:43 +01:00
Ovahlord 27652214b5 Core/Phasing: Rewrite GetTerrainMapId *updated phasing with latest changes 2018-03-10 16:10:48 +01:00
Ovahlord e44bb5f387 Core/Entities: Phase Rework (main commit) 2018-03-08 22:58:50 +01:00
Aokromes 4bd0525edd Update copyright note for 2018 2018-01-01 01:06:19 +01:00
Aokromes 7627540b11 Combat/threat rewrite prep - merge RBAC/DB changes. 2017-06-28 17:45:14 +02:00
Aokromes 1a5c0f5c3b Core/Grids: Ported cmangos/mangos-wotlk@ea99457
(cherry picked from commit 9299e9b)
2017-06-19 20:20:26 +02:00
Aokromes a990a4ce08 Rename .debug uws to .debug worldstate (clarity change). 2017-06-17 11:51:12 +02:00
treeston 46f98b64c3 Rename .debug uws to .debug worldstate (clarity change). 2017-06-17 11:42:23 +02:00
Aokromes 9057cae219 So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.

And remove the hack from Sapphiron because I could.
2017-06-11 19:02:07 +02:00
treeston a6b393c2af clang is dumb 2017-06-06 07:49:31 +02:00
treeston 68c500f020 Some improvements to .debug raidreset command. Now supports heroic difficulty 5-man dungeons and outputs sensible text, as opposed to silently doing (or not doing) stuff. 2017-06-06 07:49:02 +02:00
Aokromes 2d94972577 missing part 2017-05-30 10:20:27 +02:00
Aokromes dff1518ac2 Scripts/Command: implement .debug play music command 2017-05-30 09:55:45 +02:00
Aokromes 719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
Aokromes d09c1712cd Core/Misc: Build fix 2016-09-04 00:55:58 +02:00
Vincent-Michael 95a7a88ef0 Core/Commands: Fixed build 2016-09-04 00:19:29 +02:00
xjose93 882453253f Core/Commands: Implement .neargraveyard (find nearest graveyard from dbc). 2016-09-04 00:19:13 +02:00
ariel- 30e0460306 Core/Scripts: allow ".debug arena" and ".debug battleground" commands to be issued in the console 2016-08-16 12:26:33 +02:00
r00ty-tc 527654b512 [Core/Maps] Activate creatures and objects during opening cinematics
As well as other flyby cameras (like sunwell etc)

Requires re-running map extractor to extract camera m2 files from data
files. These are very small.
2016-05-18 21:31:07 +01:00
Aokromes 41c3193c6b Core: Remove whitespaces 2016-05-16 22:52:36 +02:00