Treeston
9b141207d1
[3.3.5] CastSpell unclusterfucking (that's a word now) ( #21123 )
...
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.
- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
- It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has
(cherry picked from commit d507a7e3388382960108b24143da48e5f912b4a7)
2021-04-16 15:22:42 +02:00
Shauren
b231903932
Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port
2020-09-04 13:38:24 +02:00
r00ty-tc
03b125e6d1
Dynamic Creature/Go spawning:
...
- True blizzlike creature spawn/respawn behavior - new creature = new object
- Toggleable spawn groups (with C++/SAI/command options to use them)
- Custom feature: dynamic spawn rate scaling. Accelerates respawn rate based on players in the zone.
- Backward compatibility mode (set via group and for summons)
to support creatures/gos that currently don't work well with this
(this should be removed once the exceptions are fixed)
Fixes and closes #2858
Tags #8661 as fixable.
Fixes and closes #13787
Fixes #15222 .
(cherry picked from commit 59db2eeea0a35028779fd76372ae06cc98c8086f)
2020-08-22 12:59:57 +02:00
Treeston
8be23fcbbd
[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.
(cherry picked from commit e2a1ccd118d129b96e09ff1a15ed0adb1d4a3897)
2020-08-13 22:46:44 +02:00
ariel-
6fa8b8e1d5
Core/Creature: fix _DespawnAtEvade saving wrong respawn time
...
Closes #19557
(cherry picked from commit 47d387d6b0d123334e4721c55426c1d236297112)
2020-06-14 23:49:04 +02:00
Shauren
c7306439e7
Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower
2020-06-12 01:29:18 +02:00
Aokromes
b0bf1275ee
New Year
2020-01-02 06:44:10 +01:00
Shauren
455959c606
Core/PacketIO: Rewrite updatefield handling
2019-06-08 17:06:57 +02:00
vincent-michael
5620eb9463
Update copyright note for 2019
...
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren
738f37d3cf
Core/Maps: Replaced spawnmask with difficulty list
2018-09-15 17:55:26 +02:00
Keader
e65ddccd1b
Core/AI: Added new method for search friendly targets with certain entry and hp pct below a value ( #18310 )
...
(cherry picked from commit e7024f8a4c514eb4d8466383f8b5367ad7bab630)
2018-03-11 16:42:26 +01:00
vincent-michael
7d00ae4045
Update copyright note for 2018
...
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
treeston
10e8b61f90
Fix _DespawnAtEvade for other creatures to actually respawn said other creatures.
...
Also fix add aggro for Hadronox.
Fixes and closes #18012 .
(cherry picked from commit 1ecdea5374f331f0c71e543e713592baa21e6e99)
2017-10-03 17:21:23 +02:00
ariel-
49648b6681
Core/AI: added container independent wrappers for WorldObject::GetxxxInGrid
...
(cherry picked from commit 271dd0788d1c01adbb741c1d9b3686f80978ddbc)
2017-09-06 13:36:05 +02:00
Shauren
b453e12423
Core/Game: Include cleanup part 5
...
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
a0a158b5b8
Core/Scripts: Include cleanup
2017-05-28 16:34:44 +02:00
Shauren
f2039981e0
Core/Game: Include cleanup, part 3
2017-05-20 00:09:37 +02:00
Shauren
c5d3dd90be
Core/Game: Include cleanup
...
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren
9299e9bde0
Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50
2017-05-13 19:37:33 +02:00
treeston
e941d7e04b
Creature/Scripting: Move CreatureAI::CanRespawn to CreatureScript::CanSpawn. Now also applies to initial spawn. Dynamic spawning prep.
...
(cherry picked from commit b3d44d6c366c7e4f12a6ce30ee5cf6b9bff68a06)
Game/Scripting: Follow-up to b3d44d6. Fix script selection for creatures on difficulty > 0.
(cherry picked from commit 91c2b3162d350ab1a09053574ad67f45f089175b)
Build fix.
(cherry picked from commit a9f1151f2ca56394e315d0b07741c240ef59c2ff)
Fine, this time I actually built it. Promise.
(cherry picked from commit 0c2c88ed5025d9b51b6cbdf0603ceaf1ea54c80a)
2017-02-26 15:30:15 +01:00
treeston
dd0df772df
Scripts/Events: Globally fix all ExecuteEvent loops to check UNIT_STATE_CASTING after each iteration, instead of just checking it once initially.
...
Fixes and closes #17892 .
(cherry picked from commit ac62d7156f93bf86f57dbad1f24f14031322fd5a)
Drycoding is bad, mmkay?
(cherry picked from commit ed83a35fbeeb7f9005fe4792225fb50700791c6f)
2017-02-19 15:09:02 +01:00
treeston
5c01d14056
Entities/Creature: Add arg2 to DespawnOrUnsummon to allow overriding respawn time. This matches changes that will be merged as part of dynamic spawning, allowing scripts to transition early.
...
(cherry picked from commit 4bcc8078d734ccf166533e504db703ded6968339)
2017-02-18 17:16:10 +01:00
Gustavo
accaee579e
Core/AI Prevent bosses respawn when BossState is set to DONE ( #17616 )
...
(cherry picked from commit f826ecb4b2e8cc1fa54419947dff041a580d9c03)
2017-02-05 21:09:43 +01:00
treeston
86aa3997e4
Allow BossAI::_DespawnAtEvade to work on creatures other than the boss itself (optional argument).
...
(cherry picked from commit 6040e30fa381efdfc466d635bc6fe150d878e5ed)
2017-01-08 17:31:42 +01:00
treeston
416afdfec5
Creature/CreatureAI:
...
- Default range for DoZoneInCombat: 50.0f -> 250.0f.
- Add optional second arg to SummonList::DoZoneInCombat to specify range.
- Also a bunch of random NULL -> nullptr cleanup.
(cherry picked from commit b7f2c87d37ad20e9fd39c6f0523f6b5edb9d4a66)
Too many damn stars in that damn argument list.
(cherry picked from commit afbda0476700f272c734ecb5b31474dbf66477f7)
2017-01-08 03:01:51 +01:00
treeston
489027703e
Entities/Unit: Finally fix no-path evasion.
...
- When a creature cannot find a path to its victim, it begins evading all attacks and regenerating health.
- If this persists for 5 seconds, it evades back to spawn position with new EvadeReason value EVADE_REASON_NO_PATH.
- Also some SmartAI cleanup (why oh why does it have so much duplicated code) and getting rid of #defines in favor of type-checked compile-time constants.
(cherry picked from commit 7b1560fccba77ecbdfecd7b33af740aea41b7087)
2017-01-07 21:33:28 +01:00
vincent-michael
86b98686a9
Update copyright note for 2017
...
Happy new year
2017-01-01 16:23:13 +01:00
Shauren
5c2c9a684f
Core/DataStores: Updated dbc/db2 to 7.0.1.20810
2016-05-20 23:46:17 +02:00
Naios
a0dacd90cb
Core/Game: Remove some unnecessary export macros
...
(cherry picked from commit f50c4b71a137b90c2c5848c2ddef0139b05fa4a1)
2016-05-10 19:24:30 +02:00
Vincent-Michael
179b521dce
Core: Remove whitespaces
...
(cherry picked from commit 5e74c2223bff8a467d6f1ce18f6f08aa05e17019)
2016-04-09 17:14:08 +02:00
treeston
c9b24515a5
Merge remote-tracking branch 'sirikfoll/despawnAtEvade' into 3.3.5 (PR #16528 )
...
(cherry picked from commit c70e3e31a7a0714b92a2a25f27fe3006f1e36caa)
2016-04-08 18:07:34 +02:00
Naios
bf33159a70
Core/Game: Converted the game library to a shared library.
...
* There is still the possibility to static link against game.
2016-03-24 01:31:51 +01:00
treeston
e2f2c70ba4
Merge branch '3.3.5-bossboundary' into 3.3.5-base (PR #16089 )
...
(cherry picked from commit 5b8b8c653039ec2add0b3a66468abb85e6f35054)
2016-03-22 22:56:43 +01:00
jackpoz
0c81c1c184
Core/Quest: Fix issues reported by static analysis
...
(cherry picked from commit bffaa92633937d220ab19f565faa5906995530a2)
# Conflicts:
# src/server/game/Entities/Pet/Pet.h
# src/server/game/Texts/CreatureTextMgr.cpp
2016-01-15 20:29:43 +01:00
Vincent-Michael
478cc756eb
Update copyright note for 2016
...
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
joschiwald
92b08fc74b
Scripts/VioletHold: rewrote the whole instance
...
thanks @MitchesD for help
(cherry picked from commit df21162fe44d2ff29c201a9004586f560789c38b)
(cherry picked from commit 3a4f54197c05ce4209c7e659acfd382896607265)
(cherry picked from commit f50df728201849ee7185d33c5a061c91e781c8de)
(cherry picked from commit 95bae7143f0f4bb7d5975f8a61daa3c533f48225)
(cherry picked from commit 5406f82044e7bd6ceb024a67f33c1674400cdc1f)
2015-11-01 13:09:30 +01:00
treeston
89357f5425
Core/Creature: Add facilities to the Creature class to allow setting an automated, periodic pulse that puts every player in the zone in combat and on the creature's threat list.
...
Scripts/BossAI: Set the BossAI parent class to make use of this in its _EnterCombat and _Reset methods. Combat pulses happen every 5 seconds.
(cherry picked from commit d57193df444b719757ae1da4a5f19e204074f6ae)
# Conflicts:
# src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
# src/server/game/Entities/Creature/Creature.cpp
2015-10-16 12:44:17 +02:00
Vincent-Michael
2e586bc520
Core: Header cleanup in game/*/*.cpp
2015-07-25 20:18:42 +02:00
Shauren
585f978c58
Core: Started work on 6.2.0.20182
2015-07-01 02:22:03 +02:00
Shauren
0ba2e0d5ee
Core/Spells: Implemented multiple spell power costs
2015-03-08 13:31:57 +01:00
Epicurus4
4ffdf3396d
Added a player searcher
...
This can be used in scripts to search for Player* objects within a given
range.
2015-02-10 22:16:07 -05:00
Vincent-Michael
ab90f74486
Update copyright note for 2015
...
Happy new year
2015-01-01 00:28:09 +01:00
Shauren
bea5cad67d
Core/Entities: Fourth part of removing GetGUIDLow() uses
2014-10-22 21:22:04 +02:00
Shauren
8e288dd673
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/game/Achievements/AchievementMgr.cpp
src/server/game/Battlefield/Battlefield.h
src/server/game/Battlegrounds/ArenaScore.h
src/server/game/Battlegrounds/ArenaTeam.cpp
src/server/game/Battlegrounds/ArenaTeam.h
src/server/game/Battlegrounds/ArenaTeamMgr.cpp
src/server/game/Battlegrounds/BattlegroundMgr.cpp
src/server/game/Battlegrounds/BattlegroundMgr.h
src/server/game/Battlegrounds/BattlegroundQueue.h
src/server/game/Battlegrounds/BattlegroundScore.h
src/server/game/Battlegrounds/Zones/BattlegroundAB.h
src/server/game/Battlegrounds/Zones/BattlegroundAV.h
src/server/game/Battlegrounds/Zones/BattlegroundEY.h
src/server/game/Battlegrounds/Zones/BattlegroundIC.h
src/server/game/Battlegrounds/Zones/BattlegroundSA.h
src/server/game/Battlegrounds/Zones/BattlegroundWS.h
src/server/game/DungeonFinding/LFG.h
src/server/game/DungeonFinding/LFGMgr.cpp
src/server/game/DungeonFinding/LFGMgr.h
src/server/game/DungeonFinding/LFGQueue.cpp
src/server/game/DungeonFinding/LFGQueue.h
src/server/game/Entities/Corpse/Corpse.cpp
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Entities/Creature/GossipDef.cpp
src/server/game/Entities/Creature/GossipDef.h
src/server/game/Entities/Creature/TemporarySummon.cpp
src/server/game/Entities/DynamicObject/DynamicObject.cpp
src/server/game/Entities/Object/Object.cpp
src/server/game/Entities/Object/Object.h
src/server/game/Entities/Object/ObjectDefines.h
src/server/game/Entities/Object/Updates/UpdateData.cpp
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/Globals/ObjectAccessor.cpp
src/server/game/Globals/ObjectAccessor.h
src/server/game/Globals/ObjectMgr.cpp
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/AuctionHouseHandler.cpp
src/server/game/Handlers/BattleGroundHandler.cpp
src/server/game/Handlers/CalendarHandler.cpp
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/Handlers/ChatHandler.cpp
src/server/game/Handlers/GroupHandler.cpp
src/server/game/Handlers/GuildHandler.cpp
src/server/game/Handlers/ItemHandler.cpp
src/server/game/Handlers/LFGHandler.cpp
src/server/game/Handlers/MailHandler.cpp
src/server/game/Handlers/MiscHandler.cpp
src/server/game/Handlers/MovementHandler.cpp
src/server/game/Handlers/NPCHandler.cpp
src/server/game/Handlers/PetHandler.cpp
src/server/game/Handlers/QueryHandler.cpp
src/server/game/Handlers/QuestHandler.cpp
src/server/game/Handlers/TradeHandler.cpp
src/server/game/Handlers/VehicleHandler.cpp
src/server/game/Movement/Spline/MoveSplineInit.cpp
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSession.h
src/server/game/Spells/Spell.cpp
src/server/scripts/Commands/cs_debug.cpp
src/server/scripts/Commands/cs_gm.cpp
src/server/scripts/Commands/cs_misc.cpp
src/server/scripts/Commands/cs_modify.cpp
src/server/scripts/Commands/cs_reset.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_durotar.cpp
src/server/scripts/Kalimdor/zone_moonglade.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
src/server/scripts/Spells/spell_dk.cpp
src/server/scripts/Spells/spell_generic.cpp
src/server/shared/Packets/ByteBuffer.h
2014-09-20 11:05:30 +02:00
Shauren
6c1a33d62d
Core/Scripts: Fixed incorrect guid usage in logs
2014-09-16 19:47:10 +02:00
Vincent-Michael
49a17c6282
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/game/DataStores/DBCStores.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
2014-05-22 20:53:13 +02:00
jackpoz
1083dbb993
Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get*
2014-05-20 21:21:33 +02:00
Vincent-Michael
cfe644b457
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Maps/Map.cpp
src/server/game/Quests/QuestDef.cpp
2014-05-11 23:08:54 +02:00
MitchesD
8e7cf15dd1
Scripts/HallsOfReflection: Major changes
...
* corrections to Intro Event (Falric, Marwyn etc.)
* fixed issues with Frostsworn General
* improved the whole Wrath of the Lich King event
* implemented outro gunship
* optimalization code and cleanup and fixed some typos
* Big thanks to @joschiwald, he is author too ;-)
2014-05-10 21:37:33 +02:00
DDuarte
08003577de
Merge branch 'master' into 4.3.4
...
Conflicts:
dep/libmpq/CMakeLists.txt
src/server/game/Battlefield/BattlefieldMgr.cpp
src/server/game/Battlefield/BattlefieldMgr.h
src/server/game/DataStores/DBCStores.cpp
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Entities/Creature/Creature.h
src/server/game/Entities/Object/Object.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Entities/Unit/StatSystem.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Vehicle/Vehicle.cpp
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Handlers/BattlefieldHandler.cpp
src/server/game/Handlers/GuildHandler.cpp
src/server/game/Movement/Spline/MoveSplineInit.cpp
src/server/game/Server/Protocol/Opcodes.cpp
src/server/game/Server/WorldSession.h
src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
src/server/scripts/EasternKingdoms/boss_kruul.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_moonglade.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
src/server/scripts/Spells/spell_dk.cpp
src/tools/map_extractor/mpq_libmpq.cpp
src/tools/map_extractor/mpq_libmpq04.h
src/tools/vmap4_extractor/loadlib/loadlib.h
src/tools/vmap4_extractor/mpq_libmpq.cpp
src/tools/vmap4_extractor/mpq_libmpq04.h
2014-01-11 17:26:22 +00:00