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>
* Rename creature template `heroic_entry` => `difficulty_entry_1`
Possible need add 2 more fields for 2-3
* Use 2 more EventAI EFLAG_* flags for 2-3 difficulty support, update checks.
* Update area trigger code.
Note: support for specialized creature version for difficulties 2-3 not added yet
and will be used same as difficulty 1 mode.
TODO: Rename area triggers heroickey/etc fields ?
* 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>
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.
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
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
sql won't be included - please look at your database
providers forum
also note, that creature_loot_template id 0
is used for the loot of dead players in this bg
(after a player died and you remove insignia from him..
he not only drops money - he drops some random items too)
further work must be done in better code for adjusting right
levels to creatures - maybe using something similar like it's
done in heroic instances
also quests and creatures needs some scripts in future
thanks to:
netsky - initial start of this patch
bogie - 2nd person writing on this patch
triply, kapatejib, vladimir - code review and suggestions
arrai - for his great tool and help
and all testers / code contributers - I won't write
down a list, else I would forget most probably one ^^
.event start/stop will now output the started/stopped eventame+id
.event activelist got renamed to .event list with optional parameter "all"
so .event list - will list all active events
and .event list all - will list all events including inactive ones
so command can be called as
.instance unbind all
or
.instance unbind #mapid
now
output also the mapname next to the mapid
for the humanoid users among us ;)
now i also know what the error caused
old sql made "alter table `characters`.`bugreport`"
but my database wasn't supposed to be called "characters"
and the other db had an index defined over the type-field
in 8589_06 i got an error:
ERROR 1170 (42000) at line 2: BLOB/TEXT column 'type' used in key specification without a key length
also added delete-queries for 8589_05
You need extract new dbc/map/vmaps for correct work.
And apply ofc sql updates that including character convertion.
Special thanks to TOM_RUS for prepering this switch :)
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Drop code for spell 781. Not need now for work.
* Move code for 8017 and ranks to expected effect for 3.2.x.
* Drop code for spell 26635. Not need for new way work.
Through the eventsystem can be quite complex and errormessages should
be quite meaningful for finding mistakes in sql
I decided to create another table in database
This table will just contain the map,event1,event2 and a human
readable description of every event
the primary key is over map,event1,event2
this table will be outer joined with bg_creatures,bg_gameobject
so every inner-join part will just match those events and create no error
but every outer join part will mean there was something wrong
(either a spawn which has no existant event, or an event where no spawn is
inside)
also this table is very useful for db-developers, to see which events exist
without looking into code and understanding the logic behind the code
also please note:
those error-checks don't (and can't) report every mistake..
for example if you have an arathibasin node - and add just one creature in this
event - this system won't look, if you've spawned all needed gameobjects and so
on..
an idea would be to add to this table how much gameobjects and creatures have to
be there at minimum - but i doubt that this will be much helpful
also i won't stop battlegrounds from loading if not all events do exist
(just cause i see no need in it)
those eventindexes will then be used by the battleground-code to decide
which creature belongs to which objective
for example all creatures in alteracvalley which are standing around a tower
will belong to one eventindex then.. the eventindex will be defined through the code
and must be proper documented for db-devs