Commit graph

105 commits

Author SHA1 Message Date
Blizzy
09b873a316 [9651] Correct code for quest points of interest.
Adjusting field names and type, and send data accordingly to avoid client crash not using auto-generated id.

Due to the nature of the primary keys, two tables are truncated. Be sure to make backup if you have data you do now want to loose.

In addition, speed up load times of data from quest_poi_points, thanks Hunuza for helping out.
2010-03-31 20:58:40 +02:00
VladimirMangos
a27ff3e79d [9602] Simplify creating mail draft with content text, cleanup includes. 2010-03-18 12:10:47 +03:00
VladimirMangos
ab7840a591 [9580] Add ObjectGuid const& Object::GetObjectGuid() and restore build. 2010-03-13 17:35:47 +03:00
VladimirMangos
c4f3578226 [9571] Create and use ObjectGuidGenerator/IdGenerator template classes.
* This is let finally hide guid structure in ObjectGuid.h/.cpp code.
* Shared related code.

NOTE: while switch to use new clasess one more problem has been detected
with not-safe code in .pdump work for future per-map multi-threading.
It's need rewrited before will possible safe use in like case.
For current single world thread case it's safe.
2010-03-11 16:32:09 +03:00
VladimirMangos
6487c24f29 [9545] Rename ObjectDefines.h -> ObjectGuid.h
Also move unrelated generic defines to Common.h
2010-03-07 20:05:32 +03:00
timmit
a30af12772 [9544] Implement CONDITION_NOITEM.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-03-07 16:50:08 +03:00
VladimirMangos
c9c578b5c3 [9339] Use group ids for indexing groups in DB
* Use group ids in DB
* Pack used group ids at server startup
* Finaly drop group search by leader guid.
2010-02-09 14:36:20 +03:00
VladimirMangos
8e0069f364 [9327] Replace leader based indexing groups by group ids.
* This must repolve problem with loot.
  Before if some mob killed by group member and then leader changed
  then group members can't loot this mob body.
* Possible resolve crashes at loot. Now group storage content not dependent from leader changes.
2010-02-08 08:25:06 +03:00
VladimirMangos
66c8c75914 [9284] Realy fixed crash source added in [9228] now. 2010-02-02 14:52:52 +03:00
VladimirMangos
742f8df025 [9282] Possible fixed crash source added in [9228]
After [9228] groups stored under leader guid keys, but group leader can change
and in result at group disband after leader change group not removed from storage.
2010-02-02 00:57:19 +03:00
VladimirMangos
abce7740f8 [9233] Restore build at *nix after [9228]
Partly undo changes.

Thanks to DasBlub and Lightguard for testing.
2010-01-22 00:34:47 +03:00
zhenya
4178d5bb6a [9228] Speedup groups store and other code work.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-21 17:43:27 +03:00
Lightguard
0088d1300c [9216] Fixed hunter pet XP requirements.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also move calculation to function. And avoid use operator[] for access to per-area base xp table data.
2010-01-20 05:05:23 +03:00
tomrus88
22a60b9018 Fixed merge error. 2010-01-10 12:47:53 +03:00
VladimirMangos
e15f548bed Merge branch 'master' into 330 2010-01-08 16:03:27 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
NoFantasy
effe02fb25 [9111] Implement ConditionType CONDITION_LEVEL for PlayerCondition
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-05 01:59:14 +01:00
tomrus88
c745c5072f Merge remote branch 'origin/master' into 330 2009-12-16 02:45:05 +03:00
NoFantasy
4f5ed57fc2 [8976] Implement CONDITION_RACE_CLASS
Condition has independent value1 (race mask) and value2 (class mask) fields and can be used with one or both.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-12 17:53:27 +01:00
tomrus88
7c6cae1af7 Merge remote branch 'origin/master' into 330
Conflicts:
	src/game/ObjectMgr.h
