203 Commits

Author SHA1 Message Date
KayenEQ
ad711b0b5a Fix for compile issue with vs2012 2015-01-20 17:35:39 -05:00
Akkadius
8c629529d7 Remove Duplicative MySQL Error: Error in GetAASkillVars '%s': %s 2015-01-19 05:25:56 -06:00
Akkadius
4ecbc5d2db Remove Duplicative MySQL Error: Error in GetAASkillVars '%s': %s 2015-01-19 05:25:53 -06:00
Akkadius
882e7a9802 Remove Duplicative MySQL Error: Error in ZoneDatabase::LoadAAs query '%s': %s 2015-01-19 05:25:43 -06:00
Akkadius
e88d0a8a2d Remove Duplicative MySQL Error: Error in ZoneDatabase::LoadAAs query '%s': %s 2015-01-19 05:25:36 -06:00
Akkadius
9d7b3d0c08 Remove Duplicative MySQL Error: Error in ZoneDatabase::CountAALevels query '%s': %s 2015-01-19 05:25:32 -06:00
Akkadius
b312663fd1 Remove Duplicative MySQL Error: Error in ZoneDatabase::CountAAs query '%s': %s 2015-01-19 05:25:25 -06:00
Akkadius
d6ba9d7108 Remove Duplicative MySQL Error: Error in GetTotalAALevels '%s: %s 2015-01-19 05:25:21 -06:00
Akkadius
ee0a68fed2 Remove Duplicative MySQL Error: Error in LoadAAEffects query '%s': %s 2015-01-19 05:25:15 -06:00
Akkadius
209adc2828 Remove Duplicative MySQL Error: Error in ZoneDatabase::LoadAAEffects2 query: '%s': %s 2015-01-19 05:25:06 -06:00
Akkadius
0d9b6703a6 Rename debug.h to global_define.h, update cmakelists and such 2015-01-19 04:12:09 -06:00
Akkadius
467b359d0c Moved all EQEmuLogSys:: enum references used in Log.Out to a namespace 'Logs' for shortening of syntax 2015-01-18 02:20:16 -06:00
Akkadius
c025765283 Renamed DoLog to Out as the aggregate logging function for simplicity of use and shortened syntax of Log.Out 2015-01-18 02:00:15 -06:00
Akkadius
1c048cb1d1 Renamed DebugCategory to DoLog as the aggregate logging function for simplicity of use and shortened syntax of Log.DoLog 2015-01-18 01:54:09 -06:00
Akkadius
e691735a2d Consolidate 'LogType' Error logs over to 'LogCategory' 2015-01-18 01:30:25 -06:00
Akkadius
e9f8d5fa6d Port Status messages from Type to Category 2015-01-18 01:27:52 -06:00
Akkadius
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
aec39d2650 Port mlog AA category to new log system 2015-01-17 01:59:18 -06:00
Akkadius
fdbd76e4ad Replaced Status log calls 2015-01-10 15:54:37 -06:00
Akkadius
b76e179d75 Fix spacing 2015-01-10 15:47:36 -06:00
Akkadius
6844645dfb Replace LogFile->write(EQEmuLog::Error, with logger.logevents(EQEmuLogSys::Error 2015-01-10 15:44:35 -06:00
Arthur Ice
cd9ca65587 merge upstream 2015-01-08 19:40:00 -08:00
Akkadius
be381b4e56 Renamed EQEMuLog class to EQEmuLog 2015-01-08 19:46:28 -06:00
Michael Cook (mackal)
f8b6ee296c Fix memleak in Mob::TypesTemporaryPets 2015-01-03 18:48:38 -05:00
Michael Cook (mackal)
09d76605f5 Fix memleak in Mob::TemporaryPets 2015-01-03 18:42:28 -05:00
Kinglykrab
1329a2f9ba Update npc_types table.
- d_meele_texture1 -> d_melee_texture1
- d_meele_texture2 -> d_melee_texture2
- Required SQL: 2014_12_24_npc_types_update.sql
2014-12-24 01:26:07 -05:00
Arthur Ice
f409d39f1a merge upstream 2014-12-21 13:57:20 -08:00
Akkadius
123da175e1 aa.cpp/.h cleanup 2014-12-15 04:49:45 -06:00
Michael Cook (mackal)
d9a1bcb3fd Clean up SoF+ swarm pet F8 hack 2014-12-10 02:15:15 -05:00
Michael Cook (mackal)
820f99067d Make use of the targetable_with_hotkey flag for SoF+ 2014-12-10 01:19:44 -05:00
Michael Cook (mackal)
4c9befee22 Some clean ups due thanks to clang's warnings 2014-12-09 23:41:19 -05:00
KayenEQ
70f570dbd9 Implemented support for allowing most focus effects to now be usable
by NPCs (ie Heal/Damage focus, cast time, spell range ect) from
both spell buffs and items.
Rule for enabling spell focus is TRUE by default
Rule for enabling item focus is FALSE by default.

Consilidated a number of redundant client / mob functions
to use the same pathway for calculating effect values.
2014-12-08 01:22:01 -05:00
Natedog2012
6b9a408b46 Don't allow AA to be bought that you cant use 2014-12-06 20:04:42 -05:00
Arthur Ice
f0e22c9ff9 merged, removed mistake 'orig' files 2014-12-05 20:20:54 -08:00
Arthur Ice
2aa287fe3c Merge 2014-12-05 20:16:13 -08:00
Michael Cook (mackal)
ce7a995223 Fix previous commit 2014-12-05 22:31:36 -05:00
Michael Cook (mackal)
51b997aa27 Implement OP_ClearAA and OP_ClearLeadershipAbilities for SoF+
This is nice since #resetaa will no longer require a kick
2014-12-05 22:29:41 -05:00
Arthur Ice
54bc1b06e4 NPC constructor converted to use xyz_heading 2014-11-30 17:32:11 -08:00
akkadius
6d52f3c02a aa.cpp #include cleanup
aa.h #include cleanup
2014-11-29 15:08:16 -06:00
KayenEQ
94231b62a3 Updated swarm pet AI to be consistent with live.
*OLD AI: Swarm pet would lock on to target until target died, then depop as soon as target died.

*NEW AI: Swarm pet will attack cast on target, NOT perma locked it can change targets if attacked
by something else that generate more hate. When target dies swarm pet will follow owner, if owner is
attacked by something else the swarm pet will attack it (until duration timer despawns the pet).

Updated perl quest function: MakeTempPet(Tspell_id, name=nullptr, duration=0, target=nullptr, sticktarg=0)
Implemented perl quest function:  Mob::TypesTempPet(npctypesid, name=nullptr, duration=0, follow=0, target=nullptr, sticktarg=0)
Note: 'sticktarg' field will cause the swarm pet to use the OLD AI

Rule to use OLD AI only - default is disabled.
Optional SQL: utils/sql/git/optional/2014_11_15_SwarmPetTargetLock.sql
2014-11-15 23:01:26 -05:00
KayenEQ
d754e24a02 Minor code and compiler warning fixes. 2014-11-02 20:14:44 -05:00
Michael Cook (mackal)
a6ae2ca635 Switch Inspect Buffs to use the OP code
Client 6.2 is SOL until someone find the op for that client
2014-10-19 22:30:11 -04:00
Michael Cook (mackal)
be0621de42 Partial implementation of leadership in raids
Currently working: stat bonuses and client side only effects
Currently not working: Mark NPC and others that need more server side work

Currently only tested on UF, Ti and 62 may work, but not tested
SoF, SoD, and RoF need packet translators, which are most likely the same as UF
2014-10-13 21:36:59 -04:00
Michael Cook (mackal)
b3d8e22539 Make ZoneDatabase::FillAAEffects get the data from memory
Note: This should probably be moved out of ZoneDatabase
2014-10-02 22:52:25 -04:00
akkadius
c26a6959e4 #resetaa now covers the function of #resetaa and #refundaa
#resetaa will wipe all AA data, refund the spent points into the available points and send character to character select properly
Removed #refundaa
Removed a lot of debug code for blob conversion
Changed status logging for loads/saves to Debug category
2014-09-22 01:00:28 -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
akkadius
ca7dd7d741 - Improved speed of character database conversion x1000 by changing query style
- Adjusted AA MySQL saves for 100x speed increase
- Removed StoreCharacter lookup methods as they will no longer be necessary
- Some other cleanup
2014-09-06 13:53:54 -05: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
akkadius
4071d88290 At point of commit:
Basic character data, currency and AA are being loaded/saved from the database, currently working on the rest right now.
- Character blob removed from load for testing. Lots of cleanup yet to be done so don't judge code yet.

Saves:
- Two FULL saves when looting a corpse, this has been reduced to just currency saves on initial loot and trimmed to one save since AddToMoneyPP did it already
- Every time a player moves coin with any situation (Splits/Trades/Merchant/Skills/Bank Coin Exchange/Coin Moves), a full save is made, this is now just a currency save
- Every time a player skilled up at a skill vendor, a full blob save hit was made, this is not just a currency hit
2014-08-31 02:53:59 -05:00
akkadius
7f89191ffc Changed zone process window title format, example: 'crushbone :: clients: 6 inst_id: 1 inst_ver: 0 :: port: 7015'
Most of the following changes are QueryServ related, fully implemented its original functionality to be able to offload
	intensive or metric based logging to a remote server process that could exist on another server entirely
Implemented Player Event Logging Types (Go to table `qs_player_events`):
		1 = Player_Log_Quest,
		2 = Player_Log_Zoning,
		3 = Player_Log_Deaths,
		4 = Player_Log_Connect_State,
		5 = Player_Log_Levels,
		6 = Player_Log_Keyring_Addition,
		7 = Player_Log_QGlobal_Update,
		8 = Player_Log_Task_Updates,
		9 = Player_Log_AA_Purchases,
		10 = Player_Log_Trade_Skill_Events,
		11 = Player_Log_Issued_Commands,
		12 = Player_Log_Money_Transactions,
		13 = Player_Log_Alternate_Currency_Transactions,
		- All QueryServ logging will be implemented with a front end in EoC 2.0 very soon
Changed all QS Error related logging to 'QUERYSERV__ERROR'
(Natedog) (Crash Fix) Legacy MySQL bug revert for loading AA's COALESCE( from COALESCE (
Implemented Perl Quest objects (LUA still needed to be exported):
	- quest::qs_send_query("MySQL query") - Will send a raw query to the QueryServ process, useful for custom logging
	- quest::qs_player_event(char_id, event_desc); - Will process a quest type event to table `qs_player_events`
Added MySQL Tables:
	- `qs_player_aa_rate_hourly`
	- `qs_player_events`
	- Source table structures from:
		- utils\sql\git\queryserv\required\08_23_2014_player_events_and_player_aa_rate_hourly
		To get the complete QueryServ schema, source from here:
		- utils\sql\git\queryserv\required\Complete_QueryServ_Table_Structures.sql
Added rules for each logging type, source rules here with them enabled by default:
	- utils\sql\git\queryserv\required\Complete_QueryServ_Rules_Enabled.sql
Spawn related logging cleanup
General code cleanup
Added queryserv.cpp and queryserv.h with QueryServ class
2014-08-23 23:59:20 -05:00