Commit graph

475 commits

Author SHA1 Message Date
VladimirMangos
6cfa64db97 [11123] Move respawn data to InstanceSave.
This make prev commit more useful.
In future InstanceSave also planned store local pools state.
2011-02-09 06:09:32 +03:00
VladimirMangos
ad29153ee0 [11118] Not report empty world_template as error. 2011-02-08 04:40:16 +03:00
VladimirMangos
f73868a703 [11117] Allow for non-instancable maps have InstanceData and instance scripts.
* New table added for non-instanced maps (except BG/arena):
    - `mangos`.`world_template` (script mapping to non instanced data)
    - `characters`.`world` (saved script data string storage)

* InstancedData created for any map types including BGs/arenas, that allow have scripts
  state for any maps, but BG/arena instance data not saved.

Note: Possible structures will renamed later for clarify apply to any type maps,
but avoid for now for simplify changes and hard affect to script library sources.
2011-02-08 04:15:13 +03:00
VladimirMangos
2fd536fe43 [11077] Game event fixes and condition improvments.
* At game events table loading checked not only allowed event ids range but also event existance.
* Renamed CONDITION_ACTIVE_EVENT -> CONDITION_ACTIVE_GAME_EVENT
* Implemented new conditions:
   - CONDITION_NOT_ACTIVE_GAME_EVENT
   - CONDITION_ACTIVE_HOLIDAY
   - CONDITION_NOT_ACTIVE_HOLIDAY

Recomended use holiday version where possible as more portable.
2011-01-28 23:48:52 +03:00
Schmoozerd
21cc7cd179 [11067] DB error text for creaure difficulty checks misleading.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-25 00:27:28 +03:00
Skirnir
75b4f75f4d [11066] Remove tail whitespaces.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-25 00:22:29 +03:00
Ambal
07c9f0cbb8 [11054] Do not allow async transaction execution while server is loading. Call Database::InitDelayThread() function explicitly to create async DB worker thread after server initialization is complete.
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-01-20 23:46:51 +02:00
Ambal
2890e0f45a [11047] Execute transactions in ObjectMgr::PackGroupIds() synchronously on server startup
Signed-off-by: Ambal <pogrebniak@gala.net>
2011-01-19 22:56:36 +02:00
Ambal
631ce36680 [11045] Rewrite internals of DB layer. Simplify code and use less locking. Spawn and use separate connections for sync and async DB requests. Implement database connection pool for SELECT queries. Up to maximum 16 connections supported. Disable 'autocommit' mode for MySQL.
UPDATE YOUR CONFIGS!

Defaults:
LoginDatabaseConnections = 1
WorldDatabaseConnections = 1
CharacterDatabaseConnections = 1

If you are not using <mtmaps> patch do not change the default settings - this is useless. You can try following option in your MySQL config to squeeze even more performance from your DB:

[mysqld]
transaction-isolation = READ-COMMITTED

Great thanks to Undergarun, kero99 and selector for making tests and providing very useful feedback and DB statistics! Have fun :)

Signed-off-by: Ambal <pogrebniak@gala.net>
2011-01-19 22:05:20 +02:00
Schmoozerd
54cb8f1a63 [11032] Implement CREATURE_FLAG_EXTRA_AGGRO_ZONE.
This let control zone wide aggro in DB data instead
need special script code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-01-18 13:48:46 +03:00
VladimirMangos
fda171d6bd [10961] Avoid use scripting support wrappers for internal server code. 2011-01-04 22:48:04 +03:00
VladimirMangos
a0e298179c [10952] Don't use singleton to access static functions. 2011-01-03 14:55:55 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
VladimirMangos
7a2478ff4f [10942] Implement .reload npc_text. 2010-12-30 23:41:54 +03:00
VladimirMangos
16768da053 [10941] More strict check player race/class allowed values. 2010-12-30 06:53:06 +03:00
zergtmn
0d6f990e4e [10912] Move scripting related functions from ObjectMgr to ScriptMgr 2010-12-24 00:23:37 +05:00
zergtmn
f61166c2bf [10911] Fix GCC warning 2010-12-23 23:31:31 +05:00
zergtmn
a1e0111638 [10909] Code style cleanups in scripting related functions 2010-12-23 19:01:30 +05:00
VladimirMangos
4a7638c80e [10905] Fixed vendor templates work.
* Avoid unexpected errors at template loading for shared templates for many npc.
* Really use vendor template in work.
2010-12-21 19:39:43 +03:00
VladimirMangos
1d84a8de1d [10897] Small typos in error message. 2010-12-20 23:03:13 +03:00
VladimirMangos
add4ceb999 [10896] Detect self-referenced model info in creature_model_info. 2010-12-20 20:33:31 +03:00
Warlord123
3e1c04fc6e [10893] Speedup check code at gossip_menu_option loading.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-19 21:54:00 +03:00
NoFantasy
f59edc66ad [10882] No error output for empty npc_trainer* tables
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-12-17 12:28:37 +01:00
VladimirMangos
1d8f222621 [10867] Implement templates for trainer spell data in npc_trainer_template.
New table let avoid duplication similar trainer spells for different trainers.
2010-12-13 16:39:53 +03:00
Quriq14
c7205a6837 [10862] Fixed not show and lost mail items in returned expire mails.
Also
* Use typename for mail item info vector.
* Include tools/characters_mail_items_cleanup.sql for cleanup lost mail items.
  It also included as sql update part. Sql update also fix receiver for stored
  in DB expired mail items.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-12 09:10:08 +03:00
