* Replace old `account`.`online` field by `account`.`active_realm_id`.
It have 0 if account offline.
NOTE: this break all scripts that use `online` field for seelct online characters, and it required update.
But from other side this reolve
* Bug with reset online state active realm at restart another realm.
* Let easy select online accounts for some specific realm if need.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
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.
And make related renames in code for types, variables and functions.
To make more clear difference achievement createria type from old achievment criteria data type
in DB and code.
* If object still in world at delete
* If object still listed in client update queue
Possible with this crash reports will more informative and let find porblem.
This is first step in guid counting for map local object types at map level.
Map local countin let
1) have more wide guid space and then more seldom have problems with guid counter overflow
2) possible implement (later) restart map at guid overflow without server shutdown.
3) let use static guids (not for DynamicOPbject that not stored in DB anyway) in instances instead dynamic allocated.
* It possible in result events
1) creature move from respawn grid
2) respawn grid unloaded by timeout, but not current grid for creature
3) respawn grid loaded before current grid with creture unload
4) duplicate attempt created in old grid
Until recent guid storage move to map we create duplicate creature with same (continent) or diff guid.
With diff strange possible result in it work in world.
for alterac valley we've defined Player-loot inside creature_loot_template
with id=0
this hack is used, so that we won't need to create an extra table
player_loot_template for just one case
if later more player-loot will be needed, we should implement
new table and remove this
also added sql-fix for reputation of last commit
it will just fix those which are hated by faction 729/730
* Fixed object is removed from guid->object map but still spawned in world under some conditions
* Fixed possibility to spawn already spawned object
* Fixed objects despawning (missing part for explicitly chanced objects added)
Signed-off-by: ApoC <apoc@nymfe.net>
bug happened when one team owned a mine at the end of the match
and is caused through an uninitalized variable
through that players could gain or lose _very_ much reputation
sorry :x
This must fix crashes at enter to heroic mode instances and raids showup after client switch.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
I can't repeat crashes with existed raids after changes apply but possible in some cases
need drop content of related DB table for resolve some crashes.
removed redundant check at MoveInLos
this check is already done in istargetableForAttack
thx to NoFantasy
fixed in isVisibleForOrDetect that isInvisbleForAlive
wasn't checked.. and therefore all spiritserviceprovider
got visible
thx to NetSky
Note: this check only out of range value in masks.
And not detect another possible DB problem:
After last client switch spawnmask for raid dengeons need update for correct work.
In expection same spawn for both normal or both heroic modes:
raid normal spawn mask from 1 to 3 (1|2)
raid heroic spawn mask from 2 to 12 (4|8)
In other case heroic spawn will used for 25-normal mode with empty heroic mode instances.
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)
* Removed my too script check on data load.
* Allow looking up fo DB target also if spell has required focus set.
* Makes DB targets optional not required.
Signed-off-by: ApoC <apoc@nymfe.net>