Commit Graph

653 Commits

Author SHA1 Message Date
Kargatum
373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Treeston
5e013a9996 Core/ChatCommands: Add trinity_string support for chat command help
(cherry picked from commit 26c510775c)
2022-02-27 21:23:11 +01:00
Treeston
3fd2eb126c [3.3.5] ChatCommands, the other half: chat command resolution refactor (PR #25463)
(cherry picked from commit 1eca51b417)
2022-02-27 20:08:41 +01:00
Seyden
272addbf2b Core/Scripts: Fix Hotswap not reinitializing AIs after destroying them and then crashing due to AI being nullptr (#27744) 2022-02-15 22:36:48 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
f8ad7017dd Core/Misc: Move (or delete) constructors and destructors to .cpp files (avoids compiling them in every file that includes them) 2022-02-12 21:36:46 +01:00
Shauren
d057e057d3 Core/Misc: Optimize ChatCommand includes (include only where neccessary) 2022-02-11 21:57:45 +01:00
Meji
27cba3f523 Core/Scripts: Added script hook to execute actions after completing an achievement (#27718) 2022-02-08 23:23:05 +01:00
Treeston
358dc78e47 Scripts/AreaTrigger: Rename OnlyOnceAreaTriggerScript::_OnTrigger to TryHandleOnce, and make its return value useful.
(cherry picked from commit 0c7f6ac89f)
2022-02-05 14:53:54 +01:00
Treeston
75e5c44638 Scripts/IcecrownCitadel: correct Rimefang's script name
(cherry picked from commit fc3feebee9)
2022-02-05 13:32:55 +01:00
Shauren
0a1acb9c05 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it
(cherry picked from commit 7d4fbf706a)
2022-02-04 00:27:10 +01:00
Shauren
e81b5838a6 Core/Scripts: Unify RegisterSpellScript and RegisterAuraScript macros to do the same thing and implemented passing custom arguments to spell script classes
(cherry picked from commit 75a6a7a0ad)
2022-02-03 00:25:03 +01:00
Peter Keresztes Schmidt
2e3c612c80 Core/Unit: Make HandleEmoteCommand typesafe (#25249)
* Scripts/ScarletMonastery: Fix wrong emote during Headless Horseman encounter

* Scripts/HoR: Fix wrong emote during escape event

* Core/Unit: Make improve type safety of HandleEmoteCommand

Change argument type to the expected enum type Emote

* Scripts/CoS: Use SetUInt32Value to set UNIT_NPC_EMOTESTATE

UNIT_NPC_EMOTESTATE is no flag field

(cherry picked from commit 6c7837f947)
2022-01-26 21:46:51 +01:00
Carbenium
eeffb310de Core/EventProcessor: std::chrono-ify CalculateTime
uint64 CalculateTime(uint64 t_offset) has been replaced with Milliseconds CalculateTime(Milliseconds t_offset).
Also add the std::chrono-ified overload void AddEvent(BasicEvent*, Milliseconds, bool)

(cherry picked from commit 92a02a5c87)
2022-01-24 12:00:35 +01:00
Shauren
2b312c7bd2 Dep: Switch to boost process instead of old standalone version
(cherry picked from commit 524d167398)
2022-01-23 20:39:15 +01:00
Shauren
0d3235f569 Core/Guilds: Separate guild rank id from guild rank order
Co-authored-by: aquadeus <efectokoleos13@gmail.com>
2022-01-09 23:12:00 +01:00
Carbenium
49523a74a4 Battlefields: Move BF scripts out of game
This commit introduces the usual script interface
for battlefields.

(cherry picked from commit f7faf20254)
2022-01-07 00:20:57 +01:00
jackpoz
c03af362c6 Core/Scripts: Show a message when aborting because two scripts have the same registered name
(cherry picked from commit 96df3b7adb)
2021-12-22 22:57:34 +01:00
Ujp8LfXBJ6wCPR
91a0fbbd71 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

(cherry picked from commit 76831f1f46)
2021-12-21 15:21:39 +01:00
Ovah
5c258c1bbd 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
(cherry picked from commit f0485cea39)
2021-12-20 23:56:45 +01:00
Ovah
64fc549be8 Core/AI: call ModifyVehiclePassengerExitPos for CreatureScripts since the hook is available for that class as well
(cherry picked from commit ebf116e6a3)
2021-12-20 23:56:31 +01:00
ccrs
6443116d5b Scripts/ScarletMonastery: instance script cleanup (#23889)
Adapt InstanceScript into newer structure and style
Adapt existing boss scripts into newer structure and style
Improve existing boss related definitions

Should make each boss more functionally reliable, but nothing new has been added

(cherry picked from commit 06c6b30ed4)
2021-12-18 23:36:17 +01:00
Ovah
a24a5e7778 Core/Movement: add a velocity argument for the spline chain meta table (PR #23575)
(cherry picked from commit 3f7b2252a1)
2021-12-16 22:03:35 +01:00
Aokromes
30cec73c61 Coding standards (#23514)
* Coding standards

* revert part

(cherry picked from commit fe744977c9)
2021-12-13 00:42:17 +01:00
Wyrserth
1edd93bc0c Core/Script: add script hook to allow overriding of a vehicle passenger's exit position (#23322)
* Core/Script: add script hook to allow overriding of a vehicle passenger's exit position.

* Allow to change orientation, and fix nopch.

* Keep original orientation, thanks jackpoz!

* Update Unit.cpp

Code cleanup

* Update Unit.cpp

(cherry picked from commit 88c6c61b95)
2021-12-08 23:51:07 +01:00
ccrs
672d4d6baa Core/AI: silence a freaking annoying VS IntelliSense warning
(cherry picked from commit 0eb5d240fa)
2021-12-05 16:19:57 +01:00
Giacomo Pozzoni
ed5ba915f1 Core/Scripts: Change PlayerScript and CreatureScript inheritance (#23048)
Remove UnitScript from PlayerScript and CreatureScript classes as that's how the original system that was PR'd worked, see https://github.com/TrinityCore/TrinityCore/pull/7867 for reference.
Please note these are used as global hooks and should really just invoke stateless functions.
If you need to hook methods from PlayerScript/CreatureScript and UnitScript, just define 2 different scripts (this is how the original system worked and how it was designed to work)

(cherry picked from commit 5b7ead65bb)
2021-11-23 22:54:24 +01:00
Shauren
f2456ff319 Scripts/Areatriggers: Fixed all areatrigger scripts triggering both on enter and exit instead of only on enter 2021-11-10 00:01:50 +01:00
Shauren
b13e9f9d61 Core/Misc: Fixed clang 13 warnings, gcc 11 build errors and nopch build 2021-10-25 00:05:05 +02:00
Treeston
e4e8c1c59c Core/AI: Clean up charm AI handling, we now have two unique_ptr instead of a crapton of booleans
(cherry picked from commit 042f5515e4)
2021-10-22 23:47:51 +02:00
Seyden
8f097e4425 Core/Scripts: Implement script name reloading
* Authored by Seyden
* Co-authored by Naios
* We thank Shauren for your helpful feedback
2021-10-22 12:52:37 +02:00
Treeston
3418a33a87 Misc: Pass std::chrono types by value everywhere.
(cherry picked from commit 2ef9d301f0)
2021-10-14 19:39:42 +02:00
Shauren
b6b46924f6 Core/Scripts: Make ObjectMgr::LoadScriptNames safe to call multiple times 2021-10-12 16:09:47 +02:00
ModoX
6d9ce8e8ba Core/PacketIO: Implemented CMSG_CONVERSATION_LINE_STARTED (#27036)
* Added OnConversationLineStarted hook to ConversationScripts
* Added example for Defender of Azeroth conversation
2021-10-12 00:16:20 +02:00
Shauren
2d7af28e9f Core/Transports: Store information about continent transports 2021-10-02 19:59:56 +02:00
Treeston
5c80f50734 Core/Spawning: Actually check spawn group state before processing a respawn. It feels like that is something that should've been noticed at some point.
Also remove CreatureScript::CanSpawn since nobody uses it, and spawn groups do the same thing.

(cherry picked from commit 94b5d9bfa1)
2021-08-08 21:21:34 +02:00
ariel-
88ae43fa51 Core/Misc: minor typo and codestyle fixes
- Replace NULL uses in new code with nullptr
- Fix wrong (accumulated) load time log when loading calendar invites
- Make Creature::CanRegenerateHealth const as its just a getter
- Mark OnlyOnceAreaTriggerScript::OnTrigger as final in case someone wants to override that (you are supposed to use protected _OnTrigger hook)

(cherry picked from commit 78a1c687a2)
2021-03-15 20:17:31 +01:00
Robingad
995fb23bc1 Core/Scripts: Add SpellInfo argument to ScriptMgr::ModifySpellDamageTaken (#26141) 2021-02-28 18:42:36 +01:00
Shauren
f269f60d8a Scripts/Quests: Implemented new quest scripting hook, OnQuestAcknowledgeAutoAccept, used when player closes quest frame after viewing details of autoaccept quests 2021-02-26 20:42:29 +01:00
Shauren
7851cd3a96 Core/AreaTriggers: Code cleanup 2021-01-30 18:10:21 +01:00
Matan Shukry
0417c5ff5f Core/AreaTriggers: Implementation for sever side area triggers
- Spawn GridLoader to spawn area triggers correctly now
- Removed SAI completely
- Removed remnants of smart scripts. Created different issue for it
- Calling InitDbPhaseShift and not InDbPhaseShift
- changed SpawnId to uint64 rather than uint32
- not using CellGuidSet typedef as to not include ObjectMgr.h in the header
2021-01-30 18:10:21 +01: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
Treeston
fe938b99f8 Core/Scripts: Implemented OnlyOnceAreaTriggerScript (#20288)
(cherry picked from commit 971ed856a4)
2020-08-29 00:41:22 +02:00
Aokromes
8534c23dfe Core/Scripting: remove long time dead code
(cherry picked from commit 7ed36d353a)
2020-08-29 00:15:09 +02:00
Yehonal
ae4dacfd1d Core/Scripts: FOR_SCRIPTS macro shouldn't return early (#20187)
FOR_SCRIPTS, insteadof FOR_SCRIPTS_RET, shouldn't return
otherwise methods such as void ScriptMgr::OnPlayerEnterMap(Map* map, Player* player) will end prematurely

(cherry picked from commit 4ee16fb536)
2020-08-23 16:06:43 +02:00
ccrs
97585597f0 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)

(cherry picked from commit 7fff83d675)
2020-08-23 00:45:46 +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 59db2eeea0)
2020-08-22 12:59:57 +02:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Treeston
e9392ad287 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above

(cherry picked from commit 210176fd91)
2020-08-03 19:39:00 +02:00
ariel-
bd96262248 Core/OutdoorPvP: refactor using Position and Quat to pack parameters
- Moved statics to cpp
- Save scriptids into an array

(cherry picked from commit 3e7b64b2f7)
2020-07-16 22:00:29 +02:00