treeston
91c2b3162d
Game/Scripting: Follow-up to b3d44d6. Fix script selection for creatures on difficulty > 0.
2016-09-09 19:37:04 +02:00
treeston
b3d44d6c36
Creature/Scripting: Move CreatureAI::CanRespawn to CreatureScript::CanSpawn. Now also applies to initial spawn. Dynamic spawning prep.
2016-09-09 16:21:27 +02:00
Naios
445746c402
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-07-13 21:58:50 +02:00
Naios
d68316fcd2
Core/Scripting: Don't force event cancellation when swapping creatures.
...
* EventProcessor::KillAllEvents(force = false) should only be used
by the EventProcessor.
2016-07-03 00:14:22 +02:00
Naios
851c73b3e4
Core/Scripting: Kill pending unit events when swapping AI's
2016-05-01 17:49:37 +02:00
Naios
e82a934387
Core/Scripting: Fix an assertion which was triggered at lazy unloading
...
* Also fixes 2 warnings
2016-04-12 16:52:29 +02:00
Naios
410cf0dd05
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-04-12 15:42:16 +02:00
Naios
498c1e22ca
Core/Scripting: Fix another warning when building statically
2016-04-11 22:13:13 +02:00
Naios
eaf102b3c5
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
(cherry picked from commit 9cc97f226d )
2016-04-11 21:42:28 +02:00
Naios
3123c278b9
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.
(cherry picked from commit bc0f2b6e5a )
2016-04-11 21:42:16 +02:00
Naios
775e0764e8
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
(cherry picked from commit 59e3cf82ac )
2016-04-11 21:40:38 +02:00
Naios
9f61b72679
Core/Game: Converted the game library to a shared library.
...
* There is still the possibility to static link against game.
(cherry picked from commit bf33159a70 )
2016-03-24 02:46:42 +01:00
Naios
96bc31924a
CMake: Use inherited dependencies in scripts
...
* Removes the circular dependency between game <-> scripts
2016-03-18 02:53:00 +01:00
Shauren
5a6db6e84d
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-03-13 00:12:09 +01:00
Naios
b7f936891a
Core/Game: Move singleton instances into compilation units
...
* Fixes issues when building shared libraries
(prevents gcc and clang from providing several instance)
(cherry picked from commit 329225b40d )
2016-03-11 20:03:12 +01:00
Shauren
7f817a4fc0
Core/Scripts: Fixed calling UnitScript hooks
...
Closes #16543
(cherry picked from commit f809e5e13e )
2016-02-11 16:36:08 +01:00
treeston
6102a7937d
Maps/Instances: Implement handling of CMSG_SET_SAVED_INSTANCE_EXTEND
2016-02-10 19:35:11 +01:00
jackpoz
841ce54a0d
Scripts/Commands: Fix ".help" command to show commands in alphabetical order
2016-01-04 23:30:46 +01:00
Rushor
923a368ac7
Update copyright note for 2016
2016-01-01 12:02:33 +01:00
Naios
97dd18cb78
Core/ScriptMgr: Improve commit 155a289f05
...
(cherry picked from commit 30c421bf57 )
2015-11-07 13:10:21 +01:00
Naios
d81784194c
Core/ScriptMgr: Fix "conditional expression is constant" warning.
...
* introduced in commit 12d1993994
(cherry picked from commit 155a289f05 )
2015-11-07 13:10:04 +01:00
Naios
3a3a6bbfd2
Core/Globals: Use std::string rather than char* to pass script names around.
...
(cherry picked from commit b7b49fe35f )
Conflicts:
src/server/game/Battlegrounds/BattlegroundMgr.cpp
src/server/game/Globals/ObjectMgr.cpp
2015-11-07 13:09:10 +01:00
Naios
23153c8bf1
Core/ScriptMgr: Replace IsDatabaseBound() methods through traits.
...
(cherry picked from commit 12d1993994 )
2015-11-07 12:34:15 +01:00
Shauren
cba122ad94
Core/Conditions: Optimizations part 3 removed copying condition containers all over the place
...
(cherry picked from commit b09e63e9de )
2015-10-31 20:26:40 +01:00
Shauren
c92faf6277
Core/Commands: Refactored chat command script hook, fixes a crash when building with gcc 5
...
Closes #15616
Closes #15740
(cherry picked from commit 2d942ddcc5 )
# Conflicts:
# src/server/scripts/Commands/cs_battlenet_account.cpp
# src/server/scripts/Commands/cs_cast.cpp
# src/server/scripts/Commands/cs_debug.cpp
# src/server/scripts/Commands/cs_go.cpp
# src/server/scripts/Commands/cs_misc.cpp
# src/server/scripts/Commands/cs_mmaps.cpp
# src/server/scripts/Commands/cs_modify.cpp
# src/server/scripts/Commands/cs_npc.cpp
# src/server/scripts/Commands/cs_reload.cpp
# src/server/scripts/Commands/cs_ticket.cpp
2015-10-22 22:34:16 +02:00
pete318
b1032ed620
Change many uint32 to ObjectGuid::LowType in line with 6.x changes.
2015-10-12 23:10:41 +02:00
StormBytePP
7b245a0b6b
Core: Added ABORT() macro to prevent the usage of ASSERT(false) as a quick hack to crash the core misusing assert
2015-09-21 15:11:06 +02:00
Naios
301ec0be56
Core/Game: Fix some issues detected by static analysis.
...
* Possible inefficient checking for 'list' emptiness.
* Variable '_scheduledScripts' is assigned in constructor body.
Consider performing initialization in initialization list.
* Variable 'Text' is assigned in constructor body.
Consider performing initialization in initialization list.
* Possible inefficient checking for 'm_loadedScripts' emptiness.
(cherry picked from commit 9a61049f88 )
Conflicts:
src/server/game/Server/Packets/TicketPackets.cpp
2015-03-18 01:13:47 +00:00
Vincent-Michael
f3e86d3e68
Update copyright note for 2015
...
Happy new year
Conflicts:
src/server/bnetserver/Authentication/AuthCodes.h
src/server/bnetserver/Authentication/BattlenetPacketCrypt.cpp
src/server/bnetserver/Authentication/BattlenetPacketCrypt.h
src/server/bnetserver/Packets/AchievementPackets.h
src/server/bnetserver/Packets/AuthenticationPackets.cpp
src/server/bnetserver/Packets/AuthenticationPackets.h
src/server/bnetserver/Packets/BitStream.cpp
src/server/bnetserver/Packets/BitStream.h
src/server/bnetserver/Packets/CachePackets.cpp
src/server/bnetserver/Packets/CachePackets.h
src/server/bnetserver/Packets/ChatPackets.h
src/server/bnetserver/Packets/ConnectionPackets.cpp
src/server/bnetserver/Packets/ConnectionPackets.h
src/server/bnetserver/Packets/FriendsPackets.cpp
src/server/bnetserver/Packets/FriendsPackets.h
src/server/bnetserver/Packets/PacketManager.cpp
src/server/bnetserver/Packets/PacketManager.h
src/server/bnetserver/Packets/Packets.h
src/server/bnetserver/Packets/PacketsBase.cpp
src/server/bnetserver/Packets/PacketsBase.h
src/server/bnetserver/Packets/PresencePackets.cpp
src/server/bnetserver/Packets/PresencePackets.h
src/server/bnetserver/Packets/ProfilePackets.h
src/server/bnetserver/Packets/SupportPackets.h
src/server/bnetserver/Packets/WoWRealmPackets.cpp
src/server/bnetserver/Packets/WoWRealmPackets.h
src/server/bnetserver/Realms/RealmList.cpp
src/server/bnetserver/Realms/WorldListener.cpp
src/server/bnetserver/Realms/WorldListener.h
src/server/bnetserver/Server/ComponentManager.cpp
src/server/bnetserver/Server/ComponentManager.h
src/server/bnetserver/Server/ModuleManager.cpp
src/server/bnetserver/Server/ModuleManager.h
src/server/bnetserver/Server/Session.cpp
src/server/bnetserver/Server/Session.h
src/server/bnetserver/Server/SessionManager.cpp
src/server/bnetserver/Server/SessionManager.h
src/server/game/Accounts/BattlenetAccountMgr.cpp
src/server/game/Accounts/BattlenetAccountMgr.h
src/server/game/Battlegrounds/Zones/BattlegroundBFG.cpp
src/server/game/Battlegrounds/Zones/BattlegroundBFG.h
src/server/game/Battlegrounds/Zones/BattlegroundTP.cpp
src/server/game/Battlegrounds/Zones/BattlegroundTP.h
src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
src/server/game/Entities/AreaTrigger/AreaTrigger.h
src/server/game/Entities/Item/ItemTemplate.cpp
src/server/game/Guilds/GuildFinderMgr.cpp
src/server/game/Guilds/GuildFinderMgr.h
src/server/game/Handlers/GuildFinderHandler.cpp
src/server/game/Handlers/VoidStorageHandler.cpp
src/server/game/Movement/MovementStructures.cpp
src/server/game/Movement/MovementStructures.h
src/server/game/Movement/PathGenerator.cpp
src/server/game/Server/BattlenetServerManager.cpp
src/server/game/Server/BattlenetServerManager.h
src/server/game/Server/Packet.cpp
src/server/game/Server/Packet.h
src/server/game/Server/Packets/AchievementPackets.cpp
src/server/game/Server/Packets/AchievementPackets.h
src/server/game/Server/Packets/AuctionHousePackets.cpp
src/server/game/Server/Packets/AuctionHousePackets.h
src/server/game/Server/Packets/AuthenticationPackets.cpp
src/server/game/Server/Packets/AuthenticationPackets.h
src/server/game/Server/Packets/BattlegroundPackets.cpp
src/server/game/Server/Packets/BattlegroundPackets.h
src/server/game/Server/Packets/ChannelPackets.cpp
src/server/game/Server/Packets/ChannelPackets.h
src/server/game/Server/Packets/CharacterPackets.cpp
src/server/game/Server/Packets/CharacterPackets.h
src/server/game/Server/Packets/ChatPackets.cpp
src/server/game/Server/Packets/ChatPackets.h
src/server/game/Server/Packets/ClientConfigPackets.cpp
src/server/game/Server/Packets/ClientConfigPackets.h
src/server/game/Server/Packets/CombatLogPackets.cpp
src/server/game/Server/Packets/CombatLogPackets.h
src/server/game/Server/Packets/CombatPackets.cpp
src/server/game/Server/Packets/CombatPackets.h
src/server/game/Server/Packets/EquipmentSetPackets.cpp
src/server/game/Server/Packets/EquipmentSetPackets.h
src/server/game/Server/Packets/GameObjectPackets.cpp
src/server/game/Server/Packets/GameObjectPackets.h
src/server/game/Server/Packets/GuildPackets.cpp
src/server/game/Server/Packets/GuildPackets.h
src/server/game/Server/Packets/ItemPackets.cpp
src/server/game/Server/Packets/ItemPackets.h
src/server/game/Server/Packets/LootPackets.h
src/server/game/Server/Packets/MiscPackets.cpp
src/server/game/Server/Packets/MiscPackets.h
src/server/game/Server/Packets/MovementPackets.cpp
src/server/game/Server/Packets/MovementPackets.h
src/server/game/Server/Packets/NPCPackets.cpp
src/server/game/Server/Packets/NPCPackets.h
src/server/game/Server/Packets/QueryPackets.cpp
src/server/game/Server/Packets/QueryPackets.h
src/server/game/Server/Packets/QuestPackets.cpp
src/server/game/Server/Packets/QuestPackets.h
src/server/game/Server/Packets/ReputationPackets.cpp
src/server/game/Server/Packets/ReputationPackets.h
src/server/game/Server/Packets/SpellPackets.cpp
src/server/game/Server/Packets/SpellPackets.h
src/server/game/Server/Packets/SystemPackets.cpp
src/server/game/Server/Packets/SystemPackets.h
src/server/game/Server/Packets/TalentPackets.cpp
src/server/game/Server/Packets/TalentPackets.h
src/server/game/Server/Packets/TradePackets.h
src/server/game/Server/Packets/WorldStatePackets.cpp
src/server/game/Server/Packets/WorldStatePackets.h
src/server/game/Server/WorldSocket.cpp
src/server/ipc/CMakeLists.txt
src/server/ipc/Commands.cpp
src/server/ipc/Commands.h
src/server/ipc/ZMQTask.cpp
src/server/ipc/ZMQTask.h
src/server/ipc/ZmqContext.cpp
src/server/ipc/ZmqContext.h
src/server/ipc/ZmqListener.cpp
src/server/ipc/ZmqListener.h
src/server/ipc/ZmqMux.cpp
src/server/ipc/ZmqMux.h
src/server/ipc/ZmqWorker.cpp
src/server/ipc/ZmqWorker.h
src/server/scripts/Commands/cs_battlenet_account.cpp
src/server/scripts/Commands/cs_mmaps.cpp
src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_beauty.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_karsh_steelbender.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_romogg_bonecrusher.cpp
src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp
src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.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/instance_zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
src/server/scripts/EasternKingdoms/zone_ironforge.cpp
src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp
src/server/scripts/Kalimdor/Firelands/firelands.h
src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_darkshore.cpp
src/server/scripts/Kalimdor/zone_felwood.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/Maelstrom/Stonecore/boss_corborus.cpp
src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp
src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp
src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp
src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp
src/server/scripts/Maelstrom/Stonecore/stonecore.cpp
src/server/scripts/Maelstrom/Stonecore/stonecore.h
src/server/shared/Cryptography/Authentication/AuthCrypt.h
src/server/shared/Cryptography/Authentication/PacketCrypt.cpp
src/server/shared/Cryptography/Authentication/WorldPacketCrypt.cpp
src/server/shared/Cryptography/HmacHash.cpp
src/server/shared/Cryptography/SHA256.cpp
src/server/shared/Cryptography/SHA256.h
src/server/shared/Database/Implementation/HotfixDatabase.cpp
src/server/shared/Database/Implementation/HotfixDatabase.h
src/server/shared/Realm/Realm.cpp
src/server/shared/Realm/Realm.h
src/tools/connection_patcher/CMakeLists.txt
src/tools/connection_patcher/Constants/BinaryTypes.hpp
src/tools/connection_patcher/Helper.cpp
src/tools/connection_patcher/Helper.hpp
src/tools/connection_patcher/Patcher.cpp
src/tools/connection_patcher/Patcher.hpp
src/tools/connection_patcher/Patches/Common.hpp
src/tools/connection_patcher/Patches/Mac.hpp
src/tools/connection_patcher/Patches/Windows.hpp
src/tools/connection_patcher/Patterns/Common.hpp
src/tools/connection_patcher/Patterns/Mac.hpp
src/tools/connection_patcher/Patterns/Windows.hpp
src/tools/connection_patcher/Program.cpp
src/tools/map_extractor/loadlib/DBFilesClientList.h
2015-01-01 00:32:50 +01:00
joschiwald
5b93a6b392
Core/Scripts: log ScriptNames assigned in database without core script
...
(cherry picked from commit cc4ebdbe05 )
2014-12-06 15:38:21 +01:00
jackpoz
4ed3254aa8
Core/Scripts: Fix invalid memory write
...
Fix invalid memory write caused by calling "delete this;" in a base class constructor.
2014-09-29 20:12:03 +02:00
joschiwald
c34af1d60b
Core/Scripts: fixed memory leak caused by unassigned scripts in db
2014-09-29 19:03:04 +02:00
jackpoz
e77f503336
Scripts/Examples: Remove some more code related to example scripts
2014-09-22 20:25:11 +02:00
Shauren
a0e50ea35f
Core/Entities: Use ObjectGuid class in game project
2014-09-14 16:14:12 +02:00
chadryx
983755a21d
Added a new hook Called when a player's money is at limit
2014-08-27 19:01:41 +03:00
Rochet2
9beae1dc97
Removed OnQuestComplete hook, use QuestReward instead. Implemented OnQuestStatusChange hook
...
Also fixed some comments and added overrides
The OnQuestComplete hook was unused and didnt work properly
2014-08-24 14:31:38 +03:00
leak
1a27ce1267
Core/NetworkIO: Restore networking related scripting hooks
...
Closes #12607
2014-08-11 17:40:43 +02:00
Shauren
6f272ea5b7
Core/Network: Optimized packet sending by removing unneccessary memory copying
2014-07-27 17:46:46 +02:00
leak
a738cd96dc
Renamed WorldTcpSession back to WorldSocket
2014-07-07 22:03:41 +02:00
Subv
b5d5768d44
Fixed the crashes
2014-07-05 21:38:29 -05:00
leak
7befb26625
Some groundwork for replacing the ACE based WorldSocket handling
2014-07-06 01:26:29 +02:00
leak
e0aed65c8c
ACE cleanup on game, now the major issue remains WorldSocket
2014-07-02 02:20:53 +02:00
Aokromes
84e6af26e6
Merge pull request #11976 from Ascathor/master
...
Core/Misc: New ability to log account IP access history
2014-06-23 22:48:35 +02:00
Rochet2
7240fafe94
Core: Add loginFirst param to OnLogin hook to allow doing things on first login only
...
whitespacefix
Fix warning about unused param
2014-06-21 17:40:56 +03:00
Ascathor
6949735098
Core/Misc:
...
* Fix some codestyle, fix some typos
* Change CMakeLists for: Custom (can be uncommented), Events, World
** Custom is theoretically unchanged. You can, however, uncomment the glob_recurse that initializes every file within. This might be easier for beginners.
* Introducing the IP Based Action Log System:
** On several different actions, e.g. Login, Character Login, etc., a new entry is added
** Can be logged on and off in worldserver config
*** Disabled by default to prevent increased log db size for unknowing users.
* Add a new row to account table called 'last_attempt_ip'
** Lists the last ip trying to connect to the account
* Add a new type of HookScripts: AccountScript
** Includes: OnAccountLogin, OnFailedAccountLogin, OnEmailChange, OnFailedChange, OnPasswordChange, OnFailedPasswordChange
* Added new Hook to PlayerScripts: OnFailedPlayerDelete
* Added new variables to PlayerScripts: OnPlayerDelete
2014-06-13 16:25:11 +02:00
kontownik
91850fa9e4
Core/Scripts: New ItemScript trigger, OnItemRemove
2014-03-03 22:18:47 +01:00
Vincent_Michael
20004050bc
Update copyright note for 2014.
...
Happy new year.
2014-01-01 00:07:53 +01:00
Shauren
293915db39
Core/Quests: Fixed icon shown above questgivers with daily quests that have already been completed once by a character
...
Closes #11331
2013-12-25 02:08:05 +01:00
Spp
94e2b9332a
Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive)
2013-11-08 10:50:51 +01:00
leguybrush
0a308144a8
Core/Code: Unify [more] codestyle for brackets: )\n{\n} to ) { }.
2013-10-28 14:36:07 -04:00