Note that script is implemented for GOSSIP_OPTION_GOSSIP only (as not expected needed for other gossip options).
Also add a few more startup checks for LoadGossipMenuItems with check for basic errors in fields
it will now correctly drop the flag and correctly remove the player from
eye of the storm objectives
+ also avoid the spamming of all "Player not found!" messages in battlegrounds
maybe all existing "player not found!" places should now get an assert(false)
since this shouldn't happen anymore
+ also better error output in GetBattleGroundQueueIdFromLevel
As result, gossip for GO is now possible. Moved related data structures and remove useless from code.
Please note that after some time, table npc_gossip will be fully removed (use menuId in _template in relation to gossip_menu as replacement).
Special thanks to GriffonHeart for help with research, discussions and ideas of code and thanks to Vladimir for helpful input.
Signed-off-by: NoFantasy <nofantasy@nf.no>
Adjust arguments passed in functions accordingly, for easier implementation of gossip for Gameobjects in future.
Some additional code cleanup in affected functions.
Thanks to vladimir for the update query.
Please make sure to make BACKUPs before you update your database.
The update might take a while depending on the size of your database.
Signed-off-by: hunuza <hunuza@gmail.com>
* Avoid use hardcoded and different max distance from owner for pet (more at contienets and less in instances)
Use instaed max visibility for map as expected.
* Explicitly pet remove at move pet to non-visible distance for player owner.
Original patch provided by Lightguard.
This reverts commit 47c743890e671d8f29a8a71e7a08e5d523f1c070.
bug wasn't fixed through this commit.. also those checks were wrong
in future it should work totaly different:
when lootwindow is opened the items must already be destroyed
moving items on the stack should be allowed
thx to seizerkiller for testing..
in this commit i just check if the item which should get moved
is getting looted
in Item::swap and guildbank this is already checked..
only the check at moving to own bank was missing
QuestLevel -1 is now to be used for dynamic quest level instead of older 0. DB support needed for update of quests.
Signed-off-by: NoFantasy <nofantasy@nf.no>
* Move send functions to new MailDraft class from WorldSession
* Simplify use different args combinations used in SendMailTo
by groupping its by functionality in Helper classes. This also will prevent wrong way use args combinations.
In fact this old bug that just has been triggred more often after recent code changes,
so with some chance maybe some other logout related crashes fixed.
Also small cleanup in avoid double calls RemoveFromWorld and CleanupsBeforeDelete in some cases.
with that i've implemented all known auras which makes
units invisible for alive.. but that's currently quite hacky
i think best would be if we could set a unit-flag after those auras
getting applied
this reverts 8676 (9c50d9e70314b0cd9eb0fe3bac8040d64a9965a5)
the new flag is from wdb-files so your database should be
already alright
also i've dropped the function Player::CanInteractWithNPCs
cause it was used only in one place and didn't seem to make anything
easier
NOTE for this flag:
it just means that the creature can be seen by ghost-players
too..
so they are still visible for alive players.. unless a special
aura or ther unitflag (spiritguide/healer) disables this..
(see next commit for it)
with this flag you can specify a creature to be only
visible for dead players - this removes all hacks from
spiritguides/spirithealers from code and allows some other
special creatures
i decided to not implement an extra deathstate cause
actualy those creatures are almost equal to living ones
This patch implements storing guid->object pairs on per map level, this leads
to less locking in ObjectAccessor in case of further multithreaded map update.
For case of cross map guid looking (auras cases) all maps are linked into
ObjectAccessor and can be traversed for this lookup.
Signed-off-by: ApoC <apoc@nymfe.net>