Commit graph

321 commits

Author SHA1 Message Date
Schmoozerd
d08edbd93c [11980] Improve support for wild summoned GOs
* Support GetGameObject for wild summoned GOs
* Proper delete WildSummoned GOs after they are used
2012-04-26 18:08:35 +02:00
stfx
f3f3349661 [11973] Various Cleanups
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-04-22 19:48:05 +02:00
machiavelli
af6b589041 [11955] Remove .hover command
You can use .cast 11010 and .unaura 11010 instead

Thanks to stfx for improving patch and porting it for us :)

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-04-12 23:10:43 +02:00
Schmoozerd
b899f97e33 [11925] Improve interaction checks related to quests
'I see dead people, they are everywhere' - and now you can interact with them for quests.
Also fix aura 10848

Please report any missing issues (could not test all cases)

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-02-08 23:14:42 +01:00
sixsixnine
e738c27714 [11911] Use mmaps for Spline Movement 2012-02-06 23:18:16 +01:00
sixsixnine
d3606fb4ee [11909] Implement Pathfinder class to handle the actual pathfinding
Authors of this are Faramir118 and qsa.
Also thanks to many others for testing and suggestions!
2012-02-06 23:17:50 +01:00
faramir118
eca3586d74 Fix some combat behaviour of NPC-Pets
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2012-01-20 00:42:59 +01:00
Schmoozerd
8068dcf6dd [11875] Update Copyright notice to year 2012
Start timemachine and a Happy new year to all!
2012-01-16 17:43:59 +01:00
Schmoozerd
f4d862ac0a [11846] Changes to default target selection
* Add a new function: Unit::IsSecondChoiceTarget to evaluate if a target will be selected
* Cleanup a bit related code
* SelectHostileTarget
 - Only call AI()->AttackStart for new targets
 - Remove exception for top-most taunter
* Fix a few minor bugs related to selectNextVictim

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
2011-11-12 21:53:31 +01:00
Schmoozerd
fbdd79141c [11827] Implement Creature Linking via database
Thanks to Silverice for feedback!

