Commit Graph

272 Commits

Author SHA1 Message Date
Paul Coene f5fa07c8db Update zone.cpp 2014-09-29 16:38:18 -04:00
akkadius 54c89d69f6 Merge remote-tracking branch 'remotes/origin/master' into blob_conversion
Conflicts:
	common/database.cpp
	common/mysql_request_result.h
	common/shareddb.cpp
2014-09-07 04:11:09 -05:00
Akkadius e50cf5c4be - Ported inspect_messages to character_inspect_messages
- Ported character leadership abilities to character_leadership_abilities
- Removed player profile debug printing
- Refactored total time entitled on account to load from the sum of time_played from all characters in character_data
2014-09-06 21:50:29 -05:00
Arthur Ice 32b595afb4 Fix iterator on mercstance crash bug 2014-09-04 23:15:20 -07:00
Akkadius 4432c07081 State of Commit: Testable if you ask me (Akkadius) what you need to do
- Need to convert a list of functions and columns and should be ready to start intensive testing phase
 - All preliminary tests show things working great

- All of player profile is saved and loaded from the database
- DBAsync has been completely removed from all code
	- Removed zone/dbasync.cpp/.h
	- Removed common/dbasync.cpp/.h
	- Removed dbasync from cmake commmon and zone
- Cleaned up a ton of functions
- Added several tables to world CheckDatabaseConversions script:
	- `character_skills`
	- `character_languages`
	- `character_bind`
	- `character_alternate_abilities`
	- `character_currency`
	- `character_data`
	- `character_spells`
	- `character_memmed_spells`
	- `character_disciplines`
	- `character_material`
	- `character_tribute`
	- `character_bandolier`
	- `character_potionbelt`
- Character select now loads from `character_data`
- Character creation now creates to `character_data`
- Updated function Database::UpdateName to use `character_data`
- Updated function Database::CheckUsedName to use `character_data`
- Updated function Database::MoveCharacterToZone to use `character_data`
- Updated function Database::SetLoginFlags to use `character_data`
- Updated function Database::SetFirstLogon to use `character_data`
- Updated function Database::SetLFG to use `character_data`
- Removed CopyCharacter functions and commands, to be recreated later since it never worked to begin with
- Removed SharedDatabase::SetPlayerProfile
- Trimmed down redundant case switch statements for World sendpackets to QueryServ
- Added Character Methods to Database class:
	Loads:
		bool	LoadCharacterBandolier(uint32 character_id, PlayerProfile_Struct* pp);
		bool	LoadCharacterTribute(uint32 character_id, PlayerProfile_Struct* pp);
		bool	LoadCharacterPotions(uint32 character_id, PlayerProfile_Struct* pp);
	Saves:
		bool	SaveCharacterBindPoint(uint32 character_id, uint32 zone_id, uint32 instance_id, float x, float y, float z, float heading, uint8 is_home);
		bool	SaveCharacterCurrency(uint32 character_id, PlayerProfile_Struct* pp);
		bool	SaveCharacterData(uint32 character_id, uint32 account_id, PlayerProfile_Struct* pp);
		bool	SaveCharacterAA(uint32 character_id, uint32 aa_id, uint32 current_level);
		bool	SaveCharacterSpellSwap(uint32 character_id, uint32 spell_id, uint32 from_slot, uint32 to_slot);
		bool	SaveCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
		bool	SaveCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
		bool	SaveCharacterMaterialColor(uint32 character_id, uint32 slot_id, uint32 color);
		bool	SaveCharacterSkill(uint32 character_id, uint32 skill_id, uint32 value);
		bool	SaveCharacterLanguage(uint32 character_id, uint32 lang_id, uint32 value);
		bool	SaveCharacterDisc(uint32 character_id, uint32 slot_id, uint32 disc_id);
		bool	SaveCharacterTribute(uint32 character_id, PlayerProfile_Struct* pp);
		bool	SaveCharacterBandolier(uint32 character_id, uint8 bandolier_id, uint8 bandolier_slot, uint32 item_id, uint32 icon, const char* bandolier_name);
		bool	SaveCharacterPotionBelt(uint32 character_id, uint8 potion_id, uint32 item_id, uint32 icon);
	Deletes:
		bool	DeleteCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
		bool	DeleteCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
		bool	DeleteCharacterDisc(uint32 character_id, uint32 slot_id);
		bool	DeleteCharacterBandolier(uint32 character_id, uint32 band_id);
