Commit Graph

578 Commits

Author SHA1 Message Date
ariel-
f3246f835c Core/Scripts: remove OnDummyEffect hook/sOnDummyEffect ai hook
- Duplicated logic never used, sometimes only ScriptMgr version was called, sometimes only AI
- They only encourage bad scripting practices
- You can still use OnSpellHit or a SpellScript
2017-05-02 02:04:45 +02:00
Aokromes
df1730a734 Core/ScriptReloadMgr: Fixed scripts hot swapping on OS X 2017-04-01 07:20:43 +02:00
Aokromes
55914733a0 Core/Scripts: Add support for spawn specific C++ scripts
By Krudor.
2017-03-25 10:27:51 +01:00
Aokromes
e09c37334d Reverting: Game/Scripting: Add OnGameEvent hook for game objects. 2017-02-19 09:09:43 +01:00
Aokromes
e956ea4e62 Game/Scripting: Add OnGameEvent hook for game objects.
Called when specific game event starts
2017-02-19 09:06:37 +01:00
Aokromes
bc19916d79 Sync with 3.3.5a 2017-02-10 06:45:33 +01:00
Kittnz
159709e0b0 Game/Scripting: Add OnPlayerRepop hook
Called when a player presses release when he died
2017-02-10 05:26:15 +01:00
ariel-
9aa3dd4881 Core/Scripts: fix dynamic build 2017-02-10 05:25:24 +01:00
sirikfoll
dea47762be Core/Scripting: Fixed hotswap calling evade mode for dead creatures 2017-01-14 06:46:02 +01:00
Aokromes
719a317a67 Update copyright note for 2017 2017-01-02 07:26:38 +01:00
treeston
824db91cbe Various: Fix coverity reported issues. 2016-10-05 07:59:14 +02:00
treeston
7eb89d3648 Core/Movement: Fix a DB spline chain overload I missed in 2170541 2016-09-21 05:26:27 +02:00
treeston
8a402b9f6b Core/Unit: Standardize SetFacingTo and SetFacingToObject behavior while moving. Both now fail while moving unless arg2 bool is true 2016-09-20 20:28:45 +02:00
treeston
7e55e193e5 PCH build fix. Again.
(( Alright, you made me waste 20 minutes of my life on a full nonPCH rebuild of the core now. ))
(( I hope you're happy. ))
2016-09-20 18:37:20 +02:00
treeston
bf61a58cc2 Core/Movement: Add a convenience default ctor to SplineChainResumeInfo, and fix PCH build in some configurations (zzz why do we even keep Appveyor and Travis around). 2016-09-20 12:55:26 +02:00
treeston
c1cc7e0a36 Core/Movement: Add new SplineChainMovementGenerator that allows accurate replication of sniffed waypoints in static sequences, along with DB facilities that allow loading of waypoints from DB. 2016-09-20 12:54:54 +02:00
Naios
dcea4223dd Core/Scripts: Fix a crash when adding/removing objects from the map while swapping
* Ref #17833
2016-09-15 17:08:30 +02:00
Rochet2
19ed813f6b Core/Scripts: Enhance quest status hook by making it catch more status changes (#17865) 2016-09-10 14:25:57 +02:00
treeston
40d0fcfae6 Fine, this time I actually built it. Promise. 2016-09-09 20:00:53 +02:00
treeston
008bbdbc47 Build fix. 2016-09-09 20:00:40 +02:00
treeston
32de236865 Game/Scripting: Follow-up to b3d44d6. Fix script selection for creatures on difficulty > 0. 2016-09-09 20:00:30 +02:00
treeston
bb9b7582ee Core/Maps: Add override to allow InstanceMap const* -> InstanceScript const*.
Also tighten const-ness on CanSpawn method of CreatureScript.
2016-09-09 19:59:50 +02:00
treeston
5bd9d82c9d Creature/Scripting: Move CreatureAI::CanRespawn to CreatureScript::CanSpawn. Now also applies to initial spawn. Dynamic spawning prep. 2016-09-09 19:57:25 +02:00
Aokromes
0d829c7d2d Core/Misc: Minimize differences between branches in WorldSession::Update
This commit removes OnUnknownPacketReceive script hook - it could never be fired anyway at that point
2016-08-31 08:15:01 +02:00
Aokromes
c9d63c3cb0 Core: Removed Whitespaces 2016-08-10 09:29:13 +02:00
Naios
efa3d00ebf Core/Scripting: Fix acquiring of references between script swaps
* Delay unloading of shared libraries to the next update tick
  to prevent crashes in the destructor of the last referenced
  script instance.
* Closes #17557
2016-08-10 09:05:43 +02:00
Naios
4065ba87c6 Core/Scripting: Don't force event cancellation when swapping creatures.
* EventProcessor::KillAllEvents(force = false) should only be used
  by the EventProcessor.
2016-08-10 09:04:38 +02:00
Naios
c4e7dcc04d Core/Scripting: Kill pending unit events when swapping AI's 2016-08-10 08:58:56 +02:00
Naios
2ec212fdd1 Core/Scripting: Use the systems temporary path for caching shared libs
* Disables the shared library caching on platforms completely which
  never block files on usage (like linux).
2016-08-10 08:57:12 +02:00
Naios
8289ed64d6 Core/Scripting: Add the info how much time the system took to reload 2016-08-10 08:56:11 +02:00
Naios
b7ca3ad47d Core/Scripting: Improve the error message when the script reloader fails to create a cache entry
(cherry picked from commit 8fa52860ab)
2016-08-10 08:55:12 +02:00
Naios
d1e5084c27 Core/Scripting: Fix a typo in b970a684 2016-08-10 08:54:52 +02:00
Naios
65feb528e5 Core/Scripting: Wait until the debugger is detached before rebuilding scripts.
* Thanks Shauren for the IsDebuggerPresent() hint.
2016-08-10 08:54:26 +02:00
Naios
9eab8427cc Core/Scripting: Fix detection of source changes when using inotify.
* This fixes the source change detection in linux.
* Also simplifies the detection of observed modules
* Fixes the script rebuilding on linux
* Escape windows paths to (maybe) fix paths with spaces (#16947)
2016-08-10 08:53:38 +02:00
Naios
273ee4f87f Core/Scripting: Fix an assertion which was triggered at lazy unloading
* Also fixes 2 warnings
2016-08-10 08:53:09 +02:00
Naios
785c17381c Core/Scripting: Fix loading of spell/aurascripts
* Broken since 9cc97f226d
* There is still a crash when using lazy unloading which I
  will fix in a later commit (this commit should fix at least
  the static build and normal usage of the dynamic build).
* Closes #16948
2016-08-10 08:52:30 +02:00
Naios
293d51c8b0 Core/Scripting: Fix another warning when building statically 2016-08-10 08:43:32 +02:00
Naios
e23d063f5a Core/Game: Rewrote the ScriptMgr to support script reloading.
* Finally this commit enables dynamic script hotswapping
  and finished the PR #15671.
* Split the storage layout to use optimized storages
  for database bound and unbound scripts.
* Add several unload workers to reload scripts correctly
  -> Requires further investigation.
* Fixes memory leaks in ScriptMgr when dropping invalid scripts.
* Fixes VehicleScripts
* Makes OutdoorPvP scripts reloadable
* Makes InstanceMapScripts reloadable
* Makes CommandScripts reloadable
2016-08-10 08:40:44 +02:00
Naios
3957fbf176 Core/Scripting: Fix a warning when building statically 2016-08-10 08:25:28 +02:00
Aokromes
0a40d49839 Delete file copied instead moved. 2016-08-10 08:00:21 +02:00
Aokromes
436cdfd7c9 Core/Game: Move scheduled map scripts counter methods into MapManager
* Since those have nothing to do with core scripts and are
  not wished inside the ScriptMgr
2016-08-10 06:40:03 +02:00
Aokromes
e8e164e28f Core/Game: Add a dynamic script reloader which reloads scripts modules on changes.
* is responsible for registering plain modules.
* requires compilation with the `WITH_DYNAMIC_LINKING` flag.
* requires further support of the ScriptMgr.
2016-08-10 03:29:20 +02:00
Aokromes
7ef9b246b5 CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts
2016-08-10 00:33:48 +02:00
Aokromes
5302d9112b Core/Game: Converted the game library to a shared library.
* There is still the possibility to static link against game.
2016-08-08 20:11:29 +02:00
Rochet2
7378c2ba97 Add missing GAME_API exports 2016-07-19 11:33:55 +02:00
r00ty-tc
4bcc63686b Build fixes 2016-05-12 10:29:20 +01:00
Rochet2
b837b2a2e6 Add missing GAME_API exports 2016-05-12 08:17:33 +02:00
Aokromes
303082546b Sync with 3.3.5a core 2016-05-03 12:50:49 +02:00
ariel-
65aec5f8f7 Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Note: additional hand-picked ports from 6.x to fix build

Conflicts:
	sql/updates/world/2016_02_22_00_world.sql
	sql/updates/world/2016_02_22_01_world.sql
	sql/updates/world/2016_02_22_02_world.sql
	sql/updates/world/2016_03_07_00_world.sql
	src/server/authserver/Realms/RealmList.cpp
	src/server/authserver/Realms/RealmList.h
	src/server/authserver/Server/AuthSession.cpp
	src/server/game/Accounts/AccountMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/Chat/Chat.cpp
	src/server/game/Conditions/ConditionMgr.cpp
	src/server/game/Conditions/ConditionMgr.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Scripting/ScriptLoader.cpp
	src/server/game/Scripting/ScriptLoader.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/World/World.cpp
	src/server/game/World/World.h
	src/server/scripts/CMakeLists.txt
	src/server/scripts/Commands/cs_gm.cpp
	src/server/scripts/Commands/cs_misc.cpp
	src/server/scripts/Commands/cs_rbac.cpp
	src/server/scripts/Commands/cs_ticket.cpp
	src/server/scripts/Commands/cs_wp.cpp
	src/server/scripts/EasternKingdoms/CMakeLists.txt
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/Kalimdor/CMakeLists.txt
	src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/OutdoorPvP/CMakeLists.txt
	src/server/scripts/Spells/spell_dk.cpp
	src/server/scripts/Spells/spell_hunter.cpp
	src/server/shared/CMakeLists.txt
	src/server/worldserver/CMakeLists.txt
	src/server/worldserver/Main.cpp
	src/tools/mmaps_generator/CMakeLists.txt
2016-03-11 18:32:07 -03:00
Naios
9e43365b3d Core/Scripts: Split the huge scriptloader into smaller pieces
* Each subdirectory contains it's own translation unit now
  which is responsible for loading it's directory
* Improves merging & decoupling between 3.3.5 <-> 6.x
* Removes unused Battleground loader
* Ref #15671

(cherry picked from commit 5534915f74)
2016-02-22 16:25:54 +01:00