Commit graph

649 commits

Author SHA1 Message Date
NoFantasy
f0e7f01a7b [8968] Implement gossip menu options for GameObject
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-11 11:08:27 +01:00
VladimirMangos
ed7d561597 [8963] Make bindpoint field private and add required functions for use. 2009-12-10 12:22:17 +03:00
NoFantasy
4a2dc2438c [8962] Check player class instead of just active pet for gossip stable option
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-10 01:53:59 +01:00
NoFantasy
4ca8b0defc [8952] Use default gossip menu options if no options exist for "top level" menu.
Also not close gossip menu in cases where no action_menu_id is set.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-08 21:52:05 +01:00
VladimirMangos
1f7163f449 [8940] Make players and totems always immune to taunt. 2009-12-07 17:26:13 +03:00
NoFantasy
5d2189b7b7 [8929] Implement gossip scripts to be used with gossip_menu_option.action_script_id
Note that script is implemented for GOSSIP_OPTION_GOSSIP only (as not expected needed for other gossip options).
Also add a few more startup checks for LoadGossipMenuItems with check for basic errors in fields
2009-12-06 19:46:39 +01:00
NoFantasy
ec0043ac64 [8928] Rename internal names for gossipLocale and also correct reload gossip tables
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-06 11:55:53 +01:00
balrok
1de6692e04 [8926] BattleGround: call correct function at playerleave
it will now correctly drop the flag and correctly remove the player from
eye of the storm objectives

+ also avoid the spamming of all "Player not found!" messages in battlegrounds

    maybe all existing "player not found!" places should now get an assert(false)
    since this shouldn't happen anymore

+ also better error output in GetBattleGroundQueueIdFromLevel
2009-12-06 09:50:35 +01:00
NoFantasy
090c8b8854 [8923] Restructure gossip menus and make it possible to build selections by database
As result, gossip for GO is now possible. Moved related data structures and remove useless from code.
Please note that after some time, table npc_gossip will be fully removed (use menuId in _template in relation to gossip_menu as replacement).
Special thanks to GriffonHeart for help with research, discussions and ideas of code and thanks to Vladimir for helpful input.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-06 02:27:26 +01:00
VladimirMangos
d5d3f6d26a [8902] Do can store check at loading item to bag in same way as for other cases 2009-12-02 12:45:52 +03:00
NoFantasy
a8bd659872 [8900] Move most gossip related functions from Creature to Player class
Adjust arguments passed in functions accordingly, for easier implementation of gossip for Gameobjects in future.
Some additional code cleanup in affected functions.
2009-12-01 14:19:57 +01:00
VladimirMangos
5186046c5e [8897] More stricted checks for store operations.
* Use stricted definition valid pos for expected explicit pos cases
* Prevent attempts add bag to self at autostore.
2009-11-30 16:55:49 +03:00
VladimirMangos
d48ce8b717 [8896] Include character_skills table in pdump and drop at character delete. 2009-11-30 15:09:23 +03:00
VladimirMangos
ce104f6281 [8887] Fixed lost auras at login from spells learned at skill load.
This is mostly buffs form profession skill levels.
2009-11-29 13:40:22 +03:00
hunuza
4a6da1ad32 [8874] Extract player skills from data blob.
Thanks to vladimir for the update query.

Please make sure to make BACKUPs before you update your database.

The update might take a while depending on the size of your database.

Signed-off-by: hunuza <hunuza@gmail.com>
2009-11-25 18:22:22 +01:00
VladimirMangos
663038c7c7 [8870] Fix problem with max pet distance from owner.
* Avoid use hardcoded and different max distance from owner for pet (more at contienets and less in instances)
  Use instaed max visibility for map as expected.
* Explicitly pet remove at move pet to non-visible distance for player owner.

Original patch provided by Lightguard.
2009-11-24 19:10:38 +03:00
balrok
a1dc4d3263 [8862] Revert "[8859] fixed bug which allowed to loot items multiple times"
This reverts commit 47c743890e671d8f29a8a71e7a08e5d523f1c070.

bug wasn't fixed through this commit.. also those checks were wrong

in future it should work totaly different:
when lootwindow is opened the items must already be destroyed
moving items on the stack should be allowed
thx to seizerkiller for testing..

in this commit i just check if the item which should get moved
is getting looted
in Item::swap and guildbank this is already checked..
only the check at moving to own bank was missing
2009-11-22 23:57:56 +01:00
balrok
d63ea646a0 [8859] fixed bug which allowed to loot items multiple times
thx to burned for reporting
2009-11-22 16:41:17 +01:00
VladimirMangos
754c1fed45 [8837] Fixed client side visual bug with login in "combat" mode. 2009-11-19 13:23:50 +03:00
VladimirMangos
fe1fae46ee [8830] Restore build at *nix. Make MAKE_PAIR* users includes explicit.
Comment for recently added field also.
2009-11-18 23:57:20 +03:00
balrok
7a2764e0fe [8829] some more places where we call redundant SaveToDB
i also added now my assert with which i've found them..
maybe someone want's to look at other cases too :)
2009-11-18 19:13:03 +01:00
balrok
31a2996374 [8822] one big insert for character_aura and _SaveSpellCooldowns
this is much faster than many multiple inserts..

