Commit graph

957 commits

Author SHA1 Message Date
SilverIce
012be82c86 [11818] update creature's unit part(update spell events, auras, movement) while in death. thanks to rsa for making tests
this allows us update creature's death persistent auras, fall died creatures in natural, non hacky way

also fix the bug that creature starts waypoint movement not from begining at respawning. thanks to Grz3s for reporting
2011-10-13 15:44:12 +03:00
Midna
cad083b1a8 [11805] Send unit movement speeds in the proper order, correct baseMoveSpeed value order
Signed-off-by: SilverIce <slifeleaf@gmail.com>
2011-09-25 09:53:54 +03:00
Schmoozerd
8b7f3e5245 [11799] Add HasAuraOfDifficulty to support difficulty spells for HasAura
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2011-09-18 14:07:34 +02:00
kid 10
6f156a2583 [11798] Implement select spellDifficulty support in RemoveAurasDueToSpell
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2011-09-18 13:20:39 +02:00
Shauren
8e4c46ff2a [11785] Implement dungeon encounters (DBC part), thanks to rsa for porting it to mangos
Signed-off-by: Laise <fenrisse@gmail.com>
2011-09-04 13:15:22 +03:00
Schmoozerd
83079e0b81 [11778] Implement removal of spells that don't have appropriate SpellAuraInterruptFlags using proc system
Signed-off-by: Laise <fenrisse@gmail.com>
2011-08-10 16:06:24 +03:00
SilverIce
e3e39b5607 [11777] reimplement [11719] in better way 2011-08-09 20:56:48 +03:00
Lynx3d
a872624ce3 [11775] Fix compile with gcc for 32bit platforms. 2011-08-08 17:09:04 +02:00
Laise
c60425c6bd [11766] fix spell redirection and totem destruction on hit by redirected spell 2011-08-04 19:34:51 +03:00
Laise
43e45c2b35 [11761] change conditions for default cast end proc 2011-07-30 09:39:23 +03:00
Laise
98bd7918f4 [11760] change proc related part of [11748] note: PROC_EX_CAST_END shouldn't be used with any on-hit proc exs to avoid double proc 2011-07-29 09:38:21 +03:00
Laise
4f397bf7aa [11757] change target of end cast procs to always be the caster, also not allow skill update when proc is called from cast end part 2011-07-27 08:49:44 +03:00
SilverIce
a7610f79c7 [11754] Implement jump (parabolic movement) effect
Also correct destination calculation in Unit::KnockBackFrom - now spline knockback effect works similar to client's effect (same amplitude, speed etc)
2011-07-26 13:56:06 +03:00
Laise
e178c79d51 [11748] Replace SpellModifier struct by direct aura access (this should fix charge drops of 36032) also revert [11740] 2011-07-20 15:41:39 +03:00
SilverIce
a7fba67225 [11732] Interrupt movement state at dying
TODO: proper solution would be update creatures while in corpse state.
This also would solve problems with death persistent auras that not get updated for died creatures
2011-07-10 22:17:08 +03:00
SilverIce
94133107c7 [11727] Interrupt spline movement at teleporting
this fixes the position desync issue caused by teleport packets
2011-07-09 19:23:53 +03:00
SilverIce
fc0eb7e9fa [11721] Simplify walk/run movement mode selection code 2011-07-08 19:30:00 +03:00
SilverIce
9d566398ad [11720] 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:

 1. Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
 2. Precission increased. There are no more position desync issues since client's position calculation formulas used.
 3. Now possible to move by paths with multiple points, send whole path to client.
2011-07-08 17:25:13 +03:00
SilverIce
e302fce513 [11719] Destroy all movement generators at Unit::CleanupsBeforeDelete call
this fixes possible crash at grid unloading
2011-07-08 03:58:38 +03:00
Laise
178654bbba [11697] fix damage and duration of reflected spells 2011-06-28 18:57:27 +03:00
Den
7dfeddbdef [11672] Implement glyph 42414.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-25 06:22:34 +04:00
VladimirMangos
a97370a7f0 [11645] Fixed work EffectSummonChangeItem, for example, for item. 17223
Also
* Move item comvert code from spell effect to new function.
* Some code style cleanups.
2011-06-18 21:09:42 +04:00
zergtmn
3443a97a28 [11633] Implement function Unit::HasAffectedAura 2011-06-17 22:06:22 +06:00
VladimirMangos
c686697c2d [11623] Implement ClassFamilyMask as wrapper for uint64+uint32 spell family masks
Inspired by patch suggested by darkstalker

Also
* Remove existed enums for family masks as contra-productive for developement.
* Drop one from horrible hack checks in SpellMgr::IsNoStackSpellDueToSpell
  (spells for any fimilies with exactly 0x800 mask) I fail find useful cases
  for current spell data with this check. All cases expected work correct without it.
  If will some problems detected with this please report for fix in less strange way.
2011-06-11 21:20:42 +04:00
mns
20e9484e74 [11622] Really use DB value for creature walking speed after speed update.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-10 22:21:00 +04:00
Den
52134f1852 [11611] Implement glyph 42740
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-05 23:43:29 +04:00
Schmoozerd
9e83454a23 [11576] Call OnCreatureDeath at critters death also.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-31 05:22:21 +04:00
VladimirMangos
5ec1203c4f [11568] Use bit indexes in HITINFO_UNK* naming 2011-05-30 08:29:19 +04:00
VladimirMangos
4a087e6bda [11557] Duel related fixes
* Implement duel allowed check base at proper area flag AREA_FLAG_DUEL (0x00000040)
  This allow duels for example in capital area 4570 and allow/fogbid correctly some other zones and areas.