2009-12-11 21:50:24 +03:00
NoFantasy
fb6712f3a3 [8970] Implement CONDITION_AREA_FLAG
Value1 is for "include flag", Value2 for "not include flag"

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-11 18:37:57 +01: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
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
tomrus88
d76b728a99 - Quest POI fix. 2009-12-03 19:22:12 +03:00
tomrus88
b09ee8e571 - Implemented quest POI's. May be not perfect, but it works :P 2009-11-14 19:56:01 +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
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
VladimirMangos
e078d0dd03 [8769] Implement mails sending at player levelup. 2009-11-03 20:21:11 +03: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
VladimirMangos
d482193cea [8705] Move DynamicObject guid counting from global levle to map.
This is first step in guid counting for map local object types at map level.
Map local countin let
1) have more wide guid space and then more seldom have problems with guid counter overflow
2) possible implement (later) restart map at guid overflow without server shutdown.
3) let use static guids (not for DynamicOPbject that not stored in DB anyway) in instances instead dynamic allocated.
2009-10-22 06:49:35 +04:00
ApoC
45a0d3c8c2 [8209] Comment fix.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-07-19 17:41:11 +02:00
VladimirMangos
c96f8e3d9f [8176] Forbid using some monster movement flags (that can crash client) in creature*_addon tables.moveflag tables field.
Also refactoring creature addon tables loading.
2009-07-13 23:38:27 +04:00
VladimirMangos
104158d93d [8157] Fixes and some tables support finish for pleays pdumps.
* Restore mark character with duplicate for rename at login
* Restore save mail item_text data
* Finish implementaion for propertly load item_text data.
2009-07-10 06:39:38 +04:00
VladimirMangos
715470a898 [8126] Improvemets in player/pet/charter name checks.
* Implement new config options for minimal player/pet/charter name length (2 by default)
* Better error reporting at problems in names.
* Add check from max pet/charter name length (same as for player names at client side)
2009-07-05 20:30:33 +04:00
VladimirMangos
5254a498df [8016] Work at npc click table data use.
* New fields in `npc_spellclick_spells` for allow set npc spell click mode from quest to infinity
  or to another quest, or from reward quest.
* Not expect (and forbid set UNIT_NPC_FLAG_SPELLCLICK in DB and set it at `npc_spellclick_spells` loading.
* Apply some speedups for creature checks affected by spel click state
2009-06-15 01:01:38 +04:00
VladimirMangos
08fe4933c5 [8015] More dislpay id selection fixes...
* Allow have only A2 or H2 display ids for less strincted DB field data.
* Check model data existance for all provided display ids atserver startup.
* Avoid explicit access to creature info display fields but use display selection functions.
* Rename GetTaxiMount to more clear for returned value GetTaxiMountDisplayId.
* Check display ids in `creature_model_info` at server load.
2009-06-14 21:57:56 +04:00
VladimirMangos
05b1bda879 Merge commit 'origin/master' into 310 2009-06-09 09:51:34 +04:00
NoFantasy
6a1b4e5729 [7980] Implement item use target requirements store and check (new table item_required_target).
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

* Also implement this table reload
* Static Spell::SendCastResult function for call not from spell code.
  Can be also used in scripts where need send explicitly spell cast error to client.
2009-06-09 00:26:36 +04:00
tomrus88
afd82229d7 Merge commit 'origin/master' into 310
Conflicts:
	src/game/SpellAuras.cpp
	src/game/SpellEffects.cpp
2009-05-24 10:11:26 +04:00
VladimirMangos
c56ef09fa3 [7887] Drop pet spell teaching code, including field in character_pet. 2009-05-24 07:20:13 +04:00
tomrus88
ebb03b7b9f Merge commit 'origin/master' into 310
Hope it works with live 3.1.2.9901 client
2009-05-20 10:53:55 +04:00
VladimirMangos
75d7a4c0cb [7844] Fixed mangos string storage index type. 2009-05-18 12:28:23 +04:00
tomrus88
6734694a90 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-16 00:47:37 +04:00
VladimirMangos
6aacc45ace [7834] Mangos string loading code cleanups.
* Better integration creature event ai strings.
* Not inclide in checks as expected max mangos strings range value to range
2009-05-15 17:01:11 +04:00
tomrus88
c9f5062955 Merge commit 'origin/master' into 310 2009-05-08 15:31:27 +04:00
VladimirMangos
3989212ad1 [7797] Use DBC data for mount model selection in more cases.
* Use alt.team mount data for take player team model id if DB not provide own team creature id in spell taxi call case.
* Remove unddeded hacks for model ids from Spell::EffectSendTaxi
* Provide spell target for SPELL_EFFECT_SEND_TAXI for spell with target mode 0 for this effect.
2009-05-07 22:40:37 +04:00
tomrus88
6821c24268 Merge commit 'origin/master' into 310
Conflicts:
	src/game/Player.cpp
2009-05-06 09:40:35 +04:00
arrai
fefe56e3c5 [7776] Completed implementation of CMSG_SPELLCLICK
For vehicles, you have to add the correct SPELL_AURA_CONTROL_VEHICLE spells to
npc_spellclick_spells, otherwise you won't be able to use them
2009-05-05 18:58:58 +02:00