Commit graph

4023 commits

Author SHA1 Message Date
tomrus88
8ad48e86e9 Fixed character deletion. 2009-10-03 11:04:04 +04:00
VladimirMangos
9919d89907 Fixed some commented cases for later apply in 3.2.x
* Allow cast 879 and ranks to players
* Add support for spell 67596 from some items added into 3.2.x
2009-10-03 07:22:46 +04:00
VladimirMangos
8ad4f0f10b Restore spell 53563 work at 3.2.x 2009-10-03 07:17:53 +04:00
VladimirMangos
ef19575a59 Update spell code base at mangos_spell_check.sql errors:
* 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.
2009-10-03 06:47:34 +04:00
VladimirMangos
5c0e01be8f Remove outdated spell data from mangos.sql 2009-10-03 02:29:01 +04:00
VladimirMangos
e167a567d5 [8583] Prevent crash at casting DK spells by non-DK characters. 2009-10-02 21:55:53 +04:00
VladimirMangos
59befa2e0e Merge branch 'master' into 320 2009-10-02 19:09:06 +04:00
VladimirMangos
5440deddea [8582] Correctly use yell range for boss textemote broadcast. 2009-10-02 04:50:23 +04:00
VladimirMangos
2e2d1013d4 [8581] Implement downgrade armor proficiency for items with scaled stats.
Original patch provided by Antonio593.
2009-10-02 04:46:24 +04:00
VladimirMangos
140b0d59bc [8580] Restore build at *nix after my recent included cleanup. 2009-10-02 01:39:58 +04:00
VladimirMangos
97c54acd92 [8579] Really make talent 51685 and ranks work, some cleanups
* 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
2009-10-01 23:17:17 +04:00
hunuza
cedc62bd40 [8578] Fix targeting of priest spell 64843.
Signed-off-by: hunuza <hunuza@gmail.com>
2009-10-01 20:32:47 +02:00
VladimirMangos
30105b8a0d [8577] Remove redundent #include "ObjectAccessor.h" 2009-10-01 19:30:30 +04:00
XTZGZoReX
63897d56d7 Move visibility update functions to more appropriate classes.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-10-01 19:01:42 +04:00
Shendor
4041121fd8 [8576] Implement spells 51689 and 51680
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-10-01 17:40:22 +03:00
Ambal
0cbb181479 [8575] Fixed x64 build compilation in VC2005
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-30 22:39:33 +03:00
XTZGZoReX
c5a22f775b [8574] Use map pointer in BattleGround for faster access
this avoids the HashMapHolder usage when searching
for objects
2009-09-30 18:18:33 +02:00
VladimirMangos
9ee41092df [8573] Fixed sql update name 2009-09-30 20:04:35 +04:00
VladimirMangos
1a3e8ca4d0 [8572] Add active repeatable non-daily quest in quest book at character loading also.
This fix bug with have like quest started and impossibility see and abort it.
2009-09-30 19:44:56 +04:00
VladimirMangos
47bf1dbce6 [8571] Avoid use ^ bitmask operation for bool values compare in general.
Also drop HandleSet32Bit logn unused and wrong coded chat command code.
2009-09-30 19:39:44 +04:00
balrok
b2e32f4ff9 [8570] allow negative spawntimesecs also when NoDamageImmune is 0
thx to crackm for report and investigations :)
2009-09-30 15:09:07 +02:00
balrok
9204ed5eb5 [8569] replace ^ by != introduced in 8552
for clarification, also ^ could create unexpeced
results if our boolean TRUE is not equal to 1

thx to vladimir for pointing it out + explanation
2009-09-30 14:37:39 +02:00
Ambal
09c50ab921 [8568] Use more correct spell target coordinates calculation for implicit target types 72, 73, 86
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-30 14:57:12 +03:00
VladimirMangos
fec8a8faa1 [8567] Include DB changes from [8548-8549] into mangos.sql 2009-09-30 02:40:31 +04:00
YuruY
ee884d2791 Support item levels > 255 as expected for 3.2.x clients.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-09-30 01:41:43 +04:00
balrok
4f35eaebd5 [8566] avoid singleton-lock when accessing BattleGroundMGR::isBGWeekend()
proposed by vladimir
2009-09-29 19:16:34 +02:00
Triply
8246a8c310 [8565] Fixed crash added in [8560]. Thx to KAPATEJIb.
Signed-off-by: Triply <triply@getmangos.com>
2009-09-29 19:13:57 +02:00
VladimirMangos
8f31cf63bd [8564] Not allow use -l -s options unsupported combination in git_id call. 2009-09-29 20:42:16 +04:00
balrok
bf8e801ab0 [8563] fixed buffobject despawning in wsg
cause those objects are spawned through db
old buff-handling code only threw errors
2009-09-29 16:38:58 +02:00
balrok
5ddd66712f [8562] added missing spiritguide-spawn in wsg
thx to Tenthu for reporting and testing
2009-09-29 16:18:46 +02:00
VladimirMangos
734426a6f6 [8561] Replace another auras code call by explicit code
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
2009-09-29 17:58:09 +04:00
Triply
0356924cf9 [8560] Optimized guild and arena team loading at startup.
Signed-off-by: Triply <triply@getmangos.com>
2009-09-29 15:41:17 +02:00
Wojta
e412e10de1 [8559] Fixed item 42455
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-29 11:03:20 +03:00
balrok
3de0c8f3dd [8558] fixed typo which disabled accidently some spells 2009-09-28 22:59:03 +02:00
balrok
0ecd93fdc9 [8557] fixed revision_sql.h
sorry i used a too old git_id tool :-/
2009-09-28 18:40:36 +02:00
qsa
8cda413ddc [8556] Implement implicit target 36. Qsa is on rampage today, somebody stop him! :)
Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-28 19:04:34 +03:00
tomrus88
546f7a7fe5 Merge commit 'origin/master' into 320
Conflicts:
	src/game/BattleGround.cpp
