Commit Graph

115 Commits

Author SHA1 Message Date
ariel-
5903a10a83 Core/AI: segregate GameObject ReportUse from normal Use (lock open/normal click)
Closes #19819

(cherry picked from commit 2335b9de1a)
2020-07-16 21:47:28 +02:00
ariel-
6604849716 Core/Scripts: unified scripted gossip/quest api
- Changed self-accessor on GameObjectAI to "me", like UnitAI
- Moved all related functions to AI, now Unit and GameObject have the same function names with identical behaviour
- Remove "OnUpdate" from CreatureScript/GameObjectScript, was never used and we already have AI Update method
- Quest methods no longer return a bool, the return value was used to call the AI version if the ScriptMgr one returned false
- Implemented GameObjectAI::Destroyed hook (was never called), implemented Damaged method
- Rename OnStateChanged to OnLootStateChanged to reflect when it's really called, and created a new hook OnStateChanged that only gets called on GOState change
- Since the functions are now only getting called from AI, made GetAI methods full virtual. (CanSpawn method is anyways going to be used on creatures with AI)

(cherry picked from commit f913f3bb89)
2020-05-03 03:04:32 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
xinef1
ad008c43b7 Core/Misc: Fix various crashes, also related to multithreading (#19012)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove
* remove some possible references item may have when it is deleted during save.
* Also clear all hostile references when unit is removed from map.

(cherrypicked from 86da1a19bb)
2019-07-21 21:06:54 +02: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
9ffabae6bf Scripts/Misc: Use InstanceMap* in InstanceScript instead of Map* 2018-06-16 17:24:10 +02:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Aokromes
90badf9d7e Misc: More cleanup 2017-11-25 02:50:29 +01: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
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
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 ac62d7156f)

