Commit Graph

198 Commits

Author SHA1 Message Date
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
Shauren
d6201e5dbb Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50
(cherry picked from commit 9299e9bde0)
2017-06-19 13:16:13 -03:00
Shauren
abac1b34bc Core/Utilities: Rename RandomResizeList->RandomResize as it is no longer restricted to a list
* Also fix gcc build

(cherry picked from commit f097e341f5)
2017-06-03 02:27:48 -03:00
treeston
302a039b7c Add another helper to ScriptedGossip.h for resolving listId -> action. 2017-05-30 21:50:49 +02:00
ariel-
47d387d6b0 Core/Creature: fix _DespawnAtEvade saving wrong respawn time
Closes #19557
2017-05-27 02:21:06 -03:00
ariel-
4c4dca6d69 Core/Misc: camelize GetFaction/SetFaction properly 2017-04-28 18:37:38 -03:00
xinef1
86da1a19bb 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.
2017-02-04 22:37:16 +01:00
ariel-
2c20b368bc Core/EscortAI: fix invalid iterator dereference 2017-01-24 23:38:21 -03:00
Rushor
a3c6880579 Revert "[3.3.5][master] Core/Movement: Smooth movement #13467 (#18020)" (#18888)
This reverts commit 28050f338d.

Conflicts:
	src/server/game/AI/SmartScripts/SmartAI.cpp
	src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
2017-01-20 14:16:47 +01:00
ccrs
a58505eaf8 cb634e6fba followup
updates #18401
2017-01-06 23:39:16 +01:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Keader
e7024f8a4c Core/AI: Added new method for search friendly targets with certain entry and hp pct below a value (#18310) 2016-11-27 23:28:06 +01:00
Riztazz
28050f338d [3.3.5][master] Core/Movement: Smooth movement #13467 (#18020)
Implement smooth movement for all waypoint pathing and escortai
2016-11-24 23:31:10 +00:00
SnapperRy
97fd0c1b1a Core/Quest: do not set a quest to failed if it's rewarded or has no status at all (not taken). 2016-10-15 19:08:21 +02:00
treeston
1ecdea5374 Fix _DespawnAtEvade for other creatures to actually respawn said other creatures.
Also fix add aggro for Hadronox.
Fixes and closes #18012.
2016-10-15 18:18:56 +02:00
ariel-
271dd0788d Core/AI: added container independent wrappers for WorldObject::GetxxxInGrid 2016-10-13 22:44:59 -03:00
Treeston
4b990eb7d7 [3.3.5] Azjol-Nerub rewrite
* Scripts/AzjolNerub: Complete rewrite.
- Gatewatcher:
  - Trash now actually engages properly one by one
  - Fix trash spell casting
  - Add missing quotes
- Hadronox:
  - Everything. Literally.
- Anub'arak:
  - Fix add spawns
  - Fix impale
  - OK this might as well be "fix everything with every boss". Because that's pretty much what happened.
- General hack cleanup

* Update and rename 9999_99_99_99_AZJOLNERUB.sql to 2016_09_25_01_world.sql

* Update and rename 2016_09_25_01_world.sql to 2016_09_25_02_world.sql

* Rename 2016_09_25_02_world.sql to 2016_09_26_02_world.sql
2016-09-26 12:49:32 +02:00
treeston
6d00d3f283 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 00:37:36 +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
treeston
ac62d7156f 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.
2016-09-03 17:21:22 +02:00
treeston
c0de28b045 Replace a leftover const char* with a std::string const&. 2016-08-31 01:02:54 +02:00
treeston
d55426f5b4 Entities/Gossip: The Big One™ that gets rid of all uses of The Bad™ and The Ugly™, e.g. gossip preprocessor macros, and replaces them with the new-and-shiny gossip functions. 2016-08-31 00:59:04 +02:00
treeston
54f923fdee Fix dynamic build. 2016-08-31 00:11:57 +02:00
treeston
a32536d490 Last one. For real. Please. (Build fix #5). 2016-08-28 20:13:39 +02:00
treeston
8531f012a2 ....right, I actually went through a full rebuild now just to make sure it works. 2016-08-28 20:08:55 +02:00
treeston
61eb70fd82 Build fix. Again. Oops. 2016-08-28 20:05:04 +02:00
treeston
72a7f4b507 You saw nothing (build fix). 2016-08-28 19:52:53 +02:00
treeston
175db157f7 Creature/Gossip: offer replacement functions for the existing preprocessor gossip macros 2016-08-28 19:43:30 +02:00
treeston
4bcc8078d7 Entities/Creature: Add arg2 to DespawnOrUnsummon to allow overriding respawn time. This matches changes that will be merged as part of dynamic spawning, allowing scripts to transition early. 2016-08-25 23:04:21 +02:00
Aokromes
b51409a5d3 Core/Logs: Fine tunning some logs 2016-08-05 21:22:12 +02:00
treeston
152b3ad5b9 Scripts/SmartAI: Some clean-up work:
- NULL -> nullptr
- Rename "AssistPlayerInCombat(who)" to "AssistPlayerInCombatAgainst(who)" to reflect what the method actually does
- Code style

No functionality was changed.
2016-08-05 12:41:56 +02:00
treeston
4030e4d780 ScriptedAI/Creature: Fix a bug where a std::chrono overload was counting milliseconds instead of seconds. 2016-08-04 15:32:24 +02:00
Gustavo
f826ecb4b2 Core/AI Prevent bosses respawn when BossState is set to DONE (#17616) 2016-07-18 12:35:11 +02:00
treeston
0547926f17 Entities/Creature: Add some more std::chrono overloads 2016-07-08 17:02:34 +02:00
ForesterDev
fb0881398a Core: updated creature type flags enum (#17128)
Core/Misc: Update CreatureTypeFlags enum according to TrinityCoreWiki
2016-05-26 10:56:50 +02:00
treeston
6040e30fa3 Allow BossAI::_DespawnAtEvade to work on creatures other than the boss itself (optional argument). 2016-05-13 22:24:01 +02:00
treeston
b7f2c87d37 Creature/CreatureAI:
- Default range for DoZoneInCombat: 50.0f -> 250.0f.
- Add optional second arg to SummonList::DoZoneInCombat to specify range.
- Also a bunch of random NULL -> nullptr cleanup.
2016-05-11 23:24:26 +02:00
Naios
f50c4b71a1 Core/Game: Remove some unnecessary export macros 2016-05-10 19:22:22 +02:00
treeston
7b1560fccb Entities/Unit: Finally fix no-path evasion.
- When a creature cannot find a path to its victim, it begins evading all attacks and regenerating health.
- If this persists for 5 seconds, it evades back to spawn position with new EvadeReason value EVADE_REASON_NO_PATH.
- Also some SmartAI cleanup (why oh why does it have so much duplicated code) and getting rid of #defines in favor of type-checked compile-time constants.
2016-04-10 19:49:40 +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
Vincent-Michael
5e74c2223b Core: Remove whitespaces 2016-03-16 21:40:15 +01:00
treeston
ab194d5ae3 Incorrect AI aggression as a consequence of the LineOfSight change, episode three, revenge of the special AIs. Also, hopefully the last. No original trilogy please. 2016-02-20 03:13:11 +01:00
treeston
c70e3e31a7 Merge remote-tracking branch 'sirikfoll/despawnAtEvade' into 3.3.5 (PR #16528) 2016-02-14 19:53:37 +01:00
sirikfoll
a36d78526d Core/Scripts port _DespawnAtEvade functionality to 3.3.5 branch
Implement _DespawnAtEvade  functionality to boss Lich King
2016-02-12 15:02:28 -02:00
treeston
19ed18c881 AI/BossAI: Make creature never chase targets that are out of bounds
- Add missing const attribute on CheckBoundary arg.
- Prevent AI from attacking a target that is out of bounds. This prevents exploids such as killing Gluth/Deathbringer from out of bounds.
2016-02-09 22:46:57 +01:00
treeston
2da458c56d Scripts/Instances: Complete rewrite of the boundary system.
- Migrate boundary logic to Maps/AreaBoundary instead of having it sit in InstanceScript (to possibly allow use for other purposes).
- Implement the first five boundary types in Maps/AreaBoundary.cpp.
- Add boundary checks to Creature's update logic
- Add boundary data for all Northrend raids
- Add boundary initialization structures and methods to InstanceScript
- Modify EnterEvadeMode signature. It now passes a value from the EvadeReason enum as parameter to allow special casing depending on evade reason
- Remove previous (weird) boundary code that had them linked to GO spawns
2016-01-12 22:24:23 +01:00
Rushor
923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
jackpoz
bffaa92633 Core/Quest: Fix issues reported by static analysis 2015-12-06 22:43:15 +01:00
treeston
d57193df44 Core/Creature: Add facilities to the Creature class to allow setting an automated, periodic pulse that puts every player in the zone in combat and on the creature's threat list.
Scripts/BossAI: Set the BossAI parent class to make use of this in its _EnterCombat and _Reset methods. Combat pulses happen every 5 seconds.
2015-09-25 14:09:01 +02:00
pete318
dcb7082277 Map local guids 6.x -> 3.3.35:
Implemented:
  ca83e14f8b
  ee1c1b97be
  18e4ab6911
  bf37446b3c
  cb854a2b7b

* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396e
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
* Added new function to return but not increment guid
* Adjusted .debug loadcells to show low guid in map before/after load
* Added debug messages for creature spawn/destroy, for map guid debugging
* Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.
2015-09-22 21:33:57 +02:00