Source of crash in sharing item object for sent mail to new owner
and in same time use it in still existed auction for show pending paiment.
Crash possible if new onwer get mail in less hour delay and will drop item
at receive.
Solution: Added fields in memory auction object and table `auction` for
store item stack size and random property id. This let not use auction item
except points where item send to owner at expire and new owner at
buyout/timeout auction with bid.
Old code way work not allow create item without providing targeting player.
In result creating item that will not placed to inventory required additional hacks
for undo redundent links to player structures.
* New command allow place auction from chat/console and create auction without owner.
* Same code can be used in other place when server code want create generated auction
without need have associated player. Auction code update for support this case.
* MailDraft::SendMailTo now allow "send" mails to non-players. It correcly drop items in like case.
* Add check to make sure that creature controlled pet use default name from template.
* Add localization support to pet name query for above pets type.
Item spells with this trigger mode expected casted at item add
to inventory/equip slots (exclude bank), and spell auras (if any)
applied while item in like slots. Item expected destroyed at aura
remove by some reason.
Implementation note: because 2 step way item moves from slot to slot
related auras not removed at internal RemoveItem call and removed only
at directly item destroy/remove from player function calles, or at StoreItem
(if item added to not appropriate slot). So need in future careful with new
RemoveItem call cases.
Transport rotation transforms transport path - this makes possible to have few transports with same entry but with modified paths.
This also solvers problems with some transports (like deeprun tram).
TODO: some transports has non standart rotations, that must be stored in db
Signed-off-by: SilverIce <slifeleaf@gmail.com>
* Script existence <-> `creature_template`.`AIName`="EventAI"
* In strict DB check mode: script existence conflict with setting `creature_template`.`ScriptName`
* Instead coordinates use angle projections to expected pos distance circle.
This let do mostly only angle comparison and then speedup checks.
* Fixed some long existed bugs in algo and simplify code. Possible more work need.
This reverts commit a79ca96e4ae7b6ab1b70319e8b3011253068c841.
This restore work object pos selector for units.
Reverted commit make fully disabled it work for multiply attackers case.