* 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.
* Talent have spell family GENERIC, move code to correct case
* Not use caster for spells that expected self applied, avoid caster search without need in Aura::PeriodicDummyTick
This better by reasons:
* More explcitly clear how work aura code
* One from "sub-auras" already applied only in player only case
* Another "sub-aura have lot code related to appling for specific weapon types that not need in this aura code
this empty commit is just for clarification..
also all users, please look at your database-providers
and script-providers forum for sql and scripts
cause right after those commits mangos won't spawn
any gameobjects and creatures in battlegrounds anymore
and spiritguides (=spirithealer from bg) won't work withouth
scripting support
(as noted in last commit scripting support is just very simple
and maybe can even done with eventai)
they basicaly should
*autocast 22011
*give player after gossiphello buff 2584
*port players away to another spiritguides, when they die
so this can be done by a script
and maybe eventai
i added a function IsDeathOnlySpell() which returns true
if this spell can ONLY be casted while dead, so i haven't
implemented all spells which could be cast while dead..
moved arena/battleground check from spell::checkcast
to SpellMgr::GetSpellAllowedInLocationError
also i adjusted some spell_fail-codes related to battleground
cause a spell_fail_wrong_area always requires the areaid, else it
would output "not in area %s"
then we don't need to check for map->isarena() when player is already in an
arena
----
in Spell.h
i moved "isTargetableForAttack()" to the top - cause it was anyway used
in every case of that switch
and isTargetableForAttack for attack also checks for isAlive
and isInFlight
so this could get simplified
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)