* Implement duel cancel at leave duel allowed area
* Fixed code for duels work in sunctuary if area allow duels.
2011-05-29 03:57:15 +04:00
NoFantasy
6b3359575b [11554] Add some "tail" data for SMSG_CAST_FAILED and SMSG_PET_CAST_FAILED
Not all SPELL_FAILED_* are used currently (but ok for future implementation)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-28 13:06:03 +02:00
NoFantasy
f533813047 [11550] Add and use VICTIMSTATE_UNAFFECTED, in relation with HITINFO_MISS
Some code cleanup in addition and add comments for unknown fields in SMSG_ATTACKERSTATEUPDATE packet

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-27 13:23:40 +02:00
NoFantasy
4b919b1f32 [11537] Nerfing the word "Redunction" and remove one letter, to Reduction.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-25 10:43:45 +02:00
VladimirMangos
78a4460501 [11535] More wide use IsFitToFamilyMask
Simplify check for one from cases base at recheck spell data.
2011-05-25 04:06:55 +04:00
VladimirMangos
0564b622c2 [11510] Implement SPELL_AURA_MOD_PARRY_FROM_BEHIND_PERCENT (288) and related spell 19263.
Original patchs provided by KAPATEJIb and Roshnak.
2011-05-19 03:50:30 +04:00
VladimirMangos
6237c115a5 [11495] Implement damage taken reduce part of spell 20911, 25899. 2011-05-16 20:47:14 +04:00
zergtmn
d001ce2d2e [11493] Add comment for prev. commit 2011-05-16 02:28:57 +06:00
zergtmn
05cfb8d36b [11492] Fix possible crash at guardian pet unsummon 2011-05-16 01:59:04 +06:00
VladimirMangos
249fb836ca [11490] Alow implicit cast ObjectGuid->uint64 and only explicit uint64->ObjectGuid
Now safe allow this casts in like way after completed convertion to ObjectGuid use.
Also simplify code in result allowed auto cast to uint64.

Please _not_ add new uint64 storages (local and in structures) for guid values.
2011-05-15 22:04:57 +04:00
VladimirMangos
719e298795 [11470] Final cleanup uint64 guid cases
Also drop logout player update fields cleanup that in any cases not saved.
2011-05-11 21:36:27 +04:00
VladimirMangos
ef6a48fe03 [11465] non-ObjectGuid guids in random places.
Only ChannelMgr code wide use uint64 guids now, and Map object stores.
2011-05-10 21:27:49 +04:00
VladimirMangos
31c34a940d [11462] Missing ObjectGuids in spell code. 2011-05-10 13:05:39 +04:00
VladimirMangos
44f2c26389 [11459] More ObjectGuid using in Aura/SpellAuraHolder code.
Also fix build in PetAI code. Thanks to rsa for fix code.
2011-05-09 23:17:39 +04:00
VladimirMangos
06ba42ccba [11435] Fixed IsPositiveEffect triggered spell case and some cleanups
Mostly found in time 400 update.
2011-05-08 01:43:02 +04:00
zergtmn
2835aa5f20 [11385] Add support for static vehicle spawns
Signed-off-by: zergtmn <zerg@myisp.com>
2011-04-20 23:23:47 +06:00
darkstalker
070af93262 [11365] Implement SPELL_ATTR_EX3_CANT_MISS attribute. Should fix alot of 'too-often-missing' spells 2011-04-16 10:23:48 +03:00
VladimirMangos
6f34696350 [11332] Avoid use direct mechanic names in loop bounds for version portability. 2011-04-11 23:57:52 +04:00
rsa
cd32dd9bfc [11330] Use ObjectGuid to store Totem guids instead of uint64 and fix related rare crash.
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-04-11 22:45:32 +03:00
NoFantasy
889ce13264 [11316] Implement a basic system to restore default faction for creatures after changes
A new specialized function SetFactionTemporary for creatures are added. It work just like setFaction but has in addition option to set flags.
The flags determine if default faction should be restored and when; most commonly just before respawn and when reaching home after evade.

SCRIPT_COMMAND_SET_FACTION for DB scripts and ACTION_T_SET_FACTION for creature_ai_scripts are now capable of using the system (documentation updated)

The intention of the system is to be able to solve basic events that include faction changes, with the use of database only and in easier ways.

It is advised that DB devs revise current database scripts to check if changes should be made. The same goes for EventAI devs regarding ACTION_T_SET_FACTION.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-05 15:04:39 +02:00
VladimirMangos
1fea8a321f [11304] Restore school check for weapon in SPELL_AURA_MOD_DAMAGE_*DONE
Broken in [10692].
2011-04-01 22:03:49 +04:00
zergtmn
4687fa8cb4 [11299] Handle aura durations in SpellAuraHolder
- Unit::CalculateSpellDuration split into two functions
    - CalculateSpellDuration taking into account combo points and caster-side spell mods
    - Unit::CalculateAuraDuration taking into account target-side spell mods
- Diminishing is now applied before duration reduction mods
- Implement saving per-effect periodic timers to DB (required for auras affected by haste)
2011-03-30 23:29:01 +06:00