VladimirMangos
80712b928a [10825] Move specific SQLStorage defines to game dir
This let have in shared dir only generic declarations of class SQLStorage
Not game specific details.
2010-12-05 03:29:11 +03:00
VladimirMangos
938622bedc [10802] Use ObjectGuid in Mail code.
Some catched bugs fixed in mixed uint32/guid values using cases.
2010-12-01 15:11:08 +03:00
NoFantasy
afe50cd549 [10797] Check for valid sheath state in creature addon at startup.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-11-30 09:42:51 +01:00
VladimirMangos
abc6dfca98 [10792] Fixed warnings and need in redundent char* casts in database access code. 2010-11-29 00:47:11 +03:00
VladimirMangos
cc0655a402 [10782] Use Team enum types in all appropriate cases and catches bug in result fix.
* Fixed wrong arenaid use at leave arena queue.
* Fixed memory lost and etc at not virtual EndBattleground call
* Fixed crash at arena join with fake data from client.
* Code cleanups.
2010-11-25 01:11:17 +03:00
VladimirMangos
fe5fc994a6 [10776] Not mark reputation_spillover_template empty state as error
Now expected by default data used from dbc fields.
2010-11-22 12:38:58 +03:00
VladimirMangos
c2096380cf [10752] Convert to objetguids map scripts and finally drop IS_PLAYER_GUID. 2010-11-20 02:38:56 +03:00
Ambal
f67d89f109 [10727] Map system re-engineered. Special thanks to Blueboy for tests.
Signed-off-by: Ambal <pogrebniak@gala.net>
2010-11-16 21:08:28 +02:00
VladimirMangos
4aa239ac8c [10720] Implement check gossip_menu_option.npc_option_npcflag.
For cases main menu options used by creature but impossible show in result absent
related npcflags for any creatures used that menu.
2010-11-11 18:08:53 +03:00
VladimirMangos
bfec27707a [10714] Avoid unexpected error at action_menu_id < 0 after recent loading checks adding. 2010-11-10 04:38:27 +03:00
VladimirMangos
a87648c56b [10712] Startup checks for gossip_menu and gosip_menu_option table data.
Existance `gosup_menu` id refercned from gameobject field and unused meni ids
activated only with disabled LogFilter_DbStrictedCheck.
2010-11-10 01:00:14 +03:00
VladimirMangos
534ff29f15 [10711] Check localization data for existance main table entres.
Data will skipped for nonexistent entries, and reported with
disabled LogFilter_DbStrictedCheck filter.
2010-11-09 20:26:59 +03:00
NoFantasy
7032423d6f [10704] Add the option to close gossip window in gossip system
Field action_menu_id in gossip_menu_option table can be set to -1 where close gossip is expected, instead of sending a new menu.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-11-08 23:18:58 +01:00
blueboy
ee8cc71e38 [10692] Fixed wrongly use %d for guids in DB queries.
This can affect correct result in cases big guid values
(out of range for possitive part of int32 range) at x86 platforms.

Some other cases addded in addition to original patch fixes
where %d wrongly/unsafe used for unsigned values.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-07 22:10:37 +03:00
VladimirMangos
10d3d3ce24 [10692] Fixed some GCC warnings and code errors.
Thanks to freghar for provide cleaned list of warning messages.
2010-11-07 21:30:55 +03:00
VladimirMangos
2f144d9d29 [10682] New table 'item_convert' for convertion items.
* Implment vendor at show replace BoA item with reputation requirement
  by identical item without rep. reqs for player that fit this requirements
  of original item.

* Table also can be used for store item convertion data form one team items
  to similar other team items. This case not impement but added function easy
  used for it.

* Note: strict single convert for item not created problem for both way use:
  item converted for same team or all, can't be original item for conversion to
  another team.
2010-11-05 00:41:16 +03:00
VladimirMangos
0bf8b0aa79 [10679] New table npc_vendor_template for comon item data for diff vendors.
In vendor list show own vedor items + template ites if any.
Vendor template item lists selected by id stored in creature_template.vendor_id
2010-11-04 20:22:47 +03:00
VladimirMangos
97ff7e6006 [10668] Implement CONDITION_*ITEM_WITH_BANK conditions.
Similar CONDITION_*ITEM but including character bank content in counting.
2010-11-01 06:26:20 +03:00
Deleterios
549b44d8ec [10664] Rename arena_team_stats fields for better fit to stored values.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-01 02:37:10 +03:00
VladimirMangos
f48e768a70 [10662] Implement partly item looting
* Not deleted normal item loot at first loot window close.
* Save current item loot content to DB for later continue looting.
* Cleanup spell effect SPELL_EFFECT_OPEN_LOCK check code
* Cleanup Player::AutoStoreLoot calls
2010-11-01 02:04:08 +03:00
NoFantasy
506e93d15d [10658] Add enum as argument for quest special/flags functions
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-10-30 01:47:37 +02:00
NoFantasy
b6e367bf3c [10657] Separate quest_template.QuestFlags from SpecialFlags
Create enum for SpecialFlags (database flags and internally computed)
Added related functions for specialFlags and update code accordingly.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-10-30 01:14:17 +02:00
NoFantasy
1210c6d978 [10656] Rename quest function HasFlag to HasQuestFlag
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-10-29 21:19:35 +02:00
NoFantasy
a38f97f71c [10655] Add support for monthly quests
Quest that can repeated each month are set by quest_template.SpecialFlags |0x04 flag
Quest are reset at midnight the first day of each month.
Note: for the time being, quest must also be set repeatable (SpecialFlags |0x01)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-10-29 20:39:01 +02:00
VladimirMangos
b09838fe3b [10644] Remove wrong check preventing lootable itesm have at-use spell casts.
But note: like at use spells cast at loot open not implemnted yet.

Also fixed typo in ITEM_DYNFLAG_READABLE.
2010-10-26 10:43:38 +04:00