Commit Graph
141 Commits
Author SHA1 Message Date
Machiavelli dbbac0bdaa Core/Movement: Implement spline movement subsystem.
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

* Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
* Precission increased. There are no more position desync issues since client's position calculation formulas used.
* Now possible to move by paths with multiple points, send whole path to client.

--
Original author of research and implementation: SilverIce. Massive kudos.
Original port for Trinity (ref #4629) Chaplain and Venugh
With the following incremental fixes during my review:

- Restore flightmaster end grid pre-loading
- Fix uninitialized Creature::m_path_id
- Add missing trinity_string entries for .movegens command
- Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time

Known issues:
- Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0.
This is caused by bad DB data. This commit didn't "break" it.

Do not forget to re-run CMake before compiling.
2012-01-14 15:36:07 +01:00
Machiavelli 2293d2d7df Core/Movement: Prevent IdleMovementGenerator being put into MOTION_SLOT_IDLE and MOTION_SLOT_ACTIVE simultaneously 2012-01-13 16:43:49 +01:00
Shocker 08bcbc89b0 Merge pull request #4229 from devilcoredev/fix_002
Core/Spells: Fix the spell immunity system to be effect-dependent
2012-01-04 13:41:51 -08:00
Shocker ecb1bdd7c3 Merge pull request #4489 from devilcoredev/fix_001
Core/Achievemens: Fix 'The Undying' and 'The Immortal' achievements
2012-01-04 13:27:43 -08:00
Giuseppe Montesanto bf73409f49 Fix 'The Undying' and 'The Immortal' achievements. 2012-01-01 04:34:14 +01:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
megamage 8cf2062c1f Update grid system. Try to fix some crashes and transport passengers (now they are despawned after a while). 2011-12-20 17:07:09 -05:00
Giuseppe Montesanto 72e48ef8b3 Fix immunity system for many spells. 2011-12-14 16:13:10 +01:00
megamage 529af3cd09 Delete obj if it is not successfully added to grid. More to fix. 2011-11-28 14:05:25 -05:00
Shocker c2a2a4f713 Merge pull request #3872 from Bootz/master
Codestyle clean-up
2011-11-09 02:31:18 -08:00
kaelima 8ba790ef35 Core/Creature: Prevent Spirit Guides (bg spirit healers) to be seen by alive players. 2011-11-07 18:18:59 +01:00
Bootz d1334624da Core: Codestyle clean-up
"pl"->"player"

 Note: codestyle methods needs maintained, Player* player.
still to do properly clean-up chat.cpp.
2011-11-07 11:18:00 -06:00
kaelima be0b2fcf97 Core/Grid:
- Simplified CellArea calculation (Original author: SilverIce)

- Removed unused code in Cell class (Original author: SilverIce)

- Improve some Visit functions.
2011-10-19 17:40:44 +01:00
megamage c29ff41001 Rename some classes in grid system.
Note: The naming of classes is still confusing. "cell" usually refers to class "Grid", and "grid" usually refers to class "NGrid". But it requires a lot of changes to clean this up.
2011-10-18 10:53:34 -04:00
Spp bc023c6dfb Core: Fix some warnings 2011-10-18 12:39:01 +02:00
Fredi Machado 97142102e0 Core/Misc: Added 'f' after float values 2011-10-17 07:38:27 -03:00
megamage c8251bc619 Remove some "_" from private methods as required by TC standards. Thanks to Shauren for pointing out. 2011-10-13 17:01:55 -04:00
megamage bcc55489f8 More cleanup of CanSeeOrDetect 2011-10-13 14:02:07 -04:00
megamage 5912e2444d Some cleanup of CanSeeOrDetect code. 2011-10-13 13:26:27 -04:00
megamage edc46d5606 Fix a crash caused by my previous commit. 2011-10-11 08:47:36 -04:00
megamage 3569121d80 Remove/Add creature from/to map when it changes map.
Note: creatures was never supposed to change map, but now the core allows them to move with transports...
2011-10-10 17:59:52 -04:00
megamage d156e066cf Rename "SetPosition" to "UpdatePosition".
Replace CreatureRelocation in scripts with new Creature::SetPosition.
2011-10-10 17:08:01 -04:00
megamage 76c9c30c2b Merge pull request #3399 from megamage/master
Fix the relocation of creatures across cells. Try to fix #3054.
2011-10-10 13:12:15 -07:00
Bootz 5b4c7783c2 REPO: Code-style clean-ups
* Fixed pMap->map
* Fixed pInstance->instance
* Fixed pInsta->instance
* Fixed pQuest->quest
* Fixed pWho->who
* Fixed pTarget->target
* Fixed pGo->go

~DEVNOTES: Handlers/QuestHandler.cpp still needs to be cleaned...
2011-10-07 19:45:43 -05:00
megamage eb8cbae0d5 Fix the relocation of creatures across cells. Try to fix #3054. 2011-10-07 17:36:23 -04:00
Bootz 81c0a3a847 REPO: code-style clean-up
* Fixed pPlayer->player
* Fixed pCreature->creature

~DevNote: codestyle for Player should be (*player), not *plr or *p...
same goes for Creatures (*creature)... more cleaning needed.
We've way too many codestyles happening here.
2011-10-07 11:08:09 -05:00
Nay 8373e6c32e Core/Creature: Do not attack non-combat pets.
Fixes an issue where non-combat pets were aggroing other creatures
2011-10-01 16:57:10 +01:00
Spp b16d2245bb Cosmetic: Multiple cosmetic changes
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '('
- Added missing space after a comma and remove space before comma (with some exceptions)
- Remove trailing spaces
- Convert tab to spaces

Note: Only affects files with extension "cpp" and "h" under /src/server
2011-09-29 12:43:05 +02:00
Spp cc06c41887 Core: Move FormationMgr to namespace
Also...
- Warning fixes
- Make Singleton constructors private
2011-09-28 11:11:38 +02:00
click 872c2d4d63 Core/Build: Fix non-PCH builds 2011-09-18 16:30:18 +02:00
QAston c0b1823524 Core/Entities: Replace Unit::canAttack usage with more accurate Unit::IsValidAttackTarget 2011-09-16 23:49:31 +02:00
Spp af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
QAston fc5e924138 Core/Spells: Implement recently discovered target check attributes and move most of target checks to SpellInfo::CheckTarget function. 2011-08-19 14:54:15 +02:00
Spp- e47b96af3e Core: Append single character to stream as character, not as a string 2011-07-29 14:18:28 +02:00
QAston b0fe236265 Core: Use new SpellInfo class in core. Sadly, this commit is not compatibile with some of the custom code. To make your code work again you may need to change:
*SpellEntry is now SpellInfo
*GetSpellProto is now GetSpellInfo
*SpellEntry::Effect*[effIndex] is now avalible under SpellInfo.Effects[effIndex].*
*sSpellStore.LookupEntry is no longer valid, use sSpellMgr->GetSpellInfo()
*SpellFunctions from SpellMgr.h like DoSpellStuff(spellId) are now: spellInfo->DoStuff()
*SpellMgr::CalculateEffectValue and similar functions are now avalible in SpellEffectInfo class.
*GET_SPELL macro is removed, code which used it is moved to SpellMgr::LoadDbcDataCorrections
*code which affected dbc data in SpellMgr::LoadSpellCustomAttr is now moved to LoadDbcDataCorrections
2011-07-26 23:09:28 +02:00
Shauren 1e3c23a4e8 Core/Spells: Set UNIT_FIELD_TARGET to current spell cast target for proper facing the target 2011-07-15 12:33:03 +02:00
QAston 53cc218983 Core/Spells: Allow periodic trigger auras to work on dead creatures. Patch by Josh (major stuff) and me (minor changes). 2011-07-12 00:19:50 +02:00
Lopin a233e7b9d8 Core/Misc: Add new function for selection nearest player in given distance 2011-07-11 16:17:21 +02:00
click 354e5e2bbc Core: Prohibit aggro on righclicking if not in range 2011-07-03 00:18:33 +02:00
kaelima 9a67aaa8b8 DB/Creature:
- Nuke the hacky column DeathState.
- Removed some hacks from Kologarn script, including some cleanup.
- Removed set deathstate command.

BIG thanks to Malcrom for replacing all creatures that had deathstate with proper dynamicflags/auras.
2011-06-27 20:22:53 +02:00
click b138bc31ca Scripts/EmeraldDragons: Clean up a bit on the scripts:
- Remove script for Shade of Taerar, replaced with SAI equivalent (Malcrom)
- Remove script for Demented Druids, replaced with SAI equivalent (Malcrom)
- Add supportscript for Mark of Nature (Kaelima)
- Some other minor changes here and there
2011-06-12 17:13:28 +02:00
kaelima b9e8694540 Core: Continued cleanup
If and for whitespaces.
2011-06-12 02:30:32 +02:00
click f16df538ee Core: More codestyle cleanups 2011-06-12 01:47:45 +02:00
Shauren a28da3582e Core/Objects: Fixed linked respawn cases when linking to itself in order to prevent respawning 2011-05-16 15:36:02 +02:00
Shauren 551889c42f Core: More warning fixes 2011-05-07 20:09:45 +02:00
leak dfacd287a4 Core/ObjectMgr: Refactor group related functions into dedicated class 2011-05-05 10:25:17 +02:00
leak 1003f30448 Add spaces after commas 2011-04-29 20:47:02 +02:00
leak c51c817a45 Core/ObjectMgr: Refactor sCreatureStorage 2011-04-28 22:57:08 +02:00
leak 3ab83417f5 Core/ObjectMgr: Refactor sCreatureInfoAddonStorage 2011-04-28 22:50:06 +02:00
leak c8413a7f27 Core/ObjectMgr: Refactor sCreatureDataAddonStorage 2011-04-28 22:46:40 +02:00