Commit Graph

9958 Commits

Author SHA1 Message Date
jackpoz
96df3b7adb Core/Scripts: Show a message when aborting because two scripts have the same registered name 2020-03-09 20:08:26 +01:00
jackpoz
49e77d7c9e Core/AI: Fix charmed Creatures with SAI scripts not starting waypoint paths 2020-03-07 23:18:21 +01:00
Giacomo Pozzoni
c7974bdf90 Core/Combat: Improve sanctuary combat stop (#24266)
Stop combat when a Player moves to a Sanctuary area only if there is any PvP combat (it would be nice to keep PvE combat but that's still an issue)
2020-03-07 18:08:30 +01:00
Keader
9e87c60a39 Core/Spells: Pets need reset cooldown when summoned (#24063) 2020-03-07 16:01:42 +01:00
Shauren
f06ac0fedb Build: Work around internal compiler errors in VS 2019 with dynamic build and PCH 2020-03-06 19:09:29 +01:00
Shauren
e10313b380 Core/Maps: Citizens of Dalaran! Raise your eyes to the skies and observe! Any non-map-default light can now be overriden!
Closes #24250
2020-03-06 17:44:10 +01:00
Shauren
c5226aec41 Core/SAI: Allow resetting light overrides with SMART_ACTION_OVERRIDE_LIGHT 2020-03-05 21:14:32 +01:00
Giacomo Pozzoni
d1080af8db Core/Objects: MovePositonToFirstCollision will now use detour raycasts to determine terrain obstacles (#24232)
* Core/Objects: MovePositonToFirstCollision will now use detour raycasts to determine terrain obstacles

* Added missing includes

* Update Object.cpp

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-03-04 20:59:04 +01:00
jackpoz
16ccc17621 Core/PathFinding: Fix mmaps raycast without hit
Update Z coordinate of end position when casting a mmap raycast that doesn't hit the target
2020-03-03 21:39:01 +01:00
jackpoz
69809d1203 Core/AI: Fix remaining charming issue
Make creatures evade when a charming expires and they cannot attack the charmer (i.e. charmer with .gm on)
2020-03-02 20:43:52 +01:00
Giacomo Pozzoni
817ae5bca6 Core/AI: Allow creatures to evade (#24221)
* Core/AI: Allow creatures to evade

Revert changes that didn't allow creatures to evade anymore no matter how hard a script would try

* PArtially revert 163f44c1b0
2020-03-02 20:17:47 +01:00
NoName
6067a99632 Core/Spell: Proper SPELL_EFFECT_PULL_TOWARDS_DEST implementation for players (#24178)
* Core/Spell: Proper SPELL_EFFECT_PULL_TOWARDS_DEST implementation for players
Closes ##23203 and also reverts 9a1282a

thnx to xvwyh

* Make it optional
2020-03-01 20:15:54 +01:00
Giacomo Pozzoni
ddf2f60c13 Core/AI: Make charmed creatures follow their owner (#24195)
* Core/AI: Make charmed creatures follow their owner

* Follow the charmer only when applying the charm

* Make SmartAI follow the charmer
2020-03-01 13:31:13 +01:00
Ujp8LfXBJ6wCPR
a933ba6015 Modernize codebase with Clang-Tidy range based loops (#24165)
Manual expansion of auto types into "typed types"
2020-02-29 13:22:51 +01:00
Ujp8LfXBJ6wCPR
fb75a958f0 Part1: Modernize codebase with Clang-Tidy range based loops (#24164) 2020-02-29 13:20:05 +01:00
ForesterDev
ffede34ba9 Core/Misc: Moved CanSpeak() method to WorldSession class (#24209)
* Core/Misc: Moved CanSpeak() method to WorldSession class

(cherry picked from commit 93aa30f447)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/ChatHandler.cpp
#	src/server/game/Server/WorldSession.cpp

* fix merge conflicts
2020-02-28 19:53:35 +01:00
Giacomo Pozzoni
c0676a48f7 Core/PathFinding: Add support to WorldObject pathfinding (#24207)
* Core/PathFinding: Add support to WorldObject pathfinding

* Handle Unit* specific code

* Fix some wrong const

* Fix no-pch build
2020-02-28 19:31:55 +01:00
Giacomo Pozzoni
6443e518cf Core/PathFinding: Return raycast hitpoint when specifying straightLine (#24206) 2020-02-28 19:29:58 +01:00
ForesterDev
f6e6baa293 Core/PacketIO: update SMSG_EMOTE / CMSG_EMOTE packets to new system (#24200)
* Core/PacketIO: update SMSG_EMOTE / CMSG_EMOTE packets to new system

* Change int32 to uint32
2020-02-28 19:29:05 +01:00
ForesterDev
5cfce94619 Core/DynamicInfo: rename some parameters according packet definitions (#24192) 2020-02-28 19:23:20 +01:00
Ovah
6cbfda2fce Core/Units: UNIT_FLAG_PACIFIED will no longer block victim updates (#24190)
* Core/Units: UNIT_FLAG_PACIFIED will no longer block victim updates

* pacified units should only have their melee attacks blocked as counterpart to silence mechanics

* Core/Spells: removed unnecessary attack stop call from pacify aura effect handler
2020-02-28 19:22:25 +01:00
NoName
40542f01e3 Core/Movement: Implement MoveSplineFlag::Enter_Cycle (#24049)
by xvwyh
#22448
2020-02-28 19:03:52 +01:00
jackpoz
7a57029d8f Core/Movement: Add support to cyclic splines to GenericMovementGenerator
GenericMovementGenerator sets the _duration to the return value of spline.Launch(). For cyclic splines, this is the duration of 1 single cycle, while the spline itself never ends.
To support this edge case in GenericMovementGenerator we just never update the _duration timer for cyclic splines.
2020-02-23 22:07:40 +01:00
ForesterDev
69231581e4 Core/Server: correct timestamp format for shutdown/restart notification broadcasts (#24181)
* Core/SmartScripts: implement SMART_ACTION_OVERRIDE_LIGHT and SMART_ACTION_OVERRIDE_WEATHER

* Core/Server: correct timestamp format for shutdown/restart notification broadcasts

* remove unexpected changes

* move enum from Common to Util

* Use enum class instead of enum

* Fix width for seconds 0 to 9
2020-02-22 21:31:37 +01:00
ForesterDev
c65ba35269 Core/SmartAI: implement SMART_ACTION_OVERRIDE_LIGHT and SMART_ACTION_OVERRIDE_WEATHER (#24146)
* Core\SmartAI: implement SMART_ACTION_OVERRIDE_LIGHT and SMART_ACTION_OVERRIDE_WEATHER

* Change the invoker of action to any worldobject

* Revert "Change the invoker of action to any worldobject"

This reverts commit 2e15f72585.

* Add dbc-validations for new actions

* Use GetBaseObject() instead of Creature* for new actions. Add debug-logging
2020-02-22 21:11:14 +01:00
Killyana
828987a46a Core/GameObject: Fix wrong calculation of the spellfous distance
Closes #24177
2020-02-19 17:44:45 +01:00
Ovahlord
6f31784979 Core/SAI: SMART_ACTION_PAUSE_MOVEMENT
Closes #22346
2020-02-18 22:52:35 +01:00
Sorikoff
5f20715e2f [WIP] Core/AI: Pets musn't attack civilian NPC in aggressive mode (#24121)
* Core/AI: Pets musn't attack civilian NPC in aggressive mode

* Move decision to ignore civilians to PetAI, keeping the check in GridNotifiers

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-16 16:00:54 +01:00
ratkosrb
6176ce92ea Core/Creature: Use proper name for wander distance. (#24133)
* Use proper name for wander distance.

* Rename db field.

* Fix query.

* Remove underscore from chat command.

* Rename the handler too.

* Update chat command description.

* Fix remaining issues.

* Rename 2020_99_99_99_world_335.sql to 2020_02_16_01_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-16 13:36:56 +01:00
Shauren
89d8180916 Core/Guilds: Don't rely on implicit guid->uint64 conversion for member lookup 2020-02-14 17:37:22 +01:00
Ujp8LfXBJ6wCPR
9264e5b6f0 Core/Misc: Remove redundant null pointer checks before delete (#24140)
* Identified by clang-tidy readability-delete-null-pointer
2020-02-14 12:45:34 +01:00
Ujp8LfXBJ6wCPR
b92e4af460 Core/Misc: Remove redundant copy constructor for Position and WorldLocation (#24151)
* Default compiler generated ones do the same
2020-02-14 10:21:51 +01:00
Killyana
74a825d046 DB/Logs: Move some logs back to DB errors
Ref 38d3b35561
Ref #22282
2020-02-08 21:28:13 +01:00
Sorikoff
53657441aa Scripts/Spells: Nourish (#24057)
* Scripts/Spells: Nourish

* Rename 9999_99_99_99_world.sql to 2020_02_08_02_world.sql

* Update 2020_02_08_02_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:55:09 +01:00
Ovah
98d6c501d7 Core/Vehicles: implement vehicle seat addon table to specify seat ori… (#24112)
* Core/Vehicles: implement vehicle seat addon table to specify seat orientation offsets and exit positions in form of offsets or absolute positions
* converted Traveler's Tundra Mammoth to seat addon table data

* first follow batch

* whoopsie

* Core/Vehicles: go from local copies to pointers

* Update and rename 2020_99_99_99_world.sql to 2020_02_08_01_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:47:46 +01:00
ForesterDev
58313fc330 Core/PacketIO: update cinematic packets to new system. Implement CMSG_OPENING_CINEMATIC and CMSG_COMPLETE_MOVIE (#24135)
* Server/PacketIO: Enable SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE.

* Update SMSG_TRIGGER_CINEMATIC & SMSG_TRIGGER_MOVIE to new Format.

Signed-off-by: AriDEV <aridev666@gmail.com>

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp

* Core/Scripts: Add server-side script support for movie completion (#18308)

# Conflicts:
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Scripting/ScriptMgr.h
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* Core/PacketIO: CMSG_COMPLETE_CINEMATIC, CMSG_NEXT_CINEMATIC_CAMERA and enabled some opcodes

# Conflicts:
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* Core/Protocol: Implemented CMSG_OPENING_CINEMATIC

# Conflicts:
#	src/server/game/Handlers/GuildHandler.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* fix build

Co-authored-by: Krudor <erikstrandberg93@hotmail.com>
Co-authored-by: MitchesD <majklprofik@seznam.cz>
Co-authored-by: Kaelima <kaelima@live.se>
2020-02-08 20:37:34 +01:00
Ujp8LfXBJ6wCPR
76831f1f46 Use boost::optional and boost::none instead of smelly pointer (#24134)
* Remove bad pointer usage from CharacterCache

Use TrinityCore Option type instead which is intended for this purpose. (Wrapper around boost::option until C++17 bump is finalised)

* Unify codestyle regarding TC optional type

Based upon advice from @Shauren
2020-02-08 20:29:18 +01:00
Eridium
c574972cb2 Sync npc_text naming (#24128)
* Sync npc_text naming

Ref #22287
Ref #22282
We will update the table with data from broadcast_text later

* Fix sql

* Rename 2020_99_99_99_world_335.sql to 2020_02_08_00_world_335.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:26:51 +01:00
Treeston
9304e496cb Core/Misc: Some refactoring, #23603 prep: (#23676)
- Split SpawnMetadata off from SpawnData
- No longer allocate Creature/Gameobject objects in ObjectGridLoader just to check their typeid and delete them afterwards

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:22:37 +01:00
Keader
5fa77744e4 nopch build fix 2020-02-06 18:34:07 -03:00
Keader
ddd1a3c1ef Game/Battlegrounds: Fixed Position and Rotation of Alterac Valley Gates 2020-02-06 18:09:17 -03:00
Sorikoff
e10239311c Scripts/Spells: Gift of the Harvester (#24111)
* Scripts/Spells: Gift of the Harvester

* Scripts/Spells: nopch

* Scripts/Spells: nopch

* Scripts/Spells: validate

* Rename 9999_99_99_99_world.sql to 2020_02_01_03_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-01 14:55:16 +01:00
funjoker
6c85964065 Sync broadcast_text naming (#24102)
* Sync broadcast_text naming

official namings for broadcast_text

* Rename 2020_01_24_00_world_335.sql to 2020_02_01_02_world_335.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-01 14:52:59 +01:00
ForesterDev
ba1e5cd413 Core/PacketIO: convert some packets to to new packet class (#24100)
* Core/PacketIO: updated SMSG_INVALIDATE_PLAYER, SMSG_BINDER_CONFIRM, SMSG_BIND_POINT_UPDATE, SMSG_PLAYER_BOUND and SMSG_LOGIN_SET_TIME_SPEED

* small corrections
2020-02-01 14:49:38 +01:00
Giacomo Pozzoni
a9e534762f Core/Movement: Fix WaypointMovementGenerator ignoring EscortAI::SetEscortPaused() on Gossip Hello (#24005)
Fix WaypointMovementGenerator ignoring EscortAI::SetEscortPaused() when talking to a NPC, scheduling a 3 minutes pause on the WaypointMovementGenerator even if it was already disabled with no timer, waiting for the player to select a gossip entry to resume the movement.
2020-02-01 14:47:06 +01:00
ForesterDev
573ddf4d22 Core/Items: implement some helper methods for easier readability (#24113) 2020-02-01 14:45:58 +01:00
Ovah
f0485cea39 Core/Scripting: fixed build. Re-enable ModifyVehiclePassengerExitPos for CreatureScript to allow scripted creatures that already have an AI to benefit from its functionality as well 2020-01-28 06:12:42 +01:00
Ovah
ebf116e6a3 Core/AI: call ModifyVehiclePassengerExitPos for CreatureScripts since the hook is available for that class as well 2020-01-28 05:48:10 +01:00
Kittnz
b0db728c49 Core/GameObject: Add infinite visibility GameObject check (#24074) 2020-01-23 15:33:09 +01:00
Ovah
78c1216bcf Core/Movement: improved RandomMovementGenerator wait handling to get closer to retail behaivior (#24093)
* according to observations Blizzard is letting creatures do 2 up to 10 spline movements right after each other before waiting for a couple seconds
2020-01-22 22:19:42 +01:00