Commit graph

787 commits

Author SHA1 Message Date
breakwater
ce14b28ba4 [11552] Implement aura SPELL_AURA_STOP_NATURAL_MANA_REGEN (294)
Also partly implement using it spell 62692.

FIXME: Some spells expected to be working for target under spell 62692 effect
       not working. This need additional research and fixes.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-28 05:24:36 +04:00
zergtmn
e204c246f4 [11551] Cast 64455 with full stack amount 2011-05-27 18:54:31 +06:00
VladimirMangos
c5b6cc0b37 [11543] Fixed change form to same (powershifting)
Inspired by patch provided by darkstalker.

Client expected receive form field change at form switing including case with switch to same form.
In fact problem too good mangos optimization in part avoid send unchanged values in update fields.

* Added function Object::SendForcedObjectUpdate()
* It used in form apply code for make sure received by client non-form applied state in middle form shifting state.
* It also used for fishing code when client also expected received some update fields chnages before
  animation update. New function send update to all all client instead before used code that send it to fishing player
  and resend later one more time to other players and player itself as normal update.
2011-05-26 17:18:47 +04:00
VladimirMangos
81984732a3 [11542] Replace partly spell list by recently added function in one more place. 2011-05-26 04:22:24 +04: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
SilverIce
4bb2d662a2 [11536] Override Unit::SetPhaseMask for players, move some functionality from Aura::HandlePhase 2011-05-25 04:20:50 +03: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
breakwater
d02bee5127 [11530] Fixes for talent 47201 and ranks
* Update triggering source spells.
* In code overwrite wrong family mask data for spell mod.
  If more cases will be maybe will better restore spell_affect table.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-24 06:00:47 +04:00
NoFantasy
569d7cdc42 [11518] Add script effect of spell 48810 and 48811, dummy aura of 48143
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-21 08:15:12 +02:00
przemratajczak
95b980690a [11515] Implement spell 62679.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-21 04:21:25 +04:00
przemratajczak
927a577590 [11514] Periodic summon spells 53035, 53036, 53037.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-21 00:04:31 +04:00
VladimirMangos
8022cef6a7 [11512] Fixes for channeled spells casting.
* Set as expected caster channeling target to created dynamic object
  at persistent aura area spell casts for channeled spell.
* Select correct caster/target for triggered spell in case channeled perioding trigger aura.
2011-05-20 22:53:30 +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
NoFantasy
4b00269ccc [11496] Add dummy aura effect (removal) of spell 12774
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-16 19:03:12 +02: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
Xfurry
2355b0bfde [11472] Implement spells 23184/25041 periodic trigger code.
Also implement classes PlayerListSearcher and AnyPlayerInObjectRangeWithAuraCheck

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-12 00:09:04 +04:00
breakwater
a2b6a6fde5 [11469] Fix unapply of SPELL_AURA_MOD_THREAT auras when caster dies or logs off
Signed-off-by: zergtmn <zerg@myisp.com>
2011-05-11 18:43:03 +06: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
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
6d28c7dfd0 [11445] Correct a possible crash, if caster of aura has disconnected after aura applied
A small code adjustment in addition, no need for caster at aura remove.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-08 19:48:40 +02: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
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
NoFantasy
c1ab3c4be4 [11406] Add dummy aura effect (removal) of spell 42454
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-29 09:45:08 +02:00
NoFantasy
b4a22a6879 [11404] Revert [11403] Adjust dummy aura of spell 51329.
Place spell where it belongs instead, along with other spells doing the same. Spell will add/remove the correct flags this time.
git blame: Hasty research, lack of coffee, broken brain

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-28 12:14:52 +02:00
NoFantasy
4ca4118d5a [11403] Adjust dummy aura of spell 51329, apply/remove only expected flags.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-28 11:45:35 +02:00
TOM_RUS
730a907252 Use enum InventoryResult as return type for few functions. 2011-04-24 02:48:35 +04:00
NoFantasy
c4f2b30205 [11387] Add dummy and script effect of spell 45958 and dummy aura of spell 45963
Thanks dpedroia15 for parts of 45958.
Note: spell 45958 may be processed further with DB table spell_scripts.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-20 23:41:00 +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
Ambal
5a22b8c6dd [11368] small code refactoring: use container typedefs instead of direct container declarations to simplify code.
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-04-16 13:42:40 +03:00
breakwater
b9240d04e3 [11360] Reapply persistent aura at return to affected range.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-04-15 17:37:14 +04:00
NoFantasy
d75fd850ac [11334] Add dummy aura effect of spell 50141
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-12 01:29:17 +02:00
NoFantasy
91b56d2940 [11307] Add dummy aura effect of spell 6606
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-04-03 14:16:12 +02: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
NoFantasy
23af82081b [11290] Add dummy aura effect of spell 62109
Also add a smaller hack to have access to m_caster later (see code comments)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-03-26 10:53:40 +01:00
NoFantasy
40d87bfabf [11289] Partially revert [11287] and try to do it properly this time.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-03-26 08:05:07 +01:00
VladimirMangos
989d229968 [11288] Check IsPositiveEffect in IsPositiveSpell only for existed effects.
Thanks to NoFantasy for problem research.

