Commit Graph
135 Commits
Author SHA1 Message Date
Ovahlord 266d1d7717 Core/Creatures: temporarily revert all summon changes in order to keep the master branch functional until the implementation is done 2026-02-28 11:06:35 +01:00
Ovahlord 857f79b22a Core/Creatures: converted CMSG_PET_ACTION to packet class and moved most parts of it to the SummonInfo API 2025-08-24 18:17:38 +02:00
Ovahlord d98441695b Core/Packets: converted CMSG_DISMISS_CRITTER to packet class and moved its handling to SummonInfo API 2025-08-22 20:42:27 +02:00
Ovahlord bb6a8ac297 Core/Units: moved CharmInfo class to an own file 2025-06-14 19:13:44 +02:00
Ovahlord 1993440a96 buildfix 2022-12-11 21:20:13 +01:00
Ovahlord d18768d4e0 Core/Packets: converted SMSG_PET_ADDED to packet class 2022-12-11 20:43:26 +01:00
Ovahlord 9455b09518 Core/Packets: converted SMSG_PET_ACTION_SOUND to packet class and renamed its related method to Unit::SendPetActionSound 2022-12-11 20:12:35 +01:00
Shauren d448ea4370 Core/Spells: Rename SpellAttr0 to use official attribute names 2022-09-12 09:15:04 +02:00
Ovahlord 949f92e0a1 Core/AI: ported charm updates from 335 2021-09-16 16:48:07 +02:00
Ovahlord 754c138f89 Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch 2020-11-04 22:37:11 +01:00
Ovahlord c9afa1a6ed Core/Units: renamed SetInFront to SetOrientationTowards to clarify its actual functionality and added comments to SetOrientationTowards, SetFacingTo and SetFacingToObject 2020-09-23 20:48:44 +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
Peter Keresztes Schmidt a06e5d7d40 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs 2020-07-18 22:43:24 +02:00
Ovah b09d6e2330 Core/Movement: reimplement follow movement (#124) 2020-06-26 21:22:21 +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
Shauren 47acc59f49 Core/DBLayer: Prevent committing transactions started on a different database 2020-04-15 21:02:26 +02:00
Shauren d003ebd8e4 Core/DBLayer: Prevent using prepared statements on wrong database 2020-04-15 19:18:58 +02:00
Ovahlord c9961e6a94 Core/Movement: rewrite follow movement 2020-03-27 18:59:16 +01:00
jackpoz 183789053e Core/Misc: Fix GCC 8 warnings 2020-01-31 21:19:25 +01:00
jackpoz 131986d1c2 Core/Misc: Replace time(nullptr) with GameTime::GetGameTime() 2020-01-11 03:30:41 +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
Ovahlord 15f09fb82b Core/Misc: fixed warnings and building connection patcher with boost versions below 1.61 2019-11-06 00:51:04 +01:00
Artamedes 87c6cc19e5 Core/PacketIO: Handle CMSG_REQUEST_PET_INFO, so pet/vehicle/charm/possess bar shows after a client /reload (#7)
* Core/PacketIO: Handle CMSG_REQUEST_PET_INFO, so pet/vehicle/charm/possess bar shows after a client /reload

* Core/Handlers: added additional checks for PetSpellInitialize() call in HandleRequestPetInfoOpcode and apply codestyle standards
2019-10-08 16:53:55 +02:00
Ovahlord 1f78a55f20 Core/Creature: ported assert crashfix that fixes a focus related crash that was happening when dismissing a warlock pet while it was casting a spell 2019-09-02 00:36:34 +02:00
Ovahlord c074c3a9c6 Revert "Core/Misc: Replace time(NULL) with GameTime::GetGameTime()"
This reverts commit 5fe3a1f7f9.
2019-07-08 15:56:29 +02:00
Ovahlord 5fe3a1f7f9 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(ported commit: 12701cb0c6c45eb105ad449eb9a56e76d84d691e)
2019-07-08 12:19:19 +02:00
Ovahlord 2cfdd3cbe0 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/AI/CoreAI/PetAI.cpp
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Battlegrounds/Zones/BattlegroundTP.cpp
#	src/server/game/DungeonFinding/LFGMgr.h
#	src/server/game/DungeonFinding/LFGQueue.h
#	src/server/game/Entities/Creature/Creature.h
#	src/server/game/Entities/Pet/Pet.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Globals/ObjectMgr.h
#	src/server/game/Groups/Group.cpp
#	src/server/game/Groups/Group.h
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/Guild.h
#	src/server/game/Handlers/GuildHandler.cpp
#	src/server/game/Handlers/LFGHandler.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Handlers/NPCHandler.cpp
#	src/server/game/Instances/InstanceScript.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Maps/Map.h
#	src/server/game/Maps/ZoneScript.cpp
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/game/Weather/Weather.cpp
#	src/server/game/Weather/WeatherMgr.cpp
#	src/server/scripts/Commands/cs_reload.cpp
#	src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
#	src/server/scripts/EasternKingdoms/Deadmines/deadmines.h
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
#	src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
#	src/server/scripts/Kalimdor/VortexPinnacle/vortex_pinnacle.h
#	src/server/scripts/Spells/spell_dk.cpp
#	src/server/scripts/Spells/spell_druid.cpp
#	src/server/scripts/Spells/spell_generic.cpp
#	src/server/scripts/Spells/spell_hunter.cpp
#	src/server/scripts/Spells/spell_mage.cpp
#	src/server/scripts/Spells/spell_pet.cpp
#	src/server/scripts/Spells/spell_shaman.cpp
#	src/server/scripts/Spells/spell_warrior.cpp
2018-03-28 12:35:52 +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
Ovalord b7c15093a6 Core/Pets: merged funjoker's new Pet Slot system
* fixed packets and handling for stable master
* fixed Control Pet / Demon handling
* corrected wrong trainer spell for the Control spells
* Added base support for Assist behaivior
* corrected action bar layout
* Hunter Pets will now have the same level as their tamer (patch 4.1 change)
* corrected health stats for pets
2018-01-07 02:00:31 +01:00
Aokromes 4bd0525edd Update copyright note for 2018 2018-01-01 01:06:19 +01:00
Aokromes 5efa54d11c Core/Misc: Fix static analysis issues 2017-12-09 00:00:27 +01:00
Aokromes 0bb27ecd4b Pet/Guardian AI hook re-organizing (#19824)
* Pet/Guardian AI hook re-organizing:
- Adjust OwnerAttacked/OwnerAttackedBy hooks on CreatureAI to fire for all owned units, not just player pets. This should allow guardians to more reliably recognize valid targets.
- Kill off the AttackedBy hook. While it was defined in CreatureAI.h as virtual, it was only ever invoked for player pets in specific situations. This makes it classic developer bait.
  - Adjust PetAI to use DamageTaken instead of AttackedBy.
  - Adjust behavior of AttackStart on PetAI to compensate.
2017-06-07 02:50:14 +02:00
xinef1 b88200cd58 Core/Misc: Various crash fixes 2017-05-05 01:59:34 +01:00
xinef1 01b43b3da0 Core/Pets: Fixed flashing pet attack button (#18906) 2017-02-05 01:57:37 +01:00
Aokromes 719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
Aokromes 949ce2d576 Core/Units: Cleanup hardcoded magic numbers for byte field offsets
(cherry picked from commit ac1dc75)
2016-12-16 19:54:22 +01:00
Aokromes b10e5d5408 Core/Logs: Fine tune more logs
And move others to more logical appenders
2016-08-07 21:50:22 +02:00
Aokromes c0673c17a2 Core/Misc: Coding standard 2016-07-02 14:14:07 +02:00
ariel- d04d14e34d Update copyright note for 2016 2016-01-11 23:27:45 -03:00
Shauren 6b7c6f4366 Core/Players: Implemented serverside validation of reserved/profane names
Closes #15357

New library dependency: Boost.Regex

(cherry picked from commit b564c10b13effed63c7b7dae25117e2e0a2c64e4)
(cherry picked from commit 1de03cf107)

Conflicts:
	src/server/game/DataStores/DBCStores.cpp
	src/server/game/DataStores/DBCStructure.h
	src/server/game/DataStores/DBCfmt.h
2016-01-11 23:27:43 -03:00
ariel- b3ea9fbbe5 Map local guids 6.x -> 4.3.4
Ported the following commits:
https://github.com/TrinityCore/TrinityCore/commit/ca83e14f8b141fab0a13e08f48fca6c1ace0c4c7
https://github.com/TrinityCore/TrinityCore/commit/ee1c1b97be4492ecabe8b15ea6323fc37e4eaa8c
https://github.com/TrinityCore/TrinityCore/commit/18e4ab6911468b829b0fc768e532a770263c3717
https://github.com/TrinityCore/TrinityCore/commit/bf37446b3c2ed73b4d3aa9e227d3eff5c53b378b
https://github.com/TrinityCore/TrinityCore/commit/cb854a2b7bb7bd96cf9c4d1daf3789f797bf4db8
2016-01-11 01:50:45 -03:00
Carbenium 99ab531e76 Merge branch '3.3.5' into 4.3.4
Conflicts:
	sql/updates/world/2015_07_29_00_world.sql
	sql/updates/world/2015_07_29_01_world.sql
	sql/updates/world/2015_08_01_00_world.sql
	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Server/Protocol/Opcodes.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellMgr.cpp
	src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
	src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
	src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
	src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/scripts/Spells/spell_pet.cpp
2015-08-12 21:05:39 +02:00
jackpoz ea4d9c0d9e Core/Misc: Remove unneeded ToCreature() casts
Remove some ToCreature() casts not needed anymore after 1ee90e1022 changes that moved IsPet(), IsTotem(), IsSummon(), IsGuardian(), IsHunterPet() and IsVehicle() from Creature to Unit
2015-08-12 14:05:14 +02:00
jackpoz d243630acf Core/Misc: Remove unneeded ToCreature() casts
Remove some ToCreature() casts not needed anymore after 1ee90e1022 changes that moved IsPet() from Creature to Unit
2015-08-12 12:48:33 +02:00
Carbenium 6dfaec3d97 Merge commit 'dbaf88566be7083408fb8324d7886dc3e0a45cc0' into 4.3.4
Conflicts:
	.gitattributes
	CONTRIBUTING.md
	sql/updates/world/2015_05_11_04_world.sql
	sql/updates/world/2015_05_27_00_world.sql
	sql/updates/world/2015_05_27_01_world.sql
	sql/updates/world/2015_06_06_01_world_335.sql
	src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/Creature/Creature.h
	src/server/game/Entities/Object/ObjectGuid.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Entities/Unit/Unit.h
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/SpellMgr.cpp
	src/server/scripts/Commands/cs_modify.cpp
	src/server/scripts/Kalimdor/zone_moonglade.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/scripts/Spells/spell_item.cpp
	src/server/scripts/Spells/spell_rogue.cpp
2015-07-22 02:09:32 +02:00
Carbenium fd0ef7bfab Merge commit '4fd51ab3b94c5a61d009f57ad28fb728bd154fb8' into 4.3.4
Conflicts:
	.travis.yml
	cmake/macros/ConfigureBoost.cmake
	sql/base/auth_database.sql
	sql/base/characters_database.sql
	sql/base/dev/world_database.sql
	sql/updates/world/2015_03_21_00_world.sql
	src/server/game/Miscellaneous/Language.h
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/Spells/Spell.cpp
	src/server/game/Spells/SpellEffects.cpp
	src/server/game/Spells/SpellInfo.cpp
	src/server/scripts/Spells/spell_quest.cpp
	src/server/worldserver/Main.cpp
2015-07-22 00:26:09 +02:00
Carbenium 2bdcce17f8 Merge commit '61ba5e4f34211c2f0f286e70d8ace37714ca3c56' into 4.3.4
Conflicts:
	sql/updates/world/2015_02_23_00_world.sql
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Achievements/AchievementMgr.h
2015-07-21 22:47:41 +02:00
Aokromes 7680c90abd Update (C) date 2015-07-19 13:37:44 +02:00
ariel- e707905764 Port commit 56186319bdd41dd26b6cc14f84e6e41eef5d953b (6.x branch)
Core/Spells: Cooldown updates

Updates #14418
2015-04-13 12:13:46 -03:00