Drycoding is bad, mmkay?
(cherry picked from commit ed83a35fbe)
2017-02-19 15:09:02 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Duarte Duarte
7eb4512eee Scripts: Minimize duplicated enum names in header files (#18346)
This reduces the number of cache resets with the Zapcc compiler

Standard followed is instance/raid TLA + DataTypes/CreaturesIds/etc
2016-12-01 01:51:07 +00:00
jackpoz
2f1bd93c9e Core/Unit: Add Unit::KillSelf() overload
Add Unit::KillSelf() function as overload of Unit::Kill(this) . Use KillSelf() whenever the killer and the victim are the same to clearly state the Unit is going to kill itself.

(cherry picked from commit 3267c90102)

# Conflicts:
#	src/server/game/AI/SmartScripts/SmartScript.cpp
2016-01-15 20:34:27 +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
David Carlos Manuelda
20215a8c42 Removed unneeded nullptr check 2015-08-11 12:48:33 +02:00
David Carlos Manuelda
e430f3f61a Fixed boss evade and doors closed by cr4st.
Should close #6377 and #15239
2015-08-11 05:25:53 +02:00
MitchesD
82e5d18893 Scripts/Misc: some random changes after recent commits and cleanup
(cherry picked from commit f94cfc6577)
2015-01-10 23:01:41 +01:00
Rushor
f66596a335 Scripts/Stratholme: Move Maleki the Pallid to Eventmaps
Closes #13871

(cherry picked from commit db849e7fcc)
2015-01-10 05:20:36 +00:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
jackpoz
79b9ca4a58 Scripts/Misc: Make InstanceScript::Initialize() obsolete
Move all InstanceScript initialization code from Initialize() to the constructor.
InstanceScript::Initialize() is now obsolete, please don't use it anymore. The only reason it's still in the sources is for backward compatibility.
2014-09-25 22:28:20 +02:00
Shauren
9b316fe689 Core/Scripts: Fixed PCH build 2014-09-16 00:44:56 +02:00
Shauren
48deb443f9 Core/Scripts: Fixed build of misc scripts, only zone_* and instance_* remain 2014-09-15 22:52:09 +02:00
Shauren
a3d8f1d879 Core/Scripts: Fixed build of boss_* scripts 2014-09-15 22:07:11 +02:00
Shauren
56f46e3ce5 Scripts
* Introduced GetGuidData/SetGuidData to store guids in instance scripts (GetData64/SetData64 are still there)
* CONDITION_INSTANCE_INFO: Changed existing DATA64 condition to GUID_DATA to preserve current use of this instance info type (most/all assume the data is a guid) and moved DATA64 to a different value - no db changes needed
* Fixed compile in boss scripts starting with letter A
2014-09-14 23:23:23 +02:00
Shauren
a0e50ea35f Core/Entities: Use ObjectGuid class in game project 2014-09-14 16:14:12 +02:00
Vincent-Michael
f2655b2d2d Core: Remove whitespace (again, again, ...) 2014-09-07 22:22:16 +02:00
Nyeriah
2dc45fafe6 Scripts/Stratholme: Move Freed Soul AI to database and a small addition
- They should follow players until they despawn
2014-09-07 01:08:42 -03:00
joschiwald
ef9b4aea5e Core/InstanceScript: refactored load and save methods 2014-09-07 00:42:14 +02:00
jackpoz
53d3becf3c Core/Misc: Refactor scripts to fix static analysis warnings 2014-09-03 22:11:41 +02:00
jackpoz
3388587b7a Core/Misc: Replace rand() calls with SFMT 2014-07-22 21:43:19 +02:00
jackpoz
1083dbb993 Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get* 2014-05-20 21:21:33 +02:00
Dehravor
24ae6a6802 Core/Misc: Remove obsolete C++11 backward compatibility macros
OVERRIDE, FINAL, DELETE_MEMBER
2014-04-29 16:35:11 +02:00
jackpoz
2585e799f9 Core/Misc: Change how Position struct is retrieved
Update Position::GetPosition() and similar methods signatures to reflect 2a4c9bcaf9 changes by return a Position object instead of accepting a Position parameter by reference.
2014-04-25 21:19:30 +02:00
untaught
5f7e0f6929 Instance Script/Stratholme: Correct logic in Baron Run event and add SAI for Ysida Harmon 2014-03-16 08:47:27 +02:00
Vincent_Michael
46e1b93c2b Scripts: A lots of changes here and there (maybe useless?!?) 2014-01-23 22:54:01 +01:00
Vincent_Michael
20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
jackpoz
64b42c75d2 Scripts/Misc: Code cleanup
Remove some NULL checks not needed anymore after 3744c14184 .
Fix an invalid Creature to TempSummon cast.
2013-12-30 23:36:49 +01:00
jackpoz
3744c14184 Scripts/Misc: Ensure Creatures are in instances when required
Create ScriptedAIs that require a InstanceScript reference only if the InstanceScript exists, so if these Creatures are in an instance. ScriptedAIs that don't require a InstanceScript reference have not been modified.
This fixes many possible NULL dereference crashes happening when spawning a scripted Creature outside of an instance.
Fixed a GetOwner() and a ToPlayer() NULL dereference crashes too.
2013-12-29 01:19:52 +01:00
Malcrom
fe95371d9a Core/Scripting: Replace casted with cast as casted is not a word. 2013-12-25 14:16:55 -03:30
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
Ascathor
2607738990 Core/Code: Unify codestyle for brackets: {} to { }.
Also added missing copyright to some files.
2013-10-27 23:46:02 +01:00
Vincent_Michael
9802c7b891 Scripts/Misc: Coding Style unification? (by Aokromes) 2013-10-22 20:24:05 +02:00
Vincent-Michael
8acefbff8c Scripted: Use now override for instance scripts 2013-08-10 17:42:12 +02:00
Vincent-Michael
08c1a81096 Scripted/Misc: Fix random stuff 2013-07-15 01:01:37 +02:00
Vincent-Michael
e464d2bd2c Scripted: Some cleanups + ninja changes 2013-07-08 21:15:23 +02:00
Nay
3561ab98ba Misc: Use override and final C++11 keywords in a few places (mostly scripts)
OVERRIDE and FINAL are TC macros (expand to nothing if compiler does not  support C++11)
2013-07-06 20:21:45 +01:00
Vincent-Michael
6079f369af Scripted/Misc: Some cleanup 2013-07-06 01:00:05 +02:00