2009-09-28 19:52:54 +04:00
tomrus88
650fa65ea9 Nothing really changed. 2009-09-28 19:51:19 +04:00
balrok
a59c6bb0d9 [8555] removed now unused spelldefinition
SPELL_WAITING_FOR_RESURRECT isn't used anymore
2009-09-28 17:47:02 +02:00
balrok
7e1213232f [8554] last changes moved battleground objects to database
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)
2009-09-28 16:52:59 +02:00
balrok
1f9b4ca4c3 [8553] removed spiritguide from code
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
2009-09-28 16:45:06 +02:00
balrok
2da82a8c68 [8552] implemented spells which can be casted while dead
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..
2009-09-28 16:44:49 +02:00
balrok
5385b385bc [8551] code cleanup
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
2009-09-28 16:44:37 +02:00
balrok
9143f19bef [8550] call Unit::Update() also for spiritguides
cause they are dead i had to add another hack :-/
2009-09-28 16:44:25 +02:00
balrok
db7c9f4fc1 [8549] Eventloading check
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)
2009-09-28 16:44:02 +02:00
balrok
0ce6395857 gm command for reload of eventindex
also i merged both loading functions together
(union-select gameobject and creature)
those loading functions were pretty similar
2009-09-28 16:42:08 +02:00
balrok
2adf6245c2 BattleGround: removed now unneeded functions
I couldn't remove AddObject and m_bgObjects from code
cause it's still needed for buffobjects.. later
the poolsystem must be rewritten, so that it'll work for instances too
then those objects can be removed

(it would be possible to take the eventsystem for those spawns too - but
this would be the wrong way to handle it)
2009-09-28 16:42:01 +02:00
balrok
9b7b3b0304 corrected spawning of buffobjects in arena
they are spawned in all arenas 60 seconds after start
so i implemented this function in BattleGround.cpp
maybe we should use BattleGroundAA for such things
then we also can drop all arena-files, cause
all arenas are working in the same way
(at least those which are currently implemented)
2009-09-28 16:41:54 +02:00
balrok
d249e9550a changed battleground code for every bg
BattleGroundWS: changed warsong code for db-move

BattleGroundAB: changed arathi basin code for db-move

BattleGroundEY: changed eye of the storm code for db move

also some cleanup like:
renaming POINTS_MAX to NODES_MAX
renamed "m_" -> should only be used for classmember

BattleGroundAA: changed arena code for db move
2009-09-28 16:41:45 +02:00
balrok
c77683afbb event-handling functions in battleground-class
i added a map m_ActiveEvents which will track all current active events
it's allways key:event1 -> value:event2 so it's like a one dimensional array
which contains current active event2..
i only need one event2 in this list, cause i only want to allow one event2 at
the same time if other event2 are also active right now - i would just despawn
it

(for example (numbers not real) arathi basin stables are event1=3 and have 5
states (alliance assault, horde assault, neutral...) so every state has an
event2 index and only one state at a time is possible (so if we spawn
horde-contested gameobjects/creatures, we will despawn everything else)

OnObjectDBLoad - generic implementation for this function:
    will automaticly spawn or not spawn.. open (doors) or not open
    gameobjects/creatures

doors:
i use event1=254 and event2=0

IsDoor(event1,event2) - just a check if this event could be a door (mostly not
    needed for bg-subclasses)

OpenDoorEvent(event1,event2) - opens the door (used in bg subclass cause some
doors also must be despawned)

SpawnEvent(event1, event2, bool spawn)
    spawn=true says all related gameobjects/creatures getting spawned, else despawned
    will despawn all event2 in event1 which are not equal to the
    event2-parameter
    also this function will set the right values in m_ActiveEvents

IsActiveEvent(event1,event2) - returns true if event is active
2009-09-28 16:41:33 +02:00