at_same_transport already include player checks at assign and
it move to common if make 3 distance cases exactly same.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Affect any pet that are not being controlled (minipet/guardian/protector) and will also apply to pets owned by another creature.
Signed-off-by: NoFantasy <nofantasy@nf.no>
Original patch provided by Wojta
Note: From patch excluded talent 44543 and ranks stacking code.
It look like need another implemention different from suggested,
or at least more research.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
In patch added enum IgnoreUnitState and related checks now more cheating protected.
* Also remove redundant zone/area args for zone/area update function like UpdateZoneDependentAuras.
* Merge Player::*AllControlledUnits functions to Unit version with replace option args by mask arg.
* Unit::*AllControlledUnits guardian iteration make working with internal unsummon call suport for guardians case.
Also move related code to Unit and allow summon minipets by creatures.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also fix creature's totems unsummon at owner remove from world.
Thanks to insider42 for prepering patch for mangos repo.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Also added loading check for redundant ap/ap_dot data in table.
* Merge Player::RemovePet and Pet::Remove function code to Pet::Unsummon
This let be sure that in all cases all required steps doen. For example this fix
creature's guardians propertly remove from guardians list.
* Add new pet save mode PET_SAVE_REAGENTS as replacement PET_SAVE_NOT_IN_SLOT+true-arg stable pair in old function args
This will avoid use reagent save arg with wrong different save modes.
* Fixed recently added code with absent check for re-summon protector pet call.
In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.
Original version provided by ciphercom.
This reverts commit 10784a8c7cc81c468b5411e973d36ecf31de9603.
Main reason: impossibility for me as commiter test problem and fix all corner cases problems.
Now in case when creature/etc some tices not updates in result stay
in not active (no near players or active objects) cell some important
timers (corpse decay, summon timers, group loot expire, aura durations, etc) will
updates at real diff time from last prev. update call.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
For some systems added exclude use real diff time because current limitations
like move generators. So its stay use last tick diff and considered freeze and
skip all time while creature in not active map part.
* Player's knockback movement now smooth and doesn't looks like teleporting
* Cleanup WorldSession::HandleMovementOpcodes, separated opcode specific and generic movement handlers code
* Handle Feign Death aura interrupting into more appropriate place
Added ObjectGuid version Aura::GetCasterGuid()
But for prevent big problen with backporting AuraHolder
to mangos-0.12 in most cases still used old uint64 version
Aura::GetCasterGUID.
Recommended use new version where possible in clean way
as done for some cases in commit already.
Also other classes have been affected, due to the use of search&replace.
This will probably break some patches and 3rd party libraries, so make sure to update them if required.
Thanks to Phille for the original idea and patch!
Also thanks to Revils for correcting effective skill for spells that don't use weapon despite being melee/ranged ability.
Signed-off-by: Lynx3d <lynx3d@some-imaginary-isp.org>
* Move selection allowed upper and lower heights for target point
into near point core function used for contact/close point selection.
Selection base at possibility target point searcher fly/swim(or walk by water bottom).
* Use vamp water level data so have proper water level in instances in movements.
* Use increased ground search distance for water level case.