This system interprets the content of the table `creature_linking_template`. To trigger different actions on different events of the npcs that are linked together.
Possible event/ action combinations can be taken form the flags in CreatureLinkingMgr.h::CreatureLinkingFlags
2011-10-16 13:04:58 +02:00
SilverIce
6edfcea7f0 [11826] remove no more needed CORPSE_FALLING state, move FallGround method to more appropriate place 2011-10-16 04:42:31 +03:00
SilverIce
70a6a1ce76 [11825] Implement creature offhand attack. based on patch from maxxx2021
also drop some archaic Unit's code
2011-10-16 00:01:06 +03:00
SilverIce
4ad879a3da [11821] ger rid of useless now SplineType, SplineMode etc enums 2011-10-14 15:24:43 +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
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
Laise
c60425c6bd [11766] fix spell redirection and totem destruction on hit by redirected spell 2011-08-04 19:34:51 +03:00
SilverIce
776ef3885a [11728] Lost line in prev. commit 2011-07-09 19:31:41 +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
Laise
178654bbba [11697] fix damage and duration of reflected spells 2011-06-28 18:57:27 +03:00
zergtmn
3443a97a28 [11633] Implement function Unit::HasAffectedAura 2011-06-17 22:06:22 +06:00
VladimirMangos
8c560ebd97 [11593] Use MAX_UNIT_STAND_STATE instead client dependent last value in enum. 2011-06-03 16:24:06 +04:00
zergtmn
f45e9ad680 [11588] Use override specifier on Update() methods
Note: override is new keyword in C++11 but VC++ already have override keyword with same behaviour long time.
GCC support explicit overrides starting at 4.7. Added workaround for GCC versions < 4.7.
2011-06-02 23:28:24 +06: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
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
da06d09c45 [11532] Prevent triggering some spells at 0 damage hit. 2011-05-24 16:33:23 +04: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
NoFantasy
ecdb435b1e [11489] Remove the old and custom UNIT_NPC_FLAG_GUARD for creatures.
Existing data moved to flags_extra field, with value CREATURE_FLAG_EXTRA_GUARD (0x400 / 1024).
Remove isGuard() from Unit class to a new IsGuard() function in Creature class.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-14 19:17:13 +02: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
NoFantasy
4c3b61d4f5 [11443] Implement SPELL_AURA_MIRROR_IMAGE (247) and related receive/reply packets
Inspired by different patches posted in forum, thanks guys for the help it was :D

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-08 18:58:01 +02: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
zergtmn
55709e265e [11381] Add methods GetDisplayId/SetDisplayId for gameobjects
Useful for GO type 33
2011-04-19 17:01:59 +06:00
Ambal
695ad4d54e [11342] Use Position struct to hold object coordinates - minor code refactoring.
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-04-13 02:25:07 +03: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
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
zergtmn
0bc4bc1d75 [11282] Use uint32 datatype for aura charges and stacks
* Some spells have StackAmount > 255, for example 22735, 54314
* In SMSG_AURA_UPDATE maximum stack amount is limited by 255
* Move duplicate code into SpellAuraHolder::BuildUpdatePacket function
* Cleanup some weird type casts in _LoadAuras
2011-03-25 14:40:09 +05:00
VladimirMangos
92a1e9b4d0 [11269] Apply to lootPlayerNonQuestNonFFAConditionalItems same loot rules as to notmal shared loot.
Also some code refactoring.
2011-03-21 04:26:28 +03:00
VladimirMangos
b442332403 [11267] Restore itemset 647 4p bonus affect work. 2011-03-20 07:16:25 +03:00
VladimirMangos
06fe777f82 [11215] Replace direct code use in .npc tame by spell cast.
Only work different from old way: target creature despawned.
So if this not expected use .respawn to it in gm mode or area respawn.

Code simplification suggested originally by rsa.
2011-03-03 21:33:47 +03:00
VladimirMangos
f1899e3b27 [11206] Move visibility self/around to new function and use it.
* Fixed wrong visibility changes in some cases at .mod phase uses.
* Apply phase change to any owned units (not only pets as before).
  It also will applied in more safe way for avoid unexpected lost owner at update.
* Check view point setting auras targets accessability not only at visibility change
  but also at phase change.
* Replace SetVisibility(GetVisibility()) hack like calls.
2011-02-27 19:23:05 +03:00
SilverIce
fcc09483ad [11202] Schedule AI notify at adding to world
This fixes the problem, that creatures, added at grid loading, do not start attack each other
More shedule -> schedule fixes added, removed unused Map::PlayerRelocationNotify function
2011-02-23 17:04:54 +02:00
kbz
09c5b49cc4 [11194] Fix the word shedule -> schedule in function name
Signed-off-by: SilverIce <slifeleaf@gmail.com>
2011-02-22 03:53:29 +02:00
SilverIce
724092d9e5 [11193] Optimize visibility update and AI notification code. Optimization decreases amount of visibility and AI notification operations in 8-10 times, and as a result, lowers CPU usage by 30-40%
You need to update your config file, new "Visibility.RelocationLowerLimit" and "Visibility.AIRelocationNotifyDelay' options added

Special thanks to Ambal for code hints and advices
Thanks to Undergarun and kero99 for making tests
2011-02-22 02:37:08 +02:00
Schmoozerd
8e68d1bcaf [11105] Melee attacks distance
Inspired by patch provided by Feanordev.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-03 01:25:32 +03:00
VladimirMangos
06cebecd50 [11100] Avoid send SMSG_DISMOUNT for non aura source mount state.
This fix problem with lost mount show at multi-node taxi path.

Thanks to blueboy for research problem.
2011-02-02 17:33:19 +03:00