Also make IsPositiveEffect use SpellEntry* arg instead spell id.
2011-03-26 03:10:26 +03:00
NoFantasy
dae28ae93a [11287] Add dummy effect of spell 62105 and dummy aura effect of 62248
Note: spell 62105 are still considered to be negative, despite explicit exception added in IsPositiveEffect and will unexpectedly put caster in combat.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-03-26 00:16:09 +01: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
zergtmn
098a561529 [11280] Drop obsolete code
Debuff from talent 22959 is no longer stackable after 3.3.
2011-03-24 22:15:43 +05:00
NoFantasy
681159656b [11279] Remove aura 53031 at 53039 aura removal.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-03-24 08:28:12 +01:00
VladimirMangos
b588ea9db3 [11260] Add wrapper for creature vistual item set. 2011-03-16 20:21:45 +03:00
NoFantasy
c73e3cbd67 [11231] Add dummy aura effect for spell 43969
TODO: fix spell so that no initial aggro are made. Possibly other requirements are needed for effect.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-03-08 12:51:29 +01:00
dpedroia15
4dd87bd468 [11218] Fixed typo in local var.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-03-05 03:24:15 +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
Neveragain
bef47ce126 [11205] Implement talent 48492 and ranks.
Signed-off-by: Lynx3d <lynx3d@some-imaginary-isp.org>
2011-02-27 15:24:47 +01:00
Lynx3d
60b2e2c8ba [11192] Make some more use of 'const' in SpellAuraHolder. 2011-02-21 16:56:00 +01:00
darkstalker
3d4caa275b [11144] Prevents abilities that are 'usable while stunned' being usable while in non-stun effects. The usability while stunned is restricted only to stun auras with mechanic stun
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-02-12 15:59:14 +02:00
VladimirMangos
cf685da47a [11139] Use for Creature/GameObject local per-map guids
* Creature/GameObject guid generators moved to Map
* For avoid wrong not converted cases generic function in ObjectMgr has been replaced by
  specilized guid generation function like sObjectMgr.GeneratePlayerLowGuid().
  This let catch all cases that need update in custom code or scripts.
* Drop many ObjectAcessor.h now dead code. This is also make mangos more thread safe.
* Restore one more time unix build broken in prev. commits.

Note: many cases when something not wotk in instance but work in continents
possible magicly start work after this commit. For example, some gm commands.
From large systems that need more chnages for start work in full power in instances
can be referecned pool/gamevent system. Last need just small hacks drop changes but
in will addded in independent commit.
2011-02-12 09:52:16 +03:00
VladimirMangos
9a8a74c2ad [11138] Make sure GameEvent/Pool systems work with static instance object guids
* Pool System for correct full power work in instance need implement
  MapPersistentState local pool system state for instanceable maps.
  Unit this not implemented pool system must avoid creating/despawn/touch
  instance map objects. Currently this work because instance map object use
  dynamic generated guids and "invisible" for Pool System, with explcitly forbiden
  for it spawn directly new objects. Code changes add explicit checks for preserve
  this way work for time when instance object will use static guids. When local pool
  state storing in persistent state this protection checks will possible drop.
  Non-instanced working cases converted in local map object search calls.

* GameEvent Systems currently have code that work correctly only with objects at
  non-instanced maps by same reasons as Pool System. But in different Pool System
  case game event activate/deactivate expected applied to _all_ object copies in all
  existed instanceable map copies. Code modified for work in expected way.
  Direct spawn disabled for instanceable maps until swith to static guids.
  Despawn code will make affect only for non-instanceavble maps unit swithc to static guids as-is.
  This is preserve current code working result.

* Convert last case usage global creature search in aura code to map local case.
  Player case also possible not need now after including caster damage/heal mods
  part to aura base damage/heal. In any cases player case preserved in old way work.

NOTE: this last places dependent from global creature/gameobject guid search so look like this
      make possible start direct work to switch instances use static guids instead dynamic generated
2011-02-12 07:24:04 +03:00
NoFantasy
d1007e49ca [11108] Add (parts of?) dummy aura for spell 56422
Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-02-05 11:31:05 +01:00