2014-09-04 07:24:17 -05:00
Uleat 37d3daaf9a Client timer issue fix 2014-09-03 23:59:55 -04:00
Akkadius ca430e2494 Fix void Database::GetCharName(uint32 char_id, char* name)
Increased MAX_PP_SPELLBOOK to 720 for UF/RoF
Increased MAX_PP_MEMSPELL to 12
Implemented up to 12 spell slots
Fix for public_note default value in bool BaseGuildManager::DBSetGuild(uint32 charid, uint32 guild_id, uint8 rank)
Updated all CastSpell entries to use the appropriate slot type defines located now in zone/common.h
Fixed Guild Loading from character_data
Fixed #guild list
Refactored Merchantlist loading
Refactored Temp Merchantlist loading
Gutted most of dbasync

Added:
LoadCharacterSpellBook(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterMemmedSpells(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterLanguages(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterBindPoint(uint32 character_id, PlayerProfile_Struct* pp);
SaveCharacterSpellSwap(uint32 character_id, uint32 spell_id, uint32 from_slot, uint32 to_slot);
SaveCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
SaveCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
DeleteCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
DeleteCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);

Removed Zone::LoadTempMerchantData_result(MYSQL_RES* result)
Removed Zone::LoadMerchantData_result(MYSQL_RES* result)
Removed SharedDatabase::GetPlayerProfile
Removed SharedDatabase::SetPlayerProfile
Removed SharedDatabase::SetPlayerProfile_MQ
Removed Zone::DBAWComplete(uint8 workpt_b1, DBAsyncWork* dbaw) from zone.cpp
2014-08-31 17:52:43 -05:00
Alex c3a3dc19a7 Merge pull request #224 from addtheice/RunQueryToDatabaseQuery_zone_zone
LoadStaticZonePoints converted to QueryDatabase
2014-08-26 17:35:10 -07:00
Arthur Ice 3d1521857e LoadStaticZonePoints converted to QueryDatabase 2014-08-24 12:21:16 -07:00
Uleat 52ae78709b First attempt at fixing zone shutdown crashes. (Mob timer processing accessing released resources.) 2014-08-24 05:42:43 -04:00
KimLS 0d09f5d536 Merging zone 2014-08-22 00:19:43 -07:00
KimLS 07a2cbe9a5 Renamed zone files 2014-08-21 23:46:01 -07:00
KimLS 7fc21b9e3a Tons of renames 2014-08-21 19:33:02 -07:00
Kinglykrab 8b19c76e89 Adds new column to 'merchantlist' table.
Adds 'probability' after 'classes_required', valid values are 0 to 100.
2014-08-21 04:05:45 -04:00
Arthur Ice 5a6373c429 UpdateHotzone converted to QueryDatabase 2014-08-20 16:39:07 -07:00
Arthur Ice 19e04a1875 LoadTickItems converted to QueryDatabase 2014-08-20 16:34:35 -07:00
Arthur Ice 029314ec7f LoadNPCEmotes converted to QueryDatabase 2014-08-20 16:31:05 -07:00
Arthur Ice cee4a3f475 LoadAdventureFlavor converted to QueryDatabase 2014-08-20 16:27:12 -07:00
Arthur Ice 2bc58a97bc LoadAlternateCurrencies converted to QueryDatabase 2014-08-20 16:24:05 -07:00
Arthur Ice 2eb270376f LoadVeteranRewards converted to QueryDatabase 2014-08-20 16:20:46 -07:00
Arthur Ice 5e858678e9 LoadLDoNTrapEntries converted QueryDatabase 2014-08-20 16:15:55 -07:00
Arthur Ice 12a59853b5 LoadLDoNTraps converted to QueryDatabase 2014-08-20 16:08:20 -07:00
Arthur Ice 971c3f633f GetDecayTimes converted to QueryDatabase 2014-08-20 16:05:09 -07:00
Arthur Ice 826f7d0efd LoadMercSpells converted to QueryDatabase 2014-08-20 16:00:36 -07:00
Arthur Ice 5da5e9b5de LoadLevelEXPMods converted to QueryDatabase 2014-08-20 15:57:04 -07:00
Arthur Ice 7a3c05a41f LoadMercTemplates converted to QueryDatabase 2014-08-20 15:53:02 -07:00
Arthur Ice 01382e87a0 LoadNewMerchantData converted to QueryDatabase 2014-08-20 15:37:09 -07:00
Arthur Ice f0abaad84f LoadZoneObjects converted to QueryDatabase 2014-08-20 15:37:03 -07:00
KimLS 8c92271804 Initial v2 water map format. 2014-05-20 00:14:26 -07:00
KimLS 951c321ba6 Partial port of der's map rewrite, no new azone format yet but it's coming. Will convert legacy map formats on the fly atm. 2014-02-23 21:17:28 -08:00
SecretsOTheP 75663774fe Fix for crashes related to #repop force and not clearing quest timers, resulting in a zone crash. Quest timers are now cleared on zone repop. 2014-02-10 06:45:33 -05:00
KimLS 6e0a214bcc Compiler option for playing with npctype_cache as was requested for a feature. Not entirely tested may need some work. Currently defaults to old behavior on #repop. 2014-01-31 20:38:32 -08:00
cavedude00 70f994cda5 Live-Like weather. Big thanks to Robregen for figuring out the system!
Included in the required SQL is weather data pulled from NewZone live packets for up to PoP. An update to EQExtractor will be made to grab the rest of the data from existing collects.

Please note: Until weather data is grabbed for zones later than PoP, weather will not work in those zones.
2014-01-20 10:10:39 -08:00
Michael Cook (mackal) 4216627604 Prefer prefix ++/-- on non-primitive types
Postfix ++/-- might cause the creation of a tmp instance
that might be optimized out. Mights are bad. Prefix doesn't
have this problem.
2014-01-13 22:14:02 -05:00
Michael Cook (mackal) 13fcccefd5 Added support for merchant item filtering by class
Added column classes_required to merchantlist to allow
the merchant to only sell items to specified classes

Ex. (only example I know from live) To only allow poison supplies
to be sell able to only rogues, you would set classes_required
to 256.
classes_required defaults to 65535 (all/any class)

Remember to run the new SQL!
2013-12-26 16:29:09 -05:00
Uleat e53fa1d873 Changed ItemUseType enumeration to ItemInstTypes enumeration - naming conflicted with definition 2013-10-27 05:45:52 -04:00
badcaptain 765f23febc Initial check-in of bard bot in combat song code. 2013-10-11 23:37:46 -04:00
KimLS fcd9b525a8 Removed Common Profiler and Zone Profiler. They're well past outdated status and are just code bloat. 2013-08-29 15:46:40 -07:00
Alex dfe63f87c3 Merge pull request #78 from j883376/cleanups
Code cleanups, take two
2013-07-12 13:36:02 -07:00
KimLS 63d678ce29 Replaced npcspecialatk with special_attacks, needs more testing also gotta export new api for it as I can't remove the legacy one. Too many quests rely on the legacy functionality. 2013-07-06 03:45:06 -07:00
j883376 0578f45490 Revert "Revert "Merge pull request #77 from j883376/cleanups""
This reverts commit d25205d9d3.
2013-06-28 04:25:44 -04:00
KimLS a5db4310c6 Merge branch 'master' into lua
Conflicts:
	zone/merc.cpp
2013-06-27 12:53:47 -07:00
KimLS d25205d9d3 Revert "Merge pull request #77 from j883376/cleanups"
This reverts commit 4ff2efea43, reversing
changes made to e811e3975b.
2013-06-27 12:50:20 -07:00
KimLS 9e1115f899 Merge master, pretty close to RC atm 2013-06-26 12:52:00 -07:00
j883376 488b2888a8 Fix uses of uninitialized variables
- Replace unknown008 array with two separate variables in Object code

- Fix mismatched safe_delete() of an array
2013-06-25 23:40:05 -04:00
KimLS 1480b8911f Sorta hacky work around for doing nukeitem in item quests. Added lua bitop library. Made excluding io/os optional 2013-06-25 14:51:06 -07:00
KimLS bb1282de30 encounter events can now watch all events by all npcs/items/quests by registering themselves to watch -1, fix #74 2013-06-22 14:23:07 -07:00
KimLS 49c3a81e18 More lua work, client should be completely exported barring any more bugs that crop up. Starting work on getting the rest of the general functions 2013-05-27 17:24:31 -07:00
KimLS a3e24b6854 Merge from master 2013-05-23 12:50:34 -07:00
KimLS e6fba5ba82 Merging 2013-05-23 00:31:02 -07:00