Commit Graph
96 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
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
w1sht0l1v3 f96d46260e Core/Scripts: Missing spawn after boss Varos and Urom deaths.Needed for a quest chain also. 2011-12-13 13:58:03 +02:00
Manuel Carrasco df3f11dc80 Scripts/EoE: Malygos does not fly always. 2011-11-27 14:52:28 -03:00
megamage 3ba22d0d06 Rename Map::Add to Map::AddToMap, Map::Remove to Map::RemoveFromMap for better management. 2011-10-10 17:39:34 -04:00
megamage d156e066cf Rename "SetPosition" to "UpdatePosition".
Replace CreatureRelocation in scripts with new Creature::SetPosition.
2011-10-10 17:08:01 -04: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
Bootz f1ccb83dc0 REPO: Code-style change
* Fixed pUnit-unit
2011-10-07 10:48:56 -05: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
Shocker 6dc09248fd Merge pull request #3162 from megamage/master
Fix incorrect logic in PetAI. Solve #3155.
2011-09-26 06:44:33 -07:00
megamage 780747f5d3 Missing part of the previous commit. 2011-09-26 09:14:12 -04:00
megamage a35deba186 Fix some crashes caused by spell scripts without checking unit type. Fix #3216 and #3217. 2011-09-26 09:03:33 -04:00
QAston e949ad3adb Core/Spells: spell effect handling improvements
* Call spell effect handlers in 4 modes:
   - SPELL_EFFECT_HANDLE_LAUNCH - called when spell is launched (cast just finished)
   - SPELL_EFFECT_HANDLE_LAUNCH_TARGET - called when spell is launched for each target in spell target map
   - SPELL_EFFECT_HANDLE_HIT - called when spell hits its destination
   - SPELL_EFFECT_HANDLE_HIT_TARGET - called when spell hits it's target from spell target map
*Correctly implement SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE, SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE, SPELL_EFFECT_TRIGGER_MISSILE_SPELL
*Remove spell system hacks which became obsolete with this commit
Core/SpellScripts:
add OnEffectLaunch, OnEffectLaunchTarget, OnEffectHit, OnEffectHitTarget hooks for new effect handle modes and remove OnEffect hook.
A generic rule of thumb how to update your scripts (will work for nearly all cases) for spell system noobs:
if your spell script used GetHitXXXX function, you need to use OnEffectHitTarget, otherwise use
OnEffectHit
2011-09-25 13:29:50 +02:00
Spp af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
Nay 12f5bacb10 Script/Oculus: Fix yells of Drakos.
Closes #831
2011-09-12 00:05:29 +01:00
Spp- aa85553bfd Core: Crash fix (TemporarySummon), remove some warnings and some other minor changes
- "const uint64" and "uint64 const" --> uint64
 - Add some info in LFGDungeonEntry
 - Move some definitions from ".h" files and move to ".cpp"
2011-08-30 13:46:36 +02:00
Lopin 868c1c53f2 Core/GameObjects: Unrevealed GO_FLAG_UNK1. Now GO_FLAG_NOT_SELECTABLE makes gameobjects to be unselectable even in GM mode 2011-08-19 11:45:49 +02:00
QAston a077a26aa5 Core/Spells: update the core to the changes from 1fb1988d46 . To make your custom code work with those changes simply lookup the value of Targets enum value from prev rev, and update the name in your code. 2011-08-16 19:44:18 +02:00
Manuel Carrasco d9d5bce568 Scripts/Malygos: - Applied TC code style.
- Every Hover Disk will correctly change the faction once the creature passenger dies.
                 - Player's mount will be despawned when the passenger leaves it.