code is partly stolen from AchievementMgr inserts (:
2009-11-15 20:36:05 +01:00
balrok
c3c7ab2f63 [8816] call uncharm for all units at delete
currently it was only done for players - but units
also can have charms which must be removed
2009-11-14 19:11:04 +01:00
VladimirMangos
4ac1bcc37a [8807] Better check playercreateinfo_action data at server startup. 2009-11-11 18:11:02 +03:00
VladimirMangos
29949518b5 [8795] Reset UNIT_FIELD_AURASTATE before aura load or health/etc set.
This resolve problem when some aura state not remove aftre reload and original aura source lost.
2009-11-08 22:37:26 +03:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
XTZGZoReX
dc725ad6b8 [8785] Use macro instead of explicit call to singleton Instance().
* For: ObjectAccessor, MapManager.
2009-11-08 03:54:41 +01:00
XTZGZoReX
1f23884757 Don't use singleton to access static functions.
* This affects especially ObjectMgr functions:
   - GetCreatureInfo
   - GetGameObjectInfo
   - GetInstanceTemplate
   These are in fact static functions.
2009-11-08 03:54:27 +01:00
Daveh
71c031b478 [8770] Fix dynamic quest levels.
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>
2009-11-03 22:20:02 +01:00
VladimirMangos
e078d0dd03 [8769] Implement mails sending at player levelup. 2009-11-03 20:21:11 +03:00
VladimirMangos
d009994f59 [8768] Rewrite code for prepare and send mails.
* Move send functions to new MailDraft class from WorldSession
* Simplify use different args combinations used in SendMailTo
  by groupping its by functionality in Helper classes. This also will prevent wrong way use args combinations.
2009-11-03 17:34:23 +03:00
VladimirMangos
d5dad82f3d [8764] Simplify code for mail items send. Avoid packet unread spam at errors. 2009-11-02 15:58:12 +03:00
VladimirMangos
3c53dded97 [8749] Rename quest_mail_loot_template to mail_loot_template.
Store loot in mail_loot_template indexed by mail template ids.
Provide new SendMail functions for send mail base at mail template.
2009-10-29 08:57:44 +03:00
VladimirMangos
1b6176396e [8747] Implement player's pet resilience, also fix DoT case. 2009-10-29 04:34:57 +03:00
VladimirMangos
15ab6794d3 [8742] Avoid aura remove triggered casts and packets send at logout/delete
This is must speedup logout and solve some crash cases or unexpected effects.

Also fix some nonsense code with memory lost possibility.
2009-10-27 04:20:11 +03:00
VladimirMangos
b49cf2df28 [8725] Fixed bug with crash at forced logout in combat in instance.
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.
2009-10-25 01:07:28 +04:00
tomrus88
3cc7f36006 [8720] Added missing ReqItem 5 and 6 to database.
(backported from commit 7a722b8)
2009-10-24 04:07:57 +04:00
VladimirMangos
d7ae5e3af0 [8718] Remove most GetObjectInWorld functions and move some map local to Map
Also mape pet guid counter per-map (in different expecte to be global pet number)
2009-10-24 01:16:40 +04:00
VladimirMangos
b942616ded [8710] Make vehicle guid counter per-map local.
Also update/drop/move to Map some dependent functions.
2009-10-22 17:43:41 +04:00
balrok
46389e4e1c [8689] implement function Unit::isInvisibleForAlive
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
2009-10-20 23:37:21 +02:00
balrok
e990d5c509 [8688] proper implementation of creatures ghost-flags
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)
2009-10-20 23:34:13 +02:00
VladimirMangos
8271e7eb99 [8683] Correctly update negetive aura duration at loading.
Thanks to ApoC for problem reseach.
2009-10-20 16:45:31 +04:00
balrok
a2ff999fd3 [8676] implemented dead-visible creature flags_extra
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
2009-10-18 21:28:36 +02:00
XTZGZoReX
0e1854a936 [8671] Correctly send SMSG_PET_TAME_FAILED with appropriate value when taming fail instead of spell fail.
I also removed conditions from Spell::EffectTameCreature which are checked in Spell::CheckCast.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-18 19:16:48 +02:00
hunuza
ec10a5bf3c [8665] Correctly implement XP bonus auras.
Signed-off-by: hunuza <hunuza@gmail.com>
2009-10-18 11:44:01 +02:00
ApoC
45c9c136ba [8653] Implemented per map guids store.
This patch implements storing guid->object pairs on per map level, this leads
to less locking in ObjectAccessor in case of further multithreaded map update.

For case of cross map guid looking (auras cases) all maps are linked into
ObjectAccessor and can be traversed for this lookup.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-10-17 00:12:31 +02:00
VladimirMangos
cf7ec4c456 [8651] Not send unexpected reply whisper to sender for addon messages.
Thanks to Leo9@mangos.lighthouseapp.com for provided client side testing addons.
2009-10-16 17:51:50 +04:00
qsa
369e50e068 [8648] Implement SPELL_AURA_MOD_HONOR_GAIN
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-10-15 15:04:36 +04:00
NoFantasy
b780e2dd80 [8646] Add basic support for QUEST_FLAGS_PARTY_ACCEPT (2).
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-10-14 19:19:49 +02:00
NoFantasy
65965bc5fa [8642] Replace the Spanish word 'hostil' with the English one.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-10-14 12:46:10 +02:00