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 ;)
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>
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
With related `spell_chain` data.
Added version is result additional fixes and improvments made by nos4r2zod.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Drop learning form passives at form psell learning, and cast it explictly from code in all cases.
* Drop cast form passives at learning.
* Note: talents that have dependent form time passives still work in original way: learned and casted at learn if need.
* Drop hack for spell 24907 casting at form apply: it casted fines as result normal triggered effect in related form spell.
Original patch provided by nos4r2zod.
* List all client and server side supported shift-link types updated in Chat.cpp
* Now Henchant anf Hglyph links can be used in commands as spell links.
* Hitem and Hquest links changed to client supported form.
* Propertly reject self targeting for pet spell 2947 and ranks, and spell 54646.
* Some related fixes for pet spells with target mode TARGET_SINGLE_FRIEND_2
* Implement original caster bonus part of spell 54646.
* Make spell 40216 and 42016 casted/remove at aura 40214 apply/remove.
And drop related spell_area possible existed data.
* In general restore apply area limitations to spell casting in GM mode.
Implemented 2 way set cache data "version":
* New db_version.cache_id field let set cache data version by DB content creators.
This can be used for content releases by seting some unique value at each release.
This value used by default.
* New mangosd.conf config option let set (overwrite DB value) or use 0 for ignore.
This can be used by serever admin for reset cache at some local changes.
Note: values use at client login and then must be unique for long period time to avoid ignored
at login some long not connected client with old same cache version value.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>