2011-08-12 16:29:43 -03:00
Spp- c69b149d7e Core: Typo fix introduced in previous commit (:S) 2011-08-01 14:57:30 +02:00
Spp- 079f292b15 Core: Some more missing changes from previous commit (Pass by const reference for simple objects replaced with pass by value). Also fix unintended change 2011-08-01 14:51:44 +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 7303adf1eb Core/Scripts: Merged ZoneScript::ProcessEvent methods into one accepting WorldObject* parameter 2011-07-22 21:52:53 +02:00
click f676585cac Core: Cleaning up hungarian notation - Phase5: pWho -> who 2011-07-02 23:53:38 +02:00
click 70115f52f7 Core: Cleaning up hungarian notation - Phase3: pTarget -> target 2011-07-02 23:16:45 +02:00
click 169f5da8c3 Core: Cleaning up hungarian notation - Phase2: pPlayer -> player 2011-07-02 22:52:42 +02:00
click f91ee24184 Core: Start cleaning up hungarian notation - Phase1: pCreature -> creature 2011-07-02 22:18:03 +02:00
click a9c9ab0efa Core: Clean up script variables to make variables consistant/standardized, and some additional warning-removals:
+ Fix compilewarning in Unit.cpp
+ Remove/comment out unused parameters for some commandscripts/scripts (warnings)
+ Replace "plr" with "player" all over the scriptbase for consistency
2011-07-01 03:00:39 +02:00
Spp- 6fd41ae50e Scripts: Reorder file names in Commands/CMakeList file and cosmetic changes in all scripts 2011-06-30 14:24:56 +02:00
Shauren 9a5f8dc844 Scripts/The Nexus: Fixed compile warning 2011-06-25 23:40:36 +02:00
Lopin cb40eb556a Scripts/Nexus: Fixed logic in Intense Cold achievement. Thanks joschiwald for notice 2011-06-25 19:14:20 +02:00
Lopin 0cf40b897c Scripts/Achievements: Fixed a crash in Heigan's achievement script & more possible crashes & small improvements to handling datas for achievements 2011-06-25 19:11:56 +02:00
Lopin 6fd2bc4f28 Scripts/Nexus: Properly fixed achievement Intense Cold 2011-06-25 16:40:10 +02:00
Lopin 2e1542d738 Scripts/Nexus: Properly fixed achievement Split Personality 2011-06-24 14:41:42 +02:00
Lopin 0263b3d434 Scripts/Nexus: Fixed reseting of achievement Chaos Theory 2011-06-23 15:46:49 +02:00
Lopin 550635ac85 Scripts/Nexus: Properly fixed achievement Chaos Theory and small cleanup 2011-06-23 11:56:05 +02:00
click 158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
QAston 677cbbb93a Scripts: Fix some crashes occuring due to unsafe use of AuraScript::GetCaster() method.
There's "returns unit which casted the aura or NULL if not avalible" written in description of the method, but who cares...
2011-06-11 12:42:01 +02:00
Manuel 507dcdf563 Scripts/Nexus: Remove a few warnings from the Malygos script
Signed-off-by: click <clickvd@gonnamakeyou.com>
2011-05-31 06:26:37 +02:00
QAston 79aa5233d7 Scripts/AuraScripts: Use AfterEffectApply and AfterEffectRemove hooks in scripts, where they fit better than On* hooks. 2011-05-25 19:12:41 +02:00
Shauren 24a8cc24da Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS 2011-05-14 12:26:49 +02:00
Az@zel 52bc1e5fd3 Core/Misc: more warning fixes (some of them were real logical flaws - comparison of unrelated types) (Thanks to Tassader for pointing out that one line was completely unnecessary) 2011-05-11 12:32:54 +06:00
Az@zel f73c6c40bb Core/Misc: fix compiler warnings 2011-05-11 11:12:26 +06:00
click 2717129d0d Core: Clean up whitespace and tabs 2011-05-09 10:59:54 +02:00
Shauren 551889c42f Core: More warning fixes 2011-05-07 20:09:45 +02:00
Shauren 7905200eba Core: Warning fixes 2011-05-07 19:08:50 +02:00
johnholiver a1c708d62c Scripts/Oculus: Fix Eregos loot. 2011-05-05 18:18:02 -03:00